From c8cd8a129ce06f3d4fcff59b03879ef296ecfe37 Mon Sep 17 00:00:00 2001 From: BZO95 Date: Tue, 24 Feb 2026 14:02:31 +0800 Subject: [PATCH] rpc: account for error responses in batch size limit --- rpc/handler.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rpc/handler.go b/rpc/handler.go index c0af162f13..cdf20df466 100644 --- a/rpc/handler.go +++ b/rpc/handler.go @@ -238,6 +238,11 @@ func (h *handler) handleBatch(msgs []*jsonrpcMessage) { callBuffer.pushResponse(resp) if resp != nil && h.batchResponseMaxSize != 0 { responseBytes += len(resp.Result) + if resp.Error != nil { + if errData, err := json.Marshal(resp.Error); err == nil { + responseBytes += len(errData) + } + } if responseBytes > h.batchResponseMaxSize { err := &internalServerError{errcodeResponseTooLarge, errMsgResponseTooLarge} callBuffer.respondWithError(cp.ctx, h.conn, err)