hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joseph (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-15956) Modify queue naming standards to speed up ReplicationQueuesHBaseImpl
Date Tue, 07 Jun 2016 21:30:21 GMT

     [ https://issues.apache.org/jira/browse/HBASE-15956?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Joseph updated HBASE-15956:
---------------------------
    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


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


> Modify queue naming standards to speed up ReplicationQueuesHBaseImpl
> --------------------------------------------------------------------
>
>                 Key: HBASE-15956
>                 URL: https://issues.apache.org/jira/browse/HBASE-15956
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Replication
>            Reporter: Joseph
>            Assignee: Joseph
>
> 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



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message