Configuration considerations for multi-master topologies

Consider the following issues when you are deciding whether and how to use multi-master replication topologies.

  • Map set requirements
    Map sets must have the following characteristics to replicate changes across catalog service domain links:
    • The ObjectGrid name and map set name within a catalog service domain must match the ObjectGrid name and map set name of other catalog service domains. For example, ObjectGrid "og1" and map set "ms1" must be configured in catalog service domain A and catalog service domain B to replicate the data in the map set between the catalog service domains.
    • Is a data grid that is configured to use the FIXED_PARTITIONS placement strategy. PER_CONTAINER data grids cannot be replicated.
    • Has the same number of partitions in each catalog service domain. The map set might or might not have the same number and types of replicas.
    • Has the same data types being replicated in each catalog service domain.
    • Contains the same maps and dynamic map templates in each catalog service domain.
    • Does not use entity manager. A map set containing an entity map is not replicated across catalog service domains.
    • Does not use write-behind caching support. A map set containing a map that is configured with write-behind support is not replicated across catalog service domains.
    Any map sets with the preceding characteristics begin to replicate after the catalog service domains in the topology have been started.
    [Version 8.6 and later]Important:

    When you use multimaster replication (MMR) with eviction enabled or are using the ObjectMap.invalidate() method, the operations on those keys are not flowed to foreign domains. When foreign domain operations do not receive those keys, an entry might be invalidated in one domain, but the entry in the other domain is still there because it has not expired yet. This behavior causes map size output for the two domains to be different. When a domain is restarted and it receives the data from the other domain, the eviction data for that domain is different from the other, since all entries in the restarted domain now have a new access time.

  • Class loaders with multiple catalog service domains

    Catalog service domains must have access to all classes that are used as keys and values. Any dependencies must be reflected in all class paths for data grid container Java virtual machines (JVM) for all domains. If a CollisionArbiter plug-in retrieves the value for a cache entry, then the classes for the values must be present for the domain that is starting the arbiter.