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]

Reply via email to