sijie opened a new pull request #2374: [tiered storage] Pulsar standalone hangs when s3 offloader is enabled URL: https://github.com/apache/incubator-pulsar/pull/2374 ### Motivation #2371 introduced a regression on starting pulsar standalone with s3 offloader enabled. ``` org.apache.pulsar.broker.PulsarServerException: java.util.ServiceConfigurationError: org.jclouds.providers.ProviderMetadata: Provider org.jclouds.aws.s3.AWSS3ProviderMetadata could not be instantiated at org.apache.pulsar.broker.PulsarService.createManagedLedgerOffloader(PulsarService.java:684) ~[pulsar-broker.jar:2.2.0-incubating-SNAPSHOT] at org.apache.pulsar.broker.PulsarService.start(PulsarService.java:346) [pulsar-broker.jar:2.2.0-incubating-SNAPSHOT] at org.apache.pulsar.PulsarStandalone.start(PulsarStandalone.java:289) [pulsar-broker.jar:2.2.0-incubating-SNAPSHOT] at org.apache.pulsar.PulsarStandaloneStarter.main(PulsarStandaloneStarter.java:102) [pulsar-broker.jar:2.2.0-incubating-SNAPSHOT] Caused by: java.util.ServiceConfigurationError: org.jclouds.providers.ProviderMetadata: Provider org.jclouds.aws.s3.AWSS3ProviderMetadata could not be instantiated at java.util.ServiceLoader.fail(ServiceLoader.java:232) ~[?:1.8.0_144] at java.util.ServiceLoader.access$100(ServiceLoader.java:185) ~[?:1.8.0_144] at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384) ~[?:1.8.0_144] at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404) ~[?:1.8.0_144] at java.util.ServiceLoader$1.next(ServiceLoader.java:480) ~[?:1.8.0_144] at com.google.common.collect.ImmutableCollection$Builder.addAll(ImmutableCollection.java:416) ~[guava-21.0.jar:?] at com.google.common.collect.ImmutableCollection$ArrayBasedBuilder.addAll(ImmutableCollection.java:500) ~[guava-21.0.jar:?] at com.google.common.collect.ImmutableSet$Builder.addAll(ImmutableSet.java:518) ~[guava-21.0.jar:?] at org.jclouds.providers.Providers.all(Providers.java:83) ~[jclouds-core-2.2.0-SNAPSHOT.jar:2.2.0-SNAPSHOT] at org.jclouds.providers.Providers.withId(Providers.java:99) ~[jclouds-core-2.2.0-SNAPSHOT.jar:2.2.0-SNAPSHOT] at org.jclouds.ContextBuilder.newBuilder(ContextBuilder.java:167) ~[jclouds-core-2.2.0-SNAPSHOT.jar:2.2.0-SNAPSHOT] at org.apache.pulsar.broker.offload.impl.BlobStoreManagedLedgerOffloader.<init>(BlobStoreManagedLedgerOffloader.java:233) ~[tiered-storage-jcloud.jar:2.2.0-incubating-SNAPSHOT] at org.apache.pulsar.broker.offload.impl.BlobStoreManagedLedgerOffloader.create(BlobStoreManagedLedgerOffloader.java:163) ~[tiered-storage-jcloud.jar:2.2.0-incubating-SNAPSHOT] at org.apache.pulsar.broker.PulsarService.createManagedLedgerOffloader(PulsarService.java:670) ~[pulsar-broker.jar:2.2.0-incubating-SNAPSHOT] ... 3 more Caused by: java.lang.NoSuchMethodError: org.jclouds.reflect.Reflection2.typeToken(Ljava/lang/Class;)Lorg/apache/pulsar/shaded/com/google/common/reflect/TypeToken; at org.jclouds.aws.s3.AWSS3ApiMetadata$Builder.<init>(AWSS3ApiMetadata.java:63) ~[jclouds-shaded.jar:2.2.0-incubating-SNAPSHOT] at org.jclouds.aws.s3.AWSS3ApiMetadata.<init>(AWSS3ApiMetadata.java:43) ~[jclouds-shaded.jar:2.2.0-incubating-SNAPSHOT] at org.jclouds.aws.s3.AWSS3ProviderMetadata$Builder.<init>(AWSS3ProviderMetadata.java:106) ~[jclouds-shaded.jar:2.2.0-incubating-SNAPSHOT] at org.jclouds.aws.s3.AWSS3ProviderMetadata.builder(AWSS3ProviderMetadata.java:56) ~[jclouds-shaded.jar:2.2.0-incubating-SNAPSHOT] at org.jclouds.aws.s3.AWSS3ProviderMetadata.<init>(AWSS3ProviderMetadata.java:65) ~[jclouds-shaded.jar:2.2.0-incubating-SNAPSHOT] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_144] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_144] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_144] at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_144] at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_144] at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380) ~[?:1.8.0_144] at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404) ~[?:1.8.0_144] at java.util.ServiceLoader$1.next(ServiceLoader.java:480) ~[?:1.8.0_144] at com.google.common.collect.ImmutableCollection$Builder.addAll(ImmutableCollection.java:416) ~[guava-21.0.jar:?] at com.google.common.collect.ImmutableCollection$ArrayBasedBuilder.addAll(ImmutableCollection.java:500) ~[guava-21.0.jar:?] at com.google.common.collect.ImmutableSet$Builder.addAll(ImmutableSet.java:518) ~[guava-21.0.jar:?] at org.jclouds.providers.Providers.all(Providers.java:83) ~[jclouds-core-2.2.0-SNAPSHOT.jar:2.2.0-SNAPSHOT] at org.jclouds.providers.Providers.withId(Providers.java:99) ~[jclouds-core-2.2.0-SNAPSHOT.jar:2.2.0-SNAPSHOT] at org.jclouds.ContextBuilder.newBuilder(ContextBuilder.java:167) ~[jclouds-core-2.2.0-SNAPSHOT.jar:2.2.0-SNAPSHOT] at org.apache.pulsar.broker.offload.impl.BlobStoreManagedLedgerOffloader.<init>(BlobStoreManagedLedgerOffloader.java:233) ~[tiered-storage-jcloud.jar:2.2.0-incubating-SNAPSHOT] at org.apache.pulsar.broker.offload.impl.BlobStoreManagedLedgerOffloader.create(BlobStoreManagedLedgerOffloader.java:163) ~[tiered-storage-jcloud.jar:2.2.0-incubating-SNAPSHOT] at org.apache.pulsar.broker.PulsarService.createManagedLedgerOffloader(PulsarService.java:670) ~[pulsar-broker.jar:2.2.0-incubating-SNAPSHOT] ... 3 more ``` The problem is unshaded dependencies introduced in the classpath. ### Changes - Catch runtime exception on starting up and fail explicityly - Exclude transitive dependencies from shaded artifact
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
