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

Jesse Yates commented on PHOENIX-1289:
--------------------------------------

Thanks [~daniel.M]! Two issues, one small, one large. 
(1) Spacing on the LOG message is off - I'll just fix that on commit. 
(2) The test doesn't seem to pass for me - with your fix it ends up still 
killing the RS and then going into an infinite loop as it tries to restore the 
index writes on region restore. I had to add in the following:
{code}
@@ -95,6 +95,7 @@ public class PhoenixIndexFailurePolicy extends  
KillServerOnFailurePolicy {
         List<String> indexTableNames = new ArrayList<String>(1);
         try {
             for (HTableInterfaceReference ref : refs) {
+                indexTableNames.clear();
                 long minTimeStamp = 0;
                 Collection<Mutation> mutations = attempted.get(ref);
                 if (mutations != null) {
{code}

Which clears the index table names we lookup each time. Not quite sure why 
that's necessary - I'll have to look into it a little more - as the table thats 
removed should be removed all the time.

Maybe you have an idea?

> Drop index during upsert may abort RS
> -------------------------------------
>
>                 Key: PHOENIX-1289
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1289
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 3.0.0
>            Reporter: daniel meng
>         Attachments: DropIndexDuringUpsertIT.java, PHOENIX-1289.PATCH
>
>
> below execute path will abort RS:
> 1. client A write to table T with mutation m。 and T has an index of name IDX
> 2. m arrival at RS, but not start processing yet
> 3. client B drop index IDX
> 4. RS try to process m, and we get m' for IDX
> 5. RS try to write m'  but fail as HBase Table IDX not exist
> 6. RS try to disable IDX but fail as Metadata has been deleted
> 7. KillServerOnFailurePolicy is triggered, server abort
> 8. recovery will fail with the same reason.
> an IT is attached 



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

Reply via email to