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]

Reply via email to