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]

Reply via email to