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

Andrew Purtell commented on PHOENIX-4682:
-----------------------------------------

It would be better to disable the index than throw an exception.

The current patch that swallows all exceptions in the hook rather than throw 
them is fine by me.

bq. Also I think what Andrew was saying was that we can/should throw 
IOExceptions (which abort the compaction), just not other types of exceptions 
(which abort the RS).

Yes, but I don't think they are going to be handled like we expect, sigh. I 
went back and looked at the stack trace we have on hand. The exception that 
propagates up to the top level handler is an UndeclaredThrowableException. This 
is because there is a doAs() somewhere in the call stack for compaction 
activity not declared to throw an IOE, so throwing any IOE out of this hook is 
going to be fatal under these circumstances.

Swallowing the TableNotFoundException is the minimal fix. Swallowing them all 
is not unreasonable at this time.

> UngroupedAggregateRegionObserver preCompactScannerOpen hook should not throw 
> exceptions
> ---------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-4682
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4682
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.13.0
>            Reporter: Vincent Poon
>            Assignee: Vincent Poon
>            Priority: Major
>         Attachments: PHOENIX-4682.master.v1.patch
>
>
> TableNotFoundException in the preCompactScannerOpen hook can lead to RS abort.
> Some tables might have the phoenix coprocessor loaded but not be actual 
> Phoenix tables (i.e. have a row in SYSTEM.CATALOG).  We should ignore these 
> Exceptions instead of throwing them.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to