From 64a8006d21d2ad0fdf92047474b6f937993e15e4 Mon Sep 17 00:00:00 2001 From: Glen Date: Mon, 26 Jan 2026 15:44:12 +0200 Subject: [PATCH] Fixed read conditions in IOperationDocumentStorage implementations --- .../AzureBlobOperationDocumentStorage.cs | 4 ++-- .../FileSystemOperationDocumentStorage.cs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/HotChocolate/PersistedOperations/src/PersistedOperations.AzureBlobStorage/AzureBlobOperationDocumentStorage.cs b/src/HotChocolate/PersistedOperations/src/PersistedOperations.AzureBlobStorage/AzureBlobOperationDocumentStorage.cs index 52fcd142e1b..148a17165fc 100644 --- a/src/HotChocolate/PersistedOperations/src/PersistedOperations.AzureBlobStorage/AzureBlobOperationDocumentStorage.cs +++ b/src/HotChocolate/PersistedOperations/src/PersistedOperations.AzureBlobStorage/AzureBlobOperationDocumentStorage.cs @@ -71,10 +71,10 @@ public AzureBlobOperationDocumentStorage(BlobContainerClient client) buffer = newBuffer; } - var read = await blobStream.ReadAsync(buffer, position, 256, ct); + var read = await blobStream.ReadAsync(buffer.AsMemory(position, 256), ct); position += read; - if (read < 256) + if (read == 0) { break; } diff --git a/src/HotChocolate/PersistedOperations/src/PersistedOperations.FileSystem/FileSystemOperationDocumentStorage.cs b/src/HotChocolate/PersistedOperations/src/PersistedOperations.FileSystem/FileSystemOperationDocumentStorage.cs index be86f5d1a94..e31a317b460 100644 --- a/src/HotChocolate/PersistedOperations/src/PersistedOperations.FileSystem/FileSystemOperationDocumentStorage.cs +++ b/src/HotChocolate/PersistedOperations/src/PersistedOperations.FileSystem/FileSystemOperationDocumentStorage.cs @@ -49,14 +49,14 @@ public FileSystemOperationDocumentStorage(IOperationDocumentFileMap documentMap) const int chunkSize = 4096; await using var stream = new FileStream(filePath, FileMode.Open, FileAccess.Read); using var writer = new PooledArrayWriter(); - var read = 0; + int read; do { var memory = writer.GetMemory(chunkSize); read = await stream.ReadAsync(memory, cancellationToken).ConfigureAwait(false); writer.Advance(read); - } while (read == chunkSize); + } while (read != 0); var document = Utf8GraphQLParser.Parse(writer.WrittenSpan); return new OperationDocument(document);