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

heiming pushed a commit to branch tiered_storage
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/tiered_storage by this push:
     new f31a7764e7 add os type in the construction method
f31a7764e7 is described below

commit f31a7764e7f3bf988a6dcd102ef79d3bdeef2d67
Author: HeimingZ <[email protected]>
AuthorDate: Thu May 18 17:33:17 2023 +0800

    add os type in the construction method
---
 .../src/main/java/org/apache/iotdb/os/cache/OSFileCache.java     | 6 +++---
 .../main/java/org/apache/iotdb/os/conf/ObjectStorageConfig.java  | 2 +-
 .../src/main/java/org/apache/iotdb/os/fileSystem/OSFile.java     | 6 +++++-
 .../main/java/org/apache/iotdb/os/utils/ObjectStorageType.java   | 8 ++++++--
 .../src/test/java/org/apache/iotdb/os/cache/OSFileCacheTest.java | 9 +++++++--
 5 files changed, 22 insertions(+), 9 deletions(-)

diff --git 
a/object-storage/src/main/java/org/apache/iotdb/os/cache/OSFileCache.java 
b/object-storage/src/main/java/org/apache/iotdb/os/cache/OSFileCache.java
index ade8ce98a7..a11c140d84 100644
--- a/object-storage/src/main/java/org/apache/iotdb/os/cache/OSFileCache.java
+++ b/object-storage/src/main/java/org/apache/iotdb/os/cache/OSFileCache.java
@@ -47,8 +47,8 @@ public class OSFileCache {
    */
   private final LoadingCache<OSFileCacheKey, OSFileCacheValue> 
remotePos2LocalCacheFile;
 
-  OSFileCache() {
-    connector = ObjectStorageType.getConnector();
+  OSFileCache(ObjectStorageType osType) {
+    connector = ObjectStorageType.getConnector(osType);
     remotePos2LocalCacheFile =
         Caffeine.newBuilder()
             .maximumWeight(config.getCacheMaxDiskUsage())
@@ -93,6 +93,6 @@ public class OSFileCache {
   private static class InstanceHolder {
     private InstanceHolder() {}
 
-    private static final OSFileCache INSTANCE = new OSFileCache();
+    private static final OSFileCache INSTANCE = new 
OSFileCache(config.getOsType());
   }
 }
diff --git 
a/object-storage/src/main/java/org/apache/iotdb/os/conf/ObjectStorageConfig.java
 
b/object-storage/src/main/java/org/apache/iotdb/os/conf/ObjectStorageConfig.java
index 2c41e7c869..1375ada8b5 100644
--- 
a/object-storage/src/main/java/org/apache/iotdb/os/conf/ObjectStorageConfig.java
+++ 
b/object-storage/src/main/java/org/apache/iotdb/os/conf/ObjectStorageConfig.java
@@ -24,7 +24,7 @@ import org.apache.iotdb.os.utils.ObjectStorageType;
 import java.io.File;
 
 public class ObjectStorageConfig {
-  private ObjectStorageType osType = ObjectStorageType.TEST;
+  private ObjectStorageType osType = ObjectStorageType.AWS_S3;
 
   private AWSS3Config awss3Config = new AWSS3Config();
 
diff --git 
a/object-storage/src/main/java/org/apache/iotdb/os/fileSystem/OSFile.java 
b/object-storage/src/main/java/org/apache/iotdb/os/fileSystem/OSFile.java
index d5c9fa060c..31de138b9a 100644
--- a/object-storage/src/main/java/org/apache/iotdb/os/fileSystem/OSFile.java
+++ b/object-storage/src/main/java/org/apache/iotdb/os/fileSystem/OSFile.java
@@ -57,9 +57,13 @@ public class OSFile extends File {
   private long length = 0L;
 
   public OSFile(OSURI osUri) {
+    this(osUri, config.getOsType());
+  }
+
+  public OSFile(OSURI osUri, ObjectStorageType osType) {
     super(osUri.getURI().toString());
     this.osUri = osUri;
-    connector = ObjectStorageType.getConnector();
+    connector = ObjectStorageType.getConnector(osType);
   }
 
   public OSFile(String pathname) {
diff --git 
a/object-storage/src/main/java/org/apache/iotdb/os/utils/ObjectStorageType.java 
b/object-storage/src/main/java/org/apache/iotdb/os/utils/ObjectStorageType.java
index 74a2ab0055..cb793bd366 100644
--- 
a/object-storage/src/main/java/org/apache/iotdb/os/utils/ObjectStorageType.java
+++ 
b/object-storage/src/main/java/org/apache/iotdb/os/utils/ObjectStorageType.java
@@ -26,8 +26,8 @@ public enum ObjectStorageType {
   TEST,
   AWS_S3;
 
-  public static ObjectStorageConnector getConnector() {
-    switch (ObjectStorageDescriptor.getInstance().getConfig().getOsType()) {
+  public static ObjectStorageConnector getConnector(ObjectStorageType type) {
+    switch (type) {
       case AWS_S3:
         return new S3ObjectStorageConnector();
       case TEST:
@@ -35,4 +35,8 @@ public enum ObjectStorageType {
         return null;
     }
   }
+
+  public static ObjectStorageConnector getConnector() {
+    return 
getConnector(ObjectStorageDescriptor.getInstance().getConfig().getOsType());
+  }
 }
diff --git 
a/object-storage/src/test/java/org/apache/iotdb/os/cache/OSFileCacheTest.java 
b/object-storage/src/test/java/org/apache/iotdb/os/cache/OSFileCacheTest.java
index 7ddcd56050..51b8e35175 100644
--- 
a/object-storage/src/test/java/org/apache/iotdb/os/cache/OSFileCacheTest.java
+++ 
b/object-storage/src/test/java/org/apache/iotdb/os/cache/OSFileCacheTest.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.os.conf.ObjectStorageDescriptor;
 import org.apache.iotdb.os.fileSystem.OSFile;
 import org.apache.iotdb.os.fileSystem.OSURI;
 import org.apache.iotdb.os.io.ObjectStorageConnector;
+import org.apache.iotdb.os.utils.ObjectStorageType;
 
 import org.junit.After;
 import org.junit.Before;
@@ -48,8 +49,12 @@ public class OSFileCacheTest {
   private static final File cacheDir = new File("target" + File.separator + 
"cache");
   private static final ObjectStorageConfig config =
       ObjectStorageDescriptor.getInstance().getConfig();
-  @InjectMocks private OSFileCache cache = new OSFileCache();
-  @InjectMocks private OSFile testFile = new OSFile(new OSURI("test_bucket", 
"test_key"));
+  @InjectMocks private OSFileCache cache = new 
OSFileCache(ObjectStorageType.TEST);
+
+  @InjectMocks
+  private OSFile testFile =
+      new OSFile(new OSURI("test_bucket", "test_key"), ObjectStorageType.TEST);
+
   @Mock private ObjectStorageConnector connector;
   private int prevCachePageSize;
   private String[] prevCacheDirs;

Reply via email to