You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by va...@apache.org on 2017/10/25 17:10:30 UTC
spark git commit: [SPARK-21991][LAUNCHER] Fix race condition in
LauncherServer#acceptConnections
Repository: spark
Updated Branches:
refs/heads/master 3d43a9f93 -> 6ea8a56ca
[SPARK-21991][LAUNCHER] Fix race condition in LauncherServer#acceptConnections
## What changes were proposed in this pull request?
This patch changes the order in which _acceptConnections_ starts the client thread and schedules the client timeout action ensuring that the latter has been scheduled before the former get a chance to cancel it.
## How was this patch tested?
Due to the non-deterministic nature of the patch I wasn't able to add a new test for this issue.
Author: Andrea zito <an...@u-hopper.com>
Closes #19217 from nivox/SPARK-21991.
Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/6ea8a56c
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/6ea8a56c
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/6ea8a56c
Branch: refs/heads/master
Commit: 6ea8a56ca26a7e02e6574f5f763bb91059119a80
Parents: 3d43a9f
Author: Andrea zito <an...@u-hopper.com>
Authored: Wed Oct 25 10:10:24 2017 -0700
Committer: Marcelo Vanzin <va...@cloudera.com>
Committed: Wed Oct 25 10:10:24 2017 -0700
----------------------------------------------------------------------
.../apache/spark/launcher/LauncherServer.java | 26 ++++++++++----------
1 file changed, 13 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/spark/blob/6ea8a56c/launcher/src/main/java/org/apache/spark/launcher/LauncherServer.java
----------------------------------------------------------------------
diff --git a/launcher/src/main/java/org/apache/spark/launcher/LauncherServer.java b/launcher/src/main/java/org/apache/spark/launcher/LauncherServer.java
index 865d492..454bc7a 100644
--- a/launcher/src/main/java/org/apache/spark/launcher/LauncherServer.java
+++ b/launcher/src/main/java/org/apache/spark/launcher/LauncherServer.java
@@ -232,20 +232,20 @@ class LauncherServer implements Closeable {
};
ServerConnection clientConnection = new ServerConnection(client, timeout);
Thread clientThread = factory.newThread(clientConnection);
- synchronized (timeout) {
- clientThread.start();
- synchronized (clients) {
- clients.add(clientConnection);
- }
- long timeoutMs = getConnectionTimeout();
- // 0 is used for testing to avoid issues with clock resolution / thread scheduling,
- // and force an immediate timeout.
- if (timeoutMs > 0) {
- timeoutTimer.schedule(timeout, getConnectionTimeout());
- } else {
- timeout.run();
- }
+ synchronized (clients) {
+ clients.add(clientConnection);
+ }
+
+ long timeoutMs = getConnectionTimeout();
+ // 0 is used for testing to avoid issues with clock resolution / thread scheduling,
+ // and force an immediate timeout.
+ if (timeoutMs > 0) {
+ timeoutTimer.schedule(timeout, timeoutMs);
+ } else {
+ timeout.run();
}
+
+ clientThread.start();
}
} catch (IOException ioe) {
if (running) {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org