Skip to content

[fix](fe) give ConfField.description a single string in the streaming-job config - #66541

Merged
morningman merged 1 commit into
apache:masterfrom
morningman:fix-conffield-description-array
Aug 6, 2026
Merged

[fix](fe) give ConfField.description a single string in the streaming-job config#66541
morningman merged 1 commit into
apache:masterfrom
morningman:fix-conffield-description-array

Conversation

@morningman

Copy link
Copy Markdown
Contributor

What problem does this PR solve?

Issue Number: close #xxx

Related PR: #66342, #66238

Problem Summary:

master does not compile. fe-common fails at

Config.java:[1177,65] annotation value not of an allowable type

#66342 retyped ConfigBase.ConfField.description() from String[] to String and rewrote all 419 call sites accordingly. #66238 landed shortly after with

@ConfField(mutable = true, masterOnly = true, description = {
        "Minimum interval in seconds between snapshot offset persistence operations"})
public static int streaming_job_snapshot_offset_persist_interval_sec = 300;

written against the older String[] signature. The two changes are textually disjoint, so git merges them without a conflict and neither pull request could see the other — each was green on its own base.

The seven further errors reported in the same module are secondary. The bad annotation value aborts the annotation-processing round, so lombok never contributes its generated members, and @Slf4j's log plus @AllArgsConstructor/@Data's constructors go missing:

DiskUtils.java:[70,13] cannot find symbol
JobBaseConfig ... constructor cannot be applied to given types
AbstractSourceSplit ... constructor cannot be applied to given types

All seven disappear once the annotation value is fixed; nothing else in the tree needed a change.

This is the only remaining array-form description under fe/ (grep -rnE 'description\s*=\s*\{'), and the wrapped-argument layout matches the neighbouring long descriptions such as max_create_table_timeout_second.

ConfigTest.testConfFieldDescriptionsAreEnglishStrings, the guard #66342 added, reflects over the annotation at runtime, so it cannot catch a compile-time signature mismatch; it passes here because the text is already English.

Verified on a clean checkout of master 4e3c1b84dd5:

  • reproduced the failure before the change, and confirmed all eight errors are gone after it
  • full FE reactor mvn test-compile (checkstyle included): 74/74 modules SUCCESS
  • fe-common module tests: 157 tests, 0 failures, 0 skipped, including ConfigTest.testConfFieldDescriptionsAreEnglishStrings
  • the tests both colliding PRs added — StreamingInsertJobOffsetPersistenceTest, JdbcSourceOffsetProviderOffsetTest, SessionVariablesTest: 39 tests, 0 failures, 0 skipped

Release note

None

Check List (For Author)

  • Test

    • No need to test or manual test. Explain why:
      • Previous test can cover this change.
  • Behavior changed:

    • No.
  • Does this need documentation?

    • No.

…-job config

master does not compile. fe-common fails at

  Config.java:[1177,65] annotation value not of an allowable type

apache#66342 retyped ConfigBase.ConfField.description() from String[] to String and
rewrote all 419 call sites accordingly. apache#66238 landed shortly after with

  @ConfField(mutable = true, masterOnly = true, description = {
          "Minimum interval in seconds between snapshot offset persistence operations"})

written against the older String[] signature. The two are textually disjoint,
so git merges them without a conflict and neither pull request could see the
other: each was green on its own base.

The seven further errors in the same module are secondary. The bad annotation
value aborts the annotation-processing round, so lombok never contributes its
generated members, and @slf4j's log plus @AllArgsConstructor/@DaTa's
constructors go missing:

  DiskUtils.java:[70,13] cannot find symbol
  JobBaseConfig ... constructor cannot be applied to given types
  AbstractSourceSplit ... constructor cannot be applied to given types

All seven disappear once the annotation value is fixed; nothing else in the
tree needed a change.

This is the only remaining array-form description in fe/ (grep -rnE
'description\s*=\s*\{'), and the wrapped-argument layout matches the
neighbouring long descriptions such as max_create_table_timeout_second.

ConfigTest.testConfFieldDescriptionsAreEnglishStrings, the guard apache#66342 added,
reflects over the annotation at runtime and so cannot catch a compile-time
signature mismatch; it passes here because the text is already English.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S73AWq9AHxYfKkzWJfTcKs
@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?

@morningman

Copy link
Copy Markdown
Contributor Author

skip buildall

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

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

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

@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

PR approved by anyone and no changes requested.

@morningman
morningman merged commit 30e91ec into apache:master Aug 6, 2026
34 of 35 checks passed
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.

4 participants