phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Taylor (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PHOENIX-3045) Data regions in transition forever if RS holding them down during drop index
Date Tue, 12 Jul 2016 13:00:23 GMT

    [ https://issues.apache.org/jira/browse/PHOENIX-3045?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15372838#comment-15372838
] 

James Taylor commented on PHOENIX-3045:
---------------------------------------

So Indexer.java creates an IndexWriter specifically for recovery:
{code}
          recoveryWriter =
              new IndexWriter(recoveryCommmiter, policy, env, serverName + "-recovery-writer");
{code}
Can we pass in some state here (or have a derived class) that causes us to track (in a Set
as you're doing in your patch) when a TableNotFoundException occurs when we try to get the
HTableInterface? You'd need to propagate this state through the IndexCommitter interface for
the ParallelWriterIndexCommitter class which makes this call:
{code}
                        HTableInterface table = factory.getTable(tableReference.get());
{code}
I think we'd want to not use CachingHTableFactory which seems to hold on to the HTableInterface:
{code}
        this.factory = new CachingHTableFactory(factory, cacheSize);
{code}
But instead use CoprocessorHTableFactory which seems to just get a new one. I'm really not
sure what the CachingHTableFactory buys us - maybe we always use the CoprocessorHTableFactory
instead? Do you remember, [~jesse_yates]?

Then, we'd only execute the batched mutation if we don't find the tableReference.get() in
our Set<ImmutableBytesPtr>.

> Data regions in transition forever if RS holding them down during drop index
> ----------------------------------------------------------------------------
>
>                 Key: PHOENIX-3045
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3045
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: Sergio Peleato
>            Assignee: Ankit Singhal
>             Fix For: 4.9.0
>
>         Attachments: PHOENIX-3045.patch
>
>
> There is a chance that region server holding the data regions might abruptly killed before
flushing the data table this leads same failure case that data regions won't be opened which
leads to the regions in transition forever. We need to handle this case by checking dropped
indexes on recovery write failures and skip the corresponding mutations to write to them.



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

Mime
View raw message