Skip to main content

Configure Distributed, Replicated, and Preloaded Regions

Plan the configuration and ongoing management of your distributed, replicated, and preloaded regions, and configure the regions.

​

Before you begin, understand Basic Configuration and Programming.

  1. Choose the region shortcut setting that most closely matches your region configuration. See org.apache.geode.cache.RegionShortcut or Region Shortcuts. To create a replicated region, use one of the REPLICATE shortcut settings. To create a preloaded region, set your region data-policy to preloaded. This cache.xml declaration creates a replicated region:

    <region-attributes refid="REPLICATE">
    </region-attributes>

    You can also use gfsh to configure a region. For example:

    gfsh>create region --name=regionA --type=REPLICATE

    See Region Types.

  2. Choose the level of distribution for your region. The region shortcuts in RegionShortcut for distributed regions use distributed-ack scope. If you need a different scope, set the region-attributes scope to distributed-no-ack or global.

    Example:

    <region-attributes refid="REPLICATE" scope="distributed-no-ack">
    </region-attributes>
  3. If you are using the distributed-ack scope, optionally enable concurrency checks for the region.

    Example:

    <region-attributes refid="REPLICATE" scope="distributed-ack" concurrency-checks-enabled="true">
    </region-attributes>
  4. If you are using global scope, program any explicit locking you need in addition to the automated locking provided by Geode.

Local Destroy and Invalidate in the Replicated Region​

Of all the operations that affect the local cache only, only local region destroy is allowed in a replicated region. Other operations are not configurable or throw exceptions. For example, you cannot use local destroy as the expiration action on a replicated region. This is because local operations like entry invalidation and destruction remove data from the local cache only. A replicated region would no longer be complete if data were removed locally but left intact.