diff --git a/shims/common/src/main/java/org/apache/hadoop/hive/thrift/HadoopThriftAuthBridge.java b/shims/common/src/main/java/org/apache/hadoop/hive/thrift/HadoopThriftAuthBridge.java index 86eb46d5b3..fac836ecd4 100644 --- a/shims/common/src/main/java/org/apache/hadoop/hive/thrift/HadoopThriftAuthBridge.java +++ b/shims/common/src/main/java/org/apache/hadoop/hive/thrift/HadoopThriftAuthBridge.java @@ -640,12 +640,18 @@ public TUGIAssumingTransportFactory(TTransportFactory wrapped, UserGroupInformat @Override public TTransport getTransport(final TTransport trans) { - return ugi.doAs(new PrivilegedAction() { - @Override - public TTransport run() { - return wrapped.getTransport(trans); - } - }); + TTransport transport = null; + try { + transport = UserGroupInformation.getLoginUser().doAs(new PrivilegedAction() { + @Override + public TTransport run() { + return wrapped.getTransport(trans); + } + }); + } catch (IOException ex) { + throw new RuntimeException(ex); + } + return transport; } } } diff --git a/shims/common/src/main/java/org/apache/hadoop/hive/thrift/client/TUGIAssumingTransport.java b/shims/common/src/main/java/org/apache/hadoop/hive/thrift/client/TUGIAssumingTransport.java index fe1870681c..165883c58f 100644 --- a/shims/common/src/main/java/org/apache/hadoop/hive/thrift/client/TUGIAssumingTransport.java +++ b/shims/common/src/main/java/org/apache/hadoop/hive/thrift/client/TUGIAssumingTransport.java @@ -46,7 +46,8 @@ public TUGIAssumingTransport(TTransport wrapped, UserGroupInformation ugi) { @Override public void open() throws TTransportException { try { - ugi.doAs(new PrivilegedExceptionAction() { + + UserGroupInformation.getLoginUser().doAs(new PrivilegedExceptionAction() { public Void run() { try { wrapped.open();