[ 
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]

Reply via email to