What a month for Java 7. Articles about the new features all over and just at the release day, Apache issued a warning, not to use Java. That's a big meal for the press and German based S&S Media caught up on that quickly (Java 7 Causes Headaches for Lucene and Solr Users).
A lot has been talked about weather it was appropriate. The process. The communication. Letting an "old" build become GA. You probably followed the buzz around it and I am not going to repeat it here. I strongly believe, that everybody involved did make some mistakes. The bugs should probably have been caught by a testcase (which obviously wasn't the case). The Apache community should probably have acted different with communication. Oracle should have done this differently, too. But, at the end of the day the results speak for themselves. The bugs are fixed. If you look at the table below you can see when this actually was the case. And the bleeding-edge Apache Lucene/Solr users are save again. And last but not least, we have the JDK 7 Updates Project where everybody "stubborn enough to dig into it can make a fix" on either JDK7 or JDK8. (For further details compare dalibor topics post on that). The only thing I am missing after all those exciting days is the revocation of the general warning. Hey, Uwe: That should be your part, right? Missed that? Or was it intentionally? ;)
What can you do to prevent future bugs?
Test. Test. Test. As with any software or product. And let Oracle know about "bugs that bug you". Help testing early access builds, follow the JDK7 project and report issues you find to the bug tracker. Use Java 7 to make it better! I am not kidding!
The changesets and bugs in detail
|Tue Jul 26 19:35:23 2011||4e761e7e6e12||7070134||Hotspot crashes with sigsegv from PorterStemmer|
|Tue Jun 28 15:24:29 2011||e3cbc9ddd434||7044738||Loop unroll optimization causes incorrect result|
|Fri Jul 29 09:16:29 2011||c96c3eb1efae||7068051||SIGSEGV in PhaseIdealLoop::build_loop_late_post|