Uploaded image for project: 'Accumulo'
  1. Accumulo
  2. ACCUMULO-4570

Race condition clients accessing the Master before it's fully initialized

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.0
    • Component/s: master
    • Labels:
      None

      Description

      Some fall-out from ACCUMULO-4424

      The thrift server for the MasterClientServiceHandler is started before we acquire the ZK lock, but access to it is precluded until after we acquire that lock. The problem is that the state of the master is not guaranteed to be fully initialized after that lock is grabbed.

      It is simple to add a boolean flag instead after the state in the master is initialized completely.

        Issue Links

          Activity

          Hide
          elserj Josh Elser added a comment -

          Thanks for the quick review, Keith!

          Show
          elserj Josh Elser added a comment - Thanks for the quick review, Keith!
          Hide
          elserj Josh Elser added a comment -

          The monitor also suffers from this race condition, however much less critically than the master does.

          Show
          elserj Josh Elser added a comment - The monitor also suffers from this race condition, however much less critically than the master does.

            People

            • Assignee:
              elserj Josh Elser
              Reporter:
              elserj Josh Elser
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 40m
                40m

                  Development