Lucene - Core
  1. Lucene - Core
  2. LUCENE-3537

Add note about Java 7u1 and 6u29 to Lucene/Solr sites

    Details

    • Type: Task Task
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: general/website
    • Labels:
    • Lucene Fields:
      New

      Description

      Oracle confirmed, that the bugs leading to index corruption and SIGSEGV are fixed in Java 7u1 and 6u29. We should post a message to the news sections revising the previous WARNING (LUCENE-3349). I prepared something, please comment before i commit:

      <section><title>26 October 2011 - Java 7u1 fixes index corruption and crash bugs in Apache Lucene Core and Apache Solr</title>
      <p>Oracle released <a href="http://www.oracle.com/technetwork/java/javase/7u1-relnotes-507962.html">Java 7u1</a> on October 19.
      According to the release notes and tests done by the Lucene committers, all bugs reported on July 28 are fixed in this release,
      so code using Porter stemmer no longer crashes with <code>SIGSEGV</code>. We were not able to experience any index corruption anymore,
      so it is safe to use Java 7u1 with Lucene Core and Solr.</p>
      <p>On the same day, Oracle released <a href="http://www.oracle.com/technetwork/java/javase/6u29-relnotes-507960.html">Java 6u29</a>
      fixing the same problems occurring with Java 6, if the JVM switches <code>-XX:+AggressiveOpts</code>
      or <code>-XX:+OptimizeStringConcat</code> were used. Of course, you should <strong>not</strong> use experimental JVM options like
      <code>-XX:+AggressiveOpts</code> in production environments! We recommend everybody to upgrade to this latest version 6u29.</p>
      <p>In case you upgrade to Java 7, remember that you may have to reindex, as the unicode
      version shipped with Java 7 changed and tokenization behaves differently
      (e.g. lowercasing). For more information, read <code>JRE_VERSION_MIGRATION.txt</code>
      in your distribution package!</p>
      </section>
      

      I plan to commit this later this afternoon.

        Issue Links

          Activity

          Hide
          Robert Muir added a comment -

          Looks good Uwe!

          Show
          Robert Muir added a comment - Looks good Uwe!
          Hide
          Uwe Schindler added a comment -

          Committed to root, Lucene-Core and Solr website. Just waiting for publishing process to be finished.

          Show
          Uwe Schindler added a comment - Committed to root, Lucene-Core and Solr website. Just waiting for publishing process to be finished.
          Hide
          Raintung Li added a comment -

          I have one question about JDK7 and JDK6u, is it the same issues case by the parameter: -XX:+OptimizeStringConcat ?

          The root cause is loop issue, or string concat compile issue? More any informations?

          Show
          Raintung Li added a comment - I have one question about JDK7 and JDK6u, is it the same issues case by the parameter: -XX:+OptimizeStringConcat ? The root cause is loop issue, or string concat compile issue? More any informations?
          Hide
          Uwe Schindler added a comment -

          There are several bugs, a complete report is here:

          In general: Use a recent JVM and don't use experimental tuning options. Otherwise you risk data loss.

          The Porter Stemmer SIGSEGV bug simply crashes the JVM and is caused by the String optimization. The Data Corruption issues are triggered by loop optimizations and cannot be prevented in Java 7 without u1 or significant performance loss (I emphasize: significant). In Java 6 with AggressiveOpts enabled, the index corruption can also occur but more seldom (it is not easy to reproduce).

          Show
          Uwe Schindler added a comment - There are several bugs, a complete report is here: Main article Explanation of the string concat issues, this explains why StringConcat optimizations trigger this Discussion about the update release In general: Use a recent JVM and don't use experimental tuning options. Otherwise you risk data loss. The Porter Stemmer SIGSEGV bug simply crashes the JVM and is caused by the String optimization. The Data Corruption issues are triggered by loop optimizations and cannot be prevented in Java 7 without u1 or significant performance loss (I emphasize: significant ). In Java 6 with AggressiveOpts enabled, the index corruption can also occur but more seldom (it is not easy to reproduce).

            People

            • Assignee:
              Unassigned
              Reporter:
              Uwe Schindler
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development