[ 
https://issues.apache.org/jira/browse/SENTRY-1784?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16033104#comment-16033104
 ] 

Sergio Peña commented on SENTRY-1784:
-------------------------------------

[~LinaAtAustin] I wonder if it would be better to check if the 
MAuthzPathsMapping is not empty when HDFS request ID = 1 instead of looking at 
the deltas. This way you can make sure that a full snapshot will be sent the 
first time HDFS requests updates. Next time, HDFS will request a bigger ID, 
right? The method is SentryStore.isAuthzPathsMappingEmpty().

Here's the commit that checks if the table is empty:
https://github.com/apache/sentry/blob/sentry-ha-redesign/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java#L2807

> DBUpdateForwarder returns empty update list to HDFS instead of full update
> --------------------------------------------------------------------------
>
>                 Key: SENTRY-1784
>                 URL: https://issues.apache.org/jira/browse/SENTRY-1784
>             Project: Sentry
>          Issue Type: Sub-task
>          Components: Sentry
>    Affects Versions: sentry-ha-redesign
>            Reporter: Na Li
>            Assignee: Na Li
>            Priority: Critical
>             Fix For: sentry-ha-redesign
>
>         Attachments: SENTRY-1784.001-sentry-ha-redesign.patch, 
> SENTRY-1784.001-sentry-ha-redesign.patch, 
> SENTRY-1784.002-sentry-ha-redesign.patch, 
> SENTRY-1784.003-sentry-ha-redesign.patch
>
>
> When HDFS first asks Sentry for update, the request changeID is 1. If there 
> is no entries in permission change table (current changeID is 0), empty 
> update list is returned to HDFS because the current code behavior is that no 
> update is returned if request changeID is larger than the current chaneID.
> Once this problem is fixed (returning full update when request changeID = 1, 
> and current changeID = 0), another issue of the current code is that after a 
> full update is sent to client, and there is no entries in permission change 
> table (current changeID is 0), the next request changeID is still 1, 
> so full update is returned for the second time. Full update will be sent for 
> each request until permission change table has at least one entry. 
> The desired behavior is for HDFS to get full update when it sends the first 
> request to Sentry. Once it gets full update, the following requests should 
> get delta updates unless some updates are purged before they are sent to HDFS.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to