[ 
https://issues.apache.org/jira/browse/HDDS-9844?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17840604#comment-17840604
 ] 

Wei-Chiu Chuang commented on HDDS-9844:
---------------------------------------

 !Screenshot 2024-02-27 at 8.01.48 PM.png! 
For future reference, this is one of the place where it kills concurrency and 
performance.
Not only do we need to remove synchronized blocks at KeyOutputStream level, we 
also have to remove the use of CompletableFture.get() while within the 
BlockOutputStream synchronized blocks.

> [hsync] De-synchronize hsync API
> --------------------------------
>
>                 Key: HDDS-9844
>                 URL: https://issues.apache.org/jira/browse/HDDS-9844
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Wei-Chiu Chuang
>            Assignee: Siyao Meng
>            Priority: Major
>              Labels: pull-request-available
>         Attachments: Screenshot 2024-02-27 at 8.01.48 PM.png
>
>
> The current hysnc implementation KeyOutputStream.hsync() is wrapped in a 
> synchronized block. The HBase write ahead log FSHLog.SyncRunner has multiple 
> threads invoking hsync in parallel to reduce client latency.
> We should unsynchronize Ozone's hsync such that it doesn't block waiting for 
> the Ratis transaction to respond.
> cc: [~szetszwo] this is what we discussed offline.



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