[
https://issues.apache.org/jira/browse/SENTRY-1184?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15238263#comment-15238263
]
Hao Hao edited comment on SENTRY-1184 at 4/12/16 11:42 PM:
-----------------------------------------------------------
[~sravya] Thanks a lot for the patch! LGTM +1 with minor comments.
was (Author: hahao):
[~sravya] Thanks a lot for the patch! LGTM with minor comments.
> Clean up HMSPaths.renameAuthzObject
> -----------------------------------
>
> Key: SENTRY-1184
> URL: https://issues.apache.org/jira/browse/SENTRY-1184
> Project: Sentry
> Issue Type: Bug
> Reporter: Sravya Tirukkovalur
> Assignee: Sravya Tirukkovalur
> Attachments: SENTRY-1184.001-branch-1.5.1.patch,
> SENTRY-1184.002.patch, SENTRY-1184.1.patch, SENTRY-1184.2.patch,
> SENTRY-1184.3.patch, SENTRY-1184.4.patch, SENTRY-1184.5.patch
>
>
> Currently HMSPaths.renameAuthzObject is being used for multiple cases and
> logic is not being handled well causing expected behaviors to throw
> exceptions. This patch makes following changes:
> If oldName == newName, oldPath != newPath. This is treated as regular
> newName.add(newPath), newName.delete(oldPath), so renameAuthz is not called
> for this case. Example: Alter table partition rename to partition
> If oldName != newName renameAuthz is called which does the following:
> - If oldPath == newPath =>new_table.add(new_path),
> new_table.add(old_table_partition_paths), old_table.dropAllPaths. Example:
> Rename external table
> - oldPath != newPath => new_table.add(new_path), old_table.dropAllPaths.
> Example: Rename managed table
> java.lang.NullPointerException
> at org.apache.sentry.hdfs.HMSPaths.renameAuthzObject(HMSPaths.java:571)
> at
> org.apache.sentry.hdfs.UpdateableAuthzPaths.applyPartialUpdate(UpdateableAuthzPaths.java:106)
> at
> org.apache.sentry.hdfs.UpdateableAuthzPaths.updatePartial(UpdateableAuthzPaths.java:75)
> at
> org.apache.sentry.hdfs.SentryAuthorizationInfo.processUpdates(SentryAuthorizationInfo.java:174)
> at
> org.apache.sentry.hdfs.SentryAuthorizationInfo.update(SentryAuthorizationInfo.java:131)
> at
> org.apache.sentry.hdfs.SentryAuthorizationInfo.run(SentryAuthorizationInfo.java:193)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)