mrhhsg commented on PR #63258: URL: https://github.com/apache/doris/pull/63258#issuecomment-6122164289
Pushed c8b95c634a7, which replaces the previous approach (metadata-only request copy + a second http helper for the shared broadcast block) with one ownership rule for every exchange request: - `borrow_block()` / `release_borrowed_blocks()` fill and release the request the same way for unicast and broadcast, single-block and multi-block sends; the request never owns block data, so the http attachment path never has to know who owns the payload and never touches the shared `BroadcastPBlockHolder` block. - The attachment carries one payload per block, so multi-block requests (the default `exchange_multi_blocks_byte_size`) can take the http path too instead of failing on the brpc size limit. - The receiver parses the request before taking the `column_values` slots, so presence no longer depends on an empty field on the wire; it also validates the attachment framing and `tablet_writer_add_block_by_http` now answers the rpc when extraction fails. The PR description has been rewritten accordingly. @HappenLee since the mechanism changed after your approval, a second look would be appreciated. -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
