Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -199,8 +199,14 @@ public PopConsumerContext handleGetMessageResult(PopConsumerContext context, Get
return context;
}

public long getPopOffset(String groupId, String topicId, int queueId, int initMode) {
long offset = this.brokerController.getConsumerOffsetManager().queryPullOffset(groupId, topicId, queueId);
public long getPopOffset(String groupId, String topicId, int queueId, int initMode, boolean fifo) {

// For FIFO messages, the pull offset is not used.
// This preserves compatibility when switching from pull consumer to pop consumer.
long offset = fifo ?
this.brokerController.getConsumerOffsetManager().queryOffset(groupId, topicId, queueId) :
this.brokerController.getConsumerOffsetManager().queryPullOffset(groupId, topicId, queueId);

if (offset < 0L) {
try {
offset = this.brokerController.getPopMessageProcessor()
Expand Down Expand Up @@ -309,7 +315,7 @@ protected CompletableFuture<PopConsumerContext> getMessageAsync(CompletableFutur
result.addRestCount(this.getPendingFilterCount(groupId, topicId, queueId));
return CompletableFuture.completedFuture(result);
} else {
final long consumeOffset = this.getPopOffset(groupId, topicId, queueId, result.getInitMode());
final long consumeOffset = this.getPopOffset(groupId, topicId, queueId, result.getInitMode(), result.isFifo());
return getMessageAsync(clientHost, groupId, topicId, queueId, consumeOffset, remain, filter)
.thenApply(getMessageResult -> handleGetMessageResult(
result, getMessageResult, topicId, queueId, retryType, consumeOffset));
Expand Down
Loading