You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After #9764, it seems to work, but synchronization is still fuzzy. For example, if the hasher calls ReconnectNodeRemover.getRecordsToDelete(), and the remover is closed in a parallel threads, the queue thread is stopped, but there are calls to workQueue.pause() and workQueue.resume() in getRecordsToDelete(). What do these calls do if the queue thread is stopped? Probably, no-ops + error log messages, probably not.
Is a separate queue thread needed in node remover at all? Can node requests be handled right on the learner thread? This ticket is to find answers to questions like this.
The text was updated successfully, but these errors were encountered:
This issue was found during investigation for #9764.
Current node remover threading model is as follows:
After #9764, it seems to work, but synchronization is still fuzzy. For example, if the hasher calls
ReconnectNodeRemover.getRecordsToDelete()
, and the remover is closed in a parallel threads, the queue thread is stopped, but there are calls toworkQueue.pause()
andworkQueue.resume()
ingetRecordsToDelete()
. What do these calls do if the queue thread is stopped? Probably, no-ops + error log messages, probably not.Is a separate queue thread needed in node remover at all? Can node requests be handled right on the learner thread? This ticket is to find answers to questions like this.
The text was updated successfully, but these errors were encountered: