You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Bryan Beaudreault (Jira)" <ji...@apache.org> on 2022/04/12 18:28:00 UTC

[jira] [Created] (HBASE-26950) Use AsyncConnection in ReplicationSink

Bryan Beaudreault created HBASE-26950:
-----------------------------------------

             Summary: Use AsyncConnection in ReplicationSink
                 Key: HBASE-26950
                 URL: https://issues.apache.org/jira/browse/HBASE-26950
             Project: HBase
          Issue Type: Improvement
            Reporter: Bryan Beaudreault


We don't need to necessarily rewrite ReplicationSink to work fully async. I think it would simply benefit from ConnectionFactory.createAsyncConnection instead of ConnectionFactory.createConnection.

The reasons for this are:
 * AsyncConnection is the more modern implementation, the only implementation in master, and where most of the efforts will be going forward.
 * ReplicationSink only does batch calls, and batch calls are done with AsyncProcess. It's likely that the native AsyncTable is better than AsyncProcess for this.
 ** One specific example, AsyncProcess calls findAllLocationsOrFail sequentially for all actions in a batch. This can take quite a while with the default replication batch size of 5k, if actions are spread across many regions. In AsyncTable, these calls are done in parallel



--
This message was sent by Atlassian Jira
(v8.20.1#820001)