Title: [292808] trunk/Tools
- Revision
- 292808
- Author
- ange...@igalia.com
- Date
- 2022-04-13 06:39:38 -0700 (Wed, 13 Apr 2022)
Log Message
[run-jsc-stress-tests] Use ServerAliveInterval in GNU parallel
https://bugs.webkit.org/show_bug.cgi?id=239283
Reviewed by Adrian Perez de Castro.
run-jsc-stress-tests occasionally dies e.g. in
https://build.webkit.org/#/builders/31/builds/3262/steps/8/logs/stdio
because the remote commands don't produce any output for a full hour.
This seems like an issue with hung ssh connections (possibly because of
all the remotes rebooting at the same time), so use ServerAliveInterval
to detect that.
Reuse SSH_OPTIONS_DEFAULT to pick up the ServerAliveInterval. While
here, move the extra ssh options outside the command string and
document them properly.
* Scripts/run-jsc-stress-tests:
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (292807 => 292808)
--- trunk/Tools/ChangeLog 2022-04-13 12:53:15 UTC (rev 292807)
+++ trunk/Tools/ChangeLog 2022-04-13 13:39:38 UTC (rev 292808)
@@ -1,3 +1,24 @@
+2022-04-13 Angelos Oikonomopoulos <ange...@igalia.com>
+
+ [run-jsc-stress-tests] Use ServerAliveInterval in GNU parallel
+ https://bugs.webkit.org/show_bug.cgi?id=239283
+
+ Reviewed by Adrian Perez de Castro.
+
+ run-jsc-stress-tests occasionally dies e.g. in
+ https://build.webkit.org/#/builders/31/builds/3262/steps/8/logs/stdio
+ because the remote commands don't produce any output for a full hour.
+
+ This seems like an issue with hung ssh connections (possibly because of
+ all the remotes rebooting at the same time), so use ServerAliveInterval
+ to detect that.
+
+ Reuse SSH_OPTIONS_DEFAULT to pick up the ServerAliveInterval. While
+ here, move the extra ssh options outside the command string and
+ document them properly.
+
+ * Scripts/run-jsc-stress-tests:
+
2022-04-12 Jonathan Bedard <jbed...@apple.com>
[Merge-Queue] Do not duplicate reviewer names
Modified: trunk/Tools/Scripts/run-jsc-stress-tests (292807 => 292808)
--- trunk/Tools/Scripts/run-jsc-stress-tests 2022-04-13 12:53:15 UTC (rev 292807)
+++ trunk/Tools/Scripts/run-jsc-stress-tests 2022-04-13 13:39:38 UTC (rev 292808)
@@ -3052,8 +3052,22 @@
fi
shift
EOF
+ extraOptions = [
+ # Many of our jobs are short, ensure GNU parallel won't need to set
+ # up an ssh connection from scratch.
+ "ControlPath=./%C",
+ "ControlMaster=auto",
+ "ControlPersist=10m",
+ # Treat remote boards as volatile. Don't check the host keys, don't
+ # save them locally.
+ "StrictHostKeyChecking=no",
+ "UserKnownHostsFile=/dev/null"
+ ].collect { |opt|
+ ["-o", opt]
+ }.flatten
+ sshOptions = (SSH_OPTIONS_DEFAULT + extraOptions).join(" ")
wrapper.puts(head +
- "echo \"$@\" | ssh -o ControlPath=./%C -o ControlMaster=auto -o ControlPersist=10m -o NoHostAuthenticationForLocalhost=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p \"$remoteport\" -l \"$remoteuser\" -o RemoteCommand=\"if test -d '$remotedir'; then cd '$remotedir'; else echo '#{PARALLEL_REMOTE_WRAPPER_MARK_BEGIN}${remotehost}#{PARALLEL_REMOTE_WRAPPER_MARK_END}'; false; fi && sh -s\" \"$remotehost\""
+ "echo \"$@\" | ssh #{sshOptions} -p \"$remoteport\" -l \"$remoteuser\" -o RemoteCommand=\"if test -d '$remotedir'; then cd '$remotedir'; else echo '#{PARALLEL_REMOTE_WRAPPER_MARK_BEGIN}${remotehost}#{PARALLEL_REMOTE_WRAPPER_MARK_END}'; false; fi && sh -s\" \"$remotehost\""
)
FileUtils.chmod("ugo=rx", wrapper.path)
wrapper.close # Avoid ETXTBUSY
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes