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
>>>> 
>>> 
>> 
> 

Reply via email to