GumpacG commented on code in PR #3396:
URL: https://github.com/apache/tinkerpop/pull/3396#discussion_r3192246566


##########
docs/src/upgrade/release-4.x.x.asciidoc:
##########
@@ -138,6 +138,81 @@ g.V().has("blob",P.eq(Binary("AQID")))
 
 See: link:https://issues.apache.org/jira/browse/TINKERPOP-3153[TINKERPOP-3153]
 
+==== Python HTTP Streaming Response Support
+
+The Python driver now streams GraphBinary results directly from the HTTP 
response body. Results are available to the
+caller as they arrive from the server, rather than waiting for the full 
response to be buffered in memory. This improves
+memory efficiency for large result sets and reduces time-to-first-result.
+
+Traversal API terminal steps (`next()`, `to_list()`, `has_next()`) are now 
truly incremental. `next()` returns the
+first result as soon as it is deserialized from the wire, without waiting for 
the full response. In 3.x, `next()`
+waited for all data to be buffered before returning.
+
+The following internal APIs have changed:
+
+- The transport method `read()` has been replaced with `get_stream()`. Custom 
transport implementations must
+  update accordingly.
+- `max_content_length` is no longer supported. Response size limits should be 
configured server-side via
+  `maxRequestContentLength`.
+- The response path is GraphBinary only

Review Comment:
   Updated to match the old behaviour. Thanks!



##########
docs/src/upgrade/release-4.x.x.asciidoc:
##########
@@ -138,6 +138,81 @@ g.V().has("blob",P.eq(Binary("AQID")))
 
 See: link:https://issues.apache.org/jira/browse/TINKERPOP-3153[TINKERPOP-3153]
 
+==== Python HTTP Streaming Response Support
+
+The Python driver now streams GraphBinary results directly from the HTTP 
response body. Results are available to the
+caller as they arrive from the server, rather than waiting for the full 
response to be buffered in memory. This improves
+memory efficiency for large result sets and reduces time-to-first-result.
+
+Traversal API terminal steps (`next()`, `to_list()`, `has_next()`) are now 
truly incremental. `next()` returns the
+first result as soon as it is deserialized from the wire, without waiting for 
the full response. In 3.x, `next()`
+waited for all data to be buffered before returning.
+
+The following internal APIs have changed:
+
+- The transport method `read()` has been replaced with `get_stream()`. Custom 
transport implementations must
+  update accordingly.
+- `max_content_length` is no longer supported. Response size limits should be 
configured server-side via
+  `maxRequestContentLength`.
+- The response path is GraphBinary only
+- `ResultSet` now yields individual items instead of lists when iterated. Code 
that uses `results += result`
+  to accumulate results from a `ResultSet` iterator must change to 
`results.append(result)`. The `to_list()`
+  and `all()` APIs are unaffected and remain the recommended way to collect 
results.
+
+The `AbstractBaseTransport` abstract base class and the `transport_factory` 
extension point have been removed. Custom

Review Comment:
   Removed. Thanks!



-- 
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