You are viewing documentation for an older version (3.7) of Kafka. For up-to-date documentation, see the latest version.
Tiered Storage Configs
Below are the configuration properties for Tiered Storage.
log.local.retention.bytes
The maximum size of local log segments that can grow for a partition before it gets eligible for deletion. Default value is -2, it represents `log.retention.bytes` value to be used. The effective value should always be less than or equal to `log.retention.bytes` value.
Type: long Default: -2 Valid Values: [-2,...] Importance: medium log.local.retention.ms
The number of milliseconds to keep the local log segments before it gets eligible for deletion. Default value is -2, it represents `log.retention.ms` value is to be used. The effective value should always be less than or equal to `log.retention.ms` value.
Type: long Default: -2 Valid Values: [-2,...] Importance: medium remote.log.manager.thread.pool.size
Size of the thread pool used in scheduling tasks to copy segments, fetch remote log indexes and clean up remote log segments.
Type: int Default: 10 Valid Values: [1,...] Importance: medium remote.log.metadata.manager.class.name
Fully qualified class name of `RemoteLogMetadataManager` implementation.
Type: string Default: org.apache.kafka.server.log.remote.metadata.storage.TopicBasedRemoteLogMetadataManager Valid Values: non-empty string Importance: medium remote.log.metadata.manager.class.path
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 as the standard Java class path string.
Type: string Default: null Valid Values: Importance: medium remote.log.metadata.manager.impl.prefix
Prefix used for properties to be passed to RemoteLogMetadataManager implementation. For example this value can be `rlmm.config.`.
Type: string Default: rlmm.config. Valid Values: non-empty string Importance: medium remote.log.metadata.manager.listener.name
Listener name of the local broker to which it should get connected if needed by RemoteLogMetadataManager implementation.
Type: string Default: null Valid Values: non-empty string Importance: medium remote.log.reader.max.pending.tasks
Maximum remote log reader thread pool task queue size. If the task queue is full, fetch requests are served with an error.
Type: int Default: 100 Valid Values: [1,...] Importance: medium remote.log.reader.threads
Size of the thread pool that is allocated for handling remote log reads.
Type: int Default: 10 Valid Values: [1,...] Importance: medium remote.log.storage.manager.class.name
Fully qualified class name of `RemoteStorageManager` implementation.
Type: string Default: null Valid Values: non-empty string Importance: medium remote.log.storage.manager.class.path
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.
Type: string Default: null Valid Values: Importance: medium remote.log.storage.manager.impl.prefix
Prefix used for properties to be passed to RemoteStorageManager implementation. For example this value can be `rsm.config.`.
Type: string Default: rsm.config. Valid Values: non-empty string Importance: medium remote.log.storage.system.enable
Whether to enable tiered storage functionality in a broker or not. Valid values are `true` or `false` and the default value is false. When it is true broker starts all the services required for the tiered storage functionality.
Type: boolean Default: false Valid Values: Importance: medium remote.log.index.file.cache.total.size.bytes
The total size of the space allocated to store index files fetched from remote storage in the local storage.
Type: long Default: 1073741824 (1 gibibyte) Valid Values: [1,...] Importance: low remote.log.manager.task.interval.ms
Interval at which remote log manager runs the scheduled tasks like copy segments, and clean up remote log segments.
Type: long Default: 30000 (30 seconds) Valid Values: [1,...] Importance: low remote.log.metadata.custom.metadata.max.bytes
The maximum size of custom metadata in bytes that the broker should accept from a remote storage plugin. If custom metadata exceeds this limit, the updated segment metadata will not be stored, the copied data will be attempted to delete, and the remote copying task for this topic-partition will stop with an error.
Type: int Default: 128 Valid Values: [0,...] Importance: low
remote.log.metadata.consume.wait.ms
The amount of time in milliseconds to wait for the local consumer to receive the published event.
Type: long Default: 120000 (2 minutes) Valid Values: [0,...] Importance: low remote.log.metadata.initialization.retry.interval.ms
The retry interval in milliseconds for retrying RemoteLogMetadataManager resources initialization again.
Type: long Default: 100 Valid Values: [0,...] Importance: low remote.log.metadata.initialization.retry.max.timeout.ms
The maximum amount of time in milliseconds for retrying RemoteLogMetadataManager resources initialization. When total retry intervals reach this timeout, initialization is considered as failed and broker starts shutting down.
Type: long Default: 120000 (2 minutes) Valid Values: [0,...] Importance: low remote.log.metadata.topic.num.partitions
The number of partitions for remote log metadata topic.
Type: int Default: 50 Valid Values: [1,...] Importance: low remote.log.metadata.topic.replication.factor
Replication factor of remote log metadata topic.
Type: short Default: 3 Valid Values: [1,...] Importance: low remote.log.metadata.topic.retention.ms
Retention of remote log metadata topic in milliseconds. Default: -1, that means unlimited. Users can configure this value based on their use cases. To avoid any data loss, this value should be more than the maximum retention period of any topic enabled with tiered storage in the cluster.
Type: long Default: -1 Valid Values: Importance: low