hello-stephen opened a new pull request, #69570:
URL: https://github.com/apache/doris/pull/69570

   ### What problem does this PR solve?
   
   The schema-change compaction9/10 suites can lose their first failure when a 
later assertion in `finally` also fails. For example, a missing rowset version 
assertion can be replaced by the final row-count mismatch, leaving no original 
stack to diagnose.
   
   Keep and rethrow the primary throwable, attach a distinct finalization 
failure as suppressed, and avoid self-suppression when both paths throw the 
same object. Finalization failures still fail the suite when no earlier 
exception exists. Also correct expected/actual argument order for the FINISHED 
and row-count assertions.
   
   All existing rowset conditions and the 2,556-row expectation are retained. 
This change improves failure evidence; it does not fix or explain the observed 
28,116-row result.
   
   ### Validation
   
   - Both complete suite sources compiled and were discovered through an actual 
regression framework `SuiteScript`/`ScriptContext` with Groovy 4.0.19 and JDK 
17. Exact target-source `ClusterOptions` and `DebugPoint` were compiled as 
required dependencies.
   - Both complete suite closures ran with mocked I/O and clock waits: success, 
primary failure only, finalization failure only, both failures, and the same 
throwable object. All ten scenarios passed. The count fixture returns Java 
`Long`, including `2556L` on the success path, using the framework's dynamic 
JUnit assertion dispatch.
   - Running both original complete suites with simultaneous rowset/count 
failures reproduced the loss of the primary error; patched suites retain it 
with the count failure suppressed.
   - Independent static review verified all 26/27 assertions remain, and 
normalization of the finalization bodies changes only the two expected/actual 
argument orders. `git diff --check` passed.
   
   Validation limits: the dependency framework JAR is an existing local build 
whose source SHA is unknown (SHA-256 recorded in the local evidence). Its 
`SuiteScript`/`ScriptContext` API differs from the target source, so this is a 
local complete-case compile/discovery and mocked-I/O test, not a full 
target-framework build. A full framework build was attempted but blocked by 
missing generated Thrift classes. No Doris database runtime was executed. 
Runtime validation against a fix-containing case artifact remains required.
   
   ### Release note
   
   None
   
   ### Check List (For Author)
   
   - Test: Manual complete-case compile/discovery and fault injection; database 
regression execution pending.
   - Behavior changed: Yes, preserve primary failure diagnostics without 
weakening pass/fail checks.
   - Does this need documentation: No
   


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