airborne12 opened a new pull request, #68252: URL: https://github.com/apache/doris/pull/68252
### What problem does this PR solve? Issue Number: N/A Related PR: #65894 Problem Summary: Backport of apache/doris#65894 to `branch-4.1`. Test-only change. `search/test_search_score_cache` fails intermittently when the regression cluster runs with fuzzy session variables. `SessionVariable.initFuzzyModeVariables()` randomizes the VARIANT defaults used at CREATE TABLE time: doc mode is enabled with 50% probability, and `default_variant_doc_materialization_min_rows` is then set to `nextInt(20)` with 50% probability. The suite inserts only 8 rows, so whenever the threshold lands in 9..19 the `host` path is kept only in the doc-value column, is not materialized as a subcolumn and gets no inverted index. `CAST(v["host"] AS STRING) MATCH_PHRASE ...` then falls back to the non-index match path, no BM25 scorer runs, `score()` is filled with 0 and the `score() > 0` assertion fails at `test_search_score_cache.groovy:24 / :36 / :189`. The backport pins the three VARIANT session variables before CREATE TABLE so `v.host` is always materialized as an indexed subcolumn. It is unrelated to the inverted index query cache. Source PR: https://github.com/apache/doris/pull/65894 Source commit: `1197ae1fa9800b7026317e3bd2fd2f26b527053b` (squash merge, single parent), picked with `git cherry-pick -x`, no conflict, original author preserved. No revert or follow-up fix of #65894 exists on master. #66858 later touched the same suite, but it is the "Variant V2 by default" feature, not a fix of this change, and is not part of this backport. ### Backport hunk audit | # | Source file and hunk | Result | Target evidence | | --- | --- | --- | --- | | 1 | `regression-test/suites/search/test_search_score_cache.groovy @@ -43,6 +43,11 @@ suite("test_search_score_cache", "p0") {` | Ported (verbatim) | Target context lines 43-46 are identical to the source; the resulting hunk is byte-for-byte equal to the source diff. All three session variables exist in `SessionVariable.java` on `branch-4.1`. | ### Verification Format, compile and unit tests do not apply: the only changed file is a Groovy regression suite. Because the source PR changes a regression suite, the suite was actually run on the target branch. Cluster: single FE + single BE, shared-nothing, fuzzy session variables off, binaries `doris-4.1.4-rc04` (built from branch-4.1 on 2026-09-16; the change is test-only, so no rebuild is needed). Command: `./run-regression-test.sh --run --conf <conf> -d search -s test_search_score_cache`. | Step | Setup | Result | | --- | --- | --- | | RED | Unpatched suite from `origin/branch-4.1`; `set global default_variant_enable_doc_mode=true`, `default_variant_max_subcolumns_count=0`, `default_variant_doc_materialization_min_rows=10` | `Test 1 suites, failed 1 suites`; stack `test_search_score_cache.groovy:24` -> `:36` -> `:189`. The table is created with `variant_enable_doc_mode=true`, `variant_doc_materialization_min_rows=10`; the score query returns ids 4 and 2 with `score() = 0`; BE logs `collection_statistics.cpp:63] Index statistics collection failed: [E-6003] ... No index with id ...`. | | GREEN | This PR's suite, same forced globals | `Test 1 suites, failed 0 suites` | | GREEN | This PR's suite, default globals | `Test 1 suites, failed 0 suites` | ### Release note None ### Check List (For Author) - Test - [x] Regression test - [ ] Unit Test - [ ] Manual test (add detailed scripts or steps below) - [ ] No need to test or manual test. Explain why: - [ ] This is a refactor/code format and no logic has been changed. - [ ] Previous test can cover this change. - [ ] No code files have been changed. - [ ] Other reason - Behavior changed: - [x] No. - [ ] Yes. - Does this need documentation? - [x] No. - [ ] Yes. ### Check List (For Reviewer who merge this PR) - [ ] Confirm the release note - [ ] Confirm test cases - [ ] Confirm document - [ ] Add branch pick label -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
