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

ZkStateWriter should process commands in atomic

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 7.2, 8.0
    • None
    • 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
          29 kB
          Cao Manh Dat
        2. SOLR-11447.patch
          21 kB
          Cao Manh Dat

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: