You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by db...@apache.org on 2018/04/26 23:31:05 UTC

[geode-native] branch develop updated: GEODE-4728: Docs - Region attributes - flatten the hierarchy

This is an automated email from the ASF dual-hosted git repository.

dbarnes pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode-native.git


The following commit(s) were added to refs/heads/develop by this push:
     new bac210c  GEODE-4728: Docs - Region attributes - flatten the hierarchy
bac210c is described below

commit bac210cd3a79907e38097b1f06f37aba5f7c27d2
Author: Dave Barnes <db...@pivotal.io>
AuthorDate: Thu Apr 26 16:30:57 2018 -0700

    GEODE-4728: Docs - Region attributes - flatten the hierarchy
---
 .../client-cache/application-plugins.html.md.erb   |  10 +-
 .../client-cache/expiration-attributes.html.md.erb |   2 +
 .../regions/region-attributes-desc.html.md.erb     |  56 -----
 .../regions/region-attributes.html.md.erb          | 232 ++++++++++++++++++++-
 .../regions/region-shortcuts.html.md.erb           |  76 -------
 docs/geode-native-docs/regions/regions.html.md.erb |   6 +-
 .../regions/specify-region-attributes.html.md.erb  |  26 ---
 7 files changed, 233 insertions(+), 175 deletions(-)

diff --git a/docs/geode-native-docs/client-cache/application-plugins.html.md.erb b/docs/geode-native-docs/client-cache/application-plugins.html.md.erb
index 2269b12..cbb2196 100644
--- a/docs/geode-native-docs/client-cache/application-plugins.html.md.erb
+++ b/docs/geode-native-docs/client-cache/application-plugins.html.md.erb
@@ -39,19 +39,19 @@ The following XML declaration specifies a cache loader for a region when the reg
 
 The rest of this section gives more detailed descriptions of these application plug-ins, followed by special considerations for plug-ins in distributed regions and some guidelines for writing callbacks.
 
-## <a id="application-plugins__section_FD3057C0416840BAB76850E115F48B5C" class="no-quick-link"></a>CacheLoader
+## <a id="application-plugins_cacheloader" class="no-quick-link"></a>CacheLoader
 
 A cache loader is an application plug-in used to load data into the region. When an entry is requested that is unavailable in the region, a cache loader may be called upon to load it. Generally, you use a cache loader to retrieve the data from a database or another source outside the distributed system, but it may perform any operation defined by the user.
 
 The `CacheLoader` interface provides one function, `load`, for customizing region entry loading. A distributed region may have cache loaders defined in any or all caches where the region is defined. When loading an entry value, a locally defined cache loader is always used before a remote loader. In distributed regions, loaders are available for remote entry retrieval.
 
-## <a id="application-plugins__section_1754F575011742A59149FD280CEA0F16" class="no-quick-link"></a>CacheWriter
+## <a id="application-plugins_cachewriter" class="no-quick-link"></a>CacheWriter
 
 A cache writer is an application plug-in that synchronously handles changes to a region's contents. It is generally used to keep back-end data sources synchronized with a cache region. A cache writer has callback functions to handle region destruction and entry creation, update, and destruction. These functions are all called before the modification has taken place and can abort the operation.
 
 You can also use cache writers to store data that you want to make persistent.
 
-## <a id="application-plugins__section_3F43B898CD254076B4DD777E9B4CC8F0" class="no-quick-link"></a>CacheListener
+## <a id="application-plugins_cachelistener" class="no-quick-link"></a>CacheListener
 
 A cache listener is an application plug-in that asynchronously handles changes to a region's contents. A cache listener has callback functions to handle region destruction and invalidation, along with entry creation, update, invalidation, and destruction. These functions are called asynchronously after the modification has taken place.
 
@@ -85,7 +85,7 @@ class DisconnectCacheListener : public CacheListener
 };
 ```
 
-## <a id="application-plugins__section_348E00A84F274D4B9DBA9ECFEB2F012E" class="no-quick-link"></a>PartitionResolver
+## <a id="application-plugins_partitionresolver" class="no-quick-link"></a>PartitionResolver
 
 This section pertains to data access in server regions that have custom partitioning. Custom partitioning uses a Java `PartitionResolver` to colocate like data in the same buckets. For the client, you can use a `PartitionResolver` that matches the server's implementation to access data in a single hop. With single-hop data access, the client pool maintains information on where a partitioned region's data is hosted. When accessing a single entry, the client directly contacts the server th [...]
 
@@ -212,7 +212,7 @@ See the server documentation on [Custom-Partitioning and Colocating Data](geodem
 
 Your implementation of `PartitionResolver` must match that of the server side.
 
-## <a id="application-plugins__section_4EC30A57C37E4DDF83990A264D2C0284" class="no-quick-link"></a>Using AttributesMutator to Modify a Plug-In
+## <a id="application-plugins_attributesmutator" class="no-quick-link"></a>Using AttributesMutator to Modify a Plug-In
 
 A cache listener, cache loader or cache writer can be added to or removed from a region after the region is created by retrieving and running the `Region` object's `AttributesMutator`. Mutable attributes define operations that are run from the client itself.
 
diff --git a/docs/geode-native-docs/client-cache/expiration-attributes.html.md.erb b/docs/geode-native-docs/client-cache/expiration-attributes.html.md.erb
index a2875a8..26419e6 100644
--- a/docs/geode-native-docs/client-cache/expiration-attributes.html.md.erb
+++ b/docs/geode-native-docs/client-cache/expiration-attributes.html.md.erb
@@ -34,6 +34,8 @@ The following example shows a declaration that causes the region's entries to be
 </region-attributes>
 ```
 
+## <a id="expiration-attributes" class="no-quick-link"></a>Expiration Attributes
+
 Region and region entry expiration attributes are set at the region level. By default, regions and entries do not expire. The following attributes cover two types of expiration: time-to-live (TTL) and idle timeout.
 
 <table>
