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


Reply via email to