Cosmos DB failed to initialize RntbdChannel when using both SDK 2.6.3 and 3.5.0
See original GitHub issueDescribe the bug
2019/11/19 14:17:34.136 [rxnetty-nio-eventloop-5-1] WARN i.n.c.AbstractChannelHandlerContext -
An exception 'java.lang.NoClassDefFoundError: Could not initialize class com.microsoft.azure.cosmosdb.internal.directconnectivity.rntbd.RntbdClientChannelHandler' [enable DEBUG level for full stacktrace] was thrown by a user handler's exceptionCaught() method while handling the following exception:
java.lang.NoClassDefFoundError: Could not initialize class com.microsoft.azure.cosmosdb.internal.directconnectivity.rntbd.RntbdClientChannelHandler
at com.microsoft.azure.cosmosdb.internal.directconnectivity.rntbd.RntbdClientChannelPool.<init>(RntbdClientChannelPool.java:122)
at com.microsoft.azure.cosmosdb.internal.directconnectivity.rntbd.RntbdClientChannelPool.<init>(RntbdClientChannelPool.java:114)
at com.microsoft.azure.cosmosdb.internal.directconnectivity.rntbd.RntbdServiceEndpoint.<init>(RntbdServiceEndpoint.java:108)
at com.microsoft.azure.cosmosdb.internal.directconnectivity.rntbd.RntbdServiceEndpoint.<init>(RntbdServiceEndpoint.java:67)
at com.microsoft.azure.cosmosdb.internal.directconnectivity.rntbd.RntbdServiceEndpoint$Provider.lambda$get$1(RntbdServiceEndpoint.java:404)
at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)
at com.microsoft.azure.cosmosdb.internal.directconnectivity.rntbd.RntbdServiceEndpoint$Provider.get(RntbdServiceEndpoint.java:403)
at com.microsoft.azure.cosmosdb.internal.directconnectivity.RntbdTransportClient.invokeStoreAsync(RntbdTransportClient.java:147)
at com.microsoft.azure.cosmosdb.internal.directconnectivity.TransportClient.invokeResourceOperationAsync(TransportClient.java:35)
at com.microsoft.azure.cosmosdb.internal.directconnectivity.StoreReader.readFromStoreAsync(StoreReader.java:644)
at com.microsoft.azure.cosmosdb.internal.directconnectivity.StoreReader.readFromReplicas(StoreReader.java:233)
at com.microsoft.azure.cosmosdb.internal.directconnectivity.StoreReader.lambda$null$10(StoreReader.java:412)
at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:46)
at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35)
at rx.Observable.unsafeSubscribe(Observable.java:10327)
at rx.internal.operators.OnSubscribeRedo$2.call(OnSubscribeRedo.java:273)
at rx.internal.schedulers.TrampolineScheduler$InnerCurrentThreadScheduler.enqueue(TrampolineScheduler.java:73)
at rx.internal.schedulers.TrampolineScheduler$InnerCurrentThreadScheduler.schedule(TrampolineScheduler.java:52)
at rx.internal.operators.OnSubscribeRedo$5.request(OnSubscribeRedo.java:361)
at rx.Subscriber.setProducer(Subscriber.java:211)
at rx.internal.operators.OnSubscribeRedo.call(OnSubscribeRedo.java:353)
at rx.internal.operators.OnSubscribeRedo.call(OnSubscribeRedo.java:47)
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
at rx.Observable.unsafeSubscribe(Observable.java:10327)
at rx.Completable$10.call(Completable.java:588)
at rx.Completable$10.call(Completable.java:567)
at rx.Completable.unsafeSubscribe(Completable.java:2035)
at rx.Completable.unsafeSubscribe(Completable.java:2083)
at rx.Completable.unsafeSubscribe(Completable.java:2067)
at rx.Completable$32.call(Completable.java:2253)
at rx.Completable$32.call(Completable.java:2250)
at rx.Observable.unsafeSubscribe(Observable.java:10327)
at rx.internal.operators.OnSubscribeDelaySubscriptionOther.call(OnSubscribeDelaySubscriptionOther.java:80)
at rx.internal.operators.OnSubscribeDelaySubscriptionOther.call(OnSubscribeDelaySubscriptionOther.java:31)
at rx.Observable.unsafeSubscribe(Observable.java:10327)
at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:51)
at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35)
at rx.Observable.unsafeSubscribe(Observable.java:10327)
at rx.internal.operators.OnSubscribeSwitchIfEmpty$ParentSubscriber.subscribe(OnSubscribeSwitchIfEmpty.java:101)
at rx.internal.operators.OnSubscribeSwitchIfEmpty.call(OnSubscribeSwitchIfEmpty.java:52)
at rx.internal.operators.OnSubscribeSwitchIfEmpty.call(OnSubscribeSwitchIfEmpty.java:31)
at rx.Observable.unsafeSubscribe(Observable.java:10327)
at rx.internal.operators.OperatorMerge$MergeSubscriber.onNext(OperatorMerge.java:248)
at rx.internal.operators.OperatorMerge$MergeSubscriber.onNext(OperatorMerge.java:148)
at rx.internal.operators.OnSubscribeMap$MapSubscriber.onNext(OnSubscribeMap.java:77)
at rx.internal.operators.OnSubscribeMap$MapSubscriber.onNext(OnSubscribeMap.java:77)
at rx.internal.producers.SingleProducer.request(SingleProducer.java:65)
at rx.Subscriber.setProducer(Subscriber.java:211)
at rx.internal.operators.OnSubscribeMap$MapSubscriber.setProducer(OnSubscribeMap.java:102)
at rx.internal.operators.OnSubscribeMap$MapSubscriber.setProducer(OnSubscribeMap.java:102)
at rx.internal.operators.SingleLiftObservableOperator$WrapSubscriberIntoSingle.onSuccess(SingleLiftObservableOperator.java:76)
at rx.internal.operators.SingleOnSubscribeMap$MapSubscriber.onSuccess(SingleOnSubscribeMap.java:74)
at rx.internal.operators.SingleOnSubscribeMap$MapSubscriber.onSuccess(SingleOnSubscribeMap.java:74)
at rx.internal.operators.SingleOnSubscribeMap$MapSubscriber.onSuccess(SingleOnSubscribeMap.java:74)
at rx.internal.util.ScalarSynchronousSingle$1.call(ScalarSynchronousSingle.java:36)
at rx.internal.util.ScalarSynchronousSingle$1.call(ScalarSynchronousSingle.java:32)
at rx.Single.subscribe(Single.java:1979)
at rx.Single$2$1.onSuccess(Single.java:687)
at rx.Single$2$1.onSuccess(Single.java:683)
at rx.internal.operators.SingleOnSubscribeMap$MapSubscriber.onSuccess(SingleOnSubscribeMap.java:74)
at rx.internal.util.ScalarSynchronousSingle$1.call(ScalarSynchronousSingle.java:36)
at rx.internal.util.ScalarSynchronousSingle$1.call(ScalarSynchronousSingle.java:32)
at rx.Single.subscribe(Single.java:1979)
at rx.Single$2$1.onSuccess(Single.java:687)
at rx.Single$2$1.onSuccess(Single.java:683)
at rx.internal.operators.SingleOnSubscribeMap$MapSubscriber.onSuccess(SingleOnSubscribeMap.java:74)
at rx.internal.util.ScalarSynchronousSingle$1.call(ScalarSynchronousSingle.java:36)
at rx.internal.util.ScalarSynchronousSingle$1.call(ScalarSynchronousSingle.java:32)
at rx.Single.subscribe(Single.java:1979)
at rx.Single$2$1.onSuccess(Single.java:687)
at rx.Single$2$1.onSuccess(Single.java:683)
at rx.internal.operators.SingleOnSubscribeMap$MapSubscriber.onSuccess(SingleOnSubscribeMap.java:74)
at rx.internal.operators.SingleOperatorOnErrorResumeNext$2.onSuccess(SingleOperatorOnErrorResumeNext.java:63)
at rx.internal.operators.SingleOnSubscribeMap$MapSubscriber.onSuccess(SingleOnSubscribeMap.java:74)
at rx.internal.operators.OnSubscribeSingle$1.onCompleted(OnSubscribeSingle.java:55)
at rx.internal.operators.NotificationLite.accept(NotificationLite.java:125)
at rx.internal.operators.CachedObservable$ReplayProducer.replay(CachedObservable.java:403)
at rx.internal.operators.CachedObservable$CacheState.dispatch(CachedObservable.java:220)
at rx.internal.operators.CachedObservable$CacheState.onCompleted(CachedObservable.java:211)
at rx.internal.operators.CachedObservable$CacheState$1.onCompleted(CachedObservable.java:179)
at rx.internal.producers.SingleProducer.request(SingleProducer.java:75)
at rx.Subscriber.setProducer(Subscriber.java:209)
at rx.internal.operators.SingleLiftObservableOperator$WrapSubscriberIntoSingle.onSuccess(SingleLiftObservableOperator.java:76)
at rx.internal.operators.SingleDoOnEvent$SingleDoOnEventSubscriber.onSuccess(SingleDoOnEvent.java:63)
at rx.internal.operators.SingleDoOnEvent$SingleDoOnEventSubscriber.onSuccess(SingleDoOnEvent.java:63)
at rx.internal.operators.SingleDoOnEvent$SingleDoOnEventSubscriber.onSuccess(SingleDoOnEvent.java:63)
at rx.internal.util.ScalarSynchronousSingle$1.call(ScalarSynchronousSingle.java:36)
at rx.internal.util.ScalarSynchronousSingle$1.call(ScalarSynchronousSingle.java:32)
at rx.Single.subscribe(Single.java:1979)
at rx.Single$2$1.onSuccess(Single.java:687)
at rx.Single$2$1.onSuccess(Single.java:683)
at rx.internal.operators.SingleOnSubscribeMap$MapSubscriber.onSuccess(SingleOnSubscribeMap.java:74)
at rx.internal.operators.SingleOnSubscribeMap$MapSubscriber.onSuccess(SingleOnSubscribeMap.java:74)
at rx.internal.operators.SingleOnSubscribeMap$MapSubscriber.onSuccess(SingleOnSubscribeMap.java:74)
at rx.internal.operators.SingleOnSubscribeMap$MapSubscriber.onSuccess(SingleOnSubscribeMap.java:74)
at rx.internal.operators.SingleOnSubscribeMap$MapSubscriber.onSuccess(SingleOnSubscribeMap.java:74)
at rx.internal.operators.OnSubscribeSingle$1.onCompleted(OnSubscribeSingle.java:55)
at rx.internal.operators.OperatorMerge$MergeSubscriber.emitLoop(OperatorMerge.java:656)
at rx.internal.operators.OperatorMerge$MergeSubscriber.emit(OperatorMerge.java:568)
at rx.internal.operators.OperatorMerge$MergeSubscriber.onCompleted(OperatorMerge.java:281)
at rx.internal.operators.OnSubscribeMap$MapSubscriber.onCompleted(OnSubscribeMap.java:97)
at rx.internal.operators.OnSubscribeMap$MapSubscriber.onCompleted(OnSubscribeMap.java:97)
at rx.internal.operators.DeferredScalarSubscriber.complete(DeferredScalarSubscriber.java:102)
at rx.internal.operators.DeferredScalarSubscriber.onCompleted(DeferredScalarSubscriber.java:73)
at io.reactivex.netty.protocol.http.UnicastContentSubject$AutoReleaseByteBufOperator$1.onCompleted(UnicastContentSubject.java:260)
at rx.internal.operators.BufferUntilSubscriber.onCompleted(BufferUntilSubscriber.java:156)
at io.reactivex.netty.protocol.http.UnicastContentSubject.onCompleted(UnicastContentSubject.java:282)
at io.reactivex.netty.protocol.http.client.ClientRequestResponseConverter$ResponseState.sendOnComplete(ClientRequestResponseConverter.java:413)
at io.reactivex.netty.protocol.http.client.ClientRequestResponseConverter$ResponseState.access$500(ClientRequestResponseConverter.java:350)
at io.reactivex.netty.protocol.http.client.ClientRequestResponseConverter.channelRead(ClientRequestResponseConverter.java:168)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:438)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:326)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:300)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:253)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1478)
at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1227)
at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1274)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:503)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:442)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:281)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
at io.reactivex.netty.metrics.BytesInspector.channelRead(BytesInspector.java:59)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
at io.reactivex.netty.pipeline.InternalReadTimeoutHandler.channelRead(InternalReadTimeoutHandler.java:108)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1422)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:931)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:700)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:635)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:552)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:514)
at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1050)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
To Reproduce I use
- azure-cosmosdb:2.6.3 to create a DAO
- azure-cosmos:3.4.0 to use ChangeFeedProcessor
If I use DIRECT in DAO and GATEWAY in Change Feed Processor. Everything is fine. However, when I switch Change Feed Processor to DIRECT. It starts throwing the waring exception.
Expected behavior No warning exception when using DIRECT for both.
Actual behavior Throw An exception ‘java.lang.NoClassDefFoundError: Could not initialize class com.microsoft.azure.cosmosdb.internal.directconnectivity.rntbd.RntbdClientChannelHandler’
Environment summary SDK Version: 2.6.3 Java JDK version: 1.8.0_211 OS Version: Linux, MacOSX
Issue Analytics
- State:
- Created 4 years ago
- Comments:5 (3 by maintainers)
Top Results From Across the Web
Diagnose and troubleshoot Azure Cosmos DB Java v4 SDK ...
Client initialization failure. The following exception is hit if the SDK isn't able to talk to the Azure Cosmos DB instance.
Read more >Azure Cosmos DB SQL API client library for Python - NET
Use the Azure Cosmos DB SQL API SDK for Python to manage databases and the JSON documents they contain in this NoSQL database...
Read more >Azure Cosmos DB SQL API client library for Python - PyPI
For example, if you try to create a container using an ID (name) that's already in use in your Cosmos DB database, a...
Read more >Connection issues with Cosmos DB SDK - java - Stack Overflow
I have no access to the Azure control plane. Im getting RuntimeExceptions that says "Client initialization failed. Check if the endpoint is ...
Read more >com.microsoft.azure : azure-cosmos-parent : 3.5.0
Microsoft Azure Cosmos DB SQL API - This package contains Microsoft Azure SDK for Azure Cosmos DB SQL API (with Reactive Extension RX...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Any update regarding this? I’m getting the same error with
com.microsoft.azure:azure-cosmosdb-spring-boot-starter:jar:2.2.3
Closing because of in-activity. Please re-open the issue if the bug still exists.