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,