This is an automated email from the ASF dual-hosted git repository.
cmccabe pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/kafka.git
The following commit(s) were added to refs/heads/3.0 by this push:
new 3c2afb2 MINOR: Fix KRaft snapshot delete bug in Scala 2.12 (#10997)
3c2afb2 is described below
commit 3c2afb27d076ccdb3019e2164ad2c133b0554eab
Author: David Arthur <[email protected]>
AuthorDate: Thu Jul 8 16:50:06 2021 -0700
MINOR: Fix KRaft snapshot delete bug in Scala 2.12 (#10997)
The sliding window + takeWhile behavior over a sequence seems somewhat
different between Scala 2.12 and Scala 2.13. This PR works around the
difference by using foreach with an early return.
Reviewers: Colin P. McCabe <[email protected]>
---
core/src/main/scala/kafka/raft/KafkaMetadataLog.scala | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/core/src/main/scala/kafka/raft/KafkaMetadataLog.scala
b/core/src/main/scala/kafka/raft/KafkaMetadataLog.scala
index df8e1af..697d7b6 100644
--- a/core/src/main/scala/kafka/raft/KafkaMetadataLog.scala
+++ b/core/src/main/scala/kafka/raft/KafkaMetadataLog.scala
@@ -404,13 +404,12 @@ final class KafkaMetadataLog private (
return false
var didClean = false
- snapshots.keys.toSeq.sliding(2).toSeq.takeWhile {
+ snapshots.keys.toSeq.sliding(2).foreach {
case Seq(snapshot: OffsetAndEpoch, nextSnapshot: OffsetAndEpoch) =>
if (predicate(snapshot) && deleteBeforeSnapshot(nextSnapshot)) {
didClean = true
- true
} else {
- false
+ return didClean
}
case _ => false // Shouldn't get here with the sliding window
}