yujun777 opened a new pull request, #68170:
URL: https://github.com/apache/doris/pull/68170

   ### What problem does this PR solve?
   
   Issue Number: N/A
   
   Problem Summary: When an IVM incremental refresh hits a missing or unusable 
base table stream, the rewrite fails with `STREAM_UNSUPPORTED`. Previously this 
reason fell back to the partition-based refresh, which reads the same broken 
stream again and fails the task, so the refresh never reached the COMPLETE 
attempt whose reconcile step recreates the stream. Only an explicit `REFRESH 
COMPLETE` could recover.
   
   Two changes:
   1. Add `STREAM_UNSUPPORTED` to `IvmFailureReason.requiresCompleteRefresh()`, 
so an unusable stream jumps directly to the COMPLETE attempt that reconciles it.
   2. Move `reconcileIvmStreams` from the shared partition-based path into 
`executeCompleteAttempt`. Behavior is unchanged (COMPLETE was its only 
triggering mode), but it makes the complete attempt the single place that 
resets stream baselines, which a stream's global baseline requires.
   
   ### Release note
   
   IVM incremental refresh now recovers automatically from an unusable base 
table stream by falling back to a complete refresh instead of failing the task.
   
   ### Check List (For Author)
   
   - Test <!-- At least one of them must be included. -->
       - [x] Unit test
       - [ ] Regression test
       - [ ] Manual test
       - [ ] No need to test or manual test.
   - Behavior changed:
       - [ ] No
       - [x] Yes, IVM fallback routing on `STREAM_UNSUPPORTED` (unusable stream 
now goes straight to complete refresh)
   - Does this need documentation:
       - [x] No
       - [ ] Yes
   
   ### Check List (For Reviewer)
   
   - [x] Add proper labels


-- 
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