- #### 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