[
https://issues.apache.org/jira/browse/SENTRY-1784?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16031426#comment-16031426
]
Sergio Peña commented on SENTRY-1784:
-------------------------------------
[~LinaAtAustin] I took a look at the old code, but I don't see any problems
with it, or probably I'm missing something.
Here's what I understood:
Request #1: HDFS requests ID = 1, and latest delta ID = 0, so an empty list is
returned.
Request #2: HDFS requests ID = 1, and latest delta ID = 1, so a full list is
returned.
Request #3: HDFS requests ID = 2, and latest delta ID = 1, so an empty list is
returned.
Request #4: HDFS requests ID = 2, and latest delta ID = 2, so a delta list is
returned.
Request #5: HDFS requests ID = 3, and latest delta ID = 5, so a delta list is
returned.
HDFS always requests an ID using the latest processed + 1. Sentry always gets
the latest delta ID based on the one persisted.
What's wrong with the above scenarios?
> 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)