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

Peter Vary commented on HIVE-15090:
-----------------------------------

[~thejas] You are thinking like me :)

??Defining the exceptions that can be thrown by DelegationTokenStore that are 
not fatal and can be ignored.??
I have chickened out of this since it is a compatibility change - at least in 
my unpracticed view. If I change the DelegationTokenStore interface to add the 
new type of exception, then if someone has implemented his own 
DelegationTokenStore, it has to be changed to work with the new version of hive.

??Updating DBTokenStore to not thrown what could be transient errors, and just 
log those??
ExpiredTokenRemover uses the following DelegationTokenStore methods: 
updateMasterKey, removeMasterKey, getAllDelegationTokenIdentifiers, 
removeToken, getToken. Changing the behavior of these methods could cause 
unexpected results.

So I leaned for your first suggestion, but HIVE-13090 was a longstanding issue 
(introduced at Dec 7, 2011) with very visible effects and with only two jiras 
for it. I thought it is not that common to warrant the compatibility change.

What do you think [~thejas]? Is it worth to change the DelegationTokenStore 
interface? You have more experience with Hive than me.

Thanks,
Peter

> Temporary DB failure can stop ExpiredTokenRemover thread
> --------------------------------------------------------
>
>                 Key: HIVE-15090
>                 URL: https://issues.apache.org/jira/browse/HIVE-15090
>             Project: Hive
>          Issue Type: Bug
>          Components: Metastore
>    Affects Versions: 1.3.0, 2.1.0, 2.0.1, 2.2.0
>            Reporter: Peter Vary
>            Assignee: Peter Vary
>             Fix For: 2.2.0
>
>         Attachments: HIVE-15090.2-branch-2.1.patch, HIVE-15090.2.patch, 
> HIVE-15090.2.patch, HIVE-15090.3-branch-2.1.patch, HIVE-15090.patch
>
>
> In HIVE-13090 we decided that we should not close the metastore if there is 
> an unexpected exception during the expired token removal process, but that 
> fix leaves a running metastore without ExpiredTokenRemover thread.
> To fix this I will move the catch inside the running loop, and hope the 
> thread could recover from the exception



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

Reply via email to