Skip to content
This repository was archived by the owner on Mar 3, 2023. It is now read-only.

Commit f3ba285

Browse files
authored
Updating Kryo to 5.0.0-RC9 (#3593)
1 parent 96dda44 commit f3ba285

21 files changed

+81
-447
lines changed

WORKSPACE

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ maven_install(
6868
"antlr:antlr:2.7.7",
6969
"org.apache.zookeeper:zookeeper:3.5.8",
7070
"io.kubernetes:client-java:" + kubernetes_client_version,
71-
"com.esotericsoftware:kryo:3.0.3",
71+
"com.esotericsoftware:kryo:5.0.0-RC9",
7272
"org.apache.avro:avro:1.7.4",
7373
"org.apache.mesos:mesos:0.22.0",
7474
"com.hashicorp.nomad:nomad-sdk:0.7.0",

examples/src/java/BUILD

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ java_binary(
1010
"//heron/api/src/java:api-java-low-level",
1111
"//heron/common/src/java:basics-java",
1212
"//heron/simulator/src/java:simulator-java",
13+
"//third_party/java:kryo",
1314
],
1415
)
1516

examples/src/java/org/apache/heron/examples/api/AckingTopology.java

+2
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ public static void main(String[] args) throws Exception {
6060
Config conf = new Config();
6161
conf.setDebug(true);
6262

63+
conf.setSerializationClassName(Config.HERON_KRYO_SERIALIZER_CLASS_NAME);
64+
6365
// Specifies that all tuples will be automatically failed if not acked within 10 seconds
6466
conf.setMessageTimeoutSecs(10);
6567

heron/api/src/java/org/apache/heron/api/serializer/KryoSerializer.java

+4-31
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import java.lang.reflect.InvocationTargetException;
2424
import java.math.BigInteger;
2525
import java.util.ArrayList;
26-
import java.util.Collection;
2726
import java.util.HashMap;
2827
import java.util.HashSet;
2928
import java.util.List;
@@ -35,9 +34,7 @@
3534
import com.esotericsoftware.kryo.Serializer;
3635
import com.esotericsoftware.kryo.io.Input;
3736
import com.esotericsoftware.kryo.io.Output;
38-
import com.esotericsoftware.kryo.serializers.CollectionSerializer;
3937
import com.esotericsoftware.kryo.serializers.DefaultSerializers;
40-
import com.esotericsoftware.kryo.serializers.MapSerializer;
4138

4239
import org.apache.heron.api.Config;
4340
import org.apache.heron.api.tuple.Values;
@@ -79,7 +76,7 @@ public void initialize(Map<String, Object> config) {
7976

8077
@Override
8178
public byte[] serialize(Object object) {
82-
kryoOut.clear();
79+
kryoOut.reset();
8380
kryo.writeClassAndObject(kryoOut, object);
8481
return kryoOut.toBytes();
8582
}
@@ -94,9 +91,9 @@ public Object deserialize(byte[] input) {
9491
private static void registerDefaultSerializers(Kryo k) {
9592
// Default serializers
9693
k.register(byte[].class);
97-
k.register(ArrayList.class, new ArrayListSerializer());
98-
k.register(HashMap.class, new HashMapSerializer());
99-
k.register(HashSet.class, new HashSetSerializer());
94+
k.register(ArrayList.class);
95+
k.register(HashMap.class);
96+
k.register(HashSet.class);
10097
k.register(BigInteger.class, new DefaultSerializers.BigIntegerSerializer());
10198
k.register(Values.class);
10299
}
@@ -217,28 +214,4 @@ private static Serializer resolveSerializerInstance(
217214
String.format("Unable to create serializer \"%s\" for class: %s",
218215
serializerClass.getName(), superClass.getName()));
219216
}
220-
221-
private static class ArrayListSerializer extends CollectionSerializer {
222-
@Override
223-
@SuppressWarnings("rawtypes") // extending Kryo class that uses raw types
224-
public Collection create(Kryo k, Input input, Class<Collection> type) {
225-
return new ArrayList();
226-
}
227-
}
228-
229-
private static class HashMapSerializer extends MapSerializer {
230-
@Override
231-
@SuppressWarnings("rawtypes") // extending kryo class signature that takes Map
232-
public Map<String, Object> create(Kryo k, Input input, Class<Map> type) {
233-
return new HashMap<>();
234-
}
235-
}
236-
237-
private static class HashSetSerializer extends CollectionSerializer {
238-
@Override
239-
@SuppressWarnings("rawtypes") // extending Kryo class that uses raw types
240-
public Collection create(Kryo k, Input input, Class<Collection> type) {
241-
return new HashSet();
242-
}
243-
}
244217
}

maven_install.json

+57-67
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"dependency_tree": {
3-
"__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": -1332813254,
3+
"__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": -790274667,
44
"conflict_resolution": {},
55
"dependencies": [
66
{
@@ -374,108 +374,98 @@
374374
"url": "https://jcenter.bintray.com/com/beust/jcommander/1.48/jcommander-1.48-sources.jar"
375375
},
376376
{
377-
"coord": "com.esotericsoftware:kryo:3.0.3",
377+
"coord": "com.esotericsoftware:kryo:5.0.0-RC9",
378378
"dependencies": [
379-
"com.esotericsoftware:minlog:1.3.0",
380-
"org.objenesis:objenesis:2.1",
381-
"org.ow2.asm:asm:5.0.4",
382-
"com.esotericsoftware:reflectasm:1.10.1"
379+
"com.esotericsoftware:minlog:1.3.1",
380+
"com.esotericsoftware:reflectasm:1.11.8",
381+
"org.objenesis:objenesis:2.1"
383382
],
384383
"directDependencies": [
385-
"com.esotericsoftware:minlog:1.3.0",
386-
"com.esotericsoftware:reflectasm:1.10.1",
384+
"com.esotericsoftware:minlog:1.3.1",
385+
"com.esotericsoftware:reflectasm:1.11.8",
387386
"org.objenesis:objenesis:2.1"
388387
],
389-
"file": "v1/https/jcenter.bintray.com/com/esotericsoftware/kryo/3.0.3/kryo-3.0.3.jar",
388+
"file": "v1/https/jcenter.bintray.com/com/esotericsoftware/kryo/5.0.0-RC9/kryo-5.0.0-RC9.jar",
390389
"mirror_urls": [
391-
"https://jcenter.bintray.com/com/esotericsoftware/kryo/3.0.3/kryo-3.0.3.jar",
392-
"https://maven.google.com/com/esotericsoftware/kryo/3.0.3/kryo-3.0.3.jar",
393-
"https://repo1.maven.org/maven2/com/esotericsoftware/kryo/3.0.3/kryo-3.0.3.jar"
390+
"https://jcenter.bintray.com/com/esotericsoftware/kryo/5.0.0-RC9/kryo-5.0.0-RC9.jar",
391+
"https://maven.google.com/com/esotericsoftware/kryo/5.0.0-RC9/kryo-5.0.0-RC9.jar",
392+
"https://repo1.maven.org/maven2/com/esotericsoftware/kryo/5.0.0-RC9/kryo-5.0.0-RC9.jar"
394393
],
395-
"sha256": "5c295b23480225ff6e7d6770dfa904bedcec8556c27234fea0a271fe13195f69",
396-
"url": "https://jcenter.bintray.com/com/esotericsoftware/kryo/3.0.3/kryo-3.0.3.jar"
394+
"sha256": "3d9ef4b1e3c1741e5a59938b8e730b950dbed99b171103b61088cb2d66f3987d",
395+
"url": "https://jcenter.bintray.com/com/esotericsoftware/kryo/5.0.0-RC9/kryo-5.0.0-RC9.jar"
397396
},
398397
{
399-
"coord": "com.esotericsoftware:kryo:jar:sources:3.0.3",
398+
"coord": "com.esotericsoftware:kryo:jar:sources:5.0.0-RC9",
400399
"dependencies": [
401-
"com.esotericsoftware:minlog:jar:sources:1.3.0",
402-
"com.esotericsoftware:reflectasm:jar:sources:1.10.1",
403-
"org.objenesis:objenesis:jar:sources:2.1",
404-
"org.ow2.asm:asm:jar:sources:5.0.4"
400+
"com.esotericsoftware:reflectasm:jar:sources:1.11.8",
401+
"com.esotericsoftware:minlog:jar:sources:1.3.1",
402+
"org.objenesis:objenesis:jar:sources:2.1"
405403
],
406404
"directDependencies": [
407-
"com.esotericsoftware:minlog:jar:sources:1.3.0",
408-
"com.esotericsoftware:reflectasm:jar:sources:1.10.1",
405+
"com.esotericsoftware:minlog:jar:sources:1.3.1",
406+
"com.esotericsoftware:reflectasm:jar:sources:1.11.8",
409407
"org.objenesis:objenesis:jar:sources:2.1"
410408
],
411-
"file": "v1/https/jcenter.bintray.com/com/esotericsoftware/kryo/3.0.3/kryo-3.0.3-sources.jar",
409+
"file": "v1/https/jcenter.bintray.com/com/esotericsoftware/kryo/5.0.0-RC9/kryo-5.0.0-RC9-sources.jar",
412410
"mirror_urls": [
413-
"https://jcenter.bintray.com/com/esotericsoftware/kryo/3.0.3/kryo-3.0.3-sources.jar",
414-
"https://maven.google.com/com/esotericsoftware/kryo/3.0.3/kryo-3.0.3-sources.jar",
415-
"https://repo1.maven.org/maven2/com/esotericsoftware/kryo/3.0.3/kryo-3.0.3-sources.jar"
411+
"https://jcenter.bintray.com/com/esotericsoftware/kryo/5.0.0-RC9/kryo-5.0.0-RC9-sources.jar",
412+
"https://maven.google.com/com/esotericsoftware/kryo/5.0.0-RC9/kryo-5.0.0-RC9-sources.jar",
413+
"https://repo1.maven.org/maven2/com/esotericsoftware/kryo/5.0.0-RC9/kryo-5.0.0-RC9-sources.jar"
416414
],
417-
"sha256": "5a02ca261f78e21ad030e5f8ac5dc61bf93160128e53d98ef0be41dbe6dbf4a6",
418-
"url": "https://jcenter.bintray.com/com/esotericsoftware/kryo/3.0.3/kryo-3.0.3-sources.jar"
415+
"sha256": "c26d03e45c3840341a1e5ac953f1fa1e3c7c958eb9e129b5014cadff88663e5b",
416+
"url": "https://jcenter.bintray.com/com/esotericsoftware/kryo/5.0.0-RC9/kryo-5.0.0-RC9-sources.jar"
419417
},
420418
{
421-
"coord": "com.esotericsoftware:minlog:1.3.0",
419+
"coord": "com.esotericsoftware:minlog:1.3.1",
422420
"dependencies": [],
423421
"directDependencies": [],
424-
"file": "v1/https/jcenter.bintray.com/com/esotericsoftware/minlog/1.3.0/minlog-1.3.0.jar",
422+
"file": "v1/https/jcenter.bintray.com/com/esotericsoftware/minlog/1.3.1/minlog-1.3.1.jar",
425423
"mirror_urls": [
426-
"https://jcenter.bintray.com/com/esotericsoftware/minlog/1.3.0/minlog-1.3.0.jar",
427-
"https://maven.google.com/com/esotericsoftware/minlog/1.3.0/minlog-1.3.0.jar",
428-
"https://repo1.maven.org/maven2/com/esotericsoftware/minlog/1.3.0/minlog-1.3.0.jar"
424+
"https://jcenter.bintray.com/com/esotericsoftware/minlog/1.3.1/minlog-1.3.1.jar",
425+
"https://maven.google.com/com/esotericsoftware/minlog/1.3.1/minlog-1.3.1.jar",
426+
"https://repo1.maven.org/maven2/com/esotericsoftware/minlog/1.3.1/minlog-1.3.1.jar"
429427
],
430-
"sha256": "f7b399d3a5478a4f3e0d98bd1c9f47766119c66414bc33aa0f6cde0066f24cc2",
431-
"url": "https://jcenter.bintray.com/com/esotericsoftware/minlog/1.3.0/minlog-1.3.0.jar"
428+
"sha256": "5d4d632cfbebfe0a7644501cc303570b691406181bee65e9916b921c767d7c72",
429+
"url": "https://jcenter.bintray.com/com/esotericsoftware/minlog/1.3.1/minlog-1.3.1.jar"
432430
},
433431
{
434-
"coord": "com.esotericsoftware:minlog:jar:sources:1.3.0",
432+
"coord": "com.esotericsoftware:minlog:jar:sources:1.3.1",
435433
"dependencies": [],
436434
"directDependencies": [],
437-
"file": "v1/https/jcenter.bintray.com/com/esotericsoftware/minlog/1.3.0/minlog-1.3.0-sources.jar",
435+
"file": "v1/https/jcenter.bintray.com/com/esotericsoftware/minlog/1.3.1/minlog-1.3.1-sources.jar",
438436
"mirror_urls": [
439-
"https://jcenter.bintray.com/com/esotericsoftware/minlog/1.3.0/minlog-1.3.0-sources.jar",
440-
"https://maven.google.com/com/esotericsoftware/minlog/1.3.0/minlog-1.3.0-sources.jar",
441-
"https://repo1.maven.org/maven2/com/esotericsoftware/minlog/1.3.0/minlog-1.3.0-sources.jar"
437+
"https://jcenter.bintray.com/com/esotericsoftware/minlog/1.3.1/minlog-1.3.1-sources.jar",
438+
"https://maven.google.com/com/esotericsoftware/minlog/1.3.1/minlog-1.3.1-sources.jar",
439+
"https://repo1.maven.org/maven2/com/esotericsoftware/minlog/1.3.1/minlog-1.3.1-sources.jar"
442440
],
443-
"sha256": "99872e1e68874771d77bf3131620bf656b541fa993d3f6e9d29b9f03ae423d17",
444-
"url": "https://jcenter.bintray.com/com/esotericsoftware/minlog/1.3.0/minlog-1.3.0-sources.jar"
441+
"sha256": "fdaf83a8c51295eff3a8109473ce7b213582738f71593e16b1efa012ff1f99b5",
442+
"url": "https://jcenter.bintray.com/com/esotericsoftware/minlog/1.3.1/minlog-1.3.1-sources.jar"
445443
},
446444
{
447-
"coord": "com.esotericsoftware:reflectasm:1.10.1",
448-
"dependencies": [
449-
"org.ow2.asm:asm:5.0.4"
450-
],
451-
"directDependencies": [
452-
"org.ow2.asm:asm:5.0.4"
453-
],
454-
"file": "v1/https/jcenter.bintray.com/com/esotericsoftware/reflectasm/1.10.1/reflectasm-1.10.1.jar",
445+
"coord": "com.esotericsoftware:reflectasm:1.11.8",
446+
"dependencies": [],
447+
"directDependencies": [],
448+
"file": "v1/https/jcenter.bintray.com/com/esotericsoftware/reflectasm/1.11.8/reflectasm-1.11.8.jar",
455449
"mirror_urls": [
456-
"https://jcenter.bintray.com/com/esotericsoftware/reflectasm/1.10.1/reflectasm-1.10.1.jar",
457-
"https://maven.google.com/com/esotericsoftware/reflectasm/1.10.1/reflectasm-1.10.1.jar",
458-
"https://repo1.maven.org/maven2/com/esotericsoftware/reflectasm/1.10.1/reflectasm-1.10.1.jar"
450+
"https://jcenter.bintray.com/com/esotericsoftware/reflectasm/1.11.8/reflectasm-1.11.8.jar",
451+
"https://maven.google.com/com/esotericsoftware/reflectasm/1.11.8/reflectasm-1.11.8.jar",
452+
"https://repo1.maven.org/maven2/com/esotericsoftware/reflectasm/1.11.8/reflectasm-1.11.8.jar"
459453
],
460-
"sha256": "94867942701229aead2b99cfbfdb68ea0afe4ec6fb943e5a10cb875f6e94f5b4",
461-
"url": "https://jcenter.bintray.com/com/esotericsoftware/reflectasm/1.10.1/reflectasm-1.10.1.jar"
454+
"sha256": "d91dc2db686c0389763ae2253e43cfd1c7e175efcceeb3c59778d6deb86bef90",
455+
"url": "https://jcenter.bintray.com/com/esotericsoftware/reflectasm/1.11.8/reflectasm-1.11.8.jar"
462456
},
463457
{
464-
"coord": "com.esotericsoftware:reflectasm:jar:sources:1.10.1",
465-
"dependencies": [
466-
"org.ow2.asm:asm:jar:sources:5.0.4"
467-
],
468-
"directDependencies": [
469-
"org.ow2.asm:asm:jar:sources:5.0.4"
470-
],
471-
"file": "v1/https/jcenter.bintray.com/com/esotericsoftware/reflectasm/1.10.1/reflectasm-1.10.1-sources.jar",
458+
"coord": "com.esotericsoftware:reflectasm:jar:sources:1.11.8",
459+
"dependencies": [],
460+
"directDependencies": [],
461+
"file": "v1/https/jcenter.bintray.com/com/esotericsoftware/reflectasm/1.11.8/reflectasm-1.11.8-sources.jar",
472462
"mirror_urls": [
473-
"https://jcenter.bintray.com/com/esotericsoftware/reflectasm/1.10.1/reflectasm-1.10.1-sources.jar",
474-
"https://maven.google.com/com/esotericsoftware/reflectasm/1.10.1/reflectasm-1.10.1-sources.jar",
475-
"https://repo1.maven.org/maven2/com/esotericsoftware/reflectasm/1.10.1/reflectasm-1.10.1-sources.jar"
463+
"https://jcenter.bintray.com/com/esotericsoftware/reflectasm/1.11.8/reflectasm-1.11.8-sources.jar",
464+
"https://maven.google.com/com/esotericsoftware/reflectasm/1.11.8/reflectasm-1.11.8-sources.jar",
465+
"https://repo1.maven.org/maven2/com/esotericsoftware/reflectasm/1.11.8/reflectasm-1.11.8-sources.jar"
476466
],
477-
"sha256": "5d46267d7130e2d5963472dbb2a975ae764ec9f616c1c9b7e7961fcc600d38a0",
478-
"url": "https://jcenter.bintray.com/com/esotericsoftware/reflectasm/1.10.1/reflectasm-1.10.1-sources.jar"
467+
"sha256": "f5261244cee0661d1dc0ae4c465e13654e3ee787ce32e25e784f32b51d13ce58",
468+
"url": "https://jcenter.bintray.com/com/esotericsoftware/reflectasm/1.11.8/reflectasm-1.11.8-sources.jar"
479469
},
480470
{
481471
"coord": "com.fasterxml.jackson.core:jackson-annotations:2.8.8",

release/maven/heron-with-kryo.template.pom

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/ma
3636
<dependency>
3737
<groupId>com.esotericsoftware</groupId>
3838
<artifactId>kryo</artifactId>
39-
<version>3.0.3</version>
39+
<version>5.0.0-RC9</version>
4040
<scope>compile</scope>
4141
</dependency>
4242
</dependencies>

storm-compatibility/v0.10.2/src/java/backtype/storm/serialization/HeronPluggableSerializerDelegate.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public void initialize(Map config) {
4444

4545
@Override
4646
public byte[] serialize(Object object) {
47-
kryoOut.clear();
47+
kryoOut.reset();
4848
kryo.writeClassAndObject(kryoOut, object);
4949
return kryoOut.toBytes();
5050
}

storm-compatibility/v0.10.2/src/java/backtype/storm/serialization/SerializationFactory.java

+3-6
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,6 @@
3535
import com.esotericsoftware.kryo.serializers.DefaultSerializers.BigIntegerSerializer;
3636

3737
import backtype.storm.Config;
38-
import backtype.storm.serialization.types.ArrayListSerializer;
39-
import backtype.storm.serialization.types.HashMapSerializer;
40-
import backtype.storm.serialization.types.HashSetSerializer;
4138
import backtype.storm.tuple.Values;
4239
import backtype.storm.utils.ListDelegate;
4340
import backtype.storm.utils.Utils;
@@ -60,9 +57,9 @@ public static Kryo getKryo(Map conf) {
6057
Kryo k = kryoFactory.getKryo(conf);
6158
k.register(byte[].class);
6259
k.register(ListDelegate.class);
63-
k.register(ArrayList.class, new ArrayListSerializer());
64-
k.register(HashMap.class, new HashMapSerializer());
65-
k.register(HashSet.class, new HashSetSerializer());
60+
k.register(ArrayList.class);
61+
k.register(HashMap.class);
62+
k.register(HashSet.class);
6663
k.register(BigInteger.class, new BigIntegerSerializer());
6764
// k.register(TransactionAttempt.class);
6865
k.register(Values.class);

storm-compatibility/v0.10.2/src/java/backtype/storm/serialization/types/ArrayListSerializer.java

-36
This file was deleted.

storm-compatibility/v0.10.2/src/java/backtype/storm/serialization/types/HashMapSerializer.java

-36
This file was deleted.

0 commit comments

Comments
 (0)