From 60416d685042dce1486b6d80fd6c7077dc3ac67d Mon Sep 17 00:00:00 2001 From: kanoshiou Date: Fri, 21 Feb 2025 21:09:04 +0800 Subject: [PATCH 1/4] fix --- .../index/mapper/extras/ScaledFloatFieldMapperTests.java | 2 +- muted-tests.yml | 9 --------- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/extras/ScaledFloatFieldMapperTests.java b/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/extras/ScaledFloatFieldMapperTests.java index 83fe07170d6e7..e01291e825030 100644 --- a/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/extras/ScaledFloatFieldMapperTests.java +++ b/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/extras/ScaledFloatFieldMapperTests.java @@ -449,7 +449,7 @@ private double roundDocValues(double d) { } long encoded = Math.round(d * scalingFactor); - return encoded * (1 / scalingFactor); + return encoded / scalingFactor; } private void mapping(XContentBuilder b) throws IOException { diff --git a/muted-tests.yml b/muted-tests.yml index 3344b6e4335b8..9cb8eab0dd5d6 100644 --- a/muted-tests.yml +++ b/muted-tests.yml @@ -332,18 +332,9 @@ tests: - class: org.elasticsearch.xpack.esql.action.CrossClusterQueryWithPartialResultsIT method: testPartialResults issue: https://github.com/elastic/elasticsearch/issues/123101 -- class: org.elasticsearch.index.mapper.extras.ScaledFloatFieldMapperTests - method: testBlockLoaderFromRowStrideReader - issue: https://github.com/elastic/elasticsearch/issues/123126 -- class: org.elasticsearch.index.mapper.extras.ScaledFloatFieldMapperTests - method: testBlockLoaderFromRowStrideReaderWithSyntheticSource - issue: https://github.com/elastic/elasticsearch/issues/123145 - class: org.elasticsearch.xpack.esql.action.CrossClusterAsyncQueryStopIT method: testStopQueryLocal issue: https://github.com/elastic/elasticsearch/issues/121672 -- class: org.elasticsearch.index.mapper.extras.ScaledFloatFieldMapperTests - method: testBlockLoaderFromColumnReaderWithSyntheticSource - issue: https://github.com/elastic/elasticsearch/issues/123149 # Examples: # From 0e38bd51e48963a2b757b873862a774ed2448d17 Mon Sep 17 00:00:00 2001 From: kanoshiou Date: Fri, 21 Feb 2025 21:18:19 +0800 Subject: [PATCH 2/4] Update docs/changelog/123144.yaml --- docs/changelog/123144.yaml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 docs/changelog/123144.yaml diff --git a/docs/changelog/123144.yaml b/docs/changelog/123144.yaml new file mode 100644 index 0000000000000..b26abc2b24cdd --- /dev/null +++ b/docs/changelog/123144.yaml @@ -0,0 +1,6 @@ +pr: 123144 +summary: Fix failed ScaledFloatFieldMapperTests +area: ES|QL +type: bug +issues: + - 123126 From 2fbf52ae7e98f4f24c4a3107bdb8b26e12b66496 Mon Sep 17 00:00:00 2001 From: Oleksandr Kolomiiets Date: Fri, 21 Feb 2025 10:14:46 -0800 Subject: [PATCH 3/4] iter --- docs/changelog/123144.yaml | 6 ------ .../mapper/extras/ScaledFloatFieldMapperTests.java | 14 +++----------- 2 files changed, 3 insertions(+), 17 deletions(-) delete mode 100644 docs/changelog/123144.yaml diff --git a/docs/changelog/123144.yaml b/docs/changelog/123144.yaml deleted file mode 100644 index b26abc2b24cdd..0000000000000 --- a/docs/changelog/123144.yaml +++ /dev/null @@ -1,6 +0,0 @@ -pr: 123144 -summary: Fix failed ScaledFloatFieldMapperTests -area: ES|QL -type: bug -issues: - - 123126 diff --git a/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/extras/ScaledFloatFieldMapperTests.java b/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/extras/ScaledFloatFieldMapperTests.java index e01291e825030..eae76cdfe0b0e 100644 --- a/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/extras/ScaledFloatFieldMapperTests.java +++ b/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/extras/ScaledFloatFieldMapperTests.java @@ -31,7 +31,6 @@ import org.elasticsearch.xcontent.XContentBuilder; import org.elasticsearch.xcontent.XContentFactory; import org.elasticsearch.xcontent.XContentType; -import org.hamcrest.Matcher; import org.junit.AssumptionViolatedException; import java.io.IOException; @@ -39,7 +38,6 @@ import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.function.Function; import java.util.function.Supplier; import java.util.stream.Stream; @@ -48,7 +46,6 @@ import static org.hamcrest.Matchers.empty; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.notANumber; public class ScaledFloatFieldMapperTests extends NumberFieldMapperTests { @@ -475,14 +472,9 @@ public List invalidExample() throws IOException { } } - @Override - protected Function loadBlockExpected() { - return v -> (Number) v; - } - - @Override - protected Matcher blockItemMatcher(Object expected) { - return "NaN".equals(expected) ? notANumber() : equalTo(expected); + protected BlockReaderSupport getSupportedReaders(MapperService mapper, String loaderFieldName) { + assumeTrue("Disabled, tested by ScaledFloatFieldBlockLoaderTests instead", false); + return null; } @Override From 41bdf0a0cb991f4d58055ae7ff87ea6b1186b46f Mon Sep 17 00:00:00 2001 From: Oleksandr Kolomiiets Date: Fri, 21 Feb 2025 10:18:06 -0800 Subject: [PATCH 4/4] remove more dead code --- .../extras/ScaledFloatFieldMapperTests.java | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/extras/ScaledFloatFieldMapperTests.java b/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/extras/ScaledFloatFieldMapperTests.java index eae76cdfe0b0e..1f1430d70c690 100644 --- a/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/extras/ScaledFloatFieldMapperTests.java +++ b/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/extras/ScaledFloatFieldMapperTests.java @@ -379,7 +379,7 @@ public SyntheticSourceExample example(int maxValues) { if (randomBoolean()) { Value v = generateValue(); if (v.malformedOutput == null) { - return new SyntheticSourceExample(v.input, v.output, roundDocValues(v.output), this::mapping); + return new SyntheticSourceExample(v.input, v.output, this::mapping); } return new SyntheticSourceExample(v.input, v.malformedOutput, null, this::mapping); } @@ -393,9 +393,7 @@ public SyntheticSourceExample example(int maxValues) { List outList = Stream.concat(outputFromDocValues.stream(), malformedOutput).toList(); Object out = outList.size() == 1 ? outList.get(0) : outList; - List outBlockList = outputFromDocValues.stream().map(this::roundDocValues).sorted().toList(); - Object outBlock = outBlockList.size() == 1 ? outBlockList.get(0) : outBlockList; - return new SyntheticSourceExample(in, out, outBlock, this::mapping); + return new SyntheticSourceExample(in, out, this::mapping); } private record Value(Object input, Double output, Object malformedOutput) {} @@ -439,16 +437,6 @@ private double round(double d) { return decoded; } - private double roundDocValues(double d) { - // Special case due to rounding, see implementation. - if (Math.abs(d) == Double.MAX_VALUE) { - return d; - } - - long encoded = Math.round(d * scalingFactor); - return encoded / scalingFactor; - } - private void mapping(XContentBuilder b) throws IOException { b.field("type", "scaled_float"); b.field("scaling_factor", scalingFactor);