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

Reply via email to