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

Reply via email to