I favor 5.x branch being on java 7. In my opinion, its where we finally actually take advantage of java 7 features. And to lucene, this is mostly IO-related, because that is our business. You can see this in the changes: e.g. changing lucene's commit to actually be atomic, mocking tests at the filesystem level, detecting SSD disks for better defaults, and so on. Try-with-resources semantics are nice but boring sugar, on the other hand I like the suppressed exception mechanism with java 7. So in 5.x we deliver additional information when possible via this mechanism (e.g. checksum computation). We convert all code to NIO.2, to clear up corner cases, simplify our code, make it more reliable, and test it better.
i love that java 8 is in trunk. Its true, we don't take total advantage of it yet, but that will come with time. For example, deltas in skiplistwriter are vints, which is hard to reason about, and the exactmath instructions would be a nice fit (IMO). I like the better type handling (such as "effectively final") from a coding perspective, but users don't give a shit about this stuff. Really the big improvement in 8 is lambdas, I would love for someone to have an awesome patch so that Lucene worked better from a functional perspective. But will this really come overnight or be an iterative thing? So I don't think we should require java 8 for 5.0. I think 5.0 is doing that just fine with java 7. unrelated: users can always use java 8 jvms with our code, regardless of what we do. They will get nice performance benefits from improvements to the hotspot compiler: e.g. much less overhead for checksum computation at write, leading/trailing number of zeros without branches, etc that make lucene go faster in addition to general improvements. But why require java 8? For example from an i/o perspective, solr code is still not even at java 7 level. It is still using java.io.File etc. So what benefits come from mandating java 8? On Fri, Dec 19, 2014 at 9:16 PM, Shawn Heisey <apa...@elyograg.org> wrote: > It feels like we just went through this with Java 6. I guess time is > flying. Oracle Java 7 will reach effective EOL for the public in April, > just four months from now. > > http://www.oracle.com/technetwork/java/eol-135779.html > > We've already upgraded trunk to a Java 8 minimum, and I expect that no > matter what comes out of this discussion, branch_5x will be upgraded to > Java 8 at some point in its life. > > Do we want to update the minimum requirement to Java 8 before 5.0 > releases? I have no strong opinion either way. I can see good reasons > for either choice. > > Thanks, > Shawn > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org > For additional commands, e-mail: dev-h...@lucene.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org