Package org.apache.pulsar.compaction
Class PublishingOrderCompactor
java.lang.Object
org.apache.pulsar.compaction.Compactor
org.apache.pulsar.compaction.AbstractTwoPhaseCompactor<org.apache.pulsar.client.api.MessageId>
org.apache.pulsar.compaction.PublishingOrderCompactor
- Direct Known Subclasses:
StrategicTwoPhaseCompactor
public class PublishingOrderCompactor
extends AbstractTwoPhaseCompactor<org.apache.pulsar.client.api.MessageId>
-
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
ConstructorsConstructorDescriptionPublishingOrderCompactor(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.pulsar.client.api.MessageId> 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.pulsar.client.api.MessageId> latestForKey, RawMessage m, org.apache.pulsar.common.api.proto.MessageMetadata metadata, org.apache.pulsar.client.api.MessageId id) protected List<org.apache.commons.lang3.tuple.ImmutableTriple<org.apache.pulsar.client.api.MessageId,String, Integer>> extractIdsAndKeysAndSizeFromBatch(RawMessage msg, org.apache.pulsar.common.api.proto.MessageMetadata metadata) toLatestMessageIdForKey(Map<String, org.apache.pulsar.client.api.MessageId> latestForKey) Methods inherited from class org.apache.pulsar.compaction.AbstractTwoPhaseCompactor
closeLedger, createLedger, deleteLedger, doCompaction, extractKeyAndSize, getPhaseOneLoopReadTimeoutInSeconds, rebatchMessage
-
Constructor Details
-
PublishingOrderCompactor
public PublishingOrderCompactor(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.pulsar.client.api.MessageId> latestForKey) - Specified by:
toLatestMessageIdForKeyin classAbstractTwoPhaseCompactor<org.apache.pulsar.client.api.MessageId>
-
compactMessage
protected boolean compactMessage(String topic, Map<String, org.apache.pulsar.client.api.MessageId> latestForKey, RawMessage m, org.apache.pulsar.common.api.proto.MessageMetadata metadata, org.apache.pulsar.client.api.MessageId id) - Specified by:
compactMessagein classAbstractTwoPhaseCompactor<org.apache.pulsar.client.api.MessageId>
-
compactBatchMessage
protected boolean compactBatchMessage(String topic, Map<String, org.apache.pulsar.client.api.MessageId> latestForKey, RawMessage m, org.apache.pulsar.common.api.proto.MessageMetadata metadata, org.apache.pulsar.client.api.MessageId id) - Specified by:
compactBatchMessagein classAbstractTwoPhaseCompactor<org.apache.pulsar.client.api.MessageId>
-
extractIdsAndKeysAndSizeFromBatch
protected List<org.apache.commons.lang3.tuple.ImmutableTriple<org.apache.pulsar.client.api.MessageId,String, extractIdsAndKeysAndSizeFromBatchInteger>> (RawMessage msg, org.apache.pulsar.common.api.proto.MessageMetadata metadata) throws IOException - Throws:
IOException
-