shatrughnaupadhyay opened a new pull request, #51701: URL: https://github.com/apache/arrow/pull/51701
This Python DoExchange example announces each batch's logical size, waits for a shared-budget grant or refusal, then releases the reservation after synchronous consumption. It demonstrates the cooperative application workaround discussed in #37900, using one non-null int64 column and client deadlines. The budget accounts for logical payload bytes. It does not control allocation inside gRPC or cap process RSS, and it assumes cooperating peers. Native buffers, read-ahead, schema/control messages, retained callback data and server-side lease enforcement remain outside its scope. It does not resolve #37900. Validation: 30 tests passed with Python 3.12.12 and the PyArrow 25.0.1 wheel, covering localhost concurrency, refusal and reuse, cancellation, deadlines, malformed input and exception cleanup. Flake8, autopep8 and whitespace checks passed. A contention benchmark is included. Source-built Arrow and upstream CI have not been verified. Draft: design agreement and human author review are pending. AI assistance: Codex generated the example, tests, benchmark and documentation and ran the local checks. The author must review, understand and own the changes before marking this ready. -- 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]
