yujun777 opened a new pull request, #67665:
URL: https://github.com/apache/doris/pull/67665
Follow-up of the #62606 review round.
ALTER MATERIALIZED VIEW ... SET ('excluded_trigger_tables' = ...) on an IVM
MTMV transitions the base-table streams alongside the property. That transition
used to run inside `processAlterMTMV`, whose catch swallowed any
`UserException`: a mid-transition failure (e.g. a stream create throwing after
an earlier create was already journaled) reported success to the client while
the property stayed unchanged and stray streams remained.
Key changes:
- Live ALTER PROPERTY statements now run through the new
`Alter.processAlterMTMVProperty`, which propagates failures to the client; the
journal replay path keeps the tolerant `processAlterMTMV` behavior.
- The stream transition is reordered: create the streams of newly
un-excluded bases first (compensated by dropping exactly the streams created in
this call on failure), then apply the property, then best-effort drop the
streams of newly excluded bases - a failed drop only leaks a stream of an
already excluded table and never fails the ALTER after the property took effect.
- Two test debug points (count-based, independent of the base-table
iteration order) inject stream create/drop failures.
Tests: `AlterMTMVTest` two new cases covering create-failure compensation
and drop-failure best effort with multi-table excluded-set changes; the full
class (24 tests) passes.
Trace issue: https://github.com/apache/doris/issues/65418
--
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]