This is an automated email from the ASF dual-hosted git repository.
nizhikov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push:
new fedef639828 [MINOR] Use CacheObjectValueContext where possible (#12293)
fedef639828 is described below
commit fedef639828fad2561bc5b7566cf429d6f455bc6
Author: Nikolay <[email protected]>
AuthorDate: Sat Aug 23 12:05:21 2025 +0300
[MINOR] Use CacheObjectValueContext where possible (#12293)
---
.../binary/builder/BinaryObjectBuilderEx.java | 38 ++++++++++++++++++++++
.../calcite/schema/CacheTableDescriptorImpl.java | 5 ++-
.../internal/binary/BinaryEnumObjectImpl.java | 5 ++-
.../ignite/internal/binary/BinaryObjectImpl.java | 7 ++--
.../internal/binary/BinaryObjectOffheapImpl.java | 5 ++-
.../apache/ignite/internal/binary/BinaryUtils.java | 4 +--
.../binary/builder/BinaryObjectBuilderImpl.java | 16 +++------
.../binary/builder/BinaryObjectBuilders.java | 28 ----------------
.../internal/processors/cache/CacheObject.java | 4 +--
.../processors/cache/CacheObjectAdapter.java | 2 +-
.../processors/cache/CacheObjectByteArrayImpl.java | 4 +--
.../internal/processors/cache/CacheObjectImpl.java | 2 +-
.../processors/cache/KeyCacheObjectImpl.java | 2 +-
.../cacheobject/PlatformCacheObjectImpl.java | 3 +-
.../cacheobject/UserCacheObjectByteArrayImpl.java | 3 +-
.../cacheobject/UserCacheObjectImpl.java | 3 +-
.../cacheobject/UserKeyCacheObjectImpl.java | 4 +--
.../apache/ignite/internal/util/IgniteUtils.java | 30 +++++++++++++++++
.../internal/GridAffinityNoCacheSelfTest.java | 5 ++-
.../cache/IgniteIncompleteCacheObjectSelfTest.java | 4 +--
.../processors/database/CacheFreeListSelfTest.java | 5 ++-
.../processors/query/h2/dml/UpdatePlanBuilder.java | 5 ++-
22 files changed, 104 insertions(+), 80 deletions(-)
diff --git
a/modules/binary/api/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectBuilderEx.java
b/modules/binary/api/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectBuilderEx.java
new file mode 100644
index 00000000000..add6b20c448
--- /dev/null
+++
b/modules/binary/api/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectBuilderEx.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.binary.builder;
+
+import org.apache.ignite.binary.BinaryObjectBuilder;
+
+/**
+ * Internal interface for {@link BinaryObjectBuilder}.
+ * Implementation of {@link BinaryObjectBuilder} MUST implement this interface.
+ */
+public interface BinaryObjectBuilderEx extends BinaryObjectBuilder {
+ /**
+ * @return Object type id.
+ */
+ public int typeId();
+
+ /**
+ * Set known affinity key field name.
+ *
+ * @param affFieldName Affinity key field name.
+ */
+ public void affinityFieldName(String affFieldName);
+}
diff --git
a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/CacheTableDescriptorImpl.java
b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/CacheTableDescriptorImpl.java
index 683b06e0873..405c8dc4dac 100644
---
a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/CacheTableDescriptorImpl.java
+++
b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/CacheTableDescriptorImpl.java
@@ -45,7 +45,6 @@ import org.apache.ignite.binary.BinaryObject;
import org.apache.ignite.binary.BinaryObjectBuilder;
import org.apache.ignite.cache.CacheWriteSynchronizationMode;
import org.apache.ignite.cluster.ClusterNode;
-import org.apache.ignite.internal.binary.builder.BinaryObjectBuilders;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
import org.apache.ignite.internal.processors.cache.CacheStoppedException;
import org.apache.ignite.internal.processors.cache.GridCacheContext;
@@ -405,7 +404,7 @@ public class CacheTableDescriptorImpl extends
NullInitializerExpressionFactory
GridCacheContext<?, ?> cctx = cacheContext();
BinaryObjectBuilder builder = cctx.grid().binary().builder(typeName);
- BinaryObjectBuilders.prepareAffinityField(builder,
cctx.cacheObjectContext());
+ U.prepareAffinityField(builder, cctx.cacheObjectContext());
return builder;
}
@@ -476,7 +475,7 @@ public class CacheTableDescriptorImpl extends
NullInitializerExpressionFactory
BinaryObjectBuilder builder = cctx.grid().binary().builder(
cctx.grid().binary().<BinaryObject>toBinary(val));
- BinaryObjectBuilders.prepareAffinityField(builder,
cctx.cacheObjectContext());
+ U.prepareAffinityField(builder, cctx.cacheObjectContext());
return builder;
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryEnumObjectImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryEnumObjectImpl.java
index 45700ba57ce..032287b5f9b 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryEnumObjectImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryEnumObjectImpl.java
@@ -30,7 +30,6 @@ import org.apache.ignite.binary.BinaryType;
import org.apache.ignite.internal.GridDirectTransient;
import org.apache.ignite.internal.processors.cache.CacheObject;
import org.apache.ignite.internal.processors.cache.CacheObjectAdapter;
-import org.apache.ignite.internal.processors.cache.CacheObjectContext;
import org.apache.ignite.internal.processors.cache.CacheObjectValueContext;
import
org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl;
import org.apache.ignite.internal.util.CommonUtils;
@@ -358,7 +357,7 @@ class BinaryEnumObjectImpl implements BinaryObjectEx,
Externalizable, CacheObjec
}
/** {@inheritDoc} */
- @Override public int valueBytesLength(CacheObjectContext ctx) throws
IgniteCheckedException {
+ @Override public int valueBytesLength(CacheObjectValueContext ctx) throws
IgniteCheckedException {
return objectPutSize(valueBytes(ctx).length);
}
@@ -373,7 +372,7 @@ class BinaryEnumObjectImpl implements BinaryObjectEx,
Externalizable, CacheObjec
}
/** {@inheritDoc} */
- @Override public CacheObject prepareForCache(CacheObjectContext ctx) {
+ @Override public CacheObject prepareForCache(CacheObjectValueContext ctx) {
return this;
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectImpl.java
index 5c6ed595d19..6e22af7f01d 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectImpl.java
@@ -38,7 +38,6 @@ import
org.apache.ignite.internal.binary.streams.BinaryOutputStream;
import org.apache.ignite.internal.binary.streams.BinaryStreams;
import org.apache.ignite.internal.processors.cache.CacheObject;
import org.apache.ignite.internal.processors.cache.CacheObjectAdapter;
-import org.apache.ignite.internal.processors.cache.CacheObjectContext;
import org.apache.ignite.internal.processors.cache.CacheObjectTransformerUtils;
import org.apache.ignite.internal.processors.cache.CacheObjectValueContext;
import org.apache.ignite.internal.processors.cache.KeyCacheObject;
@@ -131,7 +130,7 @@ final class BinaryObjectImpl extends BinaryObjectExImpl
implements Externalizabl
* @param valBytes Value bytes.
* @param coCtx Cache object context.
*/
- BinaryObjectImpl(BinaryContext ctx, byte[] valBytes, CacheObjectContext
coCtx) {
+ BinaryObjectImpl(BinaryContext ctx, byte[] valBytes,
CacheObjectValueContext coCtx) {
assert ctx != null;
assert valBytes != null;
assert coCtx != null;
@@ -224,12 +223,12 @@ final class BinaryObjectImpl extends BinaryObjectExImpl
implements Externalizabl
}
/** {@inheritDoc} */
- @Override public int valueBytesLength(CacheObjectContext ctx) throws
IgniteCheckedException {
+ @Override public int valueBytesLength(CacheObjectValueContext ctx) throws
IgniteCheckedException {
return CacheObjectAdapter.objectPutSize(valBytes.length);
}
/** {@inheritDoc} */
- @Override public CacheObject prepareForCache(CacheObjectContext ctx) {
+ @Override public CacheObject prepareForCache(CacheObjectValueContext ctx) {
BinaryObjectImpl res = detached() ? this : detach();
res.prepareMarshal(ctx);
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectOffheapImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectOffheapImpl.java
index bfc5d556709..2945626641e 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectOffheapImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectOffheapImpl.java
@@ -37,7 +37,6 @@ import
org.apache.ignite.internal.binary.builder.BinaryObjectBuilders;
import org.apache.ignite.internal.binary.streams.BinaryInputStream;
import org.apache.ignite.internal.binary.streams.BinaryStreams;
import org.apache.ignite.internal.processors.cache.CacheObject;
-import org.apache.ignite.internal.processors.cache.CacheObjectContext;
import org.apache.ignite.internal.processors.cache.CacheObjectValueContext;
import org.apache.ignite.internal.util.GridUnsafe;
import org.apache.ignite.marshaller.Marshallers;
@@ -162,7 +161,7 @@ class BinaryObjectOffheapImpl extends BinaryObjectExImpl
implements Externalizab
}
/** {@inheritDoc} */
- @Override public int valueBytesLength(CacheObjectContext ctx) throws
IgniteCheckedException {
+ @Override public int valueBytesLength(CacheObjectValueContext ctx) throws
IgniteCheckedException {
throw new UnsupportedOperationException("TODO implement");
}
@@ -468,7 +467,7 @@ class BinaryObjectOffheapImpl extends BinaryObjectExImpl
implements Externalizab
}
/** {@inheritDoc} */
- @Override public CacheObject prepareForCache(CacheObjectContext ctx) {
+ @Override public CacheObject prepareForCache(CacheObjectValueContext ctx) {
throw new UnsupportedOperationException();
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
index b1577095056..f82dbdc243a 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
@@ -73,7 +73,7 @@ import org.apache.ignite.binary.Binarylizable;
import org.apache.ignite.internal.binary.streams.BinaryInputStream;
import org.apache.ignite.internal.binary.streams.BinaryOutputStream;
import org.apache.ignite.internal.binary.streams.BinaryStreams;
-import org.apache.ignite.internal.processors.cache.CacheObjectContext;
+import org.apache.ignite.internal.processors.cache.CacheObjectValueContext;
import
org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl;
import org.apache.ignite.internal.util.CommonUtils;
import org.apache.ignite.internal.util.GridUnsafe;
@@ -1703,7 +1703,7 @@ public class BinaryUtils {
}
/** */
- public static BinaryObject binaryObject(BinaryContext ctx, byte[]
valBytes, CacheObjectContext coCtx) {
+ public static BinaryObject binaryObject(BinaryContext ctx, byte[]
valBytes, CacheObjectValueContext coCtx) {
return new BinaryObjectImpl(ctx, valBytes, coCtx);
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectBuilderImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectBuilderImpl.java
index 56c9872c310..734972ea66c 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectBuilderImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectBuilderImpl.java
@@ -46,7 +46,7 @@ import org.jetbrains.annotations.Nullable;
/**
*
*/
-class BinaryObjectBuilderImpl implements BinaryObjectBuilder {
+class BinaryObjectBuilderImpl implements BinaryObjectBuilderEx {
/** */
private static final Object REMOVED_FIELD_MARKER = new Object();
@@ -592,19 +592,13 @@ class BinaryObjectBuilderImpl implements
BinaryObjectBuilder {
return start;
}
- /**
- * @return Object type id.
- */
- public int typeId() {
+ /** {@inheritDoc} */
+ @Override public int typeId() {
return typeId;
}
- /**
- * Set known affinity key field name.
- *
- * @param affFieldName Affinity key field name.
- */
- public void affinityFieldName(String affFieldName) {
+ /** {@inheritDoc} */
+ @Override public void affinityFieldName(String affFieldName) {
this.affFieldName = affFieldName;
}
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectBuilders.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectBuilders.java
index d8774e45805..c02f880432e 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectBuilders.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectBuilders.java
@@ -18,12 +18,9 @@
package org.apache.ignite.internal.binary.builder;
import java.util.Iterator;
-import org.apache.ignite.binary.BinaryField;
import org.apache.ignite.binary.BinaryObject;
import org.apache.ignite.binary.BinaryObjectBuilder;
import org.apache.ignite.internal.binary.BinaryContext;
-import
org.apache.ignite.internal.processors.cache.CacheDefaultBinaryAffinityKeyMapper;
-import org.apache.ignite.internal.processors.cache.CacheObjectContext;
import org.jetbrains.annotations.Nullable;
/**
@@ -47,31 +44,6 @@ public class BinaryObjectBuilders {
return new BinaryObjectBuilderImpl(binaryCtx, clsName);
}
- /**
- * Prepare affinity field for builder (if possible).
- *
- * @param builder Builder.
- */
- public static void prepareAffinityField(BinaryObjectBuilder builder,
CacheObjectContext cacheObjCtx) {
- if (cacheObjCtx.customAffinityMapper())
- return;
-
- assert builder instanceof BinaryObjectBuilderImpl;
-
- BinaryObjectBuilderImpl builder0 = (BinaryObjectBuilderImpl)builder;
-
- CacheDefaultBinaryAffinityKeyMapper mapper =
-
(CacheDefaultBinaryAffinityKeyMapper)cacheObjCtx.defaultAffMapper();
-
- BinaryField field = mapper.affinityKeyField(builder0.typeId());
-
- if (field != null) {
- String fieldName = field.name();
-
- builder0.affinityFieldName(fieldName);
- }
- }
-
/**
* @param obj Value to unwrap.
* @return Unwrapped value.
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObject.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObject.java
index 0f21c77c438..cfb4d5c3431 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObject.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObject.java
@@ -67,7 +67,7 @@ public interface CacheObject extends Message {
* @return Size required to store this value object.
* @throws IgniteCheckedException If failed.
*/
- public int valueBytesLength(CacheObjectContext ctx) throws
IgniteCheckedException;
+ public int valueBytesLength(CacheObjectValueContext ctx) throws
IgniteCheckedException;
/**
* @param buf Buffer to write value to.
@@ -114,7 +114,7 @@ public interface CacheObject extends Message {
* @param ctx Cache context.
* @return Instance to store in cache.
*/
- public CacheObject prepareForCache(CacheObjectContext ctx);
+ public CacheObject prepareForCache(CacheObjectValueContext ctx);
/**
* @param ctx Context.
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectAdapter.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectAdapter.java
index 3a0f2247855..ff995a1008a 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectAdapter.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectAdapter.java
@@ -147,7 +147,7 @@ public abstract class CacheObjectAdapter implements
CacheObject, Externalizable
}
/** {@inheritDoc} */
- @Override public int valueBytesLength(CacheObjectContext ctx) throws
IgniteCheckedException {
+ @Override public int valueBytesLength(CacheObjectValueContext ctx) throws
IgniteCheckedException {
if (valBytes == null)
valueBytes(ctx);
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectByteArrayImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectByteArrayImpl.java
index cea5fb5796a..c9f0cb0dcc3 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectByteArrayImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectByteArrayImpl.java
@@ -99,7 +99,7 @@ public class CacheObjectByteArrayImpl implements CacheObject,
Externalizable {
}
/** {@inheritDoc} */
- @Override public int valueBytesLength(CacheObjectContext ctx) throws
IgniteCheckedException {
+ @Override public int valueBytesLength(CacheObjectValueContext ctx) throws
IgniteCheckedException {
return CacheObjectAdapter.objectPutSize(val.length);
}
@@ -114,7 +114,7 @@ public class CacheObjectByteArrayImpl implements
CacheObject, Externalizable {
}
/** {@inheritDoc} */
- @Override public CacheObject prepareForCache(CacheObjectContext ctx) {
+ @Override public CacheObject prepareForCache(CacheObjectValueContext ctx) {
return this;
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectImpl.java
index 89b03e8d843..cfe2effd4fe 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectImpl.java
@@ -151,7 +151,7 @@ public class CacheObjectImpl extends CacheObjectAdapter {
}
/** {@inheritDoc} */
- @Override public CacheObject prepareForCache(CacheObjectContext ctx) {
+ @Override public CacheObject prepareForCache(CacheObjectValueContext ctx) {
return this;
}
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/KeyCacheObjectImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/KeyCacheObjectImpl.java
index 284c456a47a..d81f26b2b7c 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/KeyCacheObjectImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/KeyCacheObjectImpl.java
@@ -112,7 +112,7 @@ public class KeyCacheObjectImpl extends CacheObjectAdapter
implements KeyCacheOb
}
/** {@inheritDoc} */
- @Override public CacheObject prepareForCache(CacheObjectContext ctx) {
+ @Override public CacheObject prepareForCache(CacheObjectValueContext ctx) {
return this;
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/PlatformCacheObjectImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/PlatformCacheObjectImpl.java
index d89ea657bad..4b823ed1a4d 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/PlatformCacheObjectImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/PlatformCacheObjectImpl.java
@@ -19,7 +19,6 @@ package org.apache.ignite.internal.processors.cacheobject;
import org.apache.ignite.internal.GridDirectTransient;
import org.apache.ignite.internal.processors.cache.CacheObject;
-import org.apache.ignite.internal.processors.cache.CacheObjectContext;
import org.apache.ignite.internal.processors.cache.CacheObjectImpl;
import org.apache.ignite.internal.processors.cache.CacheObjectTransformerUtils;
import org.apache.ignite.internal.processors.cache.CacheObjectValueContext;
@@ -62,7 +61,7 @@ public class PlatformCacheObjectImpl extends CacheObjectImpl {
}
/** {@inheritDoc} */
- @Override public CacheObject prepareForCache(CacheObjectContext ctx) {
+ @Override public CacheObject prepareForCache(CacheObjectValueContext ctx) {
if (valBytes == null)
valBytes = valueBytesFromArray(ctx);
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/UserCacheObjectByteArrayImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/UserCacheObjectByteArrayImpl.java
index dcb72b72dc4..87268cff8d8 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/UserCacheObjectByteArrayImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/UserCacheObjectByteArrayImpl.java
@@ -20,7 +20,6 @@ package org.apache.ignite.internal.processors.cacheobject;
import java.util.Arrays;
import org.apache.ignite.internal.processors.cache.CacheObject;
import org.apache.ignite.internal.processors.cache.CacheObjectByteArrayImpl;
-import org.apache.ignite.internal.processors.cache.CacheObjectContext;
import org.apache.ignite.internal.processors.cache.CacheObjectValueContext;
import org.jetbrains.annotations.Nullable;
@@ -56,7 +55,7 @@ public class UserCacheObjectByteArrayImpl extends
CacheObjectByteArrayImpl {
}
/** {@inheritDoc} */
- @Override public CacheObject prepareForCache(CacheObjectContext ctx) {
+ @Override public CacheObject prepareForCache(CacheObjectValueContext ctx) {
byte[] valCpy = Arrays.copyOf(val, val.length);
return new CacheObjectByteArrayImpl(valCpy);
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/UserCacheObjectImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/UserCacheObjectImpl.java
index 94050f25940..fb5a61f40e2 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/UserCacheObjectImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/UserCacheObjectImpl.java
@@ -20,7 +20,6 @@ package org.apache.ignite.internal.processors.cacheobject;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteException;
import org.apache.ignite.internal.processors.cache.CacheObject;
-import org.apache.ignite.internal.processors.cache.CacheObjectContext;
import org.apache.ignite.internal.processors.cache.CacheObjectImpl;
import org.apache.ignite.internal.processors.cache.CacheObjectValueContext;
import org.apache.ignite.internal.util.IgniteUtils;
@@ -54,7 +53,7 @@ public class UserCacheObjectImpl extends CacheObjectImpl {
}
/** {@inheritDoc} */
- @Override public CacheObject prepareForCache(CacheObjectContext ctx) {
+ @Override public CacheObject prepareForCache(CacheObjectValueContext ctx) {
try {
IgniteCacheObjectProcessor proc =
ctx.kernalContext().cacheObjects();
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/UserKeyCacheObjectImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/UserKeyCacheObjectImpl.java
index 24bf22bf415..223c18e31ed 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/UserKeyCacheObjectImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/UserKeyCacheObjectImpl.java
@@ -20,7 +20,7 @@ package org.apache.ignite.internal.processors.cacheobject;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteException;
import org.apache.ignite.internal.processors.cache.CacheObject;
-import org.apache.ignite.internal.processors.cache.CacheObjectContext;
+import org.apache.ignite.internal.processors.cache.CacheObjectValueContext;
import org.apache.ignite.internal.processors.cache.KeyCacheObject;
import org.apache.ignite.internal.processors.cache.KeyCacheObjectImpl;
import org.apache.ignite.internal.util.IgniteUtils;
@@ -66,7 +66,7 @@ public class UserKeyCacheObjectImpl extends
KeyCacheObjectImpl {
}
/** {@inheritDoc} */
- @Override public CacheObject prepareForCache(CacheObjectContext ctx) {
+ @Override public CacheObject prepareForCache(CacheObjectValueContext ctx) {
try {
IgniteCacheObjectProcessor proc =
ctx.kernalContext().cacheObjects();
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
index 93f583cb076..32e7c4da1ad 100755
---
a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
@@ -144,8 +144,10 @@ import org.apache.ignite.IgniteException;
import org.apache.ignite.IgniteIllegalStateException;
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.IgniteSystemProperties;
+import org.apache.ignite.binary.BinaryField;
import org.apache.ignite.binary.BinaryIdMapper;
import org.apache.ignite.binary.BinaryNameMapper;
+import org.apache.ignite.binary.BinaryObjectBuilder;
import org.apache.ignite.binary.BinaryObjectException;
import org.apache.ignite.binary.BinarySerializer;
import org.apache.ignite.binary.BinaryType;
@@ -173,6 +175,7 @@ import org.apache.ignite.internal.binary.BinaryMarshaller;
import org.apache.ignite.internal.binary.BinaryMetadata;
import org.apache.ignite.internal.binary.BinaryMetadataHandler;
import org.apache.ignite.internal.binary.BinaryUtils;
+import org.apache.ignite.internal.binary.builder.BinaryObjectBuilderEx;
import org.apache.ignite.internal.cluster.ClusterGroupEmptyCheckedException;
import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException;
import org.apache.ignite.internal.compute.ComputeTaskCancelledCheckedException;
@@ -184,6 +187,8 @@ import
org.apache.ignite.internal.managers.deployment.GridDeployment;
import org.apache.ignite.internal.managers.deployment.GridDeploymentInfo;
import org.apache.ignite.internal.managers.discovery.GridDiscoveryManager;
import org.apache.ignite.internal.mxbean.IgniteStandardMXBean;
+import
org.apache.ignite.internal.processors.cache.CacheDefaultBinaryAffinityKeyMapper;
+import org.apache.ignite.internal.processors.cache.CacheObjectContext;
import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
import
org.apache.ignite.internal.processors.cache.IgnitePeerToPeerClassLoadingException;
import
org.apache.ignite.internal.transactions.IgniteTxHeuristicCheckedException;
@@ -8147,6 +8152,31 @@ public abstract class IgniteUtils extends CommonUtils {
return null;
}
+ /**
+ * Prepare affinity field for builder (if possible).
+ *
+ * @param builder Builder.
+ */
+ public static void prepareAffinityField(BinaryObjectBuilder builder,
CacheObjectContext cacheObjCtx) {
+ if (cacheObjCtx.customAffinityMapper())
+ return;
+
+ assert builder instanceof BinaryObjectBuilderEx;
+
+ BinaryObjectBuilderEx builder0 = (BinaryObjectBuilderEx)builder;
+
+ CacheDefaultBinaryAffinityKeyMapper mapper =
+
(CacheDefaultBinaryAffinityKeyMapper)cacheObjCtx.defaultAffMapper();
+
+ BinaryField field = mapper.affinityKeyField(builder0.typeId());
+
+ if (field != null) {
+ String fieldName = field.name();
+
+ builder0.affinityFieldName(fieldName);
+ }
+ }
+
/**
* Creates thread with given worker.
*
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/GridAffinityNoCacheSelfTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/GridAffinityNoCacheSelfTest.java
index ca3a253a173..a0ee15ca451 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/GridAffinityNoCacheSelfTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/GridAffinityNoCacheSelfTest.java
@@ -25,7 +25,6 @@ import org.apache.ignite.IgniteException;
import org.apache.ignite.cache.affinity.Affinity;
import org.apache.ignite.cluster.ClusterNode;
import org.apache.ignite.internal.processors.cache.CacheObject;
-import org.apache.ignite.internal.processors.cache.CacheObjectContext;
import org.apache.ignite.internal.processors.cache.CacheObjectValueContext;
import
org.apache.ignite.internal.processors.cache.affinity.GridCacheAffinityImpl;
import org.apache.ignite.internal.util.typedef.internal.A;
@@ -261,7 +260,7 @@ public class GridAffinityNoCacheSelfTest extends
GridCommonAbstractTest {
}
/** {@inheritDoc} */
- @Override public int valueBytesLength(CacheObjectContext ctx) throws
IgniteCheckedException {
+ @Override public int valueBytesLength(CacheObjectValueContext ctx)
throws IgniteCheckedException {
return 0;
}
@@ -282,7 +281,7 @@ public class GridAffinityNoCacheSelfTest extends
GridCommonAbstractTest {
}
/** {@inheritDoc} */
- @Override public CacheObject prepareForCache(CacheObjectContext ctx) {
+ @Override public CacheObject prepareForCache(CacheObjectValueContext
ctx) {
throw new UnsupportedOperationException();
}
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteIncompleteCacheObjectSelfTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteIncompleteCacheObjectSelfTest.java
index e767ac130a0..d26642f7423 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteIncompleteCacheObjectSelfTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteIncompleteCacheObjectSelfTest.java
@@ -115,7 +115,7 @@ public class IgniteIncompleteCacheObjectSelfTest extends
GridCommonAbstractTest
}
/** {@inheritDoc} */
- @Override public int valueBytesLength(final CacheObjectContext ctx)
throws IgniteCheckedException {
+ @Override public int valueBytesLength(final CacheObjectValueContext
ctx) throws IgniteCheckedException {
return 0;
}
@@ -146,7 +146,7 @@ public class IgniteIncompleteCacheObjectSelfTest extends
GridCommonAbstractTest
}
/** {@inheritDoc} */
- @Override public CacheObject prepareForCache(final CacheObjectContext
ctx) {
+ @Override public CacheObject prepareForCache(final
CacheObjectValueContext ctx) {
return null;
}
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/processors/database/CacheFreeListSelfTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/processors/database/CacheFreeListSelfTest.java
index ad47435af05..9090918f9be 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/processors/database/CacheFreeListSelfTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/processors/database/CacheFreeListSelfTest.java
@@ -40,7 +40,6 @@ import org.apache.ignite.internal.pagemem.PageMemory;
import org.apache.ignite.internal.pagemem.PageUtils;
import org.apache.ignite.internal.pagemem.impl.PageMemoryNoStoreImpl;
import org.apache.ignite.internal.processors.cache.CacheObject;
-import org.apache.ignite.internal.processors.cache.CacheObjectContext;
import org.apache.ignite.internal.processors.cache.CacheObjectValueContext;
import org.apache.ignite.internal.processors.cache.KeyCacheObject;
import org.apache.ignite.internal.processors.cache.persistence.CacheDataRow;
@@ -685,7 +684,7 @@ public class CacheFreeListSelfTest extends
GridCommonAbstractTest {
}
/** {@inheritDoc} */
- @Override public int valueBytesLength(CacheObjectContext ctx) {
+ @Override public int valueBytesLength(CacheObjectValueContext ctx) {
return data.length;
}
@@ -721,7 +720,7 @@ public class CacheFreeListSelfTest extends
GridCommonAbstractTest {
}
/** {@inheritDoc} */
- @Override public CacheObject prepareForCache(CacheObjectContext ctx) {
+ @Override public CacheObject prepareForCache(CacheObjectValueContext
ctx) {
assert false;
return this;
diff --git
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/dml/UpdatePlanBuilder.java
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/dml/UpdatePlanBuilder.java
index 921cb83903e..dbc06337467 100644
---
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/dml/UpdatePlanBuilder.java
+++
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/dml/UpdatePlanBuilder.java
@@ -30,7 +30,6 @@ import org.apache.ignite.IgniteLogger;
import org.apache.ignite.IgniteSystemProperties;
import org.apache.ignite.binary.BinaryObject;
import org.apache.ignite.binary.BinaryObjectBuilder;
-import org.apache.ignite.internal.binary.builder.BinaryObjectBuilders;
import org.apache.ignite.internal.processors.cache.GridCacheContext;
import org.apache.ignite.internal.processors.cache.query.IgniteQueryErrorCode;
import org.apache.ignite.internal.processors.query.GridQueryProperty;
@@ -676,7 +675,7 @@ public final class UpdatePlanBuilder {
BinaryObjectBuilder builder =
cctx.grid().binary().builder(bin);
- BinaryObjectBuilders.prepareAffinityField(builder,
cctx.cacheObjectContext());
+ U.prepareAffinityField(builder, cctx.cacheObjectContext());
return builder;
}
@@ -689,7 +688,7 @@ public final class UpdatePlanBuilder {
@Override public Object apply(List<?> arg) {
BinaryObjectBuilder builder =
cctx.grid().binary().builder(typeName);
- BinaryObjectBuilders.prepareAffinityField(builder,
cctx.cacheObjectContext());
+ U.prepareAffinityField(builder, cctx.cacheObjectContext());
return builder;
}