This is an automated email from the ASF dual-hosted git repository.

sijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new 7b2ccd1  fix s3 spport for s3 api (#3845)
7b2ccd1 is described below

commit 7b2ccd197443c8654d0d5b83bbeb5c1eda82276c
Author: Jia Zhai <[email protected]>
AuthorDate: Tue Mar 19 21:08:59 2019 +0800

    fix s3 spport for s3 api (#3845)
---
 .../offload/jcloud/impl/BlobStoreManagedLedgerOffloader.java  |  6 +++---
 .../jcloud/impl/BlobStoreManagedLedgerOffloaderTest.java      | 11 +++++++++++
 2 files changed, 14 insertions(+), 3 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 b8c2727..96409b2 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
@@ -67,6 +67,8 @@ import org.jclouds.io.Payload;
 import org.jclouds.io.Payloads;
 import org.jclouds.osgi.ProviderRegistry;
 import org.jclouds.s3.reference.S3Constants;
+import org.jclouds.osgi.ApiRegistry;
+import org.jclouds.s3.S3ApiMetadata;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -120,6 +122,7 @@ public class BlobStoreManagedLedgerOffloader implements 
LedgerOffloader {
         overrides.setProperty(Constants.PROPERTY_SO_TIMEOUT, "25000");
         overrides.setProperty(Constants.PROPERTY_MAX_RETRIES, 
Integer.toString(100));
 
+        ApiRegistry.registerApi(new S3ApiMetadata());
         ProviderRegistry.registerProvider(new AWSS3ProviderMetadata());
         ProviderRegistry.registerProvider(new 
GoogleCloudStorageProviderMetadata());
 
@@ -186,9 +189,6 @@ public class BlobStoreManagedLedgerOffloader implements 
LedgerOffloader {
                                                          OrderedScheduler 
scheduler)
             throws IOException {
         String driver = conf.getManagedLedgerOffloadDriver();
-        if ("s3".equals(driver.toLowerCase())) {
-            driver = "aws-s3";
-        }
         if (!driverSupported(driver)) {
             throw new IOException(
                 "Not support this kind of driver as offload backend: " + 
driver);
diff --git 
a/tiered-storage/jcloud/src/test/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreManagedLedgerOffloaderTest.java
 
b/tiered-storage/jcloud/src/test/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreManagedLedgerOffloaderTest.java
index 47cd590..7f80397 100644
--- 
a/tiered-storage/jcloud/src/test/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreManagedLedgerOffloaderTest.java
+++ 
b/tiered-storage/jcloud/src/test/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreManagedLedgerOffloaderTest.java
@@ -240,6 +240,17 @@ class BlobStoreManagedLedgerOffloaderTest extends 
BlobStoreTestBase {
     }
 
     @Test
+    public void testS3DriverConfiguredWell() throws Exception {
+        TieredStorageConfigurationData conf = new 
TieredStorageConfigurationData();
+        conf.setManagedLedgerOffloadDriver("s3");
+        conf.setS3ManagedLedgerOffloadBucket(BUCKET);
+        
conf.setS3ManagedLedgerOffloadServiceEndpoint("http://fake.s3.end.point";);
+
+        // should success and no exception thrown.
+        BlobStoreManagedLedgerOffloader.create(conf, scheduler);
+    }
+
+    @Test
     public void testOffloadAndRead() throws Exception {
         ReadHandle toWrite = buildReadHandle(DEFAULT_BLOCK_SIZE, 3);
         LedgerOffloader offloader = new 
BlobStoreManagedLedgerOffloader(blobStore, BUCKET, scheduler,

Reply via email to