Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.7.0
-
None
Description
Right now if there is an error condition in evaluating paths in MetastoreCacheInitializer in one of the tasks, we throw a Runtime Exception (in Sentry-888). Changed the behavior to be:
- Retry the failed tasks x times. Each retry has a y millis wait duration. x and y are based upon the user config (sentry.hdfs.sync.metastore.cache.retry.max.num and sentry.hdfs.sync.metastore.cache.retry.wait.duration.millis).
- After retry failure, throw exception or sync incomplete paths update based on user config (sentry.hdfs.sync.metastore.cache.fail.on.partial.update). The default values is fail on partial update, which will throw runtime exception.
for (Future<CallResult> result : results) { CallResult callResult = result.get(); // Fail the HMS startup if tasks are not all successful and // fail on partial updates flag is set in the config. if (callResult.getSuccessStatus() == false && failOnRetry) { throw new RuntimeException(callResult.getFailure()); } }
Attachments
Attachments
Issue Links
- is related to
-
SENTRY-888 Exceptions in Callable tasks in MetaStoreCacheInitializer are being dropped
- Resolved
- links to