[
https://issues.apache.org/jira/browse/FLINK-25970?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17527426#comment-17527426
]
Wencong Liu commented on FLINK-25970:
-------------------------------------
Hello [~xtsong] , I have two questions about this issue:
1. Are the examples here real? Under what circumstances will
{code:java}
new SerializedThrowable(xxx).printStackTrace() {code}
print these call stacks?
2. In the source code of 1.14.3, I saw that the call stack of
SerializedThrowable() will be replaced by the construction parameter:
{code:java}
private SerializedThrowable(Throwable exception, Set<Throwable> alreadySeen) {
// ...
// mimic the original exception's stack trace
setStackTrace(exception.getStackTrace());
// ...
} {code}
so the first line of the call stack printed to System.err should be
ConcurrentModificationException?
> SerializedThrowable should record type of the original throwable.
> -----------------------------------------------------------------
>
> Key: FLINK-25970
> URL: https://issues.apache.org/jira/browse/FLINK-25970
> Project: Flink
> Issue Type: Improvement
> Components: API / Core
> Affects Versions: 1.14.3
> Reporter: Xintong Song
> Priority: Minor
> Labels: starter
>
> Currently, only the message and stack of the original throwable is preserved
> in {{{}SerializedThrowable{}}}, while the type of the original throwable is
> discarded.
> Sometimes, it would be helpful if message of {{SerializedThrowable}} can also
> include the full class name of the original throwable.
> E.g., in the following stack.
> {code:java}
> Caused by: org.apache.flink.util.SerializedThrowable
> at java.util.HashMap$HashIterator.nextNode(HashMap.java:1437)
> ~[?:1.8.0_102]
> at java.util.HashMap$EntryIterator.next(HashMap.java:1471) ~[?:1.8.0_102]
> at java.util.HashMap$EntryIterator.next(HashMap.java:1469) ~[?:1.8.0_102]
> ...
> {code}
> It's not that easy to understand what is wrong from this stack. JDK does not
> provide a message for the original exception. We have to look into the JDK
> source codes to find out what's going on. Sometimes it's even more annoying
> having to look for the JDK source codes of the exactly same version in order
> to match the line numbers.
> Turns out the original exception was a {{ConcurrentModificationException}}. I
> think it would be much more straightforward if we can have a stack like the
> following.
> {code}
> Caused by: org.apache.flink.util.SerializedThrowable:
> java.util.ConcurrentModificationException
> at java.util.HashMap$HashIterator.nextNode(HashMap.java:1437)
> ~[?:1.8.0_102]
> at java.util.HashMap$EntryIterator.next(HashMap.java:1471) ~[?:1.8.0_102]
> at java.util.HashMap$EntryIterator.next(HashMap.java:1469) ~[?:1.8.0_102]
> ...
> {code}
--
This message was sent by Atlassian Jira
(v8.20.7#820007)