You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2014/02/13 17:50:12 UTC
svn commit: r1567975 - in /hive/trunk:
itests/hive-unit/src/test/java/org/apache/hadoop/hive/jdbc/
itests/hive-unit/src/test/java/org/apache/hive/jdbc/
ql/src/java/org/apache/hadoop/hive/ql/exec/
ql/src/java/org/apache/hadoop/hive/ql/security/authoriza...
Author: hashutosh
Date: Thu Feb 13 16:50:11 2014
New Revision: 1567975
URL: http://svn.apache.org/r1567975
Log:
HIVE-6407 : Test authorization_revoke_table_priv.q is failing on trunk (Thejas Nair via Ashutosh Chauhan)
Modified:
hive/trunk/itests/hive-unit/src/test/java/org/apache/hadoop/hive/jdbc/TestJdbcDriver.java
hive/trunk/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HiveRole.java
hive/trunk/ql/src/test/results/clientpositive/authorization_1_sql_std.q.out
hive/trunk/ql/src/test/results/clientpositive/authorization_revoke_table_priv.q.out
hive/trunk/ql/src/test/results/clientpositive/authorization_role_grant1.q.out
Modified: hive/trunk/itests/hive-unit/src/test/java/org/apache/hadoop/hive/jdbc/TestJdbcDriver.java
URL: http://svn.apache.org/viewvc/hive/trunk/itests/hive-unit/src/test/java/org/apache/hadoop/hive/jdbc/TestJdbcDriver.java?rev=1567975&r1=1567974&r2=1567975&view=diff
==============================================================================
--- hive/trunk/itests/hive-unit/src/test/java/org/apache/hadoop/hive/jdbc/TestJdbcDriver.java (original)
+++ hive/trunk/itests/hive-unit/src/test/java/org/apache/hadoop/hive/jdbc/TestJdbcDriver.java Thu Feb 13 16:50:11 2014
@@ -1169,9 +1169,9 @@ public class TestJdbcDriver extends Test
ResultSet res = stmt.getResultSet();
assertTrue(res.next());
- assertEquals("role1", res.getString(1));
- assertTrue(res.next());
assertEquals("PUBLIC", res.getString(1));
+ assertTrue(res.next());
+ assertEquals("role1", res.getString(1));
res.close();
}
}
Modified: hive/trunk/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java
URL: http://svn.apache.org/viewvc/hive/trunk/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java?rev=1567975&r1=1567974&r2=1567975&view=diff
==============================================================================
--- hive/trunk/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java (original)
+++ hive/trunk/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java Thu Feb 13 16:50:11 2014
@@ -1978,9 +1978,9 @@ public class TestJdbcDriver2 {
ResultSet res = stmt.getResultSet();
assertTrue(res.next());
- assertEquals("role1", res.getString(1));
- assertTrue(res.next());
assertEquals("PUBLIC", res.getString(1));
+ assertTrue(res.next());
+ assertEquals("role1", res.getString(1));
res.close();
}
}
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java?rev=1567975&r1=1567974&r2=1567975&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java Thu Feb 13 16:50:11 2014
@@ -922,6 +922,8 @@ public class DDLTask extends Task<DDLWor
writeToFile(writeRoleInfo(roles, testMode), roleDDLDesc.getResFile());
} else if (operation.equals(RoleDDLDesc.RoleOperation.SHOW_ROLES)) {
List<String> roleNames = db.getAllRoleNames();
+ //sort the list to get sorted (deterministic) output (for ease of testing)
+ Collections.sort(roleNames);
Path resFile = new Path(roleDDLDesc.getResFile());
FileSystem fs = resFile.getFileSystem(conf);
outStream = fs.create(resFile);
@@ -3089,6 +3091,9 @@ public class DDLTask extends Task<DDLWor
return "";
}
StringBuilder builder = new StringBuilder();
+ //sort the list to get sorted (deterministic) output (for ease of testing)
+ Collections.sort(privileges);
+
for (HiveObjectPrivilege privilege : privileges) {
HiveObjectRef resource = privilege.getHiveObject();
PrivilegeGrantInfo grantInfo = privilege.getGrantInfo();
@@ -3112,6 +3117,8 @@ public class DDLTask extends Task<DDLWor
return "";
}
StringBuilder builder = new StringBuilder();
+ //sort the list to get sorted (deterministic) output (for ease of testing)
+ Collections.sort(roles);
for (Role role : roles) {
appendNonNull(builder, role.getRoleName(), true);
appendNonNull(builder, testMode ? -1 : role.getCreateTime() * 1000L);
@@ -3129,6 +3136,8 @@ public class DDLTask extends Task<DDLWor
return "";
}
StringBuilder builder = new StringBuilder();
+ //sort the list to get sorted (deterministic) output (for ease of testing)
+ Collections.sort(roles);
for (HiveRole role : roles) {
appendNonNull(builder, role.getRoleName(), true);
appendNonNull(builder, testMode ? -1 : role.getCreateTime() * 1000L);
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HiveRole.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HiveRole.java?rev=1567975&r1=1567974&r2=1567975&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HiveRole.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HiveRole.java Thu Feb 13 16:50:11 2014
@@ -21,10 +21,12 @@ import org.apache.hadoop.hive.common.cla
import org.apache.hadoop.hive.common.classification.InterfaceStability.Evolving;
import org.apache.hadoop.hive.metastore.api.Role;
+import com.google.common.collect.ComparisonChain;
+
// same with thrift.Role
@LimitedPrivate(value = { "" })
@Evolving
-public class HiveRole {
+public class HiveRole implements Comparable<HiveRole> {
private String roleName;
private int createTime;
@@ -111,4 +113,22 @@ public class HiveRole {
public void setGrantor(String grantor) {
this.grantor = grantor;
}
+
+ @Override
+ public int compareTo(HiveRole other) {
+ if(other == null){
+ return 1;
+ }
+ return ComparisonChain.start().compare(roleName, other.roleName)
+ .compare(createTime, other.createTime)
+ .compare(principalName, other.principalName)
+ .compare(principalType, other.principalType)
+ .compare(grantOption, other.grantOption)
+ .compare(grantTime, other.grantTime)
+ .compare(grantor, other.grantor)
+ .result();
+
+ }
+
+
}
Modified: hive/trunk/ql/src/test/results/clientpositive/authorization_1_sql_std.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/authorization_1_sql_std.q.out?rev=1567975&r1=1567974&r2=1567975&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/authorization_1_sql_std.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/authorization_1_sql_std.q.out Thu Feb 13 16:50:11 2014
@@ -46,8 +46,8 @@ PREHOOK: query: show role grant user use
PREHOOK: type: SHOW_ROLE_GRANT
POSTHOOK: query: show role grant user user_sauth
POSTHOOK: type: SHOW_ROLE_GRANT
-src_role -1 user_sauth USER false -1 hive_admin_user
PUBLIC -1 false -1
+src_role -1 user_sauth USER false -1 hive_admin_user
PREHOOK: query: --table grant to role
grant select on table src_autho_test to role src_role
Modified: hive/trunk/ql/src/test/results/clientpositive/authorization_revoke_table_priv.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/authorization_revoke_table_priv.q.out?rev=1567975&r1=1567974&r2=1567975&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/authorization_revoke_table_priv.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/authorization_revoke_table_priv.q.out Thu Feb 13 16:50:11 2014
@@ -74,8 +74,8 @@ PREHOOK: type: SHOW_GRANT
POSTHOOK: query: SHOW GRANT USER user2 ON TABLE table_priv_rev
POSTHOOK: type: SHOW_GRANT
default table_priv_rev user2 USER INSERT false -1 user1
-default table_priv_rev user2 USER UPDATE false -1 user1
default table_priv_rev user2 USER SELECT true -1 user1
+default table_priv_rev user2 USER UPDATE false -1 user1
PREHOOK: query: -- grant delete privilege to user2
GRANT DELETE ON table_priv_rev TO USER user2
PREHOOK: type: GRANT_PRIVILEGE
@@ -90,8 +90,8 @@ POSTHOOK: query: SHOW GRANT USER user2 O
POSTHOOK: type: SHOW_GRANT
default table_priv_rev user2 USER DELETE false -1 user1
default table_priv_rev user2 USER INSERT false -1 user1
-default table_priv_rev user2 USER UPDATE false -1 user1
default table_priv_rev user2 USER SELECT true -1 user1
+default table_priv_rev user2 USER UPDATE false -1 user1
PREHOOK: query: -- start revoking --
-- revoke update privilege from user2
REVOKE UPDATE ON TABLE table_priv_rev FROM USER user2
Modified: hive/trunk/ql/src/test/results/clientpositive/authorization_role_grant1.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/authorization_role_grant1.q.out?rev=1567975&r1=1567974&r2=1567975&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/authorization_role_grant1.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/authorization_role_grant1.q.out Thu Feb 13 16:50:11 2014
@@ -18,8 +18,8 @@ PREHOOK: query: show role grant user use
PREHOOK: type: SHOW_ROLE_GRANT
POSTHOOK: query: show role grant user user2
POSTHOOK: type: SHOW_ROLE_GRANT
-src_role2 -1 user2 USER false -1 hive_admin_user
PUBLIC -1 false -1
+src_role2 -1 user2 USER false -1 hive_admin_user
PREHOOK: query: show roles
PREHOOK: type: SHOW_ROLES
POSTHOOK: query: show roles
@@ -67,8 +67,8 @@ PREHOOK: query: show role grant user use
PREHOOK: type: SHOW_ROLE_GRANT
POSTHOOK: query: show role grant user user2
POSTHOOK: type: SHOW_ROLE_GRANT
-src_role_wadmin -1 user2 USER true -1 hive_admin_user
PUBLIC -1 false -1
+src_role_wadmin -1 user2 USER true -1 hive_admin_user
PREHOOK: query: -- revoke role without role keyword
revoke src_role_wadmin from user user2
PREHOOK: type: REVOKE_ROLE