[
https://issues.apache.org/jira/browse/SENTRY-1931?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vamsee Yarlagadda updated SENTRY-1931:
--------------------------------------
Resolution: Fixed
Status: Resolved (was: Patch Available)
398a8a9378cb43fea7f66153df917b9eb3abd40c
Thanks Sergio for the patch.
> NameNode only gets full snapshot once
> -------------------------------------
>
> Key: SENTRY-1931
> URL: https://issues.apache.org/jira/browse/SENTRY-1931
> Project: Sentry
> Issue Type: Bug
> Components: Sentry
> Affects Versions: 2.0.0
> Reporter: Alexander Kolbasov
> Assignee: Sergio Peña
> Fix For: 2.0.0
>
> Attachments: SENTRY-1931.1.patch
>
>
> SENTRY-1815 introduced the notion of ImageID, but it turns out that it
> doesn't work quite as expected.
> The problem is that when we send partial update the image number isn't set:
> {code}
> public List<PathsUpdate> retrieveDelta(long seqNum) throws Exception {
> ...
> List<PathsUpdate> updates = new ArrayList<>(mSentryPathChanges.size());
> for (MSentryPathChange mSentryPathChange : mSentryPathChanges) {
> // Gets the changeID from the persisted MSentryPathChange.
> long changeID = mSentryPathChange.getChangeID();
> // Creates a corresponding PathsUpdate and deserialize the
> // persisted delta update in JSON format to TPathsUpdate with
> // associated changeID.
> PathsUpdate pathsUpdate = new PathsUpdate();
> pathsUpdate.JSONDeserialize(mSentryPathChange.getPathChange());
> pathsUpdate.setSeqNum(changeID);
> updates.add(pathsUpdate);
> }
> return updates;
> }
> }
> {code}
> When it isn't set, thrift uses -1 as the default (as specified in our Thrift
> file).
> The code in {{UpdateableAuthzPaths.updatePartial}} does this:
> {code}
> @Override
> public void updatePartial(Iterable<PathsUpdate> updates, ReadWriteLock
> lock) {
> for (PathsUpdate update : updates) {
> applyPartialUpdate(update);
> seqNum.set(update.getSeqNum());
> imgNum.set(update.getImgNum()); // Here
> }
> }
> {code}
> so we set imgNum to -1 when we receive any partial update and then we always
> request for all updates from -1 and never receive a full update.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)