You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by js...@apache.org on 2026/02/13 12:15:48 UTC
(jackrabbit-oak) 01/01: OAK-12094 - segment-azure: increased heap usage due to OAK-12040
This is an automated email from the ASF dual-hosted git repository.
jsedding pushed a commit to branch jsedding/OAK-12096-memory-usage-regression
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
commit a332fde5f3abb4ba8b38c09e5082d16f380ac1b9
Author: Julian Sedding <js...@apache.org>
AuthorDate: Fri Feb 13 13:12:50 2026 +0100
OAK-12094 - segment-azure: increased heap usage due to OAK-12040
---
.../jackrabbit/oak/segment/azure/AzureSegmentArchiveWriter.java | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureSegmentArchiveWriter.java b/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureSegmentArchiveWriter.java
index 5daeb3586f..9f28315bc9 100644
--- a/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureSegmentArchiveWriter.java
+++ b/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureSegmentArchiveWriter.java
@@ -34,6 +34,7 @@ import org.apache.jackrabbit.oak.segment.spi.monitor.IOMonitor;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
+import java.util.Arrays;
import java.util.concurrent.TimeUnit;
import static org.apache.jackrabbit.oak.segment.azure.AzureUtilities.readBufferFully;
@@ -82,8 +83,9 @@ public class AzureSegmentArchiveWriter extends AbstractRemoteSegmentArchiveWrite
// Upload the binary data and set its metadata using a single HTTP call,
// overwriting an existing blob if necessary. Wrapping the byte array in a
// ByteArrayInputStream avoids creating a copy of the data range.
- BinaryData binaryData = BinaryData.fromStream(new ByteArrayInputStream(data, offset, size), (long) size);
- BlockBlobSimpleUploadOptions options = new BlockBlobSimpleUploadOptions(binaryData)
+ // Note: OAK-12094 fixes an interesting regression in heap usage, which
+ // should be read for context when making changes in the lines below.
+ BlockBlobSimpleUploadOptions options = new BlockBlobSimpleUploadOptions(new ByteArrayInputStream(data, offset, size), size)
.setMetadata(AzureBlobMetadata.toSegmentMetadata(indexEntry));
blob.uploadWithResponse(options, null, Context.NONE);
} catch (BlobStorageException e) {