Skip to content
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

Proposal (V6/RESP3): config change push #5554

Open
mgravell opened this issue Nov 11, 2018 · 0 comments
Open

Proposal (V6/RESP3): config change push #5554

mgravell opened this issue Nov 11, 2018 · 0 comments

Comments

@mgravell
Copy link

The "hello" notification meets many of the "things a non-trivial client wants to know" (full list TBD), but: there's still a gap.

A problematic scenario in vCurrent is that there is no pub/sub mechanism for configuration changes (including replication changes).

What would be interesting is if V6 could use the "push" mechanism to indicate when config changes happen, whether via CONFIG SET, or SLAVEOF (REPLICAOF), etc. This would mean that clients don't need to periodically poll to ensure that things haven't changed.

I don't know whether this should be automatic or opt-in. Or even if it is a good idea.

This could possibly also extend to cluster shard announcements (presumably at slot completion) and server joins.

Keeping it simple, I'm imagining a push of the form (array) "config", "{setting name}", "{new value}"

Not considered (but needs consideration) - security implications - for example, if CONFIG/INFO are disabled or renamed such that a client couldn't have got the values in the first place, can they subscribe to change notifications?

Maybe there's a discreet set of settings that are covered. Perhaps even those that are included in "hello", since anyone who can get "push" should be capable of getting a "hello" response, so should already know those values.

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

No branches or pull requests

1 participant