From 8414e413a27211dcb1efaef58f2094ca4d8f2e6c Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Tue, 11 Sep 2018 01:48:17 +0800 Subject: [PATCH] [java] refine and simplify java worker code structure (#2838) --- java/api/pom.xml | 50 +- .../src/main/java/org/ray/api/RayCall.java | 8 +- .../api/runtime/DefaultRayRuntimeFactory.java | 2 +- java/cli/pom.xml | 15 +- .../cli/src/main/java/org/ray/cli/RayCli.java | 28 +- .../main/java/org/ray/util/CommonUtil.java | 19 - .../main/java/org/ray/util/MD5Digestor.java | 30 - java/pom.xml | 515 ++++++++---------- java/ray.config.ini | 18 +- java/runtime-common/pom.xml | 62 --- java/runtime-dev/pom.xml | 50 -- java/runtime-native/assembly.xml | 15 - java/runtime-native/pom.xml | 78 --- .../main/java/org/ray/spi/FileStoreLink.java | 88 --- .../spi/impl/PlasmaObjectExistsException.java | 33 -- .../spi/impl/PlasmaOutOfMemoryException.java | 32 -- java/{common => runtime}/pom.xml | 50 +- .../org/ray/runtime}/AbstractRayRuntime.java | 86 ++- .../java/org/ray/runtime}/RayActorImpl.java | 4 +- .../java/org/ray/runtime}/RayDevRuntime.java | 17 +- .../org/ray/runtime}/RayNativeRuntime.java | 40 +- .../java/org/ray/runtime}/RayObjectImpl.java | 2 +- .../main/java/org/ray/runtime}/Worker.java | 11 +- .../java/org/ray/runtime}/WorkerContext.java | 8 +- .../org/ray/runtime/config}/PathConfig.java | 6 +- .../ray/runtime/config}/RayParameters.java | 8 +- .../java/org/ray/runtime/config}/RunMode.java | 2 +- .../org/ray/runtime/config}/WorkerMode.java | 2 +- .../LocalFunctionManager.java | 13 +- .../NativeRemoteFunctionManager.java | 14 +- .../NopRemoteFunctionManager.java | 2 +- .../functionmanager}/RayActorMethods.java | 4 +- .../runtime/functionmanager}/RayMethod.java | 4 +- .../functionmanager}/RayTaskMethods.java | 4 +- .../RemoteFunctionManager.java | 2 +- .../org/ray/runtime/gcs}/AddressInfo.java | 2 +- .../ray/runtime/gcs}/KeyValueStoreLink.java | 2 +- .../org/ray/runtime/gcs}/RedisClient.java | 3 +- .../org/ray/runtime/gcs}/StateStoreProxy.java | 3 +- .../ray/runtime/gcs}/StateStoreProxyImpl.java | 11 +- .../java/org/ray/runtime/generated}/Arg.java | 3 +- .../runtime/generated}/ClientTableData.java | 2 +- .../ray/runtime/generated}/ResourcePair.java | 3 +- .../org/ray/runtime/generated}/TaskInfo.java | 3 +- .../ray/runtime/generated}/TaskLanguage.java | 2 +- .../runtime/objectstore}/MockObjectStore.java | 11 +- .../objectstore}/ObjectStoreProxy.java | 10 +- .../ray/runtime/raylet/MockRayletClient.java} | 21 +- .../org/ray/runtime/raylet/RayletClient.java} | 9 +- .../ray/runtime/raylet/RayletClientImpl.java} | 37 +- .../org/ray/runtime}/runner/ProcessInfo.java | 2 +- .../java/org/ray/runtime}/runner/RunInfo.java | 4 +- .../org/ray/runtime}/runner/RunManager.java | 22 +- .../runtime}/runner/worker/DefaultDriver.java | 6 +- .../runtime}/runner/worker/DefaultWorker.java | 6 +- .../ray/runtime/task}/ArgumentsBuilder.java | 7 +- .../org/ray/runtime/task}/FunctionArg.java | 2 +- .../java/org/ray/runtime/task}/TaskSpec.java | 4 +- .../java/org/ray/runtime}/util/FileUtil.java | 2 +- .../java/org/ray/runtime/util}/JarLoader.java | 4 +- .../org/ray/runtime}/util/LambdaUtils.java | 2 +- .../java/org/ray/runtime}/util/MethodId.java | 4 +- .../org/ray/runtime}/util/NetworkUtil.java | 4 +- .../org/ray/runtime}/util/ObjectUtil.java | 2 +- .../org/ray/runtime}/util/ResourceUtil.java | 2 +- .../org/ray/runtime/util}/Serializer.java | 2 +- .../org/ray/runtime}/util/Sha1Digestor.java | 4 +- .../org/ray/runtime}/util/StringUtil.java | 2 +- .../org/ray/runtime}/util/SystemUtil.java | 4 +- .../org/ray/runtime/util}/UniqueIdHelper.java | 2 +- .../org/ray/runtime}/util/config/AConfig.java | 2 +- .../ray/runtime}/util/config/ConfigItem.java | 2 +- .../runtime}/util/config/ConfigReader.java | 7 +- .../runtime}/util/config/ConfigSection.java | 2 +- .../util/config/CurrentUseConfig.java | 2 +- .../exception/TaskExecutionException.java | 2 +- .../util/generator/BaseGenerator.java | 2 +- .../util/generator/RayCallGenerator.java | 4 +- .../util/generator/RayFuncGenerator.java | 4 +- .../org/ray/runtime}/util/logger/RayLog.java | 4 +- .../src/main/resources/log4j.properties | 0 java/test/pom.xml | 20 +- java/test/run/logs/core.log | 0 .../ray/api/benchmark/RayBenchmarkTest.java | 2 +- .../org/ray/api/test/LambdaUtilsTest.java | 4 +- .../java/org/ray/api/test/MethodIdTest.java | 2 +- .../java/org/ray/api/test/PlasmaFreeTest.java | 2 - .../org/ray/api/test/RayActorMethodsTest.java | 2 +- .../java/org/ray/api/test/RayMethodsTest.java | 3 +- .../org/ray/api/test/RayTaskMethodsTest.java | 5 +- .../ray/api/test/ResourcesManagementTest.java | 2 - .../java/org/ray/api/test/UniqueIdTest.java | 2 +- .../java/org/ray/api/test/WordCountTest.java | 2 +- java/tutorial/pom.xml | 154 +++--- ...rg_ray_runtime_raylet_RayletClientImpl.cc} | 61 +-- .../org_ray_runtime_raylet_RayletClientImpl.h | 134 +++++ ...ray_spi_impl_DefaultLocalSchedulerClient.h | 136 ----- 97 files changed, 749 insertions(+), 1344 deletions(-) delete mode 100644 java/common/src/main/java/org/ray/util/CommonUtil.java delete mode 100644 java/common/src/main/java/org/ray/util/MD5Digestor.java delete mode 100644 java/runtime-common/pom.xml delete mode 100644 java/runtime-dev/pom.xml delete mode 100644 java/runtime-native/assembly.xml delete mode 100644 java/runtime-native/pom.xml delete mode 100644 java/runtime-native/src/main/java/org/ray/spi/FileStoreLink.java delete mode 100644 java/runtime-native/src/main/java/org/ray/spi/impl/PlasmaObjectExistsException.java delete mode 100644 java/runtime-native/src/main/java/org/ray/spi/impl/PlasmaOutOfMemoryException.java rename java/{common => runtime}/pom.xml (55%) rename java/{runtime-common/src/main/java/org/ray/core => runtime/src/main/java/org/ray/runtime}/AbstractRayRuntime.java (83%) rename java/{runtime-common/src/main/java/org/ray/core => runtime/src/main/java/org/ray/runtime}/RayActorImpl.java (96%) rename java/{runtime-dev/src/main/java/org/ray/core/impl => runtime/src/main/java/org/ray/runtime}/RayDevRuntime.java (53%) rename java/{runtime-native/src/main/java/org/ray/core/impl => runtime/src/main/java/org/ray/runtime}/RayNativeRuntime.java (85%) rename java/{runtime-common/src/main/java/org/ray/core => runtime/src/main/java/org/ray/runtime}/RayObjectImpl.java (94%) rename java/{runtime-common/src/main/java/org/ray/core => runtime/src/main/java/org/ray/runtime}/Worker.java (89%) rename java/{runtime-common/src/main/java/org/ray/core => runtime/src/main/java/org/ray/runtime}/WorkerContext.java (92%) rename java/{runtime-common/src/main/java/org/ray/spi => runtime/src/main/java/org/ray/runtime/config}/PathConfig.java (93%) rename java/{runtime-common/src/main/java/org/ray/core/model => runtime/src/main/java/org/ray/runtime/config}/RayParameters.java (95%) rename java/{runtime-common/src/main/java/org/ray/core/model => runtime/src/main/java/org/ray/runtime/config}/RunMode.java (96%) rename java/{runtime-common/src/main/java/org/ray/core/model => runtime/src/main/java/org/ray/runtime/config}/WorkerMode.java (73%) rename java/{runtime-common/src/main/java/org/ray/core => runtime/src/main/java/org/ray/runtime/functionmanager}/LocalFunctionManager.java (92%) rename java/{runtime-native/src/main/java/org/ray/spi/impl => runtime/src/main/java/org/ray/runtime/functionmanager}/NativeRemoteFunctionManager.java (93%) rename java/{runtime-common/src/main/java/org/ray/spi => runtime/src/main/java/org/ray/runtime/functionmanager}/NopRemoteFunctionManager.java (96%) rename java/{runtime-common/src/main/java/org/ray/spi/model => runtime/src/main/java/org/ray/runtime/functionmanager}/RayActorMethods.java (96%) rename java/{runtime-common/src/main/java/org/ray/spi/model => runtime/src/main/java/org/ray/runtime/functionmanager}/RayMethod.java (94%) rename java/{runtime-common/src/main/java/org/ray/spi/model => runtime/src/main/java/org/ray/runtime/functionmanager}/RayTaskMethods.java (94%) rename java/{runtime-common/src/main/java/org/ray/spi => runtime/src/main/java/org/ray/runtime/functionmanager}/RemoteFunctionManager.java (97%) rename java/{runtime-common/src/main/java/org/ray/spi/model => runtime/src/main/java/org/ray/runtime/gcs}/AddressInfo.java (93%) rename java/{runtime-native/src/main/java/org/ray/spi => runtime/src/main/java/org/ray/runtime/gcs}/KeyValueStoreLink.java (99%) rename java/{runtime-native/src/main/java/org/ray/spi/impl => runtime/src/main/java/org/ray/runtime/gcs}/RedisClient.java (98%) rename java/{runtime-native/src/main/java/org/ray/spi => runtime/src/main/java/org/ray/runtime/gcs}/StateStoreProxy.java (92%) rename java/{runtime-native/src/main/java/org/ray/spi/impl => runtime/src/main/java/org/ray/runtime/gcs}/StateStoreProxyImpl.java (95%) rename java/{runtime-native/src/main/java/org/ray/spi/impl => runtime/src/main/java/org/ray/runtime/generated}/Arg.java (98%) rename java/{runtime-native/src/main/java/org/ray/format/gcs => runtime/src/main/java/org/ray/runtime/generated}/ClientTableData.java (99%) rename java/{runtime-native/src/main/java/org/ray/spi/impl => runtime/src/main/java/org/ray/runtime/generated}/ResourcePair.java (97%) rename java/{runtime-native/src/main/java/org/ray/spi/impl => runtime/src/main/java/org/ray/runtime/generated}/TaskInfo.java (99%) rename java/{runtime-native/src/main/java/org/ray/spi/impl => runtime/src/main/java/org/ray/runtime/generated}/TaskLanguage.java (90%) rename java/{runtime-dev/src/main/java/org/ray/spi/impl => runtime/src/main/java/org/ray/runtime/objectstore}/MockObjectStore.java (91%) rename java/{runtime-common/src/main/java/org/ray/spi => runtime/src/main/java/org/ray/runtime/objectstore}/ObjectStoreProxy.java (92%) rename java/{runtime-dev/src/main/java/org/ray/spi/impl/MockLocalScheduler.java => runtime/src/main/java/org/ray/runtime/raylet/MockRayletClient.java} (78%) rename java/{runtime-common/src/main/java/org/ray/spi/LocalSchedulerLink.java => runtime/src/main/java/org/ray/runtime/raylet/RayletClient.java} (78%) rename java/{runtime-native/src/main/java/org/ray/spi/impl/DefaultLocalSchedulerClient.java => runtime/src/main/java/org/ray/runtime/raylet/RayletClientImpl.java} (91%) rename java/{runtime-native/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/runner/ProcessInfo.java (88%) rename java/{runtime-native/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/runner/RunInfo.java (94%) rename java/{runtime-native/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/runner/RunManager.java (97%) rename java/{runtime-native/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/runner/worker/DefaultDriver.java (89%) rename java/{runtime-native/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/runner/worker/DefaultWorker.java (87%) rename java/{runtime-common/src/main/java/org/ray/core => runtime/src/main/java/org/ray/runtime/task}/ArgumentsBuilder.java (90%) rename java/{runtime-common/src/main/java/org/ray/spi/model => runtime/src/main/java/org/ray/runtime/task}/FunctionArg.java (93%) rename java/{runtime-common/src/main/java/org/ray/spi/model => runtime/src/main/java/org/ray/runtime/task}/TaskSpec.java (97%) rename java/{common/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/util/FileUtil.java (99%) rename java/{runtime-native/src/main/java/org/ray/spi/impl => runtime/src/main/java/org/ray/runtime/util}/JarLoader.java (97%) rename java/{common/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/util/LambdaUtils.java (96%) rename java/{common/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/util/MethodId.java (98%) rename java/{common/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/util/NetworkUtil.java (96%) rename java/{common/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/util/ObjectUtil.java (95%) rename java/{common/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/util/ResourceUtil.java (99%) rename java/{runtime-common/src/main/java/org/ray/core => runtime/src/main/java/org/ray/runtime/util}/Serializer.java (98%) rename java/{common/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/util/Sha1Digestor.java (93%) rename java/{common/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/util/StringUtil.java (99%) rename java/{common/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/util/SystemUtil.java (95%) rename java/{runtime-common/src/main/java/org/ray/core => runtime/src/main/java/org/ray/runtime/util}/UniqueIdHelper.java (98%) rename java/{common/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/util/config/AConfig.java (96%) rename java/{common/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/util/config/ConfigItem.java (83%) rename java/{common/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/util/config/ConfigReader.java (98%) rename java/{common/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/util/config/ConfigSection.java (87%) rename java/{common/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/util/config/CurrentUseConfig.java (88%) rename java/{common/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/util/exception/TaskExecutionException.java (89%) rename java/{common/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/util/generator/BaseGenerator.java (91%) rename java/{common/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/util/generator/RayCallGenerator.java (98%) rename java/{common/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/util/generator/RayFuncGenerator.java (95%) rename java/{common/src/main/java/org/ray => runtime/src/main/java/org/ray/runtime}/util/logger/RayLog.java (92%) rename java/{common => runtime}/src/main/resources/log4j.properties (100%) create mode 100644 java/test/run/logs/core.log rename src/local_scheduler/lib/java/{org_ray_spi_impl_DefaultLocalSchedulerClient.cc => org_ray_runtime_raylet_RayletClientImpl.cc} (78%) create mode 100644 src/local_scheduler/lib/java/org_ray_runtime_raylet_RayletClientImpl.h delete mode 100644 src/local_scheduler/lib/java/org_ray_spi_impl_DefaultLocalSchedulerClient.h diff --git a/java/api/pom.xml b/java/api/pom.xml index cdd550eba..84b20360a 100644 --- a/java/api/pom.xml +++ b/java/api/pom.xml @@ -1,42 +1,18 @@ - - - org.ray.parent - ray-superpom - 1.0 - - 4.0.0 + xmlns="http://maven.apache.org/POM/4.0.0" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + org.ray.parent + ray-superpom + 1.0 + + 4.0.0 - org.ray - ray-api - java api for ray - java api for ray - - - jar - - - - - commons-cli - commons-cli - - - - org.apache.commons - commons-lang3 - - - de.ruedigermoeller - fst - - - org.apache.arrow - arrow-plasma - - + org.ray + ray-api + ray api + java api for ray + jar diff --git a/java/api/src/main/java/org/ray/api/RayCall.java b/java/api/src/main/java/org/ray/api/RayCall.java index 68cd33bdc..ef40a238c 100644 --- a/java/api/src/main/java/org/ray/api/RayCall.java +++ b/java/api/src/main/java/org/ray/api/RayCall.java @@ -2,7 +2,13 @@ package org.ray.api; -import org.ray.api.function.*; +import org.ray.api.function.RayFunc0; +import org.ray.api.function.RayFunc1; +import org.ray.api.function.RayFunc2; +import org.ray.api.function.RayFunc3; +import org.ray.api.function.RayFunc4; +import org.ray.api.function.RayFunc5; +import org.ray.api.function.RayFunc6; /** * This class provides type-safe interfaces for `Ray.call` and `Ray.createActor`. diff --git a/java/api/src/main/java/org/ray/api/runtime/DefaultRayRuntimeFactory.java b/java/api/src/main/java/org/ray/api/runtime/DefaultRayRuntimeFactory.java index 9f7302a98..13ff9205a 100644 --- a/java/api/src/main/java/org/ray/api/runtime/DefaultRayRuntimeFactory.java +++ b/java/api/src/main/java/org/ray/api/runtime/DefaultRayRuntimeFactory.java @@ -10,7 +10,7 @@ public class DefaultRayRuntimeFactory implements RayRuntimeFactory { @Override public RayRuntime createRayRuntime() { try { - Method m = Class.forName("org.ray.core.AbstractRayRuntime").getDeclaredMethod("init"); + Method m = Class.forName("org.ray.runtime.AbstractRayRuntime").getDeclaredMethod("init"); m.setAccessible(true); RayRuntime runtime = (RayRuntime) m.invoke(null); m.setAccessible(false); diff --git a/java/cli/pom.xml b/java/cli/pom.xml index d8d11455d..1549a1fb5 100644 --- a/java/cli/pom.xml +++ b/java/cli/pom.xml @@ -12,9 +12,8 @@ org.ray ray-cli - java cli for ray + java cli java cli for ray - jar @@ -26,25 +25,21 @@ org.ray - ray-runtime-native + ray-runtime ${project.version} de.ruedigermoeller fst - com.github.davidmoten flatbuffers-java - redis.clients jedis - - com.beust jcommander @@ -71,8 +66,8 @@ - - + + org.apache.maven.plugins maven-dependency-plugin @@ -92,7 +87,5 @@ - - diff --git a/java/cli/src/main/java/org/ray/cli/RayCli.java b/java/cli/src/main/java/org/ray/cli/RayCli.java index 2c422b943..e683682a7 100644 --- a/java/cli/src/main/java/org/ray/cli/RayCli.java +++ b/java/cli/src/main/java/org/ray/cli/RayCli.java @@ -7,20 +7,20 @@ import java.util.ArrayList; import java.util.List; import net.lingala.zip4j.core.ZipFile; import org.ray.api.id.UniqueId; -import org.ray.core.model.RayParameters; -import org.ray.core.model.RunMode; -import org.ray.runner.RunManager; -import org.ray.runner.worker.DefaultDriver; -import org.ray.spi.KeyValueStoreLink; -import org.ray.spi.PathConfig; -import org.ray.spi.RemoteFunctionManager; -import org.ray.spi.StateStoreProxy; -import org.ray.spi.impl.NativeRemoteFunctionManager; -import org.ray.spi.impl.RedisClient; -import org.ray.spi.impl.StateStoreProxyImpl; -import org.ray.util.FileUtil; -import org.ray.util.config.ConfigReader; -import org.ray.util.logger.RayLog; +import org.ray.runtime.config.PathConfig; +import org.ray.runtime.config.RayParameters; +import org.ray.runtime.config.RunMode; +import org.ray.runtime.functionmanager.NativeRemoteFunctionManager; +import org.ray.runtime.functionmanager.RemoteFunctionManager; +import org.ray.runtime.gcs.KeyValueStoreLink; +import org.ray.runtime.gcs.RedisClient; +import org.ray.runtime.gcs.StateStoreProxy; +import org.ray.runtime.gcs.StateStoreProxyImpl; +import org.ray.runtime.runner.RunManager; +import org.ray.runtime.runner.worker.DefaultDriver; +import org.ray.runtime.util.FileUtil; +import org.ray.runtime.util.config.ConfigReader; +import org.ray.runtime.util.logger.RayLog; /** diff --git a/java/common/src/main/java/org/ray/util/CommonUtil.java b/java/common/src/main/java/org/ray/util/CommonUtil.java deleted file mode 100644 index 052798d61..000000000 --- a/java/common/src/main/java/org/ray/util/CommonUtil.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.ray.util; - -import java.util.Random; - -/** - * Common utilities. - */ -public class CommonUtil { - - private static final Random seed = new Random(); - - /** - * Get random number between 0 and (max-1). - */ - public static int getRandom(int max) { - return Math.abs(seed.nextInt() % max); - } - -} diff --git a/java/common/src/main/java/org/ray/util/MD5Digestor.java b/java/common/src/main/java/org/ray/util/MD5Digestor.java deleted file mode 100644 index 16a22e557..000000000 --- a/java/common/src/main/java/org/ray/util/MD5Digestor.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.ray.util; - -import java.nio.ByteBuffer; -import java.security.MessageDigest; -import org.ray.util.logger.RayLog; - -public class MD5Digestor { - - private static final ThreadLocal md = ThreadLocal.withInitial(() -> { - try { - return MessageDigest.getInstance("MD5"); - } catch (Exception e) { - RayLog.core.error("cannot get MD5 MessageDigest", e); - throw new RuntimeException("cannot get MD5 digest", e); - } - }); - - private static final ThreadLocal longBuffer = ThreadLocal - .withInitial(() -> ByteBuffer.allocate(Long.SIZE / Byte.SIZE)); - - public static byte[] digest(byte[] src, long addIndex) { - MessageDigest dg = md.get(); - longBuffer.get().clear(); - dg.reset(); - - dg.update(src); - dg.update(longBuffer.get().putLong(addIndex).array()); - return dg.digest(); - } -} diff --git a/java/pom.xml b/java/pom.xml index e20af1ca4..6859502ac 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -1,306 +1,231 @@ - 4.0.0 - pom + xmlns="http://maven.apache.org/POM/4.0.0" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 + pom + org.ray.parent + ray-superpom + 1.0 + + api + runtime + cli + test + tutorial + - org.ray.parent - ray-superpom - 1.0 - - api - common - runtime-common - runtime-native - runtime-dev - cli - test - tutorial - + + 1.8 + UTF-8 + 1.0 + 1.7.25 + - - 1.8 - UTF-8 - 1.0 - 1.7.25 - + + + + org.apache.arrow + arrow-plasma + 0.10.0 + + + de.ruedigermoeller + fst + 2.47 + + + org.ini4j + ini4j + 0.5.2 + + + org.ow2.asm + asm + 6.0 + + + com.github.davidmoten + flatbuffers-java + 1.9.0.1 + + + com.beust + jcommander + 1.72 + + + redis.clients + jedis + 2.8.0 + + + commons-io + commons-io + 2.5 + + + org.apache.commons + commons-lang3 + 3.4 + + + commons-codec + commons-codec + 1.4 + + + net.lingala.zip4j + zip4j + 1.3.2 + + + com.google.guava + guava + 19.0 + + + commons-collections + commons-collections + 3.2.2 + + + org.slf4j + slf4j-log4j12 + ${slf4j.version} + + + net.java.dev.jna + jna + 4.1.0 + + + org.mockito + mockito-all + 1.10.19 + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.6.1 + + ${java.version} + ${java.version} + ${project.build.sourceEncoding} + -parameters + -parameters + + - - + + org.apache.maven.plugins + maven-source-plugin + 3.0.1 + + + attach-sources + deploy + + jar + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 2.10 + + + org.apache.maven.plugins + maven-clean-plugin + 3.0.0 + + + + org.mortbay.jetty + maven-jetty-plugin + 6.1.26 + + + + org.apache.maven.plugins + maven-assembly-plugin + 2.2 + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.10.4 + + + attach-javadocs + deploy + + jar + + + + + + maven-deploy-plugin + 2.8.2 + + + deploy + deploy + + deploy + + + + + + org.apache.maven.plugins + maven-checkstyle-plugin + 2.17 + - org.apache.arrow - arrow-plasma - 0.10.0 + com.puppycrawl.tools + checkstyle + 6.19 - - - de.ruedigermoeller - fst - 2.47 - - - - quartz - quartz - 1.5.2 - - - org.ini4j - ini4j - 0.5.2 - - - - org.ow2.asm - asm - 6.0 - - - - - com.github.davidmoten - flatbuffers-java - 1.9.0.1 - - - - - com.beust - jcommander - 1.72 - - - - - redis.clients - jedis - 2.8.0 - - - - commons-io - commons-io - 2.5 - - - - commons-cli - commons-cli - 1.2 - - - - - org.apache.commons - commons-lang3 - 3.4 - - - - commons-codec - commons-codec - 1.4 - - - - net.lingala.zip4j - zip4j - 1.3.2 - - - - com.google.guava - guava - 19.0 - - - - commons-collections - commons-collections - 3.2.2 - - - - - org.slf4j - slf4j-log4j12 - ${slf4j.version} - - - - - com.beust - jcommander - 1.72 - - - - net.java.dev.jna - jna - 4.1.0 - - - - mysql - mysql-connector-java - 5.1.30 - - - - org.apache.hadoop - hadoop-common - 3.0.0 - - - - org.apache.hadoop - hadoop-client - 3.0.0 - - - - org.apache.hadoop - hadoop-hdfs - 3.0.0 - - - - com.esotericsoftware - kryo - 4.0.0 - - - - org.mockito - mockito-all - 1.10.19 - - - - - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.6.1 - - ${java.version} - ${java.version} - ${project.build.sourceEncoding} - -parameters - -parameters - - - - - org.apache.maven.plugins - maven-source-plugin - 3.0.1 - - - attach-sources - deploy - - jar - - - - - - - org.apache.maven.plugins - maven-dependency-plugin - 2.10 - - - org.apache.maven.plugins - maven-clean-plugin - 3.0.0 - - - - org.mortbay.jetty - maven-jetty-plugin - 6.1.26 - - - - org.apache.maven.plugins - maven-assembly-plugin - 2.2 - - - - org.apache.maven.plugins - maven-javadoc-plugin - 2.10.4 - - - attach-javadocs - deploy - - jar - - - - - - maven-deploy-plugin - 2.8.2 - - - deploy - deploy - - deploy - - - - - - org.apache.maven.plugins - maven-checkstyle-plugin - 2.17 - - - com.puppycrawl.tools - checkstyle - 6.19 - - - - - validate - validate - - check - - - - - checkstyle.xml - checkstyle-suppressions.xml - UTF-8 - true - false - true - warning - xml - html - ${project.build.directory}/test/checkstyle-errors.xml - - false - - - - - + + + + validate + validate + + check + + + + + checkstyle.xml + checkstyle-suppressions.xml + UTF-8 + true + false + true + warning + xml + html + ${project.build.directory}/checkstyle-errors.xml + + false + + + + + diff --git a/java/ray.config.ini b/java/ray.config.ini index 8f63695cd..f4eb4550d 100644 --- a/java/ray.config.ini +++ b/java/ray.config.ini @@ -70,20 +70,11 @@ driver_args = [ray.java.start.job] [ray.java.path.classes.source] -%CONFIG_FILE_DIR%/common/target/classes = -%CONFIG_FILE_DIR%/common/target/test-classes = - %CONFIG_FILE_DIR%/api/target/classes = %CONFIG_FILE_DIR%/api/target/test-classes = -%CONFIG_FILE_DIR%/runtime-common/target/classes = -%CONFIG_FILE_DIR%/runtime-common/target/test-classes = - -%CONFIG_FILE_DIR%/runtime-dev/target/classes = -%CONFIG_FILE_DIR%/runtime-dev/target/test-classes = - -%CONFIG_FILE_DIR%/runtime-native/target/classes = -%CONFIG_FILE_DIR%/runtime-native/target/test-classes = +%CONFIG_FILE_DIR%/runtime/target/classes = +%CONFIG_FILE_DIR%/runtime/target/test-classes = %CONFIG_FILE_DIR%/tutorial/target/classes = @@ -92,11 +83,8 @@ driver_args = %CONFIG_FILE_DIR%/test/lib/* = [ray.java.path.classes.package] -%CONFIG_FILE_DIR%/common/target/ray-common-1.0.jar = %CONFIG_FILE_DIR%/api/target/ray-api-1.0.jar = -%CONFIG_FILE_DIR%/runtime-common/target/ray-runtime-common-1.0.jar = -%CONFIG_FILE_DIR%/runtime-dev/target/ray-runtime-dev-1.0.jar = -%CONFIG_FILE_DIR%/runtime-native/target/ray-runtime-native-1.0.jar = +%CONFIG_FILE_DIR%/runtime/target/ray-runtime-1.0.jar = %CONFIG_FILE_DIR%/test/target/ray-test-1.0.jar = %CONFIG_FILE_DIR%/test/target/test-classes = diff --git a/java/runtime-common/pom.xml b/java/runtime-common/pom.xml deleted file mode 100644 index 34cde7dcc..000000000 --- a/java/runtime-common/pom.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - org.ray.parent - ray-superpom - 1.0 - - 4.0.0 - org.ray - ray-runtime-common - - runtime common - runtime common - - - jar - - - - org.ray - ray-api - ${project.version} - - - org.ray - ray-common - ${project.version} - - - de.ruedigermoeller - fst - - - - - com.github.davidmoten - flatbuffers-java - - - - - redis.clients - jedis - - - org.apache.arrow - arrow-plasma - - - commons-io - commons-io - - - com.google.guava - guava - - - - - \ No newline at end of file diff --git a/java/runtime-dev/pom.xml b/java/runtime-dev/pom.xml deleted file mode 100644 index 891a333e1..000000000 --- a/java/runtime-dev/pom.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - org.ray.parent - ray-superpom - 1.0 - - 4.0.0 - org.ray - ray-runtime-dev - - runtime-dev - runtime for app development - - - jar - - - - org.ray - ray-api - ${project.version} - - - org.ray - ray-runtime-common - ${project.version} - - - de.ruedigermoeller - fst - - - - - com.github.davidmoten - flatbuffers-java - - - - - redis.clients - jedis - - - - - diff --git a/java/runtime-native/assembly.xml b/java/runtime-native/assembly.xml deleted file mode 100644 index d787d9587..000000000 --- a/java/runtime-native/assembly.xml +++ /dev/null @@ -1,15 +0,0 @@ - - ear - - zip - - - - true - lib - - - - - - diff --git a/java/runtime-native/pom.xml b/java/runtime-native/pom.xml deleted file mode 100644 index a5de19360..000000000 --- a/java/runtime-native/pom.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - - org.ray.parent - ray-superpom - 1.0 - - 4.0.0 - - org.ray - ray-runtime-native - - native runtime for ray - native runtime for ray - - - jar - - - - org.ray - ray-runtime-common - ${project.version} - - - - - commons-io - commons-io - - - - net.lingala.zip4j - zip4j - - - - commons-codec - commons-codec - - - com.google.guava - guava - - - org.apache.arrow - arrow-plasma - - - - ray-runtime-deploy - - - org.apache.maven.plugins - maven-assembly-plugin - - - assembly.xml - - - - - make-assembly - install - - single - - - - - - - - - diff --git a/java/runtime-native/src/main/java/org/ray/spi/FileStoreLink.java b/java/runtime-native/src/main/java/org/ray/spi/FileStoreLink.java deleted file mode 100644 index b097b4cff..000000000 --- a/java/runtime-native/src/main/java/org/ray/spi/FileStoreLink.java +++ /dev/null @@ -1,88 +0,0 @@ -package org.ray.spi; - -import java.io.DataInputStream; -import java.io.DataOutputStream; - -public interface FileStoreLink { - - boolean mkdirs(String f); - - /** - * Check if exists. - * - * @param f source file - */ - boolean exists(String f); - - /** - * True if the named path is a directory. - * - * @param f path to check - */ - boolean isDirectory(String f); - - /** - * True if the named path is a regular file. - * - * @param f path to check - */ - boolean isFile(String f); - - /** - * delete a file. - * - * @param f the path to delete. - * @param recursive if path is a directory and set to true, the directory is deleted else throws - * an exception. In case of a file the recursive can be set to either true or - * false. - * @return true if delete is successful else false. - */ - boolean delete(String f, boolean recursive); - - /** - * The src file is on the local disk. Add it to FS at the given dst name and the source is kept - * intact afterwards - * - * @param src path - * @param dst path - */ - void copyFromLocalFile(String src, String dst); - - /** - * The src file is under FS, and the dst is on the local disk. Copy it from FS control to the - * local dst name. - * - * @param src path - * @param dst path - */ - void copyToLocalFile(String src, String dst); - - /** - * Create an FSDataOutputStream at the indicated Path. Files are overwritten by default. - * - * @param f the file to create - */ - DataOutputStream create(String f, boolean overwrite); - - /** - * Opens an FSDataInputStream at the indicated Path. - * - * @param f the file name to open - */ - DataInputStream open(String f); - - /** - * Append to an existing file (optional operation). - * - * @param f the existing file to be appended. - */ - DataOutputStream append(String f); - - /** - * get the file length which is located in the file store. - * - * @param f the existing file path. - */ - int fileLength(String f); - -} diff --git a/java/runtime-native/src/main/java/org/ray/spi/impl/PlasmaObjectExistsException.java b/java/runtime-native/src/main/java/org/ray/spi/impl/PlasmaObjectExistsException.java deleted file mode 100644 index 35601f35a..000000000 --- a/java/runtime-native/src/main/java/org/ray/spi/impl/PlasmaObjectExistsException.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.ray.spi.impl; - -/** - * This exception is raised if the object could not be created because there already is an object - * with the same ID in the plasma store. - */ -public class PlasmaObjectExistsException extends Exception { - - - private static final long serialVersionUID = 9128880292504270291L; - - public PlasmaObjectExistsException() { - super(); - } - - public PlasmaObjectExistsException(String message, Throwable cause, boolean enableSuppression, - boolean writableStackTrace) { - super(message, cause, enableSuppression, writableStackTrace); - } - - public PlasmaObjectExistsException(String message, Throwable cause) { - super(message, cause); - } - - public PlasmaObjectExistsException(String message) { - super(message); - } - - public PlasmaObjectExistsException(Throwable cause) { - super(cause); - } - -} diff --git a/java/runtime-native/src/main/java/org/ray/spi/impl/PlasmaOutOfMemoryException.java b/java/runtime-native/src/main/java/org/ray/spi/impl/PlasmaOutOfMemoryException.java deleted file mode 100644 index 67499e4fc..000000000 --- a/java/runtime-native/src/main/java/org/ray/spi/impl/PlasmaOutOfMemoryException.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.ray.spi.impl; - -/** - * This exception is raised if the object could not be created because the plasma store is unable to - * evict enough objects to create room for it. - */ -public class PlasmaOutOfMemoryException extends Exception { - - private static final long serialVersionUID = -2786069077559520659L; - - public PlasmaOutOfMemoryException() { - super(); - } - - public PlasmaOutOfMemoryException(String message, Throwable cause, boolean enableSuppression, - boolean writableStackTrace) { - super(message, cause, enableSuppression, writableStackTrace); - } - - public PlasmaOutOfMemoryException(String message, Throwable cause) { - super(message, cause); - } - - public PlasmaOutOfMemoryException(String message) { - super(message); - } - - public PlasmaOutOfMemoryException(Throwable cause) { - super(cause); - } - -} diff --git a/java/common/pom.xml b/java/runtime/pom.xml similarity index 55% rename from java/common/pom.xml rename to java/runtime/pom.xml index f7b6f7716..f709839d9 100644 --- a/java/common/pom.xml +++ b/java/runtime/pom.xml @@ -1,5 +1,4 @@ - @@ -9,12 +8,11 @@ 1.0 4.0.0 - org.ray - ray-common - java common and util for ray - java common and util for ray - + ray-runtime + + ray runtime + ray runtime implementation jar @@ -25,12 +23,40 @@ ${project.version} - org.slf4j - slf4j-log4j12 + org.apache.commons + commons-lang3 - quartz - quartz + de.ruedigermoeller + fst + + + com.github.davidmoten + flatbuffers-java + + + redis.clients + jedis + + + org.apache.arrow + arrow-plasma + + + commons-io + commons-io + + + com.google.guava + guava + + + net.lingala.zip4j + zip4j + + + org.slf4j + slf4j-log4j12 org.ini4j @@ -40,9 +66,5 @@ org.ow2.asm asm - - com.google.guava - guava - \ No newline at end of file diff --git a/java/runtime-common/src/main/java/org/ray/core/AbstractRayRuntime.java b/java/runtime/src/main/java/org/ray/runtime/AbstractRayRuntime.java similarity index 83% rename from java/runtime-common/src/main/java/org/ray/core/AbstractRayRuntime.java rename to java/runtime/src/main/java/org/ray/runtime/AbstractRayRuntime.java index 3fbcdbc2d..8032e9642 100644 --- a/java/runtime-common/src/main/java/org/ray/core/AbstractRayRuntime.java +++ b/java/runtime/src/main/java/org/ray/runtime/AbstractRayRuntime.java @@ -1,8 +1,6 @@ -package org.ray.core; +package org.ray.runtime; import com.google.common.collect.ImmutableList; -import java.lang.reflect.Constructor; -import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -17,19 +15,22 @@ import org.ray.api.WaitResult; import org.ray.api.function.RayFunc; import org.ray.api.id.UniqueId; import org.ray.api.runtime.RayRuntime; -import org.ray.core.model.RayParameters; -import org.ray.spi.LocalSchedulerLink; -import org.ray.spi.ObjectStoreProxy; -import org.ray.spi.ObjectStoreProxy.GetStatus; -import org.ray.spi.PathConfig; -import org.ray.spi.RemoteFunctionManager; -import org.ray.spi.model.RayMethod; -import org.ray.spi.model.TaskSpec; -import org.ray.util.MethodId; -import org.ray.util.ResourceUtil; -import org.ray.util.config.ConfigReader; -import org.ray.util.exception.TaskExecutionException; -import org.ray.util.logger.RayLog; +import org.ray.runtime.config.PathConfig; +import org.ray.runtime.config.RayParameters; +import org.ray.runtime.functionmanager.LocalFunctionManager; +import org.ray.runtime.functionmanager.RayMethod; +import org.ray.runtime.functionmanager.RemoteFunctionManager; +import org.ray.runtime.objectstore.ObjectStoreProxy; +import org.ray.runtime.objectstore.ObjectStoreProxy.GetStatus; +import org.ray.runtime.raylet.RayletClient; +import org.ray.runtime.task.ArgumentsBuilder; +import org.ray.runtime.task.TaskSpec; +import org.ray.runtime.util.MethodId; +import org.ray.runtime.util.ResourceUtil; +import org.ray.runtime.util.UniqueIdHelper; +import org.ray.runtime.util.config.ConfigReader; +import org.ray.runtime.util.exception.TaskExecutionException; +import org.ray.runtime.util.logger.RayLog; /** * Core functionality to implement Ray APIs. @@ -41,7 +42,7 @@ public abstract class AbstractRayRuntime implements RayRuntime { protected static RayParameters params = null; private static boolean fromRayInit = false; protected Worker worker; - protected LocalSchedulerLink localSchedulerClient; + protected RayletClient rayletClient; protected ObjectStoreProxy objectStoreProxy; protected LocalFunctionManager functions; protected RemoteFunctionManager remoteFunctionManager; @@ -118,7 +119,7 @@ public abstract class AbstractRayRuntime implements RayRuntime { } protected void init( - LocalSchedulerLink slink, + RayletClient slink, ObjectStoreLink plink, RemoteFunctionManager remoteLoader, PathConfig pathManager @@ -127,35 +128,18 @@ public abstract class AbstractRayRuntime implements RayRuntime { pathConfig = pathManager; functions = new LocalFunctionManager(remoteLoader); - localSchedulerClient = slink; + rayletClient = slink; objectStoreProxy = new ObjectStoreProxy(plink); worker = new Worker(this); } private static AbstractRayRuntime instantiate(RayParameters params) { - String className = params.run_mode.isNativeRuntime() - ? "org.ray.core.impl.RayNativeRuntime" : "org.ray.core.impl.RayDevRuntime"; - AbstractRayRuntime runtime; - try { - Class cls = Class.forName(className); - if (cls.getConstructors().length > 0) { - throw new Error( - "The AbstractRayRuntime final class should not have any public constructor."); - } - Constructor cons = cls.getDeclaredConstructor(); - cons.setAccessible(true); - runtime = (AbstractRayRuntime) cons.newInstance(); - cons.setAccessible(false); - } catch (InstantiationException | IllegalAccessException | IllegalArgumentException - | InvocationTargetException | SecurityException | ClassNotFoundException - | NoSuchMethodException e) { - RayLog.core - .error("Load class " + className + " failed for run-mode " + params.run_mode.toString(), - e); - throw new Error("AbstractRayRuntime not registered for run-mode " - + params.run_mode.toString()); + if (params.run_mode.isNativeRuntime()) { + runtime = new RayNativeRuntime(); + } else { + runtime = new RayDevRuntime(); } RayLog.core @@ -219,7 +203,7 @@ public abstract class AbstractRayRuntime implements RayRuntime { List> fetchBatches = splitIntoBatches(objectIds, params.worker_fetch_request_size); for (List batch : fetchBatches) { - localSchedulerClient.reconstructObjects(batch, true); + rayletClient.reconstructObjects(batch, true); } // Get the objects. We initially try to get the objects immediately. @@ -244,7 +228,7 @@ public abstract class AbstractRayRuntime implements RayRuntime { splitIntoBatches(unreadyList, params.worker_fetch_request_size); for (List batch : reconstructBatches) { - localSchedulerClient.reconstructObjects(batch, false); + rayletClient.reconstructObjects(batch, false); } List> results = objectStoreProxy @@ -279,14 +263,14 @@ public abstract class AbstractRayRuntime implements RayRuntime { // If there were objects that we weren't able to get locally, let the local // scheduler know that we're now unblocked. if (wasBlocked) { - localSchedulerClient.notifyUnblocked(); + rayletClient.notifyUnblocked(); } } } @Override public void free(List objectIds, boolean localOnly) { - localSchedulerClient.freePlasmaObjects(objectIds, localOnly); + rayletClient.freePlasmaObjects(objectIds, localOnly); } private List> splitIntoBatches(List objectIds, int batchSize) { @@ -307,13 +291,13 @@ public abstract class AbstractRayRuntime implements RayRuntime { @Override public WaitResult wait(List> waitList, int numReturns, int timeoutMs) { - return localSchedulerClient.wait(waitList, numReturns, timeoutMs); + return rayletClient.wait(waitList, numReturns, timeoutMs); } @Override public RayObject call(RayFunc func, Object[] args) { TaskSpec spec = createTaskSpec(func, RayActorImpl.NIL, args, false); - localSchedulerClient.submitTask(spec); + rayletClient.submitTask(spec); return new RayObjectImpl(spec.returnIds[0]); } @@ -325,7 +309,7 @@ public abstract class AbstractRayRuntime implements RayRuntime { RayActorImpl actorImpl = (RayActorImpl)actor; TaskSpec spec = createTaskSpec(func, actorImpl, args, false); actorImpl.setTaskCursor(spec.returnIds[1]); - localSchedulerClient.submitTask(spec); + rayletClient.submitTask(spec); return new RayObjectImpl(spec.returnIds[0]); } @@ -336,7 +320,7 @@ public abstract class AbstractRayRuntime implements RayRuntime { RayActorImpl actor = new RayActorImpl(spec.returnIds[0]); actor.increaseTaskCounter(); actor.setTaskCursor(spec.returnIds[0]); - localSchedulerClient.submitTask(spec); + rayletClient.submitTask(spec); return (RayActor) actor; } @@ -362,7 +346,7 @@ public abstract class AbstractRayRuntime implements RayRuntime { private TaskSpec createTaskSpec(RayFunc func, RayActorImpl actor, Object[] args, boolean isActorCreationTask) { final TaskSpec current = WorkerContext.currentTask(); - UniqueId taskId = localSchedulerClient.generateTaskId(current.driverId, + UniqueId taskId = rayletClient.generateTaskId(current.driverId, current.taskId, WorkerContext.nextCallIndex()); int numReturns = actor.getId().isNil() ? 1 : 2; @@ -411,8 +395,8 @@ public abstract class AbstractRayRuntime implements RayRuntime { return worker; } - public LocalSchedulerLink getLocalSchedulerClient() { - return localSchedulerClient; + public RayletClient getRayletClient() { + return rayletClient; } public LocalFunctionManager getLocalFunctionManager() { diff --git a/java/runtime-common/src/main/java/org/ray/core/RayActorImpl.java b/java/runtime/src/main/java/org/ray/runtime/RayActorImpl.java similarity index 96% rename from java/runtime-common/src/main/java/org/ray/core/RayActorImpl.java rename to java/runtime/src/main/java/org/ray/runtime/RayActorImpl.java index 3f3c9642a..fd303fa93 100644 --- a/java/runtime-common/src/main/java/org/ray/core/RayActorImpl.java +++ b/java/runtime/src/main/java/org/ray/runtime/RayActorImpl.java @@ -1,4 +1,4 @@ -package org.ray.core; +package org.ray.runtime; import java.io.Externalizable; import java.io.IOException; @@ -6,7 +6,7 @@ import java.io.ObjectInput; import java.io.ObjectOutput; import org.ray.api.RayActor; import org.ray.api.id.UniqueId; -import org.ray.util.Sha1Digestor; +import org.ray.runtime.util.Sha1Digestor; public final class RayActorImpl implements RayActor, Externalizable { diff --git a/java/runtime-dev/src/main/java/org/ray/core/impl/RayDevRuntime.java b/java/runtime/src/main/java/org/ray/runtime/RayDevRuntime.java similarity index 53% rename from java/runtime-dev/src/main/java/org/ray/core/impl/RayDevRuntime.java rename to java/runtime/src/main/java/org/ray/runtime/RayDevRuntime.java index bdaab639a..7fd685146 100644 --- a/java/runtime-dev/src/main/java/org/ray/core/impl/RayDevRuntime.java +++ b/java/runtime/src/main/java/org/ray/runtime/RayDevRuntime.java @@ -1,12 +1,11 @@ -package org.ray.core.impl; +package org.ray.runtime; -import org.ray.core.AbstractRayRuntime; -import org.ray.core.model.RayParameters; -import org.ray.spi.NopRemoteFunctionManager; -import org.ray.spi.PathConfig; -import org.ray.spi.RemoteFunctionManager; -import org.ray.spi.impl.MockLocalScheduler; -import org.ray.spi.impl.MockObjectStore; +import org.ray.runtime.config.PathConfig; +import org.ray.runtime.config.RayParameters; +import org.ray.runtime.functionmanager.NopRemoteFunctionManager; +import org.ray.runtime.functionmanager.RemoteFunctionManager; +import org.ray.runtime.objectstore.MockObjectStore; +import org.ray.runtime.raylet.MockRayletClient; public class RayDevRuntime extends AbstractRayRuntime { @@ -15,7 +14,7 @@ public class RayDevRuntime extends AbstractRayRuntime { PathConfig pathConfig = new PathConfig(configReader); RemoteFunctionManager rfm = new NopRemoteFunctionManager(params.driver_id); MockObjectStore store = new MockObjectStore(); - MockLocalScheduler scheduler = new MockLocalScheduler(this, store); + MockRayletClient scheduler = new MockRayletClient(this, store); init(scheduler, store, rfm, pathConfig); scheduler.setLocalFunctionManager(this.functions); } diff --git a/java/runtime-native/src/main/java/org/ray/core/impl/RayNativeRuntime.java b/java/runtime/src/main/java/org/ray/runtime/RayNativeRuntime.java similarity index 85% rename from java/runtime-native/src/main/java/org/ray/core/impl/RayNativeRuntime.java rename to java/runtime/src/main/java/org/ray/runtime/RayNativeRuntime.java index 2c7d7b634..19eaa4124 100644 --- a/java/runtime-native/src/main/java/org/ray/core/impl/RayNativeRuntime.java +++ b/java/runtime/src/main/java/org/ray/runtime/RayNativeRuntime.java @@ -1,27 +1,25 @@ -package org.ray.core.impl; +package org.ray.runtime; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.arrow.plasma.ObjectStoreLink; import org.apache.arrow.plasma.PlasmaClient; -import org.ray.core.AbstractRayRuntime; -import org.ray.core.WorkerContext; -import org.ray.core.model.RayParameters; -import org.ray.core.model.WorkerMode; -import org.ray.runner.RunManager; -import org.ray.spi.KeyValueStoreLink; -import org.ray.spi.LocalSchedulerLink; -import org.ray.spi.NopRemoteFunctionManager; -import org.ray.spi.PathConfig; -import org.ray.spi.RemoteFunctionManager; -import org.ray.spi.StateStoreProxy; -import org.ray.spi.impl.DefaultLocalSchedulerClient; -import org.ray.spi.impl.NativeRemoteFunctionManager; -import org.ray.spi.impl.RedisClient; -import org.ray.spi.impl.StateStoreProxyImpl; -import org.ray.spi.model.AddressInfo; -import org.ray.util.logger.RayLog; +import org.ray.runtime.config.PathConfig; +import org.ray.runtime.config.RayParameters; +import org.ray.runtime.config.WorkerMode; +import org.ray.runtime.functionmanager.NativeRemoteFunctionManager; +import org.ray.runtime.functionmanager.NopRemoteFunctionManager; +import org.ray.runtime.functionmanager.RemoteFunctionManager; +import org.ray.runtime.gcs.AddressInfo; +import org.ray.runtime.gcs.KeyValueStoreLink; +import org.ray.runtime.gcs.RedisClient; +import org.ray.runtime.gcs.StateStoreProxy; +import org.ray.runtime.gcs.StateStoreProxyImpl; +import org.ray.runtime.raylet.RayletClient; +import org.ray.runtime.raylet.RayletClientImpl; +import org.ray.runtime.runner.RunManager; +import org.ray.runtime.util.logger.RayLog; /** * native runtime for local box and cluster run. @@ -38,7 +36,7 @@ public final class RayNativeRuntime extends AbstractRayRuntime { private KeyValueStoreLink kvStore = null; private RunManager manager = null; - protected RayNativeRuntime() { + public RayNativeRuntime() { } @Override @@ -91,14 +89,14 @@ public final class RayNativeRuntime extends AbstractRayRuntime { "how many release requests should be delayed in plasma client"); ObjectStoreLink plink = new PlasmaClient(params.object_store_name, "", releaseDelay); - LocalSchedulerLink slink = new DefaultLocalSchedulerClient( + RayletClient rayletClient = new RayletClientImpl( params.raylet_socket_name, WorkerContext.currentWorkerId(), isWorker, WorkerContext.currentTask().taskId ); - init(slink, plink, funcMgr, pathConfig); + init(rayletClient, plink, funcMgr, pathConfig); // register registerWorker(isWorker, params.node_ip_address, params.object_store_name, diff --git a/java/runtime-common/src/main/java/org/ray/core/RayObjectImpl.java b/java/runtime/src/main/java/org/ray/runtime/RayObjectImpl.java similarity index 94% rename from java/runtime-common/src/main/java/org/ray/core/RayObjectImpl.java rename to java/runtime/src/main/java/org/ray/runtime/RayObjectImpl.java index 2dddf91f4..1516543a1 100644 --- a/java/runtime-common/src/main/java/org/ray/core/RayObjectImpl.java +++ b/java/runtime/src/main/java/org/ray/runtime/RayObjectImpl.java @@ -1,4 +1,4 @@ -package org.ray.core; +package org.ray.runtime; import java.io.Serializable; import org.ray.api.Ray; diff --git a/java/runtime-common/src/main/java/org/ray/core/Worker.java b/java/runtime/src/main/java/org/ray/runtime/Worker.java similarity index 89% rename from java/runtime-common/src/main/java/org/ray/core/Worker.java rename to java/runtime/src/main/java/org/ray/runtime/Worker.java index ec6d8e742..cb6bb17c2 100644 --- a/java/runtime-common/src/main/java/org/ray/core/Worker.java +++ b/java/runtime/src/main/java/org/ray/runtime/Worker.java @@ -1,11 +1,12 @@ -package org.ray.core; +package org.ray.runtime; import org.apache.commons.lang3.tuple.Pair; import org.ray.api.exception.RayException; import org.ray.api.id.UniqueId; -import org.ray.spi.model.RayMethod; -import org.ray.spi.model.TaskSpec; -import org.ray.util.logger.RayLog; +import org.ray.runtime.functionmanager.RayMethod; +import org.ray.runtime.task.ArgumentsBuilder; +import org.ray.runtime.task.TaskSpec; +import org.ray.runtime.util.logger.RayLog; /** * The worker, which pulls tasks from {@code org.ray.spi.LocalSchedulerProxy} and executes them @@ -22,7 +23,7 @@ public class Worker { public void loop() { while (true) { RayLog.core.info(Thread.currentThread().getName() + ":fetching new task..."); - TaskSpec task = runtime.getLocalSchedulerClient().getTask(); + TaskSpec task = runtime.getRayletClient().getTask(); execute(task); } } diff --git a/java/runtime-common/src/main/java/org/ray/core/WorkerContext.java b/java/runtime/src/main/java/org/ray/runtime/WorkerContext.java similarity index 92% rename from java/runtime-common/src/main/java/org/ray/core/WorkerContext.java rename to java/runtime/src/main/java/org/ray/runtime/WorkerContext.java index a078a52f3..dc08c562c 100644 --- a/java/runtime-common/src/main/java/org/ray/core/WorkerContext.java +++ b/java/runtime/src/main/java/org/ray/runtime/WorkerContext.java @@ -1,9 +1,9 @@ -package org.ray.core; +package org.ray.runtime; import org.ray.api.id.UniqueId; -import org.ray.core.model.RayParameters; -import org.ray.core.model.WorkerMode; -import org.ray.spi.model.TaskSpec; +import org.ray.runtime.config.RayParameters; +import org.ray.runtime.config.WorkerMode; +import org.ray.runtime.task.TaskSpec; public class WorkerContext { diff --git a/java/runtime-common/src/main/java/org/ray/spi/PathConfig.java b/java/runtime/src/main/java/org/ray/runtime/config/PathConfig.java similarity index 93% rename from java/runtime-common/src/main/java/org/ray/spi/PathConfig.java rename to java/runtime/src/main/java/org/ray/runtime/config/PathConfig.java index c7fa9ca8d..d58cc6bc6 100644 --- a/java/runtime-common/src/main/java/org/ray/spi/PathConfig.java +++ b/java/runtime/src/main/java/org/ray/runtime/config/PathConfig.java @@ -1,7 +1,7 @@ -package org.ray.spi; +package org.ray.runtime.config; -import org.ray.util.config.AConfig; -import org.ray.util.config.ConfigReader; +import org.ray.runtime.util.config.AConfig; +import org.ray.runtime.util.config.ConfigReader; /** * Path related configurations. diff --git a/java/runtime-common/src/main/java/org/ray/core/model/RayParameters.java b/java/runtime/src/main/java/org/ray/runtime/config/RayParameters.java similarity index 95% rename from java/runtime-common/src/main/java/org/ray/core/model/RayParameters.java rename to java/runtime/src/main/java/org/ray/runtime/config/RayParameters.java index dc4c4beb2..579666b9a 100644 --- a/java/runtime-common/src/main/java/org/ray/core/model/RayParameters.java +++ b/java/runtime/src/main/java/org/ray/runtime/config/RayParameters.java @@ -1,9 +1,9 @@ -package org.ray.core.model; +package org.ray.runtime.config; import org.ray.api.id.UniqueId; -import org.ray.util.NetworkUtil; -import org.ray.util.config.AConfig; -import org.ray.util.config.ConfigReader; +import org.ray.runtime.util.NetworkUtil; +import org.ray.runtime.util.config.AConfig; +import org.ray.runtime.util.config.ConfigReader; /** * Runtime parameters of Ray process. diff --git a/java/runtime-common/src/main/java/org/ray/core/model/RunMode.java b/java/runtime/src/main/java/org/ray/runtime/config/RunMode.java similarity index 96% rename from java/runtime-common/src/main/java/org/ray/core/model/RunMode.java rename to java/runtime/src/main/java/org/ray/runtime/config/RunMode.java index 03a44b598..988ed1984 100644 --- a/java/runtime-common/src/main/java/org/ray/core/model/RunMode.java +++ b/java/runtime/src/main/java/org/ray/runtime/config/RunMode.java @@ -1,4 +1,4 @@ -package org.ray.core.model; +package org.ray.runtime.config; public enum RunMode { SINGLE_PROCESS(true, false), // dev path, dev runtime diff --git a/java/runtime-common/src/main/java/org/ray/core/model/WorkerMode.java b/java/runtime/src/main/java/org/ray/runtime/config/WorkerMode.java similarity index 73% rename from java/runtime-common/src/main/java/org/ray/core/model/WorkerMode.java rename to java/runtime/src/main/java/org/ray/runtime/config/WorkerMode.java index fdf476d97..c9e71e536 100644 --- a/java/runtime-common/src/main/java/org/ray/core/model/WorkerMode.java +++ b/java/runtime/src/main/java/org/ray/runtime/config/WorkerMode.java @@ -1,4 +1,4 @@ -package org.ray.core.model; +package org.ray.runtime.config; public enum WorkerMode { NONE, // not set diff --git a/java/runtime-common/src/main/java/org/ray/core/LocalFunctionManager.java b/java/runtime/src/main/java/org/ray/runtime/functionmanager/LocalFunctionManager.java similarity index 92% rename from java/runtime-common/src/main/java/org/ray/core/LocalFunctionManager.java rename to java/runtime/src/main/java/org/ray/runtime/functionmanager/LocalFunctionManager.java index 91cd67b84..304f80566 100644 --- a/java/runtime-common/src/main/java/org/ray/core/LocalFunctionManager.java +++ b/java/runtime/src/main/java/org/ray/runtime/functionmanager/LocalFunctionManager.java @@ -1,15 +1,12 @@ -package org.ray.core; +package org.ray.runtime.functionmanager; import com.google.common.base.Preconditions; import java.util.concurrent.ConcurrentHashMap; import org.apache.commons.lang3.tuple.Pair; import org.ray.api.id.UniqueId; -import org.ray.spi.RemoteFunctionManager; -import org.ray.spi.model.FunctionArg; -import org.ray.spi.model.RayActorMethods; -import org.ray.spi.model.RayMethod; -import org.ray.spi.model.RayTaskMethods; -import org.ray.util.logger.RayLog; +import org.ray.runtime.task.FunctionArg; +import org.ray.runtime.util.Serializer; +import org.ray.runtime.util.logger.RayLog; /** * local function manager which pulls remote functions on demand. @@ -44,7 +41,7 @@ public class LocalFunctionManager { return functionTable; } - Pair getMethod(UniqueId driverId, UniqueId actorId, + public Pair getMethod(UniqueId driverId, UniqueId actorId, UniqueId methodId, String className) { // assert the driver's resource is load. FunctionTable functionTable = loadDriverFunctions(driverId); diff --git a/java/runtime-native/src/main/java/org/ray/spi/impl/NativeRemoteFunctionManager.java b/java/runtime/src/main/java/org/ray/runtime/functionmanager/NativeRemoteFunctionManager.java similarity index 93% rename from java/runtime-native/src/main/java/org/ray/spi/impl/NativeRemoteFunctionManager.java rename to java/runtime/src/main/java/org/ray/runtime/functionmanager/NativeRemoteFunctionManager.java index c162baf79..0adf3b0ce 100644 --- a/java/runtime-native/src/main/java/org/ray/spi/impl/NativeRemoteFunctionManager.java +++ b/java/runtime/src/main/java/org/ray/runtime/functionmanager/NativeRemoteFunctionManager.java @@ -1,4 +1,4 @@ -package org.ray.spi.impl; +package org.ray.runtime.functionmanager; import java.io.File; import java.security.MessageDigest; @@ -6,12 +6,12 @@ import java.security.NoSuchAlgorithmException; import java.util.concurrent.ConcurrentHashMap; import net.lingala.zip4j.core.ZipFile; import org.ray.api.id.UniqueId; -import org.ray.spi.KeyValueStoreLink; -import org.ray.spi.RemoteFunctionManager; -import org.ray.util.FileUtil; -import org.ray.util.Sha1Digestor; -import org.ray.util.SystemUtil; -import org.ray.util.logger.RayLog; +import org.ray.runtime.gcs.KeyValueStoreLink; +import org.ray.runtime.util.FileUtil; +import org.ray.runtime.util.JarLoader; +import org.ray.runtime.util.Sha1Digestor; +import org.ray.runtime.util.SystemUtil; +import org.ray.runtime.util.logger.RayLog; /** * native implementation of remote function manager. diff --git a/java/runtime-common/src/main/java/org/ray/spi/NopRemoteFunctionManager.java b/java/runtime/src/main/java/org/ray/runtime/functionmanager/NopRemoteFunctionManager.java similarity index 96% rename from java/runtime-common/src/main/java/org/ray/spi/NopRemoteFunctionManager.java rename to java/runtime/src/main/java/org/ray/runtime/functionmanager/NopRemoteFunctionManager.java index 370ffb8dc..ca488bac9 100644 --- a/java/runtime-common/src/main/java/org/ray/spi/NopRemoteFunctionManager.java +++ b/java/runtime/src/main/java/org/ray/runtime/functionmanager/NopRemoteFunctionManager.java @@ -1,4 +1,4 @@ -package org.ray.spi; +package org.ray.runtime.functionmanager; import org.ray.api.id.UniqueId; diff --git a/java/runtime-common/src/main/java/org/ray/spi/model/RayActorMethods.java b/java/runtime/src/main/java/org/ray/runtime/functionmanager/RayActorMethods.java similarity index 96% rename from java/runtime-common/src/main/java/org/ray/spi/model/RayActorMethods.java rename to java/runtime/src/main/java/org/ray/runtime/functionmanager/RayActorMethods.java index 5f4b13142..ee8fa35bd 100644 --- a/java/runtime-common/src/main/java/org/ray/spi/model/RayActorMethods.java +++ b/java/runtime/src/main/java/org/ray/runtime/functionmanager/RayActorMethods.java @@ -1,9 +1,7 @@ -package org.ray.spi.model; +package org.ray.runtime.functionmanager; import com.google.common.base.Preconditions; -import java.lang.reflect.Constructor; import java.lang.reflect.Executable; -import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.util.ArrayList; import java.util.Arrays; diff --git a/java/runtime-common/src/main/java/org/ray/spi/model/RayMethod.java b/java/runtime/src/main/java/org/ray/runtime/functionmanager/RayMethod.java similarity index 94% rename from java/runtime-common/src/main/java/org/ray/spi/model/RayMethod.java rename to java/runtime/src/main/java/org/ray/runtime/functionmanager/RayMethod.java index 4f400dbc5..af935eaaf 100644 --- a/java/runtime-common/src/main/java/org/ray/spi/model/RayMethod.java +++ b/java/runtime/src/main/java/org/ray/runtime/functionmanager/RayMethod.java @@ -1,11 +1,11 @@ -package org.ray.spi.model; +package org.ray.runtime.functionmanager; import java.lang.reflect.Constructor; import java.lang.reflect.Executable; import java.lang.reflect.Method; import org.ray.api.annotation.RayRemote; import org.ray.api.id.UniqueId; -import org.ray.util.MethodId; +import org.ray.runtime.util.MethodId; /** * method info. diff --git a/java/runtime-common/src/main/java/org/ray/spi/model/RayTaskMethods.java b/java/runtime/src/main/java/org/ray/runtime/functionmanager/RayTaskMethods.java similarity index 94% rename from java/runtime-common/src/main/java/org/ray/spi/model/RayTaskMethods.java rename to java/runtime/src/main/java/org/ray/runtime/functionmanager/RayTaskMethods.java index feef65c5c..43c9e8bd0 100644 --- a/java/runtime-common/src/main/java/org/ray/spi/model/RayTaskMethods.java +++ b/java/runtime/src/main/java/org/ray/runtime/functionmanager/RayTaskMethods.java @@ -1,8 +1,7 @@ -package org.ray.spi.model; +package org.ray.runtime.functionmanager; import java.lang.reflect.Constructor; import java.lang.reflect.Executable; -import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.util.ArrayList; import java.util.Arrays; @@ -10,7 +9,6 @@ import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; -import org.ray.api.annotation.RayRemote; import org.ray.api.id.UniqueId; diff --git a/java/runtime-common/src/main/java/org/ray/spi/RemoteFunctionManager.java b/java/runtime/src/main/java/org/ray/runtime/functionmanager/RemoteFunctionManager.java similarity index 97% rename from java/runtime-common/src/main/java/org/ray/spi/RemoteFunctionManager.java rename to java/runtime/src/main/java/org/ray/runtime/functionmanager/RemoteFunctionManager.java index 338eaf991..66d99d9f2 100644 --- a/java/runtime-common/src/main/java/org/ray/spi/RemoteFunctionManager.java +++ b/java/runtime/src/main/java/org/ray/runtime/functionmanager/RemoteFunctionManager.java @@ -1,4 +1,4 @@ -package org.ray.spi; +package org.ray.runtime.functionmanager; import org.ray.api.id.UniqueId; diff --git a/java/runtime-common/src/main/java/org/ray/spi/model/AddressInfo.java b/java/runtime/src/main/java/org/ray/runtime/gcs/AddressInfo.java similarity index 93% rename from java/runtime-common/src/main/java/org/ray/spi/model/AddressInfo.java rename to java/runtime/src/main/java/org/ray/runtime/gcs/AddressInfo.java index dcf131d43..16e3706f2 100644 --- a/java/runtime-common/src/main/java/org/ray/spi/model/AddressInfo.java +++ b/java/runtime/src/main/java/org/ray/runtime/gcs/AddressInfo.java @@ -1,4 +1,4 @@ -package org.ray.spi.model; +package org.ray.runtime.gcs; /** * Represents information of different process roles. diff --git a/java/runtime-native/src/main/java/org/ray/spi/KeyValueStoreLink.java b/java/runtime/src/main/java/org/ray/runtime/gcs/KeyValueStoreLink.java similarity index 99% rename from java/runtime-native/src/main/java/org/ray/spi/KeyValueStoreLink.java rename to java/runtime/src/main/java/org/ray/runtime/gcs/KeyValueStoreLink.java index b52ee6ab9..afa033089 100644 --- a/java/runtime-native/src/main/java/org/ray/spi/KeyValueStoreLink.java +++ b/java/runtime/src/main/java/org/ray/runtime/gcs/KeyValueStoreLink.java @@ -1,4 +1,4 @@ -package org.ray.spi; +package org.ray.runtime.gcs; import java.util.List; import java.util.Map; diff --git a/java/runtime-native/src/main/java/org/ray/spi/impl/RedisClient.java b/java/runtime/src/main/java/org/ray/runtime/gcs/RedisClient.java similarity index 98% rename from java/runtime-native/src/main/java/org/ray/spi/impl/RedisClient.java rename to java/runtime/src/main/java/org/ray/runtime/gcs/RedisClient.java index 5dec52e57..55d8bef8a 100644 --- a/java/runtime-native/src/main/java/org/ray/spi/impl/RedisClient.java +++ b/java/runtime/src/main/java/org/ray/runtime/gcs/RedisClient.java @@ -1,10 +1,9 @@ -package org.ray.spi.impl; +package org.ray.runtime.gcs; import java.util.List; import java.util.Map; import java.util.Set; import org.apache.commons.lang3.StringUtils; -import org.ray.spi.KeyValueStoreLink; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; diff --git a/java/runtime-native/src/main/java/org/ray/spi/StateStoreProxy.java b/java/runtime/src/main/java/org/ray/runtime/gcs/StateStoreProxy.java similarity index 92% rename from java/runtime-native/src/main/java/org/ray/spi/StateStoreProxy.java rename to java/runtime/src/main/java/org/ray/runtime/gcs/StateStoreProxy.java index c5995dba1..36d1eaf67 100644 --- a/java/runtime-native/src/main/java/org/ray/spi/StateStoreProxy.java +++ b/java/runtime/src/main/java/org/ray/runtime/gcs/StateStoreProxy.java @@ -1,8 +1,7 @@ -package org.ray.spi; +package org.ray.runtime.gcs; import java.util.List; import java.util.Set; -import org.ray.spi.model.AddressInfo; /** * Proxy client for state store, for instance redis. diff --git a/java/runtime-native/src/main/java/org/ray/spi/impl/StateStoreProxyImpl.java b/java/runtime/src/main/java/org/ray/runtime/gcs/StateStoreProxyImpl.java similarity index 95% rename from java/runtime-native/src/main/java/org/ray/spi/impl/StateStoreProxyImpl.java rename to java/runtime/src/main/java/org/ray/runtime/gcs/StateStoreProxyImpl.java index 6fb264211..586d02fa9 100644 --- a/java/runtime-native/src/main/java/org/ray/spi/impl/StateStoreProxyImpl.java +++ b/java/runtime/src/main/java/org/ray/runtime/gcs/StateStoreProxyImpl.java @@ -1,4 +1,4 @@ -package org.ray.spi.impl; +package org.ray.runtime.gcs; import java.io.UnsupportedEncodingException; import java.nio.ByteBuffer; @@ -9,12 +9,9 @@ import java.util.Objects; import java.util.Set; import java.util.concurrent.TimeUnit; import org.ray.api.id.UniqueId; -import org.ray.format.gcs.ClientTableData; -import org.ray.spi.KeyValueStoreLink; -import org.ray.spi.StateStoreProxy; -import org.ray.spi.model.AddressInfo; -import org.ray.util.NetworkUtil; -import org.ray.util.logger.RayLog; +import org.ray.runtime.generated.ClientTableData; +import org.ray.runtime.util.NetworkUtil; +import org.ray.runtime.util.logger.RayLog; /** * A class used to interface with the Ray control state. diff --git a/java/runtime-native/src/main/java/org/ray/spi/impl/Arg.java b/java/runtime/src/main/java/org/ray/runtime/generated/Arg.java similarity index 98% rename from java/runtime-native/src/main/java/org/ray/spi/impl/Arg.java rename to java/runtime/src/main/java/org/ray/runtime/generated/Arg.java index 2d402d3d2..927ea2941 100644 --- a/java/runtime-native/src/main/java/org/ray/spi/impl/Arg.java +++ b/java/runtime/src/main/java/org/ray/runtime/generated/Arg.java @@ -1,10 +1,9 @@ // automatically generated by the FlatBuffers compiler, do not modify -package org.ray.spi.impl; +package org.ray.runtime.generated; import java.nio.*; import java.lang.*; -import java.util.*; import com.google.flatbuffers.*; @SuppressWarnings("unused") diff --git a/java/runtime-native/src/main/java/org/ray/format/gcs/ClientTableData.java b/java/runtime/src/main/java/org/ray/runtime/generated/ClientTableData.java similarity index 99% rename from java/runtime-native/src/main/java/org/ray/format/gcs/ClientTableData.java rename to java/runtime/src/main/java/org/ray/runtime/generated/ClientTableData.java index e7d71415d..383c45733 100644 --- a/java/runtime-native/src/main/java/org/ray/format/gcs/ClientTableData.java +++ b/java/runtime/src/main/java/org/ray/runtime/generated/ClientTableData.java @@ -1,4 +1,4 @@ -package org.ray.format.gcs; +package org.ray.runtime.generated; // automatically generated by the FlatBuffers compiler, do not modify import java.nio.*; diff --git a/java/runtime-native/src/main/java/org/ray/spi/impl/ResourcePair.java b/java/runtime/src/main/java/org/ray/runtime/generated/ResourcePair.java similarity index 97% rename from java/runtime-native/src/main/java/org/ray/spi/impl/ResourcePair.java rename to java/runtime/src/main/java/org/ray/runtime/generated/ResourcePair.java index 602074c11..5620e221e 100644 --- a/java/runtime-native/src/main/java/org/ray/spi/impl/ResourcePair.java +++ b/java/runtime/src/main/java/org/ray/runtime/generated/ResourcePair.java @@ -1,10 +1,9 @@ // automatically generated by the FlatBuffers compiler, do not modify -package org.ray.spi.impl; +package org.ray.runtime.generated; import java.nio.*; import java.lang.*; -import java.util.*; import com.google.flatbuffers.*; @SuppressWarnings("unused") diff --git a/java/runtime-native/src/main/java/org/ray/spi/impl/TaskInfo.java b/java/runtime/src/main/java/org/ray/runtime/generated/TaskInfo.java similarity index 99% rename from java/runtime-native/src/main/java/org/ray/spi/impl/TaskInfo.java rename to java/runtime/src/main/java/org/ray/runtime/generated/TaskInfo.java index 6cc376244..00377426f 100644 --- a/java/runtime-native/src/main/java/org/ray/spi/impl/TaskInfo.java +++ b/java/runtime/src/main/java/org/ray/runtime/generated/TaskInfo.java @@ -1,10 +1,9 @@ // automatically generated by the FlatBuffers compiler, do not modify -package org.ray.spi.impl; +package org.ray.runtime.generated; import java.nio.*; import java.lang.*; -import java.util.*; import com.google.flatbuffers.*; @SuppressWarnings("unused") diff --git a/java/runtime-native/src/main/java/org/ray/spi/impl/TaskLanguage.java b/java/runtime/src/main/java/org/ray/runtime/generated/TaskLanguage.java similarity index 90% rename from java/runtime-native/src/main/java/org/ray/spi/impl/TaskLanguage.java rename to java/runtime/src/main/java/org/ray/runtime/generated/TaskLanguage.java index c6d10db03..e5e53614a 100644 --- a/java/runtime-native/src/main/java/org/ray/spi/impl/TaskLanguage.java +++ b/java/runtime/src/main/java/org/ray/runtime/generated/TaskLanguage.java @@ -1,6 +1,6 @@ // automatically generated by the FlatBuffers compiler, do not modify -package org.ray.spi.impl; +package org.ray.runtime.generated; public final class TaskLanguage { private TaskLanguage() { } diff --git a/java/runtime-dev/src/main/java/org/ray/spi/impl/MockObjectStore.java b/java/runtime/src/main/java/org/ray/runtime/objectstore/MockObjectStore.java similarity index 91% rename from java/runtime-dev/src/main/java/org/ray/spi/impl/MockObjectStore.java rename to java/runtime/src/main/java/org/ray/runtime/objectstore/MockObjectStore.java index 916b1ea32..be98ba234 100644 --- a/java/runtime-dev/src/main/java/org/ray/spi/impl/MockObjectStore.java +++ b/java/runtime/src/main/java/org/ray/runtime/objectstore/MockObjectStore.java @@ -1,4 +1,4 @@ -package org.ray.spi.impl; +package org.ray.runtime.objectstore; import java.util.ArrayList; import java.util.Arrays; @@ -7,8 +7,9 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import org.apache.arrow.plasma.ObjectStoreLink; import org.ray.api.id.UniqueId; -import org.ray.core.WorkerContext; -import org.ray.util.logger.RayLog; +import org.ray.runtime.WorkerContext; +import org.ray.runtime.raylet.MockRayletClient; +import org.ray.runtime.util.logger.RayLog; /** * A mock implementation of {@code org.ray.spi.ObjectStoreLink}, which use Map to store data. @@ -17,7 +18,7 @@ public class MockObjectStore implements ObjectStoreLink { private final Map data = new ConcurrentHashMap<>(); private final Map metadata = new ConcurrentHashMap<>(); - private MockLocalScheduler scheduler = null; + private MockRayletClient scheduler = null; @Override public void put(byte[] objectId, byte[] value, byte[] metadataValue) { @@ -103,7 +104,7 @@ public class MockObjectStore implements ObjectStoreLink { return data.containsKey(id); } - public void registerScheduler(MockLocalScheduler s) { + public void registerScheduler(MockRayletClient s) { scheduler = s; } } diff --git a/java/runtime-common/src/main/java/org/ray/spi/ObjectStoreProxy.java b/java/runtime/src/main/java/org/ray/runtime/objectstore/ObjectStoreProxy.java similarity index 92% rename from java/runtime-common/src/main/java/org/ray/spi/ObjectStoreProxy.java rename to java/runtime/src/main/java/org/ray/runtime/objectstore/ObjectStoreProxy.java index dcbf0d8c6..2832262b7 100644 --- a/java/runtime-common/src/main/java/org/ray/spi/ObjectStoreProxy.java +++ b/java/runtime/src/main/java/org/ray/runtime/objectstore/ObjectStoreProxy.java @@ -1,15 +1,13 @@ -package org.ray.spi; +package org.ray.runtime.objectstore; import java.util.ArrayList; import java.util.List; import org.apache.arrow.plasma.ObjectStoreLink; import org.apache.commons.lang3.tuple.Pair; -import org.ray.api.RayObject; -import org.ray.api.WaitResult; import org.ray.api.id.UniqueId; -import org.ray.core.Serializer; -import org.ray.core.WorkerContext; -import org.ray.util.exception.TaskExecutionException; +import org.ray.runtime.WorkerContext; +import org.ray.runtime.util.Serializer; +import org.ray.runtime.util.exception.TaskExecutionException; /** * Object store proxy, which handles serialization and deserialization, and utilize a {@code diff --git a/java/runtime-dev/src/main/java/org/ray/spi/impl/MockLocalScheduler.java b/java/runtime/src/main/java/org/ray/runtime/raylet/MockRayletClient.java similarity index 78% rename from java/runtime-dev/src/main/java/org/ray/spi/impl/MockLocalScheduler.java rename to java/runtime/src/main/java/org/ray/runtime/raylet/MockRayletClient.java index 2ce21b1e1..e39fbe969 100644 --- a/java/runtime-dev/src/main/java/org/ray/spi/impl/MockLocalScheduler.java +++ b/java/runtime/src/main/java/org/ray/runtime/raylet/MockRayletClient.java @@ -1,31 +1,28 @@ -package org.ray.spi.impl; +package org.ray.runtime.raylet; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; - import org.ray.api.RayObject; import org.ray.api.WaitResult; import org.ray.api.id.UniqueId; -import org.ray.core.LocalFunctionManager; -import org.ray.core.Worker; -import org.ray.core.impl.RayDevRuntime; -import org.ray.spi.LocalSchedulerLink; -import org.ray.spi.model.FunctionArg; -import org.ray.spi.model.TaskSpec; +import org.ray.runtime.RayDevRuntime; +import org.ray.runtime.functionmanager.LocalFunctionManager; +import org.ray.runtime.objectstore.MockObjectStore; +import org.ray.runtime.task.FunctionArg; +import org.ray.runtime.task.TaskSpec; /** - * A mock implementation of {@code org.ray.spi.LocalSchedulerLink}, which stores waiting tasks in a - * Map, and cooperates with a {@code org.ray.spi.impl.MockObjectStore}. + * A mock implementation of RayletClient, used in single process mode. */ -public class MockLocalScheduler implements LocalSchedulerLink { +public class MockRayletClient implements RayletClient { private final Map> waitTasks = new ConcurrentHashMap<>(); private final MockObjectStore store; private LocalFunctionManager functions = null; private final RayDevRuntime runtime; - public MockLocalScheduler(RayDevRuntime runtime, MockObjectStore store) { + public MockRayletClient(RayDevRuntime runtime, MockObjectStore store) { this.runtime = runtime; this.store = store; store.registerScheduler(this); diff --git a/java/runtime-common/src/main/java/org/ray/spi/LocalSchedulerLink.java b/java/runtime/src/main/java/org/ray/runtime/raylet/RayletClient.java similarity index 78% rename from java/runtime-common/src/main/java/org/ray/spi/LocalSchedulerLink.java rename to java/runtime/src/main/java/org/ray/runtime/raylet/RayletClient.java index b0b84c76e..baa32a142 100644 --- a/java/runtime-common/src/main/java/org/ray/spi/LocalSchedulerLink.java +++ b/java/runtime/src/main/java/org/ray/runtime/raylet/RayletClient.java @@ -1,16 +1,15 @@ -package org.ray.spi; +package org.ray.runtime.raylet; import java.util.List; - import org.ray.api.RayObject; import org.ray.api.WaitResult; import org.ray.api.id.UniqueId; -import org.ray.spi.model.TaskSpec; +import org.ray.runtime.task.TaskSpec; /** - * Provides core functionalities of local scheduler. + * Client to the Raylet backend. */ -public interface LocalSchedulerLink { +public interface RayletClient { void submitTask(TaskSpec task); diff --git a/java/runtime-native/src/main/java/org/ray/spi/impl/DefaultLocalSchedulerClient.java b/java/runtime/src/main/java/org/ray/runtime/raylet/RayletClientImpl.java similarity index 91% rename from java/runtime-native/src/main/java/org/ray/spi/impl/DefaultLocalSchedulerClient.java rename to java/runtime/src/main/java/org/ray/runtime/raylet/RayletClientImpl.java index 38d61e92b..1ba2277c8 100644 --- a/java/runtime-native/src/main/java/org/ray/spi/impl/DefaultLocalSchedulerClient.java +++ b/java/runtime/src/main/java/org/ray/runtime/raylet/RayletClientImpl.java @@ -1,4 +1,4 @@ -package org.ray.spi.impl; +package org.ray.runtime.raylet; import com.google.flatbuffers.FlatBufferBuilder; import java.nio.ByteBuffer; @@ -6,22 +6,20 @@ import java.nio.ByteOrder; import java.util.ArrayList; import java.util.List; import java.util.Map; - import org.ray.api.RayObject; import org.ray.api.WaitResult; import org.ray.api.id.UniqueId; -import org.ray.core.AbstractRayRuntime; -import org.ray.core.UniqueIdHelper; -import org.ray.spi.LocalSchedulerLink; -import org.ray.spi.model.FunctionArg; -import org.ray.spi.model.TaskSpec; -import org.ray.util.ResourceUtil; -import org.ray.util.logger.RayLog; +import org.ray.runtime.AbstractRayRuntime; +import org.ray.runtime.generated.Arg; +import org.ray.runtime.generated.ResourcePair; +import org.ray.runtime.generated.TaskInfo; +import org.ray.runtime.generated.TaskLanguage; +import org.ray.runtime.task.FunctionArg; +import org.ray.runtime.task.TaskSpec; +import org.ray.runtime.util.UniqueIdHelper; +import org.ray.runtime.util.logger.RayLog; -/** - * JNI-based local scheduler link provider. - */ -public class DefaultLocalSchedulerClient implements LocalSchedulerLink { +public class RayletClientImpl implements RayletClient { private static ThreadLocal _taskBuffer = ThreadLocal.withInitial(() -> { ByteBuffer bb = ByteBuffer @@ -31,7 +29,7 @@ public class DefaultLocalSchedulerClient implements LocalSchedulerLink { }); private long client = 0; - public DefaultLocalSchedulerClient(String schedulerSockName, UniqueId clientId, + public RayletClientImpl(String schedulerSockName, UniqueId clientId, boolean isWorker, UniqueId driverId) { client = nativeInit(schedulerSockName, clientId.getBytes(), isWorker, driverId.getBytes()); @@ -260,12 +258,11 @@ public class DefaultLocalSchedulerClient implements LocalSchedulerLink { /// the C++ header file and update the C++ implementation accordingly: /// /// Suppose that $Dir is your ray root directory. - /// 1) pushd $Dir/java/runtime-native/target/classes - /// 2) javah -classpath .:$Dir/java/runtime-common/target/classes/:$Dir/java/api/target/classes/ - /// org.ray.spi.impl.DefaultLocalSchedulerClient - /// 3) clang-format -i org_ray_spi_impl_DefaultLocalSchedulerClient.h - /// 4) cp org_ray_spi_impl_DefaultLocalSchedulerClient.h $Dir/src/local_scheduler/lib/java/ - /// 5) vim $Dir/src/local_scheduler/lib/java/org_ray_spi_impl_DefaultLocalSchedulerClient.cc + /// 1) pushd $Dir/java/runtime/target/classes + /// 2) javah -classpath .:$Dir/java/api/target/classes org.ray.runtime.raylet.RayletClientImpl + /// 3) clang-format -i org_ray_runtime_raylet_RayletClientImpl.h + /// 4) cp org_ray_runtime_raylet_RayletClientImpl.h $Dir/src/local_scheduler/lib/java/ + /// 5) vim $Dir/src/local_scheduler/lib/java/org_ray_runtime_raylet_RayletClientImpl.cc /// 6) popd private static native long nativeInit(String localSchedulerSocket, byte[] workerId, diff --git a/java/runtime-native/src/main/java/org/ray/runner/ProcessInfo.java b/java/runtime/src/main/java/org/ray/runtime/runner/ProcessInfo.java similarity index 88% rename from java/runtime-native/src/main/java/org/ray/runner/ProcessInfo.java rename to java/runtime/src/main/java/org/ray/runtime/runner/ProcessInfo.java index 94bae347a..b7e3a3b12 100644 --- a/java/runtime-native/src/main/java/org/ray/runner/ProcessInfo.java +++ b/java/runtime/src/main/java/org/ray/runtime/runner/ProcessInfo.java @@ -1,4 +1,4 @@ -package org.ray.runner; +package org.ray.runtime.runner; public class ProcessInfo { diff --git a/java/runtime-native/src/main/java/org/ray/runner/RunInfo.java b/java/runtime/src/main/java/org/ray/runtime/runner/RunInfo.java similarity index 94% rename from java/runtime-native/src/main/java/org/ray/runner/RunInfo.java rename to java/runtime/src/main/java/org/ray/runtime/runner/RunInfo.java index ae12d8603..8a532ac75 100644 --- a/java/runtime-native/src/main/java/org/ray/runner/RunInfo.java +++ b/java/runtime/src/main/java/org/ray/runtime/runner/RunInfo.java @@ -1,9 +1,9 @@ -package org.ray.runner; +package org.ray.runtime.runner; import java.util.ArrayList; import java.util.Collections; import java.util.List; -import org.ray.spi.model.AddressInfo; +import org.ray.runtime.gcs.AddressInfo; /** * information of kinds of processes. diff --git a/java/runtime-native/src/main/java/org/ray/runner/RunManager.java b/java/runtime/src/main/java/org/ray/runtime/runner/RunManager.java similarity index 97% rename from java/runtime-native/src/main/java/org/ray/runner/RunManager.java rename to java/runtime/src/main/java/org/ray/runtime/runner/RunManager.java index d99f9b4cd..240366ce9 100644 --- a/java/runtime-native/src/main/java/org/ray/runner/RunManager.java +++ b/java/runtime/src/main/java/org/ray/runtime/runner/RunManager.java @@ -1,4 +1,4 @@ -package org.ray.runner; +package org.ray.runtime.runner; import com.google.common.collect.ImmutableList; import java.io.File; @@ -7,21 +7,19 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Arrays; -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Random; import java.util.concurrent.TimeUnit; import org.ray.api.id.UniqueId; -import org.ray.core.model.RayParameters; -import org.ray.core.model.RunMode; -import org.ray.runner.RunInfo.ProcessType; -import org.ray.spi.PathConfig; -import org.ray.spi.model.AddressInfo; -import org.ray.util.ResourceUtil; -import org.ray.util.StringUtil; -import org.ray.util.config.ConfigReader; -import org.ray.util.logger.RayLog; +import org.ray.runtime.config.PathConfig; +import org.ray.runtime.config.RayParameters; +import org.ray.runtime.gcs.AddressInfo; +import org.ray.runtime.runner.RunInfo.ProcessType; +import org.ray.runtime.util.ResourceUtil; +import org.ray.runtime.util.StringUtil; +import org.ray.runtime.util.config.ConfigReader; +import org.ray.runtime.util.logger.RayLog; import redis.clients.jedis.Jedis; /** @@ -484,7 +482,7 @@ public class RunManager { return buildJavaProcessCommand( RunInfo.ProcessType.PT_WORKER, - "org.ray.runner.worker.DefaultWorker", + "org.ray.runtime.runner.worker.DefaultWorker", "", workerConfigs, jvmArgs, diff --git a/java/runtime-native/src/main/java/org/ray/runner/worker/DefaultDriver.java b/java/runtime/src/main/java/org/ray/runtime/runner/worker/DefaultDriver.java similarity index 89% rename from java/runtime-native/src/main/java/org/ray/runner/worker/DefaultDriver.java rename to java/runtime/src/main/java/org/ray/runtime/runner/worker/DefaultDriver.java index 47a87ddab..e34cd6ab5 100644 --- a/java/runtime-native/src/main/java/org/ray/runner/worker/DefaultDriver.java +++ b/java/runtime/src/main/java/org/ray/runtime/runner/worker/DefaultDriver.java @@ -1,7 +1,7 @@ -package org.ray.runner.worker; +package org.ray.runtime.runner.worker; -import org.ray.core.AbstractRayRuntime; -import org.ray.core.model.WorkerMode; +import org.ray.runtime.AbstractRayRuntime; +import org.ray.runtime.config.WorkerMode; /** * The main function of DefaultDriver. diff --git a/java/runtime-native/src/main/java/org/ray/runner/worker/DefaultWorker.java b/java/runtime/src/main/java/org/ray/runtime/runner/worker/DefaultWorker.java similarity index 87% rename from java/runtime-native/src/main/java/org/ray/runner/worker/DefaultWorker.java rename to java/runtime/src/main/java/org/ray/runtime/runner/worker/DefaultWorker.java index 0711b5566..9c57ec133 100644 --- a/java/runtime-native/src/main/java/org/ray/runner/worker/DefaultWorker.java +++ b/java/runtime/src/main/java/org/ray/runtime/runner/worker/DefaultWorker.java @@ -1,7 +1,7 @@ -package org.ray.runner.worker; +package org.ray.runtime.runner.worker; -import org.ray.core.AbstractRayRuntime; -import org.ray.core.model.WorkerMode; +import org.ray.runtime.AbstractRayRuntime; +import org.ray.runtime.config.WorkerMode; /** * default worker implementation. diff --git a/java/runtime-common/src/main/java/org/ray/core/ArgumentsBuilder.java b/java/runtime/src/main/java/org/ray/runtime/task/ArgumentsBuilder.java similarity index 90% rename from java/runtime-common/src/main/java/org/ray/core/ArgumentsBuilder.java rename to java/runtime/src/main/java/org/ray/runtime/task/ArgumentsBuilder.java index a301abc99..7ff5a95a3 100644 --- a/java/runtime-common/src/main/java/org/ray/core/ArgumentsBuilder.java +++ b/java/runtime/src/main/java/org/ray/runtime/task/ArgumentsBuilder.java @@ -1,13 +1,10 @@ -package org.ray.core; +package org.ray.runtime.task; -import java.lang.reflect.Method; -import org.apache.commons.lang3.tuple.Pair; import org.ray.api.Ray; import org.ray.api.RayActor; import org.ray.api.RayObject; import org.ray.api.id.UniqueId; -import org.ray.spi.model.FunctionArg; -import org.ray.spi.model.TaskSpec; +import org.ray.runtime.util.Serializer; public class ArgumentsBuilder { diff --git a/java/runtime-common/src/main/java/org/ray/spi/model/FunctionArg.java b/java/runtime/src/main/java/org/ray/runtime/task/FunctionArg.java similarity index 93% rename from java/runtime-common/src/main/java/org/ray/spi/model/FunctionArg.java rename to java/runtime/src/main/java/org/ray/runtime/task/FunctionArg.java index 6cf52275f..e042c4e23 100644 --- a/java/runtime-common/src/main/java/org/ray/spi/model/FunctionArg.java +++ b/java/runtime/src/main/java/org/ray/runtime/task/FunctionArg.java @@ -1,4 +1,4 @@ -package org.ray.spi.model; +package org.ray.runtime.task; import org.ray.api.id.UniqueId; diff --git a/java/runtime-common/src/main/java/org/ray/spi/model/TaskSpec.java b/java/runtime/src/main/java/org/ray/runtime/task/TaskSpec.java similarity index 97% rename from java/runtime-common/src/main/java/org/ray/spi/model/TaskSpec.java rename to java/runtime/src/main/java/org/ray/runtime/task/TaskSpec.java index e8ef0321f..7bfcbd557 100644 --- a/java/runtime-common/src/main/java/org/ray/spi/model/TaskSpec.java +++ b/java/runtime/src/main/java/org/ray/runtime/task/TaskSpec.java @@ -1,9 +1,9 @@ -package org.ray.spi.model; +package org.ray.runtime.task; import java.util.Arrays; import java.util.Map; import org.ray.api.id.UniqueId; -import org.ray.util.ResourceUtil; +import org.ray.runtime.util.ResourceUtil; /** * Represents necessary information of a task for scheduling and executing. diff --git a/java/common/src/main/java/org/ray/util/FileUtil.java b/java/runtime/src/main/java/org/ray/runtime/util/FileUtil.java similarity index 99% rename from java/common/src/main/java/org/ray/util/FileUtil.java rename to java/runtime/src/main/java/org/ray/runtime/util/FileUtil.java index 7e4794619..16f7237c5 100644 --- a/java/common/src/main/java/org/ray/util/FileUtil.java +++ b/java/runtime/src/main/java/org/ray/runtime/util/FileUtil.java @@ -1,4 +1,4 @@ -package org.ray.util; +package org.ray.runtime.util; import java.io.File; import java.io.FileNotFoundException; diff --git a/java/runtime-native/src/main/java/org/ray/spi/impl/JarLoader.java b/java/runtime/src/main/java/org/ray/runtime/util/JarLoader.java similarity index 97% rename from java/runtime-native/src/main/java/org/ray/spi/impl/JarLoader.java rename to java/runtime/src/main/java/org/ray/runtime/util/JarLoader.java index fd59a8cf7..8a66923e3 100644 --- a/java/runtime-native/src/main/java/org/ray/spi/impl/JarLoader.java +++ b/java/runtime/src/main/java/org/ray/runtime/util/JarLoader.java @@ -1,4 +1,4 @@ -package org.ray.spi.impl; +package org.ray.runtime.util; import java.io.File; import java.io.IOException; @@ -14,7 +14,7 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.io.filefilter.DirectoryFileFilter; import org.apache.commons.io.filefilter.RegexFileFilter; -import org.ray.util.logger.RayLog; +import org.ray.runtime.util.logger.RayLog; /** * load and unload jars from a dir. diff --git a/java/common/src/main/java/org/ray/util/LambdaUtils.java b/java/runtime/src/main/java/org/ray/runtime/util/LambdaUtils.java similarity index 96% rename from java/common/src/main/java/org/ray/util/LambdaUtils.java rename to java/runtime/src/main/java/org/ray/runtime/util/LambdaUtils.java index 2bd9ee675..e0b418217 100644 --- a/java/common/src/main/java/org/ray/util/LambdaUtils.java +++ b/java/runtime/src/main/java/org/ray/runtime/util/LambdaUtils.java @@ -1,4 +1,4 @@ -package org.ray.util; +package org.ray.runtime.util; import java.io.Serializable; import java.lang.invoke.SerializedLambda; diff --git a/java/common/src/main/java/org/ray/util/MethodId.java b/java/runtime/src/main/java/org/ray/runtime/util/MethodId.java similarity index 98% rename from java/common/src/main/java/org/ray/util/MethodId.java rename to java/runtime/src/main/java/org/ray/runtime/util/MethodId.java index 920a7ddde..f13eb189d 100644 --- a/java/common/src/main/java/org/ray/util/MethodId.java +++ b/java/runtime/src/main/java/org/ray/runtime/util/MethodId.java @@ -1,4 +1,4 @@ -package org.ray.util; +package org.ray.runtime.util; import com.google.common.base.Preconditions; import java.io.Serializable; @@ -14,7 +14,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.WeakHashMap; import org.objectweb.asm.Type; -import org.ray.util.logger.RayLog; +import org.ray.runtime.util.logger.RayLog; /** diff --git a/java/common/src/main/java/org/ray/util/NetworkUtil.java b/java/runtime/src/main/java/org/ray/runtime/util/NetworkUtil.java similarity index 96% rename from java/common/src/main/java/org/ray/util/NetworkUtil.java rename to java/runtime/src/main/java/org/ray/runtime/util/NetworkUtil.java index 4eddbd7df..eeaec75b9 100644 --- a/java/common/src/main/java/org/ray/util/NetworkUtil.java +++ b/java/runtime/src/main/java/org/ray/runtime/util/NetworkUtil.java @@ -1,4 +1,4 @@ -package org.ray.util; +package org.ray.runtime.util; import java.io.IOException; import java.net.DatagramSocket; @@ -7,7 +7,7 @@ import java.net.InetAddress; import java.net.NetworkInterface; import java.net.ServerSocket; import java.util.Enumeration; -import org.ray.util.logger.RayLog; +import org.ray.runtime.util.logger.RayLog; public class NetworkUtil { diff --git a/java/common/src/main/java/org/ray/util/ObjectUtil.java b/java/runtime/src/main/java/org/ray/runtime/util/ObjectUtil.java similarity index 95% rename from java/common/src/main/java/org/ray/util/ObjectUtil.java rename to java/runtime/src/main/java/org/ray/runtime/util/ObjectUtil.java index bbee03261..6b9df2993 100644 --- a/java/common/src/main/java/org/ray/util/ObjectUtil.java +++ b/java/runtime/src/main/java/org/ray/runtime/util/ObjectUtil.java @@ -1,4 +1,4 @@ -package org.ray.util; +package org.ray.runtime.util; import java.lang.reflect.InvocationTargetException; diff --git a/java/common/src/main/java/org/ray/util/ResourceUtil.java b/java/runtime/src/main/java/org/ray/runtime/util/ResourceUtil.java similarity index 99% rename from java/common/src/main/java/org/ray/util/ResourceUtil.java rename to java/runtime/src/main/java/org/ray/runtime/util/ResourceUtil.java index 1eee665fc..371fd28ef 100644 --- a/java/common/src/main/java/org/ray/util/ResourceUtil.java +++ b/java/runtime/src/main/java/org/ray/runtime/util/ResourceUtil.java @@ -1,4 +1,4 @@ -package org.ray.util; +package org.ray.runtime.util; import java.util.HashMap; import java.util.Map; diff --git a/java/runtime-common/src/main/java/org/ray/core/Serializer.java b/java/runtime/src/main/java/org/ray/runtime/util/Serializer.java similarity index 98% rename from java/runtime-common/src/main/java/org/ray/core/Serializer.java rename to java/runtime/src/main/java/org/ray/runtime/util/Serializer.java index d9c293b51..4eb1d72b5 100644 --- a/java/runtime-common/src/main/java/org/ray/core/Serializer.java +++ b/java/runtime/src/main/java/org/ray/runtime/util/Serializer.java @@ -1,4 +1,4 @@ -package org.ray.core; +package org.ray.runtime.util; import org.nustaq.serialization.FSTConfiguration; diff --git a/java/common/src/main/java/org/ray/util/Sha1Digestor.java b/java/runtime/src/main/java/org/ray/runtime/util/Sha1Digestor.java similarity index 93% rename from java/common/src/main/java/org/ray/util/Sha1Digestor.java rename to java/runtime/src/main/java/org/ray/runtime/util/Sha1Digestor.java index b9d520609..645477543 100644 --- a/java/common/src/main/java/org/ray/util/Sha1Digestor.java +++ b/java/runtime/src/main/java/org/ray/runtime/util/Sha1Digestor.java @@ -1,8 +1,8 @@ -package org.ray.util; +package org.ray.runtime.util; import java.nio.ByteBuffer; import java.security.MessageDigest; -import org.ray.util.logger.RayLog; +import org.ray.runtime.util.logger.RayLog; public class Sha1Digestor { diff --git a/java/common/src/main/java/org/ray/util/StringUtil.java b/java/runtime/src/main/java/org/ray/runtime/util/StringUtil.java similarity index 99% rename from java/common/src/main/java/org/ray/util/StringUtil.java rename to java/runtime/src/main/java/org/ray/runtime/util/StringUtil.java index a9ecb5d43..42046c1f1 100644 --- a/java/common/src/main/java/org/ray/util/StringUtil.java +++ b/java/runtime/src/main/java/org/ray/runtime/util/StringUtil.java @@ -1,4 +1,4 @@ -package org.ray.util; +package org.ray.runtime.util; import java.nio.charset.Charset; import java.util.ArrayList; diff --git a/java/common/src/main/java/org/ray/util/SystemUtil.java b/java/runtime/src/main/java/org/ray/runtime/util/SystemUtil.java similarity index 95% rename from java/common/src/main/java/org/ray/util/SystemUtil.java rename to java/runtime/src/main/java/org/ray/runtime/util/SystemUtil.java index f43b5870f..858cf3c37 100644 --- a/java/common/src/main/java/org/ray/util/SystemUtil.java +++ b/java/runtime/src/main/java/org/ray/runtime/util/SystemUtil.java @@ -1,9 +1,9 @@ -package org.ray.util; +package org.ray.runtime.util; import java.lang.management.ManagementFactory; import java.lang.management.RuntimeMXBean; import java.util.concurrent.locks.ReentrantLock; -import org.ray.util.logger.RayLog; +import org.ray.runtime.util.logger.RayLog; /** * some utilities for system process. diff --git a/java/runtime-common/src/main/java/org/ray/core/UniqueIdHelper.java b/java/runtime/src/main/java/org/ray/runtime/util/UniqueIdHelper.java similarity index 98% rename from java/runtime-common/src/main/java/org/ray/core/UniqueIdHelper.java rename to java/runtime/src/main/java/org/ray/runtime/util/UniqueIdHelper.java index b5e9153d2..52d9a7359 100644 --- a/java/runtime-common/src/main/java/org/ray/core/UniqueIdHelper.java +++ b/java/runtime/src/main/java/org/ray/runtime/util/UniqueIdHelper.java @@ -1,4 +1,4 @@ -package org.ray.core; +package org.ray.runtime.util; import java.nio.ByteBuffer; import java.nio.ByteOrder; diff --git a/java/common/src/main/java/org/ray/util/config/AConfig.java b/java/runtime/src/main/java/org/ray/runtime/util/config/AConfig.java similarity index 96% rename from java/common/src/main/java/org/ray/util/config/AConfig.java rename to java/runtime/src/main/java/org/ray/runtime/util/config/AConfig.java index 546e1d643..c37f3edbf 100644 --- a/java/common/src/main/java/org/ray/util/config/AConfig.java +++ b/java/runtime/src/main/java/org/ray/runtime/util/config/AConfig.java @@ -1,4 +1,4 @@ -package org.ray.util.config; +package org.ray.runtime.util.config; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/java/common/src/main/java/org/ray/util/config/ConfigItem.java b/java/runtime/src/main/java/org/ray/runtime/util/config/ConfigItem.java similarity index 83% rename from java/common/src/main/java/org/ray/util/config/ConfigItem.java rename to java/runtime/src/main/java/org/ray/runtime/util/config/ConfigItem.java index 0a6263310..89f074906 100644 --- a/java/common/src/main/java/org/ray/util/config/ConfigItem.java +++ b/java/runtime/src/main/java/org/ray/runtime/util/config/ConfigItem.java @@ -1,4 +1,4 @@ -package org.ray.util.config; +package org.ray.runtime.util.config; /** * A ray configuration item of type {@code T}. diff --git a/java/common/src/main/java/org/ray/util/config/ConfigReader.java b/java/runtime/src/main/java/org/ray/runtime/util/config/ConfigReader.java similarity index 98% rename from java/common/src/main/java/org/ray/util/config/ConfigReader.java rename to java/runtime/src/main/java/org/ray/runtime/util/config/ConfigReader.java index 05958136b..4f9c93f0e 100644 --- a/java/common/src/main/java/org/ray/util/config/ConfigReader.java +++ b/java/runtime/src/main/java/org/ray/runtime/util/config/ConfigReader.java @@ -1,10 +1,9 @@ -package org.ray.util.config; +package org.ray.runtime.util.config; import java.io.ByteArrayInputStream; import java.io.File; import java.io.InputStream; import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; @@ -13,8 +12,8 @@ import org.ini4j.Config; import org.ini4j.Ini; import org.ini4j.Profile; import org.ray.api.id.UniqueId; -import org.ray.util.ObjectUtil; -import org.ray.util.StringUtil; +import org.ray.runtime.util.ObjectUtil; +import org.ray.runtime.util.StringUtil; /** * Loads configurations from a file. diff --git a/java/common/src/main/java/org/ray/util/config/ConfigSection.java b/java/runtime/src/main/java/org/ray/runtime/util/config/ConfigSection.java similarity index 87% rename from java/common/src/main/java/org/ray/util/config/ConfigSection.java rename to java/runtime/src/main/java/org/ray/runtime/util/config/ConfigSection.java index 10831a516..fafb6fc9a 100644 --- a/java/common/src/main/java/org/ray/util/config/ConfigSection.java +++ b/java/runtime/src/main/java/org/ray/runtime/util/config/ConfigSection.java @@ -1,4 +1,4 @@ -package org.ray.util.config; +package org.ray.runtime.util.config; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; diff --git a/java/common/src/main/java/org/ray/util/config/CurrentUseConfig.java b/java/runtime/src/main/java/org/ray/runtime/util/config/CurrentUseConfig.java similarity index 88% rename from java/common/src/main/java/org/ray/util/config/CurrentUseConfig.java rename to java/runtime/src/main/java/org/ray/runtime/util/config/CurrentUseConfig.java index c2083e04a..aca7ae589 100644 --- a/java/common/src/main/java/org/ray/util/config/CurrentUseConfig.java +++ b/java/runtime/src/main/java/org/ray/runtime/util/config/CurrentUseConfig.java @@ -1,4 +1,4 @@ -package org.ray.util.config; +package org.ray.runtime.util.config; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; diff --git a/java/common/src/main/java/org/ray/util/exception/TaskExecutionException.java b/java/runtime/src/main/java/org/ray/runtime/util/exception/TaskExecutionException.java similarity index 89% rename from java/common/src/main/java/org/ray/util/exception/TaskExecutionException.java rename to java/runtime/src/main/java/org/ray/runtime/util/exception/TaskExecutionException.java index d68759b14..99bc0912e 100644 --- a/java/common/src/main/java/org/ray/util/exception/TaskExecutionException.java +++ b/java/runtime/src/main/java/org/ray/runtime/util/exception/TaskExecutionException.java @@ -1,4 +1,4 @@ -package org.ray.util.exception; +package org.ray.runtime.util.exception; /** * An exception which is thrown when a ray task encounters an error when executing. diff --git a/java/common/src/main/java/org/ray/util/generator/BaseGenerator.java b/java/runtime/src/main/java/org/ray/runtime/util/generator/BaseGenerator.java similarity index 91% rename from java/common/src/main/java/org/ray/util/generator/BaseGenerator.java rename to java/runtime/src/main/java/org/ray/runtime/util/generator/BaseGenerator.java index 9eb9c92fd..3d5bcb892 100644 --- a/java/common/src/main/java/org/ray/util/generator/BaseGenerator.java +++ b/java/runtime/src/main/java/org/ray/runtime/util/generator/BaseGenerator.java @@ -1,4 +1,4 @@ -package org.ray.util.generator; +package org.ray.runtime.util.generator; public abstract class BaseGenerator { diff --git a/java/common/src/main/java/org/ray/util/generator/RayCallGenerator.java b/java/runtime/src/main/java/org/ray/runtime/util/generator/RayCallGenerator.java similarity index 98% rename from java/common/src/main/java/org/ray/util/generator/RayCallGenerator.java rename to java/runtime/src/main/java/org/ray/runtime/util/generator/RayCallGenerator.java index ddeea8a6a..10ffc3488 100644 --- a/java/common/src/main/java/org/ray/util/generator/RayCallGenerator.java +++ b/java/runtime/src/main/java/org/ray/runtime/util/generator/RayCallGenerator.java @@ -1,9 +1,9 @@ -package org.ray.util.generator; +package org.ray.runtime.util.generator; import java.io.IOException; import java.util.ArrayList; import java.util.List; -import org.ray.util.FileUtil; +import org.ray.runtime.util.FileUtil; /** * A util class that generates `RayCall.java`, diff --git a/java/common/src/main/java/org/ray/util/generator/RayFuncGenerator.java b/java/runtime/src/main/java/org/ray/runtime/util/generator/RayFuncGenerator.java similarity index 95% rename from java/common/src/main/java/org/ray/util/generator/RayFuncGenerator.java rename to java/runtime/src/main/java/org/ray/runtime/util/generator/RayFuncGenerator.java index 040d36c1d..56fc49fef 100644 --- a/java/common/src/main/java/org/ray/util/generator/RayFuncGenerator.java +++ b/java/runtime/src/main/java/org/ray/runtime/util/generator/RayFuncGenerator.java @@ -1,7 +1,7 @@ -package org.ray.util.generator; +package org.ray.runtime.util.generator; import java.io.IOException; -import org.ray.util.FileUtil; +import org.ray.runtime.util.FileUtil; /** * A util class that generates all the RayFuncX classes under org.ray.api.function package. diff --git a/java/common/src/main/java/org/ray/util/logger/RayLog.java b/java/runtime/src/main/java/org/ray/runtime/util/logger/RayLog.java similarity index 92% rename from java/common/src/main/java/org/ray/util/logger/RayLog.java rename to java/runtime/src/main/java/org/ray/runtime/util/logger/RayLog.java index fb1beeb29..da57f718b 100644 --- a/java/common/src/main/java/org/ray/util/logger/RayLog.java +++ b/java/runtime/src/main/java/org/ray/runtime/util/logger/RayLog.java @@ -1,6 +1,6 @@ -package org.ray.util.logger; +package org.ray.runtime.util.logger; -import org.ray.util.SystemUtil; +import org.ray.runtime.util.SystemUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/java/common/src/main/resources/log4j.properties b/java/runtime/src/main/resources/log4j.properties similarity index 100% rename from java/common/src/main/resources/log4j.properties rename to java/runtime/src/main/resources/log4j.properties diff --git a/java/test/pom.xml b/java/test/pom.xml index f0d3d83d0..bc5483808 100644 --- a/java/test/pom.xml +++ b/java/test/pom.xml @@ -28,25 +28,7 @@ org.ray - ray-runtime-common - ${project.version} - - - - org.ray - ray-runtime-native - ${project.version} - - - - org.ray - ray-runtime-dev - ${project.version} - - - - org.ray - ray-common + ray-runtime ${project.version} diff --git a/java/test/run/logs/core.log b/java/test/run/logs/core.log new file mode 100644 index 000000000..e69de29bb diff --git a/java/test/src/main/java/org/ray/api/benchmark/RayBenchmarkTest.java b/java/test/src/main/java/org/ray/api/benchmark/RayBenchmarkTest.java index 6336516a5..5c47b3174 100644 --- a/java/test/src/main/java/org/ray/api/benchmark/RayBenchmarkTest.java +++ b/java/test/src/main/java/org/ray/api/benchmark/RayBenchmarkTest.java @@ -11,7 +11,7 @@ import org.ray.api.Ray; import org.ray.api.RayActor; import org.ray.api.RayObject; import org.ray.api.annotation.RayRemote; -import org.ray.util.logger.RayLog; +import org.ray.runtime.util.logger.RayLog; public abstract class RayBenchmarkTest implements Serializable { diff --git a/java/test/src/main/java/org/ray/api/test/LambdaUtilsTest.java b/java/test/src/main/java/org/ray/api/test/LambdaUtilsTest.java index 227cb0eed..210241ecf 100644 --- a/java/test/src/main/java/org/ray/api/test/LambdaUtilsTest.java +++ b/java/test/src/main/java/org/ray/api/test/LambdaUtilsTest.java @@ -11,8 +11,8 @@ import org.junit.Test; import org.ray.api.function.RayFunc0; import org.ray.api.function.RayFunc1; import org.ray.api.function.RayFunc3; -import org.ray.util.MethodId; -import org.ray.util.logger.RayLog; +import org.ray.runtime.util.MethodId; +import org.ray.runtime.util.logger.RayLog; public class LambdaUtilsTest { diff --git a/java/test/src/main/java/org/ray/api/test/MethodIdTest.java b/java/test/src/main/java/org/ray/api/test/MethodIdTest.java index 1cd17b943..81bd24cfb 100644 --- a/java/test/src/main/java/org/ray/api/test/MethodIdTest.java +++ b/java/test/src/main/java/org/ray/api/test/MethodIdTest.java @@ -5,7 +5,7 @@ import java.lang.reflect.Executable; import org.junit.Assert; import org.junit.Test; import org.ray.api.function.RayFunc2; -import org.ray.util.MethodId; +import org.ray.runtime.util.MethodId; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/java/test/src/main/java/org/ray/api/test/PlasmaFreeTest.java b/java/test/src/main/java/org/ray/api/test/PlasmaFreeTest.java index 4da3e1c95..30ef3db78 100644 --- a/java/test/src/main/java/org/ray/api/test/PlasmaFreeTest.java +++ b/java/test/src/main/java/org/ray/api/test/PlasmaFreeTest.java @@ -4,7 +4,6 @@ import com.google.common.collect.ImmutableList; import java.util.ArrayList; import java.util.List; import org.junit.Assert; -import org.junit.Assume; import org.junit.Test; import org.junit.runner.RunWith; import org.ray.api.Ray; @@ -12,7 +11,6 @@ import org.ray.api.RayObject; import org.ray.api.WaitResult; import org.ray.api.annotation.RayRemote; import org.ray.api.id.UniqueId; -import org.ray.core.AbstractRayRuntime; @RunWith(MyRunner.class) diff --git a/java/test/src/main/java/org/ray/api/test/RayActorMethodsTest.java b/java/test/src/main/java/org/ray/api/test/RayActorMethodsTest.java index eeb338f27..c91501217 100644 --- a/java/test/src/main/java/org/ray/api/test/RayActorMethodsTest.java +++ b/java/test/src/main/java/org/ray/api/test/RayActorMethodsTest.java @@ -3,7 +3,7 @@ package org.ray.api.test; import org.junit.Assert; import org.junit.Test; import org.ray.api.annotation.RayRemote; -import org.ray.spi.model.RayActorMethods; +import org.ray.runtime.functionmanager.RayActorMethods; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/java/test/src/main/java/org/ray/api/test/RayMethodsTest.java b/java/test/src/main/java/org/ray/api/test/RayMethodsTest.java index 67aeb6d7e..b49f78e17 100644 --- a/java/test/src/main/java/org/ray/api/test/RayMethodsTest.java +++ b/java/test/src/main/java/org/ray/api/test/RayMethodsTest.java @@ -3,14 +3,13 @@ package org.ray.api.test; import com.google.common.collect.ImmutableList; import java.util.List; import java.util.stream.Collectors; -import java.util.stream.Stream; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.ray.api.Ray; import org.ray.api.RayObject; import org.ray.api.WaitResult; -import org.ray.util.logger.RayLog; +import org.ray.runtime.util.logger.RayLog; /** * Integration test for Ray.* diff --git a/java/test/src/main/java/org/ray/api/test/RayTaskMethodsTest.java b/java/test/src/main/java/org/ray/api/test/RayTaskMethodsTest.java index 670d87b2f..e731ccb49 100644 --- a/java/test/src/main/java/org/ray/api/test/RayTaskMethodsTest.java +++ b/java/test/src/main/java/org/ray/api/test/RayTaskMethodsTest.java @@ -1,10 +1,9 @@ package org.ray.api.test; -import java.lang.reflect.Constructor; import org.junit.Assert; import org.junit.Test; -import org.ray.spi.model.RayMethod; -import org.ray.spi.model.RayTaskMethods; +import org.ray.runtime.functionmanager.RayMethod; +import org.ray.runtime.functionmanager.RayTaskMethods; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/java/test/src/main/java/org/ray/api/test/ResourcesManagementTest.java b/java/test/src/main/java/org/ray/api/test/ResourcesManagementTest.java index 9188e685a..001723fec 100644 --- a/java/test/src/main/java/org/ray/api/test/ResourcesManagementTest.java +++ b/java/test/src/main/java/org/ray/api/test/ResourcesManagementTest.java @@ -2,7 +2,6 @@ package org.ray.api.test; import com.google.common.collect.ImmutableList; import org.junit.Assert; -import org.junit.Assume; import org.junit.Test; import org.junit.runner.RunWith; import org.ray.api.Ray; @@ -11,7 +10,6 @@ import org.ray.api.RayObject; import org.ray.api.WaitResult; import org.ray.api.annotation.RayRemote; import org.ray.api.annotation.ResourceItem; -import org.ray.core.AbstractRayRuntime; /** * Resources Management Test. diff --git a/java/test/src/main/java/org/ray/api/test/UniqueIdTest.java b/java/test/src/main/java/org/ray/api/test/UniqueIdTest.java index 6c5982a1b..0a21fc287 100644 --- a/java/test/src/main/java/org/ray/api/test/UniqueIdTest.java +++ b/java/test/src/main/java/org/ray/api/test/UniqueIdTest.java @@ -7,7 +7,7 @@ import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.ray.api.id.UniqueId; -import org.ray.core.UniqueIdHelper; +import org.ray.runtime.util.UniqueIdHelper; @RunWith(MyRunner.class) public class UniqueIdTest { diff --git a/java/test/src/main/java/org/ray/api/test/WordCountTest.java b/java/test/src/main/java/org/ray/api/test/WordCountTest.java index 850190c99..2c019b8b2 100644 --- a/java/test/src/main/java/org/ray/api/test/WordCountTest.java +++ b/java/test/src/main/java/org/ray/api/test/WordCountTest.java @@ -7,7 +7,7 @@ import org.junit.Assert; import org.ray.api.Ray; import org.ray.api.RayObject; import org.ray.api.annotation.RayRemote; -import org.ray.util.FileUtil; +import org.ray.runtime.util.FileUtil; /** * given a directory of document files on each "machine", we would like to count the appearance of diff --git a/java/tutorial/pom.xml b/java/tutorial/pom.xml index f79701364..05f2f21a3 100644 --- a/java/tutorial/pom.xml +++ b/java/tutorial/pom.xml @@ -1,97 +1,73 @@ - - org.ray.parent - ray-superpom - 1.0 - - 4.0.0 + xmlns="http://maven.apache.org/POM/4.0.0" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + org.ray.parent + ray-superpom + 1.0 + + 4.0.0 - org.ray - ray-tutorial + org.ray + ray-tutorial - java tutorial - Tutorial of using Ray with Java - + java tutorial + Tutorial of using Ray with Java - jar - - - - org.ray - ray-api - ${project.version} - - - - org.ray - ray-runtime-common - ${project.version} - - - - org.ray - ray-runtime-native - ${project.version} - - - - org.ray - ray-runtime-dev - ${project.version} - - - - org.ray - ray-common - ${project.version} - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.20.1 - - - ${basedir}/../ray.config.ini - - -ea - -Djava.library.path=${basedir}/../../build/src/plasma:${basedir}/../../build/src/local_scheduler - -noverify - -DlogOutput=console - - ${basedir}/src/main/java/ - ${project.build.directory}/classes/ - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - copy-dependencies - package - - copy-dependencies - - - ${basedir}/lib - false - false - true - - - - - - - + jar + + + org.ray + ray-api + ${project.version} + + + org.ray + ray-runtime + ${project.version} + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.20.1 + + + ${basedir}/../ray.config.ini + + -ea + -Djava.library.path=${basedir}/../../build/src/plasma:${basedir}/../../build/src/local_scheduler + -noverify + -DlogOutput=console + + ${basedir}/src/main/java/ + ${project.build.directory}/classes/ + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-dependencies + package + + copy-dependencies + + + ${basedir}/lib + false + false + true + + + + + + diff --git a/src/local_scheduler/lib/java/org_ray_spi_impl_DefaultLocalSchedulerClient.cc b/src/local_scheduler/lib/java/org_ray_runtime_raylet_RayletClientImpl.cc similarity index 78% rename from src/local_scheduler/lib/java/org_ray_spi_impl_DefaultLocalSchedulerClient.cc rename to src/local_scheduler/lib/java/org_ray_runtime_raylet_RayletClientImpl.cc index 22bba808a..d8cfea804 100644 --- a/src/local_scheduler/lib/java/org_ray_spi_impl_DefaultLocalSchedulerClient.cc +++ b/src/local_scheduler/lib/java/org_ray_runtime_raylet_RayletClientImpl.cc @@ -1,6 +1,6 @@ #include -#include "local_scheduler/lib/java/org_ray_spi_impl_DefaultLocalSchedulerClient.h" +#include "local_scheduler/lib/java/org_ray_runtime_raylet_RayletClientImpl.h" #include "local_scheduler_client.h" #include "logging.h" #include "ray/id.h" @@ -32,18 +32,17 @@ class UniqueIdFromJByteArray { }; /* - * Class: org_ray_spi_impl_DefaultLocalSchedulerClient + * Class: org_ray_runtime_raylet_RayletClientImpl * Method: nativeInit * Signature: (Ljava/lang/String;[BZ[B)J */ JNIEXPORT jlong JNICALL -Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeInit( - JNIEnv *env, - jclass, - jstring sockName, - jbyteArray workerId, - jboolean isWorker, - jbyteArray driverId) { +Java_org_ray_runtime_raylet_RayletClientImpl_nativeInit(JNIEnv *env, + jclass, + jstring sockName, + jbyteArray workerId, + jboolean isWorker, + jbyteArray driverId) { UniqueIdFromJByteArray worker_id(env, workerId); UniqueIdFromJByteArray driver_id(env, driverId); const char *nativeString = env->GetStringUTFChars(sockName, JNI_FALSE); @@ -55,12 +54,12 @@ Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeInit( } /* - * Class: org_ray_spi_impl_DefaultLocalSchedulerClient + * Class: org_ray_runtime_raylet_RayletClientImpl * Method: nativeSubmitTask * Signature: (J[BLjava/nio/ByteBuffer;II)V */ JNIEXPORT void JNICALL -Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeSubmitTask( +Java_org_ray_runtime_raylet_RayletClientImpl_nativeSubmitTask( JNIEnv *env, jclass, jlong client, @@ -83,14 +82,14 @@ Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeSubmitTask( } /* - * Class: org_ray_spi_impl_DefaultLocalSchedulerClient + * Class: org_ray_runtime_raylet_RayletClientImpl * Method: nativeGetTask * Signature: (J)[B */ JNIEXPORT jbyteArray JNICALL -Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeGetTask(JNIEnv *env, - jclass, - jlong client) { +Java_org_ray_runtime_raylet_RayletClientImpl_nativeGetTask(JNIEnv *env, + jclass, + jlong client) { auto conn = reinterpret_cast(client); int64_t task_size = 0; @@ -112,26 +111,26 @@ Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeGetTask(JNIEnv *env, } /* - * Class: org_ray_spi_impl_DefaultLocalSchedulerClient + * Class: org_ray_runtime_raylet_RayletClientImpl * Method: nativeDestroy * Signature: (J)V */ JNIEXPORT void JNICALL -Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeDestroy(JNIEnv *, - jclass, - jlong client) { +Java_org_ray_runtime_raylet_RayletClientImpl_nativeDestroy(JNIEnv *, + jclass, + jlong client) { auto conn = reinterpret_cast(client); local_scheduler_disconnect_client(conn); LocalSchedulerConnection_free(conn); } /* - * Class: org_ray_spi_impl_DefaultLocalSchedulerClient + * Class: org_ray_runtime_raylet_RayletClientImpl * Method: nativeReconstructObjects * Signature: (J[[BZ)V */ JNIEXPORT void JNICALL -Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeReconstructObjects( +Java_org_ray_runtime_raylet_RayletClientImpl_nativeReconstructObjects( JNIEnv *env, jclass, jlong client, @@ -151,12 +150,12 @@ Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeReconstructObjects( } /* - * Class: org_ray_spi_impl_DefaultLocalSchedulerClient + * Class: org_ray_runtime_raylet_RayletClientImpl * Method: nativeNotifyUnblocked * Signature: (J)V */ JNIEXPORT void JNICALL -Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeNotifyUnblocked( +Java_org_ray_runtime_raylet_RayletClientImpl_nativeNotifyUnblocked( JNIEnv *, jclass, jlong client) { @@ -165,12 +164,12 @@ Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeNotifyUnblocked( } /* - * Class: org_ray_spi_impl_DefaultLocalSchedulerClient + * Class: org_ray_runtime_raylet_RayletClientImpl * Method: nativePutObject * Signature: (J[B[B)V */ JNIEXPORT void JNICALL -Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativePutObject( +Java_org_ray_runtime_raylet_RayletClientImpl_nativePutObject( JNIEnv *env, jclass, jlong client, @@ -182,12 +181,12 @@ Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativePutObject( } /* - * Class: org_ray_spi_impl_DefaultLocalSchedulerClient + * Class: org_ray_runtime_raylet_RayletClientImpl * Method: nativeWaitObject * Signature: (J[[BIIZ)[Z */ JNIEXPORT jbooleanArray JNICALL -Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeWaitObject( +Java_org_ray_runtime_raylet_RayletClientImpl_nativeWaitObject( JNIEnv *env, jclass, jlong client, @@ -237,12 +236,12 @@ Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeWaitObject( } /* - * Class: org_ray_spi_impl_DefaultLocalSchedulerClient + * Class: org_ray_runtime_raylet_RayletClientImpl * Method: nativeGenerateTaskId * Signature: ([B[BI)[B */ JNIEXPORT jbyteArray JNICALL -Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeGenerateTaskId( +Java_org_ray_runtime_raylet_RayletClientImpl_nativeGenerateTaskId( JNIEnv *env, jclass, jbyteArray driverId, @@ -267,12 +266,12 @@ Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeGenerateTaskId( } /* - * Class: org_ray_spi_impl_DefaultLocalSchedulerClient + * Class: org_ray_runtime_raylet_RayletClientImpl * Method: nativeFreePlasmaObjects * Signature: ([[BZ)V */ JNIEXPORT void JNICALL -Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeFreePlasmaObjects( +Java_org_ray_runtime_raylet_RayletClientImpl_nativeFreePlasmaObjects( JNIEnv *env, jclass, jlong client, diff --git a/src/local_scheduler/lib/java/org_ray_runtime_raylet_RayletClientImpl.h b/src/local_scheduler/lib/java/org_ray_runtime_raylet_RayletClientImpl.h new file mode 100644 index 000000000..b730b0064 --- /dev/null +++ b/src/local_scheduler/lib/java/org_ray_runtime_raylet_RayletClientImpl.h @@ -0,0 +1,134 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ +#include +/* Header for class org_ray_runtime_raylet_RayletClientImpl */ + +#ifndef _Included_org_ray_runtime_raylet_RayletClientImpl +#define _Included_org_ray_runtime_raylet_RayletClientImpl +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: org_ray_runtime_raylet_RayletClientImpl + * Method: nativeInit + * Signature: (Ljava/lang/String;[BZ[B)J + */ +JNIEXPORT jlong JNICALL +Java_org_ray_runtime_raylet_RayletClientImpl_nativeInit(JNIEnv *, + jclass, + jstring, + jbyteArray, + jboolean, + jbyteArray); + +/* + * Class: org_ray_runtime_raylet_RayletClientImpl + * Method: nativeSubmitTask + * Signature: (J[BLjava/nio/ByteBuffer;II)V + */ +JNIEXPORT void JNICALL +Java_org_ray_runtime_raylet_RayletClientImpl_nativeSubmitTask(JNIEnv *, + jclass, + jlong, + jbyteArray, + jobject, + jint, + jint); + +/* + * Class: org_ray_runtime_raylet_RayletClientImpl + * Method: nativeGetTask + * Signature: (J)[B + */ +JNIEXPORT jbyteArray JNICALL +Java_org_ray_runtime_raylet_RayletClientImpl_nativeGetTask(JNIEnv *, + jclass, + jlong); + +/* + * Class: org_ray_runtime_raylet_RayletClientImpl + * Method: nativeDestroy + * Signature: (J)V + */ +JNIEXPORT void JNICALL +Java_org_ray_runtime_raylet_RayletClientImpl_nativeDestroy(JNIEnv *, + jclass, + jlong); + +/* + * Class: org_ray_runtime_raylet_RayletClientImpl + * Method: nativeReconstructObjects + * Signature: (J[[BZ)V + */ +JNIEXPORT void JNICALL +Java_org_ray_runtime_raylet_RayletClientImpl_nativeReconstructObjects( + JNIEnv *, + jclass, + jlong, + jobjectArray, + jboolean); + +/* + * Class: org_ray_runtime_raylet_RayletClientImpl + * Method: nativeNotifyUnblocked + * Signature: (J)V + */ +JNIEXPORT void JNICALL +Java_org_ray_runtime_raylet_RayletClientImpl_nativeNotifyUnblocked(JNIEnv *, + jclass, + jlong); + +/* + * Class: org_ray_runtime_raylet_RayletClientImpl + * Method: nativePutObject + * Signature: (J[B[B)V + */ +JNIEXPORT void JNICALL +Java_org_ray_runtime_raylet_RayletClientImpl_nativePutObject(JNIEnv *, + jclass, + jlong, + jbyteArray, + jbyteArray); + +/* + * Class: org_ray_runtime_raylet_RayletClientImpl + * Method: nativeWaitObject + * Signature: (J[[BIIZ)[Z + */ +JNIEXPORT jbooleanArray JNICALL +Java_org_ray_runtime_raylet_RayletClientImpl_nativeWaitObject(JNIEnv *, + jclass, + jlong, + jobjectArray, + jint, + jint, + jboolean); + +/* + * Class: org_ray_runtime_raylet_RayletClientImpl + * Method: nativeGenerateTaskId + * Signature: ([B[BI)[B + */ +JNIEXPORT jbyteArray JNICALL +Java_org_ray_runtime_raylet_RayletClientImpl_nativeGenerateTaskId(JNIEnv *, + jclass, + jbyteArray, + jbyteArray, + jint); + +/* + * Class: org_ray_runtime_raylet_RayletClientImpl + * Method: nativeFreePlasmaObjects + * Signature: (J[[BZ)V + */ +JNIEXPORT void JNICALL +Java_org_ray_runtime_raylet_RayletClientImpl_nativeFreePlasmaObjects( + JNIEnv *, + jclass, + jlong, + jobjectArray, + jboolean); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/src/local_scheduler/lib/java/org_ray_spi_impl_DefaultLocalSchedulerClient.h b/src/local_scheduler/lib/java/org_ray_spi_impl_DefaultLocalSchedulerClient.h deleted file mode 100644 index 2b1dc4633..000000000 --- a/src/local_scheduler/lib/java/org_ray_spi_impl_DefaultLocalSchedulerClient.h +++ /dev/null @@ -1,136 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class org_ray_spi_impl_DefaultLocalSchedulerClient */ - -#ifndef _Included_org_ray_spi_impl_DefaultLocalSchedulerClient -#define _Included_org_ray_spi_impl_DefaultLocalSchedulerClient -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: org_ray_spi_impl_DefaultLocalSchedulerClient - * Method: nativeInit - * Signature: (Ljava/lang/String;[BZ[B)J - */ -JNIEXPORT jlong JNICALL -Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeInit(JNIEnv *, - jclass, - jstring, - jbyteArray, - jboolean, - jbyteArray); - -/* - * Class: org_ray_spi_impl_DefaultLocalSchedulerClient - * Method: nativeSubmitTask - * Signature: (J[BLjava/nio/ByteBuffer;II)V - */ -JNIEXPORT void JNICALL -Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeSubmitTask(JNIEnv *, - jclass, - jlong, - jbyteArray, - jobject, - jint, - jint); - -/* - * Class: org_ray_spi_impl_DefaultLocalSchedulerClient - * Method: nativeGetTask - * Signature: (J)[B - */ -JNIEXPORT jbyteArray JNICALL -Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeGetTask(JNIEnv *, - jclass, - jlong); - -/* - * Class: org_ray_spi_impl_DefaultLocalSchedulerClient - * Method: nativeDestroy - * Signature: (J)V - */ -JNIEXPORT void JNICALL -Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeDestroy(JNIEnv *, - jclass, - jlong); - -/* - * Class: org_ray_spi_impl_DefaultLocalSchedulerClient - * Method: nativeReconstructObjects - * Signature: (J[[BZ)V - */ -JNIEXPORT void JNICALL -Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeReconstructObjects( - JNIEnv *, - jclass, - jlong, - jobjectArray, - jboolean); - -/* - * Class: org_ray_spi_impl_DefaultLocalSchedulerClient - * Method: nativeNotifyUnblocked - * Signature: (J)V - */ -JNIEXPORT void JNICALL -Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeNotifyUnblocked( - JNIEnv *, - jclass, - jlong); - -/* - * Class: org_ray_spi_impl_DefaultLocalSchedulerClient - * Method: nativePutObject - * Signature: (J[B[B)V - */ -JNIEXPORT void JNICALL -Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativePutObject(JNIEnv *, - jclass, - jlong, - jbyteArray, - jbyteArray); - -/* - * Class: org_ray_spi_impl_DefaultLocalSchedulerClient - * Method: nativeWaitObject - * Signature: (J[[BIIZ)[Z - */ -JNIEXPORT jbooleanArray JNICALL -Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeWaitObject(JNIEnv *, - jclass, - jlong, - jobjectArray, - jint, - jint, - jboolean); - -/* - * Class: org_ray_spi_impl_DefaultLocalSchedulerClient - * Method: nativeGenerateTaskId - * Signature: ([B[BI)[B - */ -JNIEXPORT jbyteArray JNICALL -Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeGenerateTaskId( - JNIEnv *, - jclass, - jbyteArray, - jbyteArray, - jint); - -/* - * Class: org_ray_spi_impl_DefaultLocalSchedulerClient - * Method: nativeFreePlasmaObjects - * Signature: (J[[BZ)V - */ -JNIEXPORT void JNICALL -Java_org_ray_spi_impl_DefaultLocalSchedulerClient_nativeFreePlasmaObjects( - JNIEnv *, - jclass, - jlong, - jobjectArray, - jboolean); - -#ifdef __cplusplus -} -#endif -#endif