-
Notifications
You must be signed in to change notification settings - Fork 20
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
Add cluster option to result backend #46
Conversation
3ac97c9
to
1de8894
Compare
I'd like to ask for CI (GitHub actions) approval. Otherwise it's really hard to fine tune the tests. |
Sure. Anyway. I have a question regarding |
AFAIK I used the same approach for single |
@stinovlas, let's create a completely separate backend for now. It might be called like |
1cbc976
to
0634be4
Compare
I separated the cluster backend to a new class. There's quite a lot of duplication (also in tests), but let's call it a proof of concept for now. I believe that tests could be deduplicated, at least to an extent. |
For tests. Let's create a docker-compose with cluster and non-cluster redis. with correct ports exposed. Because github services is a bit limited. |
0634be4
to
e79fa11
Compare
I was able to put together single-node cluster without docker-compose. It seems to work. I can setup full-fledget six node cluster, but I'm not sure it's worth it for test (after all, we test interaction with the cluster, not the cluster itself). If you insist on docker-compose, I'll need a bit of help, since I'm not that familiar with GitHub actions workflow. I can put together a |
I insist on docker-compose for two main reasons.
Because currently there's no setup of a test deployment locally. One redis container is fine, but cluster setup is a bit of a pain to setup. |
Fair enough. I added
I hesitated whether to change port for single redis instance from 6379 to 7000. In the end, I decided to do so, so the developers don't have to shutdown their local redis instance. But, I can also see some strong arguments against this (mainly breaking the current test workflow – but since we added cluster and docker-compose, it has changed in any case) and I'm not dead set on this. I can revert the default port for single redis instance to 6379 (and use 7000 for cluster node). |
Looks good to me. I may change docker-compose file a bit later. But anyway. Thanks for your contribution. I really appreciate this. |
Thanks for communicating so promptly :-). I'll probably take a stab at |
Yes. Seems like it's possible. But I'm not sure how well does redis cluster handles lists in terms of atomacity. |
This is a draft that adds redis cluster option for result backend.
This PR contains set up of redis cluster in CI, which can be used in further PRs (such as adding cluster mode support to broker).