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]