Class AdminTopicMetadataAccessor

java.lang.Object
com.linkedin.venice.controller.AdminTopicMetadataAccessor
Direct Known Subclasses:
InMemoryAdminTopicMetadataAccessor, ZkAdminTopicMetadataAccessor

public abstract class AdminTopicMetadataAccessor extends Object
This class provides a set of methods to access and update metadata for admin topics.
  • Field Details

    • POSITION_KEY

      public static final String POSITION_KEY
      See Also:
    • UPSTREAM_POSITION_KEY

      public static final String UPSTREAM_POSITION_KEY
      When remote consumption is enabled, child controller will consume directly from the source admin topic; an extra metadata called upstream offset will be maintained, which indicate the last offset in the source admin topic that gets processed successfully.
      See Also:
    • EXECUTION_ID_KEY

      public static final String EXECUTION_ID_KEY
      See Also:
    • ADMIN_OPERATION_PROTOCOL_VERSION_KEY

      public static final String ADMIN_OPERATION_PROTOCOL_VERSION_KEY
      See Also:
    • UNDEFINED_VALUE

      public static final Long UNDEFINED_VALUE
  • Constructor Details

    • AdminTopicMetadataAccessor

      public AdminTopicMetadataAccessor()
  • Method Details

    • getPositions

      public static Pair<PubSubPosition,PubSubPosition> getPositions(AdminMetadata metadata)
    • getAdminOperationProtocolVersion

      public static long getAdminOperationProtocolVersion(AdminMetadata metadata)
      Returns:
      the value to which the specified key is mapped to ADMIN_OPERATION_PROTOCOL_VERSION_KEY.
    • getExecutionId

      public static long getExecutionId(AdminMetadata metadata)
      Returns:
      the execution ID from the metadata
    • updateMetadata

      public abstract void updateMetadata(String clusterName, AdminMetadata metadata)
      Update specific metadata for a given cluster in a single transaction with information provided in metadata.
      Parameters:
      clusterName - of the cluster at interest.
      metadata - AdminMetadata containing relevant information.
    • getMetadata

      public abstract AdminMetadata getMetadata(String clusterName)
      Retrieve the latest metadata.
      Parameters:
      clusterName - of the cluster at interest.
      Returns:
      AdminMetadata containing all metadata information