Class PersistentReplicator

  • All Implemented Interfaces:
    org.apache.bookkeeper.mledger.AsyncCallbacks.DeleteCallback, org.apache.bookkeeper.mledger.AsyncCallbacks.ReadEntriesCallback, Replicator

    public class PersistentReplicator
    extends AbstractReplicator
    implements Replicator, org.apache.bookkeeper.mledger.AsyncCallbacks.ReadEntriesCallback, org.apache.bookkeeper.mledger.AsyncCallbacks.DeleteCallback
    • Field Detail

      • cursor

        protected final org.apache.bookkeeper.mledger.ManagedCursor cursor
    • Constructor Detail

      • PersistentReplicator

        public PersistentReplicator​(PersistentTopic topic,
                                    org.apache.bookkeeper.mledger.ManagedCursor cursor,
                                    java.lang.String localCluster,
                                    java.lang.String remoteCluster,
                                    BrokerService brokerService,
                                    org.apache.pulsar.client.impl.PulsarClientImpl replicationClient)
                             throws org.apache.pulsar.broker.PulsarServerException
        Throws:
        org.apache.pulsar.broker.PulsarServerException
    • Method Detail

      • readEntries

        protected void readEntries​(org.apache.pulsar.client.api.Producer<byte[]> producer)
        Specified by:
        readEntries in class AbstractReplicator
      • readMoreEntries

        protected void readMoreEntries()
      • readEntriesComplete

        public void readEntriesComplete​(java.util.List<org.apache.bookkeeper.mledger.Entry> entries,
                                        java.lang.Object ctx)
        Specified by:
        readEntriesComplete in interface org.apache.bookkeeper.mledger.AsyncCallbacks.ReadEntriesCallback
      • updateCursorState

        public void updateCursorState()
      • readEntriesFailed

        public void readEntriesFailed​(org.apache.bookkeeper.mledger.ManagedLedgerException exception,
                                      java.lang.Object ctx)
        Specified by:
        readEntriesFailed in interface org.apache.bookkeeper.mledger.AsyncCallbacks.ReadEntriesCallback
      • clearBacklog

        public java.util.concurrent.CompletableFuture<java.lang.Void> clearBacklog()
      • skipMessages

        public java.util.concurrent.CompletableFuture<java.lang.Void> skipMessages​(int numMessagesToSkip)
      • peekNthMessage

        public java.util.concurrent.CompletableFuture<org.apache.bookkeeper.mledger.Entry> peekNthMessage​(int messagePosition)
      • deleteComplete

        public void deleteComplete​(java.lang.Object ctx)
        Specified by:
        deleteComplete in interface org.apache.bookkeeper.mledger.AsyncCallbacks.DeleteCallback
      • deleteFailed

        public void deleteFailed​(org.apache.bookkeeper.mledger.ManagedLedgerException exception,
                                 java.lang.Object ctx)
        Specified by:
        deleteFailed in interface org.apache.bookkeeper.mledger.AsyncCallbacks.DeleteCallback
      • getStats

        public org.apache.pulsar.common.policies.data.stats.ReplicatorStatsImpl getStats()
        Specified by:
        getStats in interface Replicator
      • updateMessageTTL

        public void updateMessageTTL​(int messageTTLInSeconds)
      • expireMessages

        public boolean expireMessages​(int messageTTLInSeconds)
      • expireMessages

        public boolean expireMessages​(org.apache.bookkeeper.mledger.Position position)
      • getCursor

        public org.apache.bookkeeper.mledger.ManagedCursor getCursor()