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