This is an automated email from the ASF dual-hosted git repository.

nizhikov pushed a commit to branch IGNITE-26044-bcfg
in repository https://gitbox.apache.org/repos/asf/ignite.git

commit 6c483ac5b556ff3236042240ccf849e45b0f589a
Author: Nikolay Izhikov <[email protected]>
AuthorDate: Mon Jul 28 20:52:59 2025 +0300

    IGNITE-26044 Code review fixes
---
 .../ignite/internal/binary/BinaryContext.java      | 35 ++++++++++++++--------
 1 file changed, 23 insertions(+), 12 deletions(-)

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 3d016fc9b99..40b2dc6fbb8 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
@@ -43,6 +43,7 @@ import java.util.TreeSet;
 import java.util.UUID;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
+import java.util.function.Function;
 import java.util.jar.JarEntry;
 import java.util.jar.JarFile;
 import org.apache.ignite.IgniteCheckedException;
@@ -77,6 +78,7 @@ 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.U;
 import org.apache.ignite.lang.IgniteBiTuple;
@@ -170,8 +172,11 @@ public class BinaryContext {
     /** */
     private MarshallerContext marshCtx;
 
-    /** Binary configuration. */
-    private final @Nullable BinaryConfiguration bcfg;
+    /** */
+    private final @Nullable BinarySerializer dfltSerializer;
+
+    /** */
+    private final Function<String, BinaryInternalMapper> mapperProvider;
 
     /** Logger. */
     private final IgniteLogger log;
@@ -200,7 +205,12 @@ public class BinaryContext {
         @Nullable String igniteInstanceName,
         @Nullable ClassLoader clsLdr,
         @Nullable BinaryConfiguration bcfg,
+        @Nullable BinarySerializer dfltSerializer,
+        @Nullable BinaryIdMapper idMapper,
+        @Nullable BinaryNameMapper nameMapper,
+        @Nullable Collection<BinaryTypeConfiguration> typeCfgs,
         Map<String, String> affFlds,
+        boolean compactFooter,
         IgniteLogger log
     ) {
         assert metaHnd != null;
@@ -210,7 +220,15 @@ public class BinaryContext {
         this.metaHnd = metaHnd;
         this.igniteInstanceName = igniteInstanceName;
         this.clsLdr = clsLdr;
-        this.bcfg = bcfg;
+        this.dfltSerializer = dfltSerializer;
+
+        if (idMapper != null || nameMapper != null || !F.isEmpty(typeCfgs))
+            this.mapperProvider = clsName -> resolveMapper(clsName, idMapper, 
nameMapper, typeCfgs);
+        else
+            this.mapperProvider = clsName -> DFLT_MAPPER;
+
+        this.compactFooter = compactFooter;
+
         this.log = log;
 
         colTypes.put(ArrayList.class, GridBinaryMarshaller.ARR_LIST);
@@ -380,8 +398,6 @@ public class BinaryContext {
             binaryCfg.getTypeConfigurations(),
             affFlds
         );
-
-        compactFooter = binaryCfg.isCompactFooter();
     }
 
     /**
@@ -932,7 +948,7 @@ public class BinaryContext {
      * @return Default serializer.
      */
     private BinarySerializer defaultSerializer() {
-        return bcfg != null ? bcfg.getSerializer() : null;
+        return dfltSerializer;
     }
 
     /**
@@ -1011,12 +1027,7 @@ public class BinaryContext {
         if (mapper != null)
             return mapper;
 
-        mapper = bcfg == null ? DFLT_MAPPER : resolveMapper(
-            clsName,
-            bcfg.getIdMapper(),
-            bcfg.getNameMapper(),
-            bcfg.getTypeConfigurations()
-        );
+        mapper = mapperProvider.apply(clsName);;
 
         BinaryInternalMapper prevMap = cls2Mappers.putIfAbsent(clsName, 
mapper);
 

Reply via email to