morningman opened a new pull request, #68017:
URL: https://github.com/apache/doris/pull/68017
Cherry-picked from #67753, #67802, #67814, #67837, #67853, #67876
Batch pick of every merged PR carrying the `incremental-computation` label
that `branch-incremental-computation` does not have yet (no
`incremental-computation-picked` label), in the order they landed on master
(`git log --first-parent`). One commit per PR, each created with `git
cherry-pick -x` so the message ends with `(cherry picked from commit <master
sha>)`. Follows the same convention as #67830.
| # | Master commit | PR | Title |
|---|---|---|---|
| 1 | fe39f5b6a42 | #67753 | [fix](ivm) Answer FE-computable dry runs on the
frontend instead of a placeholder backend |
| 2 | f8ed33fa701 | #67802 | [fix](ivm) Refresh the surviving partitions
after an IVM baseline rebuild |
| 3 | 7bd89a0795c | #67814 | [fix](ivm) Stop the incremental delta from
reading partitions the MV dropped |
| 4 | 3050a9ae8ae | #67837 | [fix](ivm) Invalidate the baseline when a
column used by the MV is dropped |
| 5 | 22c95eb8d5c | #67853 | [fix](ivm) Carry the row-binlog hidden columns
in the analyzed MTMV schema |
| 6 | 3390a7a721f | #67876 | [test](ivm) Remove unnecessary cloud skips from
IVM suites |
Not included on purpose:
- The 11 labelled PRs that already carry `incremental-computation-picked`
(#62606 in the fork point, #67508 via #67712, the nine of #67830).
- #67820 is still open on master; this branch already carries its content
via #67861.
### Prerequisite check
None of the six PRs declares a prerequisite, and none of them needs another
master PR for its behavior. The only master commits that touch the same files
and are not on this branch are unrelated to incremental computation (#66761
TIMESTAMP_NS, #67545 DLF, #67569 / #67520 / #67835 MySQL-protocol and session
refactors, #67186 Hive partition batching, #67787 SQL cache user variables);
they were left out, and two picks needed a mechanical adaptation because of
that:
- **#67753** conflicted in `StmtExecutor.sendMetaData`: master had already
extracted the post-metadata EOF into `sendMetadataTerminatorIfNeeded(channel)`
(#67520, a Connector/J cursor-fetch fix). The branch keeps its inline EOF block
and now sends it on the given `channel` instead of `context.getMysqlChannel()`,
which is exactly what the extracted helper does on master. Everything else in
the pick is identical to the master commit.
- **#67814** applied cleanly but did not compile: the new
`MTMVPartitionUtil.generateRelatedBasePartitionIds()` returns an `Optional`,
and on master `import java.util.Optional;` came with #67186. The import was
added to the pick commit; that is the only difference from the master commit.
The other four picks applied without conflicts and are byte-identical to
their master commits (diffs compared with `index`/`@@` lines stripped). Both
adaptations are recorded in the respective commit messages.
### Drift check against master
After the six picks, every touched file is byte-identical to master at
`3390a7a721f` except `MTMV.java`, `MTMVTask.java`, `MTMVPartitionUtil.java`,
`MTMVPartitionUtilTest.java`, `MTMVTaskTest.java` (differences = #67186 +
#67545 + #66761), `CreateTableInfo.java` (= #67787) and `StmtExecutor.java` (=
#67520 + #67569 + #66761 + the later session refactors #67835 / #67883 + this
branch's #67861). For the first six files, applying those unrelated master
commits on top of the branch's versions reproduces master's files exactly; for
`StmtExecutor.java`, the diff against master right after #67753 (`fe39f5b6a42`)
consists only of #67520 / #67569 / #66761 / #67861 hunks. So nothing
IVM-related is missing. The regression framework, plugins and the whole
`mtmv_p0/ivm` suite/data directories are identical to master.
### Verification
- FE: `run-fe-ut.sh --run` on this branch (regenerates thrift, compiles
fe-core main + test) with the 17 test classes touched by the picks or extending
the touched `IvmDeltaTestBase`:
17 classes, 404 tests, 0 failures, 0 errors, BUILD SUCCESS (5:19 min) —
`MTMVPlanUtilTest` 24, `IvmAggDeltaHandlerTest` 33, `IvmDeltaRewriteHelperTest`
17, `IvmNormalizeMTMVJoinTest` 44, `IvmJoinDeltaHandlerTest` 23,
`IvmDeltaRewriteStateTest` 10, `IvmPlanSignatureGeneratorTest` 22,
`IvmBaselineRebuildTest` 28, `IvmLinearDeltaHandlerTest` 39,
`IvmDeltaRewriterTest` 23, `IvmNormalizeMTMVUnionTest` 10, `MTMVTaskTest` 50,
`MTMVPropertyUtilTest` 13, `MTMVPartitionUtilTest` 16,
`SchemaChangeHandlerTest` 22, `StmtExecutorInternalQueryTest` 3,
`StmtExecutorTest` 27.
- FE checkstyle on fe-core: 0 violations.
- No BE, cloud or thrift changes in this batch.
- All 18 touched groovy files (framework `Suite.groovy`,
`plugin_planner.groovy`, 16 suites) parse cleanly (groovy parser check).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
--
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]