hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Enis Soztutar (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-12561) Replicas of regions can be cached from different instances of the table in MetaCache
Date Fri, 13 Feb 2015 23:31:12 GMT

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

Enis Soztutar updated HBASE-12561:
    Attachment: hbase-12561-v1.patch

Attaching a simple patch which does what the jira description talks about. We make sure that
all replica locations are for the same semantic region in the meta cache. 

This depends on HBASE-11842 to be committed first. 

> Replicas of regions can be cached from different instances of the table in MetaCache
> ------------------------------------------------------------------------------------
>                 Key: HBASE-12561
>                 URL: https://issues.apache.org/jira/browse/HBASE-12561
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>             Fix For: 2.0.0
>         Attachments: hbase-12561-v1.patch
> In testing, we have observed that if a client caches some regions with replicas in MetaCache,
and then the table is recreated, the cache does not get invalidated. Upon caching more entries
from a new instance of the table we can have entries for replicas from different instances
of a table (remember that metacache is row based)
> On async wal replay (HBASE-11568), we have an elaborate mechanism to track region replica
locations and skip replaying wal entries if the current region replica is not the same region
replica from the original wal edit. This prevents replaying entries of older tables with the
same name to the region replicas as well as replaying older entries from split (or merged)
regions from old parent to new daughters.
> Trace level logging in my test setup showed that we were skipping some entries because
of a case, where we would have region locations (of the same range) cached from different
instances of the table (meaning some replicas are from already deleted table vs some entries
from new table). This was causing superfluous skipping entries.
> The fix can be when we are merging entries for the same range, we simply check the other
entries and delete those that do not match the new region id.

This message was sent by Atlassian JIRA

View raw message