You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sentry.apache.org by ak...@apache.org on 2017/03/11 01:57:07 UTC
sentry git commit: SENTRY-1376: Fix alter property case correctly -
Deletes ACLS on the table (Sravya Tirukkovalur, Reviewed by: Hao Hao)
Repository: sentry
Updated Branches:
refs/heads/sentry-ha-redesign b850bbb0c -> 51209d98f
SENTRY-1376: Fix alter property case correctly - Deletes ACLS on the table (Sravya Tirukkovalur, Reviewed by: Hao Hao)
Project: http://git-wip-us.apache.org/repos/asf/sentry/repo
Commit: http://git-wip-us.apache.org/repos/asf/sentry/commit/51209d98
Tree: http://git-wip-us.apache.org/repos/asf/sentry/tree/51209d98
Diff: http://git-wip-us.apache.org/repos/asf/sentry/diff/51209d98
Branch: refs/heads/sentry-ha-redesign
Commit: 51209d98f50bf63522162427858c29eb24870b0f
Parents: b850bbb
Author: Alexander Kolbasov <ak...@cloudera.com>
Authored: Fri Mar 10 17:56:57 2017 -0800
Committer: Alexander Kolbasov <ak...@cloudera.com>
Committed: Fri Mar 10 17:56:57 2017 -0800
----------------------------------------------------------------------
.../sentry/hdfs/UpdateableAuthzPaths.java | 23 ++++++++++++++++----
1 file changed, 19 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/sentry/blob/51209d98/sentry-hdfs/sentry-hdfs-common/src/main/java/org/apache/sentry/hdfs/UpdateableAuthzPaths.java
----------------------------------------------------------------------
diff --git a/sentry-hdfs/sentry-hdfs-common/src/main/java/org/apache/sentry/hdfs/UpdateableAuthzPaths.java b/sentry-hdfs/sentry-hdfs-common/src/main/java/org/apache/sentry/hdfs/UpdateableAuthzPaths.java
index 4264a21..ad7f8c9 100644
--- a/sentry-hdfs/sentry-hdfs-common/src/main/java/org/apache/sentry/hdfs/UpdateableAuthzPaths.java
+++ b/sentry-hdfs/sentry-hdfs-common/src/main/java/org/apache/sentry/hdfs/UpdateableAuthzPaths.java
@@ -17,6 +17,7 @@
*/
package org.apache.sentry.hdfs;
+import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.concurrent.atomic.AtomicLong;
@@ -109,19 +110,33 @@ public class UpdateableAuthzPaths implements AuthzPaths, Updateable<PathsUpdate>
return;
}
}
+
+ List<TPathChanges> deletePathChanges = new ArrayList<TPathChanges>();
+ List<TPathChanges> addPathChanges = new ArrayList<TPathChanges>();
+
for (TPathChanges pathChanges : update.getPathChanges()) {
- paths.addPathsToAuthzObject(pathChanges.getAuthzObj(), pathChanges
- .getAddPaths(), true);
+ if (pathChanges.getDelPaths() != null && pathChanges.getDelPaths().size() != 0) {
+ deletePathChanges.add(pathChanges);
+ }
+ if (pathChanges.getAddPaths() != null && pathChanges.getAddPaths().size() != 0) {
+ addPathChanges.add(pathChanges);
+ }
+ }
+ for (TPathChanges pathChanges : deletePathChanges) {
List<List<String>> delPaths = pathChanges.getDelPaths();
if (delPaths.size() == 1 && delPaths.get(0).size() == 1
- && delPaths.get(0).get(0).equals(PathsUpdate.ALL_PATHS)) {
+ && delPaths.get(0).get(0).equals(PathsUpdate.ALL_PATHS)) {
// Remove all paths.. eg. drop table
paths.deleteAuthzObject(pathChanges.getAuthzObj());
} else {
paths.deletePathsFromAuthzObject(pathChanges.getAuthzObj(), pathChanges
- .getDelPaths());
+ .getDelPaths());
}
}
+ for (TPathChanges pathChanges : addPathChanges) {
+ paths.addPathsToAuthzObject(pathChanges.getAuthzObj(), pathChanges
+ .getAddPaths(), true);
+ }
}
@Override