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 520bb88cbf2 IGNITE-27155 BinaryWriterExImpl#failIfUnregistered can be 
final (#12528)
520bb88cbf2 is described below

commit 520bb88cbf2d76bbcad859ee221433c615e66f89
Author: Nikolay <[email protected]>
AuthorDate: Tue Nov 25 01:27:18 2025 +0300

    IGNITE-27155 BinaryWriterExImpl#failIfUnregistered can be final (#12528)
---
 .../apache/ignite/internal/binary/BinaryUtils.java | 15 ++++++++---
 .../ignite/internal/binary/BinaryWriterEx.java     |  5 ----
 .../ignite/internal/binary/BinaryWriterExImpl.java | 29 ++++++++++------------
 .../internal/binary/GridBinaryMarshaller.java      |  4 +--
 .../binary/builder/BinaryObjectBuilderImpl.java    | 10 ++++----
 .../internal/binary/BinaryMarshallerSelfTest.java  |  2 +-
 .../binary/RawBinaryObjectExtractorTest.java       |  2 +-
 7 files changed, 32 insertions(+), 35 deletions(-)

diff --git 
a/modules/binary/api/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
 
b/modules/binary/api/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
index 690e6c91f30..4ce858fca0e 100644
--- 
a/modules/binary/api/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
+++ 
b/modules/binary/api/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
@@ -2921,12 +2921,19 @@ public class BinaryUtils {
 
     /**
      * @param ctx Context.
+     * @param failIfUnregistered Flag to fail while writing object of 
unregistered type.
      * @return Writer instance.
      */
-    public static BinaryWriterEx writer(BinaryContext ctx) {
+    public static BinaryWriterEx writer(BinaryContext ctx, boolean 
failIfUnregistered) {
         BinaryThreadLocalContext locCtx = BinaryThreadLocalContext.get();
 
-        return new BinaryWriterExImpl(ctx, 
BinaryStreams.outputStream((int)CommonUtils.KB, locCtx.chunk()), 
locCtx.schemaHolder(), null);
+        return new BinaryWriterExImpl(
+            ctx,
+            BinaryStreams.outputStream((int)CommonUtils.KB, locCtx.chunk()),
+            locCtx.schemaHolder(),
+            null,
+            failIfUnregistered
+        );
     }
 
     /**
@@ -2935,7 +2942,7 @@ public class BinaryUtils {
      * @return Writer instance.
      */
     public static BinaryWriterEx writer(BinaryContext ctx, BinaryOutputStream 
out) {
-        return new BinaryWriterExImpl(ctx, out, 
BinaryThreadLocalContext.get().schemaHolder(), null);
+        return new BinaryWriterExImpl(ctx, out, 
BinaryThreadLocalContext.get().schemaHolder(), null, false);
     }
 
     /**
@@ -2944,7 +2951,7 @@ public class BinaryUtils {
      * @return Writer instance.
      */
     public static BinaryWriterEx writer(BinaryContext ctx, BinaryOutputStream 
out, BinaryWriterSchemaHolder schema) {
-        return new BinaryWriterExImpl(ctx, out, schema, null);
+        return new BinaryWriterExImpl(ctx, out, schema, null, false);
     }
 
     /** @return Instance of caching handler. */
diff --git 
a/modules/binary/api/src/main/java/org/apache/ignite/internal/binary/BinaryWriterEx.java
 
b/modules/binary/api/src/main/java/org/apache/ignite/internal/binary/BinaryWriterEx.java
index fdd8882b306..5c73676c6bf 100644
--- 
a/modules/binary/api/src/main/java/org/apache/ignite/internal/binary/BinaryWriterEx.java
+++ 
b/modules/binary/api/src/main/java/org/apache/ignite/internal/binary/BinaryWriterEx.java
@@ -66,11 +66,6 @@ public interface BinaryWriterEx extends BinaryWriter, 
BinaryRawWriter, ObjectOut
      */
     public boolean failIfUnregistered();
 
-    /**
-     * @param failIfUnregistered Fail if unregistered.
-     */
-    public void failIfUnregistered(boolean failIfUnregistered);
-
     /**
      * @param obj Object.
      * @throws org.apache.ignite.binary.BinaryObjectException In case of error.
diff --git 
a/modules/binary/api/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java
 
b/modules/binary/api/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java
index 4ab8eadac60..ed1b092e9ad 100644
--- 
a/modules/binary/api/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java
+++ 
b/modules/binary/api/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java
@@ -83,18 +83,26 @@ class BinaryWriterExImpl implements BinaryWriterEx {
     private BinaryInternalMapper mapper;
 
     /** */
-    private boolean failIfUnregistered;
+    private final boolean failIfUnregistered;
 
     /**
      * @param ctx Context.
      * @param out Output stream.
      * @param handles Handles.
+     * @param failIfUnregistered Flag to fail while writing object of 
unregistered type.
      */
-    public BinaryWriterExImpl(BinaryContext ctx, BinaryOutputStream out, 
BinaryWriterSchemaHolder schema, BinaryWriterHandles handles) {
+    public BinaryWriterExImpl(
+        BinaryContext ctx,
+        BinaryOutputStream out,
+        BinaryWriterSchemaHolder schema,
+        BinaryWriterHandles handles,
+        boolean failIfUnregistered
+    ) {
         this.ctx = ctx;
         this.out = out;
         this.schema = schema;
         this.handles = handles;
+        this.failIfUnregistered = failIfUnregistered;
 
         start = out.position();
     }
@@ -104,11 +112,6 @@ class BinaryWriterExImpl implements BinaryWriterEx {
         return failIfUnregistered;
     }
 
-    /** {@inheritDoc} */
-    @Override public void failIfUnregistered(boolean failIfUnregistered) {
-        this.failIfUnregistered = failIfUnregistered;
-    }
-
     /** {@inheritDoc} */
     @Override public void typeId(int typeId) {
         this.typeId = typeId;
@@ -844,9 +847,7 @@ class BinaryWriterExImpl implements BinaryWriterEx {
         if (obj == null)
             out.writeByte(GridBinaryMarshaller.NULL);
         else {
-            BinaryWriterExImpl writer = new BinaryWriterExImpl(ctx, out, 
schema, handles());
-
-            writer.failIfUnregistered(failIfUnregistered);
+            BinaryWriterExImpl writer = new BinaryWriterExImpl(ctx, out, 
schema, handles(), failIfUnregistered);
 
             writer.marshal(obj);
         }
@@ -857,9 +858,7 @@ class BinaryWriterExImpl implements BinaryWriterEx {
         if (obj == null)
             out.writeByte(GridBinaryMarshaller.NULL);
         else {
-            BinaryWriterExImpl writer = new BinaryWriterExImpl(ctx, out, 
schema, null);
-
-            writer.failIfUnregistered(failIfUnregistered);
+            BinaryWriterExImpl writer = new BinaryWriterExImpl(ctx, out, 
schema, null, failIfUnregistered);
 
             writer.marshal(obj);
         }
@@ -1538,9 +1537,7 @@ class BinaryWriterExImpl implements BinaryWriterEx {
 
     /** {@inheritDoc} */
     @Override public BinaryWriterEx newWriter(int typeId) {
-        BinaryWriterExImpl res = new BinaryWriterExImpl(ctx, out, schema, 
handles());
-
-        res.failIfUnregistered(failIfUnregistered);
+        BinaryWriterExImpl res = new BinaryWriterExImpl(ctx, out, schema, 
handles(), failIfUnregistered);
 
         res.typeId(typeId);
 
diff --git 
a/modules/binary/api/src/main/java/org/apache/ignite/internal/binary/GridBinaryMarshaller.java
 
b/modules/binary/api/src/main/java/org/apache/ignite/internal/binary/GridBinaryMarshaller.java
index 311c629b553..eed925e070d 100644
--- 
a/modules/binary/api/src/main/java/org/apache/ignite/internal/binary/GridBinaryMarshaller.java
+++ 
b/modules/binary/api/src/main/java/org/apache/ignite/internal/binary/GridBinaryMarshaller.java
@@ -250,9 +250,7 @@ public class GridBinaryMarshaller {
         if (obj == null)
             return new byte[] { NULL };
 
-        try (BinaryWriterEx writer = BinaryUtils.writer(ctx)) {
-            writer.failIfUnregistered(failIfUnregistered);
-
+        try (BinaryWriterEx writer = BinaryUtils.writer(ctx, 
failIfUnregistered)) {
             writer.marshal(obj);
 
             return writer.array();
diff --git 
a/modules/binary/impl/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectBuilderImpl.java
 
b/modules/binary/impl/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectBuilderImpl.java
index 1993d1b01c1..3eca70ca1f6 100644
--- 
a/modules/binary/impl/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectBuilderImpl.java
+++ 
b/modules/binary/impl/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectBuilderImpl.java
@@ -172,12 +172,12 @@ class BinaryObjectBuilderImpl implements 
BinaryObjectBuilderEx {
 
     /** {@inheritDoc} */
     @Override public BinaryObject build() {
-        try (BinaryWriterEx writer = BinaryUtils.writer(ctx)) {
-            Thread curThread = Thread.currentThread();
-
-            if (curThread instanceof IgniteThread)
-                
writer.failIfUnregistered(((IgniteThread)curThread).isForbiddenToRequestBinaryMetadata());
+        Thread curThread = Thread.currentThread();
 
+        try (BinaryWriterEx writer = BinaryUtils.writer(
+            ctx,
+            curThread instanceof IgniteThread && 
((IgniteThread)curThread).isForbiddenToRequestBinaryMetadata())
+        ) {
             writer.typeId(typeId);
 
             BinaryBuilderSerializer serializationCtx = new 
BinaryBuilderSerializer();
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 1423f520b5b..955826b8f3f 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
@@ -3019,7 +3019,7 @@ public class BinaryMarshallerSelfTest extends 
AbstractBinaryArraysTest {
 
         BinaryMarshaller marsh = binaryMarshaller();
 
-        try (BinaryWriterEx writer = BinaryUtils.writer(binaryContext(marsh))) 
{
+        try (BinaryWriterEx writer = BinaryUtils.writer(binaryContext(marsh), 
false)) {
             assertEquals(true, BinaryStreamsTestUtils.threadLocalIsAcquired());
 
             writer.writeString("Thread local test");
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 1f4fe14c8fa..3cf2d7b570f 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
@@ -49,7 +49,7 @@ public class RawBinaryObjectExtractorTest extends 
GridCommonAbstractTest {
         
         byte[] serializedTestObjectsBytes;
 
-        try (BinaryWriterEx writer = BinaryUtils.writer(ctx)) {
+        try (BinaryWriterEx writer = BinaryUtils.writer(ctx, false)) {
             testObjects.forEach(writer::writeObject);
 
             serializedTestObjectsBytes = writer.array();

Reply via email to