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
Currently, putBlock call gets executed only during close() when a block is written. The aim here is to have a putBlock boundary similar to async path where the putBlock gets executed which updates the key length and help reduce some memory on client. The default boundary here is set at 32 MB where a putBlock is executed. Also a limit is set on the ByteBuffer size the client can send here (4mb).
The reason will be displayed to describe this comment to others. Learn more.
Did we need add updateFlushLength(), waitOnFlushFutures() and watchForCommit(false) here? Just as what we did in handleFlush. Currently we only releaseBuffers after watchForCommit.
The reason will be displayed to describe this comment to others. Learn more.
Thanks @captainzmc for the comment. The plan here is to execute a putBlock at 32MB and not block the client right away by waiting for the flush futures and calling watchForCommit. We will introduce another boundary say at 64MB to check whether atleast 32MB is flushed and committed to all datanodes i.e watchForCommit() and waitForFlushFutures() will occur at 64mb. (I will add this is in a different patch after this PR)
sadanand48
changed the title
HDDS-5851. Define a PutBlock/maxBuffer fixed boundary for streaming writes.HDDS-5851. [Ozone-Streaming] Define a PutBlock/maxBuffer fixed boundary for streaming writes.Nov 30, 2021
…ry for streaming writes. (#2866)
(cherry picked from commit 7a6ea80)
(cherry picked from commit 3b9141e18d42555ccc62f7c9718b96fd8b88e55f)
(cherry picked from commit eb441a8)
…ry for streaming writes. (apache#2866)
(cherry picked from commit 9d5ccb3)
This file contains hidden or 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
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes were proposed in this pull request?
Currently, putBlock call gets executed only during close() when a block is written. The aim here is to have a putBlock boundary similar to async path where the putBlock gets executed which updates the key length and help reduce some memory on client. The default boundary here is set at 32 MB where a putBlock is executed. Also a limit is set on the ByteBuffer size the client can send here (4mb).
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-5851
How was this patch tested?
Unit test