You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by Prasad Mujumdar <pr...@cloudera.com> on 2014/03/05 23:55:43 UTC

Review Request 18814: HIVE-6558: HiveServer2 Plain SASL authentication broken after hadoop 2.3 upgrade

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18814/
-----------------------------------------------------------

Review request for hive and Thejas Nair.


Bugs: HIVE-6558
    https://issues.apache.org/jira/browse/HIVE-6558


Repository: hive-git


Description
-------

Java only includes Plain SASL client and not server. Hence HiveServer2 includes a Plain SASL server implementation. Now Hadoop has its own Plain SASL server HADOOP-9020 which is part of Hadoop 2.3 release. The two servers use different Sasl callbacks and the servers are registered in java.security.Provider via static code. As a result the HiveServer2 instance could be using Hadoop's Plain SASL server which breaks the authentication.

The patch aligns the hive's plain sasl callbacks same as hadoop. This ensures that the Plain SASL auth works with either server. Once the Hadoop implementation is backported to 1.x codebase (HADOOP-9083: Port HADOOP-9020 Add a SASL PLAIN server to branch 1), then we can get rid or Hive's implementation and switch to hadoop.


Diffs
-----

  itests/hive-unit/pom.xml 7ec6533 
  itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniMr.java PRE-CREATION 
  itests/hive-unit/src/test/java/org/apache/hive/jdbc/miniHS2/AbstractHiveService.java e320434 
  itests/hive-unit/src/test/java/org/apache/hive/jdbc/miniHS2/MiniHS2.java 5f6834d 
  pom.xml e30fcc9 
  service/src/java/org/apache/hive/service/auth/PlainSaslHelper.java 15b1675 
  service/src/java/org/apache/hive/service/auth/PlainSaslServer.java d7f1e31 

Diff: https://reviews.apache.org/r/18814/diff/


Testing
-------

Added mini MR support for MiniHS2 framework. Patch includes a new test TestJdbcWithMiniMR that run HS2 on top of miniMR and miniDFS clusters. 
Verifies that the test fails without the patch for hadoop2 and passes with the patch for both hadoop-1 and hadoop-2.


Thanks,

Prasad Mujumdar