From 7cb08bd6dd659600b6752a8272bfb6585e1f63ed Mon Sep 17 00:00:00 2001 From: cryptoe Date: Thu, 14 Nov 2024 15:10:26 +0530 Subject: [PATCH 1/2] Backward compatible interfaces. --- .../org/apache/druid/storage/ExportStorageProvider.java | 9 ++++++++- .../apache/druid/storage/StorageConnectorProvider.java | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) 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..c9f70aa829de 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,10 @@ public interface ExportStorageProvider String getFilePathForManifest(String fileName); StorageConnector createStorageConnector(File taskTempDir); + + @Override + 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..0ca63be496ec 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,10 @@ public interface StorageConnectorProvider * task id, and such dynamic task specific bindings is not possible on indexers. */ StorageConnector createStorageConnector(File defaultTempDir); + + @Override + default StorageConnector get() + { + return createStorageConnector(null); + } } From d6420ff42a81b0e9f7f8bfb4a6be3d41015590e9 Mon Sep 17 00:00:00 2001 From: cryptoe Date: Thu, 14 Nov 2024 18:51:28 +0530 Subject: [PATCH 2/2] Adding deprecated flag and javadocs. --- .../org/apache/druid/storage/ExportStorageProvider.java | 7 +++++++ .../apache/druid/storage/StorageConnectorProvider.java | 8 ++++++++ 2 files changed, 15 insertions(+) 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 c9f70aa829de..10c3781fa9f8 100644 --- a/processing/src/main/java/org/apache/druid/storage/ExportStorageProvider.java +++ b/processing/src/main/java/org/apache/druid/storage/ExportStorageProvider.java @@ -38,7 +38,14 @@ public interface ExportStorageProvider extends Provider 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 0ca63be496ec..f2772e13a516 100644 --- a/processing/src/main/java/org/apache/druid/storage/StorageConnectorProvider.java +++ b/processing/src/main/java/org/apache/druid/storage/StorageConnectorProvider.java @@ -38,7 +38,15 @@ public interface StorageConnectorProvider extends Provider */ 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);