diff --git a/java/runtime/src/main/java/org/ray/runtime/config/RayConfig.java b/java/runtime/src/main/java/org/ray/runtime/config/RayConfig.java index f607b44ca..a2ef237e2 100644 --- a/java/runtime/src/main/java/org/ray/runtime/config/RayConfig.java +++ b/java/runtime/src/main/java/org/ray/runtime/config/RayConfig.java @@ -84,12 +84,12 @@ public class RayConfig { // run mode runMode = config.getEnum(RunMode.class, "ray.run-mode"); // ray home - String rayHome = config.getString("ray.home"); - if (!rayHome.startsWith("/")) { + String localRayHome = config.getString("ray.home"); + if (!localRayHome.startsWith("/")) { // If ray.home isn't an absolute path, prepend it with current work dir. - rayHome = System.getProperty("user.dir") + "/" + rayHome; + localRayHome = System.getProperty("user.dir") + "/" + localRayHome; } - this.rayHome = removeTrailingSlash(rayHome); + rayHome = removeTrailingSlash(localRayHome); // node ip String nodeIp = config.getString("ray.node-ip"); if (nodeIp.isEmpty()) { @@ -150,7 +150,8 @@ public class RayConfig { rayHome + "/build/src/local_scheduler" ).addAll(customLibraryPath).build(); - redisServerExecutablePath = rayHome + "/build/src/common/thirdparty/redis/src/redis-server"; + redisServerExecutablePath = rayHome + + "/build/src/common/thirdparty/redis/src/redis-server"; redisModulePath = rayHome + "/build/src/common/redis_module/libray_redis_module.so"; plasmaStoreExecutablePath = rayHome + "/build/src/plasma/plasma_store_server"; rayletExecutablePath = rayHome + "/build/src/ray/raylet/raylet"; diff --git a/java/test/src/main/java/org/ray/api/test/RayConfigTest.java b/java/test/src/main/java/org/ray/api/test/RayConfigTest.java index f7b829bec..fd47e15ab 100644 --- a/java/test/src/main/java/org/ray/api/test/RayConfigTest.java +++ b/java/test/src/main/java/org/ray/api/test/RayConfigTest.java @@ -16,5 +16,11 @@ public class RayConfigTest { Assert.assertEquals("/path/to/ray", rayConfig.rayHome); Assert.assertEquals(WorkerMode.DRIVER, rayConfig.workerMode); Assert.assertEquals(RunMode.CLUSTER, rayConfig.runMode); + + System.setProperty("ray.home", ""); + rayConfig = RayConfig.create(); + Assert.assertEquals(System.getProperty("user.dir"), rayConfig.rayHome); + Assert.assertEquals(System.getProperty("user.dir") + + "/build/src/common/thirdparty/redis/src/redis-server", rayConfig.redisServerExecutablePath); } }