Azure-sdk-for-java: Cosmos DB gagal menginisialisasi RntbdChannel saat menggunakan SDK 2.6.3 dan 3.5.0

Dibuat pada 20 Des 2019  ·  4Komentar  ·  Sumber: Azure/azure-sdk-for-java

Jelaskan bugnya

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)

Untuk Mereproduksi
saya menggunakan

Jika saya menggunakan DIRECT di DAO dan GATEWAY di Change Feed Processor. Semuanya baik-baik saja. Namun, ketika saya mengalihkan Change Feed Processor ke DIRECT. Itu mulai melempar pengecualian waring.

Perilaku yang diharapkan
Tidak ada pengecualian peringatan saat menggunakan DIRECT untuk keduanya.

Perilaku sebenarnya
Lempar pengecualian 'java.lang.NoClassDefFoundError: Tidak dapat menginisialisasi kelas com.microsoft.azure.cosmosdb.internal.directconnectivity.rntbd.RntbdClientChannelHandler'

Ringkasan lingkungan
Versi SDK: 2.6.3.0
Versi Java JDK: 1.8.0_211
Versi OS: Linux, MacOSX

Client Cosmos bug v3-item customer-reported

Komentar yang paling membantu

Ada pembaruan tentang ini? Saya mendapatkan pesan kesalahan yang sama dengan com.microsoft.azure:azure-cosmosdb-spring-boot-starter:jar:2.2.3

Semua 4 komentar

Ada pembaruan tentang ini? Saya mendapatkan pesan kesalahan yang sama dengan com.microsoft.azure:azure-cosmosdb-spring-boot-starter:jar:2.2.3

Coba tambahkan ini.

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-cosmosdb-direct</artifactId>
    <version>2.6.11</version>
 </dependency>

@ xinlian12 - Kami mungkin telah memperbaiki masalah ini, dapatkah Anda memeriksanya kembali dan menutupnya jika ini bukan masalah lagi.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat