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

Eugene Koifman commented on HIVE-12637:
---------------------------------------

look at TxnHandler.checkRetryable() for example.
It has logic to retry certain errors and propagate others.
The list of errors it will retry is baked into the code.  It would be more 
flexible if instead there was a configurable (by end user) list of errors that 
will be retried.  For example, "ORA-08176" is not there currently.

I suggest that we need to add a mechanism where the user can specify any number 
of RegEx strings
and we'll check (in checkRetryable) if (DB_TYPE + ex.getMessage() + 
ex.getSQLState() + ex.getErrorCode()) matches any of the RegExes and if so, 
consider the error retryable.

> make retryable SQLExceptions in TxnHandler configurable
> -------------------------------------------------------
>
>                 Key: HIVE-12637
>                 URL: https://issues.apache.org/jira/browse/HIVE-12637
>             Project: Hive
>          Issue Type: Improvement
>          Components: Transactions
>    Affects Versions: 1.0.0
>            Reporter: Eugene Koifman
>            Assignee: Wei Zheng
>
> same for CompactionTxnHandler
> would be convenient if the user could specify some RegEx (perhaps by db type) 
> which will tell TxnHandler.checkRetryable() that this is should be retried.
> The regex should probably apply to String produced by 
> {noformat}
>   private static String getMessage(SQLException ex) {
>     return ex.getMessage() + "(SQLState=" + ex.getSQLState() + ",ErrorCode=" 
> + ex.getErrorCode() + ")";
>   }
> {noformat}
> This make it flexible.
> See if we need to add Db type (and possibly version) of the DB being used.
> With 5 different DBs supported this gives control end users.



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

Reply via email to