alex-plekhanov commented on a change in pull request #9490:
URL: https://github.com/apache/ignite/pull/9490#discussion_r759255688
##########
File path:
modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryReaderExImpl.java
##########
@@ -1364,10 +1364,16 @@ float readFloat(int fieldId) throws
BinaryObjectException {
@Nullable @Override public Object[] readObjectArray() throws
BinaryObjectException {
switch (checkFlag(OBJ_ARR)) {
case NORMAL:
- return BinaryUtils.doReadObjectArray(in, ctx, ldr, this,
false, true);
+ if (BinaryArray.useBinaryArrays())
+ return BinaryUtils.doReadBinaryArray(in, ctx, ldr, this,
false, true).deserialize(ldr);
Review comment:
Not fixed (there was comment about it)
##########
File path:
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectUtils.java
##########
@@ -201,8 +203,10 @@ public static Object unwrapBinary(
return unwrapKnownCollection(ctx, (Collection<Object>)o,
keepBinary, cpy);
else if (BinaryUtils.knownMap(o))
return unwrapBinariesIfNeeded(ctx, (Map<Object, Object>)o,
keepBinary, cpy);
- else if (o instanceof Object[])
+ else if (o instanceof Object[] && !BinaryArray.useBinaryArrays())
Review comment:
Do we really need `!BinaryArray.useBinaryArrays()` condition here?
##########
File path:
modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
##########
@@ -2060,10 +2065,50 @@ public static Object doReadOptimized(BinaryInputStream
in, BinaryContext ctx, @N
handles.setHandle(arr, hPos);
+ for (int i = 0; i < len; i++) {
+ Object res = deserializeOrUnmarshal(in, ctx, ldr, handles, detach,
deserialize);
+
+ if (deserialize && BinaryArray.useBinaryArrays() && res instanceof
BinaryObject)
Review comment:
We already call `deserializeOrUnmarshal` with deserialize = true, why do
we need to deserialize again?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]