Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-15867 Move HBase replication tracking from ZooKeeper to HBase
  3. HBASE-15956

Modify queue naming standards to speed up ReplicationQueuesHBaseImpl

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • None
    • Replication
    • None

    Description

      Currently when a server builds a new Replication Queue its row key in HBase will be saved as [server0 + "-" + queueId0]. This original server will make calls to getLogPosition(), setLogPosition(), removeQueue(), etc with the argument String queueId = queueId0. So for the original server we can look up the row key by concatenating servername + queueId0. Yet if this queue is ever claimed by another server, the new server will make the calls to those functions with the argument String queueId = queueId0 + "" + oldServer1 + "" + oldServer2...
      So we have to track String queueId as a separate column within HBase and perform scans on this column to find the proper row key each time.
      Consider an update where we parse out the row key from these two types of queueId's or saving a different String queueId in the new servers

      A similar issue is mentioned in https://issues.apache.org/jira/browse/HBASE-8207
      Maybe I will rely on isFullServerName to try splitting the string multiple times

      Attachments

        Activity

          People

            Vegetable26 Joseph
            Vegetable26 Joseph
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: