[docs] Document Paimon dynamic read options - #4021
Merged
Gabriel39 merged 2 commits intoAug 3, 2026
Merged
Conversation
Gabriel39
added a commit
to Gabriel39/incubator-doris
that referenced
this pull request
Jul 30, 2026
### What problem does this PR solve? Issue Number: None Related PR: apache#66247 Problem Summary: Doris allowed only `read.batch-size` and `file-reader-async-threshold` through Paimon Catalog properties and relation `@options`, so safe batch-read planning controls such as split sizing, file-index reads, and manifest planning were rejected. The missing support also made it unclear which official Paimon option names Doris consumes; these names must remain the Paimon names and do not all use a `scan.` prefix. Expand the allowlist to the seven batch-read options consumed by Doris, validate their types and safety bounds, and keep manifest/partition-order settings on the effective metadata projection path. Catalog defaults and relation overrides now accept the same reader tuning while context selectors, Flink enumerator settings, streaming, layout, and write options remain excluded. The previous BE unit-test commit also omitted the new `JniColumn.output_type` member from two designated initializers. Clang treats that omission as an error under the BE UT warning policy, so initialize the field explicitly in both tests. ### Release note Paimon Catalog properties and relation `@options` now support `read.batch-size`, `file-reader-async-threshold`, `file-index.read.enabled`, `source.split.target-size`, `source.split.open-file-cost`, `scan.manifest.parallelism`, and `scan.plan-sort-partition`. ### Check List (For Author) - Test: - Unit and P0 regression coverage added. - Isolated Paimon 1.3.1 Java compile/runtime validation passed. - Regression framework compilation passed (466 Groovy files). - Doris clang-format 16 check passed. - Full FE/BE unit execution was not run locally because the installed third-party toolchain, including `protoc`, is absent; CI is requested. - Behavior changed: Yes. Doris accepts five additional safe Paimon batch-read options from Catalog defaults and relation-scoped overrides. - Does this need documentation: Yes. apache/doris-website#4021
Gabriel39
marked this pull request as ready for review
July 30, 2026 07:43
Gabriel39
added a commit
to Gabriel39/incubator-doris
that referenced
this pull request
Jul 30, 2026
Issue Number: None Related PR: apache#66247 Problem Summary: Doris allowed only `read.batch-size` and `file-reader-async-threshold` through Paimon Catalog properties and relation `@options`, so safe batch-read planning controls such as split sizing, file-index reads, and manifest planning were rejected. The missing support also made it unclear which official Paimon option names Doris consumes; these names must remain the Paimon names and do not all use a `scan.` prefix. Expand the allowlist to the seven batch-read options consumed by Doris, validate their types and safety bounds, and keep manifest/partition-order settings on the effective metadata projection path. Catalog defaults and relation overrides now accept the same reader tuning while context selectors, Flink enumerator settings, streaming, layout, and write options remain excluded. The previous BE unit-test commit also omitted the new `JniColumn.output_type` member from two designated initializers. Clang treats that omission as an error under the BE UT warning policy, so initialize the field explicitly in both tests. Paimon Catalog properties and relation `@options` now support `read.batch-size`, `file-reader-async-threshold`, `file-index.read.enabled`, `source.split.target-size`, `source.split.open-file-cost`, `scan.manifest.parallelism`, and `scan.plan-sort-partition`. - Test: - Unit and P0 regression coverage added. - Isolated Paimon 1.3.1 Java compile/runtime validation passed. - Regression framework compilation passed (466 Groovy files). - Doris clang-format 16 check passed. - Full FE/BE unit execution was not run locally because the installed third-party toolchain, including `protoc`, is absent; CI is requested. - Behavior changed: Yes. Doris accepts five additional safe Paimon batch-read options from Catalog defaults and relation-scoped overrides. - Does this need documentation: Yes. apache/doris-website#4021
Gabriel39
added a commit
to Gabriel39/incubator-doris
that referenced
this pull request
Jul 31, 2026
### What problem does this PR solve? Issue Number: None Related PR: apache#66247 Problem Summary: Doris allowed only `read.batch-size` and `file-reader-async-threshold` through Paimon Catalog properties and relation `@options`, so safe batch-read planning controls such as split sizing, file-index reads, and manifest planning were rejected. The missing support also made it unclear which official Paimon option names Doris consumes; these names must remain the Paimon names and do not all use a `scan.` prefix. Expand the allowlist to the seven batch-read options consumed by Doris, validate their types and safety bounds, and keep manifest/partition-order settings on the effective metadata projection path. Catalog defaults and relation overrides now accept the same reader tuning while context selectors, Flink enumerator settings, streaming, layout, and write options remain excluded. The previous BE unit-test commit also omitted the new `JniColumn.output_type` member from two designated initializers. Clang treats that omission as an error under the BE UT warning policy, so initialize the field explicitly in both tests. ### Release note Paimon Catalog properties and relation `@options` now support `read.batch-size`, `file-reader-async-threshold`, `file-index.read.enabled`, `source.split.target-size`, `source.split.open-file-cost`, `scan.manifest.parallelism`, and `scan.plan-sort-partition`. ### Check List (For Author) - Test: - Unit and P0 regression coverage added. - Isolated Paimon 1.3.1 Java compile/runtime validation passed. - Regression framework compilation passed (466 Groovy files). - Doris clang-format 16 check passed. - Full FE/BE unit execution was not run locally because the installed third-party toolchain, including `protoc`, is absent; CI is requested. - Behavior changed: Yes. Doris accepts five additional safe Paimon batch-read options from Catalog defaults and relation-scoped overrides. - Does this need documentation: Yes. apache/doris-website#4021
Gabriel39
added a commit
to Gabriel39/incubator-doris
that referenced
this pull request
Jul 31, 2026
Issue Number: None Related PR: apache#66247 Problem Summary: Doris allowed only `read.batch-size` and `file-reader-async-threshold` through Paimon Catalog properties and relation `@options`, so safe batch-read planning controls such as split sizing, file-index reads, and manifest planning were rejected. The missing support also made it unclear which official Paimon option names Doris consumes; these names must remain the Paimon names and do not all use a `scan.` prefix. Expand the allowlist to the seven batch-read options consumed by Doris, validate their types and safety bounds, and keep manifest/partition-order settings on the effective metadata projection path. Catalog defaults and relation overrides now accept the same reader tuning while context selectors, Flink enumerator settings, streaming, layout, and write options remain excluded. The previous BE unit-test commit also omitted the new `JniColumn.output_type` member from two designated initializers. Clang treats that omission as an error under the BE UT warning policy, so initialize the field explicitly in both tests. Paimon Catalog properties and relation `@options` now support `read.batch-size`, `file-reader-async-threshold`, `file-index.read.enabled`, `source.split.target-size`, `source.split.open-file-cost`, `scan.manifest.parallelism`, and `scan.plan-sort-partition`. - Test: - Unit and P0 regression coverage added. - Isolated Paimon 1.3.1 Java compile/runtime validation passed. - Regression framework compilation passed (466 Groovy files). - Doris clang-format 16 check passed. - Full FE/BE unit execution was not run locally because the installed third-party toolchain, including `protoc`, is absent; CI is requested. - Behavior changed: Yes. Doris accepts five additional safe Paimon batch-read options from Catalog defaults and relation-scoped overrides. - Does this need documentation: Yes. apache/doris-website#4021
Gabriel39
added a commit
to Gabriel39/incubator-doris
that referenced
this pull request
Aug 2, 2026
Issue Number: None Related PR: apache#66247 Problem Summary: Doris allowed only `read.batch-size` and `file-reader-async-threshold` through Paimon Catalog properties and relation `@options`, so safe batch-read planning controls such as split sizing, file-index reads, and manifest planning were rejected. The missing support also made it unclear which official Paimon option names Doris consumes; these names must remain the Paimon names and do not all use a `scan.` prefix. Expand the allowlist to the seven batch-read options consumed by Doris, validate their types and safety bounds, and keep manifest/partition-order settings on the effective metadata projection path. Catalog defaults and relation overrides now accept the same reader tuning while context selectors, Flink enumerator settings, streaming, layout, and write options remain excluded. The previous BE unit-test commit also omitted the new `JniColumn.output_type` member from two designated initializers. Clang treats that omission as an error under the BE UT warning policy, so initialize the field explicitly in both tests. Paimon Catalog properties and relation `@options` now support `read.batch-size`, `file-reader-async-threshold`, `file-index.read.enabled`, `source.split.target-size`, `source.split.open-file-cost`, `scan.manifest.parallelism`, and `scan.plan-sort-partition`. - Test: - Unit and P0 regression coverage added. - Isolated Paimon 1.3.1 Java compile/runtime validation passed. - Regression framework compilation passed (466 Groovy files). - Doris clang-format 16 check passed. - Full FE/BE unit execution was not run locally because the installed third-party toolchain, including `protoc`, is absent; CI is requested. - Behavior changed: Yes. Doris accepts five additional safe Paimon batch-read options from Catalog defaults and relation-scoped overrides. - Does this need documentation: Yes. apache/doris-website#4021
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.
Summary
Document the complete user-visible Paimon read behavior implemented by apache/doris#66247 and its branch-4.1 backport apache/doris#66297.
@optionstime-travel selectors, combination constraints, view behavior, and explicit failure semantics.@optionsand the unsupported file-creation-time filter.The same behavior is documented in current and 4.x English and Chinese pages.
Related code changes:
master)branch-4.1)Version scope
The implementation targets Doris master and branch-4.1, so this change updates
currentand4.x. The behavior is not present in 3.x or 2.1.Validation
yarn docs:links:changedyarn docs:features:changedyarn docs:i18n-sync:changedyarn docs:lint:changedyarn build(all configured English, Chinese, Japanese, and historical-version pages; exit code 0)git diff --checkAll validation commands pass. The reports retain existing repository-wide Markdown, sidebar, SEO, external-link, and Japanese translation-candidate notices; no new error is introduced by these changes.
Versions
Languages
Docs Checklist