-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
rethink: figure out how to deal with unreliable changefeed #269
Comments
At what point is it the most effective to add the fallback queries? In other words, how do we know when the data in memory/cache is not up-to-date? |
good question, i was thinking about missing data, not outdated data. maybe I need to check how to set up rethinkdb + rabbitmq to do the job reliably. |
however, I don't really get how rabbitmq is going to solve missing updates, it's still an app that listens to the changefeed... https://www.rethinkdb.com/docs/rabbitmq/javascript/ |
in general I don't think it's a good idea to add another external and hard to maintain dependency like rabbitmq on top of rethink. especially if rethinkdb/rethinkdb#6128 holds. right now, I see several paths forward that would help those who want to use hydra in production:
in general, this problem will come up in a production environment, but it will be much less frequent compared to home pc <-> hosted rethinkdb, especially if both are hosted in the same region / datacenter. so maybe a combination of (2) and the original idea (fetching non existing stuff from db) can be a good middle-ground. what do you think? |
I just found this section in the rethinkdb docs, which gives me hope that changefeeds will be improved:
|
This thread shows how to simulate network loss of rethinkdb nodes using iptables, might be useful for generic rdb error tracing: https://groups.google.com/forum/#!searchin/rethinkdb/changefeed|sort:relevance/rethinkdb/7n_lBN6CKoM/iCy-LYpNIAAJ |
The good news is, there are plans to support reliable changefeeds:
See: rethinkdb/rethinkdb#3471 (comment) This makes option (2) a viable one. |
from a community member on slack:
|
There are some better options available until this is being fixed upstream, in particular:
|
RethinkDB will no longer be actively maintained without customer requests and is superseded by #292 |
This is an upstream issue: rethinkdb/rethinkdb#4133
Apparently, the rethinkdb changefeed is not reliable and deletes messages without aknowledgement. The rethinkdb docs made me think that getting reliable changefeeds is possible:
but apparently this statement does not hold, because an integration such as RabbitMQ would also rely on changefeeds.
This issue will affect mostly deployments where hydra and rethinkdb are connected through the internet (eg home pc <-> aws) and not some intranet (eg same aws region / datacenter), as packages get lost more frequently over the internet. However, it will still happen on intranets, so this needs to be figured out for production environments.
Known workarounds:
The text was updated successfully, but these errors were encountered: