You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by fh...@apache.org on 2017/05/03 12:10:46 UTC
[39/50] [abbrv] flink git commit: [hotfix] [runtime]
SerializedThrowable copy constructor preserves cause
[hotfix] [runtime] SerializedThrowable copy constructor preserves cause
Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/03721cff
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/03721cff
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/03721cff
Branch: refs/heads/table-retraction
Commit: 03721cff116bc3d233b6b3f82c47f9edf42410af
Parents: 6f93352
Author: Stephan Ewen <se...@apache.org>
Authored: Tue May 2 19:33:28 2017 +0200
Committer: Stephan Ewen <se...@apache.org>
Committed: Tue May 2 22:49:46 2017 +0200
----------------------------------------------------------------------
.../flink/runtime/util/SerializedThrowable.java | 2 ++
.../flink/runtime/util/SerializedThrowableTest.java | 14 ++++++++++++++
2 files changed, 16 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flink/blob/03721cff/flink-runtime/src/main/java/org/apache/flink/runtime/util/SerializedThrowable.java
----------------------------------------------------------------------
diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/util/SerializedThrowable.java b/flink-runtime/src/main/java/org/apache/flink/runtime/util/SerializedThrowable.java
index 4dea59c..ed485d0 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/util/SerializedThrowable.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/util/SerializedThrowable.java
@@ -108,6 +108,8 @@ public class SerializedThrowable extends Exception implements Serializable {
this.originalErrorClassName = other.originalErrorClassName;
this.fullStingifiedStackTrace = other.fullStingifiedStackTrace;
this.cachedException = other.cachedException;
+ this.setStackTrace(other.getStackTrace());
+ this.initCause(other.getCause());
}
}
http://git-wip-us.apache.org/repos/asf/flink/blob/03721cff/flink-runtime/src/test/java/org/apache/flink/runtime/util/SerializedThrowableTest.java
----------------------------------------------------------------------
diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/util/SerializedThrowableTest.java b/flink-runtime/src/test/java/org/apache/flink/runtime/util/SerializedThrowableTest.java
index 4d57892..45988f5 100644
--- a/flink-runtime/src/test/java/org/apache/flink/runtime/util/SerializedThrowableTest.java
+++ b/flink-runtime/src/test/java/org/apache/flink/runtime/util/SerializedThrowableTest.java
@@ -175,4 +175,18 @@ public class SerializedThrowableTest {
assertArrayEquals(root.getStackTrace(), st.getStackTrace());
assertEquals(ExceptionUtils.stringifyException(root), ExceptionUtils.stringifyException(st));
}
+
+ @Test
+ public void testCopyPreservesCause() {
+ Exception original = new Exception("original message");
+ Exception parent = new Exception("parent message", original);
+
+ SerializedThrowable serialized = new SerializedThrowable(parent);
+ assertNotNull(serialized.getCause());
+
+ SerializedThrowable copy = new SerializedThrowable(serialized);
+ assertEquals("parent message", copy.getMessage());
+ assertNotNull(copy.getCause());
+ assertEquals("original message", copy.getCause().getMessage());
+ }
}