Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-11447

ZkStateWriter should process commands in atomic

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 7.2, 8.0
    • Component/s: None
    • Labels:
      None

      Description

      ZkStateWriter should process all the ZkWriteCommands correspond to a message in atomic ( we are processing one by one command right now ). Some ZkWriteCommands can get lost. Here is the case :
      1. We process DOWNNODE message ( whatever message that produces multiple ZkWriteComand ).
      2. We poll that message from stateUpdateQueue and push it to workQueue ( for backup ).
      3. The DOWNNODE message is converted into multiple ZkWriteCommand
      4. We enqueue one by one ZkWriteCommand into ZkStateWriter. Any command can trigger flush, which calls the onWrite() callback to empty workQueue
      5. The Overseer gets restarted, and the rest of ZkWriteCommands (which not get processed in step 4) will be lost because the workQueue is empty now (because onWrite() callback in step 4)

        Attachments

        1. SOLR-11447.patch
          21 kB
          Cao Manh Dat
        2. SOLR-11447.patch
          29 kB
          Cao Manh Dat

          Activity

            People

            • Assignee:
              caomanhdat Cao Manh Dat
              Reporter:
              caomanhdat Cao Manh Dat
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: