From 2209dc63ee4acbe09ebcea70cc5204822fb9bd7a Mon Sep 17 00:00:00 2001 From: Shan Hao Date: Thu, 6 Nov 2025 23:18:07 -0800 Subject: [PATCH] remove trailing uninitialized bytes in the binary result array Summary: Remove the uninitialized bytes in binaryData, so we can reduce the binary response size. {F1983340076} Differential Revision: D85720910 --- .../main/java/com/facebook/presto/server/protocol/Query.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/presto-main/src/main/java/com/facebook/presto/server/protocol/Query.java b/presto-main/src/main/java/com/facebook/presto/server/protocol/Query.java index 7c5ab66d0fd40..b0545547e9a0f 100644 --- a/presto-main/src/main/java/com/facebook/presto/server/protocol/Query.java +++ b/presto-main/src/main/java/com/facebook/presto/server/protocol/Query.java @@ -52,6 +52,7 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; +import com.google.common.io.BaseEncoding; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import com.google.errorprone.annotations.ThreadSafe; @@ -521,7 +522,8 @@ private synchronized QueryResults getNextResult(long token, UriInfo uriInfo, Str DynamicSliceOutput sliceOutput = new DynamicSliceOutput(1000); writeSerializedPage(sliceOutput, serializedPage); - String encodedPage = BASE64_ENCODER.encodeToString(sliceOutput.slice().byteArray()); + byte[] binaryResultArray = sliceOutput.slice().byteArray(); + String encodedPage = BaseEncoding.base64().encode(binaryResultArray, 0, sliceOutput.size()); pages.add(encodedPage); } if (rows > 0) {