Skip to content

[refactor](fe) Remove bilingual descriptions from variable annotations - #66342

Merged
morningman merged 5 commits into
apache:masterfrom
lsy3993:delete_chinese_comment
Aug 6, 2026
Merged

[refactor](fe) Remove bilingual descriptions from variable annotations#66342
morningman merged 5 commits into
apache:masterfrom
lsy3993:delete_chinese_comment

Conversation

@lsy3993

@lsy3993 lsy3993 commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

What problem does this PR solve?

Issue Number: N/A

Problem Summary: Session and global variable annotations currently store both Chinese and English descriptions as a two-element array. The Chinese description is unused and the array shape makes callers cumbersome. This change keeps only the English description, updates the VarAttr annotation type, and adjusts the affected unit tests.

Release note

None

Check List (For Author)

  • Test: Unit Test
    • ./run-fe-ut.sh --run org.apache.doris.qe.SessionVariablesTest
  • Behavior changed: No
  • Does this need documentation: No

### What problem does this PR solve?

Issue Number: N/A

Problem Summary: Session and global variable annotations currently store both Chinese and English descriptions as a two-element array. The Chinese description is unused and the array shape makes callers cumbersome. This change keeps only the English description, updates the VarAttr annotation type, and adjusts the affected unit tests.

### Release note

None

### Check List (For Author)

- Test: Unit Test
    - `./run-fe-ut.sh --run org.apache.doris.qe.SessionVariablesTest`
- Behavior changed: No
- Does this need documentation: No
@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?

lsy3993 and others added 3 commits July 31, 2026 23:12
### What problem does this PR solve?

Issue Number: N/A

Problem Summary: Config annotations currently store bilingual descriptions as a two-element array. The Chinese description is unused, and the array shape makes callers cumbersome. This change keeps only the English description, updates the ConfField annotation type, and adds a unit test asserting config descriptions do not contain Chinese.

### Release note

None

### Check List (For Author)

- Test: Unit Test
    - `./run-fe-ut.sh --run org.apache.doris.common.ConfigTest`
- Behavior changed: No
- Does this need documentation: No
morningman
morningman previously approved these changes Aug 5, 2026
@github-actions github-actions Bot added the approved Indicates a PR has been approved by one committer. label Aug 5, 2026
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

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

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

PR approved by anyone and no changes requested.

### What problem does this PR solve?

Issue Number: N/A

Problem Summary: After merging master, the branch kept one malformed @ConfField annotation and one remaining VarAttr description array. The malformed annotation made the FE CheckStyle job fail to parse Config.java, and the array form no longer matches the single-string description type. This change repairs the merged syntax, removes the leftover Chinese description, and cleans the related trailing whitespace.

### Release note

None

### Check List (For Author)

- Test: Manual test
    - `cd fe && mvn clean checkstyle:check`
- Behavior changed: No
- Does this need documentation: No
@github-actions github-actions Bot removed the approved Indicates a PR has been approved by one committer. label Aug 5, 2026
@lsy3993

lsy3993 commented Aug 5, 2026

Copy link
Copy Markdown
Contributor Author

run buildall

1 similar comment
@morningman

Copy link
Copy Markdown
Contributor

run buildall

@lsy3993

lsy3993 commented Aug 5, 2026

Copy link
Copy Markdown
Contributor Author

run feut

@lsy3993

lsy3993 commented Aug 5, 2026

Copy link
Copy Markdown
Contributor Author

run performance

1 similar comment
@lsy3993

lsy3993 commented Aug 5, 2026

Copy link
Copy Markdown
Contributor Author

run performance

@hello-stephen

Copy link
Copy Markdown
Contributor

FE Regression Coverage Report

Increment line coverage 65.52% (57/87) 🎉
Increment coverage report
Complete coverage report

@lsy3993

lsy3993 commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

run performance

@morningman
morningman merged commit 14ec230 into apache:master Aug 6, 2026
29 of 30 checks passed
morningman added a commit that referenced this pull request Aug 6, 2026
…-job config (#66541)

### 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

```java
@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**
wyxxxcat pushed a commit to wyxxxcat/doris that referenced this pull request Aug 17, 2026
apache#66342)

### What problem does this PR solve?

Issue Number: N/A

Problem Summary: Session and global variable annotations currently store
both Chinese and English descriptions as a two-element array. The
Chinese description is unused and the array shape makes callers
cumbersome. This change keeps only the English description, updates the
VarAttr annotation type, and adjusts the affected unit tests.

### Release note

None

### Check List (For Author)

- Test: Unit Test
    - `./run-fe-ut.sh --run org.apache.doris.qe.SessionVariablesTest`
- Behavior changed: No
- Does this need documentation: No
wyxxxcat pushed a commit to wyxxxcat/doris that referenced this pull request Aug 17, 2026
…-job config (apache#66541)

### What problem does this PR solve?

Issue Number: close #xxx

Related PR: apache#66342, apache#66238

Problem Summary:

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

```java
@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
apache#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**
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants