ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexey Goncharuk <alexey.goncha...@gmail.com>
Subject Re: EntryProcessor in ATOMIC cache and CLOCK versioning mode
Date Tue, 09 Feb 2016 13:17:00 GMT
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?

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message