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

Codec classes/packages that do not provide (automatic) file format back compat need to be more explicit about this in javadocs

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • None
    • New

    Description

      rmuir noted in LUCENE-5121...

      Currently (as documented), we don't provide index back compat for experimental codecs in lucene-codecs.jar.

      ...but except for a solr wiki page and solrconfig.xml comment, it's extremely non-obvious that any of these codec classes don't provide index backcompat.

      • the codec module overview.html page describes the module as "Collection of useful codec, postings format and terms dictionary implementations" – with no indication that by using these "useful" implementations, the user gives up index backcompat.
      • the package.html files in the individual packages of the codec module (appending, blockterms, bbloom, diskdv, etc...) also say nothing about index backcompat
      • the individual classes in these codecs are mostly labeled with @lucene.experimental but in the resulting javadoc that merely says that "WARNING: This API is experimental and might change in incompatible ways in the next release". Lots of classes in Lucene have this warning on them about their API (including the abstract codec apis themselves in lucene-core: DocValuesFormat, PostingsFormat, etc...) and that annotation (as far back as i can remember) has always only refered to the java API of the labeled class – never to whether using that class ment you were giving up on index format back compat.

      Given how much effort and work is put into ensuring good index backcompat for default codec, we should be extremely explicit when/if alternative codecs do not support backcompat, so we don't frustrate/confuse users and leave them with the impression that they can never count on index backcompat just because they may not realize they were using an "unsupported" format option because of a blog post they read or advice they got on the mailing list about how to make something faster or use less ram.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              hossman Chris M. Hostetter
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated: