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>
  • Constructor Details

  • Method Details

    • toLatestMessageIdForKey

      protected Map<String,org.apache.pulsar.client.api.MessageId> toLatestMessageIdForKey(Map<String,org.apache.pulsar.client.api.MessageId> latestForKey)
      Specified by:
      toLatestMessageIdForKey in class AbstractTwoPhaseCompactor<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:
      compactMessage in class AbstractTwoPhaseCompactor<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:
      compactBatchMessage in class AbstractTwoPhaseCompactor<org.apache.pulsar.client.api.MessageId>
    • extractIdsAndKeysAndSizeFromBatch

      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) throws IOException
      Throws:
      IOException