Uploaded image for project: 'Hadoop YARN'
  1. Hadoop YARN
  2. YARN-4209

RMStateStore FENCED state doesn't work due to updateFencedState called by stateMachine.doTransition

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Hadoop Flags:
      Reviewed

      Description

      RMStateStore FENCED state doesn’t work due to updateFencedState called by stateMachine.doTransition. The reason is
      stateMachine.doTransition called from updateFencedState is embedded in stateMachine.doTransition called from public API(removeRMDelegationToken...) or ForwardingEventHandler#handle. So right after the internal state transition from updateFencedState changes the state to FENCED state, the external state transition changes the state back to ACTIVE state. The end result is that RMStateStore is still in ACTIVE state even after notifyStoreOperationFailed is called. The only working case for FENCED state is notifyStoreOperationFailed called from ZKRMStateStore#VerifyActiveStatusThread.
      For example: removeRMDelegationToken => handleStoreEvent => enter external stateMachine.doTransition => RemoveRMDTTransition => notifyStoreOperationFailed =>updateFencedState=>handleStoreEvent=> enter internal stateMachine.doTransition => exit internal stateMachine.doTransition change state to FENCED => exit external stateMachine.doTransition change state to ACTIVE.

        Attachments

        1. YARN-4209.branch-2.7.patch
          23 kB
          Zhihai Xu
        2. YARN-4209.002.patch
          28 kB
          Zhihai Xu
        3. YARN-4209.001.patch
          28 kB
          Zhihai Xu
        4. YARN-4209.000.patch
          5 kB
          Zhihai Xu

          Activity

            People

            • Assignee:
              zxu Zhihai Xu
              Reporter:
              zxu Zhihai Xu

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment