Interface RemoteLogMetadataManager

All Superinterfaces:
AutoCloseable, Closeable, Configurable

@Evolving
public interface RemoteLogMetadataManager
extends Configurable, Closeable
This interface provides storing and fetching remote log segment metadata with strongly consistent semantics.

This class can be plugged in to Kafka cluster by adding the implementation class as remote.log.metadata.manager.class.name property value. There is an inbuilt implementation backed by topic storage in the local cluster. This is used as the default implementation if 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 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.

"cluster.id", "broker.id" and all other properties prefixed with "remote.log.metadata." are passed when Configurable.configure(Map) is invoked on this instance.