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
>

Reply via email to