Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-26950

Use AsyncConnection in ReplicationSink

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.4.11
    • 2.5.0
    • None

    Description

      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

      Attachments

        Activity

          People

            comnetwork chenglei
            bbeaudreault Bryan Beaudreault
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: