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

Na Li commented on SENTRY-1784:
-------------------------------

[~spena] you may mix HMS follower at Sentry getting full snapshot from 
metastore from NN getting full snapshot from Sentry. 
When HMS follower detects the MAuthzPathsMapping is empty, it will ask 
metastore for full snapshot of path.
When NN asks Sentry for update, it does not specify it wants full snapshot or 
delta. It just sends the requested ID for perm and path. Sentry server decides 
to send full snapshot, delta or empty list to NN.

 The behavior of my code change is
NN starts requested ID = 0. And full snapshot is sent to NN regardless if 
MAuthzPathsMapping is empty or not. Once NN gets the update, its requested ID 
will be equal or larger than 1.

> 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