Description
When tracing is enabled with Open-Tracing, a NullPointerException is occurring on queries.
At this point, `ChunkedMessageHandler#write`
setCommonDispatchSpanAttributes(
|
currentDispatchSpan,
|
ctx.channel().attr(ChannelAttributes.CHANNEL_ID_KEY).get(),
|
ioContext.localHostname(),
|
ioContext.localPort(),
|
endpoint.remoteHostname(),
|
endpoint.remotePort(),
|
currentRequest.operationId()
|
);
|
the value of `ctx.channel().attr(ChannelAttributes.CHANNEL_ID_KEY).get()` is null and with Brave's tracer, if a null value is stored, a nullpointerexception is thrown breaking the request.
StackTrace:
2021-07-23 15:27:20,834 [http-nio-8080-exec-4] ERROR com.inditex.aqsw.framework.service.webmvc.exception.RestFaultHandler - value of db.couchbase.local_id == null
|
java.lang.NullPointerException: value of db.couchbase.local_id == null
|
at brave.handler.MutableSpan.tag(MutableSpan.java:880)
|
at brave.RealSpan.tag(RealSpan.java:112)
|
at brave.opentracing.BraveSpan.setTag(BraveSpan.java:74)
|
at brave.opentracing.BraveSpan.setTag(BraveSpan.java:35)
|
at com.couchbase.client.tracing.opentracing.OpenTracingRequestSpan.attribute(OpenTracingRequestSpan.java:71)
|
at com.couchbase.client.core.io.netty.TracingUtils.setCommonDispatchSpanAttributes(TracingUtils.java:48)
|
at com.couchbase.client.core.io.netty.chunk.ChunkedMessageHandler.write(ChunkedMessageHandler.java:170)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:709)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:792)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:702)
|
at com.couchbase.client.core.io.netty.ChunkedHandlerSwitcher.write(ChunkedHandlerSwitcher.java:91)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:764)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext$WriteTask.run(AbstractChannelHandlerContext.java:1071)
|
at com.couchbase.client.core.deps.io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
|
at com.couchbase.client.core.deps.io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
|
at com.couchbase.client.core.deps.io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:384)
|
at com.couchbase.client.core.deps.io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
|
at com.couchbase.client.core.deps.io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
|
at com.couchbase.client.core.deps.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
|
at java.base/java.lang.Thread.run(Thread.java:834)
|
Suppressed: java.lang.Exception: #block terminated with an error
|
at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:99)
|
at reactor.core.publisher.Mono.block(Mono.java:1703)
|
at com.inditex.aqsw.framework.data.couchbase.template.customOps.OriginalExecutableFindByQueryOperationSupport$ExecutableFindByQuerySupport.count(OriginalExecutableFindByQueryOperationSupport.java:135)
|
at org.springframework.data.couchbase.repository.support.SimpleCouchbaseRepository.count(SimpleCouchbaseRepository.java:142)
|
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
|
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
|