Skip to content

Conversation

@edgurgel
Copy link

@edgurgel edgurgel commented Dec 17, 2025

Also added a couple of tests for batches

@edgurgel edgurgel mentioned this pull request Dec 17, 2025
@edgurgel edgurgel force-pushed the feat/include-abcast-into-batches branch from 2fe59f6 to 8d6b384 Compare December 18, 2025 07:22
@ieQu1
Copy link
Member

ieQu1 commented Dec 23, 2025

Thanks for the PR. I'll take a closer look later. Note: we're currently using this library only for ordered casts. Other features are very much unmaintained. I don't recommend using this library for new projects.

@edgurgel
Copy link
Author

Thanks for the PR. I'll take a closer look later. Note: we're currently using this library only for ordered casts. Other features are very much unmaintained. I don't recommend using this library for new projects.

Too late 😆. We are using all features and having absolutely no issues!

Out of curiosity... what did you end up using in lieu of gen_rpc (if you don't mind talking about it)?

@ieQu1
Copy link
Member

ieQu1 commented Dec 24, 2025

Out of curiosity... what did you end up using in lieu of gen_rpc (if you don't mind talking about it)?

gen_rpc was added to EMQX long time ago, when Erlang distribution protocol was suffering from head-of-line blocking. Because of that, intense MQTT traffic forwarding between broker nodes would introduce RPC latency to other applications, notably Mnesia. In the later OTP versions they introduced packet slicing, so this problem has become less severe, and we started to move away from Mnesia too. We still use gen_rpc to forward payloads, but this is done using async_cast and call API. Hence, these are the only parts of the application that I coverered by tests (original code was quite sparse in that regard).

@edgurgel
Copy link
Author

Thanks for the explanation 🙇

@zmstone zmstone merged commit a155ccb into emqx:master Jan 11, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants