Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix condition for SharedBuffer completion
Currently, the shared buffer is marked as complete when all the client pages are acknowledged and the shared buffer receives noMorePages. However, if the client does not see the noMorePages flag, we can destroy the SharedBuffer when the client thinks it is still alive. If the SharedBuffer is destroyed, and the client keeps asking for more pages (because it doesn't know that there are no more pages), we create a new empty shared buffer for the client and tell the client that we don't have any moro pages. This makes the client wait indefinitely for new data. To fix this, SharedBuffer should be marked complete when both conditions are satisfied: - client has acknowledged all the pages - client knows that there will be no more pages Once the client sees all the pages and the no more pages signal, explicitly send a delete to the SharedBuffer to indicate completion.
- Loading branch information
Showing
13 changed files
with
271 additions
and
132 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
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
Oops, something went wrong.