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 8c283c99cf9 IGNITE-25928 Remove IgniteConfiguration from BinaryContext
(#12194)
8c283c99cf9 is described below
commit 8c283c99cf9f5886926a1c1d798a57d5c93253cb
Author: Nikolay <[email protected]>
AuthorDate: Mon Jul 21 15:54:28 2025 +0300
IGNITE-25928 Remove IgniteConfiguration from BinaryContext (#12194)
---
.../jdbc/thin/JdbcThinConnectionSelfTest.java | 3 +-
.../apache/ignite/internal/binary/BinaryArray.java | 2 +-
.../ignite/internal/binary/BinaryContext.java | 114 +++++++++++++--------
.../internal/binary/BinaryEnumObjectImpl.java | 2 +-
.../ignite/internal/binary/BinaryMarshaller.java | 3 +-
.../ignite/internal/binary/BinaryObjectImpl.java | 4 +-
.../internal/binary/BinaryObjectOffheapImpl.java | 2 +-
.../ignite/internal/binary/BinaryReaderExImpl.java | 2 +-
.../apache/ignite/internal/binary/BinaryUtils.java | 2 +-
.../ignite/internal/binary/BinaryWriterExImpl.java | 2 +-
.../internal/binary/builder/BinaryBuilderEnum.java | 2 +-
.../binary/builder/BinaryBuilderReader.java | 6 +-
.../binary/builder/BinaryEnumArrayLazyValue.java | 2 +-
.../binary/builder/BinaryObjectArrayLazyValue.java | 2 +-
.../binary/builder/BinaryObjectBuilderImpl.java | 2 +-
.../client/thin/ClientBinaryMarshaller.java | 10 +-
.../internal/client/thin/TcpClientChannel.java | 3 +-
.../internal/jdbc/thin/JdbcThinConnection.java | 8 +-
.../ignite/internal/jdbc/thin/JdbcThinTcpIo.java | 3 +-
.../internal/processors/cache/GridCacheUtils.java | 16 +++
.../binary/CacheObjectBinaryProcessorImpl.java | 18 ++--
.../processors/odbc/ClientListenerNioListener.java | 3 +-
.../processors/platform/utils/PlatformUtils.java | 4 +-
.../apache/ignite/internal/util/IgniteUtils.java | 29 ++++--
.../binary/BinaryContextPredefinedTypesTest.java | 4 +-
.../binary/BinaryFieldExtractionSelfTest.java | 3 +-
.../binary/BinaryFieldsAbstractSelfTest.java | 4 +-
.../BinaryFooterOffsetsAbstractSelfTest.java | 4 +-
.../internal/binary/BinaryMarshallerSelfTest.java | 16 ++-
.../GridBinaryMarshallerCtxDisabledSelfTest.java | 8 +-
.../binary/GridBinaryWildcardsSelfTest.java | 8 +-
.../binary/RawBinaryObjectExtractorTest.java | 3 +-
.../GridBinaryCacheEntryMemorySizeSelfTest.java | 4 +-
.../platform/PlatformGetInternalCachesTask.java | 4 +-
.../session/GridSessionCheckpointSelfTest.java | 8 +-
.../testframework/junits/GridAbstractTest.java | 8 +-
.../junits/GridTestBinaryMarshaller.java | 8 +-
.../ignite/testframework/junits/IgniteMock.java | 11 +-
.../testframework/junits/IgniteTestResources.java | 5 +-
39 files changed, 218 insertions(+), 124 deletions(-)
diff --git
a/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinConnectionSelfTest.java
b/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinConnectionSelfTest.java
index ac955f613a4..04c37434ed8 100644
---
a/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinConnectionSelfTest.java
+++
b/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinConnectionSelfTest.java
@@ -49,7 +49,6 @@ import org.apache.ignite.internal.jdbc.thin.JdbcThinTcpIo;
import org.apache.ignite.internal.util.lang.RunnableX;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgnitePredicate;
-import org.apache.ignite.logger.NullLogger;
import org.apache.ignite.marshaller.MarshallerContext;
import org.apache.ignite.marshaller.jdk.JdkMarshaller;
import org.apache.ignite.testframework.GridStringLogger;
@@ -2233,7 +2232,7 @@ public class JdbcThinConnectionSelfTest extends
JdbcThinAbstractSelfTest {
marsh.setContext(getFakeMarshallerCtx());
- BinaryContext ctx = new BinaryContext(new IgniteConfiguration(), new
NullLogger());
+ BinaryContext ctx = U.emptyBinaryContext();
ctx.configure(marsh);
ctx.registerUserTypesSchema();
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryArray.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryArray.java
index b5269f4a11d..fef7e7d746a 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryArray.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryArray.java
@@ -103,7 +103,7 @@ class BinaryArray implements BinaryObjectEx,
Externalizable, Comparable<BinaryAr
/** {@inheritDoc} */
@Override public <T> T deserialize(ClassLoader ldr) throws
BinaryObjectException {
- ClassLoader resolveLdr = ldr == null ?
ctx.configuration().getClassLoader() : ldr;
+ ClassLoader resolveLdr = ldr == null ? ctx.classLoader() : ldr;
if (ldr != null)
GridBinaryMarshaller.USE_CACHE.set(Boolean.FALSE);
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
index 6cebcf0b168..74a0df8daa7 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
@@ -60,11 +60,9 @@ import org.apache.ignite.binary.BinaryReflectiveSerializer;
import org.apache.ignite.binary.BinarySerializer;
import org.apache.ignite.binary.BinaryType;
import org.apache.ignite.binary.BinaryTypeConfiguration;
-import org.apache.ignite.cache.CacheKeyConfiguration;
import org.apache.ignite.cache.affinity.AffinityKey;
import org.apache.ignite.cache.affinity.AffinityKeyMapped;
import org.apache.ignite.configuration.BinaryConfiguration;
-import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.DuplicateTypeIdException;
import org.apache.ignite.internal.UnregisteredBinaryTypeException;
import org.apache.ignite.internal.UnregisteredClassException;
@@ -79,8 +77,8 @@ import
org.apache.ignite.internal.processors.platform.websession.PlatformDotNetS
import org.apache.ignite.internal.processors.query.QueryUtils;
import org.apache.ignite.internal.util.IgniteUtils;
import org.apache.ignite.internal.util.lang.GridMapEntry;
-import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.T2;
+import org.apache.ignite.internal.util.typedef.internal.CU;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteBiTuple;
import org.apache.ignite.lang.IgniteUuid;
@@ -161,14 +159,20 @@ public class BinaryContext {
/** */
private BinaryMetadataHandler metaHnd;
+ /** Node name. */
+ private final @Nullable String igniteInstanceName;
+
+ /** Class loader. */
+ private final @Nullable ClassLoader clsLdr;
+
/** Actual marshaller. */
private BinaryMarshaller marsh;
/** */
private MarshallerContext marshCtx;
- /** */
- private IgniteConfiguration igniteCfg;
+ /** Binary configuration. */
+ private final @Nullable BinaryConfiguration bcfg;
/** Logger. */
private IgniteLogger log;
@@ -183,26 +187,45 @@ public class BinaryContext {
private volatile Map<Integer, BinarySchemaRegistry> schemas;
/**
- * @param igniteCfg Ignite configuration.
+ * @param log Logger
+ */
+ public BinaryContext(IgniteLogger log) {
+ this(BinaryNoopMetadataHandler.instance(), null, null, null, log);
+ }
+
+ /**
+ * @param metaHnd Meta data handler.
* @param log Logger.
*/
- public BinaryContext(IgniteConfiguration igniteCfg, IgniteLogger log) {
- this(BinaryNoopMetadataHandler.instance(), igniteCfg, log);
+ public BinaryContext(
+ BinaryMetadataHandler metaHnd,
+ IgniteLogger log
+ ) {
+ this(metaHnd, null, null, null, log);
}
/**
* @param metaHnd Meta data handler.
- * @param igniteCfg Ignite configuration.
+ * @param igniteInstanceName Ignite instance name.
+ * @param clsLdr Class loader.
+ * @param bcfg Binary configuration.
* @param log Logger.
*/
- public BinaryContext(BinaryMetadataHandler metaHnd, IgniteConfiguration
igniteCfg, IgniteLogger log) {
+ public BinaryContext(
+ BinaryMetadataHandler metaHnd,
+ @Nullable String igniteInstanceName,
+ @Nullable ClassLoader clsLdr,
+ @Nullable BinaryConfiguration bcfg,
+ IgniteLogger log
+ ) {
assert metaHnd != null;
- assert igniteCfg != null;
- MarshallerUtils.setNodeName(optmMarsh,
igniteCfg.getIgniteInstanceName());
+ MarshallerUtils.setNodeName(optmMarsh, igniteInstanceName);
this.metaHnd = metaHnd;
- this.igniteCfg = igniteCfg;
+ this.igniteInstanceName = igniteInstanceName;
+ this.clsLdr = clsLdr;
+ this.bcfg = bcfg;
this.log = log;
colTypes.put(ArrayList.class, GridBinaryMarshaller.ARR_LIST);
@@ -325,10 +348,17 @@ public class BinaryContext {
}
/**
- * @return Ignite configuration.
+ * @return Ignite instance name.
*/
- public IgniteConfiguration configuration() {
- return igniteCfg;
+ public String igniteInstanceName() {
+ return igniteInstanceName;
+ }
+
+ /**
+ * @return Class loader.
+ */
+ public ClassLoader classLoader() {
+ return clsLdr;
}
/**
@@ -336,15 +366,16 @@ public class BinaryContext {
* @throws BinaryObjectException In case of error.
*/
public void configure(BinaryMarshaller marsh) throws BinaryObjectException
{
- configure(marsh, null);
+ configure(marsh, null, CU.affinityFields(null));
}
/**
* @param marsh Binary marshaller.
* @param binaryCfg Binary configuration.
+ * @param affFlds Type name to affinity key field name mapping.
* @throws BinaryObjectException In case of error.
*/
- public void configure(BinaryMarshaller marsh, BinaryConfiguration
binaryCfg) throws BinaryObjectException {
+ public void configure(BinaryMarshaller marsh, BinaryConfiguration
binaryCfg, Map<String, String> affFlds) throws BinaryObjectException {
if (marsh == null)
return;
@@ -363,33 +394,30 @@ public class BinaryContext {
binaryCfg.getNameMapper(),
binaryCfg.getIdMapper(),
binaryCfg.getSerializer(),
- binaryCfg.getTypeConfigurations()
+ binaryCfg.getTypeConfigurations(),
+ affFlds
);
compactFooter = binaryCfg.isCompactFooter();
}
/**
+ * @param globalNameMapper Name mapper.
* @param globalIdMapper ID mapper.
* @param globalSerializer Serializer.
* @param typeCfgs Type configurations.
+ * @param affFields Type to affinity fields mapping.
* @throws BinaryObjectException In case of error.
*/
private void configure(
BinaryNameMapper globalNameMapper,
BinaryIdMapper globalIdMapper,
BinarySerializer globalSerializer,
- Collection<BinaryTypeConfiguration> typeCfgs
+ Collection<BinaryTypeConfiguration> typeCfgs,
+ Map<String, String> affFields
) throws BinaryObjectException {
TypeDescriptors descs = new TypeDescriptors();
- Map<String, String> affFields = new HashMap<>();
-
- if (!F.isEmpty(igniteCfg.getCacheKeyConfiguration())) {
- for (CacheKeyConfiguration keyCfg :
igniteCfg.getCacheKeyConfiguration())
- affFields.put(keyCfg.getTypeName(),
keyCfg.getAffinityKeyFieldName());
- }
-
if (typeCfgs != null) {
for (BinaryTypeConfiguration typeCfg : typeCfgs) {
String clsName = typeCfg.getTypeName();
@@ -921,9 +949,7 @@ public class BinaryContext {
* @return Default serializer.
*/
private BinarySerializer defaultSerializer() {
- BinaryConfiguration binCfg = igniteCfg.getBinaryConfiguration();
-
- return binCfg != null ? binCfg.getSerializer() : null;
+ return bcfg != null ? bcfg.getSerializer() : null;
}
/**
@@ -1002,7 +1028,12 @@ public class BinaryContext {
if (mapper != null)
return mapper;
- mapper = resolveMapper(clsName, igniteCfg.getBinaryConfiguration());
+ mapper = bcfg == null ? DFLT_MAPPER : resolveMapper(
+ clsName,
+ bcfg.getIdMapper(),
+ bcfg.getNameMapper(),
+ bcfg.getTypeConfigurations()
+ );
BinaryInternalMapper prevMap = cls2Mappers.putIfAbsent(clsName,
mapper);
@@ -1021,20 +1052,19 @@ public class BinaryContext {
/**
* @param clsName Type name.
- * @param cfg Binary configuration.
+ * @param globalIdMapper Default id mapper.
+ * @param globalNameMapper Default name mapper.
+ * @param typeCfgs Type configurations.
* @return Mapper according to configuration.
*/
- private static BinaryInternalMapper resolveMapper(String clsName,
BinaryConfiguration cfg) {
+ private static BinaryInternalMapper resolveMapper(
+ String clsName,
+ BinaryIdMapper globalIdMapper,
+ BinaryNameMapper globalNameMapper,
+ Collection<BinaryTypeConfiguration> typeCfgs
+ ) {
assert clsName != null;
- if (cfg == null)
- return DFLT_MAPPER;
-
- BinaryIdMapper globalIdMapper = cfg.getIdMapper();
- BinaryNameMapper globalNameMapper = cfg.getNameMapper();
-
- Collection<BinaryTypeConfiguration> typeCfgs =
cfg.getTypeConfigurations();
-
if (typeCfgs != null) {
for (BinaryTypeConfiguration typeCfg : typeCfgs) {
String typeCfgName = typeCfg.getTypeName();
@@ -1163,7 +1193,7 @@ public class BinaryContext {
Class<?> cls = null;
try {
- cls = U.resolveClassLoader(configuration()).loadClass(clsName);
+ cls = U.resolveClassLoader(null, classLoader()).loadClass(clsName);
}
catch (ClassNotFoundException | NoClassDefFoundError ignored) {
// No-op.
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 88db71fbea4..4d69956edff 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
@@ -173,7 +173,7 @@ class BinaryEnumObjectImpl implements BinaryObjectEx,
Externalizable, CacheObjec
/** {@inheritDoc} */
@Override public <T> T deserialize(@Nullable ClassLoader ldr) throws
BinaryObjectException {
- ClassLoader resolveLdr = ldr == null ?
ctx.configuration().getClassLoader() : ldr;
+ ClassLoader resolveLdr = ldr == null ? ctx.classLoader() : ldr;
if (ldr != null)
GridBinaryMarshaller.USE_CACHE.set(Boolean.FALSE);
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryMarshaller.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryMarshaller.java
index 21251db8572..dd5336d2fa2 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryMarshaller.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryMarshaller.java
@@ -25,6 +25,7 @@ import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.binary.BinaryObjectException;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.util.tostring.GridToStringExclude;
+import org.apache.ignite.internal.util.typedef.internal.CU;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller;
import org.jetbrains.annotations.Nullable;
@@ -74,7 +75,7 @@ public class BinaryMarshaller extends
AbstractNodeNameAwareMarshaller {
* @param ctx Binary context.
*/
public void setBinaryContext(BinaryContext ctx, IgniteConfiguration cfg) {
- ctx.configure(this, cfg != null ? cfg.getBinaryConfiguration() : null);
+ ctx.configure(this, cfg != null ? cfg.getBinaryConfiguration() : null,
CU.affinityFields(cfg));
impl = new GridBinaryMarshaller(ctx);
}
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 cb66242cdfb..5cbd148c31b 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
@@ -873,7 +873,7 @@ final class BinaryObjectImpl extends BinaryObjectExImpl
implements Externalizabl
*/
private Object deserializeValue(@Nullable CacheObjectValueContext coCtx) {
BinaryReaderEx reader = reader(null, coCtx != null ?
- coCtx.kernalContext().config().getClassLoader() :
ctx.configuration().getClassLoader(), true);
+ coCtx.kernalContext().config().getClassLoader() :
ctx.classLoader(), true);
Object obj0 = reader.deserialize();
@@ -906,7 +906,7 @@ final class BinaryObjectImpl extends BinaryObjectExImpl
implements Externalizabl
private BinaryReaderEx reader(@Nullable BinaryReaderHandles rCtx,
@Nullable ClassLoader ldr,
boolean forUnmarshal) {
if (ldr == null)
- ldr = ctx.configuration().getClassLoader();
+ ldr = ctx.classLoader();
return BinaryUtils.reader(ctx,
BinaryStreams.inputStream(arr, start),
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 57be2a50128..40ff9130c45 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
@@ -531,7 +531,7 @@ class BinaryObjectOffheapImpl extends BinaryObjectExImpl
implements Externalizab
* @return Reader.
*/
private BinaryReaderEx reader(@Nullable BinaryReaderHandles rCtx, boolean
forUnmarshal) {
- return reader(rCtx, ctx.configuration().getClassLoader(),
forUnmarshal);
+ return reader(rCtx, ctx.classLoader(), forUnmarshal);
}
/**
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryReaderExImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryReaderExImpl.java
index 7e8605ae4c1..025e33eb52f 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryReaderExImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryReaderExImpl.java
@@ -1701,7 +1701,7 @@ class BinaryReaderExImpl implements BinaryReaderEx {
/** {@inheritDoc} */
@Override public @Nullable Object deserialize() throws
BinaryObjectException {
- String newName = ctx.configuration().getIgniteInstanceName();
+ String newName = ctx.igniteInstanceName();
String oldName = IgniteUtils.setCurrentIgniteName(newName);
try {
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 40efeb33eca..5b185110b69 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
@@ -1835,7 +1835,7 @@ public class BinaryUtils {
ByteArrayInputStream input = new ByteArrayInputStream(in.array(),
in.position(), len);
try {
- return ctx.optimizedMarsh().unmarshal(input,
U.resolveClassLoader(clsLdr, ctx.configuration()));
+ return ctx.optimizedMarsh().unmarshal(input,
U.resolveClassLoader(clsLdr, ctx.classLoader()));
}
catch (IgniteCheckedException e) {
throw new BinaryObjectException("Failed to unmarshal object with
optimized marshaller", e);
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java
index 7c2dcc5d787..9bb268c3ccc 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java
@@ -130,7 +130,7 @@ class BinaryWriterExImpl implements BinaryWriterEx {
* @throws org.apache.ignite.binary.BinaryObjectException In case of error.
*/
void marshal(Object obj, boolean enableReplace) throws
BinaryObjectException {
- String newName = ctx.configuration().getIgniteInstanceName();
+ String newName = ctx.igniteInstanceName();
String oldName = IgniteUtils.setCurrentIgniteName(newName);
try {
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderEnum.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderEnum.java
index 6831ea27dde..23bd32b6d83 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderEnum.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderEnum.java
@@ -57,7 +57,7 @@ class BinaryBuilderEnum implements
BinaryBuilderSerializationAware {
Class cls;
try {
- cls = U.forName(reader.readString(),
reader.binaryContext().configuration().getClassLoader());
+ cls = U.forName(reader.readString(),
reader.binaryContext().classLoader());
}
catch (ClassNotFoundException e) {
throw new BinaryInvalidTypeException("Failed to load the
class: " + clsName, e);
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderReader.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderReader.java
index d722a846255..6bbcf3b82a6 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderReader.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderReader.java
@@ -69,7 +69,7 @@ class BinaryBuilderReader implements BinaryPositionReadable {
reader = BinaryUtils.reader(ctx,
BinaryStreams.inputStream(arr, pos),
- ctx.configuration().getClassLoader(),
+ ctx.classLoader(),
false);
objMap = new HashMap<>();
@@ -491,7 +491,7 @@ class BinaryBuilderReader implements BinaryPositionReadable
{
case GridBinaryMarshaller.OPTM_MARSH: {
final BinaryInputStream bin = BinaryStreams.inputStream(arr,
pos + 1);
- final Object obj = BinaryUtils.doReadOptimized(bin, ctx,
U.resolveClassLoader(ctx.configuration()));
+ final Object obj = BinaryUtils.doReadOptimized(bin, ctx,
U.resolveClassLoader(null, ctx.classLoader()));
return obj;
}
@@ -843,7 +843,7 @@ class BinaryBuilderReader implements BinaryPositionReadable
{
case GridBinaryMarshaller.OPTM_MARSH: {
final BinaryInputStream bin = BinaryStreams.inputStream(arr,
pos);
- final Object obj = BinaryUtils.doReadOptimized(bin, ctx,
U.resolveClassLoader(ctx.configuration()));
+ final Object obj = BinaryUtils.doReadOptimized(bin, ctx,
U.resolveClassLoader(null, ctx.classLoader()));
pos = bin.position();
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryEnumArrayLazyValue.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryEnumArrayLazyValue.java
index 4dcf30fcb78..f966abca5bf 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryEnumArrayLazyValue.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryEnumArrayLazyValue.java
@@ -50,7 +50,7 @@ class BinaryEnumArrayLazyValue extends
BinaryAbstractLazyValue {
Class cls;
try {
- cls = U.forName(reader.readString(),
reader.binaryContext().configuration().getClassLoader());
+ cls = U.forName(reader.readString(),
reader.binaryContext().classLoader());
}
catch (ClassNotFoundException e) {
throw new BinaryInvalidTypeException("Failed to load the
class: " + clsName, e);
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectArrayLazyValue.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectArrayLazyValue.java
index 335b9129f6f..ebdf96c04d6 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectArrayLazyValue.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectArrayLazyValue.java
@@ -49,7 +49,7 @@ class BinaryObjectArrayLazyValue extends
BinaryAbstractLazyValue {
Class cls;
try {
- cls = U.forName(reader.readString(),
reader.binaryContext().configuration().getClassLoader());
+ cls = U.forName(reader.readString(),
reader.binaryContext().classLoader());
}
catch (ClassNotFoundException e) {
throw new BinaryInvalidTypeException("Failed to load the
class: " + clsName, e);
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 83e3d36816d..25e089b2f59 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
@@ -147,7 +147,7 @@ class BinaryObjectBuilderImpl implements
BinaryObjectBuilder {
Class cls;
try {
- cls = U.forName(clsNameToWrite,
ctx.configuration().getClassLoader());
+ cls = U.forName(clsNameToWrite, ctx.classLoader());
}
catch (ClassNotFoundException e) {
throw new BinaryInvalidTypeException("Failed to load the
class: " + clsNameToWrite, e);
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/client/thin/ClientBinaryMarshaller.java
b/modules/core/src/main/java/org/apache/ignite/internal/client/thin/ClientBinaryMarshaller.java
index 54fd2c7903e..e95f8929819 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/client/thin/ClientBinaryMarshaller.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/client/thin/ClientBinaryMarshaller.java
@@ -18,12 +18,12 @@
package org.apache.ignite.internal.client.thin;
import org.apache.ignite.configuration.BinaryConfiguration;
-import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.binary.BinaryContext;
import org.apache.ignite.internal.binary.BinaryMarshaller;
import org.apache.ignite.internal.binary.BinaryMetadataHandler;
import org.apache.ignite.internal.binary.GridBinaryMarshaller;
import org.apache.ignite.internal.binary.streams.BinaryInputStream;
+import org.apache.ignite.internal.util.typedef.internal.CU;
import org.apache.ignite.logger.NullLogger;
import org.apache.ignite.marshaller.MarshallerContext;
@@ -97,23 +97,19 @@ class ClientBinaryMarshaller {
/** Create new marshaller implementation. */
private GridBinaryMarshaller createImpl(BinaryConfiguration binCfg) {
- IgniteConfiguration igniteCfg = new IgniteConfiguration();
-
if (binCfg == null) {
binCfg = new BinaryConfiguration();
binCfg.setCompactFooter(false);
}
- igniteCfg.setBinaryConfiguration(binCfg);
-
- BinaryContext ctx = new BinaryContext(metaHnd, igniteCfg,
NullLogger.INSTANCE);
+ BinaryContext ctx = new BinaryContext(metaHnd, null, null, binCfg,
NullLogger.INSTANCE);
BinaryMarshaller marsh = new BinaryMarshaller();
marsh.setContext(marshCtx);
- ctx.configure(marsh, binCfg);
+ ctx.configure(marsh, binCfg, CU.affinityFields(null));
ctx.registerUserTypesSchema();
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/client/thin/TcpClientChannel.java
b/modules/core/src/main/java/org/apache/ignite/internal/client/thin/TcpClientChannel.java
index e964ac13ec1..1585819f2e0 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/client/thin/TcpClientChannel.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/client/thin/TcpClientChannel.java
@@ -51,7 +51,6 @@ import
org.apache.ignite.client.ClientFeatureNotSupportedByServerException;
import org.apache.ignite.client.ClientReconnectedException;
import org.apache.ignite.client.events.ConnectionDescription;
import org.apache.ignite.configuration.ClientConfiguration;
-import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.binary.BinaryContext;
import org.apache.ignite.internal.binary.BinaryReaderEx;
import org.apache.ignite.internal.binary.BinaryUtils;
@@ -840,7 +839,7 @@ class TcpClientChannel implements ClientChannel,
ClientMessageHandler, ClientCon
/** Send handshake request. */
private void handshakeReq(ProtocolVersion proposedVer, String user, String
pwd,
Map<String, String> userAttrs) throws ClientConnectionException {
- BinaryContext ctx = new
BinaryContext(BinaryUtils.cachingMetadataHandler(), new IgniteConfiguration(),
null);
+ BinaryContext ctx = U.emptyBinaryContext();
try (BinaryWriterEx writer = BinaryUtils.writer(ctx,
BinaryStreams.outputStream(32), null)) {
ProtocolContext protocolCtx =
protocolContextFromVersion(proposedVer);
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinConnection.java
b/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinConnection.java
index b2ae2253864..c804ff05845 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinConnection.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinConnection.java
@@ -75,7 +75,6 @@ import org.apache.ignite.binary.BinaryObjectException;
import org.apache.ignite.binary.BinaryType;
import org.apache.ignite.client.ClientException;
import org.apache.ignite.configuration.BinaryConfiguration;
-import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.MarshallerPlatformIds;
import org.apache.ignite.internal.binary.BinaryContext;
import org.apache.ignite.internal.binary.BinaryMarshaller;
@@ -121,6 +120,7 @@ import
org.apache.ignite.internal.sql.optimizer.affinity.PartitionClientContext;
import org.apache.ignite.internal.sql.optimizer.affinity.PartitionResult;
import org.apache.ignite.internal.util.HostAndPortRange;
import org.apache.ignite.internal.util.future.GridFutureAdapter;
+import org.apache.ignite.internal.util.typedef.internal.CU;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgnitePredicate;
import org.apache.ignite.lang.IgniteProductVersion;
@@ -296,7 +296,7 @@ public class JdbcThinConnection implements Connection {
netTimeout = connProps.getConnectionTimeout();
qryTimeout = connProps.getQueryTimeout();
maintenanceExecutor = Executors.newScheduledThreadPool(2,
- new
IgniteThreadFactory(ctx.configuration().getIgniteInstanceName(),
"jdbc-maintenance"));
+ new IgniteThreadFactory(ctx.igniteInstanceName(),
"jdbc-maintenance"));
schema = JdbcUtils.normalizeSchema(connProps.getSchema());
@@ -325,9 +325,9 @@ public class JdbcThinConnection implements Connection {
BinaryConfiguration binCfg = new
BinaryConfiguration().setCompactFooter(true);
- BinaryContext ctx = new BinaryContext(metaHnd, new
IgniteConfiguration(), new NullLogger());
+ BinaryContext ctx = new BinaryContext(metaHnd, NullLogger.INSTANCE);
- ctx.configure(marsh, binCfg);
+ ctx.configure(marsh, binCfg, CU.affinityFields(null));
ctx.registerUserTypesSchema();
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinTcpIo.java
b/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinTcpIo.java
index 328f0f5e3f2..7d079586c6a 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinTcpIo.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinTcpIo.java
@@ -36,7 +36,6 @@ import java.util.stream.Collectors;
import javax.cache.configuration.Factory;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.cache.query.QueryCancelledException;
-import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.MarshallerContextImpl;
import org.apache.ignite.internal.ThinProtocolFeature;
import org.apache.ignite.internal.binary.BinaryContext;
@@ -269,7 +268,7 @@ public class JdbcThinTcpIo {
* @throws SQLException On connection reject.
*/
private HandshakeResult handshake(ClientListenerProtocolVersion ver)
throws IOException, SQLException {
- BinaryContext ctx = new
BinaryContext(BinaryUtils.cachingMetadataHandler(), new IgniteConfiguration(),
null);
+ BinaryContext ctx = U.emptyBinaryContext();
BinaryMarshaller marsh = new BinaryMarshaller();
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
index e133c0df724..58dba32905a 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
@@ -2175,6 +2175,22 @@ public class GridCacheUtils {
return strategies;
}
+ /**
+ * @param cfg Ignite configuration.
+ * @return Type name to affinity key field name mapping.
+ */
+ public static Map<String, String> affinityFields(@Nullable
IgniteConfiguration cfg) {
+ Map<String, String> affFields = new HashMap<>();
+
+ if (cfg == null || F.isEmpty(cfg.getCacheKeyConfiguration()))
+ return affFields;
+
+ for (CacheKeyConfiguration keyCfg : cfg.getCacheKeyConfiguration())
+ affFields.put(keyCfg.getTypeName(),
keyCfg.getAffinityKeyFieldName());
+
+ return affFields;
+ }
+
/**
*
*/
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
index 5374697246d..4a5bbd4892f 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
@@ -278,9 +278,15 @@ public class CacheObjectBinaryProcessorImpl extends
GridProcessorAdapter impleme
}
};
- binaryCtx = useTestBinaryCtx ?
- new TestBinaryContext(metaHnd, ctx.config(),
ctx.log(BinaryContext.class)) :
- new BinaryContext(metaHnd, ctx.config(),
ctx.log(BinaryContext.class));
+ binaryCtx = useTestBinaryCtx
+ ? new TestBinaryContext(metaHnd, ctx.config(),
ctx.log(BinaryContext.class))
+ : new BinaryContext(
+ metaHnd,
+ ctx.config().getIgniteInstanceName(),
+ ctx.config().getClassLoader(),
+ ctx.config().getBinaryConfiguration(),
+ ctx.log(BinaryContext.class)
+ );
transport = new BinaryMetadataTransport(metadataLocCache,
metadataFileStore, binaryCtx, ctx, log);
@@ -1633,12 +1639,12 @@ public class CacheObjectBinaryProcessorImpl extends
GridProcessorAdapter impleme
/**
* @param metaHnd Meta handler.
- * @param igniteCfg Ignite config.
+ * @param cfg Ignite configuration.
* @param log Logger.
*/
- public TestBinaryContext(BinaryMetadataHandler metaHnd,
IgniteConfiguration igniteCfg,
+ public TestBinaryContext(BinaryMetadataHandler metaHnd,
IgniteConfiguration cfg,
IgniteLogger log) {
- super(metaHnd, igniteCfg, log);
+ super(metaHnd, cfg.getIgniteInstanceName(), cfg.getClassLoader(),
cfg.getBinaryConfiguration(), log);
}
/** {@inheritDoc} */
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientListenerNioListener.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientListenerNioListener.java
index 49497262ac1..ee1a981e488 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientListenerNioListener.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientListenerNioListener.java
@@ -23,7 +23,6 @@ import java.util.function.Predicate;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.configuration.ClientConnectorConfiguration;
-import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.configuration.ThinClientConfiguration;
import org.apache.ignite.failure.FailureContext;
import org.apache.ignite.failure.FailureType;
@@ -357,7 +356,7 @@ public class ClientListenerNioListener extends
GridNioServerListenerAdapter<Clie
* @param msg Message bytes.
*/
private void onHandshake(GridNioSession ses, ClientMessage msg) {
- BinaryContext ctx = new
BinaryContext(BinaryUtils.cachingMetadataHandler(), new IgniteConfiguration(),
null);
+ BinaryContext ctx = U.emptyBinaryContext();
BinaryMarshaller marsh = new BinaryMarshaller();
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformUtils.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformUtils.java
index 624ef6eb4f4..2603203cec9 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformUtils.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformUtils.java
@@ -42,7 +42,6 @@ import org.apache.ignite.binary.BinaryObject;
import org.apache.ignite.binary.BinaryRawReader;
import org.apache.ignite.binary.BinaryRawWriter;
import org.apache.ignite.cache.CachePeekMode;
-import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.GridKernalContext;
import org.apache.ignite.internal.IgniteKernal;
import org.apache.ignite.internal.MarshallerContextImpl;
@@ -883,8 +882,7 @@ public class PlatformUtils {
* @return Marshaller.
*/
public static GridBinaryMarshaller marshaller() {
- BinaryContext ctx =
- new BinaryContext(new IgniteConfiguration(), new NullLogger());
+ BinaryContext ctx = new BinaryContext(NullLogger.INSTANCE);
BinaryMarshaller marsh = new BinaryMarshaller();
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 4f86eb8023f..934e2873ad2 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
@@ -175,6 +175,8 @@ import
org.apache.ignite.internal.IgniteFutureCancelledCheckedException;
import org.apache.ignite.internal.IgniteFutureTimeoutCheckedException;
import org.apache.ignite.internal.IgniteInterruptedCheckedException;
import org.apache.ignite.internal.IgniteNodeAttributes;
+import org.apache.ignite.internal.binary.BinaryContext;
+import org.apache.ignite.internal.binary.BinaryUtils;
import org.apache.ignite.internal.binary.GridBinaryMarshaller;
import org.apache.ignite.internal.cluster.ClusterGroupEmptyCheckedException;
import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException;
@@ -219,6 +221,7 @@ import org.apache.ignite.lang.IgnitePredicate;
import org.apache.ignite.lang.IgniteProductVersion;
import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.lifecycle.LifecycleAware;
+import org.apache.ignite.logger.NullLogger;
import org.apache.ignite.logger.java.JavaLogger;
import org.apache.ignite.marshaller.Marshaller;
import org.apache.ignite.plugin.PluginProvider;
@@ -2047,14 +2050,23 @@ public abstract class IgniteUtils extends CommonUtils {
* ClassLoader at IgniteConfiguration in case it is not null or
* ClassLoader used to start Ignite.
*/
- public static ClassLoader resolveClassLoader(ClassLoader ldr,
IgniteConfiguration cfg) {
+ public static ClassLoader resolveClassLoader(@Nullable ClassLoader ldr,
IgniteConfiguration cfg) {
assert cfg != null;
- return (ldr != null && ldr != gridClassLoader) ?
- ldr :
- cfg.getClassLoader() != null ?
- cfg.getClassLoader() :
- gridClassLoader;
+ return resolveClassLoader(ldr, cfg.getClassLoader());
+ }
+
+ /**
+ * @param ldr Custom class loader.
+ * @param cfgLdr Class loader from config.
+ * @return ClassLoader passed as param in case it is not null or cfgLdr
in case it is not null or ClassLoader used to start Ignite.
+ */
+ public static ClassLoader resolveClassLoader(@Nullable ClassLoader ldr,
@Nullable ClassLoader cfgLdr) {
+ return (ldr != null && ldr != gridClassLoader)
+ ? ldr
+ : cfgLdr != null
+ ? cfgLdr
+ : gridClassLoader;
}
/**
@@ -9810,6 +9822,11 @@ public abstract class IgniteUtils extends CommonUtils {
return
kctx.config().getTransactionConfiguration().isTxAwareQueriesEnabled();
}
+ /** @return Empty binary context instance. */
+ public static BinaryContext emptyBinaryContext() {
+ return new BinaryContext(BinaryUtils.cachingMetadataHandler(),
NullLogger.INSTANCE);
+ }
+
/**
* @param ctx {@link GridKernalContext}.
* @return A warning message indicating excessive RAM usage or {@code
null} if the RAM usage is within acceptable
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryContextPredefinedTypesTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryContextPredefinedTypesTest.java
index abe926bdf23..83481a1145e 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryContextPredefinedTypesTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryContextPredefinedTypesTest.java
@@ -17,7 +17,7 @@
package org.apache.ignite.internal.binary;
-import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import org.junit.Test;
@@ -30,7 +30,7 @@ public class BinaryContextPredefinedTypesTest extends
GridCommonAbstractTest {
*/
@Test
public void testDefaultConstructor() {
- BinaryContext binCtx = new BinaryContext(new IgniteConfiguration(),
log);
+ BinaryContext binCtx = U.emptyBinaryContext();
for (BinaryClassDescriptor desc : binCtx.predefinedTypes()) {
if (!desc.isBinary())
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryFieldExtractionSelfTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryFieldExtractionSelfTest.java
index 43dfa4f1c4b..a18de6d3db6 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryFieldExtractionSelfTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryFieldExtractionSelfTest.java
@@ -43,8 +43,7 @@ public class BinaryFieldExtractionSelfTest extends
GridCommonAbstractTest {
* @throws Exception If failed.
*/
protected BinaryMarshaller createMarshaller() throws Exception {
- BinaryContext ctx = new
BinaryContext(BinaryUtils.cachingMetadataHandler(), new IgniteConfiguration(),
- log());
+ BinaryContext ctx = U.emptyBinaryContext();
BinaryMarshaller marsh = new BinaryMarshaller();
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryFieldsAbstractSelfTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryFieldsAbstractSelfTest.java
index eca49bd53c3..2f9d34d248d 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryFieldsAbstractSelfTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryFieldsAbstractSelfTest.java
@@ -29,7 +29,6 @@ import org.apache.ignite.configuration.BinaryConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.logger.NullLogger;
import org.apache.ignite.marshaller.MarshallerContextTestImpl;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import org.junit.Test;
@@ -48,8 +47,7 @@ public abstract class BinaryFieldsAbstractSelfTest extends
GridCommonAbstractTes
* @throws Exception If failed.
*/
protected BinaryMarshaller createMarshaller() throws Exception {
- BinaryContext ctx = new
BinaryContext(BinaryUtils.cachingMetadataHandler(), new IgniteConfiguration(),
- new NullLogger());
+ BinaryContext ctx = U.emptyBinaryContext();
BinaryMarshaller marsh = new BinaryMarshaller();
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryFooterOffsetsAbstractSelfTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryFooterOffsetsAbstractSelfTest.java
index ebf80d30b28..011015c18b7 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryFooterOffsetsAbstractSelfTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryFooterOffsetsAbstractSelfTest.java
@@ -22,7 +22,7 @@ import org.apache.ignite.binary.BinaryField;
import org.apache.ignite.binary.BinaryTypeConfiguration;
import org.apache.ignite.configuration.BinaryConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.logger.NullLogger;
+import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.marshaller.MarshallerContextTestImpl;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import org.junit.Test;
@@ -47,7 +47,7 @@ public abstract class BinaryFooterOffsetsAbstractSelfTest
extends GridCommonAbst
@Override protected void beforeTest() throws Exception {
super.beforeTest();
- ctx = new BinaryContext(BinaryUtils.cachingMetadataHandler(), new
IgniteConfiguration(), new NullLogger());
+ ctx = U.emptyBinaryContext();
marsh = new BinaryMarshaller();
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryMarshallerSelfTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryMarshallerSelfTest.java
index c969690c889..b60a2de675e 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryMarshallerSelfTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryMarshallerSelfTest.java
@@ -4166,7 +4166,13 @@ public class BinaryMarshallerSelfTest extends
AbstractBinaryArraysTest {
});
iCfg.setSystemViewExporterSpi(new JmxSystemViewExporterSpi());
- BinaryContext ctx = new
BinaryContext(BinaryUtils.cachingMetadataHandler(), iCfg, new NullLogger());
+ BinaryContext ctx = new BinaryContext(
+ BinaryUtils.cachingMetadataHandler(),
+ iCfg.getIgniteInstanceName(),
+ iCfg.getClassLoader(),
+ iCfg.getBinaryConfiguration(),
+ NullLogger.INSTANCE
+ );
BinaryMarshaller marsh = new BinaryMarshaller();
@@ -4227,7 +4233,13 @@ public class BinaryMarshallerSelfTest extends
AbstractBinaryArraysTest {
});
iCfg.setSystemViewExporterSpi(new JmxSystemViewExporterSpi());
- BinaryContext ctx = new
BinaryContext(BinaryUtils.cachingMetadataHandler(), iCfg, new NullLogger());
+ BinaryContext ctx = new BinaryContext(
+ BinaryUtils.cachingMetadataHandler(),
+ iCfg.getIgniteInstanceName(),
+ iCfg.getClassLoader(),
+ iCfg.getBinaryConfiguration(),
+ NullLogger.INSTANCE
+ );
BinaryMarshaller marsh = new BinaryMarshaller();
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/binary/GridBinaryMarshallerCtxDisabledSelfTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/binary/GridBinaryMarshallerCtxDisabledSelfTest.java
index 964d8b8ad2f..51d5ee21952 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/binary/GridBinaryMarshallerCtxDisabledSelfTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/binary/GridBinaryMarshallerCtxDisabledSelfTest.java
@@ -28,8 +28,8 @@ import org.apache.ignite.binary.BinaryReader;
import org.apache.ignite.binary.BinaryWriter;
import org.apache.ignite.binary.Binarylizable;
import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgnitePredicate;
-import org.apache.ignite.logger.NullLogger;
import org.apache.ignite.marshaller.MarshallerContext;
import org.apache.ignite.marshaller.jdk.JdkMarshaller;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
@@ -47,11 +47,9 @@ public class GridBinaryMarshallerCtxDisabledSelfTest extends
GridCommonAbstractT
BinaryMarshaller marsh = new BinaryMarshaller();
marsh.setContext(new MarshallerContextWithNoStorage());
- IgniteConfiguration cfg = new IgniteConfiguration();
+ BinaryContext ctx = U.emptyBinaryContext();
- BinaryContext ctx = new
BinaryContext(BinaryUtils.cachingMetadataHandler(), cfg, new NullLogger());
-
- marsh.setBinaryContext(ctx, cfg);
+ marsh.setBinaryContext(ctx, new IgniteConfiguration());
SimpleObject simpleObj = new SimpleObject();
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/binary/GridBinaryWildcardsSelfTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/binary/GridBinaryWildcardsSelfTest.java
index 703c1ee5396..5d7de3c3b2a 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/binary/GridBinaryWildcardsSelfTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/binary/GridBinaryWildcardsSelfTest.java
@@ -674,7 +674,13 @@ public class GridBinaryWildcardsSelfTest extends
GridCommonAbstractTest {
iCfg.setBinaryConfiguration(bCfg);
- BinaryContext ctx = new BinaryContext(iCfg, new NullLogger());
+ BinaryContext ctx = new BinaryContext(
+ BinaryNoopMetadataHandler.instance(),
+ iCfg.getIgniteInstanceName(),
+ iCfg.getClassLoader(),
+ bCfg,
+ NullLogger.INSTANCE
+ );
BinaryMarshaller marsh = new BinaryMarshaller();
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/binary/RawBinaryObjectExtractorTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/binary/RawBinaryObjectExtractorTest.java
index d9298b3ff20..420ee554f6c 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/binary/RawBinaryObjectExtractorTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/binary/RawBinaryObjectExtractorTest.java
@@ -27,7 +27,6 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import org.apache.ignite.binary.BinaryObject;
-import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.binary.builder.BinaryObjectBuilders;
import
org.apache.ignite.internal.binary.mutabletest.GridBinaryTestClasses.TestObjectAllTypes;
import org.apache.ignite.internal.binary.streams.BinaryStreams;
@@ -78,7 +77,7 @@ public class RawBinaryObjectExtractorTest extends
GridCommonAbstractTest {
/** */
public static BinaryContext createTestBinaryContext() {
- BinaryContext ctx = new
BinaryContext(BinaryUtils.cachingMetadataHandler(), new IgniteConfiguration(),
null);
+ BinaryContext ctx = U.emptyBinaryContext();
BinaryMarshaller marsh = new BinaryMarshaller();
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridBinaryCacheEntryMemorySizeSelfTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridBinaryCacheEntryMemorySizeSelfTest.java
index 460b059debd..c96b0458692 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridBinaryCacheEntryMemorySizeSelfTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridBinaryCacheEntryMemorySizeSelfTest.java
@@ -26,7 +26,7 @@ import
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager;
import org.apache.ignite.internal.managers.systemview.GridSystemViewManager;
import org.apache.ignite.internal.managers.systemview.JmxSystemViewExporterSpi;
import
org.apache.ignite.internal.processors.cache.GridCacheEntryMemorySizeSelfTest;
-import org.apache.ignite.logger.NullLogger;
+import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.marshaller.Marshaller;
import org.apache.ignite.marshaller.MarshallerContextTestImpl;
import org.apache.ignite.spi.discovery.DiscoverySpiCustomMessage;
@@ -66,7 +66,7 @@ public class GridBinaryCacheEntryMemorySizeSelfTest extends
GridCacheEntryMemory
marsh.setContext(marshCtx);
- BinaryContext pCtx = new BinaryContext(iCfg, new NullLogger());
+ BinaryContext pCtx = U.emptyBinaryContext();
marsh.setBinaryContext(pCtx, iCfg);
diff --git
a/modules/core/src/test/java/org/apache/ignite/platform/PlatformGetInternalCachesTask.java
b/modules/core/src/test/java/org/apache/ignite/platform/PlatformGetInternalCachesTask.java
index 33fbe309f28..dbbf10a84c9 100644
---
a/modules/core/src/test/java/org/apache/ignite/platform/PlatformGetInternalCachesTask.java
+++
b/modules/core/src/test/java/org/apache/ignite/platform/PlatformGetInternalCachesTask.java
@@ -27,7 +27,6 @@ import org.apache.ignite.compute.ComputeJob;
import org.apache.ignite.compute.ComputeJobAdapter;
import org.apache.ignite.compute.ComputeJobResult;
import org.apache.ignite.compute.ComputeTaskAdapter;
-import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.IgniteEx;
import org.apache.ignite.internal.binary.BinaryContext;
import org.apache.ignite.internal.binary.BinaryUtils;
@@ -36,6 +35,7 @@ import
org.apache.ignite.internal.binary.streams.BinaryStreams;
import org.apache.ignite.internal.processors.cache.IgniteInternalCache;
import
org.apache.ignite.internal.processors.platform.utils.PlatformConfigurationUtils;
import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.resources.IgniteInstanceResource;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -69,7 +69,7 @@ public class PlatformGetInternalCachesTask extends
ComputeTaskAdapter<Object, by
@Override public byte[] execute() {
IgniteEx ign = (IgniteEx)ignite;
- BinaryContext ctx = new
BinaryContext(BinaryUtils.cachingMetadataHandler(), new IgniteConfiguration(),
null);
+ BinaryContext ctx = U.emptyBinaryContext();
try (BinaryWriterEx writer
= BinaryUtils.writer(ctx,
BinaryStreams.outputStream(512), null)) {
diff --git
a/modules/core/src/test/java/org/apache/ignite/session/GridSessionCheckpointSelfTest.java
b/modules/core/src/test/java/org/apache/ignite/session/GridSessionCheckpointSelfTest.java
index 90fa43d26b4..f14dd60f071 100644
---
a/modules/core/src/test/java/org/apache/ignite/session/GridSessionCheckpointSelfTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/session/GridSessionCheckpointSelfTest.java
@@ -100,7 +100,13 @@ public class GridSessionCheckpointSelfTest extends
GridSessionCheckpointAbstract
BinaryMarshaller marsh = new BinaryMarshaller();
- BinaryContext ctx = new
BinaryContext(BinaryUtils.cachingMetadataHandler(), cfg, new NullLogger());
+ BinaryContext ctx = new BinaryContext(
+ BinaryUtils.cachingMetadataHandler(),
+ cfg.getIgniteInstanceName(),
+ cfg.getClassLoader(),
+ cfg.getBinaryConfiguration(),
+ NullLogger.INSTANCE
+ );
marsh.setContext(new MarshallerContextTestImpl(null));
diff --git
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
index 1695538f97d..40de6532bc6 100755
---
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
@@ -2024,7 +2024,13 @@ public abstract class GridAbstractTest extends
JUnitAssertAware {
protected BinaryMarshaller
createStandaloneBinaryMarshaller(IgniteConfiguration cfg) throws
IgniteCheckedException {
BinaryMarshaller marsh = new BinaryMarshaller();
- BinaryContext ctx = new
BinaryContext(BinaryUtils.cachingMetadataHandler(), cfg, new NullLogger());
+ BinaryContext ctx = new BinaryContext(
+ BinaryUtils.cachingMetadataHandler(),
+ cfg.getIgniteInstanceName(),
+ cfg.getClassLoader(),
+ cfg.getBinaryConfiguration(),
+ NullLogger.INSTANCE
+ );
marsh.setContext(new MarshallerContextTestImpl());
diff --git
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridTestBinaryMarshaller.java
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridTestBinaryMarshaller.java
index da1d31646a8..96b1d07a035 100644
---
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridTestBinaryMarshaller.java
+++
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridTestBinaryMarshaller.java
@@ -75,7 +75,13 @@ public class GridTestBinaryMarshaller {
}
});
- BinaryContext ctx = new
BinaryContext(BinaryUtils.cachingMetadataHandler(), iCfg, new NullLogger());
+ BinaryContext ctx = new BinaryContext(
+ BinaryUtils.cachingMetadataHandler(),
+ iCfg.getIgniteInstanceName(),
+ iCfg.getClassLoader(),
+ iCfg.getBinaryConfiguration(),
+ NullLogger.INSTANCE
+ );
MarshallerContextTestImpl marshCtx = new MarshallerContextTestImpl();
diff --git
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java
index 7a87fcd367e..0a0de30dfcb 100644
---
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java
+++
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java
@@ -74,6 +74,7 @@ import
org.apache.ignite.internal.processors.cache.persistence.wal.reader.Standa
import org.apache.ignite.internal.processors.cacheobject.NoOpBinary;
import
org.apache.ignite.internal.processors.subscription.GridInternalSubscriptionProcessor;
import
org.apache.ignite.internal.processors.tracing.configuration.NoopTracingConfigurationManager;
+import org.apache.ignite.internal.util.typedef.internal.CU;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteBiTuple;
import org.apache.ignite.lang.IgnitePredicate;
@@ -442,13 +443,19 @@ public class IgniteMock implements IgniteEx {
if (ctx == null) {
/** {@inheritDoc} */
- ctx = new BinaryContext(BinaryUtils.cachingMetadataHandler(),
configuration(), new NullLogger()) {
+ ctx = new BinaryContext(
+ BinaryUtils.cachingMetadataHandler(),
+ configuration().getIgniteInstanceName(),
+ configuration().getClassLoader(),
+ configuration().getBinaryConfiguration(),
+ new NullLogger()
+ ) {
@Override public int typeId(String typeName) {
return typeName.hashCode();
}
};
- ctx.configure((BinaryMarshaller)marshaller,
configuration().getBinaryConfiguration());
+ ctx.configure((BinaryMarshaller)marshaller,
configuration().getBinaryConfiguration(), CU.affinityFields(configuration()));
}
binaryMock = new NoOpBinary() {
diff --git
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteTestResources.java
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteTestResources.java
index f91c062cb87..d3d208348e5 100644
---
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteTestResources.java
+++
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteTestResources.java
@@ -28,12 +28,9 @@ import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.SensitiveInfoTestLoggerProxy;
-import org.apache.ignite.internal.binary.BinaryContext;
import org.apache.ignite.internal.binary.BinaryMarshaller;
-import org.apache.ignite.internal.binary.BinaryUtils;
import org.apache.ignite.internal.processors.resource.GridResourceProcessor;
import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.logger.NullLogger;
import org.apache.ignite.marshaller.Marshaller;
import org.apache.ignite.marshaller.MarshallerContextTestImpl;
import org.apache.ignite.resources.IgniteInstanceResource;
@@ -251,7 +248,7 @@ public class IgniteTestResources {
marsh.setContext(new MarshallerContextTestImpl());
marsh.setBinaryContext(
- new BinaryContext(BinaryUtils.cachingMetadataHandler(), new
IgniteConfiguration(), new NullLogger()),
+ U.emptyBinaryContext(),
new IgniteConfiguration()
);