This is an automated email from the ASF dual-hosted git repository. penghui pushed a commit to branch branch-2.6 in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit 63d553f842a058aba03001ee996dd3f755613b2f Author: ran <[email protected]> AuthorDate: Thu Nov 26 13:13:49 2020 +0800 [Tiered Storage] Fix Jclouds Azure credential error (#8693) ### Motivation Currently, the tiered storage Azure credential is broken. ### Modifications Change the Azure supplier credential. (cherry picked from commit bf9f61969c3fd7d82b85502266a12f85a793c63a) --- .../impl/BlobStoreManagedLedgerOffloader.java | 1 + .../jcloud/provider/JCloudBlobStoreProvider.java | 27 +++++++++++++++++----- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreManagedLedgerOffloader.java b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreManagedLedgerOffloader.java index 4f51713..39e6d41 100644 --- a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreManagedLedgerOffloader.java +++ b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreManagedLedgerOffloader.java @@ -103,6 +103,7 @@ public class BlobStoreManagedLedgerOffloader implements LedgerOffloader { config.getBucket(), config.getRegion()); blobStores.putIfAbsent(config.getBlobStoreLocation(), config.getBlobStore()); + log.info("The ledger offloader was created."); } @Override diff --git a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/provider/JCloudBlobStoreProvider.java b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/provider/JCloudBlobStoreProvider.java index df4b0d3..9d0871e 100644 --- a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/provider/JCloudBlobStoreProvider.java +++ b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/provider/JCloudBlobStoreProvider.java @@ -131,7 +131,21 @@ public enum JCloudBlobStoreProvider implements Serializable, ConfigValidation, B @Override public BlobStore getBlobStore(TieredStorageConfiguration config) { - return BLOB_STORE_BUILDER.getBlobStore(config); + ContextBuilder contextBuilder = ContextBuilder.newBuilder(config.getProviderMetadata()); + contextBuilder.overrides(config.getOverrides()); + + if (config.getProviderCredentials() != null) { + Credentials credentials = config.getProviderCredentials().get(); + return contextBuilder + .credentials(credentials.identity, credentials.credential) + .buildView(BlobStoreContext.class) + .getBlobStore(); + } else { + log.warn("The credentials is null. driver: {}, bucket: {}", config.getDriver(), config.getBucket()); + return contextBuilder + .buildView(BlobStoreContext.class) + .getBlobStore(); + } } @Override @@ -254,11 +268,12 @@ public enum JCloudBlobStoreProvider implements Serializable, ConfigValidation, B .credentialsSupplier(config.getCredentials()) .buildView(BlobStoreContext.class) .getBlobStore(); - } else { - return contextBuilder - .buildView(BlobStoreContext.class) - .getBlobStore(); - } + } else { + log.warn("The credentials is null. driver: {}, bucket: {}", config.getDriver(), config.getBucket()); + return contextBuilder + .buildView(BlobStoreContext.class) + .getBlobStore(); + } };
