Skip to content

PubSub: grpc Uncaught exception in the SynchronizationContext. Panic! - Could not find LoadBalancer pick_first #4700

Closed

Description

@sceee
  1. Specify the API: PubSub
  2. OS type and version: Docker image gradle:5.2-jdk11-slim (also happens with jdk8 and other images)
  3. Java version: jdk11 and jdk8
  4. google-cloud-java version(s): 1.62.0 and above (tested with 1.65.0, too)

Steps to reproduce

  1. Use google-cloud-pubsub library with version 1.62.0 or above as dependency
  2. Create a subscription in own code (see code example below)

Code example

ProjectSubscriptionName subscriptionName = ProjectSubscriptionName.of(projectId, subscriptionId);
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    subscriptionAdminClient.getSubscription(subscriptionName); // Exception is thrown in this line
}
...

Stack trace

Mar 19, 2019 6:20:52 PM io.grpc.internal.ManagedChannelImpl$1 uncaughtException
SEVERE: [io.grpc.internal.ManagedChannelImpl-1] Uncaught exception in the SynchronizationContext. Panic!
java.lang.IllegalStateException: Could not find LoadBalancer pick_first. The build probably threw away META-INF/services/io.grpc.LoadBalancerProvider
        at io.grpc.internal.AutoConfiguredLoadBalancerFactory$AutoConfiguredLoadBalancer.<init>(AutoConfiguredLoadBalancerFactory.java:74)
        at io.grpc.internal.AutoConfiguredLoadBalancerFactory.newLoadBalancer(AutoConfiguredLoadBalancerFactory.java:45)
        at io.grpc.internal.ManagedChannelImpl.exitIdleMode(ManagedChannelImpl.java:351)
        at io.grpc.internal.ManagedChannelImpl$ChannelTransportProvider$1ExitIdleModeForTransport.run(ManagedChannelImpl.java:447)
        at io.grpc.SynchronizationContext.drain(SynchronizationContext.java:101)
        at io.grpc.SynchronizationContext.execute(SynchronizationContext.java:130)
        at io.grpc.internal.ManagedChannelImpl$ChannelTransportProvider.get(ManagedChannelImpl.java:451)
        at io.grpc.internal.ClientCallImpl.start(ClientCallImpl.java:241)
        at io.grpc.internal.CensusTracingModule$TracingClientInterceptor$1.start(CensusTracingModule.java:392)
        at io.grpc.internal.CensusStatsModule$StatsClientInterceptor$1.start(CensusStatsModule.java:689)
        at io.grpc.ForwardingClientCall.start(ForwardingClientCall.java:32)
        at com.google.api.gax.grpc.GrpcHeaderInterceptor$1.start(GrpcHeaderInterceptor.java:95)
        at io.grpc.stub.ClientCalls.startCall(ClientCalls.java:308)
        at io.grpc.stub.ClientCalls.asyncUnaryRequestCall(ClientCalls.java:280)
        at io.grpc.stub.ClientCalls.futureUnaryCall(ClientCalls.java:189)
        at com.google.api.gax.grpc.GrpcDirectCallable.futureCall(GrpcDirectCallable.java:58)
        at com.google.api.gax.grpc.GrpcExceptionCallable.futureCall(GrpcExceptionCallable.java:64)
        at com.google.api.gax.rpc.AttemptCallable.call(AttemptCallable.java:86)
        at com.google.api.gax.rpc.RetryingCallable.futureCall(RetryingCallable.java:63)
        at com.google.api.gax.rpc.RetryingCallable.futureCall(RetryingCallable.java:41)
        at com.google.api.gax.tracing.TracedUnaryCallable.futureCall(TracedUnaryCallable.java:75)
        at com.google.api.gax.rpc.UnaryCallable$1.futureCall(UnaryCallable.java:126)
        at com.google.api.gax.rpc.UnaryCallable.futureCall(UnaryCallable.java:87)
        at com.google.api.gax.rpc.UnaryCallable.call(UnaryCallable.java:112)
        at com.google.cloud.pubsub.v1.SubscriptionAdminClient.getSubscription(SubscriptionAdminClient.java:467)
        at com.google.cloud.pubsub.v1.SubscriptionAdminClient.getSubscription(SubscriptionAdminClient.java:420)
        at my.package.MyClass.start(MyClass.java:37)
        at my.package.App$1.run(App.java:31)
        at java.base/java.lang.Thread.run(Thread.java:834)

External references such as API reference guides used

  • None

Any additional information below

The error only occurs since google-cloud-pubsub 1.62.0 .
When using google-cloud-pubsub 1.61.0 or below, the error does not occur with the same user code.

Activity

  1. added
    type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.
    api: pubsubIssues related to the Pub/Sub API.
    on Mar 19, 2019
  2. kolea2 commented on Mar 19, 2019

    @kolea2
    Contributor

    Thank you for the report!

    @sduskis, @andreamlin, Pub/Sub version 1.62 included an upgrade in gax - any idea if there were changes that could have caused this?

  3. added
    priority: p1Important issue which blocks shipping the next release. Will be fixed prior to next release.
    on Mar 19, 2019
  4. sduskis commented on Mar 19, 2019

    @sduskis
    Contributor

    @kolea2, can you tell if there was a grpc upgrade? That might be one possible reason.

  5. kolea2 commented on Mar 19, 2019

    @kolea2
    Contributor

    Yep - looks like grpc went from 1.17.1 to 1.18.0: #4496

  6. ajaaym commented on Mar 20, 2019

    @ajaaym
    Contributor

    @sceee can you please share your docker file with full repro? I tried the steps you mentioned and couldn't reproduce.

  7. olavloite commented on Mar 20, 2019

    @olavloite
    Contributor

    @sceee I can reproduce this when I build a 'thick' jar using the maven shade plugin and add the Google Cloud client libraries as dependencies in the jar. Are you doing something like that?

    If so, the files io.grpc.LoadBalancerProvider and io.grpc.NameResolverProvider from grpc-core/META-INF/services are probably not included in you final jar and this exception will occur.
    A work-around is to add these files to your own jar by adding them either manually or by including them in your build process. The files should be in the META-INF/services/ folder of your jar.

    If you add the files to your own project, you can include them in your final jar by using a maven-shade-plugin resource transformer like this:

    <transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
      <resource>META-INF/services</resource>
      <file>io.grpc.LoadBalancerProvider</file>
    </transformer>
    <transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
      <resource>META-INF/services</resource>
      <file>io.grpc.NameResolverProvider</file>
    </transformer>
    
  8. added
    type: questionRequest for information or clarification. Not an issue.
    and removed
    priority: p1Important issue which blocks shipping the next release. Will be fixed prior to next release.
    triage meI really want to be triaged.
    type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.
    on Mar 20, 2019
  9. sceee commented on Mar 20, 2019

    @sceee
    Author

    Thank you for your response guys. @olavloite indeed I am shading using gradle with com.github.jengelman.gradle.plugins:shadow:5.0.0

    Is this an issue that will be fixed in the future in grpc or the google-java library or do I permanently need this workaround from now on?

    And with the workaround, do you mean including these files in my own project and including in them in the final jar?

  10. olavloite commented on Mar 20, 2019

    @olavloite
    Contributor

    @sceee Yes, you should include those files in the META-INF/services directory of your jar, which means that you need to add them to your own project (at least for now as a workaround).
    I'll have to discuss with someone else on what could be a possible long-term solution for this. @sduskis Could you point me in a direction of someone who might be able to help with that?

  11. 19 remaining items

  12. wyaeld commented on Jul 21, 2019

    @wyaeld

    @olavloite

    When using kotlin gradle build, I've found that a little more tuning is desirable. The normal workaround of turning on the com.github.johnrengelman.shadow plugin, which has similar function to the maven shade plugin has an issue.

    If you do the default config, below:

    tasks.withType<ShadowJar> {
        mergeServiceFiles ()
    }

    it will work, but can result in a lot of undesirable files also ending up in the output jar, I'm unsure why. I ended up with 70mb of gradle internals.

    However if you do this

    tasks.withType<ShadowJar> {
        mergeServiceFiles {
            setPath("META-INF/services")
            include("io.grpc.*")
        }
    }

    You get the solution without extra pollution.

    Would it be possible to get docs updated to make it easier for people to know this? Its an awkward problem to track down the first time it happens.

  13. blacar commented on Jul 22, 2019

    @blacar

    I have found similar error using 'com.google.cloud:google-cloud-pubsub:1.83.0'.
    trying to pusblish a message in a topic:

    SEVERE: [Channel<42>: (pubsub.googleapis.com:443)] Uncaught exception in the SynchronizationContext. Panic!
    java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@2fc79023 rejected from java.util.concurrent.ScheduledThreadPoolExecutor@50a3959b[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0]
            at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2063)
            at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:830)
            at java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute(ScheduledThreadPoolExecutor.java:326)
            at java.util.concurrent.ScheduledThreadPoolExecutor.schedule(ScheduledThreadPoolExecutor.java:533)
            at java.util.concurrent.ScheduledThreadPoolExecutor.execute(ScheduledThreadPoolExecutor.java:622)
            at io.grpc.internal.DelayedClientTransport.reprocess(DelayedClientTransport.java:297)
            at io.grpc.internal.ManagedChannelImpl.updateSubchannelPicker(ManagedChannelImpl.java:790)
            at io.grpc.internal.ManagedChannelImpl.access$5200(ManagedChannelImpl.java:102)
            at io.grpc.internal.ManagedChannelImpl$LbHelperImpl$1UpdateBalancingState.run(ManagedChannelImpl.java:1149)
            at io.grpc.SynchronizationContext.drain(SynchronizationContext.java:88)
            at io.grpc.internal.InternalSubchannel$TransportListener.transportReady(InternalSubchannel.java:579)
            at io.grpc.netty.shaded.io.grpc.netty.ClientTransportLifecycleManager.notifyReady(ClientTransportLifecycleManager.java:43)
            at io.grpc.netty.shaded.io.grpc.netty.NettyClientHandler$FrameListener.onSettingsRead(NettyClientHandler.java:783)
            at io.grpc.netty.shaded.io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder$FrameReadListener.onSettingsRead(DefaultHttp2ConnectionDecoder.java:419)
            at io.grpc.netty.shaded.io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder$PrefaceFrameListener.onSettingsRead(DefaultHttp2ConnectionDecoder.java:637)
            at io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2InboundFrameLogger$1.onSettingsRead(Http2InboundFrameLogger.java:93)
            at io.grpc.netty.shaded.io.netty.handler.codec.http2.DefaultHttp2FrameReader.readSettingsFrame(DefaultHttp2FrameReader.java:542)
            at io.grpc.netty.shaded.io.netty.handler.codec.http2.DefaultHttp2FrameReader.processPayloadState(DefaultHttp2FrameReader.java:263)
            at io.grpc.netty.shaded.io.netty.handler.codec.http2.DefaultHttp2FrameReader.readFrame(DefaultHttp2FrameReader.java:160)
            at io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2InboundFrameLogger.readFrame(Http2InboundFrameLogger.java:41)
            at io.grpc.netty.shaded.io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder.decodeFrame(DefaultHttp2ConnectionDecoder.java:118)
            at io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2ConnectionHandler$FrameDecoder.decode(Http2ConnectionHandler.java:390)
            at io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.decode(Http2ConnectionHandler.java:254)
            at io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2ConnectionHandler.decode(Http2ConnectionHandler.java:450)
            at io.grpc.netty.shaded.io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:502)
            at io.grpc.netty.shaded.io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:441)
            at io.grpc.netty.shaded.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:278)
            at io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
            at io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
            at io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337)
            at io.grpc.netty.shaded.io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1476)
            at io.grpc.netty.shaded.io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1225)
            at io.grpc.netty.shaded.io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1272)
            at io.grpc.netty.shaded.io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:502)
            at io.grpc.netty.shaded.io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:441)
            at io.grpc.netty.shaded.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:278)
            at io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
            at io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
            at io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337)
            at io.grpc.netty.shaded.io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1408)
            at io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
            at io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
            at io.grpc.netty.shaded.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930)
            at io.grpc.netty.shaded.io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:796)
            at io.grpc.netty.shaded.io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:427)
            at io.grpc.netty.shaded.io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:328)
            at io.grpc.netty.shaded.io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:905)
            at io.grpc.netty.shaded.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
            at java.lang.Thread.run(Thread.java:748)
    
  14. olavloite commented on Jul 22, 2019

    @olavloite
    Contributor

    @blacar The above issue is something else than the original issue. You seem to run into an issue where an executor that is used by your transport channel is rejecting any further tasks. If this is something reproducible, it would be better to open a new issue with a clear description on how to reproduce the issue.

  15. bajabob commented on Aug 16, 2019

    @bajabob

    @olavloite & @mikessoldier & @wyaeld

    First off, thank you so much for this wonderful thread. I am having the exact same issue. Using com.google.firebase:firebase-admin:6.9.0 + Shadow 5.1.0 for packaging Jars. Mike, your manual META-INF service additions remedied the problem for me. Brad, your gradle tasks for adding only the required service files did not work for me.

    I am specifically following the Firestore quickstart guide for Java Admin SDK: https://firebase.google.com/docs/firestore/quickstart

  16. adam-hurwitz commented on Dec 28, 2019

    @adam-hurwitz

    @mikessoldier, I've attempted your proposed solution from March, 28, 2019 and I am still seeing the error.

    I'm seeing the error above when attempting to run a Jar in IntelliJ. It works on the machine it was written on, but when the project is pulled to a new machine the issue above is occurring.

    Related StackOverflow post: How to fix “Could not find policy 'pick_first'” with Google TTS java client?.

    It's solved.
    As you suggested, I tried to confirm the content of the files (io.grpc.LoadBalancerProvider, io.grpc.NameResolverProvider)
    e.g.:

    $ unzip -q -c target/myJar.jar META-INF/services/io.grpc.LoadBalancerProvider
    io.grpc.grpclb.GrpclbLoadBalancerProvider

    I didn't place the files correctly before, and therefore they were not being included correctly... making the fix useless.
    To be clear, I have moved the files to the next location:

    <project-root>/src/main/resources/META-INF/services/io.grpc.LoadBalancerProvider
    <project-root>/src/main/resources/META-INF/services/io.grpc.NameResolverProvider
    

    The content of the io.grpc.LoadBalancerProvider file is

    io.grpc.internal.PickFirstLoadBalancerProvider
    

    And the content of the io.grpc.NameResolverProvider file is

    io.grpc.internal.DnsNameResolverProvider
    
  17. adam-hurwitz commented on Dec 28, 2019

    @adam-hurwitz

    @olavloite, Where in the project should the ServiceFileTransformer be placed for a Gradle based project in order to resolve the error above?

    This problem is caused if you build a fat/über-jar that contains all your dependencies. In those cases, you also need to include all service definitions of the jars that you are packaging. The way to achieve this depends on your choice of build system.

    For Maven you should use the ServicesResourceTransformer.
    For Gradle you can use the ServiceFileTransformer.

    These plugins will collect all the service definitions of the included jars and bundle these into the META-INF/services directory of your fat/über-jar.

  18. adam-hurwitz commented on Dec 28, 2019

    @adam-hurwitz

    @sceee, I've implemented the Gradle library com.github.jengelman.gradle.plugins:shadow:5.0.0, but unfortunately the error above is still persisting.

  19. wyaeld commented on Dec 29, 2019

    @wyaeld

    @AdamSHurwitz I know it's a long thread, try my solution here #4700 (comment)

  20. adam-hurwitz commented on Dec 30, 2019

    @adam-hurwitz

    Thanks @wyaeld! My issues seems to be potentially unrelated now, as I'm seeing a new error when migrating projects from an existing MacBook Pro to a newer MacBook Pro.

    StackOverflow: Kotlin Jar Error: Exception in thread “Timer-0” StorageException: 401 Unauthorized

  21. rohith28 commented on Oct 14, 2020

    @rohith28

    I am getting the same issues after updating the PubSub emulator component. I am reading pubsub data from Dataflow job.

    Current gcloud componenets versions:

    Google Cloud SDK 313.0.0
    beta 2020.10.02
    bq 2.0.61
    core 2020.10.02
    gsutil 4.53
    pubsub-emulator 0.1.1
    

    Emulator working fine with these components version

    Google Cloud SDK 311.0.0
    alpha 2020.09.18
    beta 2020.09.18
    bq 2.0.60
    cbt
    core 2020.09.18
    datalab 20190610
    gsutil 4.53
    kubectl 1.15.11
    pubsub-emulator 2019.09.27
    

    Error from emulator

    [pubsub] SEVERE: [Channel<1>: (localhost:8085)] Uncaught exception in the SynchronizationContext. Panic!
    [pubsub] java.lang.IllegalStateException: Could not find policy 'pick_first'. Make sure its implementation is either registered to LoadBalancerRegistry or included in META-INF/services/io.grpc.LoadBalancerProvider from your jar files.
    [pubsub]    at io.grpc.internal.AutoConfiguredLoadBalancerFactory$AutoConfiguredLoadBalancer.<init>(AutoConfiguredLoadBalancerFactory.java:94)
    [pubsub]    at io.grpc.internal.AutoConfiguredLoadBalancerFactory.newLoadBalancer(AutoConfiguredLoadBalancerFactory.java:65)
    [pubsub]    at io.grpc.internal.ManagedChannelImpl.exitIdleMode(ManagedChannelImpl.java:396)
    [pubsub]    at io.grpc.internal.ManagedChannelImpl$ChannelStreamProvider$1ExitIdleModeForTransport.run(ManagedChannelImpl.java:489)
    [pubsub]    at io.grpc.SynchronizationContext.drain(SynchronizationContext.java:95)
    
  22. Naidile-P-N commented on Jul 14, 2023

    @Naidile-P-N

    I'm getting similar error while connecting to Bigtable from GKE.
    Tried adding the files into META-INF/servcies of my project & modifying transformer in maven-shade-plugin and issue still persists.

    I logged into the k8s pod and extracted my application jar and found that below files are present.

    io.grpc.LoadBalancerProvider

    io.grpc.internal.PickFirstLoadBalancerProvider
    io.grpc.util.SecretRoundRobinLoadBalancerProvider$Provider
    io.grpc.util.OutlierDetectionLoadBalancerProvider
    

    io.grpc.NameResolverProvider

    io.grpc.internal.DnsNameResolverProvider

    I'm using Kotlin with kotlin-maven-plugin & maven-shade-plugin
    Internally BigTable is using Maven: io.grpc:grpc-core:1.55.1.

    Tried a lot of workaround with no luck. Any help here please !

    Caused by: java.lang.IllegalStateException: Default config is invalid: Status{code=UNKNOWN, description=None of [grpclb] specified by Service Config are available., cause=null} at com.google.common.base.Preconditions.checkState(Preconditions.java:590) at io.grpc.internal.ManagedChannelImpl.<init>(ManagedChannelImpl.java:642) at io.grpc.internal.ManagedChannelImplBuilder.build(ManagedChannelImplBuilder.java:631) at io.grpc.internal.AbstractManagedChannelImplBuilder.build(AbstractManagedChannelImplBuilder.java:297) at com.google.api.gax.grpc.InstantiatingGrpcChannelProvider.createSingleChannel(InstantiatingGrpcChannelProvider.java:391) at com.google.api.gax.grpc.ChannelPool.<init>(ChannelPool.java:107) at com.google.api.gax.grpc.ChannelPool.create(ChannelPool.java:85) at com.google.api.gax.grpc.InstantiatingGrpcChannelProvider.createChannel(InstantiatingGrpcChannelProvider.java:237) at com.google.api.gax.grpc.InstantiatingGrpcChannelProvider.getTransportChannel(InstantiatingGrpcChannelProvider.java:231) at com.google.api.gax.rpc.ClientContext.create(ClientContext.java:201) at com.google.cloud.bigtable.data.v2.stub.EnhancedBigtableStub.create(EnhancedBigtableStub.java:175) at com.google.cloud.bigtable.data.v2.BigtableDataClient.create(BigtableDataClient.java:165) at external_service.db.BigTableClientService$Companion.getBigTableClient(BigTableClientService.kt:18)

  23. Naidile-P-N commented on Jul 15, 2023

    @Naidile-P-N

    I finally resolved the error by modifying the files as below and enabling attemptDirectPathXds during Bigtable client creation.

    io.grpc.LoadBalancerProvider

    io.grpc.internal.PickFirstLoadBalancerProvider
    io.grpc.util.SecretRoundRobinLoadBalancerProvider$Provider
    io.grpc.util.OutlierDetectionLoadBalancerProvider
    io.grpc.grpclb.GrpclbLoadBalancerProvider
    io.grpc.xds.ClusterManagerLoadBalancerProvider
    io.grpc.xds.ClusterResolverLoadBalancerProvider
    io.grpc.xds.CdsLoadBalancerProvider
    io.grpc.xds.PriorityLoadBalancerProvider
    io.grpc.xds.ClusterImplLoadBalancerProvider
    io.grpc.xds.WrrLocalityLoadBalancerProvider
    io.grpc.xds.WeightedTargetLoadBalancerProvider
    io.grpc.xds.WeightedRoundRobinLoadBalancerProvider
    io.grpc.xds.RingHashLoadBalancerProvider
    io.grpc.xds.LeastRequestLoadBalancerProvider
    io.grpc.rls.RlsLoadBalancerProvider
    io.grpc.protobuf.services.internal.HealthCheckingRoundRobinLoadBalancerProvider
    

    io.grpc.NameResolverProvider

    io.grpc.googleapis.GoogleCloudToProdExperimentalNameResolverProvider
    io.grpc.googleapis.GoogleCloudToProdNameResolverProvider
    io.grpc.xds.XdsNameResolverProvider
    io.grpc.internal.DnsNameResolverProvider
    io.grpc.grpclb.SecretGrpclbNameResolverProvider$Provider
    io.grpc.netty.shaded.io.grpc.netty.UdsNameResolverProvider
    
  24. nitinvagal commented on Jan 25, 2024

    @nitinvagal

    I was facing the same issue with cloud logging. Building the uber jar in following manner resolved it.

    1. use maven-shade-plugin with ServicesResourceTransformer
    2. filter the manifest artifacts related to the signed JARs
    <excludes>
          <exclude>META-INF/*.SF</exclude>
          <exclude>META-INF/*.DSA</exclude>
          <exclude>META-INF/*.RSA</exclude>
          <exclude>META-INF/LICENSE</exclude>
    </excludes>
    
  25. shubha95m commented on Oct 3, 2024

    @shubha95m

    Hello, I've tried everything which is suggested here, but no luck for me.

    Can someone please help me here.

    Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

api: pubsubIssues related to the Pub/Sub API.type: questionRequest for information or clarification. Not an issue.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions