[refactor](statistics) Organize statistics classes by responsibility - #67483
Draft
morrySnow wants to merge 2 commits into
Draft
[refactor](statistics) Organize statistics classes by responsibility#67483morrySnow wants to merge 2 commits into
morrySnow wants to merge 2 commits into
Conversation
### What problem does this PR solve?
Issue Number: N/A
Related PR: N/A
Problem Summary: The statistics package mixed optimizer-facing value models with collection workflows, cache internals, and statistics-table persistence, making ownership difficult to identify. Move those classes into analysis, cache, and repository packages, mirror the test layout, update all imports, and document the package boundaries without changing runtime logic.
### Release note
None
### Check List (For Author)
- Test: Unit Test
- Statistics-related FE unit tests: 109 passed
- FE build and Checkstyle passed with MVN_OPT=-Dmaven.test.skip=true ./build.sh --fe
- Behavior changed: No
- Does this need documentation: No
morrySnow
requested review from
924060929,
CalvinKirs,
dataroaring,
englefly,
gavinchou,
luwei16,
morningman,
mymeiyi and
starocean999
as code owners
September 3, 2026 08:52
Contributor
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
morrySnow
marked this pull request as draft
September 3, 2026 09:00
### What problem does this PR solve?
Issue Number: N/A
Related PR: N/A
Problem Summary: Move shared statistics value objects, histograms, builders, ranges, and metric types into the statistics.model package, and move collection-specific descriptors into statistics.analysis. This completes the package responsibility split without changing runtime behavior.
### Release note
None
### Check List (For Author)
- Test: Unit Test
- ./run-fe-ut.sh --run <24 statistics test classes> (202 tests)
- bash build-support/tests/test-fe-connector-imports.sh
- Behavior changed: No
- Does this need documentation: No
Contributor
Author
|
run buildall |
Contributor
TPC-H: Total hot run time: 16794 ms |
Contributor
TPC-DS: Total hot run time: 82230 ms |
Contributor
ClickBench: Total hot run time: 14.67 s |
Contributor
FE Regression Coverage ReportIncrement line coverage |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What problem does this PR solve?
Issue Number: N/A
Related PR: N/A
Problem Summary:
The
org.apache.doris.statisticspackage mixed optimizer-facing statistics models with collection workflows, cache internals, and statistics-table persistence, making class ownership difficult to identify.This PR reorganizes those classes by responsibility:
statisticsroot package;statistics.model;statistics.analysis;statistics.cache;statistics.repository;README.mdandpackage-info.java.No runtime logic or persisted field format changes.
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Test result
bash build-support/tests/test-fe-connector-imports.sh: passed.