[15/24] ignite git commit: ignite-1282 - Fixing tests.
ignite-1282 - Fixing tests. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/8e1d6c0e Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8e1d6c0e Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8e1d6c0e Branch: refs/heads/ignite-1.5 Commit: 8e1d6c0e8fad981fc48dd0d149fb1abf30b1a7da Parents: 385668b Author: Alexey GoncharukAuthored: Tue Nov 24 21:39:17 2015 +0300 Committer: Alexey Goncharuk Committed: Tue Nov 24 21:39:17 2015 +0300 -- .../internal/portable/PortableContext.java | 11 ++ .../cache/affinity/GridCacheAffinityImpl.java | 3 ++- .../processors/query/GridQueryProcessor.java| 22 +-- .../GridPortableAffinityKeySelfTest.java| 12 +- .../IgniteCacheAbstractFieldsQuerySelfTest.java | 23 5 files changed, 62 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/8e1d6c0e/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java index 1ff459e..765babc 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java @@ -302,6 +302,17 @@ public class PortableContext implements Externalizable { for (TypeDescriptor desc : descs.descriptors()) { registerUserType(desc.clsName, desc.idMapper, desc.serializer, desc.affKeyFieldName); } + +BinaryInternalIdMapper dfltMapper = BinaryInternalIdMapper.create(globalIdMapper); + +// Put affinity field names for unconfigured types. +for (Map.Entry entry : affFields.entrySet()) { +String typeName = entry.getKey(); + +int typeId = dfltMapper.typeId(typeName); + +affKeyFieldNames.putIfAbsent(typeId, entry.getValue()); +} } /** http://git-wip-us.apache.org/repos/asf/ignite/blob/8e1d6c0e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java index 33ab3f4..b9045e9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java @@ -24,6 +24,7 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; import org.apache.ignite.IgniteLogger; +import org.apache.ignite.binary.BinaryObject; import org.apache.ignite.cache.affinity.Affinity; import org.apache.ignite.cluster.ClusterNode; import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion; @@ -150,7 +151,7 @@ public class GridCacheAffinityImpl implements Affinity { @Override public Object affinityKey(K key) { A.notNull(key, "key"); -if (key instanceof CacheObject) +if (key instanceof CacheObject && !(key instanceof BinaryObject)) key = ((CacheObject)key).value(cctx.cacheObjectContext(), false); return cctx.config().getAffinityMapper().affinityKey(key); http://git-wip-us.apache.org/repos/asf/ignite/blob/8e1d6c0e/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 d0eeeb1..c560e4e 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 @@ -1540,18 +1540,26 @@ public class GridQueryProcessor extends GridProcessorAdapter { String alias = aliases.get(fullName.toString()); -ClassProperty tmp; +StringBuilder bld = new StringBuilder("get"); -try { -StringBuilder bld = new StringBuilder("get"); +bld.append(prop); + +bld.setCharAt(3,
[15/34] ignite git commit: ignite-1282 - Fixing tests.
ignite-1282 - Fixing tests. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/8e1d6c0e Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8e1d6c0e Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8e1d6c0e Branch: refs/heads/ignite-1956 Commit: 8e1d6c0e8fad981fc48dd0d149fb1abf30b1a7da Parents: 385668b Author: Alexey GoncharukAuthored: Tue Nov 24 21:39:17 2015 +0300 Committer: Alexey Goncharuk Committed: Tue Nov 24 21:39:17 2015 +0300 -- .../internal/portable/PortableContext.java | 11 ++ .../cache/affinity/GridCacheAffinityImpl.java | 3 ++- .../processors/query/GridQueryProcessor.java| 22 +-- .../GridPortableAffinityKeySelfTest.java| 12 +- .../IgniteCacheAbstractFieldsQuerySelfTest.java | 23 5 files changed, 62 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/8e1d6c0e/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java index 1ff459e..765babc 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java @@ -302,6 +302,17 @@ public class PortableContext implements Externalizable { for (TypeDescriptor desc : descs.descriptors()) { registerUserType(desc.clsName, desc.idMapper, desc.serializer, desc.affKeyFieldName); } + +BinaryInternalIdMapper dfltMapper = BinaryInternalIdMapper.create(globalIdMapper); + +// Put affinity field names for unconfigured types. +for (Map.Entry entry : affFields.entrySet()) { +String typeName = entry.getKey(); + +int typeId = dfltMapper.typeId(typeName); + +affKeyFieldNames.putIfAbsent(typeId, entry.getValue()); +} } /** http://git-wip-us.apache.org/repos/asf/ignite/blob/8e1d6c0e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java index 33ab3f4..b9045e9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java @@ -24,6 +24,7 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; import org.apache.ignite.IgniteLogger; +import org.apache.ignite.binary.BinaryObject; import org.apache.ignite.cache.affinity.Affinity; import org.apache.ignite.cluster.ClusterNode; import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion; @@ -150,7 +151,7 @@ public class GridCacheAffinityImpl implements Affinity { @Override public Object affinityKey(K key) { A.notNull(key, "key"); -if (key instanceof CacheObject) +if (key instanceof CacheObject && !(key instanceof BinaryObject)) key = ((CacheObject)key).value(cctx.cacheObjectContext(), false); return cctx.config().getAffinityMapper().affinityKey(key); http://git-wip-us.apache.org/repos/asf/ignite/blob/8e1d6c0e/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 d0eeeb1..c560e4e 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 @@ -1540,18 +1540,26 @@ public class GridQueryProcessor extends GridProcessorAdapter { String alias = aliases.get(fullName.toString()); -ClassProperty tmp; +StringBuilder bld = new StringBuilder("get"); -try { -StringBuilder bld = new StringBuilder("get"); +bld.append(prop); + +bld.setCharAt(3,
[18/38] ignite git commit: ignite-1282 - Fixing tests.
ignite-1282 - Fixing tests. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/9c1b7656 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/9c1b7656 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/9c1b7656 Branch: refs/heads/ignite-1537 Commit: 9c1b7656a39496f03950158bc7fc2305eacdc6d1 Parents: 22326cc Author: Alexey GoncharukAuthored: Wed Nov 25 12:25:47 2015 +0300 Committer: Alexey Goncharuk Committed: Wed Nov 25 12:25:47 2015 +0300 -- .../builder/BinaryObjectBuilderImpl.java| 9 ++ .../processors/query/GridQueryProcessor.java| 26 +++-- .../portable/BinaryObjectBuilderSelfTest.java | 30 .../cache/IgniteCacheAbstractQuerySelfTest.java | 2 +- 4 files changed, 51 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/9c1b7656/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java index b2fb7d8..d330c72 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java @@ -31,7 +31,6 @@ import org.apache.ignite.internal.portable.PortableContext; import org.apache.ignite.internal.portable.PortableSchema; import org.apache.ignite.internal.portable.PortableSchemaRegistry; import org.apache.ignite.internal.portable.PortableUtils; -import org.apache.ignite.internal.util.GridArgumentCheck; import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.lang.IgniteBiTuple; @@ -492,15 +491,15 @@ public class BinaryObjectBuilderImpl implements BinaryObjectBuilder { } /** {@inheritDoc} */ -@Override public BinaryObjectBuilder setField(String name, Object val) { -GridArgumentCheck.notNull(val, name); +@Override public BinaryObjectBuilder setField(String name, Object val0) { +Object val = val0 == null ? new PortableValueWithType(PortableUtils.typeByClass(Object.class), null) : val0; if (assignedVals == null) assignedVals = new LinkedHashMap<>(); Object oldVal = assignedVals.put(name, val); -if (oldVal instanceof PortableValueWithType) { +if (oldVal instanceof PortableValueWithType && val0 != null) { ((PortableValueWithType)oldVal).value(val); assignedVals.put(name, oldVal); @@ -514,8 +513,6 @@ public class BinaryObjectBuilderImpl implements BinaryObjectBuilder { if (assignedVals == null) assignedVals = new LinkedHashMap<>(); -//int fldId = ctx.fieldId(typeId, fldName); - assignedVals.put(name, new PortableValueWithType(PortableUtils.typeByClass(type), val)); return this; http://git-wip-us.apache.org/repos/asf/ignite/blob/9c1b7656/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 c560e4e..90bb9a6 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 @@ -1546,28 +1546,36 @@ public class GridQueryProcessor extends GridProcessorAdapter { bld.setCharAt(3, Character.toUpperCase(bld.charAt(3))); -String[] mtdNames = new String[] {bld.toString(), prop}; - ClassProperty tmp = null; -for (String mtdName : mtdNames) { +try { +tmp = new ClassProperty(cls.getMethod(bld.toString()), key, alias); +} +catch (NoSuchMethodException ignore) { +// No-op. +} + +if (tmp == null) { try { -tmp = new ClassProperty(cls.getMethod(mtdName), key, alias); +tmp = new ClassProperty(cls.getDeclaredField(prop), key, alias); } -catch (NoSuchMethodException ignore) { -// No-op, will try another method or field. +
[15/38] ignite git commit: ignite-1282 - Fixing tests.
ignite-1282 - Fixing tests. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/8e1d6c0e Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8e1d6c0e Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8e1d6c0e Branch: refs/heads/ignite-1537 Commit: 8e1d6c0e8fad981fc48dd0d149fb1abf30b1a7da Parents: 385668b Author: Alexey GoncharukAuthored: Tue Nov 24 21:39:17 2015 +0300 Committer: Alexey Goncharuk Committed: Tue Nov 24 21:39:17 2015 +0300 -- .../internal/portable/PortableContext.java | 11 ++ .../cache/affinity/GridCacheAffinityImpl.java | 3 ++- .../processors/query/GridQueryProcessor.java| 22 +-- .../GridPortableAffinityKeySelfTest.java| 12 +- .../IgniteCacheAbstractFieldsQuerySelfTest.java | 23 5 files changed, 62 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/8e1d6c0e/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java index 1ff459e..765babc 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java @@ -302,6 +302,17 @@ public class PortableContext implements Externalizable { for (TypeDescriptor desc : descs.descriptors()) { registerUserType(desc.clsName, desc.idMapper, desc.serializer, desc.affKeyFieldName); } + +BinaryInternalIdMapper dfltMapper = BinaryInternalIdMapper.create(globalIdMapper); + +// Put affinity field names for unconfigured types. +for (Map.Entry entry : affFields.entrySet()) { +String typeName = entry.getKey(); + +int typeId = dfltMapper.typeId(typeName); + +affKeyFieldNames.putIfAbsent(typeId, entry.getValue()); +} } /** http://git-wip-us.apache.org/repos/asf/ignite/blob/8e1d6c0e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java index 33ab3f4..b9045e9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java @@ -24,6 +24,7 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; import org.apache.ignite.IgniteLogger; +import org.apache.ignite.binary.BinaryObject; import org.apache.ignite.cache.affinity.Affinity; import org.apache.ignite.cluster.ClusterNode; import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion; @@ -150,7 +151,7 @@ public class GridCacheAffinityImpl implements Affinity { @Override public Object affinityKey(K key) { A.notNull(key, "key"); -if (key instanceof CacheObject) +if (key instanceof CacheObject && !(key instanceof BinaryObject)) key = ((CacheObject)key).value(cctx.cacheObjectContext(), false); return cctx.config().getAffinityMapper().affinityKey(key); http://git-wip-us.apache.org/repos/asf/ignite/blob/8e1d6c0e/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 d0eeeb1..c560e4e 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 @@ -1540,18 +1540,26 @@ public class GridQueryProcessor extends GridProcessorAdapter { String alias = aliases.get(fullName.toString()); -ClassProperty tmp; +StringBuilder bld = new StringBuilder("get"); -try { -StringBuilder bld = new StringBuilder("get"); +bld.append(prop); + +bld.setCharAt(3,
[18/43] ignite git commit: ignite-1282 - Fixing tests.
ignite-1282 - Fixing tests. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/9c1b7656 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/9c1b7656 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/9c1b7656 Branch: refs/heads/ignite-1.5-cache-get-opts Commit: 9c1b7656a39496f03950158bc7fc2305eacdc6d1 Parents: 22326cc Author: Alexey GoncharukAuthored: Wed Nov 25 12:25:47 2015 +0300 Committer: Alexey Goncharuk Committed: Wed Nov 25 12:25:47 2015 +0300 -- .../builder/BinaryObjectBuilderImpl.java| 9 ++ .../processors/query/GridQueryProcessor.java| 26 +++-- .../portable/BinaryObjectBuilderSelfTest.java | 30 .../cache/IgniteCacheAbstractQuerySelfTest.java | 2 +- 4 files changed, 51 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/9c1b7656/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java index b2fb7d8..d330c72 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java @@ -31,7 +31,6 @@ import org.apache.ignite.internal.portable.PortableContext; import org.apache.ignite.internal.portable.PortableSchema; import org.apache.ignite.internal.portable.PortableSchemaRegistry; import org.apache.ignite.internal.portable.PortableUtils; -import org.apache.ignite.internal.util.GridArgumentCheck; import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.lang.IgniteBiTuple; @@ -492,15 +491,15 @@ public class BinaryObjectBuilderImpl implements BinaryObjectBuilder { } /** {@inheritDoc} */ -@Override public BinaryObjectBuilder setField(String name, Object val) { -GridArgumentCheck.notNull(val, name); +@Override public BinaryObjectBuilder setField(String name, Object val0) { +Object val = val0 == null ? new PortableValueWithType(PortableUtils.typeByClass(Object.class), null) : val0; if (assignedVals == null) assignedVals = new LinkedHashMap<>(); Object oldVal = assignedVals.put(name, val); -if (oldVal instanceof PortableValueWithType) { +if (oldVal instanceof PortableValueWithType && val0 != null) { ((PortableValueWithType)oldVal).value(val); assignedVals.put(name, oldVal); @@ -514,8 +513,6 @@ public class BinaryObjectBuilderImpl implements BinaryObjectBuilder { if (assignedVals == null) assignedVals = new LinkedHashMap<>(); -//int fldId = ctx.fieldId(typeId, fldName); - assignedVals.put(name, new PortableValueWithType(PortableUtils.typeByClass(type), val)); return this; http://git-wip-us.apache.org/repos/asf/ignite/blob/9c1b7656/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 c560e4e..90bb9a6 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 @@ -1546,28 +1546,36 @@ public class GridQueryProcessor extends GridProcessorAdapter { bld.setCharAt(3, Character.toUpperCase(bld.charAt(3))); -String[] mtdNames = new String[] {bld.toString(), prop}; - ClassProperty tmp = null; -for (String mtdName : mtdNames) { +try { +tmp = new ClassProperty(cls.getMethod(bld.toString()), key, alias); +} +catch (NoSuchMethodException ignore) { +// No-op. +} + +if (tmp == null) { try { -tmp = new ClassProperty(cls.getMethod(mtdName), key, alias); +tmp = new ClassProperty(cls.getDeclaredField(prop), key, alias); } -catch (NoSuchMethodException ignore) { -// No-op, will try another method or field. +
[19/43] ignite git commit: ignite-1282 - Fixing tests.
ignite-1282 - Fixing tests. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/809a4426 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/809a4426 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/809a4426 Branch: refs/heads/ignite-1.5-cache-get-opts Commit: 809a44260d10fb394767ebb1df66857c22cc8cbd Parents: 9c1b765 Author: Alexey GoncharukAuthored: Wed Nov 25 15:16:23 2015 +0300 Committer: Alexey Goncharuk Committed: Wed Nov 25 15:16:23 2015 +0300 -- .../apache/ignite/cache/CacheTypeMetadata.java | 2 ++ .../processors/cache/GridCacheEventManager.java | 38 ++-- 2 files changed, 37 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/809a4426/modules/core/src/main/java/org/apache/ignite/cache/CacheTypeMetadata.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/cache/CacheTypeMetadata.java b/modules/core/src/main/java/org/apache/ignite/cache/CacheTypeMetadata.java index 2b7205b..76dea6a 100644 --- a/modules/core/src/main/java/org/apache/ignite/cache/CacheTypeMetadata.java +++ b/modules/core/src/main/java/org/apache/ignite/cache/CacheTypeMetadata.java @@ -33,7 +33,9 @@ import org.apache.ignite.lang.IgniteBiTuple; /** * Cache type metadata need for configuration of indexes or automatic persistence. + * @deprecated Use {@link org.apache.ignite.cache.QueryEntity} instead. */ +@Deprecated public class CacheTypeMetadata implements Serializable { /** */ private static final long serialVersionUID = 0L; http://git-wip-us.apache.org/repos/asf/ignite/blob/809a4426/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEventManager.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEventManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEventManager.java index afca43b..7ff3a99 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEventManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEventManager.java @@ -39,6 +39,9 @@ import static org.apache.ignite.events.EventType.EVT_CACHE_STOPPED; * Cache event manager. */ public class GridCacheEventManager extends GridCacheManagerAdapter { +/** Force keep binary flag. Will be set if event notification encountered exception during unmarshalling. */ +private boolean forceKeepBinary; + /** * Adds local event listener. * @@ -262,6 +265,35 @@ public class GridCacheEventManager extends GridCacheManagerAdapter { "(try to increase topology history size configuration property of configured " + "discovery SPI): " + evtNodeId); +keepPortable = keepPortable || forceKeepBinary; + +Object key0; +Object val0; +Object oldVal0; + +try { +key0 = cctx.cacheObjectContext().unwrapPortableIfNeeded(key, keepPortable, false); +val0 = cctx.cacheObjectContext().unwrapPortableIfNeeded(newVal, keepPortable, false); +oldVal0 = cctx.cacheObjectContext().unwrapPortableIfNeeded(oldVal, keepPortable, false); +} +catch (Exception e) { +if (!cctx.cacheObjectContext().processor().isPortableEnabled(cctx.config())) +throw e; + +if (log.isDebugEnabled()) +log.debug("Failed to unmarshall cache object value for the event notification: " + e); + +if (!forceKeepBinary) +LT.warn(log, null, "Failed to unmarshall cache object value for the event notification " + +"(all further notifications will keep binary object format)."); + +forceKeepBinary = true; + +key0 = cctx.cacheObjectContext().unwrapPortableIfNeeded(key, true, false); +val0 = cctx.cacheObjectContext().unwrapPortableIfNeeded(newVal, true, false); +oldVal0 = cctx.cacheObjectContext().unwrapPortableIfNeeded(oldVal, true, false); +} + cctx.gridEvents().record(new CacheEvent(cctx.name(), cctx.localNode(), evtNode, @@ -269,12 +301,12 @@ public class GridCacheEventManager extends GridCacheManagerAdapter { type, part, cctx.isNear(), -cctx.cacheObjectContext().unwrapPortableIfNeeded(key, keepPortable, false), +key0,
ignite git commit: ignite-1282 - Fixing tests.
Repository: ignite Updated Branches: refs/heads/ignite-1282 22326cc9e -> 9c1b7656a ignite-1282 - Fixing tests. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/9c1b7656 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/9c1b7656 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/9c1b7656 Branch: refs/heads/ignite-1282 Commit: 9c1b7656a39496f03950158bc7fc2305eacdc6d1 Parents: 22326cc Author: Alexey GoncharukAuthored: Wed Nov 25 12:25:47 2015 +0300 Committer: Alexey Goncharuk Committed: Wed Nov 25 12:25:47 2015 +0300 -- .../builder/BinaryObjectBuilderImpl.java| 9 ++ .../processors/query/GridQueryProcessor.java| 26 +++-- .../portable/BinaryObjectBuilderSelfTest.java | 30 .../cache/IgniteCacheAbstractQuerySelfTest.java | 2 +- 4 files changed, 51 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/9c1b7656/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java index b2fb7d8..d330c72 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/BinaryObjectBuilderImpl.java @@ -31,7 +31,6 @@ import org.apache.ignite.internal.portable.PortableContext; import org.apache.ignite.internal.portable.PortableSchema; import org.apache.ignite.internal.portable.PortableSchemaRegistry; import org.apache.ignite.internal.portable.PortableUtils; -import org.apache.ignite.internal.util.GridArgumentCheck; import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.lang.IgniteBiTuple; @@ -492,15 +491,15 @@ public class BinaryObjectBuilderImpl implements BinaryObjectBuilder { } /** {@inheritDoc} */ -@Override public BinaryObjectBuilder setField(String name, Object val) { -GridArgumentCheck.notNull(val, name); +@Override public BinaryObjectBuilder setField(String name, Object val0) { +Object val = val0 == null ? new PortableValueWithType(PortableUtils.typeByClass(Object.class), null) : val0; if (assignedVals == null) assignedVals = new LinkedHashMap<>(); Object oldVal = assignedVals.put(name, val); -if (oldVal instanceof PortableValueWithType) { +if (oldVal instanceof PortableValueWithType && val0 != null) { ((PortableValueWithType)oldVal).value(val); assignedVals.put(name, oldVal); @@ -514,8 +513,6 @@ public class BinaryObjectBuilderImpl implements BinaryObjectBuilder { if (assignedVals == null) assignedVals = new LinkedHashMap<>(); -//int fldId = ctx.fieldId(typeId, fldName); - assignedVals.put(name, new PortableValueWithType(PortableUtils.typeByClass(type), val)); return this; http://git-wip-us.apache.org/repos/asf/ignite/blob/9c1b7656/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 c560e4e..90bb9a6 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 @@ -1546,28 +1546,36 @@ public class GridQueryProcessor extends GridProcessorAdapter { bld.setCharAt(3, Character.toUpperCase(bld.charAt(3))); -String[] mtdNames = new String[] {bld.toString(), prop}; - ClassProperty tmp = null; -for (String mtdName : mtdNames) { +try { +tmp = new ClassProperty(cls.getMethod(bld.toString()), key, alias); +} +catch (NoSuchMethodException ignore) { +// No-op. +} + +if (tmp == null) { try { -tmp = new ClassProperty(cls.getMethod(mtdName), key, alias); +tmp = new ClassProperty(cls.getDeclaredField(prop), key, alias); } -catch (NoSuchMethodException ignore) {
ignite git commit: ignite-1282 - Fixing tests.
Repository: ignite Updated Branches: refs/heads/ignite-1282 9c1b7656a -> 809a44260 ignite-1282 - Fixing tests. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/809a4426 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/809a4426 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/809a4426 Branch: refs/heads/ignite-1282 Commit: 809a44260d10fb394767ebb1df66857c22cc8cbd Parents: 9c1b765 Author: Alexey GoncharukAuthored: Wed Nov 25 15:16:23 2015 +0300 Committer: Alexey Goncharuk Committed: Wed Nov 25 15:16:23 2015 +0300 -- .../apache/ignite/cache/CacheTypeMetadata.java | 2 ++ .../processors/cache/GridCacheEventManager.java | 38 ++-- 2 files changed, 37 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/809a4426/modules/core/src/main/java/org/apache/ignite/cache/CacheTypeMetadata.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/cache/CacheTypeMetadata.java b/modules/core/src/main/java/org/apache/ignite/cache/CacheTypeMetadata.java index 2b7205b..76dea6a 100644 --- a/modules/core/src/main/java/org/apache/ignite/cache/CacheTypeMetadata.java +++ b/modules/core/src/main/java/org/apache/ignite/cache/CacheTypeMetadata.java @@ -33,7 +33,9 @@ import org.apache.ignite.lang.IgniteBiTuple; /** * Cache type metadata need for configuration of indexes or automatic persistence. + * @deprecated Use {@link org.apache.ignite.cache.QueryEntity} instead. */ +@Deprecated public class CacheTypeMetadata implements Serializable { /** */ private static final long serialVersionUID = 0L; http://git-wip-us.apache.org/repos/asf/ignite/blob/809a4426/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEventManager.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEventManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEventManager.java index afca43b..7ff3a99 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEventManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEventManager.java @@ -39,6 +39,9 @@ import static org.apache.ignite.events.EventType.EVT_CACHE_STOPPED; * Cache event manager. */ public class GridCacheEventManager extends GridCacheManagerAdapter { +/** Force keep binary flag. Will be set if event notification encountered exception during unmarshalling. */ +private boolean forceKeepBinary; + /** * Adds local event listener. * @@ -262,6 +265,35 @@ public class GridCacheEventManager extends GridCacheManagerAdapter { "(try to increase topology history size configuration property of configured " + "discovery SPI): " + evtNodeId); +keepPortable = keepPortable || forceKeepBinary; + +Object key0; +Object val0; +Object oldVal0; + +try { +key0 = cctx.cacheObjectContext().unwrapPortableIfNeeded(key, keepPortable, false); +val0 = cctx.cacheObjectContext().unwrapPortableIfNeeded(newVal, keepPortable, false); +oldVal0 = cctx.cacheObjectContext().unwrapPortableIfNeeded(oldVal, keepPortable, false); +} +catch (Exception e) { +if (!cctx.cacheObjectContext().processor().isPortableEnabled(cctx.config())) +throw e; + +if (log.isDebugEnabled()) +log.debug("Failed to unmarshall cache object value for the event notification: " + e); + +if (!forceKeepBinary) +LT.warn(log, null, "Failed to unmarshall cache object value for the event notification " + +"(all further notifications will keep binary object format)."); + +forceKeepBinary = true; + +key0 = cctx.cacheObjectContext().unwrapPortableIfNeeded(key, true, false); +val0 = cctx.cacheObjectContext().unwrapPortableIfNeeded(newVal, true, false); +oldVal0 = cctx.cacheObjectContext().unwrapPortableIfNeeded(oldVal, true, false); +} + cctx.gridEvents().record(new CacheEvent(cctx.name(), cctx.localNode(), evtNode, @@ -269,12 +301,12 @@ public class GridCacheEventManager extends GridCacheManagerAdapter { type, part, cctx.isNear(), -
[2/2] ignite git commit: ignite-1282 - Fixing tests.
ignite-1282 - Fixing tests. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/8e1d6c0e Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8e1d6c0e Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8e1d6c0e Branch: refs/heads/ignite-1282 Commit: 8e1d6c0e8fad981fc48dd0d149fb1abf30b1a7da Parents: 385668b Author: Alexey GoncharukAuthored: Tue Nov 24 21:39:17 2015 +0300 Committer: Alexey Goncharuk Committed: Tue Nov 24 21:39:17 2015 +0300 -- .../internal/portable/PortableContext.java | 11 ++ .../cache/affinity/GridCacheAffinityImpl.java | 3 ++- .../processors/query/GridQueryProcessor.java| 22 +-- .../GridPortableAffinityKeySelfTest.java| 12 +- .../IgniteCacheAbstractFieldsQuerySelfTest.java | 23 5 files changed, 62 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/8e1d6c0e/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java index 1ff459e..765babc 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java @@ -302,6 +302,17 @@ public class PortableContext implements Externalizable { for (TypeDescriptor desc : descs.descriptors()) { registerUserType(desc.clsName, desc.idMapper, desc.serializer, desc.affKeyFieldName); } + +BinaryInternalIdMapper dfltMapper = BinaryInternalIdMapper.create(globalIdMapper); + +// Put affinity field names for unconfigured types. +for (Map.Entry entry : affFields.entrySet()) { +String typeName = entry.getKey(); + +int typeId = dfltMapper.typeId(typeName); + +affKeyFieldNames.putIfAbsent(typeId, entry.getValue()); +} } /** http://git-wip-us.apache.org/repos/asf/ignite/blob/8e1d6c0e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java index 33ab3f4..b9045e9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java @@ -24,6 +24,7 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; import org.apache.ignite.IgniteLogger; +import org.apache.ignite.binary.BinaryObject; import org.apache.ignite.cache.affinity.Affinity; import org.apache.ignite.cluster.ClusterNode; import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion; @@ -150,7 +151,7 @@ public class GridCacheAffinityImpl implements Affinity { @Override public Object affinityKey(K key) { A.notNull(key, "key"); -if (key instanceof CacheObject) +if (key instanceof CacheObject && !(key instanceof BinaryObject)) key = ((CacheObject)key).value(cctx.cacheObjectContext(), false); return cctx.config().getAffinityMapper().affinityKey(key); http://git-wip-us.apache.org/repos/asf/ignite/blob/8e1d6c0e/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 d0eeeb1..c560e4e 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 @@ -1540,18 +1540,26 @@ public class GridQueryProcessor extends GridProcessorAdapter { String alias = aliases.get(fullName.toString()); -ClassProperty tmp; +StringBuilder bld = new StringBuilder("get"); -try { -StringBuilder bld = new StringBuilder("get"); +bld.append(prop); + +bld.setCharAt(3,