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

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: core/index
    • Labels:
      None
    • Lucene Fields:
      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.

        Activity

        Hide
        Shai Erera added a comment -

        On this thread (http://lucene.markmail.org/thread/2puabohgbkgtbq7o) we discussed the option of using Version in SI.getVersion(), and then we'll be able to easily compare segment versions. Also, after we do this, StringHelper.versionComparator can be deleted.

        Show
        Shai Erera added a comment - On this thread ( http://lucene.markmail.org/thread/2puabohgbkgtbq7o ) we discussed the option of using Version in SI.getVersion(), and then we'll be able to easily compare segment versions. Also, after we do this, StringHelper.versionComparator can be deleted.
        Hide
        Robert Muir added a comment -

        bulk move 3.2 -> 3.3

        Show
        Robert Muir added a comment - bulk move 3.2 -> 3.3
        Hide
        Robert Muir added a comment -

        3.6 pruning: can we push this out to 4.0?

        Show
        Robert Muir added a comment - 3.6 pruning: can we push this out to 4.0?
        Hide
        Shai Erera added a comment -

        Removing 3.6 version. Since this requires an index format change, I think that it'd be good if we can resolve it by 4.0 Alpha.

        Show
        Shai Erera added a comment - Removing 3.6 version. Since this requires an index format change, I think that it'd be good if we can resolve it by 4.0 Alpha.

          People

          • Assignee:
            Unassigned
            Reporter:
            Shai Erera
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:

              Development