diff --git a/clients/src/main/java/org/apache/kafka/common/config/TopicConfig.java b/clients/src/main/java/org/apache/kafka/common/config/TopicConfig.java index cad32445cd9..712c5e2b21e 100755 --- a/clients/src/main/java/org/apache/kafka/common/config/TopicConfig.java +++ b/clients/src/main/java/org/apache/kafka/common/config/TopicConfig.java @@ -76,7 +76,7 @@ public class TopicConfig { "their data. If set to -1, no time limit is applied."; public static final String REMOTE_LOG_STORAGE_ENABLE_CONFIG = "remote.storage.enable"; - public static final String REMOTE_LOG_STORAGE_ENABLE_DOC = "To enable tier storage for a topic, set `remote.storage.enable` as true. " + + public static final String REMOTE_LOG_STORAGE_ENABLE_DOC = "To enable tiered storage for a topic, set this configuration as true. " + "You can not disable this config once it is enabled. It will be provided in future versions."; public static final String LOCAL_LOG_RETENTION_MS_CONFIG = "local.retention.ms"; diff --git a/storage/api/src/main/java/org/apache/kafka/server/log/remote/storage/RemoteLogMetadataManager.java b/storage/api/src/main/java/org/apache/kafka/server/log/remote/storage/RemoteLogMetadataManager.java index 9ae36eb00d8..78d48fbd949 100644 --- a/storage/api/src/main/java/org/apache/kafka/server/log/remote/storage/RemoteLogMetadataManager.java +++ b/storage/api/src/main/java/org/apache/kafka/server/log/remote/storage/RemoteLogMetadataManager.java @@ -36,18 +36,17 @@ import java.util.concurrent.CompletableFuture; * remote.log.metadata.manager.class.name is not configured. *
*
- * remote.log.metadata.manager.class.path
property is about the class path of the RemoteLogStorageManager
- * implementation. If specified, the RemoteLogStorageManager implementation and its dependent libraries will be loaded
+ * remote.log.metadata.manager.class.path
property is about the class path of the RemoteLogMetadataManager
+ * implementation. If specified, the RemoteLogMetadataManager implementation and its dependent libraries will be loaded
* by a dedicated classloader which searches this class path before the Kafka broker class path. The syntax of this
* parameter is same with the standard Java class path string.
*
* remote.log.metadata.manager.listener.name
property is about listener name of the local broker to which
- * it should get connected if needed by RemoteLogMetadataManager implementation. When this is configured all other
- * required properties can be passed as properties with prefix of 'remote.log.metadata.manager.listener.
+ * it should get connected if needed by RemoteLogMetadataManager implementation.
*
*/ @InterfaceStability.Evolving diff --git a/storage/api/src/main/java/org/apache/kafka/server/log/remote/storage/RemoteStorageManager.java b/storage/api/src/main/java/org/apache/kafka/server/log/remote/storage/RemoteStorageManager.java index 33918017560..f05983c7588 100644 --- a/storage/api/src/main/java/org/apache/kafka/server/log/remote/storage/RemoteStorageManager.java +++ b/storage/api/src/main/java/org/apache/kafka/server/log/remote/storage/RemoteStorageManager.java @@ -22,6 +22,7 @@ import org.apache.kafka.server.log.remote.storage.RemoteLogSegmentMetadata.Custo import java.io.Closeable; import java.io.InputStream; +import java.util.Map; import java.util.Optional; /** @@ -36,6 +37,9 @@ import java.util.Optional; * responsible for storing and fetching metadata about the remote log segments in a strongly consistent manner. * This allows {@link RemoteStorageManager} to have eventual consistency on metadata (although the data is stored * in strongly consistent semantics). + *
+ * All properties prefixed with the config: "remote.log.storage.manager.impl.prefix" + * (default value is "rsm.config.") are passed when {@link #configure(Map)} is invoked on this instance. */ @InterfaceStability.Evolving public interface RemoteStorageManager extends Configurable, Closeable { diff --git a/storage/src/main/java/org/apache/kafka/server/log/remote/storage/RemoteLogManagerConfig.java b/storage/src/main/java/org/apache/kafka/server/log/remote/storage/RemoteLogManagerConfig.java index 32dcfe37311..1c937230a3f 100644 --- a/storage/src/main/java/org/apache/kafka/server/log/remote/storage/RemoteLogManagerConfig.java +++ b/storage/src/main/java/org/apache/kafka/server/log/remote/storage/RemoteLogManagerConfig.java @@ -61,11 +61,11 @@ public final class RemoteLogManagerConfig { public static final boolean DEFAULT_REMOTE_LOG_STORAGE_SYSTEM_ENABLE = false; public static final String REMOTE_STORAGE_MANAGER_CLASS_NAME_PROP = "remote.log.storage.manager.class.name"; - public static final String REMOTE_STORAGE_MANAGER_CLASS_NAME_DOC = "Fully qualified class name of `RemoteLogStorageManager` implementation."; + public static final String REMOTE_STORAGE_MANAGER_CLASS_NAME_DOC = "Fully qualified class name of `RemoteStorageManager` implementation."; public static final String REMOTE_STORAGE_MANAGER_CLASS_PATH_PROP = "remote.log.storage.manager.class.path"; - public static final String REMOTE_STORAGE_MANAGER_CLASS_PATH_DOC = "Class path of the `RemoteLogStorageManager` implementation. " + - "If specified, the RemoteLogStorageManager implementation and its dependent libraries will be loaded by a dedicated " + + public static final String REMOTE_STORAGE_MANAGER_CLASS_PATH_DOC = "Class path of the `RemoteStorageManager` implementation. " + + "If specified, the RemoteStorageManager implementation and its dependent libraries will be loaded by a dedicated " + "classloader which searches this class path before the Kafka broker class path. The syntax of this parameter is same " + "as the standard Java class path string.";