You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ni...@apache.org on 2018/11/30 18:46:16 UTC
ignite git commit: IGNITE-9794 Handle UnregisteredBinaryTypeException
on metadata registration under topology lock. - Fixes #4916.
Repository: ignite
Updated Branches:
refs/heads/ignite-2.7 c87e67069 -> 9c2ba403f
IGNITE-9794 Handle UnregisteredBinaryTypeException on metadata registration under topology lock. - Fixes #4916.
Signed-off-by: Dmitriy Govorukhin <dm...@gmail.com>
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/9c2ba403
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/9c2ba403
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/9c2ba403
Branch: refs/heads/ignite-2.7
Commit: 9c2ba403fae5079201e9df6bc7b7eea5bacdf4c0
Parents: c87e670
Author: Denis Mekhanikov <dm...@gmail.com>
Authored: Fri Oct 5 16:13:45 2018 +0300
Committer: Nikolay Izhikov <ni...@apache.org>
Committed: Fri Nov 30 21:37:28 2018 +0300
----------------------------------------------------------------------
.../internal/binary/BinaryFieldAccessor.java | 3 +-
...ataRegistrationInsideEntryProcessorTest.java | 49 +++++++++++---------
2 files changed, 30 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9c2ba403/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryFieldAccessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryFieldAccessor.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryFieldAccessor.java
index 87c4f3e..7d138a3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryFieldAccessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryFieldAccessor.java
@@ -26,6 +26,7 @@ import java.util.Date;
import java.util.Map;
import java.util.UUID;
import org.apache.ignite.binary.BinaryObjectException;
+import org.apache.ignite.internal.UnregisteredBinaryTypeException;
import org.apache.ignite.internal.UnregisteredClassException;
import org.apache.ignite.internal.util.GridUnsafe;
import org.apache.ignite.internal.util.typedef.F;
@@ -156,7 +157,7 @@ public abstract class BinaryFieldAccessor {
write0(obj, writer);
}
catch (Exception ex) {
- if (ex instanceof UnregisteredClassException)
+ if (ex instanceof UnregisteredClassException || ex instanceof UnregisteredBinaryTypeException)
throw ex;
if (S.INCLUDE_SENSITIVE && !F.isEmpty(name))
http://git-wip-us.apache.org/repos/asf/ignite/blob/9c2ba403/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/BinaryMetadataRegistrationInsideEntryProcessorTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/BinaryMetadataRegistrationInsideEntryProcessorTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/BinaryMetadataRegistrationInsideEntryProcessorTest.java
index 73dae4b..c7c3757 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/BinaryMetadataRegistrationInsideEntryProcessorTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/BinaryMetadataRegistrationInsideEntryProcessorTest.java
@@ -17,7 +17,7 @@
package org.apache.ignite.internal.processors.cache;
-import java.util.Arrays;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import javax.cache.processor.EntryProcessor;
@@ -40,7 +40,7 @@ public class BinaryMetadataRegistrationInsideEntryProcessorTest extends GridComm
/** {@inheritDoc} */
@Override protected IgniteConfiguration getConfiguration() {
TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder()
- .setAddresses(Arrays.asList("127.0.0.1:47500..47509"));
+ .setAddresses(Collections.singletonList("127.0.0.1:47500..47509"));
return new IgniteConfiguration()
.setDiscoverySpi(new TcpDiscoverySpi().setIpFinder(ipFinder))
@@ -60,9 +60,9 @@ public class BinaryMetadataRegistrationInsideEntryProcessorTest extends GridComm
cache.invoke(i, new CustomProcessor());
}
catch (Exception e) {
- Map<Integer, CustomObj> value = cache.get(1);
+ Map<Integer, CustomObj> val = cache.get(1);
- if ((value != null) && (value.get(1) != null) && (value.get(1).getObj() == CustomEnum.ONE))
+ if ((val != null) && (val.get(1).anEnum == CustomEnum.ONE) && val.get(1).obj.data.equals("test"))
System.out.println("Data was saved.");
else
System.out.println("Data wasn't saved.");
@@ -82,7 +82,7 @@ public class BinaryMetadataRegistrationInsideEntryProcessorTest extends GridComm
Object... objects) throws EntryProcessorException {
Map<Integer, CustomObj> map = new HashMap<>();
- map.put(1, new CustomObj(CustomEnum.ONE));
+ map.put(1, new CustomObj(new CustomInnerObject("test"), CustomEnum.ONE));
entry.setValue(map);
@@ -95,27 +95,20 @@ public class BinaryMetadataRegistrationInsideEntryProcessorTest extends GridComm
*/
private static class CustomObj {
/** Object. */
- private final Object obj;
+ private final CustomInnerObject obj;
+
+ /** Enum. */
+ private final CustomEnum anEnum;
/**
* @param obj Object.
+ * @param anEnum Enum.
*/
- public CustomObj(Object obj) {
+ CustomObj(
+ CustomInnerObject obj,
+ CustomEnum anEnum) {
this.obj = obj;
- }
-
- /**
- * @param val Value.
- */
- public static CustomObj valueOf(int val) {
- return new CustomObj(val);
- }
-
- /**
- *
- */
- public Object getObj() {
- return obj;
+ this.anEnum = anEnum;
}
}
@@ -138,4 +131,18 @@ public class BinaryMetadataRegistrationInsideEntryProcessorTest extends GridComm
}
}
+ /**
+ *
+ */
+ private static class CustomInnerObject {
+ /** */
+ private final String data;
+
+ /**
+ * @param data Data.
+ */
+ CustomInnerObject(String data) {
+ this.data = data;
+ }
+ }
}
\ No newline at end of file