Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

S3 Connector fails to start if it finds 2 buckets with same name, but different case of some of the letters #95

Open
chipmaurer opened this issue Dec 29, 2021 · 0 comments
Assignees

Comments

@chipmaurer
Copy link
Collaborator

For example, if the S3 storage contained a bucket named 'testbucket' and one named 'testBucket', the connector would fail to start with the following error

2021-12-29T16:45:29.750Z ERROR main com.facebook.presto.server.PrestoServer Unable to create injector, see the following errors:

  1. Error injecting constructor, java.lang.IllegalArgumentException: Multiple entries with same key: s3_buckets.testbucket=com.facebook.presto.s3.S3Table@4f9ff5fb and s3_buckets.testbucket=com.facebook.presto.s3.S3Table@1c97ede3
    at com.facebook.presto.s3.S3Metadata.(S3Metadata.java:74)
    at com.facebook.presto.s3.S3Module.setup(S3Module.java:71)
    while locating com.facebook.presto.s3.S3Metadata

1 error
com.google.inject.CreationException: Unable to create injector, see the following errors:

  1. Error injecting constructor, java.lang.IllegalArgumentException: Multiple entries with same key: s3_buckets.testbucket=com.facebook.presto.s3.S3Table@4f9ff5fb and s3_buckets.testbucket=com.facebook.presto.s3.S3Table@1c97ede3
    at com.facebook.presto.s3.S3Metadata.(S3Metadata.java:74)
    at com.facebook.presto.s3.S3Module.setup(S3Module.java:71)
    while locating com.facebook.presto.s3.S3Metadata

1 error
at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:543)
at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:186)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:109)
at com.google.inject.Guice.createInjector(Guice.java:87)
at com.facebook.airlift.bootstrap.Bootstrap.initialize(Bootstrap.java:251)
at com.facebook.presto.s3.S3ConnectorFactory.create(S3ConnectorFactory.java:94)
at com.facebook.presto.connector.ConnectorManager.createConnector(ConnectorManager.java:379)
at com.facebook.presto.connector.ConnectorManager.addCatalogConnector(ConnectorManager.java:231)
at com.facebook.presto.connector.ConnectorManager.createConnection(ConnectorManager.java:223)
at com.facebook.presto.connector.ConnectorManager.createConnection(ConnectorManager.java:209)
at com.facebook.presto.metadata.StaticCatalogStore.loadCatalog(StaticCatalogStore.java:123)
at com.facebook.presto.metadata.StaticCatalogStore.loadCatalog(StaticCatalogStore.java:98)
at com.facebook.presto.metadata.StaticCatalogStore.loadCatalogs(StaticCatalogStore.java:80)
at com.facebook.presto.metadata.StaticCatalogStore.loadCatalogs(StaticCatalogStore.java:68)
at com.facebook.presto.server.PrestoServer.run(PrestoServer.java:150)
at com.facebook.presto.server.PrestoServer.main(PrestoServer.java:85)
Caused by: java.lang.IllegalArgumentException: Multiple entries with same key: s3_buckets.testbucket=com.facebook.presto.s3.S3Table@4f9ff5fb and s3_buckets.testbucket=com.facebook.presto.s3.S3Table@1c97ede3
at com.google.common.collect.ImmutableMap.conflictException(ImmutableMap.java:216)
at com.google.common.collect.ImmutableMap.checkNoConflict(ImmutableMap.java:210)
at com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(RegularImmutableMap.java:146)
at com.google.common.collect.RegularImmutableMap.fromEntryArray(RegularImmutableMap.java:109)
at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:395)
at com.facebook.presto.s3.S3TableDescriptionSupplier.get(S3TableDescriptionSupplier.java:108)
at com.facebook.presto.s3.S3TableDescriptionSupplier.get(S3TableDescriptionSupplier.java:43)
at com.facebook.presto.s3.S3Metadata.(S3Metadata.java:78)
at com.facebook.presto.s3.S3Metadata$$FastClassByGuice$$6d1c5895.newInstance()
at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:89)
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
at com.google.inject.internal.ConstructorInjector.access$000(ConstructorInjector.java:32)
at com.google.inject.internal.ConstructorInjector$1.call(ConstructorInjector.java:98)
at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:112)
at com.facebook.airlift.bootstrap.LifeCycleModule.provision(LifeCycleModule.java:54)
at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:120)
at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:66)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:93)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:168)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39)
at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:211)
at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:182)
... 14 more

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants