kenhuuu opened a new pull request, #3505:
URL: https://github.com/apache/tinkerpop/pull/3505

   The gremlin-driver streaming reader thread used a hardcoded 30s queue poll 
that ignored the configured readTimeout — so a client with readTimeout=0 ("no 
timeout", the default) was still cut off at 30s, and the failure surfaced as a 
raw IOException rather than a typed timeout.
   
   The reader's wait now derives from readTimeout: 0 blocks indefinitely 
(matching the aggregated path), and a positive value arms a backstop set longer 
than readTimeout so the pipeline ReadTimeoutHandler fires first and terminates 
the response with a proper exception. ResultSet.markError is now 
first-writer-wins so a read-timeout and end-of-stream racing on the same 
request can't leave the recorded cause and the completed future disagreeing.
   
   This surfaced as flakiness in shouldProduceProperExceptionOnTimeout on slow 
CI runners, where the reader repeatedly stalled on the 30s poll and pushed the 
test past the build limit. A 5-minute per-test timeout is added so a reader 
stall fails the test cleanly instead of hanging the build.
   
   Review guide:
   This most important part is that this PR determines how the streaming 
GraphBinary inputstream reader and readTimeout option need to combine together. 
Determine if the chosen path (have the InputStream respect the readTimeout) is 
the right path forward.
   
   VOTE +1
   
   <!--
   Thanks for contributing! Reminders:
   + TARGET the earliest branch where you want the change
       3.7-dev -> 3.7.7 (non-breaking only)
       3.8-dev -> 3.8.2 (non-breaking only)
       master  -> 4.0.0
   + Committers will MERGE the PR forward to newer versions
   + ADD entry to the CHANGELOG.asciidoc for the targeted version
       Do not reference a JIRA number there
   + ADD JIRA number to title and link in description
   + PRs requires 3 +1s from committers OR
                  1 +1 and 7 day wait to merge.
   + MORE details: https://s.apache.org/rtnal
   -->


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to