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

TwoPhaseCommit interface

Details

    • New Feature
    • Status: Reopened
    • Major
    • Resolution: Fixed
    • None
    • 3.3, 4.0-ALPHA
    • core/index
    • None
    • New, Patch Available

    Description

      I would like to propose a TwoPhaseCommit interface which declares the methods necessary to implement a 2-phase commit algorithm:

      • prepareCommit()
      • commit()
      • rollback()

      The prepare/commit ones have variants that take a (Map<String,String> commitData) following the ones we have in IndexWriter.

      In addition, a TwoPhaseCommitTool which implements a 2-phase commit amongst several TPCs.

      Having IndexWriter implement that interface will allow running the 2-phase commit algorithm on multiple IWs or IW + any other object that implements the interface.

      We should mark the interface @lucene.internal so as to not block ourselves in the future. This is pretty advanced stuff anyway.

      Will post a patch soon

      Attachments

        1. LUCENE-3193.patch
          15 kB
          Shai Erera
        2. LUCENE-3193.patch
          17 kB
          Shai Erera

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: