Details
-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
None
-
None
-
None
-
1
Description
I have the following document stored in my collection named `user_profile`:
{
|
"nZ46sulX": {
|
"v": "D8tQkYxsoA95HhJ6hPKnFA==",
|
"m": "AA0xNjM4MzU2MDcyMzg0"
|
}
|
}
|
I'm trying to check if the path "nZ46sulX" exists in the document using the sub-document API via Spring Data `ReactiveCouchbaseTemplate`:
template.getCollection(collection).reactive()
|
.lookupIn(documentId, List.of(LookupInSpecStandard.exists("nZ46sulX"))) |
Looking at the response:
LookupInResult{encoded=[SubdocField{status=SUCCESS, value=, path='nZ46sulX'}], cas=0x16bc9ca41f7d0000, isDeleted=false}
|
The value is empty and as a result, the following fails:
lookupInResult.contentAs(0, Boolean.class)) |
Exception:
com.couchbase.client.core.error.DecodingFailureException: Deserialization of content into target class java.lang.Boolean failed; encoded =
|
at com.couchbase.client.java.codec.JacksonJsonSerializer.deserialize(JacksonJsonSerializer.java:137)
|
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
|
Assembly trace from producer [reactor.core.publisher.FluxMapFuseable] :
|
reactor.core.publisher.Flux.map
|
com.upstreamsystems.profiling.profiles.service.couchbase.ProfileCouchbaseService.findExistingAttributes(ProfileCouchbaseService.java:47)
|
Error has been observed at the following site(s):
|
*_____________Flux.map ⇢ at com.upstreamsystems.profiling.profiles.service.couchbase.ProfileCouchbaseService.findExistingAttributes(ProfileCouchbaseService.java:47)
|
|_ Flux.map ⇢ at com.upstreamsystems.profiling.profiles.service.couchbase.ProfileCouchbaseService.findExistingAttributes(ProfileCouchbaseService.java:49)
|
|_ Flux.reduce ⇢ at com.upstreamsystems.profiling.profiles.service.couchbase.ProfileCouchbaseService.findExistingAttributes(ProfileCouchbaseService.java:50)
|
|_ Mono.onErrorReturn ⇢ at com.upstreamsystems.profiling.profiles.service.couchbase.ProfileCouchbaseService.findExistingAttributes(ProfileCouchbaseService.java:54)
|
|_ Mono.map ⇢ at com.upstreamsystems.profiling.profiles.service.ProfileFacadeService.computeAttributesToUpdate(ProfileFacadeService.java:408)
|
|_ Mono.defaultIfEmpty ⇢ at com.upstreamsystems.profiling.profiles.service.ProfileFacadeService.computeAttributesToUpdate(ProfileFacadeService.java:418)
|
*_________Mono.flatMap ⇢ at com.upstreamsystems.profiling.profiles.service.ProfileFacadeService.submitProfileContext(ProfileFacadeService.java:240)
|
|_ Mono.flatMap ⇢ at com.upstreamsystems.profiling.profiles.service.ProfileFacadeService.submitProfileContext(ProfileFacadeService.java:242)
|
|_ Mono.flatMap ⇢ at com.upstreamsystems.profiling.profiles.service.ProfileFacadeService.submitProfileContext(ProfileFacadeService.java:244)
|
*______Mono.thenReturn ⇢ at com.upstreamsystems.profiling.profiles.service.ProfileFacadeService.submitProfileContext(ProfileFacadeService.java:245)
|
Original Stack Trace:
|
at com.couchbase.client.java.codec.JacksonJsonSerializer.deserialize(JacksonJsonSerializer.java:137)
|
at com.couchbase.client.java.codec.JsonValueSerializerWrapper.deserialize(JsonValueSerializerWrapper.java:61)
|
at com.couchbase.client.java.kv.LookupInResult.contentAs(LookupInResult.java:105)
|
at com.upstreamsystems.profiling.profiles.service.couchbase.ProfileCouchbaseService.lambda$findExistingAttributes$2(ProfileCouchbaseService.java:48)
|
at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:113)
|
at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmit(FluxFlatMap.java:543)
|
at reactor.core.publisher.FluxFlatMap$FlatMapInner.onNext(FluxFlatMap.java:984)
|
at reactor.core.publisher.SerializedSubscriber.onNext(SerializedSubscriber.java:99)
|
at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.onNext(FluxRetryWhen.java:174)
|
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79)
|
at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onNext(FluxDoFinally.java:130)
|
at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1816)
|
at com.couchbase.client.core.Reactor$SilentMonoCompletionStage.lambda$subscribe$0(Reactor.java:178)
|
at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
|
at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:837)
|
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
|
at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2143)
|
at com.couchbase.client.core.msg.BaseRequest.succeed(BaseRequest.java:149)
|
at com.couchbase.client.core.io.netty.kv.KeyValueMessageHandler.decodeAndComplete(KeyValueMessageHandler.java:372)
|
at com.couchbase.client.core.io.netty.kv.KeyValueMessageHandler.decode(KeyValueMessageHandler.java:351)
|
at com.couchbase.client.core.io.netty.kv.KeyValueMessageHandler.channelRead(KeyValueMessageHandler.java:276)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
|
at com.couchbase.client.core.io.netty.kv.MemcacheProtocolVerificationHandler.channelRead(MemcacheProtocolVerificationHandler.java:85)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
|
at com.couchbase.client.core.deps.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
|
at com.couchbase.client.core.deps.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
|
at com.couchbase.client.core.deps.io.netty.handler.flush.FlushConsolidationHandler.channelRead(FlushConsolidationHandler.java:152)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
|
at com.couchbase.client.core.deps.io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
|
at com.couchbase.client.core.deps.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
|
at com.couchbase.client.core.deps.io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:795)
|
at com.couchbase.client.core.deps.io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:480)
|
at com.couchbase.client.core.deps.io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378)
|
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:831)
|
Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input
|
at [Source: (byte[])""; line: 1, column: 0]
|
at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
|
at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4688)
|
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4586)
|
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3609)
|
at com.couchbase.client.java.codec.JacksonJsonSerializer.deserialize(JacksonJsonSerializer.java:134)
|
at com.couchbase.client.java.codec.JsonValueSerializerWrapper.deserialize(JsonValueSerializerWrapper.java:61)
|
at com.couchbase.client.java.kv.LookupInResult.contentAs(LookupInResult.java:105)
|
at com.upstreamsystems.profiling.profiles.service.couchbase.ProfileCouchbaseService.lambda$findExistingAttributes$2(ProfileCouchbaseService.java:48)
|
at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:113)
|
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539)
|
at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmit(FluxFlatMap.java:543)
|
at reactor.core.publisher.FluxFlatMap$FlatMapInner.onNext(FluxFlatMap.java:984)
|
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539)
|
at reactor.core.publisher.SerializedSubscriber.onNext(SerializedSubscriber.java:99)
|
at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.onNext(FluxRetryWhen.java:174)
|
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539)
|
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539)
|
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539)
|
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539)
|
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79)
|
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539)
|
at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onNext(FluxDoFinally.java:130)
|
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539)
|
at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1816)
|
at com.couchbase.client.core.Reactor$SilentMonoCompletionStage.lambda$subscribe$0(Reactor.java:178)
|
at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
|
at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:837)
|
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
|
at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2143)
|
at com.couchbase.client.core.msg.BaseRequest.succeed(BaseRequest.java:149)
|
at com.couchbase.client.core.io.netty.kv.KeyValueMessageHandler.decodeAndComplete(KeyValueMessageHandler.java:372)
|
at com.couchbase.client.core.io.netty.kv.KeyValueMessageHandler.decode(KeyValueMessageHandler.java:351)
|
at com.couchbase.client.core.io.netty.kv.KeyValueMessageHandler.channelRead(KeyValueMessageHandler.java:276)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
|
at com.couchbase.client.core.io.netty.kv.MemcacheProtocolVerificationHandler.channelRead(MemcacheProtocolVerificationHandler.java:85)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
|
at com.couchbase.client.core.deps.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
|
at com.couchbase.client.core.deps.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
|
at com.couchbase.client.core.deps.io.netty.handler.flush.FlushConsolidationHandler.channelRead(FlushConsolidationHandler.java:152)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
|
at com.couchbase.client.core.deps.io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
|
at com.couchbase.client.core.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
|
at com.couchbase.client.core.deps.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
|
at com.couchbase.client.core.deps.io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:795)
|
at com.couchbase.client.core.deps.io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:480)
|
at com.couchbase.client.core.deps.io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378)
|
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:831)
|
Versions
spring-data-couchbase version 4.3.0
java-client version 3.2.3