-
Notifications
You must be signed in to change notification settings - Fork 532
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Remove two types of nacks - "Nonexistent client" & "Readonly client" (#…
…7753) This is part of looking into issue #7137 (nacks, specifically - tight nack loops). This change adds logic for DeltaManager to realize when it does not have "write" connection and stop sending ops on such connections. This removes "expected" nacks from the workflow. Remaining nack types are (in most cases) logical errors that needs to be raised in telemetry and looked into (10K unsummarized ops, 1Mb+ ops, etc.). Removing "expected" nacks from the workflows allows us to make next step - apply some kind of workflow that breaks tight infinite loop of remaining nacks types. For example, we may add delays, or better - close container if we see number of nacks in a row (this is not part of this change, I'll continue to use this issue to track this work). The con of this approach - it adds more logic to already complicated DeltaManager. One of the other pros - it makes things more consistent for other layers. I.e. if Container checks for connection mode and it's "write", now it knows for sure that it can send an op. Even more important - client knows that it should not send ops (for example, consensus / leader election DDSs) when it was downgraded to "read" and thus would stop sending ops, and allow this client to stay in "read" connection mode once it got there.
- Loading branch information
Showing
3 changed files
with
89 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters