diff --git a/processing/src/main/java/org/apache/druid/storage/ExportStorageProvider.java b/processing/src/main/java/org/apache/druid/storage/ExportStorageProvider.java index d19b2f5f7e1b..10c3781fa9f8 100644 --- a/processing/src/main/java/org/apache/druid/storage/ExportStorageProvider.java +++ b/processing/src/main/java/org/apache/druid/storage/ExportStorageProvider.java @@ -20,11 +20,12 @@ package org.apache.druid.storage; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.google.inject.Provider; import java.io.File; @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type") -public interface ExportStorageProvider +public interface ExportStorageProvider extends Provider { String getResourceType(); @@ -36,4 +37,17 @@ public interface ExportStorageProvider String getFilePathForManifest(String fileName); StorageConnector createStorageConnector(File taskTempDir); + + /** + * It is the responsibilty of the caller to have the tempDir configured through runtime properties. If tempDir not configured, + * usages of {@link StorageConnector} might throw exception. + *

+ * Deprecated in favour of {@link ExportStorageProvider#createStorageConnector(File)}. + */ + @Override + @Deprecated + default StorageConnector get() + { + return createStorageConnector(null); + } } diff --git a/processing/src/main/java/org/apache/druid/storage/StorageConnectorProvider.java b/processing/src/main/java/org/apache/druid/storage/StorageConnectorProvider.java index a2023e6aa946..f2772e13a516 100644 --- a/processing/src/main/java/org/apache/druid/storage/StorageConnectorProvider.java +++ b/processing/src/main/java/org/apache/druid/storage/StorageConnectorProvider.java @@ -20,11 +20,12 @@ package org.apache.druid.storage; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.google.inject.Provider; import java.io.File; @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type") -public interface StorageConnectorProvider +public interface StorageConnectorProvider extends Provider { /** * Returns the storage connector. Takes a parameter defaultTempDir to be possibly used as the temporary directory, if the @@ -36,4 +37,18 @@ public interface StorageConnectorProvider * task id, and such dynamic task specific bindings is not possible on indexers. */ StorageConnector createStorageConnector(File defaultTempDir); + + + /** + * It is the responsibilty of the caller to have the tempDir configured through runtime properties. If tempDir not configured, + * usages of {@link StorageConnector} might throw exception. + *

+ * Deprecated in favour of {@link StorageConnectorProvider#createStorageConnector(File)}. + */ + @Override + @Deprecated + default StorageConnector get() + { + return createStorageConnector(null); + } }