tkhurana opened a new pull request, #2641: URL: https://github.com/apache/phoenix/pull/2641
checkAndSetModeAndNotify woke the event handler with a blocking sync(), which waits up to the sync timeout and can abort the RS. It runs on the ZK cache-event thread (HA state listeners) and the forwarder thread. Publish a non-blocking MODE_CHECK marker with tryNext() instead, like the rotation SWAP marker. The handler applies the switch on the marker only when no syncs are pending and the current batch is empty; otherwise it applies at the next sync point. The mode-switch tail of processPendingSyncs is extracted into checkModeSwitch, which skips the switch once the group is closed, so close()'s drain does not apply switches made by other threads. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
