Thanks Adrien, I’d want to try and do this myself as long as you can validate the correctness :).
I’ll be working on this in a few hours and should have an update later today and hopefully we’d wrap it up soon. -Anshum > On Jun 28, 2017, at 10:39 AM, Adrien Grand <jpou...@gmail.com> wrote: > > If you don't want to do it, I can do it tomorrow but if you'd like to give it > a try I'd be happy to help if you need any guidance. > > Le mer. 28 juin 2017 à 19:38, Adrien Grand <jpou...@gmail.com > <mailto:jpou...@gmail.com>> a écrit : > Hi Anshum, > > This looks like a good start to me. You would also need to remove the 6.x > version constants so that TestBackwardCompatibility does not think they are > worth testing, as well as all codecs, postings formats and doc values formats > that are defined in the lucene/backward-codecs module since they are only > about 6.x codecs. > > Le mer. 28 juin 2017 à 09:57, Anshum Gupta <ansh...@apple.com > <mailto:ansh...@apple.com>> a écrit : > Thanks for confirming that Alan, I had similar thoughts but wasn’t sure. > > I don’t want to change anything that I’m not confident about so I’m just > going to create remove those and commit it to my fork. If someone who’s > confident agrees with what I’m doing, I’ll go ahead and make those changes to > the upstream :). > > -Anshum > > > >> On Jun 28, 2017, at 12:54 AM, Alan Woodward <a...@flax.co.uk >> <mailto:a...@flax.co.uk>> wrote: >> >> We don’t need to support lucene5x codecs in 7, so you should be able to just >> remove those tests (and the the relevant packages from backwards-codecs >> too), I think? >> >> >>> On 28 Jun 2017, at 08:38, Anshum Gupta <ansh...@apple.com >>> <mailto:ansh...@apple.com>> wrote: >>> >>> I tried to move forward to see this work before automatically computing the >>> versions but I have about 30 odd failing test. I’ve made those changes and >>> pushed to my local GitHub account in case you have the time to look: >>> https://github.com/anshumg/lucene-solr >>> <https://github.com/anshumg/lucene-solr> >>> >>> Here’s the build summary if that helps: >>> >>> [junit4] Tests with failures [seed: 31C3B60E557C7E14] (first 10 out of >>> 31): >>> [junit4] - >>> org.apache.lucene.codecs.lucene53.TestLucene53NormsFormat.testOutliers2 >>> [junit4] - >>> org.apache.lucene.codecs.lucene53.TestLucene53NormsFormat.testShortRange >>> [junit4] - >>> org.apache.lucene.codecs.lucene53.TestLucene53NormsFormat.testFewValues >>> [junit4] - >>> org.apache.lucene.codecs.lucene53.TestLucene53NormsFormat.testFullLongRange >>> [junit4] - >>> org.apache.lucene.codecs.lucene53.TestLucene53NormsFormat.testRamBytesUsed >>> [junit4] - >>> org.apache.lucene.codecs.lucene53.TestLucene53NormsFormat.testFewLargeValues >>> [junit4] - >>> org.apache.lucene.codecs.lucene53.TestLucene53NormsFormat.testByteRange >>> [junit4] - >>> org.apache.lucene.codecs.lucene53.TestLucene53NormsFormat.testLongRange >>> [junit4] - >>> org.apache.lucene.codecs.lucene50.TestLucene50SegmentInfoFormat.testRandomExceptions >>> [junit4] - >>> org.apache.lucene.codecs.lucene62.TestLucene62SegmentInfoFormat.testRandomExceptions >>> [junit4] >>> [junit4] >>> [junit4] JVM J0: 0.56 .. 9.47 = 8.91s >>> [junit4] JVM J1: 0.56 .. 4.13 = 3.57s >>> [junit4] JVM J2: 0.56 .. 47.28 = 46.73s >>> [junit4] JVM J3: 0.56 .. 3.89 = 3.33s >>> [junit4] Execution time total: 47 seconds >>> [junit4] Tests summary: 8 suites, 215 tests, 30 errors, 1 failure, 24 >>> ignored (24 assumptions) >>> >>> >>> -Anshum >>> >>> >>> >>>> On Jun 27, 2017, at 4:15 AM, Adrien Grand <jpou...@gmail.com >>>> <mailto:jpou...@gmail.com>> wrote: >>>> >>>> The test***BackwardCompatibility cases can be removed since they make sure >>>> that Lucene 7 can read Lucene 6 norms, while Lucene 8 doesn't have to be >>>> able to read Lucene 6 norms. >>>> >>>> TestSegmentInfos needs to be adapted to the new versions, we need to >>>> replace 5 with 6 and 8 with 9. Maybe we should compute those numbers >>>> automatically based on Version.LATEST.major so that it does not require >>>> manual changes when moving to a new major version. That would give 5 -> >>>> Version.LATEST.major-2 and 8 -> Version.LATEST.major+1. >>>> >>>> I can do those changes on Thursday if you don't feel comfortable doing >>>> them. >>>> >>>> >>>> >>>> Le mar. 27 juin 2017 à 08:12, Anshum Gupta <ansh...@apple.com >>>> <mailto:ansh...@apple.com>> a écrit : >>>> Without making any changes at all and just bumping up the version, I hit >>>> these errors when running the tests: >>>> >>>> [junit4] 2> NOTE: reproduce with: ant test >>>> -Dtestcase=TestSegmentInfos -Dtests.method=testIllegalCreatedVersion >>>> -Dtests.seed=C818A61FA6C293A1 -Dtests.slow=true -Dtests.locale=es-PR >>>> -Dtests.timezone=Etc/GMT+4 -Dtests.asserts=true >>>> -Dtests.file.encoding=US-ASCII >>>> [junit4] FAILURE 0.01s J0 | TestSegmentInfos.testIllegalCreatedVersion >>>> <<< >>>> [junit4] > Throwable #1: junit.framework.AssertionFailedError: >>>> Expected exception IllegalArgumentException but no exception was thrown >>>> [junit4] > at >>>> __randomizedtesting.SeedInfo.seed([C818A61FA6C293A1:CE340683BE44C211]:0) >>>> [junit4] > at >>>> org.apache.lucene.util.LuceneTestCase.expectThrows(LuceneTestCase.java:2672) >>>> [junit4] > at >>>> org.apache.lucene.index.TestSegmentInfos.testIllegalCreatedVersion(TestSegmentInfos.java:35) >>>> [junit4] > at java.lang.Thread.run(Thread.java:748) >>>> [junit4] 2> NOTE: reproduce with: ant test >>>> -Dtestcase=TestSegmentInfos -Dtests.method=testVersionsOneSegment >>>> -Dtests.seed=C818A61FA6C293A1 -Dtests.slow=true -Dtests.locale=es-PR >>>> -Dtests.timezone=Etc/GMT+4 -Dtests.asserts=true >>>> -Dtests.file.encoding=US-ASCII >>>> [junit4] ERROR 0.00s J0 | TestSegmentInfos.testVersionsOneSegment <<< >>>> [junit4] > Throwable #1: >>>> org.apache.lucene.index.CorruptIndexException: segments file recorded >>>> indexCreatedVersionMajor=8 but segment=_0(7.0.0):C1 has older >>>> version=7.0.0 >>>> (resource=BufferedChecksumIndexInput(MockIndexInputWrapper(RAMInputStream(name=segments_1)))) >>>> [junit4] > at >>>> __randomizedtesting.SeedInfo.seed([C818A61FA6C293A1:A7477EE8875F2E36]:0) >>>> [junit4] > at >>>> org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:392) >>>> [junit4] > at >>>> org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:293) >>>> [junit4] > at >>>> org.apache.lucene.index.SegmentInfos$1.doBody(SegmentInfos.java:443) >>>> [junit4] > at >>>> org.apache.lucene.index.SegmentInfos$1.doBody(SegmentInfos.java:440) >>>> [junit4] > at >>>> org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:692) >>>> [junit4] > at >>>> org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:644) >>>> [junit4] > at >>>> org.apache.lucene.index.SegmentInfos.readLatestCommit(SegmentInfos.java:445) >>>> [junit4] > at >>>> org.apache.lucene.index.TestSegmentInfos.testVersionsOneSegment(TestSegmentInfos.java:67) >>>> [junit4] > at java.lang.Thread.run(Thread.java:748) >>>> [junit4] 2> NOTE: reproduce with: ant test >>>> -Dtestcase=TestSegmentInfos -Dtests.method=testVersionsTwoSegments >>>> -Dtests.seed=C818A61FA6C293A1 -Dtests.slow=true -Dtests.locale=es-PR >>>> -Dtests.timezone=Etc/GMT+4 -Dtests.asserts=true >>>> -Dtests.file.encoding=US-ASCII >>>> [junit4] ERROR 0.00s J0 | TestSegmentInfos.testVersionsTwoSegments <<< >>>> [junit4] > Throwable #1: >>>> org.apache.lucene.index.CorruptIndexException: segments file recorded >>>> indexCreatedVersionMajor=8 but segment=_0(7.0.0):C1 has older >>>> version=7.0.0 >>>> (resource=BufferedChecksumIndexInput(MockIndexInputWrapper(RAMInputStream(name=segments_1)))) >>>> [junit4] > at >>>> __randomizedtesting.SeedInfo.seed([C818A61FA6C293A1:4EE9CC4194FBB648]:0) >>>> [junit4] > at >>>> org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:392) >>>> [junit4] > at >>>> org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:293) >>>> [junit4] > at >>>> org.apache.lucene.index.SegmentInfos$1.doBody(SegmentInfos.java:443) >>>> [junit4] > at >>>> org.apache.lucene.index.SegmentInfos$1.doBody(SegmentInfos.java:440) >>>> [junit4] > at >>>> org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:692) >>>> [junit4] > at >>>> org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:644) >>>> [junit4] > at >>>> org.apache.lucene.index.SegmentInfos.readLatestCommit(SegmentInfos.java:445) >>>> [junit4] > at >>>> org.apache.lucene.index.TestSegmentInfos.testVersionsTwoSegments(TestSegmentInfos.java:96) >>>> [junit4] > at java.lang.Thread.run(Thread.java:748) >>>> >>>> On applying the patch here (https://pastebin.com/tM4Fpy1Q >>>> <https://pastebin.com/tM4Fpy1Q>), I end up with the following errors: >>>> >>>> [junit4] Tests with failures [seed: 5B388AB1E2BEFF87]: >>>> [junit4] - >>>> org.apache.lucene.search.similarities.TestSimilarityBase.testLengthEncodingBackwardCompatibility >>>> [junit4] - >>>> org.apache.lucene.search.similarities.TestClassicSimilarity.testNormEncodingBackwardCompatibility >>>> [junit4] - >>>> org.apache.lucene.index.TestSegmentInfos.testIllegalCreatedVersion >>>> [junit4] - >>>> org.apache.lucene.search.similarities.TestBM25Similarity.testLengthEncodingBackwardCompatibility >>>> >>>> Any ideas on what I’m missing here? >>>> >>>> >>>> -Anshum >>>> >>>> >>>> >>>>> On Jun 26, 2017, at 2:55 PM, Ryan Ernst <r...@iernst.net >>>>> <mailto:r...@iernst.net>> wrote: >>>>> >>>>> After changing that constant check, do you get the same test failures? >>>>> What are the actual failure messages? >>>>> >>>>> On Mon, Jun 26, 2017 at 10:38 AM Anshum Gupta <ans...@anshumgupta.net >>>>> <mailto:ans...@anshumgupta.net>> wrote: >>>>> Thanks Adrien, sadly, the tests aren't passing. That's the reason why I >>>>> didn't push the changes. I'll see if someone else can help while you're >>>>> away. >>>>> >>>>> -Anshum >>>>> >>>>> On Mon, Jun 26, 2017 at 9:55 AM Adrien Grand <jpou...@gmail.com >>>>> <mailto:jpou...@gmail.com>> wrote: >>>>> Your proposed change looks correct to me. As far as whether other changes >>>>> are required, I'm currently traveling but can look when I'm back on >>>>> Thursday. Feel free to push the branches if tests are passing, we can fix >>>>> things later? >>>>> >>>>> Le lun. 26 juin 2017 à 07:13, Anshum Gupta <ans...@anshumgupta.net >>>>> <mailto:ans...@anshumgupta.net>> a écrit : >>>>> The only throw case that I think needs changing is in SegmentInfos.java >>>>> L315 >>>>> Version luceneVersion = Version.fromBits(input.readVInt(), >>>>> input.readVInt(), input.readVInt()); >>>>> if (luceneVersion.onOrAfter(Version.LUCENE_7_0_0) == false) { >>>>> // TODO: should we check indexCreatedVersion instead? >>>>> throw new IndexFormatTooOldException(input, "this index is too old >>>>> (version: " + luceneVersion + ")"); >>>>> } >>>>> >>>>> The Lucene version here should be LUCENE_7_0_0, instead of the original >>>>> LUCENE_6_0_0. >>>>> >>>>> Is there anything else that's needed (and is this the correct change?). >>>>> >>>>> -Anshum >>>>> >>>>> >>>>> On Sun, Jun 25, 2017 at 9:45 PM Anshum Gupta <ans...@anshumgupta.net >>>>> <mailto:ans...@anshumgupta.net>> wrote: >>>>> Hi, >>>>> >>>>> I am working on creating the 7x, and 7.0 branches but I have the >>>>> following failing tests: >>>>> [junit4] Tests with failures [seed: 4FBDDCD3F96316D3]: >>>>> [junit4] - >>>>> org.apache.lucene.index.TestSegmentInfos.testVersionsTwoSegments >>>>> [junit4] - >>>>> org.apache.lucene.index.TestSegmentInfos.testIllegalCreatedVersion >>>>> [junit4] - >>>>> org.apache.lucene.index.TestSegmentInfos.testVersionsOneSegment >>>>> >>>>> I assume this is a result of me not doing anything about the following >>>>> TODO that got printed when I ran addVersion.py. >>>>> TODO >>>>> - Update IndexFormatTooOldException throw cases >>>>> >>>>> Can someone shed more light on what needs to be done here? >>>>> >>>>> -Anshum >>>> >>> >> >