This is an automated email from the ASF dual-hosted git repository.
chaokunyang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fory.git
The following commit(s) were added to refs/heads/main by this push:
new c6325002b fix(java): array encoder seems to waste 8 bytes in encode(T)
(#2551)
c6325002b is described below
commit c6325002bc226afe2c9633884365cb2612a77e8d
Author: Steven Schlansker <[email protected]>
AuthorDate: Thu Aug 28 22:25:28 2025 -0700
fix(java): array encoder seems to waste 8 bytes in encode(T) (#2551)
the bytes at the end are always 0. are these bytes necessary?
---
.../src/main/java/org/apache/fory/format/encoder/Encoders.java | 2 +-
.../test/java/org/apache/fory/format/encoder/ArrayEncoderTest.java | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git
a/java/fory-format/src/main/java/org/apache/fory/format/encoder/Encoders.java
b/java/fory-format/src/main/java/org/apache/fory/format/encoder/Encoders.java
index 522f54b27..9cd2accc9 100644
---
a/java/fory-format/src/main/java/org/apache/fory/format/encoder/Encoders.java
+++
b/java/fory-format/src/main/java/org/apache/fory/format/encoder/Encoders.java
@@ -411,7 +411,7 @@ public class Encoders {
@Override
public byte[] encode(T obj) {
BinaryArray array = toArray(obj);
- return writer.getBuffer().getBytes(0, 8 + array.getSizeInBytes());
+ return writer.getBuffer().getBytes(0, array.getSizeInBytes());
}
@Override
diff --git
a/java/fory-format/src/test/java/org/apache/fory/format/encoder/ArrayEncoderTest.java
b/java/fory-format/src/test/java/org/apache/fory/format/encoder/ArrayEncoderTest.java
index e34d86739..c5f795c40 100644
---
a/java/fory-format/src/test/java/org/apache/fory/format/encoder/ArrayEncoderTest.java
+++
b/java/fory-format/src/test/java/org/apache/fory/format/encoder/ArrayEncoderTest.java
@@ -53,7 +53,7 @@ public class ArrayEncoderTest {
byte[] bs = encoder.encode(bars);
List<RowEncoderTest.Bar> bbars = encoder.decode(bs);
- Assert.assertEquals(bs.length, 224);
+ Assert.assertEquals(bs.length, 216);
Assert.assertEquals(bars, bbars);
testStreamingEncode(encoder, bars);
@@ -87,7 +87,7 @@ public class ArrayEncoderTest {
byte[] bs = encoder.encode(bars);
List<List<List<RowEncoderTest.Bar>>> bbars = encoder.decode(bs);
- Assert.assertEquals(bs.length, 1576);
+ Assert.assertEquals(bs.length, 1568);
Assert.assertEquals(bars, bbars);
testStreamingEncode(encoder, bars);
@@ -121,7 +121,7 @@ public class ArrayEncoderTest {
byte[] bs = encoder.encode(lmap);
List<List<Map<RowEncoderTest.Foo, List<RowEncoderTest.Bar>>>> blmap =
encoder.decode(bs);
- Assert.assertEquals(bs.length, 10824);
+ Assert.assertEquals(bs.length, 10816);
Assert.assertEquals(lmap, blmap);
testStreamingEncode(encoder, lmap);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]