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