Jackie-Jiang opened a new pull request, #19293:
URL: https://github.com/apache/pinot/pull/19293

   ## Summary
   
   The pauseless recovery tests inject failures at commit fault points, and 
every injected throw gets logged by the production catch sites with a full 
stack trace (e.g. `PauselessSegmentCompletionFSM`'s "Caught exception while 
committing segment metadata" ERROR) — for the commit-end scenario that is ~46 
segments' worth of ~30-frame stack dumps per run, flooding the test logs.
   
   Make the injected exceptions stackless:
   - `FailureInjectionUtils` gains a nested `InjectedFailureException` built 
with `RuntimeException(message, cause, enableSuppression, writableStackTrace)` 
and `writableStackTrace = false`, so it carries no stack frames. 
`injectFailure` throws it.
   - The server-side injectors in `FailureInjectingRealtimeSegmentDataManager` 
(forced build failure, forced consuming-transition failure) throw the same type.
   
   Every catch site still logs the failure — the injected-failure timeline 
stays visible and greppable, which matters when a test actually fails — but 
each occurrence is now a single line like `InjectedFailureException: Injecting 
failure: FaultBeforeCommitEndMetadata` instead of a stack dump. The fault point 
in the message is the only meaningful context anyway; the stack below the 
injection site is identical every time. Real failures keep their full stack 
traces, which is also why this is preferable to suppressing the noisy loggers 
in the test log config.
   


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