-
Notifications
You must be signed in to change notification settings - Fork 738
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New MPUBLISH command to publish multiple messages. #525
Comments
@valkey-io/core-team I think this is straight forward enough to vote on. I believe the idea is to primarily reduce the overhead for clusterbus metadata. I suppose the alternative would be to implement the optimization that viktor mentioned in #307, where we try to avoid most of the overhead along the clusterbus and just send the publish metadata. |
This is a new command AND a new cluster bus message. I'd prefer #307 (comment) which is only a new cluster bus message. How often does anyone publish multiple messages at the same time? Is it a real use case? |
We had one person message it in Redis, you can see the attached link. I'm not aware of how popular it is. |
OK, I've read the Redis issue now. If we add MPUBLISH, we're expected to add SMPUBLISH next? Slight preference for multi-message PUBLISH over MPUBLISH. HMSET was deprecated in favor of multi-field HSET. Choosing MPUBLISH over multi-message PUBLISH seems inconsistent with that. The argument that we want to reserve the possibility to add more arguments doesn't seem to hold in this case. We can't add other future arguments to MPUBLISH with this syntax. For the cluster bus, it seems logical to introduce just one new message that is lightweight and can carry multiple messages. |
I think this was proposed because the overhead of using the
I think I'm also convinced this probably the right approach now. |
Can we just add multi- |
seems reasonable to me. It is a behavior change but not a breaking one IMO. |
#557 is close to the finish line, @zuiderkwast @PingXie I would prefer getting that merged and then have a separate PR to introduce the command related change. @roshkhatri should be able to help with it. |
No I am not advocating scope creep here. I was commenting on the issue itself without a timeline attached. Speaking of #557, I actually would like us to think weigh the option of removing the complexity associated with the multi-message support. |
I agree. My concern is we are adding features without good client support that nobody is likely to use. There are much more important features to work on that folks are asking for. The performance optimization is something that existing users benefit from. I'm concerned generally that we are accepting too many command modifications without really thinking through if they will be useful long term. |
From redis/redis#12213
This would enable publishing multiple messages on a single cluster bus message, avoiding the high cost incurred from the metadata overhead for a cluster bus message and increase the throughput.
We would also need a new type of message to indicate multiple messages (
CLUSTERMSG_TYPE_MPUBLISH
)It was previously given an OK by @madolson
Any thoughts?
The text was updated successfully, but these errors were encountered: