setSequenceId(other.getSequenceId());
private void printSendCommandDebug(CommandSend send, ByteBuf headersAndPayload) { headersAndPayload.markReaderIndex(); MessageMetadata msgMetadata = Commands.parseMessageMetadata(headersAndPayload); headersAndPayload.resetReaderIndex(); log.debug("[{}] Received send message request. producer: {}:{} {}:{} size: {}", remoteAddress, send.getProducerId(), send.getSequenceId(), msgMetadata.getProducerName(), msgMetadata.getSequenceId(), headersAndPayload.readableBytes()); msgMetadata.recycle(); }
MessageMetadata md = Commands.parseMessageMetadata(headersAndPayload); producerName = md.getProducerName(); sequenceId = md.getSequenceId(); publishContext.setOriginalProducerName(producerName); publishContext.setOriginalSequenceId(sequenceId);
setSequenceId(other.getSequenceId());
@Override public void readEntriesComplete(List<Entry> entries, Object ctx) { for (Entry entry : entries) { ByteBuf messageMetadataAndPayload = entry.getDataBuffer(); MessageMetadata md = Commands.parseMessageMetadata(messageMetadataAndPayload); String producerName = md.getProducerName(); long sequenceId = md.getSequenceId(); highestSequencedPushed.put(producerName, sequenceId); highestSequencedPersisted.put(producerName, sequenceId); md.recycle(); entry.release(); } if (managedCursor.hasMoreEntries()) { // Read next batch of entries pulsar.getExecutor().execute(() -> replayCursor(future)); } else { // Done replaying future.complete(null); } }
@Override public long getSequenceId() { return msgMetadata.get().getSequenceId() + messageId.batchIndex; }