Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-2921

Now that we track the code version at the segment level, we can stop tracking it also in each file level

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • core/index
    • None
    • New

    Description

      Now that we track the code version that created the segment at the segment level, we can stop tracking versions in each file. This has several major benefits:

      1. Today the constant names that use to track versions are confusing - they do not state since which version it applies to, and so it's harder to determine which formats we can stop supporting when working on the next major release.
      2. Those format numbers are usually negative, but in some cases positive (inconsistency) – we need to remember to increase it "one down" for the negative ones, which I always find confusing.
      3. It will remove the format tracking from all the *Writers, and the *Reader will receive the code format (String) and work w/ the appropriate constant (e.g. Constants.LUCENE_30). Centralizing version tracking to SegmentInfo is an advantage IMO.

      It's not urgent that we do it for 3.1 (though it requires an index format change), because starting from 3.1 all segments track their version number anyway (or migrated to track it), so we can safely release it in follow-on 3x release.

      Attachments

        Activity

          People

            Unassigned Unassigned
            shaie Shai Erera
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: