Package org.apache.pulsar.compaction
Class EventTimeOrderCompactor
java.lang.Object
org.apache.pulsar.compaction.Compactor
org.apache.pulsar.compaction.AbstractTwoPhaseCompactor<org.apache.commons.lang3.tuple.Pair<org.apache.pulsar.client.api.MessageId,Long>>
org.apache.pulsar.compaction.EventTimeOrderCompactor
public class EventTimeOrderCompactor
extends AbstractTwoPhaseCompactor<org.apache.commons.lang3.tuple.Pair<org.apache.pulsar.client.api.MessageId,Long>>
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.pulsar.compaction.AbstractTwoPhaseCompactor
AbstractTwoPhaseCompactor.PhaseOneResult<T> -
Field Summary
Fields inherited from class org.apache.pulsar.compaction.AbstractTwoPhaseCompactor
MAX_OUTSTANDING, phaseOneLoopReadTimeout, topicCompactionRetainNullKeyFields inherited from class org.apache.pulsar.compaction.Compactor
bk, COMPACTED_TOPIC_LEDGER_PROPERTY, COMPACTION_SUBSCRIPTION, conf, mxBean, pulsar, scheduler -
Constructor Summary
ConstructorsConstructorDescriptionEventTimeOrderCompactor(ServiceConfiguration conf, org.apache.pulsar.client.api.PulsarClient pulsar, BookKeeper bk, ScheduledExecutorService scheduler) -
Method Summary
Modifier and TypeMethodDescriptionprotected booleancompactBatchMessage(String topic, Map<String, org.apache.commons.lang3.tuple.Pair<org.apache.pulsar.client.api.MessageId, Long>> latestForKey, RawMessage m, org.apache.pulsar.common.api.proto.MessageMetadata metadata, org.apache.pulsar.client.api.MessageId id) protected booleancompactMessage(String topic, Map<String, org.apache.commons.lang3.tuple.Pair<org.apache.pulsar.client.api.MessageId, Long>> latestForKey, RawMessage m, org.apache.pulsar.common.api.proto.MessageMetadata metadata, org.apache.pulsar.client.api.MessageId id) protected MessageCompactionDataextractMessageCompactionData(RawMessage m, org.apache.pulsar.common.api.proto.MessageMetadata metadata) toLatestMessageIdForKey(Map<String, org.apache.commons.lang3.tuple.Pair<org.apache.pulsar.client.api.MessageId, Long>> latestForKey) Methods inherited from class org.apache.pulsar.compaction.AbstractTwoPhaseCompactor
closeLedger, createLedger, deleteLedger, doCompaction, extractKeyAndSize, getPhaseOneLoopReadTimeoutInSeconds, rebatchMessage
-
Constructor Details
-
EventTimeOrderCompactor
public EventTimeOrderCompactor(ServiceConfiguration conf, org.apache.pulsar.client.api.PulsarClient pulsar, BookKeeper bk, ScheduledExecutorService scheduler)
-
-
Method Details
-
toLatestMessageIdForKey
protected Map<String,org.apache.pulsar.client.api.MessageId> toLatestMessageIdForKey(Map<String, org.apache.commons.lang3.tuple.Pair<org.apache.pulsar.client.api.MessageId, Long>> latestForKey) - Specified by:
toLatestMessageIdForKeyin classAbstractTwoPhaseCompactor<org.apache.commons.lang3.tuple.Pair<org.apache.pulsar.client.api.MessageId,Long>>
-
compactMessage
protected boolean compactMessage(String topic, Map<String, org.apache.commons.lang3.tuple.Pair<org.apache.pulsar.client.api.MessageId, Long>> latestForKey, RawMessage m, org.apache.pulsar.common.api.proto.MessageMetadata metadata, org.apache.pulsar.client.api.MessageId id) - Specified by:
compactMessagein classAbstractTwoPhaseCompactor<org.apache.commons.lang3.tuple.Pair<org.apache.pulsar.client.api.MessageId,Long>>
-
compactBatchMessage
protected boolean compactBatchMessage(String topic, Map<String, org.apache.commons.lang3.tuple.Pair<org.apache.pulsar.client.api.MessageId, Long>> latestForKey, RawMessage m, org.apache.pulsar.common.api.proto.MessageMetadata metadata, org.apache.pulsar.client.api.MessageId id) - Specified by:
compactBatchMessagein classAbstractTwoPhaseCompactor<org.apache.commons.lang3.tuple.Pair<org.apache.pulsar.client.api.MessageId,Long>>
-
extractMessageCompactionData
protected MessageCompactionData extractMessageCompactionData(RawMessage m, org.apache.pulsar.common.api.proto.MessageMetadata metadata)
-