You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by sr...@apache.org on 2018/11/23 12:18:48 UTC
spark git commit: [SPARK-26069][TESTS][FOLLOWUP] Add another possible
error message
Repository: spark
Updated Branches:
refs/heads/master 1d3dd58d2 -> 92fc0a8f9
[SPARK-26069][TESTS][FOLLOWUP] Add another possible error message
## What changes were proposed in this pull request?
`org.apache.spark.network.RpcIntegrationSuite.sendRpcWithStreamFailures` is still flaky and here is error message:
```
sbt.ForkMain$ForkError: java.lang.AssertionError: Got a non-empty set [Failed to send RPC RPC 8249697863992194475 to /172.17.0.2:41177: java.io.IOException: Broken pipe]
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.assertTrue(Assert.java:41)
at org.apache.spark.network.RpcIntegrationSuite.assertErrorAndClosed(RpcIntegrationSuite.java:389)
at org.apache.spark.network.RpcIntegrationSuite.sendRpcWithStreamFailures(RpcIntegrationSuite.java:347)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at com.novocode.junit.JUnitRunner$1.execute(JUnitRunner.java:132)
at sbt.ForkMain$Run$2.call(ForkMain.java:296)
at sbt.ForkMain$Run$2.call(ForkMain.java:286)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
```
This happened when the second RPC message was being sent but the connection was closed at the same time.
## How was this patch tested?
Jenkins
Closes #23109 from zsxwing/SPARK-26069-2.
Authored-by: Shixiong Zhu <zs...@gmail.com>
Signed-off-by: Sean Owen <se...@databricks.com>
Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/92fc0a8f
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/92fc0a8f
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/92fc0a8f
Branch: refs/heads/master
Commit: 92fc0a8f9619a8e7f8382d6a5c288aeceb03a472
Parents: 1d3dd58
Author: Shixiong Zhu <zs...@gmail.com>
Authored: Fri Nov 23 06:18:44 2018 -0600
Committer: Sean Owen <se...@databricks.com>
Committed: Fri Nov 23 06:18:44 2018 -0600
----------------------------------------------------------------------
.../spark/network/RpcIntegrationSuite.java | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/spark/blob/92fc0a8f/common/network-common/src/test/java/org/apache/spark/network/RpcIntegrationSuite.java
----------------------------------------------------------------------
diff --git a/common/network-common/src/test/java/org/apache/spark/network/RpcIntegrationSuite.java b/common/network-common/src/test/java/org/apache/spark/network/RpcIntegrationSuite.java
index 45f4a18..1c0aa4d 100644
--- a/common/network-common/src/test/java/org/apache/spark/network/RpcIntegrationSuite.java
+++ b/common/network-common/src/test/java/org/apache/spark/network/RpcIntegrationSuite.java
@@ -371,18 +371,20 @@ public class RpcIntegrationSuite {
private void assertErrorAndClosed(RpcResult result, String expectedError) {
assertTrue("unexpected success: " + result.successMessages, result.successMessages.isEmpty());
- // we expect 1 additional error, which should contain one of the follow messages:
- // - "closed"
- // - "Connection reset"
- // - "java.nio.channels.ClosedChannelException"
Set<String> errors = result.errorMessages;
assertEquals("Expected 2 errors, got " + errors.size() + "errors: " +
errors, 2, errors.size());
+ // We expect 1 additional error due to closed connection and here are possible keywords in the
+ // error message.
+ Set<String> possibleClosedErrors = Sets.newHashSet(
+ "closed",
+ "Connection reset",
+ "java.nio.channels.ClosedChannelException",
+ "java.io.IOException: Broken pipe"
+ );
Set<String> containsAndClosed = Sets.newHashSet(expectedError);
- containsAndClosed.add("closed");
- containsAndClosed.add("Connection reset");
- containsAndClosed.add("java.nio.channels.ClosedChannelException");
+ containsAndClosed.addAll(possibleClosedErrors);
Pair<Set<String>, Set<String>> r = checkErrorsContain(errors, containsAndClosed);
@@ -390,7 +392,9 @@ public class RpcIntegrationSuite {
Set<String> errorsNotFound = r.getRight();
assertEquals(
- "The size of " + errorsNotFound.toString() + " was not 2", 2, errorsNotFound.size());
+ "The size of " + errorsNotFound + " was not " + (possibleClosedErrors.size() - 1),
+ possibleClosedErrors.size() - 1,
+ errorsNotFound.size());
for (String err: errorsNotFound) {
assertTrue("Found a wrong error " + err, containsAndClosed.contains(err));
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org