Class LatestUpdateMergePolicy<V,​T extends MergingValue<V> & MergingLastUpdateTime>

java.lang.Object
com.hazelcast.spi.impl.merge.AbstractSplitBrainMergePolicy<V,​T,​Object>
com.hazelcast.spi.merge.LatestUpdateMergePolicy<V,​T>
Type Parameters:
V - the type of the merged value
T - the type of the merging value
All Implemented Interfaces:
DataSerializable, IdentifiedDataSerializable, SplitBrainMergePolicy<V,​T,​Object>

public class LatestUpdateMergePolicy<V,​T extends MergingValue<V> & MergingLastUpdateTime>
extends com.hazelcast.spi.impl.merge.AbstractSplitBrainMergePolicy<V,​T,​Object>
Merges data structure entries from source to destination data structure if the source entry was updated more frequently than the destination entry.

Note: This policy can only be used if the clocks of the nodes are in sync.

Since:
3.10
  • Constructor Details

    • LatestUpdateMergePolicy

      public LatestUpdateMergePolicy()
  • Method Details

    • merge

      public Object merge​(T mergingValue, T existingValue)
      Description copied from interface: SplitBrainMergePolicy
      Selects the value of either the merging or the existing MergingValue which should be merged.

      Note that the existing MergingValue instance may be null if no matching data could be found to the merging MergingValue.

      Parameters:
      mergingValue - MergingValue instance that has the merging data of the smaller sub-cluster
      existingValue - MergingValue instance that has the existing data or null if no matching data exists
      Returns:
      the selected value for merging
    • getClassId

      public int getClassId()
      Description copied from interface: IdentifiedDataSerializable
      Returns type identifier for this class. It should be unique per DataSerializableFactory.
      Returns:
      type ID