Class PersistentReplicator
java.lang.Object
org.apache.pulsar.broker.service.AbstractReplicator
org.apache.pulsar.broker.service.persistent.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
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.pulsar.broker.service.AbstractReplicator
AbstractReplicator.State -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final org.apache.bookkeeper.mledger.ManagedCursorFields inherited from class org.apache.pulsar.broker.service.AbstractReplicator
backOff, brokerService, client, localCluster, producer, producerBuilder, producerQueueSize, remoteCluster, REPL_PRODUCER_NAME_DELIMITER, replicationClient, replicatorPrefix, STATE_UPDATER, topicName -
Constructor Summary
ConstructorsConstructorDescriptionPersistentReplicator(PersistentTopic topic, org.apache.bookkeeper.mledger.ManagedCursor cursor, String localCluster, String remoteCluster, BrokerService brokerService, org.apache.pulsar.client.impl.PulsarClientImpl replicationClient) -
Method Summary
Modifier and TypeMethodDescriptionvoiddeleteComplete(Object ctx) voiddeleteFailed(org.apache.bookkeeper.mledger.ManagedLedgerException exception, Object ctx) protected voiddisconnect(boolean failIfHasBacklog) booleanexpireMessages(int messageTTLInSeconds) booleanexpireMessages(org.apache.bookkeeper.mledger.Position position) org.apache.bookkeeper.mledger.ManagedCursorprotected longprotected org.apache.bookkeeper.mledger.Positionorg.apache.pulsar.common.policies.data.stats.ReplicatorStatsImplgetStats()voidbooleanCompletableFuture<org.apache.bookkeeper.mledger.Entry>peekNthMessage(int messagePosition) protected voidreadEntries(org.apache.pulsar.client.api.Producer<byte[]> producer) voidreadEntriesComplete(List<org.apache.bookkeeper.mledger.Entry> entries, Object ctx) voidreadEntriesFailed(org.apache.bookkeeper.mledger.ManagedLedgerException exception, Object ctx) protected voidskipMessages(int numMessagesToSkip) voidvoidupdateMessageTTL(int messageTTLInSeconds) voidvoidMethods inherited from class org.apache.pulsar.broker.service.AbstractReplicator
closeProducerAsync, getRemoteCluster, getRemoteCluster, getReplicatorName, getState, isWritable, remove, startProducer, validatePartitionedTopicAsyncMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.pulsar.broker.service.Replicator
getRemoteCluster, startProducer
-
Field Details
-
cursor
protected final org.apache.bookkeeper.mledger.ManagedCursor cursor
-
-
Constructor Details
-
PersistentReplicator
public PersistentReplicator(PersistentTopic topic, org.apache.bookkeeper.mledger.ManagedCursor cursor, String localCluster, String remoteCluster, BrokerService brokerService, org.apache.pulsar.client.impl.PulsarClientImpl replicationClient) throws org.apache.pulsar.broker.PulsarServerException - Throws:
org.apache.pulsar.broker.PulsarServerException
-
-
Method Details
-
readEntries
protected void readEntries(org.apache.pulsar.client.api.Producer<byte[]> producer) - Specified by:
readEntriesin classAbstractReplicator
-
getReplicatorReadPosition
protected org.apache.bookkeeper.mledger.Position getReplicatorReadPosition()- Specified by:
getReplicatorReadPositionin classAbstractReplicator
-
getNumberOfEntriesInBacklog
protected long getNumberOfEntriesInBacklog()- Specified by:
getNumberOfEntriesInBacklogin classAbstractReplicator
-
disableReplicatorRead
protected void disableReplicatorRead()- Specified by:
disableReplicatorReadin classAbstractReplicator
-
readMoreEntries
protected void readMoreEntries() -
readEntriesComplete
- Specified by:
readEntriesCompletein interfaceorg.apache.bookkeeper.mledger.AsyncCallbacks.ReadEntriesCallback
-
updateCursorState
public void updateCursorState() -
readEntriesFailed
public void readEntriesFailed(org.apache.bookkeeper.mledger.ManagedLedgerException exception, Object ctx) - Specified by:
readEntriesFailedin interfaceorg.apache.bookkeeper.mledger.AsyncCallbacks.ReadEntriesCallback
-
clearBacklog
-
skipMessages
-
peekNthMessage
-
deleteComplete
- Specified by:
deleteCompletein interfaceorg.apache.bookkeeper.mledger.AsyncCallbacks.DeleteCallback
-
deleteFailed
public void deleteFailed(org.apache.bookkeeper.mledger.ManagedLedgerException exception, Object ctx) - Specified by:
deleteFailedin interfaceorg.apache.bookkeeper.mledger.AsyncCallbacks.DeleteCallback
-
updateRates
public void updateRates()- Specified by:
updateRatesin interfaceReplicator
-
getStats
public org.apache.pulsar.common.policies.data.stats.ReplicatorStatsImpl getStats()- Specified by:
getStatsin interfaceReplicator
-
updateMessageTTL
public void updateMessageTTL(int messageTTLInSeconds) -
expireMessages
public boolean expireMessages(int messageTTLInSeconds) -
expireMessages
public boolean expireMessages(org.apache.bookkeeper.mledger.Position position) -
getRateLimiter
- Specified by:
getRateLimiterin interfaceReplicator
-
initializeDispatchRateLimiterIfNeeded
public void initializeDispatchRateLimiterIfNeeded()- Specified by:
initializeDispatchRateLimiterIfNeededin interfaceReplicator
-
updateRateLimiter
public void updateRateLimiter()- Specified by:
updateRateLimiterin interfaceReplicator
-
disconnect
- Specified by:
disconnectin interfaceReplicator- Overrides:
disconnectin classAbstractReplicator
-
disconnect
- Specified by:
disconnectin interfaceReplicator- Overrides:
disconnectin classAbstractReplicator
-
isConnected
public boolean isConnected()- Specified by:
isConnectedin interfaceReplicator
-
getCursor
public org.apache.bookkeeper.mledger.ManagedCursor getCursor()
-