This is an automated email from the ASF dual-hosted git repository.
technoboy pushed a commit to branch branch-2.7
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/branch-2.7 by this push:
new 474138561fe Fix getting the last message-id from an empty compact
ledger. (#16402)
474138561fe is described below
commit 474138561fef58e3feddc6e4f706226a0e2ba5ef
Author: Jiwei Guo <[email protected]>
AuthorDate: Wed Jul 6 09:29:15 2022 +0800
Fix getting the last message-id from an empty compact ledger. (#16402)
---
.../org/apache/pulsar/compaction/CompactedTopicImpl.java | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/compaction/CompactedTopicImpl.java
b/pulsar-broker/src/main/java/org/apache/pulsar/compaction/CompactedTopicImpl.java
index ff00bfe9655..c3af219f21b 100644
---
a/pulsar-broker/src/main/java/org/apache/pulsar/compaction/CompactedTopicImpl.java
+++
b/pulsar-broker/src/main/java/org/apache/pulsar/compaction/CompactedTopicImpl.java
@@ -302,11 +302,16 @@ public class CompactedTopicImpl implements CompactedTopic
{
if (compactionHorizon == null) {
return CompletableFuture.completedFuture(null);
}
- return compactedTopicContext.thenCompose(context ->
- readEntries(context.ledger,
context.ledger.getLastAddConfirmed(), context.ledger.getLastAddConfirmed())
- .thenCompose(entries -> entries.size() > 0
- ?
CompletableFuture.completedFuture(entries.get(0))
- : CompletableFuture.completedFuture(null)));
+ return compactedTopicContext.thenCompose(context -> {
+ if (context.ledger.getLastAddConfirmed() == -1) {
+ return CompletableFuture.completedFuture(null);
+ }
+ return readEntries(context.ledger,
context.ledger.getLastAddConfirmed(),
+ context.ledger.getLastAddConfirmed())
+ .thenCompose(entries -> entries.size() > 0
+ ?
CompletableFuture.completedFuture(entries.get(0))
+ : CompletableFuture.completedFuture(null));
+ });
}
private static int comparePositionAndMessageId(PositionImpl p,
MessageIdData m) {