[ 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)