[
https://issues.apache.org/jira/browse/SENTRY-1784?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16031834#comment-16031834
]
Na Li commented on SENTRY-1784:
-------------------------------
"Request #1: HDFS requests ID = 1, and latest delta ID = 0, so an empty list is
returned."
[~spena] I believe the behavior should be to send full snapshot. The reason is
that when user upgrade, the roles and privileges are available, but there may
be no delta changes in perm table. When NN requests for update, we should
return full snapshot, not return the empty list.
With the current behavior, NN does not get ACL until there is a change. That is
why I changes the initial requests ID = 0 (the initial value at NN is -1). So
we can return the full snapshot at the first request. And delta change is sent
back after that.
> 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
>
>
> 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)