Skip to content

[test](fuzzy) Keep FileScannerV2 enabled - #67153

Merged
yiguolei merged 1 commit into
apache:branch-4.1from
Gabriel39:dev/enable-file-scanner-v2-only-testing
Aug 26, 2026
Merged

[test](fuzzy) Keep FileScannerV2 enabled#67153
yiguolei merged 1 commit into
apache:branch-4.1from
Gabriel39:dev/enable-file-scanner-v2-only-testing

Conversation

@Gabriel39

Copy link
Copy Markdown
Contributor

What problem does this PR solve?

Problem Summary:

Fuzzy session initialization currently randomizes enable_file_scanner_v2, so regression runs may use either FileScannerV2 or the legacy V1 path. Going forward, fuzzy regression testing should cover only the default FileScannerV2-enabled path.

This change removes the variable from fuzzy randomization and adds a unit test that protects the enabled invariant.

Release note

None

Check List (For Author)

  • Test

    • Regression test
    • Unit Test
    • Manual test
    • No need to test or manual test.
  • Behavior changed:

    • No.
    • Yes. Fuzzy sessions keep enable_file_scanner_v2 enabled instead of randomizing it.
  • Does this need documentation?

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

  • Confirm the release note
  • Confirm test cases
  • Confirm document
  • Add branch pick label

@Gabriel39
Gabriel39 requested a review from yiguolei as a code owner August 26, 2026 06:37
@hello-stephen

Copy link
Copy Markdown
Contributor

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@Gabriel39

Copy link
Copy Markdown
Contributor Author

run buildall

@Gabriel39

Copy link
Copy Markdown
Contributor Author

/review

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Requesting changes for one correctness gap.

Critical checkpoints:

  • Correctness and lifecycle: fuzzy connection creation and COM_RESET_CONNECTION clone the mutable, persisted global session-variable default before fuzzy initialization, so an inherited false is no longer replaced and the promised V2-only fuzzy invariant is not guaranteed.
  • Runtime and compatibility: the surviving false is forwarded through TQueryOptions and selects legacy V1 in BE. Explicit per-session V1 overrides issued after initialization remain available and are not the problem.
  • Tests: the added unit test starts from the Java field default true and does not cover the production inherited-false path. Per runner instructions, no local build or test was run. All completed applicable CI checks currently pass or are intentionally skipped; compile and FE UT are still pending.
  • Diagnostics, security, and performance: no additional issue found. Removing the fuzzy annotation only stops a non-randomized constant from appearing in fuzzy diagnostics; normal forwarding and changed-variable audit reporting remain intact.
  • User focus: no additional review focus was provided.

Review completion: two full normal/risk-focused rounds converged with no additional unique findings; the inline issue below is the sole blocker.


@Test
public void testFileScannerV2StaysEnabledInFuzzyMode() throws Exception {
SessionVariable sessionVar = new SessionVariable();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This only verifies the pristine Java default. Real connections clone VariableMgr.defaultSessionVariable before initFuzzyModeVariables(); that default is mutable via SET GLOBAL and persisted/replayed. If it is false, fuzzy initialization now leaves it false and the forwarded option still selects legacy V1, so fuzzy sessions are not actually guaranteed to stay on V2. Please exercise an inherited false here and restore an unconditional enableFileScannerV2 = true assignment in initFuzzyModeVariables().

@hello-stephen

Copy link
Copy Markdown
Contributor

FE Regression Coverage Report

Increment line coverage 100.00% (1/1) 🎉
Increment coverage report
Complete coverage report

@yiguolei
yiguolei merged commit c89dbc0 into apache:branch-4.1 Aug 26, 2026
31 of 32 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

PR approved by anyone and no changes requested.

@github-actions github-actions Bot added the approved Indicates a PR has been approved by one committer. label Aug 26, 2026
@github-actions

Copy link
Copy Markdown
Contributor

PR approved by at least one committer and no changes requested.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by one committer. reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants