You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by ke...@apache.org on 2026/05/15 03:25:43 UTC

(tinkerpop) branch jstream2 updated: Slight options modifications.

This is an automated email from the ASF dual-hosted git repository.

kenhuuu pushed a commit to branch jstream2
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git


The following commit(s) were added to refs/heads/jstream2 by this push:
     new c3c63831f4 Slight options modifications.
c3c63831f4 is described below

commit c3c63831f4089cefbdd28d607b8a0cd46fc80fc6
Author: Ken Hu <10...@users.noreply.github.com>
AuthorDate: Thu May 14 20:25:15 2026 -0700

    Slight options modifications.
---
 .../gremlin/driver/handler/HttpStreamingResponseHandler.java      | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/handler/HttpStreamingResponseHandler.java b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/handler/HttpStreamingResponseHandler.java
index ea0d897aac..602148d848 100644
--- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/handler/HttpStreamingResponseHandler.java
+++ b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/handler/HttpStreamingResponseHandler.java
@@ -90,7 +90,7 @@ public class HttpStreamingResponseHandler extends MessageToMessageDecoder<HttpOb
         this.graphBinaryReader = graphBinaryReader;
         this.pendingResultSet = pendingResultSet;
         this.maxResponseContentLength = maxResponseContentLength;
-        this.readerExecutor = new ThreadPoolExecutor(0, 1, 60L, TimeUnit.SECONDS,
+        this.readerExecutor = new ThreadPoolExecutor(0, 1, 30L, TimeUnit.SECONDS,
                 new LinkedBlockingQueue<>(),
                 new BasicThreadFactory.Builder().namingPattern(
                         "gremlin-driver-stream-reader-" + UUID.randomUUID().toString().substring(0, 8)).build());
@@ -179,9 +179,9 @@ public class HttpStreamingResponseHandler extends MessageToMessageDecoder<HttpOb
             queueInputStream.signalEndOfStream();
         }
         releaseErrorBody();
-        // shutdownNow() interrupts the reader thread if it's blocked waiting for data,
-        // ensuring it doesn't linger after the connection is gone.
-        readerExecutor.shutdownNow();
+        // The reader thread terminates naturally after consuming END_OF_STREAM.
+        // The executor's idle timeout reclaims the thread. We intentionally avoid
+        // shutdownNow() because the interrupt races with the reader's EOF handling.
         super.channelInactive(ctx);
     }