From 432e67834cd0bcc6690d511ea98b98e36788d67d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?As=C4=B1m=20Arslan?= Date: Tue, 14 Feb 2017 19:00:24 +0300 Subject: [PATCH] custom serialization look-up fail for classes with subtype --- hazelcast/serialization/base.py | 2 +- run-tests.sh | 4 ++-- start-rc.sh | 4 ++-- tests/serialization/serialization_test.py | 7 +++++++ 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/hazelcast/serialization/base.py b/hazelcast/serialization/base.py index c43458441e..483c745059 100644 --- a/hazelcast/serialization/base.py +++ b/hazelcast/serialization/base.py @@ -297,7 +297,7 @@ def safe_register_serializer(self, stream_serializer, obj_type=None): return current is None def register_from_super_type(self, obj_type, super_type): - serializer = self._type_dict[super_type] + serializer = self._type_dict.get(super_type, None) if serializer is not None: self.safe_register_serializer(serializer, obj_type) return serializer diff --git a/run-tests.sh b/run-tests.sh index 56a9bc62c8..3196717a93 100644 --- a/run-tests.sh +++ b/run-tests.sh @@ -6,9 +6,9 @@ else USER="" fi -HAZELCAST_VERSION="3.7.5-SNAPSHOT" +HAZELCAST_VERSION="3.8-SNAPSHOT" -HAZELCAST_RC_VERSION="0.1-SNAPSHOT" +HAZELCAST_RC_VERSION="0.2-SNAPSHOT" SNAPSHOT_REPO="https://oss.sonatype.org/content/repositories/snapshots" RELEASE_REPO="http://repo1.maven.apache.org/maven2" diff --git a/start-rc.sh b/start-rc.sh index 1a5aca8a33..20b9f2a81e 100644 --- a/start-rc.sh +++ b/start-rc.sh @@ -6,9 +6,9 @@ else USER="" fi -HAZELCAST_VERSION="3.7.5-SNAPSHOT" +HAZELCAST_VERSION="3.8-SNAPSHOT" -HAZELCAST_RC_VERSION="0.1-SNAPSHOT" +HAZELCAST_RC_VERSION="0.2-SNAPSHOT" SNAPSHOT_REPO="https://oss.sonatype.org/content/repositories/snapshots" RELEASE_REPO="http://repo1.maven.apache.org/maven2" diff --git a/tests/serialization/serialization_test.py b/tests/serialization/serialization_test.py index f1f209a3ad..aa7cb003fe 100644 --- a/tests/serialization/serialization_test.py +++ b/tests/serialization/serialization_test.py @@ -55,6 +55,13 @@ def test_python_pickle_serialization(self): obj2 = self.service.to_object(data) self.assertEqual(obj, obj2) + def test_python_pickle_serialization_with_super_type(self): + obj = {"key-%d" % x: "value-%d" % x for x in xrange(0, 1000)} + data = self.service.to_data(obj) + + obj2 = self.service.to_object(data) + self.assertEqual(obj, obj2) + def test_null_data(self): data = Data() obj = self.service.to_object(data)