rionmonster opened a new pull request, #2112:
URL: https://github.com/apache/fluss/pull/2112

   ### Purpose
   
   Linked issue: close #2091  
   
   Per Issue #2091, this pull request attempts to address an issue that could 
result in a `StackOverflowError` stemming from a cycle of cascading exceptions 
that originally stem from Flink's `SerializedThrowable` handler. This fix has 
already been made within Flink in [this 
commit](https://github.com/apache/flink/commit/56a56a0f194d51bddd1b3da3ad7ca39746035fe3)
 which should prevent the behavior (see discussion 
[here](https://github.com/apache/flink/pull/27186#discussion_r2547013397) for 
more context).
   
   ### Brief change log
   
   This change introduces two new private functions within the `ExceptionUtils` 
class to support exception chain evaluation for suppression and cause chains 
(`isInSuppressionChain`, `isInCauseChain` respectively). These functions are 
applied during the `firstOrSuppressed` function call, which introduces a new 
exception to the existing chain.
   
   ### Tests
   
   The `ExceptionTestUtils.testFirstOrSuppressedCyclePrevention` was initially 
updated to use an arbitrary recursive exception call to mimic Flink's existing 
`SerializedThrowable` to reproduce the original issue (triggering a 
`StackOverflowError`). This test was later updated after the fix was applied to 
ensure that these previous exceptions no longer result in a cycle being created.
   
   ### API and Format
   
   N/A
   
   ### Documentation
   
   N/A
   


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

Reply via email to