I have a query regarding the CacheWriteSynchronizationMode in
CacheConfiguration.

This enum is defined like this in the .Net client:

  public enum CacheWriteSynchronizationMode
  {
    /// <summary>
    /// Mode indicating that Ignite should wait for write or commit replies
from all nodes.
    /// This behavior guarantees that whenever any of the atomic or
transactional writes
    /// complete, all other participating nodes which cache the written
data have been updated.
    /// </summary>
    FullSync,
    /// <summary>
    /// Flag indicating that Ignite will not wait for write or commit
responses from participating nodes,
    /// which means that remote nodes may get their state updated a bit
after any of the cache write methods
    /// complete, or after {@link Transaction#commit()} method completes.
    /// </summary>
    FullAsync,
    /// <summary>
    /// This flag only makes sense for {@link CacheMode#PARTITIONED} mode.
When enabled, Ignite will wait
    /// for write or commit to complete on primary node, but will not wait
for backups to be updated.
    /// </summary>
    PrimarySync,
  }

We have some replicated caches (where cfg.CacheMode =
CacheMode.Replicated), but we don't specify the WriteSynchronizationMode.

I note in the comment for PrimarySync (the default) that this "only makes
sense" for Partitioned caches. Given we don't set this mode for our
replicated caches then they will be using the PrimarySync write
synchronization mode.

The core Ignite help does not distinguish these synchronization modes and
strongly implies that all three synchronization modes have equivalent
consistency guarantees, but the help comment implies that replicated caches
should use either FullSync or FullAsync to ensure all replicated contexts
receive the written value.

As a background, I am investigating an issue in our system that could be
explained by replicated caches not having consistent values and am writing
some triage tooling to prove if that is the case or not by comparing the
stored values in each of the replicates cache nodes, However, I'm also
doing some due diligence on our configuration and ran into this item.

Thanks,
Raymond.


-- 
<http://www.trimble.com/>
Raymond Wilson
Trimble Distinguished Engineer, Civil Construction Software (CCS)
11 Birmingham Drive | Christchurch, New Zealand
raymond_wil...@trimble.com

<https://worksos.trimble.com/?utm_source=Trimble&utm_medium=emailsign&utm_campaign=Launch>

Reply via email to