You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@usergrid.apache.org by Ben Hadden <bh...@gmail.com> on 2018/11/09 15:39:00 UTC

Transaction boundary between Cassandra and ElasticSearch

What are the transactional guarantees between Cassandra and ElasticSearch?

Specifically if a create request is made and successfully makes it
into Cassandra what process ensures the data gets into ElasticSearch.
Lets say Casandra was up but ElasticSearch was temporally down. Would
the request return success to the caller? If Elastic later came back
up would it automatically catch up with any requests that it into
Casandra while it was down?

If things are operating normally with both Casandra and ElasticSearch
up does the request thread wait for the object to make it into both
Casandra and ElasticSearch before returning success to the user?

Suppose you are in a scaled environment with multiple instances of of
UserGrid  war talking to the same Casandra cluster and ES cluster. If
a create request comes into one UserGrid instance and successfully
makes it into Casandra and then that Tomcat instance halts suddenly,
is there any process that ensures that the data will get into ES or
that it will be rolled back out of Casandra?

In sort what are the guarantees that ES will be in sync with Casandra
in the presence of system errors?

Many thanks
Ben