การอัพเกรด JVM เล็กน้อยปลอดภัยแค่ไหน?


10

ฉันทำงานกับ JVM มาหลายปีและฉันไม่ค่อยประสบกับความผิดพลาดของ JVM ... จนกระทั่งเมื่อประมาณ 6 เดือนที่แล้ว

ตั้งแต่นั้นฉันพบปัญหา JVM ประมาณ 5 ครั้งเกิดจากข้อบกพร่อง JVM 2 ข้อ โซลูชันจาก Oracle นั้นเหมือนกันเสมอ ... อัพเกรด

การอัปเกรดแต่ละครั้งจะไปและกลับจากการปล่อยจุด ... คือและคำแนะนำล่าสุดของ Oracle (หลังจากยืนยันว่าพวกเขาแก้ไขข้อผิดพลาดแล้ว) คือการอัปเกรดจาก 1.6u20 เป็น 1.6u26

ฉันควรอัพเกรด JVM รุ่นรองอย่างไร

นี่เป็นงานใหญ่ที่จำเป็นต้องใช้การทดสอบการถดถอยจำนวนมากหรือเป็นการอัพเกรดที่ปลอดภัยที่ควรรับหรือไม่


3
JVM ในบริบทใดที่จะเรียกใช้คำถาม คุณใช้เพื่อเล่นเกมแอพเพล็ตหรือคุณใช้ระบบข้อมูลของโรงพยาบาลหรือไม่? คำตอบที่ถูกต้องขึ้นอยู่กับข้อมูลนั้นเป็นอย่างมาก
blubb

คำตอบ:


5

มันไม่ควรเป็นงานใหญ่ที่จะอัพเกรดเป็นรุ่นรองและฉันไม่เคยประสบปัญหามาก่อน

ที่กล่าวว่าปัญหาที่น่าอับอายของ Java 7นั้นค่อนข้างน่ากลัวและถึงแม้จะเป็นการอัพเกรดครั้งใหญ่ แต่ปัญหาเหล่านั้นก็ปรากฏใน Java 6 ~ u20 และอาจถูกแก้ไขใน u25 พวกเขาโผล่ขึ้นมาเพียงเพราะ Java 7 มีการตั้งค่าสถานะการเพิ่มประสิทธิภาพบางอย่างโดยค่าเริ่มต้นที่ Java 6 ไม่มี หากคุณใช้การตั้งค่าสถานะเหล่านี้ใน Java 6 คุณอาจประสบปัญหาไม่เพียง แต่ล่ม แต่ยังดำเนินการลูปที่ไม่ถูกต้องนั่นคือการคำนวณผิดเนื่องจากการอัปเกรดเล็กน้อยจาก 6u19 ถึง 6u20 (โดยประมาณ)

ความจริงก็คือไม่มีใครรับประกันได้ว่ารุ่นที่อัพเกรดจะทำงานได้เลย JVM สภาพแวดล้อม (คอมพิวเตอร์ระบบปฏิบัติการ) และแอปพลิเคชันของคุณพวกเขาทั้งหมดมีปฏิสัมพันธ์ซึ่งกันและกันและเพื่อให้แน่ใจว่ามีกองขนาดมหึมาของสิ่งต่าง ๆ เล่นร่วมกันคุณควรทำการทดสอบการถดถอยอย่างมาก

แนวทางของฉันในการอัพเกรด JVM นั้นคล้ายคลึงกับการอัพเกรดใด ๆ : ถ้าฉันไม่มีความต้องการเฉพาะในการอัพเกรดและหากเป็นการอัพเกรดความปลอดภัยที่สำคัญฉันจะรอสักครู่และอ่านประสบการณ์ของผู้อื่นบนอินเทอร์เน็ต หากไม่มีใครบ่นภายในเดือนหรือดังนั้นก็น่าจะปลอดภัยที่จะอัพเกรด


มีสถานที่ใดที่คุณมองอ่านประสบการณ์ของผู้อื่นในอินเทอร์เน็ตหรือไม่
Dakotah North

@Dakotah North: ไม่ใช่สถานที่ที่เฉพาะเจาะจง ที่แขวนอยู่ในรายชื่อผู้รับจดหมายจำนวนมาก (เช่นAnnounce@apache.orgซึ่งมีการแจ้งเตือนปัญหาร้ายแรงที่เกิดขึ้นในวันที่ Java 7 เปิดตัว) ให้ข้อมูลมากมายเช่นนี้
Joonas Pulakka

4

จากประสบการณ์ของฉันกับแอปพลิเคชัน Java ขององค์กรประโยชน์ของการรวบรวมการอัพเดต JVM รองมาจากความเสี่ยงที่เกี่ยวข้อง

ประโยชน์อย่างหนึ่งก็คือการปรับปรุงเล็ก ๆ น้อย ๆมักจะมีการแก้ไขข้อบกพร่อง การใช้การปรับปรุงเหล่านี้สามารถปรับปรุงเสถียรภาพของสภาพแวดล้อมการผลิตของคุณได้จริง ฉันเคยประสบปัญหา JVM ล่มซึ่งการวิเคราะห์สาเหตุที่แท้จริงพบว่ามีการระบุข้อบกพร่องและแก้ไขในการปรับปรุง JVM เล็กน้อย

ประโยชน์ก็คือว่าการปรับปรุงเล็ก ๆ น้อย ๆ มักจะมีการปรับปรุงประสิทธิภาพ อย่างไรก็ตามตามที่ระบุไว้โดย @Joonas มีความเสี่ยงที่จะใช้การตั้งค่าสถานะประสิทธิภาพที่ไม่ได้รับการพิสูจน์หรือทดลองในการอัปเดตใด ๆ (หลักหรือรอง) โดยไม่มีการทดสอบที่สำคัญ

เช่นเดียวกับการเปลี่ยนแปลงใด ๆ ก็เป็นสิ่งสำคัญที่สุดที่คุณจะดำเนินการในความรับผิดชอบในลักษณะ ต่อไปนี้เป็นแนวทางปฏิบัติบางประการที่ฉันติดตามเมื่อวางแผนสำหรับการอัพเดต JVM:

  • ตรวจทานบันทึกย่อประจำรุ่นทั้งหมดอย่างละเอียดสำหรับการอัพเดทเล็กน้อยระหว่างเวอร์ชั่นปัจจุบันของคุณกับเวอร์ชั่นเป้าหมาย
  • ทำความเข้าใจกับความอดทนของผู้ใช้สำหรับแอพพลิเคชั่นที่ขาดหายไปและทดสอบการถดถอยตามลำดับ (@Simon)
  • ค้นคว้าประสบการณ์ของผู้อื่นบนอินเทอร์เน็ต (@Joonas)
  • มีแผนย้อนกลับในสถานที่ (@Thorbjorn)

2

มีการแนะนำการตรวจสอบความปลอดภัยรอบ ๆ Oracle Java 1.6 u20 สำหรับ "รหัสผสม" ซึ่งส่งผลต่อแอปพลิเคชันของเราสำหรับผู้ใช้บางคนทำให้เกิดความผิดพลาด นี่เป็นการอัปเกรดเล็กน้อยและมีอิทธิพลอย่างมากในการผลิต

เตรียมพร้อมเสมอสำหรับการย้อนกลับ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.