From 606559c1f86ef3675b8118538fab3fdc860f5fa4 Mon Sep 17 00:00:00 2001 From: jovany-wang Date: Wed, 29 May 2019 21:43:13 +0800 Subject: [PATCH 1/2] Fix --- java/BUILD.bazel | 1 + java/dependencies.bzl | 3 +- java/runtime/pom.xml | 2 +- .../java/org/ray/runtime/RayPyActorImpl.java | 4 ++- java/test/pom.xml | 5 +++ .../org/ray/api/test/RaySerializerTest.java | 34 +++++++++++++++++++ 6 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 java/test/src/main/java/org/ray/api/test/RaySerializerTest.java diff --git a/java/BUILD.bazel b/java/BUILD.bazel index f86df8d40f96..bc49de009aa2 100644 --- a/java/BUILD.bazel +++ b/java/BUILD.bazel @@ -99,6 +99,7 @@ define_java_module( "@maven//:org_testng_testng", "@maven//:com_google_guava_guava", "@maven//:commons_io_commons_io", + "@maven//:com_google_code_gson_gson", ], ) diff --git a/java/dependencies.bzl b/java/dependencies.bzl index d0178ba0f8f4..a20acc0ef460 100644 --- a/java/dependencies.bzl +++ b/java/dependencies.bzl @@ -5,13 +5,14 @@ def gen_java_deps(): artifacts = [ "com.beust:jcommander:1.72", "com.github.davidmoten:flatbuffers-java:1.9.0.1", + "com.google.code.gson:gson:2.8.5", "com.google.guava:guava:27.0.1-jre", "com.puppycrawl.tools:checkstyle:8.15", "com.sun.xml.bind:jaxb-core:2.3.0", "com.sun.xml.bind:jaxb-impl:2.3.0", "com.typesafe:config:1.3.2", "commons-io:commons-io:2.5", - "de.ruedigermoeller:fst:2.47", + "de.ruedigermoeller:fst:2.57", "javax.xml.bind:jaxb-api:2.3.0", "org.apache.commons:commons-lang3:3.4", "org.ow2.asm:asm:6.0", diff --git a/java/runtime/pom.xml b/java/runtime/pom.xml index 1ce51971c03e..c75e2eeef13f 100644 --- a/java/runtime/pom.xml +++ b/java/runtime/pom.xml @@ -54,7 +54,7 @@ de.ruedigermoeller fst - 2.47 + 2.57 org.apache.commons diff --git a/java/runtime/src/main/java/org/ray/runtime/RayPyActorImpl.java b/java/runtime/src/main/java/org/ray/runtime/RayPyActorImpl.java index 2938478d22e8..f1f26d40874e 100644 --- a/java/runtime/src/main/java/org/ray/runtime/RayPyActorImpl.java +++ b/java/runtime/src/main/java/org/ray/runtime/RayPyActorImpl.java @@ -20,7 +20,9 @@ public class RayPyActorImpl extends RayActorImpl implements RayPyActor { */ private String className; - private RayPyActorImpl() {} + // Note that this empty constructor must be public + // since it'll be needed when deserializing. + public RayPyActorImpl() {} public RayPyActorImpl(UniqueId id, String moduleName, String className) { super(id); diff --git a/java/test/pom.xml b/java/test/pom.xml index 10f7ea4b3313..b127b4f13415 100644 --- a/java/test/pom.xml +++ b/java/test/pom.xml @@ -27,6 +27,11 @@ ray-runtime ${project.version} + + com.google.code.gson + gson + 2.8.5 + com.google.guava guava diff --git a/java/test/src/main/java/org/ray/api/test/RaySerializerTest.java b/java/test/src/main/java/org/ray/api/test/RaySerializerTest.java new file mode 100644 index 000000000000..de69b8af0808 --- /dev/null +++ b/java/test/src/main/java/org/ray/api/test/RaySerializerTest.java @@ -0,0 +1,34 @@ +package org.ray.api.test; + +import com.google.gson.internal.LinkedTreeMap; +import java.util.Map; +import org.ray.api.RayPyActor; +import org.ray.api.id.UniqueId; +import org.ray.runtime.RayPyActorImpl; +import org.ray.runtime.util.Serializer; +import org.testng.Assert; +import org.testng.annotations.Test; + +public class RaySerializerTest { + + @Test + public void testLinkedTreeMapSer() { + Map conf = new LinkedTreeMap(); + conf.put("aaa", "bbb"); + byte[] bytes = Serializer.encode(conf); + Map result = Serializer.decode(bytes); + Assert.assertEquals(conf, result); + } + + @Test + public void testSerializePyActor() { + final UniqueId pyActorId = UniqueId.randomId(); + RayPyActor pyActor = new RayPyActorImpl(pyActorId, "test", "RaySerializerTest"); + byte[] bytes = Serializer.encode(pyActor); + RayPyActor result = Serializer.decode(bytes); + Assert.assertEquals(result.getId(), pyActorId); + Assert.assertEquals(result.getModuleName(), "test"); + Assert.assertEquals(result.getClassName(), "RaySerializerTest"); + } + +} From 1b708d2ce575b8699ad728948b2c02e3551121e4 Mon Sep 17 00:00:00 2001 From: jovany-wang Date: Thu, 30 May 2019 12:14:33 +0800 Subject: [PATCH 2/2] Address comment. --- java/BUILD.bazel | 1 - java/dependencies.bzl | 1 - java/test/pom.xml | 5 ----- .../main/java/org/ray/api/test/RaySerializerTest.java | 11 ----------- 4 files changed, 18 deletions(-) diff --git a/java/BUILD.bazel b/java/BUILD.bazel index bc49de009aa2..f86df8d40f96 100644 --- a/java/BUILD.bazel +++ b/java/BUILD.bazel @@ -99,7 +99,6 @@ define_java_module( "@maven//:org_testng_testng", "@maven//:com_google_guava_guava", "@maven//:commons_io_commons_io", - "@maven//:com_google_code_gson_gson", ], ) diff --git a/java/dependencies.bzl b/java/dependencies.bzl index a20acc0ef460..7c716166d399 100644 --- a/java/dependencies.bzl +++ b/java/dependencies.bzl @@ -5,7 +5,6 @@ def gen_java_deps(): artifacts = [ "com.beust:jcommander:1.72", "com.github.davidmoten:flatbuffers-java:1.9.0.1", - "com.google.code.gson:gson:2.8.5", "com.google.guava:guava:27.0.1-jre", "com.puppycrawl.tools:checkstyle:8.15", "com.sun.xml.bind:jaxb-core:2.3.0", diff --git a/java/test/pom.xml b/java/test/pom.xml index b127b4f13415..10f7ea4b3313 100644 --- a/java/test/pom.xml +++ b/java/test/pom.xml @@ -27,11 +27,6 @@ ray-runtime ${project.version} - - com.google.code.gson - gson - 2.8.5 - com.google.guava guava diff --git a/java/test/src/main/java/org/ray/api/test/RaySerializerTest.java b/java/test/src/main/java/org/ray/api/test/RaySerializerTest.java index de69b8af0808..33283abc7a36 100644 --- a/java/test/src/main/java/org/ray/api/test/RaySerializerTest.java +++ b/java/test/src/main/java/org/ray/api/test/RaySerializerTest.java @@ -1,7 +1,5 @@ package org.ray.api.test; -import com.google.gson.internal.LinkedTreeMap; -import java.util.Map; import org.ray.api.RayPyActor; import org.ray.api.id.UniqueId; import org.ray.runtime.RayPyActorImpl; @@ -11,15 +9,6 @@ public class RaySerializerTest { - @Test - public void testLinkedTreeMapSer() { - Map conf = new LinkedTreeMap(); - conf.put("aaa", "bbb"); - byte[] bytes = Serializer.encode(conf); - Map result = Serializer.decode(bytes); - Assert.assertEquals(conf, result); - } - @Test public void testSerializePyActor() { final UniqueId pyActorId = UniqueId.randomId();