Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagescala
Trait RemoteStorageManager extends Configurable {
    
     // Configure
     def configure(Map<String, ?> configs)

     // Copies LogSegmentsLogSegment provided by the RLM
     // Returns the RDIs of the RLM remote data
     // This method is used by the leader
     def copyLogSegment(logSegment: LogSegment): (boolean, Seq[RemoteLogIndexEntry]) 

     // List the remote log segment files of the specified topicPartition
     // The RLM of a follower uses this method to find out the remote data
     def listRemoteSegments(topicPartition: TopicPartition): Seq[RemoteLogSegmentInfo]

     // Called by the RLM of a follower to retrieve RemoteLogIndex entries
     // of the new remote log segment
     def copyLogSegments(logSegmentsgetRemoteLogIndexEntries(remoteLogSegment: RemoteLogSegmentInfo): SetSeq[LogSegmentRemoteLogIndexEntry]): boolean 

     // Deletes remote LogSegment filesfile provided by the RLM
     def deleteLogSegmentsdeleteLogSegment(logSegmentsremoteLogSegment: Set[LogSegment]RemoteLogSegmentInfo): boolean

     // read topic partition data from remote storage,
     // starting from the given offset. 
     def read(logSegmentremoteLocation:LogSegment RDI, maxBytes: Int, offset: Int): LogReadInfo


     // stops all the threads and closes the instance.
     def shutdown(): Unit   
}

...