You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hive.apache.org by Vlad Gudikov <vg...@gmail.com> on 2017/05/16 12:11:14 UTC

Sasl and TFramedTransport usage

Hive doesn't support usage of sasl and TFramedTransport at the same time.
Can anyone please explain me this one? The thing is I get an error while
trying  run a Hive query on 24 partitions executed on an external table
with large amount of partitions (4K+)(no stable reproduce). I get an error

 - org.apache.thrift.transport.TSaslTransport$SaslParticipant.wrap(byte[],
int, int) @bci=27, line=568 (Compiled frame)
 - org.apache.thrift.transport.TSaslTransport.flush() @bci=52, line=492
(Compiled frame)
 - org.apache.thrift.transport.TSaslServerTransport.flush() @bci=1, line=41
(Compiled frame)
 - org.apache.thrift.ProcessFunction.process(int,
org.apache.thrift.protocol.TProtocol, org.apache.thrift.protocol.TProtocol,
java.lang.Object) @bci=236, line=55 (Compiled frame)
 -
org.apache.thrift.TBaseProcessor.process(org.apache.thrift.protocol.TProtocol,
org.apache.thrift.protocol.TProtocol) @bci=126, line=39 (Compiled frame)
 -
org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$TUGIAssumingProcessor$1.run()
@bci=15, line=690 (Compiled frame)
 -
org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$TUGIAssumingProcessor$1.run()
@bci=1, line=685 (Compiled frame)
 -
java.security.AccessController.doPrivileged(java.security.PrivilegedExceptionAction,
java.security.AccessControlContext) @bci=0 (Compiled frame)
 - javax.security.auth.Subject.doAs(javax.security.auth.Subject,
java.security.PrivilegedExceptionAction) @bci=42, line=422 (Compiled frame)
 -
org.apache.hadoop.security.UserGroupInformation.doAs(java.security.PrivilegedExceptionAction)
@bci=14, line=1595 (Compiled frame)
 -
org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$TUGIAssumingProcessor.process(org.apache.thrift.protocol.TProtocol,
org.apache.thrift.protocol.TProtocol) @bci=273, line=685 (Compiled frame)
 - org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run() @bci=151,
line=285 (Interpreted frame)
 -
java.util.concurrent.ThreadPoolExecutor.runWorker(java.util.concurrent.ThreadPoolExecutor$Worker)
@bci=95, line=1142 (Interpreted frame)
 - java.util.concurrent.ThreadPoolExecutor$Worker.run() @bci=5, line=617
(Interpreted frame)
 - java.lang.Thread.run() @bci=11, line=745 (Interpreted frame)

It seems to me that hive is trying to encrypt more than limited amount of
data in one trunk over the wire. The only solution I can see is to use
TFramedTransport to send encrypted data in chunks. But I can't do so as
long as restrictions take place.

Best regards,
Vlad