You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2015/04/07 10:45:23 UTC
[11/50] [abbrv] incubator-ignite git commit: ignite-sprint-3 -
portable class fix
ignite-sprint-3 - portable class fix
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/a7ba0bea
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/a7ba0bea
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/a7ba0bea
Branch: refs/heads/ignite-665
Commit: a7ba0bea463648031bb7b2afb626a63ef2215f96
Parents: 5421701
Author: S.Vladykin <sv...@gridgain.com>
Authored: Mon Apr 6 15:55:21 2015 +0300
Committer: S.Vladykin <sv...@gridgain.com>
Committed: Mon Apr 6 15:55:21 2015 +0300
----------------------------------------------------------------------
.../ignite/internal/processors/query/GridQueryProcessor.java | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a7ba0bea/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
index ba8479f..0ea0b99 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
@@ -402,7 +402,9 @@ public class GridQueryProcessor extends GridProcessorAdapter {
TypeId id;
- if (ctx.cacheObjects().isPortableObject(val)) {
+ boolean portableVal = ctx.cacheObjects().isPortableObject(val);
+
+ if (portableVal) {
int typeId = ctx.cacheObjects().typeId(val);
id = new TypeId(space, typeId);
@@ -415,12 +417,12 @@ public class GridQueryProcessor extends GridProcessorAdapter {
if (desc == null || !desc.registered())
return;
- if (!desc.valueClass().isAssignableFrom(valCls))
+ if (!portableVal && !desc.valueClass().isAssignableFrom(valCls))
throw new IgniteCheckedException("Failed to update index due to class name conflict" +
"(multiple classes with same simple name are stored in the same cache) " +
"[expCls=" + desc.valueClass().getName() + ", actualCls=" + valCls.getName() + ']');
- if (!desc.keyClass().isAssignableFrom(key.getClass()))
+ if (!ctx.cacheObjects().isPortableObject(key) && !desc.keyClass().isAssignableFrom(key.getClass()))
throw new IgniteCheckedException("Failed to update index, incorrect key class [expCls=" +
desc.keyClass().getName() + ", actualCls=" + key.getClass().getName() + "]");