Search code examples
javaasynchronousignite

putAsync and the order of updates on the client


I didn't find it in the doco, so hope someone can answer.

Say putAsync is called multiple times from the same thread:

cache.putAsync(keyA, valA1);
cache.putAsync(keyA, valA2); // Notice it's the same key, different value
cache.putAsync(keyB, valB);  // Different key now
// ...more calls with either same or different keys, still from the same thread

Is there a guarantee that the values will arrive in the same order to the continuous query listeners set up on the clients?

If not, is there such guarantee in a more restricted case - when those putAsync's above are called from within an Ignite service, for a partitioned cache, on the node where the data is (or will be) stored by the partitioning?

Thanks!


Solution

  • The order is guaranteed for the keys within the same partition (see Data Partitioning).

    There is no guarantee when the keys belong to different partitions.