Skip to content

Conversation

@dcorbacho
Copy link
Contributor

AMQP10 shovels don't need the amqp10 message format, the binary can be translated directly into a message container and also the other way around. The new amqp10_raw_msg just stores the payload and information required to create the transfer frame, skipping a few unnecessary encoding/decoding operations of the AMQP10 sections.

These changes provide a 16% throughput improvement when shovelling 1.0 <-> 1.0

AMQP10 shovels don't need the amqp10 message format, the binary
can be translated directly into a message container and also
the other way around. The new amqp10_raw_msg just stores the payload
and information required to create the transfer frame, skipping
a few unnecessary encoding/decoding operations of the AMQP10 sections.
@dcorbacho dcorbacho added this to the 4.2.0 milestone Sep 23, 2025
@michaelklishin michaelklishin modified the milestones: 4.2.0, 4.3.0 Sep 24, 2025
@michaelklishin michaelklishin requested a review from ansd September 24, 2025 04:03
@michaelklishin michaelklishin merged commit 351ec1b into main Sep 24, 2025
285 checks passed
@michaelklishin michaelklishin deleted the shovel-raw branch September 24, 2025 18:04
michaelklishin added a commit that referenced this pull request Sep 24, 2025
Shovels: Optimise amqp10 client messages for shovel usage (backport #14593)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants