I want to add that I have traced the code and was baffled why it would happen at all. The NPE seems to happen when the underLyingTransport is some how is null but I have no control to initialize it...
On Mon, Dec 28, 2015 at 5:25 PM, Patrick Nip <[email protected]> wrote: > Hi User, > > I am seeing NullPointerException when doing sasalTransport.open(). The > relevent code and stackTrace is shown below: > > final TSaslClientTransport sasalTransport = new > TSaslClientTransport("GSSAPI", principal, serviceName, serverHost, props, > (CallbackHandler)null, transport); > > try { > Subject.doAs(subject, new PrivilegedExceptionAction() { > public Void run() { > try { > KerberosSaslTransportPlugin.LOG.debug("do as:" + > principal); > sasalTransport.open(); > } catch (Exception var2) { > KerberosSaslTransportPlugin.LOG.error("*Client failed to > open SaslClientTransport to interact with a server during session > initiation: " + var2, var2*); > } > > return null; > } > }); > return sasalTransport; > } catch (PrivilegedActionException var11) { > throw new RuntimeException(var11); > } > > *This is manifestation of when the NPE happened and subsequently use that > handle to execute command.* > > 2015-12-29 00:50:44.946 c.y.s.i.c.ImageDrpcScorer [ERROR] DRPC client > execute error {} > org.apache.thrift7.transport.TTransportException: SASL authentication not > complete > at > org.apache.thrift7.transport.TSaslTransport.write(TSaslTransport.java:474) > ~[storm-core-0.10.1.y.jar:0.10.1.y] > at > org.apache.thrift7.transport.TSaslClientTransport.write(TSaslClientTransport.java:37) > ~[storm-core-0.10.1.y.jar:0.10.1.y] > at > org.apache.thrift7.protocol.TBinaryProtocol.writeI32(TBinaryProtocol.java:178) > ~[storm-core-0.10.1.y.jar:0.10.1.y] > at > org.apache.thrift7.protocol.TBinaryProtocol.writeMessageBegin(TBinaryProtocol.java:106) > ~[storm-core-0.10.1.y.jar:0.10.1.y] > at > org.apache.thrift7.TServiceClient.sendBase(TServiceClient.java:62) > ~[storm-core-0.10.1.y.jar:0.10.1.y] > at > backtype.storm.generated.DistributedRPC$Client.send_execute(DistributedRPC.java:100) > ~[storm-core-0.10.1.y.jar:0.10.1.y] > at > backtype.storm.generated.DistributedRPC$Client.execute(DistributedRPC.java:91) > ~[storm-core-0.10.1.y.jar:0.10.1.y] > at backtype.storm.utils.DRPCClient.execute(DRPCClient.java:59) > ~[storm-core-0.10.1.y.jar:0.10.1.y] > at > com.yahoo.sieve.images.classifier.ImageDrpcScorer.lambda$service$10(ImageDrpcScorer.java:58) > [stormjar.jar:?] > at > com.yahoo.sieve.images.classifier.ImageDrpcScorer$$Lambda$68/1543985518.apply(Unknown > Source) [stormjar.jar:?] > at > java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) > [?:1.8.0_40] > at > java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374) > [?:1.8.0_40] > at > java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512) > [?:1.8.0_40] > at > java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502) > [?:1.8.0_40] > at > java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) > [?:1.8.0_40] > at > java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) > [?:1.8.0_40] > at > java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) > [?:1.8.0_40] > at > com.yahoo.sieve.images.classifier.ImageDrpcScorer.service(ImageDrpcScorer.java:71) > [stormjar.jar:?] > at > com.yahoo.sieve.images.ImageWorker.lambda$null$5(ImageWorker.java:576) > [stormjar.jar:?] > at > com.yahoo.sieve.images.ImageWorker$$Lambda$67/1256770100.get(Unknown > Source) [stormjar.jar:?] > at > java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1582) > [?:1.8.0_40] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > [?:1.8.0_40] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > [?:1.8.0_40] > at java.lang.Thread.run(Thread.java:745) [?:1.8.0_40] > > *This is when a handle executes exceptionally, I respawn to refilled the > pool of connections and it is when the NPE happen:* > > 2015-12-29 00:50:44.947 c.y.s.i.c.DRPCClientPool [INFO] DRPCCLient > encountered exception re-spawn new connection > 2015-12-29 00:50:44.947 b.s.s.a.k.*KerberosSaslTransportPlugin* [DEBUG] > Found a cached Login item with key string: serviceNamegstorm > 2015-12-29 00:50:44.947 b.s.s.a.k.*KerberosSaslTransportPlugin* [DEBUG] > SASL GSSAPI client transport is being established > 2015-12-29 00:50:44.947 b.s.s.a.k.*KerberosSaslTransportPlugin* [DEBUG] > do as:[email protected] > 2015-12-29 00:50:44.948 o.a.t.t.*TSaslTransport* [DEBUG] opening > transport org.apache.thrift7.transport.TSaslClientTransport@388960c3 > 2015-12-29 00:50:44.948 b.s.s.a.k.*KerberosSaslTransportPlugin* [ERROR] > *Client > failed to open SaslClientTransport to interact with a server during session > initiation: java.lang.NullPointerException* java.lang.NullPointerException > > > Please advise > > Thanks > Patrick >
