- 
                Notifications
    
You must be signed in to change notification settings  - Fork 25.6k
 
ES|QL: Add FUSE operator tests #135307
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ES|QL: Add FUSE operator tests #135307
Conversation
| 
           Pinging @elastic/es-search-relevance (Team:Search Relevance)  | 
    
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
A couple of questions regarding named writeables registration and normalization testing
| } | ||
| 
               | 
          ||
| private LinearConfig randomConfig() { | ||
| return new LinearConfig(LinearConfig.Normalizer.NONE, randomWeights()); | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we test other normalizations as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes - I plan to add more tests - for all normalizations, when scores are nulls, multivalues etc.
        
          
                x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/plugin/EsqlPlugin.java
          
            Show resolved
            Hide resolved
        
      …-dls * upstream/main: (100 commits) ES|QL: Add FUSE operator tests (elastic#135307) [D0CS] Revise connector setup steps in documentation (elastic#135426) Fix DiscoveryDisruptionIT.testElectMasterWithLatestVersion (elastic#135396) [DOCS] Marks the change point agg as GA (elastic#134898) Rework ShardSearchContextId to explain use of searcher id better (elastic#135233) [CI] Handle caching bwc dependencies more gracefully (elastic#135417) Mute org.elasticsearch.gradle.TestClustersPluginFuncTest override jdk usage via ES_JAVA_HOME for known jdk os incompatibilities elastic#135413 [Build] update eclipse formatter used by spotless (elastic#135382) [Test] Fix typo in build tool tests (elastic#135405) Fixes testSnapshotShutdownProgressTracker (elastic#134926) Mute org.elasticsearch.upgrades.StandardToLogsDbIndexModeRollingUpgradeIT testLogsIndexing {upgradedNodes=1} elastic#135313 OTLP: remove feature flag (elastic#135401) [Docs] Convert asciidoc lifecycle markers into Docs V3 syntax (elastic#135347) Mute org.elasticsearch.upgrades.QueryableBuiltInRolesUpgradeIT testBuiltInRolesSyncedOnClusterUpgrade elastic#135194 Mute org.elasticsearch.upgrades.IndexingIT testIndexing elastic#135407 Mute org.elasticsearch.upgrades.DataStreamsUpgradeIT testDataStreamValidationDoesNotBreakUpgrade elastic#135406 [CI] Handle git snapshot BWC versions correctly when calculating jdk fallback (elastic#135399) [Build] Update checkstyle from 10.3 to 11.0.1 (elastic#135381) Mute org.elasticsearch.upgrades.TextRollingUpgradeIT testIndexing {upgradedNodes=2} elastic#135238 Mute org.elasticsearch.upgrades.MatchOnlyTextRollingUpgradeIT testIndexing {upgradedNodes=2} elastic#135325 ...
Tracked in #123389
This adds operator tests for
LinearScoreEvalOperatorandRrfScoreEvalOperator.The tests uncovered some cases where if a
CircuitBreakerExceptionis raised doing the execution, theLinearScoreEvalOperatorandRrfScoreEvalOperatorwere not always releasing all the blocks.Another issue we uncovered with the operator tests is that the
LinearScoreEvalOperatordid not have a proper operator status. UnlikeRrfScoreEvalOperator, theLinearScoreEvalOperatorcannot inherit fromAbstractPageMappingOperator.When score normalization is used, we need to preprocess all pages before we output any pages.
So we add a custom
Operator, which is inspired by other examples in the codebase.Adding a custom
Operatoralso comes with its own transport version.This also meant bumping the EsqlCapability for FUSE, so bwc tests don't fail when the new transport version does not exist on older nodes.