[
https://issues.apache.org/jira/browse/HDDS-11073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17863856#comment-17863856
]
Duong commented on HDDS-11073:
------------------------------
This is included in https://github.com/apache/ozone/pull/6859 (HDDS-9844).
> [hsync] Improve BlockOutputStream's BufferPool to support variable buffer
> allocation from concurrent hsync
> ----------------------------------------------------------------------------------------------------------
>
> Key: HDDS-11073
> URL: https://issues.apache.org/jira/browse/HDDS-11073
> Project: Apache Ozone
> Issue Type: Sub-task
> Reporter: Duong
> Priority: Blocker
>
> Since HDDS-9844, multiple threads can now invoke hsync to flush current
> changes in the BlockOutputStream. Each hsync call requires a ChunkBuffer in
> the BufferPool to be reserved until the flush is committed.
> The current BufferPool implementation imposes a hard limit and will crash
> when this limit is crossed. This is when BlockOutputStream is used by a
> single thread at a time. But when a variable number of threads call hsync on
> a single BlockOutputStream, this limit is easy to cause a crash.
> We need to improve the BufferPool/BlockOutputStream so that it does not crash
> when there are more ChunkBuffer allocation requests than the configured
> BufferPool limit. Instead, the calling thread can wait until an available
> buffer is released.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]