Class CloudTokenPersistor

  • All Implemented Interfaces:
    java.lang.Runnable

    public class CloudTokenPersistor
    extends com.github.ambry.replication.ReplicaTokenPersistor
    CloudTokenPersistor persists replication token to a cloud storage.
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.github.ambry.replication.ReplicaTokenPersistor

        com.github.ambry.replication.ReplicaTokenPersistor.ReplicaTokenSerde
    • Field Summary

      • Fields inherited from class com.github.ambry.replication.ReplicaTokenPersistor

        mountPathsToSkip, partitionGroupedByMountPath, replicationMetrics, replicaTokenSerde
    • Constructor Summary

      Constructors 
      Constructor Description
      CloudTokenPersistor​(java.lang.String replicaTokenFileName, java.util.Map<java.lang.String,​java.util.Set<com.github.ambry.replication.PartitionInfo>> partitionGroupedByMountPath, com.github.ambry.replication.ReplicationMetrics replicationMetrics, com.github.ambry.clustermap.ClusterMap clusterMap, com.github.ambry.replication.FindTokenHelper tokenHelper, CloudDestination cloudDestination)
      Constructor for CloudTokenPersistor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void persist​(java.lang.String mountPath, java.util.List<com.github.ambry.replication.RemoteReplicaInfo.ReplicaTokenInfo> tokenInfoList)  
      java.util.List<com.github.ambry.replication.RemoteReplicaInfo.ReplicaTokenInfo> retrieve​(java.lang.String mountPath)  
      • Methods inherited from class com.github.ambry.replication.ReplicaTokenPersistor

        run, write, write
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CloudTokenPersistor

        public CloudTokenPersistor​(java.lang.String replicaTokenFileName,
                                   java.util.Map<java.lang.String,​java.util.Set<com.github.ambry.replication.PartitionInfo>> partitionGroupedByMountPath,
                                   com.github.ambry.replication.ReplicationMetrics replicationMetrics,
                                   com.github.ambry.clustermap.ClusterMap clusterMap,
                                   com.github.ambry.replication.FindTokenHelper tokenHelper,
                                   CloudDestination cloudDestination)
        Constructor for CloudTokenPersistor.
        Parameters:
        replicaTokenFileName - the token's file name.
        partitionGroupedByMountPath - A map between mount path and list of partitions under this mount path.
        replicationMetrics - metrics including token persist time.
        clusterMap - the ClusterMap to deserialize tokens.
        tokenHelper - the FindTokenHelper to deserialize tokens.
    • Method Detail

      • persist

        protected void persist​(java.lang.String mountPath,
                               java.util.List<com.github.ambry.replication.RemoteReplicaInfo.ReplicaTokenInfo> tokenInfoList)
                        throws java.io.IOException,
                               com.github.ambry.replication.ReplicationException
        Specified by:
        persist in class com.github.ambry.replication.ReplicaTokenPersistor
        Throws:
        java.io.IOException
        com.github.ambry.replication.ReplicationException
      • retrieve

        public java.util.List<com.github.ambry.replication.RemoteReplicaInfo.ReplicaTokenInfo> retrieve​(java.lang.String mountPath)
                                                                                                 throws com.github.ambry.replication.ReplicationException
        Specified by:
        retrieve in class com.github.ambry.replication.ReplicaTokenPersistor
        Throws:
        com.github.ambry.replication.ReplicationException