180 likes | 296 Views
Operational Java for 2012. Technical Committee. Outline. Terminology Spoiler Original Motivation for Java 7 Testing Results Feedback from: Developers Operations Security Industry Summary. Terminology. JVM vs JDK
E N D
Operational Java for 2012 Technical Committee
Outline • Terminology • Spoiler • Original Motivation for Java 7 • Testing Results • Feedback from: • Developers • Operations • Security • Industry • Summary
Terminology • JVM vs JDK • Java Virtual Machine is the runtime executor of Java software • Java Development Kit includes the compiler and other development artifacts • Possible to run Java classes compiled for Java 6 with Java 7 (no recompilation needed) • 32-bit vs64-bit • Explained by Alastair on previous presentation • Ability to use files or memory > 4GB
Spoiler Java 6 (x64) for 2012 NotJava 7
Original Motivation for Java 7 • Why Java 7? • EOL Java 6 July 2012 • Java 7 released July 2011 • Sufficient time to test for 2012 run • Requested features • NIO2: file WatchService API, non-blocking IO • Limit technical debt • Why 64-bit? • Upgrade by IN to 64-bit platform • Several projects already have 64-bit hosts/JVMs • Access large memory sizes > 4GB
Testing Results • “Fixable” issues • Collections throw new Exceptions • GUI annoyances: • JTextPane cant get focus to type • Compilation issues • E.g. API changes in DataSource, AWT • “Blocking” issues • AspectJfails: affects LSA, InCA, Sequencer, ... • Requires Spring 3+ • java.security.SignatureException: RBAC
Developer Feedback • Short shutdown and plenty to do already • New Java 7 features are nice but not essential • Happy with Java 6 for 2012 • Improvements: • Easier switch between Java 6 and 7 • More coordinated Dev&Test environment • Including full Java 7 support in Eclipse • Earlier availability of testing platform
Operations Feedback • Introducing Java 7 + SLC6 + 64bit together: • Higher probability of failure • Addeddifficulty investigating failure • Increased combinations and candidates • Is it Java 7, SLC6, something else? • Reduce impact: • Introduce fewer changes at any one time
Security team feedback • Requested position on using “unmaintained” Java 6 • Response: • OK to run 2012 with Java 6 • Java 6 very mature implieslow security risk • Must move to Java 7 at end 2012 • Option B: Buy “Oracle Premier Support” • Note on Oracle new release strategy: • Evolutive major updates • Less features but more regular releases • Expect Java 8 release in summer 2013
Industry Adoption? • Industry adoption is low • Spooked by well-publicized “loop optimization” bug • Other “serious” defects unresolved • E.g. FTP protocol failure on Windows • New NIO2 features have complex APIs • Consequences: • Lower level of industry-wide testing • 3rd party products remaining with JDK1.6
Summary for Java 7 • Failure to provide new features is not a problem • Testing shows Java 7 adoption needs additional time • Developers overall prefer Java 6 for 2012 • Operations can focus on SLC6 64-bit adoption • Security team will allow Java 6 use for 2012 • Industry adoption is currently low • Conclusion: remain with Java 6 / JDK 1.6
Summary for 64-bit • Clarification: No need to re-compile any Java code • Java compiled with 32-bit JDK runs “transparently” on 64-bit JVMs • But watch out for native libraries! E.g. DIP • 32-bit Java interoperates with 64-bit by design • JMS servers run as 64-bit since start 2011 • 32-bit JVMs can run on 64-bit Oses but... • 64-bit consoles to have 64-bit JVM only installed • Conclusion: Low risk, adopt.
Summary • Java 6 for accelerator run 2012 • With 64-bit JVM for consoles • Java 7 (+ Spring 3): goal for end 2012 • Thank you to everyone who found time to test! • Effort not wasted, needed for November 2012 • And those who contributed advice, concerns, etc.
Java 7(& 64-bit / SLC6) Why Plan Action -End Of Life JDK6 July 2012 • arrived in time for next run • 64-bit larger memory heap - JDK7 (64-bit) on SLC6 - in CCC/CCR for run 2012 - TC end October for a decision • PLEASE TEST YOUR PROJECTS! • Feedback / Testing info see wiki Spoiler http://wikis/display/CMMNBUILD/Moving+to+Java+7
Timeline • Alastairs timeline graph • Point of slide to show running gap of unaminted • Oracle’s future schedule of J8, 9 / EOLs etc
Points to make • Testing feedback, show some real errors • Developer attitudes – no real desire to move • Risk analysis • Tsting feedback • Positives (recap of new features) • Desired features (NIO, file WatchService API) • Push by Oracle EOL July 2012 • 3rd Party libs • Technical showstoppers, aspectj/Spring • Other considerations: • Environment change to SLC 64 bit • Operator / developer confusion of bug either SLC6 or JDK7
More points • ? To be completely sure, would need to re-compile, test, release all software.