On 11/7/2013 6:40 PM, Bill Bell wrote:
So no Jetty 9 until Solr 5? Java 7 is at rel 40.... Is that our commitment to
not require Java 7 until Solr 5?
Most people are probably already on Java 7...
Solr 4.x runs perfectly on Java 6 and has from day one. That doesn't
affect you, me, or the likely large percentage of users that have moved
on to Java 7 because Java 6 is no longer supported publicly by Oracle.
For users who haven't upgraded, it would be very disruptive if we
suddenly required Java 7 to run Solr 4.7 or 4.8. We cannot make any
changes in 4.x that won't work on Java 6.
For discussion purposes, check out this page from the Lucene 3.6.2 docs:
http://lucene.apache.org/core/3_6_2/systemrequirements.html
Because Solr was part of the Lucene codebase for 3.1 and later, Solr
3.6.2 should run fine on Java 5 too. I've never tried it myself. I ran
Solr versions from 1.4.0 through 3.5 on Java 6. Part of my upgrade to
4.x was a bump to Java 7. I didn't feel entirely comfortable running
3.x on Java 7 because it was made for Java 5. It might have worked
without any problems, but I didn't want to risk it.
Although branch_4x runs on Java 6, trunk (what will become 5.0)
*requires* Java 7. It uses code constructs that are only available in
that version. I expect that sometime after stable moves to 5.0 and
trunk moves to 6.0, Java 8 will be required for trunk. Unless major
Java bugs are encountered that Oracle decides won't ever be fixed in
Java 7, the 5.x line will always run on Java 7.
Because of the Java requirements, upgrading to Jetty 9 might not happen
until Solr 4.x is retired, assuming it happens at all. Maintaining
different versions of a major component in different code branches is
something you would only want to do if there's a REALLY good reason. I
don't think there's a good reason in the case of Jetty, at least not
right now.
We don't yet know what the future holds when it comes to Solr's
association with Jetty. Version 5.0 is probably going to release with
the container (or another network framework like netty) completely
embedded, so the application that you start won't be Jetty, it will be
Solr itself.
Thanks,
Shawn