From 1df7f4568da5a3aa968313ce57a0b1d030171ac5 Mon Sep 17 00:00:00 2001 From: Parker Timmins Date: Fri, 31 Jan 2025 10:08:50 -0600 Subject: [PATCH] ReindexDataStreamIndex bug in assertion caused by reference equality (#121325) (#121414) Assertion was using reference equality on two boxed longs. So assertion could produce false positives. Change to Objects.equals to check value and avoid null check. (cherry picked from commit eeb745cfa2f34d61c48ccd57db8d832315344cab) --- docs/changelog/121325.yaml | 5 +++++ .../action/ReindexDataStreamIndexTransportAction.java | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 docs/changelog/121325.yaml diff --git a/docs/changelog/121325.yaml b/docs/changelog/121325.yaml new file mode 100644 index 0000000000000..9a9edc67d19fa --- /dev/null +++ b/docs/changelog/121325.yaml @@ -0,0 +1,5 @@ +pr: 121325 +summary: '`ReindexDataStreamIndex` bug in assertion caused by reference equality' +area: Data streams +type: bug +issues: [] diff --git a/x-pack/plugin/migrate/src/main/java/org/elasticsearch/xpack/migrate/action/ReindexDataStreamIndexTransportAction.java b/x-pack/plugin/migrate/src/main/java/org/elasticsearch/xpack/migrate/action/ReindexDataStreamIndexTransportAction.java index 1dd0c6d13002e..32f323273db67 100644 --- a/x-pack/plugin/migrate/src/main/java/org/elasticsearch/xpack/migrate/action/ReindexDataStreamIndexTransportAction.java +++ b/x-pack/plugin/migrate/src/main/java/org/elasticsearch/xpack/migrate/action/ReindexDataStreamIndexTransportAction.java @@ -54,6 +54,7 @@ import java.util.Locale; import java.util.Map; +import java.util.Objects; import static org.elasticsearch.cluster.metadata.IndexMetadata.APIBlock.WRITE; @@ -372,7 +373,7 @@ private void sanityCheck( listener.delegateFailureAndWrap((delegate, ignored) -> { getIndexDocCount(sourceIndexName, parentTaskId, delegate.delegateFailureAndWrap((delegate1, sourceCount) -> { getIndexDocCount(destIndexName, parentTaskId, delegate1.delegateFailureAndWrap((delegate2, destCount) -> { - assert sourceCount == destCount + assert Objects.equals(sourceCount, destCount) : String.format( Locale.ROOT, "source index [%s] has %d docs and dest [%s] has %d docs",