[ https://issues.apache.org/jira/browse/SENTRY-2310?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16543338#comment-16543338 ]
Na Li commented on SENTRY-2310: ------------------------------- [~kkalyan] I prefer the option 1 to avoid unnecessary overhead of creating HiveMetaStoreClient when connection is in good state. 1) In HiveNotificationFetcher, whenever gets exception in request, the HiveMetaStoreClient is closed and set to null. So getting delta changes does not have this issue. 2) SentryHMSClient.getFullSnapshot has this issue because the HiveMetaStoreClient is not closed at exception, and will be used again in next pulling. So getting full snapshot has this issue. > Sentry is not be able to fetch full update subsequently, when there is HMS > restart in the snapshot process. > ------------------------------------------------------------------------------------------------------------ > > Key: SENTRY-2310 > URL: https://issues.apache.org/jira/browse/SENTRY-2310 > Project: Sentry > Issue Type: Bug > Reporter: kalyan kumar kalvagadda > Assignee: kalyan kumar kalvagadda > Priority: Major > Attachments: SENTRY-2310.001.patch, SENTRY-2310.002.patch, > SENTRY-2310.003.patch > > > If the communication between sentry and HMS goes down for any reason while > sentry is fetching full update from HMS, SentryHMSClient in HMSFollower would > be left with a reference to closed socket. As sentry is not handling the > failure and closing the SentryHMSClient, it continues using the same > SentryHMSClient. This will result in "java.net.SocketException: Broken pipe" > as the client tries to write on socket that is closed. -- This message was sent by Atlassian JIRA (v7.6.3#76005)