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();