Read consistency for the sake of polling


I have an elasticsearch cluster that will be written to by multiple contributors. 90% of the write activity is reindexing existing documents in place to accommodate changes to attributes.

On the read side I have a bunch of 'subscriptions' which essentially poll with the same filter query and figure out deltas.

I found to my cost today that it was a dumbass thing to do to assume a query without a specific sort would return the results in a consistent order - it certainly doest.

What I would like some reassurance on is to validate my assumption that it is also important to ensure each read request for a given 'subscription' goes to the same node, else if I jump around the cluster I may get inconsistent results as the writes/reindexes propagate. To be clear, eventual consistency is tolerable here but I don't want to misidentify shard data propagation as a genuine data deltas.

To follow up on that, is it advisable to achieve this by using sticky sessions via a load balancer fronting the cluster?

Any advice greatfully received.

Or should I be using the client-side load balancing of the c# library?

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.