Github user vanzin commented on a diff in the pull request:
https://github.com/apache/spark/pull/15009#discussion_r122064689
--- Diff:
core/src/test/java/org/apache/spark/launcher/SparkLauncherSuite.java ---
@@ -183,12 +185,38 @@ public void testChildProcLauncher() throws Exception {
assertEquals(0, app.waitFor());
}
+ @Test
+ public void testThreadLauncher() throws Exception {
+ // This test is failed on Windows due to the failure of initiating
executors
+ // by the path length limitation. See SPARK-18718.
+ assumeTrue(!Utils.isWindows());
+
+ launcher = new SparkLauncher();
+ launcher
+ .setMaster("local")
+ .setAppResource(SparkLauncher.NO_RESOURCE)
+ .setConf(SparkLauncher.DRIVER_EXTRA_JAVA_OPTIONS,
+ "-Dfoo=bar -Dtest.appender=childproc")
+ .setConf(SparkLauncher.DRIVER_EXTRA_CLASSPATH,
System.getProperty("java.class.path"))
+ .setMainClass(SparkLauncherTestApp.class.getName())
+ .launchAsThread(true)
+ .addAppArgs("thread");
+ final SparkAppHandle app = launcher.startApplication();
+ sleep(3000);
+ AbstractSparkAppHandle handle = (AbstractSparkAppHandle)app;
+ handle.waitFor();
--- End diff --
Seems like there is a bug somewhere; if the app finishes without reporting
state (either in child process or thread mode), the handle should change its
state to some form of error (e.g. `LOST`). Anyway that's unrelated to your
changes, but please file a separate bug.
You can still check that the state is not `FAILED`, right? Because if the
child application throws an exception in thread mode, the handle should at
least be updated to the failed state. (That would be a nice candidate for a new
unit test, too.)
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]