Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
2.7.3
Description
ZKRMStateStore.doStoreMultiWithRetries() holds the lock while trying to talk to ZK. If the connection fails, it will retry while still holding the lock. The retries are intended to be strictly time limited, but in the case that the ZK node is unreachable, the time limit fails, resulting in the thread holding the lock for over an hour. Transitioning the RM to standby requires that same lock, so in exactly the case that the RM should be transitioning to standby, the VerifyActiveStatusThread blocks it from happening.