[ https://issues.apache.org/jira/browse/HIVE-9436?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14288534#comment-14288534 ]
Hari Sankar Sivarama Subramaniyan commented on HIVE-9436: --------------------------------------------------------- A minor comment since I remember looking at RetryingHMSHandler code for catching Nucleus Exceptions a while back. I think RetryingHMSHandler::invoke and RetryingMetaStoreClient::invoke should have similar exceptions caught(except might be TException or something that might be client specific or HMS handler specific). Is it possible to factorize the catch part and have them called from RetryingMetaStoreClient::invoke and RetryingHMSHandler::invoke to avoid any redundancy/ missing cases. If this is not possible, manually comparing these two functions for the exception type handled might help in resolving any similar missing exception handling cases. Another point is comparing the exception messages for JDOException regex looks a bit hairy to me. Please correct me if this understanding is wrong. Thanks Hari > RetryingMetaStoreClient does not retry JDOExceptions > ---------------------------------------------------- > > Key: HIVE-9436 > URL: https://issues.apache.org/jira/browse/HIVE-9436 > Project: Hive > Issue Type: Bug > Affects Versions: 0.14.0, 0.13.1 > Reporter: Sushanth Sowmyan > Assignee: Sushanth Sowmyan > Attachments: HIVE-9436.patch > > > RetryingMetaStoreClient has a bug in the following bit of code: > {code} > } else if ((e.getCause() instanceof MetaException) && > e.getCause().getMessage().matches("JDO[a-zA-Z]*Exception")) { > caughtException = (MetaException) e.getCause(); > } else { > throw e.getCause(); > } > {code} > The bug here is that java String.matches matches the entire string to the > regex, and thus, that match will fail if the message contains anything before > or after JDO[a-zA-Z]\*Exception. The solution, however, is very simple, we > should match .\*JDO[a-zA-Z]\*Exception.\* -- This message was sent by Atlassian JIRA (v6.3.4#6332)