[ 
https://issues.apache.org/jira/browse/HIVE-27097?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Wechar updated HIVE-27097:
--------------------------
    Description: 
*Background*
Hive provides *{{RetryingMetaStoreClient}}* and *{{RetryingHMSHandler}}* to do 
retry when thrift request failed:
 * RetryingMetaStoreClient will retry for *thrift related exception* and some 
*MetaException*
 * RetryingHMSHandler will retry for all {*}JDOException{*} or 
*NucleusException*.

*Motivation*
Current retry mechanism will lead to many unnecessary retries in both client 
and server. To simplify the process, we introduce following retry mechanism:
 * Client side only concerns the error of communication, i.e., 
{*}TTransportException{*}.
 * Server side can skip some exceptions which always turn to fail even with 
retry, like {*}SQLIntegrityConstraintViolationException{*}.

  was:
*Background*
Hive provides *{{RetryingMetaStoreClient}}* and *{{RetryingHMSHandler}}* to do 
retry when thrift request failed:
* RetryingMetaStoreClient will retry for *thrift related exception* and some 
*MetaException*
* RetryingHMSHandler will retry for all *JDOException*.

*Motivation*
Current retry mechanism will lead to many unnecessary retries in both client 
and server. To simplify the process, we introduce following retry mechanism:
* Client side only concerns the error of communication, i.e., 
*TTransportException*.
* Server side can skip some exceptions which always turn to fail even with 
retry, like *SQLIntegrityConstraintViolationException*.



> Improve the retry strategy for Metastore client and server
> ----------------------------------------------------------
>
>                 Key: HIVE-27097
>                 URL: https://issues.apache.org/jira/browse/HIVE-27097
>             Project: Hive
>          Issue Type: Improvement
>          Components: Hive
>    Affects Versions: 4.0.0-alpha-2
>            Reporter: Wechar
>            Assignee: Wechar
>            Priority: Major
>
> *Background*
> Hive provides *{{RetryingMetaStoreClient}}* and *{{RetryingHMSHandler}}* to 
> do retry when thrift request failed:
>  * RetryingMetaStoreClient will retry for *thrift related exception* and some 
> *MetaException*
>  * RetryingHMSHandler will retry for all {*}JDOException{*} or 
> *NucleusException*.
> *Motivation*
> Current retry mechanism will lead to many unnecessary retries in both client 
> and server. To simplify the process, we introduce following retry mechanism:
>  * Client side only concerns the error of communication, i.e., 
> {*}TTransportException{*}.
>  * Server side can skip some exceptions which always turn to fail even with 
> retry, like {*}SQLIntegrityConstraintViolationException{*}.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to