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]
