Skip to content

Commit 1ee1868

Browse files
lktskkrik-es
andauthored
Fix matching of half_float and scaled_float values in LogsDB tests (elastic#121098) (elastic#121140)
Co-authored-by: Kostas Krikellas <[email protected]>
1 parent 8496dde commit 1ee1868

File tree

3 files changed

+9
-13
lines changed

3 files changed

+9
-13
lines changed

test/framework/src/main/java/org/elasticsearch/logsdb/datageneration/FieldType.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,11 @@
1313
import org.elasticsearch.logsdb.datageneration.fields.leaf.ByteFieldDataGenerator;
1414
import org.elasticsearch.logsdb.datageneration.fields.leaf.DoubleFieldDataGenerator;
1515
import org.elasticsearch.logsdb.datageneration.fields.leaf.FloatFieldDataGenerator;
16+
import org.elasticsearch.logsdb.datageneration.fields.leaf.HalfFloatFieldDataGenerator;
1617
import org.elasticsearch.logsdb.datageneration.fields.leaf.IntegerFieldDataGenerator;
1718
import org.elasticsearch.logsdb.datageneration.fields.leaf.KeywordFieldDataGenerator;
1819
import org.elasticsearch.logsdb.datageneration.fields.leaf.LongFieldDataGenerator;
20+
import org.elasticsearch.logsdb.datageneration.fields.leaf.ScaledFloatFieldDataGenerator;
1921
import org.elasticsearch.logsdb.datageneration.fields.leaf.ShortFieldDataGenerator;
2022
import org.elasticsearch.logsdb.datageneration.fields.leaf.UnsignedLongFieldDataGenerator;
2123

@@ -30,7 +32,9 @@ public enum FieldType {
3032
SHORT("short"),
3133
BYTE("byte"),
3234
DOUBLE("double"),
33-
FLOAT("float");
35+
FLOAT("float"),
36+
HALF_FLOAT("half_float"),
37+
SCALED_FLOAT("scaled_float");
3438

3539
private final String name;
3640

@@ -48,6 +52,8 @@ public FieldDataGenerator generator(String fieldName, DataSource dataSource) {
4852
case BYTE -> new ByteFieldDataGenerator(fieldName, dataSource);
4953
case DOUBLE -> new DoubleFieldDataGenerator(fieldName, dataSource);
5054
case FLOAT -> new FloatFieldDataGenerator(fieldName, dataSource);
55+
case HALF_FLOAT -> new HalfFloatFieldDataGenerator(fieldName, dataSource);
56+
case SCALED_FLOAT -> new ScaledFloatFieldDataGenerator(fieldName, dataSource);
5157
};
5258
}
5359

test/framework/src/main/java/org/elasticsearch/logsdb/datageneration/datasource/DefaultMappingParametersHandler.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ public DataSourceResponse.LeafMappingParametersGenerator handle(DataSourceReques
3232

3333
return new DataSourceResponse.LeafMappingParametersGenerator(switch (request.fieldType()) {
3434
case KEYWORD -> keywordMapping(request, map);
35-
case LONG, INTEGER, SHORT, BYTE, DOUBLE, FLOAT, UNSIGNED_LONG -> plain(map);
35+
case LONG, INTEGER, SHORT, BYTE, DOUBLE, FLOAT, HALF_FLOAT, UNSIGNED_LONG -> plain(map);
36+
case SCALED_FLOAT -> scaledFloatMapping(map);
3637
});
3738
}
3839

test/framework/src/main/java/org/elasticsearch/logsdb/datageneration/matchers/source/SourceMatcher.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -159,10 +159,6 @@ private Optional<MatchResult> matchWithFieldSpecificMatcher(String fieldName, Li
159159
}
160160
}
161161

162-
if (sourceMatchesExactly(expectedFieldMapping, expectedValues)) {
163-
return Optional.empty();
164-
}
165-
166162
var fieldSpecificMatcher = fieldSpecificMatchers.get(actualFieldType);
167163
if (fieldSpecificMatcher == null) {
168164
return Optional.empty();
@@ -177,13 +173,6 @@ private Optional<MatchResult> matchWithFieldSpecificMatcher(String fieldName, Li
177173
return Optional.of(matched);
178174
}
179175

180-
// Checks for scenarios when source is stored exactly and therefore can be compared without special logic.
181-
private boolean sourceMatchesExactly(MappingTransforms.FieldMapping mapping, List<Object> expectedValues) {
182-
return mapping.parentMappingParameters().stream().anyMatch(m -> m.getOrDefault("enabled", "true").equals("false"))
183-
|| mapping.mappingParameters().getOrDefault("synthetic_source_keep", "none").equals("all")
184-
|| expectedValues.size() > 1 && mapping.mappingParameters().getOrDefault("synthetic_source_keep", "none").equals("arrays");
185-
}
186-
187176
private MatchResult matchWithGenericMatcher(List<Object> actualValues, List<Object> expectedValues) {
188177
var genericListMatcher = new ListEqualMatcher(
189178
actualMappings,

0 commit comments

Comments
 (0)