I don’t think there is anything else that can be done in addition to
printing our a warning and fixing documentation. Looks like an easy fix, I
marked it with “newbie”, so some of the new community members could pick it
up.

On Tue, Feb 9, 2016 at 5:17 AM, Alexey Goncharuk <alexey.goncha...@gmail.com
> wrote:

> After a second thought, I think the warning should be printed anyways when
> CLOCK versioning mode is used because it does not guarantee happens-before
> relationship when cache operations are invoked on different nodes (see an
> example in pseudo-code below). Essentially, when cache operations are
> invoked on different nodes within a time span smaller or equal than time
> sync error, they are considered to be run concurrently.
>
> IgniteCache cache = ignite.cache("name");
>
> cache.put(1, 1);
>
> // Select a random remote node.
> ClusterGroup grp = ignite.cluster().forRemotes().forRandom();
>
> ignite.compute(grp).call(new Callable() {
>     public Object call() throws Exception {
>         cache.put(1, 2); // This does not guarantee to succeed in CLOCK
> mode.
>     }
> });
>
> // This may fail in CLOCK mode.
> assert cache.get(1) == 2;
>
> I agree that the documentation must be updated accordingly, and I think the
> warning printed should contain a link to the page.
>
> Any other thoughts?
>

Reply via email to