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

Andrew Kyle Purtell edited comment on HBASE-28850 at 9/18/24 6:01 PM:
----------------------------------------------------------------------

I am not saying this approach is wrong but it will change the performance of 
replicateEntries. Before, the replicateEntries call will return as soon as the 
local edits on the sink are _scheduled_ for application. After, the 
replicateEntries will block for the entire time it takes to apply all local 
edits in the batch, including waiting for retries and backoff if there is local 
server unavailability. And that may cause a reduction in replication throughput 
because of the new backpressure on the source, as we block in replicateEntries 
for what I assume will be a longer time on average. 

On the other hand, it could be a deliberate design decision to not return 
"success" to the source unless all edits in the batch are confirmed to be 
applied. 


was (Author: apurtell):
I am not saying this approach is wrong but it will change the performance of 
replicateEntries. Before, the replicateEntries call will return and serves to 
indicate to the source that it can send the next batch as soon as the local 
edits on the sink are _scheduled_ for application. After, the replicateEntries 
will block for the entire time it takes to apply all local edits in the batch, 
including waiting for retries and backoff if there is local server 
unavailability. And that will cause a reduction in replication throughput. 

On the other hand, it could be a deliberate design decision to not return 
"success" to the source unless all edits in the batch are confirmed to be 
applied. 

> Only return from ReplicationSink.replicationEntries while all background 
> tasks are finished
> -------------------------------------------------------------------------------------------
>
>                 Key: HBASE-28850
>                 URL: https://issues.apache.org/jira/browse/HBASE-28850
>             Project: HBase
>          Issue Type: Improvement
>          Components: Replication, rpc
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>            Priority: Major
>              Labels: pull-request-available
>




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to