diff --git a/docs/geode-native-docs/regions/region-attributes-desc.html.md.erb b/docs/geode-native-docs/regions/region-attributes-desc.html.md.erb
deleted file mode 100644
index 81d6df7..0000000
--- a/docs/geode-native-docs/regions/region-attributes-desc.html.md.erb
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title:  Mutable and Immutable Region Attributes
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Attributes that are immutable (fixed) after region creation govern storage location, data distribution, statistics, application plug-ins, and the configuration and management of the region's data hashmap.
-
-This table lists the immutable attributes and their default settings.
-
-<a id="region-attributes-desc__table_B1CC036A7929449A8CD06E56678A6CB2"></a>
-
-| Immutable Region Attribute                                                                                                                | Default Setting |
-|-------------------------------------------------------------------------------------------------------------------------------------------|-----------------|
-| See [CachingEnabled](caching-enabled.html#caching-enabled)                                                        | true            |
-| See [InitialCapacity](initial-capacity.html#initial-capacity)                                                     | 16 (entries)    |
-| See [LoadFactor](load-factor.html#load-factor)                                                                    | 0.75            |
-| See [ConcurrencyLevel](concurrency-level.html#concurrency-level)                                                  | 16              |
-| See [DiskPolicy](disk-policy.html#disk-policy)                                                                    |                 |
-| See [PersistenceManager](persistence-manager.html#persistence-manager)                                            | NULL            |
-| PartitionResolver. See [Overview of Application Plug-Ins](application-plugins.html#application-plugins__section_8FEB62EEC7A042E0A85E0FEDC9F71597). |                 |
-
-
-Mutable region attributes identify expiration and cache listener, cache writer and cache loader actions that are run from the defining client. The next table lists the mutable attributes that generally can be modified after region creation by using the `AttributesMutator` for the region.
-
-<a id="region-attributes-desc__table_98120276A645432A840F991C18039621"></a>
-
-| Mutable Region Attribute                                                                                                                 | Default Setting |
-|------------------------------------------------------------------------------------------------------------------------------------------|-----------------|
-| Expiration attributes. See [Specifying Expiration Attributes](expiration-attributes.html#expiration-attributes). | no expiration   |
-| See [LruEntriesLimit](lru-entries-limit.html#concept_75D723D60E044FF9AE97C939699AB10A).                          | 0 (no limit)    |
-| CacheLoader. See [Overview of Application Plug-Ins](application-plugins.html#application-plugins__section_8FEB62EEC7A042E0A85E0FEDC9F71597).      |                 |
-| CacheWriter. See [Overview of Application Plug-Ins](application-plugins.html#application-plugins__section_8FEB62EEC7A042E0A85E0FEDC9F71597).      |                 |
-| CacheListener. See [Overview of Application Plug-Ins](application-plugins.html#application-plugins__section_8FEB62EEC7A042E0A85E0FEDC9F71597).    |                 |
-
-
-See [Specifying Application Plug-In Attributes](application-plugins.html#application-plugins) for information about using `AttributesMutator` with cache listeners, cache loaders, and cache writers.
-
-The remainder of this section examines these attributes in detail. Throughout the descriptions, `cache.xml` file snippets show how each attribute can be set declaratively.
-
-
diff --git a/docs/geode-native-docs/regions/region-attributes.html.md.erb b/docs/geode-native-docs/regions/region-attributes.html.md.erb
index a2fea28..dbaf2ae 100644
--- a/docs/geode-native-docs/regions/region-attributes.html.md.erb
+++ b/docs/geode-native-docs/regions/region-attributes.html.md.erb
@@ -23,28 +23,242 @@ Region attributes govern the automated management of a region and its entries.
 
 Region attribute settings determine where the data resides, how the region is managed in memory, and the automatic loading, distribution, and expiration of region entries.
 
--   **[Specifying Region Attributes](specify-region-attributes.html)**
+## <a id="specifying-region-attributes"></a>Specifying Region Attributes
 
--   **[Region Shortcuts](region-shortcuts.html)**
+Specify region attributes before creating the region. You can do this either through the API or
+through the declarative XML file. The API includes classes for defining a region's attributes before
+creation and for modifying some of them after creation. For details, see the API for
+`RegionShortcut`, `RegionAttributes`, `AttributesFactory`, and `AttributesMutator`.
 
--   **[Mutable and Immutable Region Attributes](region-attributes-desc.html)**
+## <a id="region-shortcuts"></a>Region Shortcuts
 
--   **[CachingEnabled](../client-cache/caching-enabled.html)**
+<%=vars.product_name%> provides predefined, shortcut region attributes settings for your use in `RegionShortcut`.
 
--   **[InitialCapacity](../client-cache/initial-capacity.html)**
+Shortcut attributes are a convenience only. They are named attributes that <%=vars.product_name%>
+has already stored for you. You can override their settings by storing new attributes with the same
+`id` as the predefined attributes.
 
--   **[LoadFactor](../client-cache/load-factor.html)**
+You can also create custom region attributes and store them with an identifier for later
+retrieval. Both types of stored attributes are referred to as named region attributes. You can
+create and store your attribute settings through the API or in the `cache.xml` file.
 
--   **[ConcurrencyLevel](../client-cache/concurrency-level.html)**
+Retrieve named attributes by providing the ID to the region creation. This example uses the shortcut
+`CACHING_PROXY` attributes to create a region:
 
--   **[ConcurrencyChecksEnabled](../client-cache/concurrency-checks-enabled.html)**
+``` pre
+<region name="testRegion" refid="CACHING_PROXY"/>
+```
 
--   **[LruEntriesLimit](../client-cache/lru-entries-limit.html)**
+You can modify named attributes as needed. For example, this adds a cache listener to the region:
+
+``` pre
+<region name="testRegion" refid="CACHING_PROXY">
+    <region-attributes>
+        <cache-listener library-name="myAppLib"
+            library-function-name ="myCacheListener" />
+    </region-attributes>
+</region>
+```
+
+In this example, the modified region shortcut is saved to the cache using the region attribute id, for retrieval and use by a second region:
+
+``` pre
+<region name="testRegion" refid="CACHING_PROXY">
+    <region-attributes id="Caching_Proxy_With_Listener">
+        <cache-listener library-name="myAppLib"
+            library-function-name ="myCacheListener" />
+    </region-attributes>
+</region>
+<region name="newTestRegion" refid="Caching_Proxy_With_Listener"/>
+```
+
+### <a id="region-shortcuts_shortcut-attribute-options"></a>Shortcut Attribute Options
+
+You can select the most common region attributes settings from `RegionShortcut`, the predefined named region attributes.
+
+This section provides an overview of the options available in the region shortcut settings.
+
+**Communication with Servers and Data Storage**
+
+`PROXY`
+>  does not store data in the client cache, but connects the region to the servers for data requests and updates, interest registrations, and so on.
+
+`CACHING_PROXY`
+>  stores data in the client cache and connects the region to the servers for data requests and updates, interest registrations, and so on.
+
+`LOCAL`
+>  stores data in the client cache and does not connect the region to the servers. This is a client-side-only region.
+
+**Data Eviction**
+
+Non-PROXY regions are those that store data in the client cache.
+You can add data eviction for non-PROXY regions:
+
+`ENTRY_LRU`
+>  causes least recently used data to be evicted from memory when the region reaches the entry count limit.
+
+## <a id="immutable-region-attributes"></a>Immutable Region Attributes
+
+Attributes that are immutable (fixed) after region creation govern storage location, data
+distribution, statistics, application plug-ins, and the configuration and management of the region's
+data hashmap.
+
+This table lists the immutable attributes and their default settings.
+
+| Immutable Region Attribute                                         | Default Setting |
+|--------------------------------------------------------------------|-----------------|
+| [CachingEnabled](#caching-enabled)                                 | true            |
+| [InitialCapacity](#initial-capacity)                               | 16 (entries)    |
+| [LoadFactor](#load-factor)                                         | 0.75            |
+| [ConcurrencyLevel](#concurrency-level)                             | 16              |
+| [DiskPolicy](../client-cache/disk-policy.html#disk-policy)                         |                 |
+| [PersistenceManager](../client-cache/persistence-manager.html#persistence-manager) | NULL            |
+| [PartitionResolver](../client-cache/application-plugins.html#application-plugins_partitionresolver) |                 |
+
+
+### <a id="caching-enabled"></a>CachingEnabled
+
+This attribute determines whether data is cached in this region. For example, you might choose to
+configure the distributed system as a simple messaging service where clients run without a cache.
+
+**Note:**
+You can configure the most common of these options with the predefined region attributes. See
+[Region Shortcuts](#region-shortcuts) and the API docs for `RegionShortcut`.
+
+If `CachingEnabled` is false (no caching), an `IllegalStateException` is thrown if any of these cache behavior attributes are set:
+- [InitialCapacity](#initial-capacity)
+- [EntryTimeToLive](../client-cache/expiration-attributes.html#expiration-attributes)
+- [EntryIdleTimeout](../client-cache/expiration-attributes.html#expiration-attributes)
+- [LoadFactor](#load-factor)
+- [ConcurrencyLevel](#concurrency-level)
+- [LruEntriesLimit](#lru-entries-limit)
+- [DiskPolicy](../client-cache/disk-policy.html#disk-policy)
+
+The following declaration enables caching for the region:
+
+``` pre
+<region-attributes caching-enabled="true"> 
+</region-attributes>
+```
+
+### <a id="initial-capacity"></a>InitialCapacity
+
+Use this attribute, together with the `LoadFactor` attribute, to set the initial parameters on the
+underlying hashmap that stores region entries. This is the number of entries that the region map
+will be ready to hold when it is created.
+
+This declaration sets the region's initial capacity to `10000`:
+
+``` pre
+<region-attributes initial-capacity="10000">
+</region-attributes>
+```
+
+### <a id="load-factor"></a>LoadFactor
+
+Use this attribute, together with the `InitialCapacity` attribute, to set the initial parameters on
+the underlying hashmap that stores region entries. When the number of entries in the map exceeds the
+`LoadFactor` times current capacity, the capacity is increased and the map is rehashed. You get the
+best performance if you configure a properly sized region at the start and do not have to rehash it.
+
+This declaration sets the region's load factor to `0.75` :
+
+``` pre
+<region-attributes load-factor="0.75">
+</region-attributes>
+```
+
+### <a id="concurrency-level"></a>ConcurrencyLevel
+
+This attribute estimates the maximum number of application threads that concurrently access a region
+entry at one time. This attribute helps optimize the use of system resources and reduce thread
+contention.
+
+The following declaration sets the region's `ConcurrencyLevel` to `16`:
+
+``` pre
+<region-attributes concurrency-level="16">
+</region-attributes>
+```
+
+**Note:**
+When `CachingEnabled` is `false`, do not set the `ConcurrencyLevel` attribute. An `IllegalStateException` is thrown if the attribute is set.
 
 -   **[DiskPolicy](../client-cache/disk-policy.html)**
 
 -   **[PersistenceManager](../client-cache/persistence-manager.html)**
 
+
+## <a id="mutable-region-attributes"></a>Mutable Region Attributes
+
+Mutable region attributes identify expiration and cache listener, cache writer and cache loader
+actions that are run from the defining client. The next table lists the mutable attributes that
+generally can be modified after region creation by using the `AttributesMutator` for the region.
+
+| Mutable Region Attribute                                            | Default Setting |
+|---------------------------------------------------------------------|-----------------|
+| Expiration attributes. See [Specifying Expiration Attributes](expiration-attributes.html#expiration-attributes). | no expiration   |
+| [LruEntriesLimit](#lru-entries-limit)                              | 0 (no limit)    |
+| [CacheLoader](../client-cache/application-plugins.html#application-plugins_cacheloader)      |                 |
+| [CacheWriter](../client-cache/application-plugins.html#application-plugins_cachewriter)      |                 |
+| [CacheListener](../client-cache/application-plugins.html#application-plugins_cachelistener)    |                 |
+
+
+See [AttributesMutator](application-plugins.html#application-plugins_attributesmutator) for
+information about using `AttributesMutator` with cache listeners, cache loaders, and cache writers.
+
+The remainder of this section examines these attributes in detail. Throughout the descriptions,
+`cache.xml` file snippets show how each attribute can be set declaratively.
+
+### <a id="concurrency-checks-enabled"></a>ConcurrencyChecksEnabled
+
+This attribute determines whether members perform checks to provide consistent handling for
+concurrent or out-of-order updates to distributed regions.
+
+A client cache can disable consistency checking for a region even if server caches enable
+consistency checking for the same region. This configuration ensures that the client sees all events
+for the region, but it does not prevent the client cache region from becoming out-of-sync with the
+server cache.
+
+Optionally enable concurrency checks for the region. Example:
+
+``` pre
+<region-attributes concurrency-checks-enabled="true"> 
+</region-attributes>
+```
+
+See [Region Consistency](consistency-checking-in-regions.html) for more information.
+
+### <a id="lru-entries-limit"></a>LruEntriesLimit
+
+This attribute sets the maximum number of entries to hold in a caching region. When the capacity of
+the caching region is exceeded, a least-recently-used (LRU) algorithm is used to evict entries.
+
+**Note:**
+This is a tuning parameter that affects system performance.
+
+When eviction is configured, memory consumption or entry count is monitored and, when capacity is
+reached, <%=vars.product_name%> makes way for new entries by removing or overflowing the stalest LRU
+entries to disk.
+
+If you use disk data overflow to supplement memory for your data cache, make sure you have enough disk space to store the data.
+
+This declaration limits the region to 20,000 entries:
+
+``` pre
+<region-attributes lru-entries-limit="20000"
+     initial-capacity="20000"
+     load-factor="1">
+</region-attributes>
+```
+
+Evicted entries can be destroyed or moved to disk as an extension of the cache. See [DiskPolicy](../client-cache/disk-policy.html#disk-policy).
+
+**Note:**
+When `CachingEnabled` is `false`, do not set the `LruEntriesLimit` attribute. An `IllegalStateException` is thrown if the attribute is set.
+
+See also [Controlling Cache Size](../client-cache/controlling-cache-size.html).
+
 -   **[Specifying Expiration Attributes](../client-cache/expiration-attributes.html)**
 
 
diff --git a/docs/geode-native-docs/regions/region-shortcuts.html.md.erb b/docs/geode-native-docs/regions/region-shortcuts.html.md.erb
deleted file mode 100644
index 6533c9c..0000000
--- a/docs/geode-native-docs/regions/region-shortcuts.html.md.erb
+++ /dev/null
@@ -1,76 +0,0 @@
----
-title:  Region Shortcuts
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-<a id="region-shortcuts__section_62D2AB580EDB4165970E4FC42A35C80B"></a>
-<%=vars.product_name%> provides predefined, shortcut region attributes settings for your use, in `RegionShortcut`.
-
-Shortcut attributes are a convenience only. They are named attributes that <%=vars.product_name%> has already stored for you. You can override their settings by storing new attributes with the same `id` as the predefined attributes.
-
-You can also create custom region attributes and store them with an identifier for later retrieval. Both types of stored attributes are referred to as named region attributes. You can create and store your attribute settings in the `cache.xml` file and through the API.
-
-Retrieve named attributes by providing the ID to the region creation. This example uses the shortcut `CACHING_PROXY` attributes to create a region:
-
-``` pre
-<region name="testRegion" refid="CACHING_PROXY"/>
-```
-
-You can modify named attributes as needed. For example, this adds a cache listener to the region:
-
-``` pre
-<region name="testRegion" refid="CACHING_PROXY">
-    <region-attributes>
-        <cache-listener library-name="myAppLib"
-            library-function-name ="myCacheListener" />
-    </region-attributes>
-</region>
-```
-
-In this example, the modified region shortcut is saved to the cache using the region attribute id, for retrieval and use by a second region:
-
-``` pre
-<region name="testRegion" refid="CACHING_PROXY">
-    <region-attributes id="Caching_Proxy_With_Listener">
-        <cache-listener library-name="myAppLib"
-            library-function-name ="myCacheListener" />
-    </region-attributes>
-</region>
-<region name="newTestRegion" refid="Caching_Proxy_With_Listener"/>
-```
-
-## <a id="region-shortcuts__section_49150358B8F443E8AF027E4E920E820A" class="no-quick-link"></a>Shortcut Attribute Options
-
-You can select the most common region attributes settings from `RegionShortcut`, the predefined named region attributes.
-
-This section provides an overview of the options available in the region shortcut settings.
-
-**Communication with Servers and Data Storage**
-
--   `PROXY` does not store data in the client cache, but connects the region to the servers for data requests and updates, interest registrations, and so on.
--   `CACHING_PROXY` stores data in the client cache and connects the region to the servers for data requests and updates, interest registrations, and so on.
--   `LOCAL` stores data in the client cache and does not connect the region to the servers. This is a client-side-only region.
-
-**Data Eviction**
-
-Non-`PROXY` regions are those that store data in the client cache.
-You can add data eviction for non-`PROXY` regions:
-
--   `ENTRY_LRU` causes least recently used data to be evicted from memory when the region reaches the entry count limit.
-
diff --git a/docs/geode-native-docs/regions/regions.html.md.erb b/docs/geode-native-docs/regions/regions.html.md.erb
index 0aa386b..751850b 100644
--- a/docs/geode-native-docs/regions/regions.html.md.erb
+++ b/docs/geode-native-docs/regions/regions.html.md.erb
@@ -25,7 +25,7 @@ against them.
 
 In order to connect to a <%=vars.product_name%> server, a client application must define a region that corresponds to
 a region on the server, at least in name.
-See [Data Regions](geodeman/basic_config/data_regions/chapter_overview.html) in the <%=vars.product_name%> User Guide
+See [Data Regions](geodeman/basic_config/data_regions/chapter_overview.html) in the *<%=vars.product_name%> User Guide*
 for details regarding server regions, and [Region Attributes](region-attributes.html) in this guide for
 client region configuration parameters.
 
@@ -66,7 +66,7 @@ auto clientRegion2 = cache.createRegionFactory(RegionShortcut::CACHING_PROXY)
   .create("clientRegion2");
 ```
 
-### .NET C# Region Creation Example**
+### .NET C# Region Creation Example
 
 This example illustrates how to create a pair of regions using C#:
 
@@ -103,7 +103,7 @@ Like the programmatic examples above, the following example creates two regions
     xmlns="http://geode.apache.org/schema/cpp-cache"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://geode.apache.org/schema/cpp-cache
-                        http://geode.apache.org/schema/cpp-cache/cpp-cache-1.0.xsd"
+      http://geode.apache.org/schema/cpp-cache/cpp-cache-1.0.xsd"
     version="1.0">
     <pool name="examplePool" subscription-enabled="true">
         <server host="localhost" port="40404" />
diff --git a/docs/geode-native-docs/regions/specify-region-attributes.html.md.erb b/docs/geode-native-docs/regions/specify-region-attributes.html.md.erb
deleted file mode 100644
index 45b77f7..0000000
--- a/docs/geode-native-docs/regions/specify-region-attributes.html.md.erb
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title:  Specifying Region Attributes
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-Region attributes govern the automated management of a region and its entries.
-
-Specify region attributes before creating the region. You can do this either through the declarative XML file or through the API. The API includes classes for defining a region's attributes before creation and for modifying some of them after creation. For details, see the API for `RegionShortcut`, `RegionAttributes`, `AttributesFactory`, and `AttributesMutator`.
-
-

-- 
To stop receiving notification emails like this one, please contact
dbarnes@apache.org.