bobhan1 opened a new pull request, #68479:
URL: https://github.com/apache/doris/pull/68479
### What problem does this PR solve?
Issue Number: None
Related PR: None
Plain `ADD ROLLUP` indexes have no defining expressions, so they bypass the
existing materialized-view-column check for partial updates. These rollup
indexes lack the skip bitmap hidden column, allowing a flexible partial update
to reach the BE with an incompatible tablet schema and crash during flush.
Reject rollup tables in the shared flexible partial update validator used by
Stream Load and Routine Load. Count indexes through `getIndexNumber()`, which
excludes internal row-binlog indexes. Unit tests cover ordinary rollup
rejection and acceptance of base-only and row-binlog tables. The regression
case uses an auto-increment value column and a rollup that omits it, verifies
successful flexible loading before adding the rollup, checks the rejection
after the rollup finishes, and verifies a subsequent full-row insert succeeds.
### Release note
Flexible partial updates on tables with rollup indexes now return a clear FE
error instead of risking a BE crash.
### Validation
- `./run-fe-ut.sh --run org.apache.doris.catalog.OlapTableTest`: 19 tests
passed, including the two new tests.
- `./build.sh --fe -j100`: passed, including Checkstyle.
- `./run-regression-test.sh --run -d unique_with_mow_p0/flexible -s
test_flexible_partial_update_rollup`: 1 suite passed, 0 failed or skipped. Ran
on an isolated local shared-nothing cluster with the newly built FE and an
existing BE binary at `a1853f20e79`.
- `git diff --check`: passed.
### Check List (For Author)
- Test
- [x] Regression test
- [x] Unit Test
- [ ] Manual test
- [ ] No need to test or manual test
- Behavior changed:
- [ ] No.
- [x] Yes. Flexible partial updates are rejected when the table has
rollup indexes.
- Does this need documentation?
- [x] No. This enforces the existing restriction on flexible partial
updates with synchronous materialized views.
- [ ] Yes.
### Check List (For Reviewer who merge this PR)
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]