You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by km...@apache.org on 2016/10/12 17:11:21 UTC

[01/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Repository: incubator-geode
Updated Branches:
  refs/heads/feature/GEODE-1952-2 e15657e9d -> 40c1ed590


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/region-attributes-desc.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/region-attributes-desc.html.md.erb b/geode-docs/nativeclient/client-cache/region-attributes-desc.html.md.erb
new file mode 100644
index 0000000..f667d30
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/region-attributes-desc.html.md.erb
@@ -0,0 +1,39 @@
+---
+title:  Mutable and 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.
+
+<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 [Specifying Application Plug-In Attributes](application-plugins.html#application-plugins). |                 |
+
+
+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 [Specifying Application Plug-In Attributes](application-plugins.html#application-plugins).      |                 |
+| CacheWriter. See [Specifying Application Plug-In Attributes](application-plugins.html#application-plugins).      |                 |
+| CacheListener. See [Specifying Application Plug-In Attributes](application-plugins.html#application-plugins).    |                 |
+
+
+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.
+
+


[13/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/transactions_partitioned_2.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/transactions_partitioned_2.svg b/geode-docs/images_svg/transactions_partitioned_2.svg
new file mode 100644
index 0000000..a9445e1
--- /dev/null
+++ b/geode-docs/images_svg/transactions_partitioned_2.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="36 167 580 274" width="580pt" height="274pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 10:52Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".3" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(297 423) scale(260.13785)"/><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underline-posi
 tion="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(288 333) scale(190.23148)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(157.5 319.5) scale(84.375)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" d
 escent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(107.13538 306) scale(21.756296)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(598.5 423) scale(282.61469)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(589.5 405) scale(247.18
 275)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M 11.7222214 0 L 0 -4.395833 L 0 4.395833 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(132.75 306) scale(19.091883)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient" gradientTransform="translate(211.5 319.5) scale(63.79107)"/><font-face font-family="Helvetica" font-size="8" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="-1500" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-style="italic" font-weight="500"><font-face-src><font-face-name name="Helvetica-Oblique"/></font-face-src></font-face><radialGradient id="Obj_Gradient_9" xl:href="#Gradient" gradientTransform="translate(279 319.5) scale(68.108
 97)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_3" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#252525" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_3" gradientTransform="translate(245.51038 306) scale(21.756296)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient" gradientTransform="translate(423 319.5) scale(84.375)"/><radialGradient id="Obj_Gradient_c" xl:href="#Gradient_2" gradientTransform="translate(372.63538 306) scale(21.756296)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient_2" gradientTransform="translate(398.25 306) scale(19.091883)"/><radialGradient id="Obj_Gradient_e" xl:href="#Gradient" gradientTransform="translate(515.25 319.5) scale(84.375)"/><radialGradient id="Obj_Gradient_f" xl:href="#Gradient_2" gradientTransform="translate(490.5 306) scale(19.091883)"/><radialGradient id="Obj_Gradient_10" xl:href="#Gradient" gradientTransf
 orm="translate(576 319.5) scale(66.991837)"/><radialGradient id="Obj_Gradient_11" xl:href="#Gradient_3" gradientTransform="translate(544.76038 306) scale(21.756296)"/><radialGradient id="Obj_Gradient_12" xl:href="#Gradient_2" gradientTransform="translate(463.5 306) scale(19.091883)"/><radialGradient id="Obj_Gradient_13" xl:href="#Gradient" gradientTransform="translate(418.5 393.75) scale(72.464323)"/><radialGradient id="Obj_Gradient_14" xl:href="#Gradient_2" gradientTransform="translate(372.63538 384.75) scale(21.756296)"/><radialGradient id="Obj_Gradient_15" xl:href="#Gradient_2" gradientTransform="translate(398.25 384.75) scale(19.091883)"/><radialGradient id="Obj_Gradient_16" xl:href="#Gradient" gradientTransform="translate(510.75 393.75) scale(72.464323)"/><radialGradient id="Obj_Gradient_17" xl:href="#Gradient_2" gradientTransform="translate(490.5 384.75) scale(19.091883)"/><radialGradient id="Obj_Gradient_18" xl:href="#Gradient" gradientTransform="translate(576 393.75) scale(5
 5.354116)"/><radialGradient id="Obj_Gradient_19" xl:href="#Gradient_3" gradientTransform="translate(544.76038 384.75) scale(21.756296)"/><radialGradient id="Obj_Gradient_1a" xl:href="#Gradient_2" gradientTransform="translate(463.5 384.75) scale(19.091883)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>partition-2</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id13_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id16_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id17_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id18_Graphic" filter="url(
 #Shadow)"/><xl:use xl:href="#id19_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id21_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id22_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id23_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id25_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id26_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id27_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id28_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id29_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id30_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id31_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id32_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id33_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id34_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id35_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id36_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id37_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id38_Graphic" filter="url(#Shadow
 )"/></g><g id="id3_Graphic"><path d="M 56.16 180 L 290.34 180 C 294.01822 180 297 182.98178 297 186.66 L 297 416.34 C 297 420.01822 294.01822 423 290.34 423 L 56.16 423 C 52.481783 423 49.5 420.01822 49.5 416.34 L 49.5 186.66 C 49.5 182.98178 52.481783 180 56.16 180 Z" fill="url(#Obj_Gradient)"/><path d="M 56.16 180 L 290.34 180 C 294.01822 180 297 182.98178 297 186.66 L 297 416.34 C 297 420.01822 294.01822 423 290.34 423 L 56.16 423 C 52.481783 423 49.5 420.01822 49.5 416.34 L 49.5 186.66 C 49.5 182.98178 52.481783 180 56.16 180 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(53.5 184)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="155.49316" y="14" textLength="84.006836">Member (M1)</tspan></text></g><g id="id4_Graphic"><path d="M 65.16 225 L 281.34 225 C 285.01822 225 288 227.98178 288 231.66 L 288 326.34 C 288 330.01822 285.01822 333 281.34 333 L 65.16 333 C 61.
 481783 333 58.5 330.01822 58.5 326.34 L 58.5 231.66 C 58.5 227.98178 61.481783 225 65.16 225 Z" fill="url(#Obj_Gradient_2)"/><path d="M 65.16 225 L 281.34 225 C 285.01822 225 288 227.98178 288 231.66 L 288 326.34 C 288 330.01822 285.01822 333 281.34 333 L 65.16 333 C 61.481783 333 58.5 330.01822 58.5 326.34 L 58.5 231.66 C 58.5 227.98178 61.481783 225 65.16 225 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(62.5 229)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="93.40625" y="11" textLength="34.6875">Cache</tspan></text></g><g id="id5_Graphic"><path d="M 74.16 252 L 150.84 252 C 154.51822 252 157.5 254.98178 157.5 258.66 L 157.5 312.84 C 157.5 316.51822 154.51822 319.5 150.84 319.5 L 74.16 319.5 C 70.481783 319.5 67.5 316.51822 67.5 312.84 L 67.5 258.66 C 67.5 254.98178 70.481783 252 74.16 252 Z" fill="url(#Obj_Gradient_3)"/><path d="M 74.16 252 L 150.84 252 C 154.
 51822 252 157.5 254.98178 157.5 258.66 L 157.5 312.84 C 157.5 316.51822 154.51822 319.5 150.84 319.5 L 74.16 319.5 C 70.481783 319.5 67.5 316.51822 67.5 312.84 L 67.5 258.66 C 67.5 254.98178 70.481783 252 74.16 252 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(69.5 254)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="3.9731445" y="10" textLength="73.930664">Partition Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="77.356934" y="10" textLength="6.669922">A</tspan></text></g><rect x="198" y="396" width="90" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(200 399)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.8623047" y="10" textLength="23.901367">Java </tspan><tspan font-family="Helvetica" fo
 nt-size="10" font-weight="500" fill="black" x="31.216797" y="10" textLength="48.920898">Application</tspan></text><rect x="76.5" y="270" width="67.5" height="40.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(78.5 272)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="11.988037" y="9" textLength="44.024414">secondary </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="23.991699" y="20" textLength="17.516602">data</tspan></text><g id="id8_Graphic"><path d="M 93.94052 290.4185 L 88.42157 289.76076 L 90.27482 294.92455 L 86.36462 298.77286 L 91.55731 300.5435 L 92.12807 306 L 96.75 303.04417 L 101.37193 306 L 101.94269 300.5435 L 107.13538 298.77286 L 103.22518 294.92455 L 105.07843 289.76152 L 99.63173 290.4185 L 96.75 285.75 Z" fill="url(#Obj_Gradient_4)"/><path d="M 93.94052 290.4185 L 88.42157 289.76076 L 90.27482 294.92455 L 86.36462
  298.77286 L 91.55731 300.5435 L 92.12807 306 L 96.75 303.04417 L 101.37193 306 L 101.94269 300.5435 L 107.13538 298.77286 L 103.22518 294.92455 L 105.07843 289.76152 L 99.63173 290.4185 L 96.75 285.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(86.36462 290.375)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="6.1380655" y="9" textLength="8.494629">W</tspan></text></g><g id="id9_Graphic"><path d="M 317.16 180 L 591.84 180 C 595.5182 180 598.5 182.98178 598.5 186.66 L 598.5 416.34 C 598.5 420.01822 595.5182 423 591.84 423 L 317.16 423 C 313.48178 423 310.5 420.01822 310.5 416.34 L 310.5 186.66 C 310.5 182.98178 313.48178 180 317.16 180 Z" fill="url(#Obj_Gradient_5)"/><path d="M 317.16 180 L 591.84 180 C 595.5182 180 598.5 182.98178 598.5 186.66 L 598.5 416.34 C 598.5 420.01822 595.5182 423 591.84 423 L 317.16 423 C 313.48178 423 310.5 420.01822 310.5 416.34 L 310.5
  186.66 C 310.5 182.98178 313.48178 180 317.16 180 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(314.5 184)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="195.99316" y="14" textLength="84.006836">Member (M2)</tspan></text></g><g id="id10_Graphic"><path d="M 326.16 216 L 582.84 216 C 586.5182 216 589.5 218.98178 589.5 222.66 L 589.5 398.34 C 589.5 402.01822 586.5182 405 582.84 405 L 326.16 405 C 322.48178 405 319.5 402.01822 319.5 398.34 L 319.5 222.66 C 319.5 218.98178 322.48178 216 326.16 216 Z" fill="url(#Obj_Gradient_6)"/><path d="M 326.16 216 L 582.84 216 C 586.5182 216 589.5 218.98178 589.5 222.66 L 589.5 398.34 C 589.5 402.01822 586.5182 405 582.84 405 L 326.16 405 C 322.48178 405 319.5 402.01822 319.5 398.34 L 319.5 222.66 C 319.5 218.98178 322.48178 216 326.16 216 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/>
 <text transform="translate(323.5 220)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="113.65625" y="11" textLength="34.6875">Cache</tspan></text></g><path d="M 252 396 C 252 376.875 264.37087 372.09048 278.99587 368.99673 C 290.89296 366.48003 304.28172 365.0822 318.55208 364.6483" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(253.75 378.75)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="8.165039" y="10" textLength="11.669922">T3</tspan></text><g id="id13_Graphic"><path d="M 121.41 288 L 126.09 288 C 129.76822 288 132.75 290.98178 132.75 294.66 L 132.75 299.34 C 132.75 303.01822 129.76822 306 126.09 306 L 121.41 306 C 117.73178 306 114.75 303.01822 114.75 299.34 L 114.75 294.66 C 114.75 290.98178 117.73178 288 121.41 288 Z" fill="url(#Obj_Gradient_7)"/><path d="M 121.41 288 L 126.09 2
 88 C 129.76822 288 132.75 290.98178 132.75 294.66 L 132.75 299.34 C 132.75 303.01822 129.76822 306 126.09 306 L 121.41 306 C 117.73178 306 114.75 303.01822 114.75 299.34 L 114.75 294.66 C 114.75 290.98178 117.73178 288 121.41 288 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(118.75 291.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id14_Graphic"><path d="M 166.41 252 L 204.84 252 C 208.51822 252 211.5 254.98178 211.5 258.66 L 211.5 312.84 C 211.5 316.51822 208.51822 319.5 204.84 319.5 L 166.41 319.5 C 162.73178 319.5 159.75 316.51822 159.75 312.84 L 159.75 258.66 C 159.75 254.98178 162.73178 252 166.41 252 Z" fill="url(#Obj_Gradient_8)"/><path d="M 166.41 252 L 204.84 252 C 208.51822 252 211.5 254.98178 211.5 258.66 L 211.5 312.84 C 211.5 316.51822 208.51822 319.5 204.84 319.5 L 166.41 319.5 C 16
 2.73178 319.5 159.75 316.51822 159.75 312.84 L 159.75 258.66 C 159.75 254.98178 162.73178 252 166.41 252 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(161.75 254)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="6.532715" y="10" textLength="39.46289">Partition </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="4.3061523" y="22" textLength="41.137695">Region B</tspan></text></g><text transform="translate(161.75 287.75)" fill="black"><tspan font-family="Helvetica" font-size="8" font-style="italic" font-weight="500" fill="black" x="17.089844" y="8" textLength="17.792969">data </tspan><tspan font-family="Helvetica" font-size="8" font-style="italic" font-weight="500" fill="black" x="8.8691406" y="18" textLength="34.234375">accessor </tspan><tspan font-family="Helvetica" font-size="8" font-style="italic" font-weight="500" fill="black" 
 x="17.537109" y="28" textLength="14.675781">only</tspan></text><g id="id16_Graphic"><path d="M 224.91 252 L 272.34 252 C 276.01822 252 279 254.98178 279 258.66 L 279 312.84 C 279 316.51822 276.01822 319.5 272.34 319.5 L 224.91 319.5 C 221.23178 319.5 218.25 316.51822 218.25 312.84 L 218.25 258.66 C 218.25 254.98178 221.23178 252 224.91 252 Z" fill="url(#Obj_Gradient_9)"/><path d="M 224.91 252 L 272.34 252 C 276.01822 252 279 254.98178 279 258.66 L 279 312.84 C 279 316.51822 276.01822 319.5 272.34 319.5 L 224.91 319.5 C 221.23178 319.5 218.25 316.51822 218.25 312.84 L 218.25 258.66 C 218.25 254.98178 221.23178 252 224.91 252 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(220.25 254)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="8.5302734" y="10" textLength="44.467773">Replicate </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="
 8.5302734" y="22" textLength="41.689453">Region R</tspan></text></g><g id="id17_Graphic"><path d="M 229.61033 290.0961 L 229.52043 290.08539 C 228.59022 289.97452 227.74627 290.63874 227.63541 291.56895 C 227.60428 291.83017 227.63433 292.09505 227.7232 292.34266 L 227.7232 292.34266 C 228.28812 293.91674 227.88667 295.67562 226.69472 296.8487 L 226.69472 296.8487 C 226.02821 297.50467 226.01966 298.57675 226.67562 299.24326 C 226.86045 299.43106 227.08656 299.57314 227.33596 299.65818 L 227.33597 299.65818 C 228.91885 300.19792 230.0437 301.60844 230.21769 303.27175 L 230.21769 303.27175 C 230.31498 304.20184 231.14783 304.87695 232.07792 304.77966 C 232.33999 304.75225 232.59205 304.66405 232.81403 304.52209 L 232.81404 304.52208 C 234.22294 303.62106 236.02706 303.62106 237.43596 304.52208 L 237.43597 304.52209 C 238.2238 305.02592 239.2709 304.7957 239.77473 304.00787 C 239.9167 303.78588 240.0049 303.53382 240.03231 303.27175 L 240.03231 303.27175 C 240.2063 301.60844 241.33115
  300.19792 242.91403 299.65818 L 242.91404 299.65818 C 243.79915 299.35637 244.27202 298.39417 243.9702 297.50905 C 243.88516 297.25965 243.74308 297.03354 243.55528 296.8487 L 243.55503 296.84846 C 242.36324 295.67554 241.96188 293.91687 242.5268 292.34304 L 242.5268 292.34304 C 242.84273 291.46288 242.38534 290.49327 241.50519 290.17734 C 241.25723 290.08834 240.99193 290.05843 240.73039 290.08997 L 240.73008 290.09001 C 239.06972 290.29028 237.44433 289.5074 236.56589 288.0843 L 236.55599 288.06825 C 236.07429 287.28788 235.05118 287.04576 234.2708 287.52746 C 234.04553 287.66652 233.85677 287.85742 233.72026 288.08425 L 233.72026 288.08425 C 232.8653 289.50494 231.25678 290.29232 229.61033 290.0961 Z" fill="url(#Obj_Gradient_a)"/><path d="M 229.61033 290.0961 L 229.52043 290.08539 C 228.59022 289.97452 227.74627 290.63874 227.63541 291.56895 C 227.60428 291.83017 227.63433 292.09505 227.7232 292.34266 L 227.7232 292.34266 C 228.28812 293.91674 227.88667 295.67562 226.69472 296.8
 487 L 226.69472 296.8487 C 226.02821 297.50467 226.01966 298.57675 226.67562 299.24326 C 226.86045 299.43106 227.08656 299.57314 227.33596 299.65818 L 227.33597 299.65818 C 228.91885 300.19792 230.0437 301.60844 230.21769 303.27175 L 230.21769 303.27175 C 230.31498 304.20184 231.14783 304.87695 232.07792 304.77966 C 232.33999 304.75225 232.59205 304.66405 232.81403 304.52209 L 232.81404 304.52208 C 234.22294 303.62106 236.02706 303.62106 237.43596 304.52208 L 237.43597 304.52209 C 238.2238 305.02592 239.2709 304.7957 239.77473 304.00787 C 239.9167 303.78588 240.0049 303.53382 240.03231 303.27175 L 240.03231 303.27175 C 240.2063 301.60844 241.33115 300.19792 242.91403 299.65818 L 242.91404 299.65818 C 243.79915 299.35637 244.27202 298.39417 243.9702 297.50905 C 243.88516 297.25965 243.74308 297.03354 243.55528 296.8487 L 243.55503 296.84846 C 242.36324 295.67554 241.96188 293.91687 242.5268 292.34304 L 242.5268 292.34304 C 242.84273 291.46288 242.38534 290.49327 241.50519 290.17734 C
  241.25723 290.08834 240.99193 290.05843 240.73039 290.08997 L 240.73008 290.09001 C 239.06972 290.29028 237.44433 289.5074 236.56589 288.0843 L 236.55599 288.06825 C 236.07429 287.28788 235.05118 287.04576 234.2708 287.52746 C 234.04553 287.66652 233.85677 287.85742 233.72026 288.08425 L 233.72026 288.08425 C 232.8653 289.50494 231.25678 290.29232 229.61033 290.0961 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(224.73962 290.375)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="7.6366007" y="9" textLength="5.4975586">F</tspan></text></g><g id="id18_Graphic"><path d="M 262.125 288 L 262.125 288 C 267.09556 288 271.125 292.02944 271.125 297 L 271.125 297 C 271.125 301.97056 267.09556 306 262.125 306 L 262.125 306 C 257.15444 306 253.125 301.97056 253.125 297 L 253.125 297 C 253.125 292.02944 257.15444 288 262.125 288 Z" fill="none"/><path d="M 262.125 288 L 262.125 28
 8 C 267.09556 288 271.125 292.02944 271.125 297 L 271.125 297 C 271.125 301.97056 267.09556 306 262.125 306 L 262.125 306 C 257.15444 306 253.125 301.97056 253.125 297 L 253.125 297 C 253.125 292.02944 257.15444 288 262.125 288 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(257.125 291.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.4997559" y="9" textLength="7.0004883">G</tspan></text></g><g id="id19_Graphic"><path d="M 339.66 252 L 416.34 252 C 420.01822 252 423 254.98178 423 258.66 L 423 312.84 C 423 316.51822 420.01822 319.5 416.34 319.5 L 339.66 319.5 C 335.98178 319.5 333 316.51822 333 312.84 L 333 258.66 C 333 254.98178 335.98178 252 339.66 252 Z" fill="url(#Obj_Gradient_b)"/><path d="M 339.66 252 L 416.34 252 C 420.01822 252 423 254.98178 423 258.66 L 423 312.84 C 423 316.51822 420.01822 319.5 416.34 319.5 L 339.66 319.5 C 335.98178 319.5 333 316.51822 3
 33 312.84 L 333 258.66 C 333 254.98178 335.98178 252 339.66 252 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(335 254)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="3.9731445" y="10" textLength="73.930664">Partition Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="77.356934" y="10" textLength="6.669922">A</tspan></text></g><rect x="342" y="270" width="67.5" height="40.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(344 272)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="7.7407227" y="9" textLength="50.018555">primary data</tspan></text><g id="id21_Graphic"><path d="M 359.44052 290.4185 L 353.92157 289.76076 L 355.77482 294.92455 L 351.86462 298.77286 L 357.0573 300.5435 L 357.62807 306 L 362.25 303.044
 17 L 366.87193 306 L 367.4427 300.5435 L 372.63538 298.77286 L 368.72518 294.92455 L 370.57843 289.76152 L 365.13173 290.4185 L 362.25 285.75 Z" fill="url(#Obj_Gradient_c)"/><path d="M 359.44052 290.4185 L 353.92157 289.76076 L 355.77482 294.92455 L 351.86462 298.77286 L 357.0573 300.5435 L 357.62807 306 L 362.25 303.04417 L 366.87193 306 L 367.4427 300.5435 L 372.63538 298.77286 L 368.72518 294.92455 L 370.57843 289.76152 L 365.13173 290.4185 L 362.25 285.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(351.86462 290.375)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="6.1380655" y="9" textLength="8.494629">W</tspan></text></g><g id="id22_Graphic"><path d="M 386.91 288 L 391.59 288 C 395.26822 288 398.25 290.98178 398.25 294.66 L 398.25 299.34 C 398.25 303.01822 395.26822 306 391.59 306 L 386.91 306 C 383.23178 306 380.25 303.01822 380.25 299.34 L 380.25 294.66 C 3
 80.25 290.98178 383.23178 288 386.91 288 Z" fill="url(#Obj_Gradient_d)"/><path d="M 386.91 288 L 391.59 288 C 395.26822 288 398.25 290.98178 398.25 294.66 L 398.25 299.34 C 398.25 303.01822 395.26822 306 391.59 306 L 386.91 306 C 383.23178 306 380.25 303.01822 380.25 299.34 L 380.25 294.66 C 380.25 290.98178 383.23178 288 386.91 288 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(384.25 291.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id23_Graphic"><path d="M 431.91 252 L 508.59 252 C 512.26822 252 515.25 254.98178 515.25 258.66 L 515.25 312.84 C 515.25 316.51822 512.26822 319.5 508.59 319.5 L 431.91 319.5 C 428.23178 319.5 425.25 316.51822 425.25 312.84 L 425.25 258.66 C 425.25 254.98178 428.23178 252 431.91 252 Z" fill="url(#Obj_Gradient_e)"/><path d="M 431.91 252 L 508.59 252 C 512.26822 252 5
 15.25 254.98178 515.25 258.66 L 515.25 312.84 C 515.25 316.51822 512.26822 319.5 508.59 319.5 L 431.91 319.5 C 428.23178 319.5 425.25 316.51822 425.25 312.84 L 425.25 258.66 C 425.25 254.98178 428.23178 252 431.91 252 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(427.25 254)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="3.699707" y="10" textLength="80.600586">Partition Region B</tspan></text></g><rect x="434.25" y="270" width="67.5" height="40.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(436.25 272)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="7.7407227" y="9" textLength="50.018555">primary data</tspan></text><g id="id25_Graphic"><rect x="472.5" y="288" width="18" height="18" fill="url(#Obj_Gradient_f)"/><rect x="472.5" y="288" width="18" hei
 ght="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(476.5 291.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.2512207" y="9" textLength="5.4975586">Z</tspan></text></g><g id="id26_Graphic"><path d="M 524.16 252 L 569.34 252 C 573.0182 252 576 254.98178 576 258.66 L 576 312.84 C 576 316.51822 573.0182 319.5 569.34 319.5 L 524.16 319.5 C 520.48178 319.5 517.5 316.51822 517.5 312.84 L 517.5 258.66 C 517.5 254.98178 520.48178 252 524.16 252 Z" fill="url(#Obj_Gradient_10)"/><path d="M 524.16 252 L 569.34 252 C 573.0182 252 576 254.98178 576 258.66 L 576 312.84 C 576 316.51822 573.0182 319.5 569.34 319.5 L 524.16 319.5 C 520.48178 319.5 517.5 316.51822 517.5 312.84 L 517.5 258.66 C 517.5 254.98178 520.48178 252 524.16 252 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(519.5 254)" fill="black"><t
 span font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.4052734" y="10" textLength="44.467773">Replicate </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.4052734" y="22" textLength="41.689453">Region R</tspan></text></g><g id="id27_Graphic"><path d="M 528.86033 290.0961 L 528.77043 290.08539 C 527.84022 289.97452 526.99627 290.63874 526.8854 291.56895 C 526.85428 291.83017 526.88433 292.09505 526.9732 292.34266 L 526.9732 292.34266 C 527.53812 293.91674 527.13667 295.67562 525.94472 296.8487 L 525.94472 296.8487 C 525.2782 297.50467 525.26966 298.57675 525.92562 299.24326 C 526.11045 299.43106 526.33656 299.57314 526.58596 299.65818 L 526.58597 299.65818 C 528.16885 300.19792 529.2937 301.60844 529.4677 303.27175 L 529.4677 303.27175 C 529.56498 304.20184 530.39783 304.87695 531.32792 304.77966 C 531.59 304.75225 531.84205 304.66405 532.06403 304.52209 L 532.06404 304.52208 C 533.47294 303.62106 535.27706 303.62106 536
 .68596 304.52208 L 536.68597 304.52209 C 537.4738 305.02592 538.5209 304.7957 539.02473 304.00787 C 539.1667 303.78588 539.2549 303.53382 539.2823 303.27175 L 539.2823 303.27175 C 539.4563 301.60844 540.58115 300.19792 542.16403 299.65818 L 542.16404 299.65818 C 543.04915 299.35637 543.522 298.39417 543.2202 297.50905 C 543.13516 297.25965 542.9931 297.03354 542.80528 296.8487 L 542.80503 296.84846 C 541.61324 295.67554 541.21188 293.91687 541.7768 292.34304 L 541.7768 292.34304 C 542.09273 291.46288 541.63534 290.49327 540.7552 290.17734 C 540.50723 290.08834 540.24193 290.05843 539.9804 290.08997 L 539.98008 290.09001 C 538.31972 290.29028 536.69433 289.5074 535.8159 288.0843 L 535.806 288.06825 C 535.3243 287.28788 534.30118 287.04576 533.5208 287.52746 C 533.29553 287.66652 533.10677 287.85742 532.97026 288.08425 L 532.97026 288.08425 C 532.1153 289.50494 530.50678 290.29232 528.86033 290.0961 Z" fill="url(#Obj_Gradient_11)"/><path d="M 528.86033 290.0961 L 528.77043 290.08539 C
  527.84022 289.97452 526.99627 290.63874 526.8854 291.56895 C 526.85428 291.83017 526.88433 292.09505 526.9732 292.34266 L 526.9732 292.34266 C 527.53812 293.91674 527.13667 295.67562 525.94472 296.8487 L 525.94472 296.8487 C 525.2782 297.50467 525.26966 298.57675 525.92562 299.24326 C 526.11045 299.43106 526.33656 299.57314 526.58596 299.65818 L 526.58597 299.65818 C 528.16885 300.19792 529.2937 301.60844 529.4677 303.27175 L 529.4677 303.27175 C 529.56498 304.20184 530.39783 304.87695 531.32792 304.77966 C 531.59 304.75225 531.84205 304.66405 532.06403 304.52209 L 532.06404 304.52208 C 533.47294 303.62106 535.27706 303.62106 536.68596 304.52208 L 536.68597 304.52209 C 537.4738 305.02592 538.5209 304.7957 539.02473 304.00787 C 539.1667 303.78588 539.2549 303.53382 539.2823 303.27175 L 539.2823 303.27175 C 539.4563 301.60844 540.58115 300.19792 542.16403 299.65818 L 542.16404 299.65818 C 543.04915 299.35637 543.522 298.39417 543.2202 297.50905 C 543.13516 297.25965 542.9931 297.0335
 4 542.80528 296.8487 L 542.80503 296.84846 C 541.61324 295.67554 541.21188 293.91687 541.7768 292.34304 L 541.7768 292.34304 C 542.09273 291.46288 541.63534 290.49327 540.7552 290.17734 C 540.50723 290.08834 540.24193 290.05843 539.9804 290.08997 L 539.98008 290.09001 C 538.31972 290.29028 536.69433 289.5074 535.8159 288.0843 L 535.806 288.06825 C 535.3243 287.28788 534.30118 287.04576 533.5208 287.52746 C 533.29553 287.66652 533.10677 287.85742 532.97026 288.08425 L 532.97026 288.08425 C 532.1153 289.50494 530.50678 290.29232 528.86033 290.0961 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(523.98962 290.375)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="7.6366007" y="9" textLength="5.4975586">F</tspan></text></g><g id="id28_Graphic"><path d="M 561.375 288 L 561.375 288 C 566.34556 288 570.375 292.02944 570.375 297 L 570.375 297 C 570.375 301.97056 566.34556 306 5
 61.375 306 L 561.375 306 C 556.40444 306 552.375 301.97056 552.375 297 L 552.375 297 C 552.375 292.02944 556.40444 288 561.375 288 Z" fill="none"/><path d="M 561.375 288 L 561.375 288 C 566.34556 288 570.375 292.02944 570.375 297 L 570.375 297 C 570.375 301.97056 566.34556 306 561.375 306 L 561.375 306 C 556.40444 306 552.375 301.97056 552.375 297 L 552.375 297 C 552.375 292.02944 556.40444 288 561.375 288 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(556.375 291.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.4997559" y="9" textLength="7.0004883">G</tspan></text></g><g id="id29_Graphic"><path d="M 454.5 288 L 454.5 288 C 459.47056 288 463.5 292.02944 463.5 297 L 463.5 297 C 463.5 301.97056 459.47056 306 454.5 306 L 454.5 306 C 449.52944 306 445.5 301.97056 445.5 297 L 445.5 297 C 445.5 292.02944 449.52944 288 454.5 288 Z" fill="url(#Obj_Gradient_12)"/><path d=
 "M 454.5 288 L 454.5 288 C 459.47056 288 463.5 292.02944 463.5 297 L 463.5 297 C 463.5 301.97056 459.47056 306 454.5 306 L 454.5 306 C 449.52944 306 445.5 301.97056 445.5 297 L 445.5 297 C 445.5 292.02944 449.52944 288 454.5 288 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(449.5 291.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><g id="id30_Graphic"><path d="M 339.66 348.75 L 411.84 348.75 C 415.51822 348.75 418.5 351.73178 418.5 355.41 L 418.5 387.09 C 418.5 390.76822 415.51822 393.75 411.84 393.75 L 339.66 393.75 C 335.98178 393.75 333 390.76822 333 387.09 L 333 355.41 C 333 351.73178 335.98178 348.75 339.66 348.75 Z" fill="url(#Obj_Gradient_13)"/><path d="M 339.66 348.75 L 411.84 348.75 C 415.51822 348.75 418.5 351.73178 418.5 355.41 L 418.5 387.09 C 418.5 390.76822 415.51822 393.75 411.84 393.75 L 
 339.66 393.75 C 335.98178 393.75 333 390.76822 333 387.09 L 333 355.41 C 333 351.73178 335.98178 348.75 339.66 348.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(335 350.75)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="21.45459" y="10" textLength="34.467773">Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="55.375488" y="10" textLength="6.669922">A</tspan></text></g><g id="id31_Graphic"><path d="M 359.44052 369.1685 L 353.92157 368.51076 L 355.77482 373.67455 L 351.86462 377.52286 L 357.0573 379.2935 L 357.62807 384.75 L 362.25 381.79417 L 366.87193 384.75 L 367.4427 379.2935 L 372.63538 377.52286 L 368.72518 373.67455 L 370.57843 368.51152 L 365.13173 369.1685 L 362.25 364.5 Z" fill="url(#Obj_Gradient_14)"/><path d="M 359.44052 369.1685 L 353.92157 368.51076 L 355.77482 373.67455 L 351.86462 377.52286 L 357.0573 37
 9.2935 L 357.62807 384.75 L 362.25 381.79417 L 366.87193 384.75 L 367.4427 379.2935 L 372.63538 377.52286 L 368.72518 373.67455 L 370.57843 368.51152 L 365.13173 369.1685 L 362.25 364.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(351.86462 369.125)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="6.1380655" y="9" textLength="8.494629">W</tspan></text></g><g id="id32_Graphic"><path d="M 386.91 366.75 L 391.59 366.75 C 395.26822 366.75 398.25 369.73178 398.25 373.41 L 398.25 378.09 C 398.25 381.76822 395.26822 384.75 391.59 384.75 L 386.91 384.75 C 383.23178 384.75 380.25 381.76822 380.25 378.09 L 380.25 373.41 C 380.25 369.73178 383.23178 366.75 386.91 366.75 Z" fill="url(#Obj_Gradient_15)"/><path d="M 386.91 366.75 L 391.59 366.75 C 395.26822 366.75 398.25 369.73178 398.25 373.41 L 398.25 378.09 C 398.25 381.76822 395.26822 384.75 391.59 384.75 L 386.91 384.75 C 38
 3.23178 384.75 380.25 381.76822 380.25 378.09 L 380.25 373.41 C 380.25 369.73178 383.23178 366.75 386.91 366.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(384.25 370.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id33_Graphic"><path d="M 431.91 348.75 L 504.09 348.75 C 507.76822 348.75 510.75 351.73178 510.75 355.41 L 510.75 387.09 C 510.75 390.76822 507.76822 393.75 504.09 393.75 L 431.91 393.75 C 428.23178 393.75 425.25 390.76822 425.25 387.09 L 425.25 355.41 C 425.25 351.73178 428.23178 348.75 431.91 348.75 Z" fill="url(#Obj_Gradient_16)"/><path d="M 431.91 348.75 L 504.09 348.75 C 507.76822 348.75 510.75 351.73178 510.75 355.41 L 510.75 387.09 C 510.75 390.76822 507.76822 393.75 504.09 393.75 L 431.91 393.75 C 428.23178 393.75 425.25 390.76822 425.25 387.09 L 425.25 355.41 C 425.25 351.73
 178 428.23178 348.75 431.91 348.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(427.25 350.75)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="21.181152" y="10" textLength="41.137695">Region B</tspan></text></g><g id="id34_Graphic"><rect x="472.5" y="366.75" width="18" height="18" fill="url(#Obj_Gradient_17)"/><rect x="472.5" y="366.75" width="18" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(476.5 370.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.2512207" y="9" textLength="5.4975586">Z</tspan></text></g><g id="id35_Graphic"><path d="M 524.16 348.75 L 569.34 348.75 C 573.0182 348.75 576 351.73178 576 355.41 L 576 387.09 C 576 390.76822 573.0182 393.75 569.34 393.75 L 524.16 393.75 C 520.48178 393.75 517.5 390.76822 517.5 387.09 L 
 517.5 355.41 C 517.5 351.73178 520.48178 348.75 524.16 348.75 Z" fill="url(#Obj_Gradient_18)"/><path d="M 524.16 348.75 L 569.34 348.75 C 573.0182 348.75 576 351.73178 576 355.41 L 576 387.09 C 576 390.76822 573.0182 393.75 569.34 393.75 L 524.16 393.75 C 520.48178 393.75 517.5 390.76822 517.5 387.09 L 517.5 355.41 C 517.5 351.73178 520.48178 348.75 524.16 348.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(519.5 350.75)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.4052734" y="10" textLength="41.689453">Region R</tspan></text></g><g id="id36_Graphic"><path d="M 528.86033 368.8461 L 528.77043 368.83539 C 527.84022 368.72452 526.99627 369.38874 526.8854 370.31895 C 526.85428 370.58017 526.88433 370.84505 526.9732 371.09266 L 526.9732 371.09266 C 527.53812 372.66674 527.13667 374.42562 525.94472 375.5987 L 525.94472 375.5987 C 525.2782 376.25467 525.26966 377.32
 675 525.92562 377.99326 C 526.11045 378.18106 526.33656 378.32314 526.58596 378.40818 L 526.58597 378.40818 C 528.16885 378.94792 529.2937 380.35844 529.4677 382.02175 L 529.4677 382.02175 C 529.56498 382.95184 530.39783 383.62695 531.32792 383.52966 C 531.59 383.50225 531.84205 383.41405 532.06403 383.27209 L 532.06404 383.27208 C 533.47294 382.37106 535.27706 382.37106 536.68596 383.27208 L 536.68597 383.27209 C 537.4738 383.77592 538.5209 383.5457 539.02473 382.75787 C 539.1667 382.53588 539.2549 382.28382 539.2823 382.02175 L 539.2823 382.02175 C 539.4563 380.35844 540.58115 378.94792 542.16403 378.40818 L 542.16404 378.40818 C 543.04915 378.10637 543.522 377.14417 543.2202 376.25905 C 543.13516 376.00965 542.9931 375.78354 542.80528 375.5987 L 542.80503 375.59846 C 541.61324 374.42554 541.21188 372.66687 541.7768 371.09304 L 541.7768 371.09304 C 542.09273 370.21288 541.63534 369.24327 540.7552 368.92734 C 540.50723 368.83834 540.24193 368.80843 539.9804 368.83997 L 539.98008 36
 8.84 C 538.31972 369.04028 536.69433 368.2574 535.8159 366.8343 L 535.806 366.81825 C 535.3243 366.03788 534.30118 365.79576 533.5208 366.27746 C 533.29553 366.41652 533.10677 366.60742 532.97026 366.83425 L 532.97026 366.83425 C 532.1153 368.25494 530.50678 369.04232 528.86033 368.8461 Z" fill="url(#Obj_Gradient_19)"/><path d="M 528.86033 368.8461 L 528.77043 368.83539 C 527.84022 368.72452 526.99627 369.38874 526.8854 370.31895 C 526.85428 370.58017 526.88433 370.84505 526.9732 371.09266 L 526.9732 371.09266 C 527.53812 372.66674 527.13667 374.42562 525.94472 375.5987 L 525.94472 375.5987 C 525.2782 376.25467 525.26966 377.32675 525.92562 377.99326 C 526.11045 378.18106 526.33656 378.32314 526.58596 378.40818 L 526.58597 378.40818 C 528.16885 378.94792 529.2937 380.35844 529.4677 382.02175 L 529.4677 382.02175 C 529.56498 382.95184 530.39783 383.62695 531.32792 383.52966 C 531.59 383.50225 531.84205 383.41405 532.06403 383.27209 L 532.06404 383.27208 C 533.47294 382.37106 535.2770
 6 382.37106 536.68596 383.27208 L 536.68597 383.27209 C 537.4738 383.77592 538.5209 383.5457 539.02473 382.75787 C 539.1667 382.53588 539.2549 382.28382 539.2823 382.02175 L 539.2823 382.02175 C 539.4563 380.35844 540.58115 378.94792 542.16403 378.40818 L 542.16404 378.40818 C 543.04915 378.10637 543.522 377.14417 543.2202 376.25905 C 543.13516 376.00965 542.9931 375.78354 542.80528 375.5987 L 542.80503 375.59846 C 541.61324 374.42554 541.21188 372.66687 541.7768 371.09304 L 541.7768 371.09304 C 542.09273 370.21288 541.63534 369.24327 540.7552 368.92734 C 540.50723 368.83834 540.24193 368.80843 539.9804 368.83997 L 539.98008 368.84 C 538.31972 369.04028 536.69433 368.2574 535.8159 366.8343 L 535.806 366.81825 C 535.3243 366.03788 534.30118 365.79576 533.5208 366.27746 C 533.29553 366.41652 533.10677 366.60742 532.97026 366.83425 L 532.97026 366.83425 C 532.1153 368.25494 530.50678 369.04232 528.86033 368.8461 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-
 width=".72000003"/><text transform="translate(523.98962 369.125)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="7.6366007" y="9" textLength="5.4975586">F</tspan></text></g><g id="id37_Graphic"><path d="M 560.25 366.75 L 560.25 366.75 C 565.22056 366.75 569.25 370.77944 569.25 375.75 L 569.25 375.75 C 569.25 380.72056 565.22056 384.75 560.25 384.75 L 560.25 384.75 C 555.27944 384.75 551.25 380.72056 551.25 375.75 L 551.25 375.75 C 551.25 370.77944 555.27944 366.75 560.25 366.75 Z" fill="none"/><path d="M 560.25 366.75 L 560.25 366.75 C 565.22056 366.75 569.25 370.77944 569.25 375.75 L 569.25 375.75 C 569.25 380.72056 565.22056 384.75 560.25 384.75 L 560.25 384.75 C 555.27944 384.75 551.25 380.72056 551.25 375.75 L 551.25 375.75 C 551.25 370.77944 555.27944 366.75 560.25 366.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(555.25 370.25)" fill="black"><tspan font-fam
 ily="Helvetica" font-size="9" font-weight="500" fill="black" x="1.4997559" y="9" textLength="7.0004883">G</tspan></text></g><g id="id38_Graphic"><path d="M 454.5 366.75 L 454.5 366.75 C 459.47056 366.75 463.5 370.77944 463.5 375.75 L 463.5 375.75 C 463.5 380.72056 459.47056 384.75 454.5 384.75 L 454.5 384.75 C 449.52944 384.75 445.5 380.72056 445.5 375.75 L 445.5 375.75 C 445.5 370.77944 449.52944 366.75 454.5 366.75 Z" fill="url(#Obj_Gradient_1a)"/><path d="M 454.5 366.75 L 454.5 366.75 C 459.47056 366.75 463.5 370.77944 463.5 375.75 L 463.5 375.75 C 463.5 380.72056 459.47056 384.75 454.5 384.75 L 454.5 384.75 C 449.52944 384.75 445.5 380.72056 445.5 375.75 L 445.5 375.75 C 445.5 370.77944 449.52944 366.75 454.5 366.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(449.5 370.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">
 Y</tspan></text></g><rect x="328.5" y="333" width="252" height="67.5" fill="none"/><rect x="328.5" y="333" width="252" height="67.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(330.5 335)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="91.92383" y="10" textLength="6.1083984">T</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="97.666016" y="10" textLength="48.916016">ransaction </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="146.40625" y="10" textLength="11.669922">T3</tspan></text></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/transactions_replicate_1.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/transactions_replicate_1.svg b/geode-docs/images_svg/transactions_replicate_1.svg
new file mode 100644
index 0000000..094bc58
--- /dev/null
+++ b/geode-docs/images_svg/transactions_replicate_1.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="36 149 585 337" width="585pt" height="337pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 10:54Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".3" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(306 414) scale(260.40044)"/><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underline-posi
 tion="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(274.5 369) scale(202.5)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(162 281.25) scale(77.734976)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" d
 escent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(129.63538 274.5) scale(21.756296)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(603 288) scale(211.30842)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -6 14
  12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M 11.7222214 0 L 0 -4.395833 L 0 4.395833 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(261 283.5) scale(78.518633)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(220.5 274.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient" gradientTransform="translate(162 353.25) scale(73.26549)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient_2" gradientTransform="translate(129.63538 346.5) scale(21.756296)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient" gradientTransform="translate(254.25 355.5) scale(74.09643)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient_2" gradientTransform="translate(220.5 346.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_c" xl:href="#Gradient" gradientTransform="translate(576 274.5) scale(1
 74.22978)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient" gradientTransform="translate(468 263.25) scale(82.273197)"/><radialGradient id="Obj_Gradient_e" xl:href="#Gradient_2" gradientTransform="translate(422.13538 256.5) scale(21.756296)"/><radialGradient id="Obj_Gradient_f" xl:href="#Gradient" gradientTransform="translate(603 468) scale(230.31748)"/><radialGradient id="Obj_Gradient_10" xl:href="#Gradient" gradientTransform="translate(576 418.5) scale(178.20511)"/><radialGradient id="Obj_Gradient_11" xl:href="#Gradient" gradientTransform="translate(562.5 409.5) scale(78.518633)"/><radialGradient id="Obj_Gradient_12" xl:href="#Gradient_2" gradientTransform="translate(522 400.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_13" xl:href="#Gradient" gradientTransform="translate(461.25 409.5) scale(83.014024)"/><radialGradient id="Obj_Gradient_14" xl:href="#Gradient_2" gradientTransform="translate(423 400.5) scale(19.091883)"/></defs><g stroke="none" stroke-opacity="1" s
 troke-dasharray="none" fill="none" fill-opacity="1"><title>replicate-1</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id13_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id16_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id18_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id19_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id20_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id21_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id22_Graphic" filter="url(#Shadow)"/><xl:use xl:href=
 "#id23_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id24_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id25_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id26_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 56.16 180 L 299.34 180 C 303.01822 180 306 182.98178 306 186.66 L 306 407.34 C 306 411.01822 303.01822 414 299.34 414 L 56.16 414 C 52.481783 414 49.5 411.01822 49.5 407.34 L 49.5 186.66 C 49.5 182.98178 52.481783 180 56.16 180 Z" fill="url(#Obj_Gradient)"/><path d="M 56.16 180 L 299.34 180 C 303.01822 180 306 182.98178 306 186.66 L 306 407.34 C 306 411.01822 303.01822 414 299.34 414 L 56.16 414 C 52.481783 414 49.5 411.01822 49.5 407.34 L 49.5 186.66 C 49.5 182.98178 52.481783 180 56.16 180 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(53.5 184)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="164.49316" y="14" textLength="84.0068
 36">Member (M1)</tspan></text></g><g id="id4_Graphic"><path d="M 65.16 207 L 267.84 207 C 271.51822 207 274.5 209.98178 274.5 213.66 L 274.5 362.34 C 274.5 366.01822 271.51822 369 267.84 369 L 65.16 369 C 61.481783 369 58.5 366.01822 58.5 362.34 L 58.5 213.66 C 58.5 209.98178 61.481783 207 65.16 207 Z" fill="url(#Obj_Gradient_2)"/><path d="M 65.16 207 L 267.84 207 C 271.51822 207 274.5 209.98178 274.5 213.66 L 274.5 362.34 C 274.5 366.01822 271.51822 369 267.84 369 L 65.16 369 C 61.481783 369 58.5 366.01822 58.5 362.34 L 58.5 213.66 C 58.5 209.98178 61.481783 207 65.16 207 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(62.5 211)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="86.65625" y="11" textLength="34.6875">Cache</tspan></text></g><g id="id5_Graphic"><path d="M 76.41 234 L 155.34 234 C 159.01822 234 162 236.98178 162 240.66 L 162 274.59 C 162 278.26822 159.018
 22 281.25 155.34 281.25 L 76.41 281.25 C 72.731783 281.25 69.75 278.26822 69.75 274.59 L 69.75 240.66 C 69.75 236.98178 72.731783 234 76.41 234 Z" fill="url(#Obj_Gradient_3)"/><path d="M 76.41 234 L 155.34 234 C 159.01822 234 162 236.98178 162 240.66 L 162 274.59 C 162 278.26822 159.01822 281.25 155.34 281.25 L 76.41 281.25 C 72.731783 281.25 69.75 278.26822 69.75 274.59 L 69.75 240.66 C 69.75 236.98178 72.731783 234 76.41 234 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(71.75 236)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="2.5957031" y="10" textLength="78.935547">Replicate Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="80.984375" y="10" textLength="6.669922">A</tspan></text></g><rect x="207" y="378" width="90" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/>
 <text transform="translate(209 381)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.8623047" y="10" textLength="23.901367">Java </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="31.216797" y="10" textLength="48.920898">Application</tspan></text><g id="id7_Graphic"><path d="M 116.44052 258.9185 L 110.92157 258.26076 L 112.77482 263.42455 L 108.86462 267.27286 L 114.05731 269.0435 L 114.62807 274.5 L 119.25 271.54417 L 123.87193 274.5 L 124.44269 269.0435 L 129.63538 267.27286 L 125.72518 263.42455 L 127.57843 258.26152 L 122.13173 258.9185 L 119.25 254.25 Z" fill="url(#Obj_Gradient_4)"/><path d="M 116.44052 258.9185 L 110.92157 258.26076 L 112.77482 263.42455 L 108.86462 267.27286 L 114.05731 269.0435 L 114.62807 274.5 L 119.25 271.54417 L 123.87193 274.5 L 124.44269 269.0435 L 129.63538 267.27286 L 125.72518 263.42455 L 127.57843 258.26152 L 122.13173 258.9185 L 119.25 254.25 Z" stroke="#252525" st
 roke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(108.86462 258.875)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="6.1380655" y="9" textLength="8.494629">W</tspan></text></g><g id="id8_Graphic"><path d="M 357.66 162 L 596.34 162 C 600.0182 162 603 164.98178 603 168.66 L 603 281.34 C 603 285.01822 600.0182 288 596.34 288 L 357.66 288 C 353.98178 288 351 285.01822 351 281.34 L 351 168.66 C 351 164.98178 353.98178 162 357.66 162 Z" fill="url(#Obj_Gradient_5)"/><path d="M 357.66 162 L 596.34 162 C 600.0182 162 603 164.98178 603 168.66 L 603 281.34 C 603 285.01822 600.0182 288 596.34 288 L 357.66 288 C 353.98178 288 351 285.01822 351 281.34 L 351 168.66 C 351 164.98178 353.98178 162 357.66 162 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(355 166)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="50
 0" fill="black" x="159.99316" y="14" textLength="84.006836">Member (M2)</tspan></text></g><path d="M 292.5 378 C 292.48438 360 292.5157 358.8824 292.48445 351.0074 C 292.45692 344.07064 292.38084 331.8907 270.9299 329.08693" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(270.625 360.75)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="8.165039" y="10" textLength="11.669922">T1</tspan></text><g id="id11_Graphic"><path d="M 175.41 234 L 254.34 234 C 258.01822 234 261 236.98178 261 240.66 L 261 276.84 C 261 280.51822 258.01822 283.5 254.34 283.5 L 175.41 283.5 C 171.73178 283.5 168.75 280.51822 168.75 276.84 L 168.75 240.66 C 168.75 236.98178 171.73178 234 175.41 234 Z" fill="url(#Obj_Gradient_6)"/><path d="M 175.41 234 L 254.34 234 C 258.01822 234 261 236.98178 261 240.66 L 261 276.84 C 261 280.51822 258.01822 283.5 254.34 283.5 L 175
 .41 283.5 C 171.73178 283.5 168.75 280.51822 168.75 276.84 L 168.75 240.66 C 168.75 236.98178 171.73178 234 175.41 234 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(170.75 236)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="2.3222656" y="10" textLength="85.60547">Replicate Region B</tspan></text></g><g id="id12_Graphic"><path d="M 209.16 256.5 L 213.84 256.5 C 217.51822 256.5 220.5 259.48178 220.5 263.16 L 220.5 267.84 C 220.5 271.51822 217.51822 274.5 213.84 274.5 L 209.16 274.5 C 205.48178 274.5 202.5 271.51822 202.5 267.84 L 202.5 263.16 C 202.5 259.48178 205.48178 256.5 209.16 256.5 Z" fill="url(#Obj_Gradient_7)"/><path d="M 209.16 256.5 L 213.84 256.5 C 217.51822 256.5 220.5 259.48178 220.5 263.16 L 220.5 267.84 C 220.5 271.51822 217.51822 274.5 213.84 274.5 L 209.16 274.5 C 205.48178 274.5 202.5 271.51822 202.5 267.84 L 202.5 263.16 C 202.5 259.48178 205.481
 78 256.5 209.16 256.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(206.5 260)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id13_Graphic"><path d="M 83.16 306 L 155.34 306 C 159.01822 306 162 308.98178 162 312.66 L 162 346.59 C 162 350.26822 159.01822 353.25 155.34 353.25 L 83.16 353.25 C 79.481783 353.25 76.5 350.26822 76.5 346.59 L 76.5 312.66 C 76.5 308.98178 79.481783 306 83.16 306 Z" fill="url(#Obj_Gradient_8)"/><path d="M 83.16 306 L 155.34 306 C 159.01822 306 162 308.98178 162 312.66 L 162 346.59 C 162 350.26822 159.01822 353.25 155.34 353.25 L 83.16 353.25 C 79.481783 353.25 76.5 350.26822 76.5 346.59 L 76.5 312.66 C 76.5 308.98178 79.481783 306 83.16 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(78.5 308)" fill=
 "black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="21.45459" y="10" textLength="34.467773">Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="55.375488" y="10" textLength="6.669922">A</tspan></text></g><g id="id14_Graphic"><path d="M 116.44052 330.9185 L 110.92157 330.26076 L 112.77482 335.42455 L 108.86462 339.27286 L 114.05731 341.0435 L 114.62807 346.5 L 119.25 343.54417 L 123.87193 346.5 L 124.44269 341.0435 L 129.63538 339.27286 L 125.72518 335.42455 L 127.57843 330.26152 L 122.13173 330.9185 L 119.25 326.25 Z" fill="url(#Obj_Gradient_9)"/><path d="M 116.44052 330.9185 L 110.92157 330.26076 L 112.77482 335.42455 L 108.86462 339.27286 L 114.05731 341.0435 L 114.62807 346.5 L 119.25 343.54417 L 123.87193 346.5 L 124.44269 341.0435 L 129.63538 339.27286 L 125.72518 335.42455 L 127.57843 330.26152 L 122.13173 330.9185 L 119.25 326.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" st
 roke-width=".72000003"/><text transform="translate(108.86462 330.875)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="3.63538" y="9" textLength="13.5">W1</tspan></text></g><g id="id15_Graphic"><path d="M 175.41 306 L 247.59 306 C 251.26822 306 254.25 308.98178 254.25 312.66 L 254.25 348.84 C 254.25 352.51822 251.26822 355.5 247.59 355.5 L 175.41 355.5 C 171.73178 355.5 168.75 352.51822 168.75 348.84 L 168.75 312.66 C 168.75 308.98178 171.73178 306 175.41 306 Z" fill="url(#Obj_Gradient_a)"/><path d="M 175.41 306 L 247.59 306 C 251.26822 306 254.25 308.98178 254.25 312.66 L 254.25 348.84 C 254.25 352.51822 251.26822 355.5 247.59 355.5 L 175.41 355.5 C 171.73178 355.5 168.75 352.51822 168.75 348.84 L 168.75 312.66 C 168.75 308.98178 171.73178 306 175.41 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(170.75 308)" fill="black"><tspan font-family="Helvetica" font-size=
 "10" font-weight="500" fill="black" x="21.181152" y="10" textLength="41.137695">Region B</tspan></text></g><g id="id16_Graphic"><path d="M 209.16 328.5 L 213.84 328.5 C 217.51822 328.5 220.5 331.48178 220.5 335.16 L 220.5 339.84 C 220.5 343.51822 217.51822 346.5 213.84 346.5 L 209.16 346.5 C 205.48178 346.5 202.5 343.51822 202.5 339.84 L 202.5 335.16 C 202.5 331.48178 205.48178 328.5 209.16 328.5 Z" fill="url(#Obj_Gradient_b)"/><path d="M 209.16 328.5 L 213.84 328.5 C 217.51822 328.5 220.5 331.48178 220.5 335.16 L 220.5 339.84 C 220.5 343.51822 217.51822 346.5 213.84 346.5 L 209.16 346.5 C 205.48178 346.5 202.5 343.51822 202.5 339.84 L 202.5 335.16 C 202.5 331.48178 205.48178 328.5 209.16 328.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(206.5 326.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan><tspan font-family
 ="Helvetica" font-size="9" font-weight="500" fill="black" x="2.4973145" y="20" textLength="5.005371">1</tspan></text></g><rect x="67.5" y="288" width="193.5" height="72" fill="none"/><rect x="67.5" y="288" width="193.5" height="72" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(69.5 290)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="62.673828" y="10" textLength="6.1083984">T</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="68.416016" y="10" textLength="48.916016">ransaction </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="117.15625" y="10" textLength="11.669922">T1</tspan></text><g id="id18_Graphic"><path d="M 366.66 189 L 569.34 189 C 573.0182 189 576 191.98178 576 195.66 L 576 267.84 C 576 271.51822 573.0182 274.5 569.34 274.5 L 366.66 274.5 C 362.98178 274.5 360 271.51822 360 267.84 L 360
  195.66 C 360 191.98178 362.98178 189 366.66 189 Z" fill="url(#Obj_Gradient_c)"/><path d="M 366.66 189 L 569.34 189 C 573.0182 189 576 191.98178 576 195.66 L 576 267.84 C 576 271.51822 573.0182 274.5 569.34 274.5 L 366.66 274.5 C 362.98178 274.5 360 271.51822 360 267.84 L 360 195.66 C 360 191.98178 362.98178 189 366.66 189 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(364 193)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="86.65625" y="11" textLength="34.6875">Cache</tspan></text></g><g id="id19_Graphic"><path d="M 375.66 216 L 461.34 216 C 465.01822 216 468 218.98178 468 222.66 L 468 256.59 C 468 260.26822 465.01822 263.25 461.34 263.25 L 375.66 263.25 C 371.98178 263.25 369 260.26822 369 256.59 L 369 222.66 C 369 218.98178 371.98178 216 375.66 216 Z" fill="url(#Obj_Gradient_d)"/><path d="M 375.66 216 L 461.34 216 C 465.01822 216 468 218.98178 468 222.66 L 468 25
 6.59 C 468 260.26822 465.01822 263.25 461.34 263.25 L 375.66 263.25 C 371.98178 263.25 369 260.26822 369 256.59 L 369 222.66 C 369 218.98178 371.98178 216 375.66 216 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(371 218)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="5.970703" y="10" textLength="78.935547">Replicate Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="84.359375" y="10" textLength="6.669922">A</tspan></text></g><g id="id20_Graphic"><path d="M 408.94052 240.9185 L 403.42157 240.26076 L 405.27482 245.42455 L 401.36462 249.27286 L 406.5573 251.0435 L 407.12807 256.5 L 411.75 253.54417 L 416.37193 256.5 L 416.9427 251.0435 L 422.13538 249.27286 L 418.22518 245.42455 L 420.07843 240.26152 L 414.63173 240.9185 L 411.75 236.25 Z" fill="url(#Obj_Gradient_e)"/><path d="M 408.94052 240.9185 L 403.42157 240.26076 L 40
 5.27482 245.42455 L 401.36462 249.27286 L 406.5573 251.0435 L 407.12807 256.5 L 411.75 253.54417 L 416.37193 256.5 L 416.9427 251.0435 L 422.13538 249.27286 L 418.22518 245.42455 L 420.07843 240.26152 L 414.63173 240.9185 L 411.75 236.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(401.36462 240.875)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="6.1380655" y="9" textLength="8.494629">W</tspan></text></g><g id="id21_Graphic"><path d="M 357.66 292.5 L 596.34 292.5 C 600.0182 292.5 603 295.48178 603 299.16 L 603 461.34 C 603 465.01822 600.0182 468 596.34 468 L 357.66 468 C 353.98178 468 351 465.01822 351 461.34 L 351 299.16 C 351 295.48178 353.98178 292.5 357.66 292.5 Z" fill="url(#Obj_Gradient_f)"/><path d="M 357.66 292.5 L 596.34 292.5 C 600.0182 292.5 603 295.48178 603 299.16 L 603 461.34 C 603 465.01822 600.0182 468 596.34 468 L 357.66 468 C 353.98178 468 351 46
 5.01822 351 461.34 L 351 299.16 C 351 295.48178 353.98178 292.5 357.66 292.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(355 296.5)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="159.99316" y="14" textLength="84.006836">Member (M3)</tspan></text></g><g id="id22_Graphic"><path d="M 366.66 319.5 L 569.34 319.5 C 573.0182 319.5 576 322.48178 576 326.16 L 576 411.84 C 576 415.51822 573.0182 418.5 569.34 418.5 L 366.66 418.5 C 362.98178 418.5 360 415.51822 360 411.84 L 360 326.16 C 360 322.48178 362.98178 319.5 366.66 319.5 Z" fill="url(#Obj_Gradient_10)"/><path d="M 366.66 319.5 L 569.34 319.5 C 573.0182 319.5 576 322.48178 576 326.16 L 576 411.84 C 576 415.51822 573.0182 418.5 569.34 418.5 L 366.66 418.5 C 362.98178 418.5 360 415.51822 360 411.84 L 360 326.16 C 360 322.48178 362.98178 319.5 366.66 319.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="ro
 und" stroke-width=".72000003"/><text transform="translate(364 323.5)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="86.65625" y="11" textLength="34.6875">Cache</tspan></text></g><g id="id23_Graphic"><path d="M 476.91 360 L 555.84 360 C 559.5182 360 562.5 362.98178 562.5 366.66 L 562.5 402.84 C 562.5 406.51822 559.5182 409.5 555.84 409.5 L 476.91 409.5 C 473.23178 409.5 470.25 406.51822 470.25 402.84 L 470.25 366.66 C 470.25 362.98178 473.23178 360 476.91 360 Z" fill="url(#Obj_Gradient_11)"/><path d="M 476.91 360 L 555.84 360 C 559.5182 360 562.5 362.98178 562.5 366.66 L 562.5 402.84 C 562.5 406.51822 559.5182 409.5 555.84 409.5 L 476.91 409.5 C 473.23178 409.5 470.25 406.51822 470.25 402.84 L 470.25 366.66 C 470.25 362.98178 473.23178 360 476.91 360 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(472.25 362)" fill="black"><tspan font-family="Helvetica" font-size="10
 " font-weight="500" fill="black" x="2.3222656" y="10" textLength="85.60547">Replicate Region B</tspan></text></g><g id="id24_Graphic"><path d="M 510.66 382.5 L 515.34 382.5 C 519.01822 382.5 522 385.48178 522 389.16 L 522 393.84 C 522 397.51822 519.01822 400.5 515.34 400.5 L 510.66 400.5 C 506.98178 400.5 504 397.51822 504 393.84 L 504 389.16 C 504 385.48178 506.98178 382.5 510.66 382.5 Z" fill="url(#Obj_Gradient_12)"/><path d="M 510.66 382.5 L 515.34 382.5 C 519.01822 382.5 522 385.48178 522 389.16 L 522 393.84 C 522 397.51822 519.01822 400.5 515.34 400.5 L 510.66 400.5 C 506.98178 400.5 504 397.51822 504 393.84 L 504 389.16 C 504 385.48178 506.98178 382.5 510.66 382.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(508 380.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan><tspan font-family="Helvetica" font-size="9" 
 font-weight="500" fill="black" x="2.4973145" y="20" textLength="5.005371">2</tspan></text></g><g id="id25_Graphic"><path d="M 368.91 360 L 454.59 360 C 458.26822 360 461.25 362.98178 461.25 366.66 L 461.25 402.84 C 461.25 406.51822 458.26822 409.5 454.59 409.5 L 368.91 409.5 C 365.23178 409.5 362.25 406.51822 362.25 402.84 L 362.25 366.66 C 362.25 362.98178 365.23178 360 368.91 360 Z" fill="url(#Obj_Gradient_13)"/><path d="M 368.91 360 L 454.59 360 C 458.26822 360 461.25 362.98178 461.25 366.66 L 461.25 402.84 C 461.25 406.51822 458.26822 409.5 454.59 409.5 L 368.91 409.5 C 365.23178 409.5 362.25 406.51822 362.25 402.84 L 362.25 366.66 C 362.25 362.98178 365.23178 360 368.91 360 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(364.25 362)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="5.6972656" y="10" textLength="85.60547">Replicate Region B</tspan></text></g><g id=
 "id26_Graphic"><path d="M 411.66 382.5 L 416.34 382.5 C 420.01822 382.5 423 385.48178 423 389.16 L 423 393.84 C 423 397.51822 420.01822 400.5 416.34 400.5 L 411.66 400.5 C 407.98178 400.5 405 397.51822 405 393.84 L 405 389.16 C 405 385.48178 407.98178 382.5 411.66 382.5 Z" fill="url(#Obj_Gradient_14)"/><path d="M 411.66 382.5 L 416.34 382.5 C 420.01822 382.5 423 385.48178 423 389.16 L 423 393.84 C 423 397.51822 420.01822 400.5 416.34 400.5 L 411.66 400.5 C 407.98178 400.5 405 397.51822 405 393.84 L 405 389.16 C 405 385.48178 407.98178 382.5 411.66 382.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(409 386)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><rect x="463.5" y="342" width="99" height="72" fill="none"/><rect x="463.5" y="342" width="99" height="72" stroke="#252525" stroke-linecap="round" stroke-l
 inejoin="round" stroke-width=".72000003"/><text transform="translate(465.5 344)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="15.423828" y="10" textLength="6.1083984">T</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="21.166016" y="10" textLength="48.916016">ransaction </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="69.90625" y="10" textLength="11.669922">T2</tspan></text><rect x="508.5" y="432" width="90" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(510.5 435)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.8623047" y="10" textLength="23.901367">Java </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="31.216797" y="10" textLength="48.920898">Application</tspan></text><path d="M 594 432 C 594 4
 14 594.0392 409.506 594.00012 400.506 C 593.9657 392.57915 593.8706 381.1568 572.43302 378.54554" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(571 414.75)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="8.165039" y="10" textLength="11.669922">T2</tspan></text></g></g></svg>


[46/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/delta_propagation/implementing_delta_propagation.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/delta_propagation/implementing_delta_propagation.html.md.erb b/developing/delta_propagation/implementing_delta_propagation.html.md.erb
deleted file mode 100644
index 7727532..0000000
--- a/developing/delta_propagation/implementing_delta_propagation.html.md.erb
+++ /dev/null
@@ -1,24 +0,0 @@
----
-title:  Implementing Delta Propagation
----
-
-By default, delta propagation is enabled in your distributed system. When enabled, delta propagation is used for objects that implement `org.apache.geode.Delta`. You program the methods to store and extract delta information for your entries and to apply received delta information.
-
-<a id="implementing_delta_propagation__section_877AC61D691C44078A782683F90D169B"></a>
-Use the following procedure to implement delta propagation in your distributed system.
-
-1.  Study your object types and expected application behavior to determine which regions can benefit from using delta propagation. Delta propagation does not improve performance for all data and data modification scenarios. See [When to Avoid Delta Propagation](when_to_use_delta_prop.html#when_to_use_delta_prop).
-2.  For each region where you are using delta propagation, choose whether to enable cloning using the delta propagation property `cloning-enabled`. Cloning is disabled by default. See [Delta Propagation Properties](delta_propagation_properties.html#delta_propagation_properties).
-3.  If you do not enable cloning, review all associated listener code for dependencies on `EntryEvent.getOldValue`. Without cloning, Geode modifies the entry in place and so loses its reference to the old value. For delta events, the `EntryEvent` methods `getOldValue` and `getNewValue` both return the new value.
-4.  For every class where you want delta propagation, implement `org.apache.geode.Delta` and update your methods to support delta propagation. Exactly how you do this depends on your application and object needs, but these steps describe the basic approach:
-    1.  If the class is a plain old Java object (POJO), wrap it for this implementation and update your code to work with the wrapper class.
-    2.  Define as transient any extra object fields that you use to manage delta state. This can help performance when the full object is distributed. Whenever standard Java serialization is used, the transient keyword indicates to Java to not serialize the field.
-    3.  Study the object contents to decide how to handle delta changes. Delta propagation has the same issues of distributed concurrency control as the distribution of full objects, but on a more detailed level. Some parts of your objects may be able to change independent of one another while others may always need to change together. Send deltas large enough to keep your data logically consistent. If, for example, field A and field B depend on each other, then your delta distributions should either update both fields or neither. As with regular updates, the fewer producers you have on a data region, the lower your likelihood of concurrency issues.
-    4.  In the application code that puts entries, put the fully populated object into the local cache. Even though you are planning to send only deltas, errors on the receiving end could cause Geode to request the full object, so you must provide it to the originating put method. Do this even in empty producers, with regions configured for no local data storage. This usually means doing a get on the entry unless you are sure it does not already exist anywhere in the distributed region.
-    5.  Change each field's update method to record information about the update. The information must be sufficient for `toDelta` to encode the delta and any additional required delta information when it is invoked.
-    6.  Write `hasDelta` to report on whether a delta is available.
-    7.  Write `toDelta` to create a byte stream with the changes to the object and any other information `fromDelta` will need to apply the changes. Before returning from `toDelta`, reset your delta state to indicate that there are no delta changes waiting to be sent.
-    8.  Write `fromDelta` to decode the byte stream that `toDelta` creates and update the object.
-    9.  Make sure you provide adequate synchronization to your object to maintain a consistent object state. If you do not use cloning, you will probably need to synchronize on reads and writes to avoid reading partially written updates from the cache.This synchronization might involve `toDelta`, `fromDelta`, `toData`, `fromData`, and other methods that access or update the object. Additionally, your implementation should take into account the possibility of concurrent invocations of `fromDelta` and one or more of the object's update methods.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/delta_propagation/when_to_use_delta_prop.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/delta_propagation/when_to_use_delta_prop.html.md.erb b/developing/delta_propagation/when_to_use_delta_prop.html.md.erb
deleted file mode 100644
index 47de0ba..0000000
--- a/developing/delta_propagation/when_to_use_delta_prop.html.md.erb
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title:  When to Avoid Delta Propagation
----
-
-Generally, the larger your objects and the smaller the deltas, the greater the benefits of using delta propagation. Partitioned regions with higher redundancy levels generally benefit more from delta propagation. However, in some application scenarios, delta propagation does not show any significant benefits. On occasion it results in performance degradation.
-
-<a id="when_to_use_delta_prop__section_83BA84BB08194FC58F2BCE149AA0F0EC"></a>
-By default, delta propagation is enabled in your distributed system.
-
-These are the main factors that can reduce the performance benefits of using delta propagation:
-
--   The added costs of deserializing your objects to apply deltas. Applying a delta requires the entry value to be deserialized. Once this is done, the object is stored back in the cache in deserialized form. This aspect of delta propagation only negatively impacts your system if your objects are not already being deserialized for other reasons, such as for indexing and querying or for listener operations. Once stored in deserialized form, there are reserialization costs for operations that send the object outside of the member, like distribution from a gateway sender, values sent in response to `netSearch` or client requests, and storage to disk. The more operations that require reserialization, the higher the overhead of deserializing the object. As with all serialization efforts, you can improve performance in serialization and deserialization by providing custom implementations of `DataSerializable` for your objects.
--   Cloning when applying the delta. Using cloning can affect performance and generates extra garbage. Not using cloning is risky however, as you are modifying cached values in place. Without cloning, make sure you synchronize your entry access to keep your cache from becoming inconsistent.
--   Problems applying the delta that cause the system to go back to the originator for the full entry value. When this happens, the overall operation costs more than sending the full entry value in the first place. This can be additionally aggravated if your delta is sent to a number of recipients, all or most of them request a full value, and the full value send requires the object to be serialized.
--   Disk I/O costs associated with overflow regions. If you use eviction with overflow to disk, on-disk values must be brought into memory in order to apply the delta. This is much more costly than just removing the reference to the disk copy, as you would do with a full value distribution into the cache.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/distributed_regions/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/distributed_regions/chapter_overview.html.md.erb b/developing/distributed_regions/chapter_overview.html.md.erb
deleted file mode 100644
index ce33ee2..0000000
--- a/developing/distributed_regions/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title:  Distributed and Replicated Regions
----
-
-In addition to basic region management, distributed and replicated regions include options for things like push and pull distribution models, global locking, and region entry versions to ensure consistency across Geode members.
-
--   **[How Distribution Works](../../developing/distributed_regions/how_distribution_works.html)**
-
-    To use distributed and replicated regions, you should understand how they work and your options for managing them.
-
--   **[Options for Region Distribution](../../developing/distributed_regions/choosing_level_of_dist.html)**
-
-    You can use distribution with and without acknowledgment, or global locking for your region distribution. Regions that are configured for distribution with acknowledgment can also be configured to resolve concurrent updates consistently across all Geode members that host the region.
-
--   **[How Replication and Preloading Work](../../developing/distributed_regions/how_replication_works.html)**
-
-    To work with replicated and preloaded regions, you should understand how their data is initialized and maintained in the cache.
-
--   **[Configure Distributed, Replicated, and Preloaded Regions](../../developing/distributed_regions/managing_distributed_regions.html)**
-
-    Plan the configuration and ongoing management of your distributed, replicated, and preloaded regions, and configure the regions.
-
--   **[Locking in Global Regions](../../developing/distributed_regions/locking_in_global_regions.html)**
-
-    In global regions, the system locks entries and the region during updates. You can also explicitly lock the region and its entries as needed by your application. Locking includes system settings that help you optimize performance and locking behavior between your members.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/distributed_regions/choosing_level_of_dist.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/distributed_regions/choosing_level_of_dist.html.md.erb b/developing/distributed_regions/choosing_level_of_dist.html.md.erb
deleted file mode 100644
index f48aaeb..0000000
--- a/developing/distributed_regions/choosing_level_of_dist.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  Options for Region Distribution
----
-
-You can use distribution with and without acknowledgment, or global locking for your region distribution. Regions that are configured for distribution with acknowledgment can also be configured to resolve concurrent updates consistently across all Geode members that host the region.
-
-<a id="choosing_level_of_dist__section_F2528B151DD54CEFA05C4BA655BCF016"></a>
-Each distributed region must have the same scope and concurrency checking setting throughout the distributed system.
-
-Distributed scope is provided at three levels:
-
--   **distributed-no-ack**. Distribution operations return without waiting for a response from other caches. This scope provides the best performance and uses the least amount of overhead, but it is also most prone to having inconsistencies caused by network problems. For example, a temporary disruption of the network transport layer could cause a failure in distributing updates to a cache on a remote machine, while the local cache continues being updated.
--   **distributed-ack**. Distribution waits for acknowledgment from other caches before continuing. This is slower than `distributed-no-ack`, but covers simple communication problems such as temporary network disruptions.
-
-    In systems where there are many `distributed-no-ack` operations, it is possible for `distributed-ack` operations to take a long time to complete. The distributed system has a configurable time to wait for acknowledgment to any `distributed-ack` message before sending alerts to the logs about a possible problem with the unresponsive member. No matter how long the wait, the sender keeps waiting in order to honor the distributed-ack region setting. The `gemfire.properties` attribute governing this is `ack-wait-threshold`.
-
--   **global**. Entries and regions are automatically locked across the distributed system during distribution operations. All load, create, put, invalidate, and destroy operations on the region and its entries are performed with a distributed lock. The global scope enforces strict consistency across the distributed system, but it is the slowest mechanism for achieving consistency. In addition to the implicit locking performed by distribution operations, regions with global scope and their contents can be explicitly locked through the application APIs. This allows applications to perform atomic, multi-step operations on regions and region entries.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/distributed_regions/how_distribution_works.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/distributed_regions/how_distribution_works.html.md.erb b/developing/distributed_regions/how_distribution_works.html.md.erb
deleted file mode 100644
index bbc7522..0000000
--- a/developing/distributed_regions/how_distribution_works.html.md.erb
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title:  How Distribution Works
----
-
-To use distributed and replicated regions, you should understand how they work and your options for managing them.
-
-<a id="how_distribution_works__section_2F892A4987C547E68CA78067133C2C2C"></a>
-**Note:**
-The management of replicated and distributed regions supplements the general information for managing data regions provided in [Basic Configuration and Programming](../../basic_config/book_intro.html). See also `org.apache.geode.cache.PartitionAttributes`.
-
-A distributed region automatically sends entry value updates to remote caches and receives updates from them.
-
--   Distributed entry updates come from the `Region` `put` and `create` operations (the creation of an entry with a non-null value is seen as an update by remote caches that already have the entry key). Entry updates are distributed selectively - only to caches where the entry key is already defined. This provides a pull model of distribution, compared to the push model that you get with replication.
--   Distribution alone does not cause new entries to be copied from remote caches.
--   A distributed region shares cache loader and cache writer application event handler plug-ins across the distributed system.
-
-In a distributed region, new and updated entry values are automatically distributed to remote caches that already have the entries defined.
-
-**Step 1:** The application updates or creates the entry. At this point, the entry in the M1 cache may not yet exist.
-
-<img src="../../images_svg/distributed_how_1.svg" id="how_distribution_works__image_40EFE6E95E6945A1B08A68508ECBCC60" class="image" />
-
-**Step 2:** The new value is automatically distributed to caches holding the entry.
-
-<img src="../../images_svg/distributed_how_2.svg" id="how_distribution_works__image_AF8A3ADEB5D94E20B101FDA92BF6D002" class="image" />
-
-**Step 3:** The entry's value is the same throughout the distributed system.
-
-<img src="../../images_svg/distributed_how_3.svg" id="how_distribution_works__image_5B1F06B54C9047E28A8C8673D1D5BD27" class="image" />
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/distributed_regions/how_region_versioning_works.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/distributed_regions/how_region_versioning_works.html.md.erb b/developing/distributed_regions/how_region_versioning_works.html.md.erb
deleted file mode 100644
index 7e4c551..0000000
--- a/developing/distributed_regions/how_region_versioning_works.html.md.erb
+++ /dev/null
@@ -1,110 +0,0 @@
----
-title: Consistency Checking by Region Type
----
-
-<a id="topic_7A4B6C6169BD4B1ABD356294F744D236"></a>
-
-Geode performs different consistency checks depending on the type of region you have configured.
-
-## <a id="topic_7A4B6C6169BD4B1ABD356294F744D236__section_B090F5FB87D84104A7BE4BCEA6BAE6B7" class="no-quick-link"></a>Partitioned Region Consistency
-
-For a partitioned region, Geode maintains consistency by routing all updates on a given key to the Geode member that holds the primary copy of that key. That member holds a lock on the key while distributing updates to other members that host a copy of the key. Because all updates to a partitioned region are serialized on the primary Geode member, all members apply the updates in the same order and consistency is maintained at all times. See [Understanding Partitioning](../partitioned_regions/how_partitioning_works.html).
-
-## <a id="topic_7A4B6C6169BD4B1ABD356294F744D236__section_72DFB366C8F14ADBAF2A136669ECAB1E" class="no-quick-link"></a>Replicated Region Consistency
-
-For a replicated region, any member that hosts the region can update a key and distribute that update to other members without locking the key. It is possible that two members can update the same key at the same time (a concurrent update). It is also possible that, due to network latency, an update in one member is distributed to other members at a later time, after those members have already applied more recent updates to the key (an out-of-order update). By default, Geode members perform conflict checking before applying region updates in order to detect and consistently resolve concurrent and out-of-order updates. Conflict checking ensures that region data eventually becomes consistent on all members that host the region. The conflict checking behavior for replicated regions is summarized as follows:
-
--   If two members update the same key at the same time, conflict checking ensures that all members eventually apply the same value, which is the value of one of the two concurrent updates.
--   If a member receives an out-of-order update (an update that is received after one or more recent updates were applied), conflict checking ensures that the out-of-order update is discarded and not applied to the cache.
-
-[How Consistency Checking Works for Replicated Regions](#topic_C5B74CCDD909403C815639339AA03758) and [How Destroy and Clear Operations Are Resolved](#topic_321B05044B6641FCAEFABBF5066BD399) provide more details about how Geode performs conflict checking when applying an update.
-
-## <a id="topic_7A4B6C6169BD4B1ABD356294F744D236__section_313045F430EE459CB411CAAE7B00F3D8" class="no-quick-link"></a>Non-Replicated Regions and Client Cache Consistency
-
-When a member receives an update for an entry in a non-replicated region and applies an update, it performs conflict checking in the same way as for a replicated region. However, if the member initiates an operation on an entry that is not present in the region, it first passes that operation to a member that hosts a replicate. The member that hosts the replica generates and provides the version information necessary for subsequent conflict checking. See [How Consistency Checking Works for Replicated Regions](#topic_C5B74CCDD909403C815639339AA03758).
-
-Client caches also perform consistency checking in the same way when they receive an update for a region entry. However, all region operations that originate in the client cache are first passed onto an available Geode server, which generates the version information necessary for subsequent conflict checking.
-
-## <a id="topic_B64891585E7F4358A633C792F10FA23E" class="no-quick-link"></a>Configuring Consistency Checking
-
-Geode enables consistency checking by default. You cannot disable consistency checking for persistent regions. For all other regions, you can explicitly enable or disable consistency checking by setting the `concurrency-checks-enabled` region attribute in `cache.xml` to "true" or "false."
-
-All Geode members that host a region must use the same `concurrency-checks-enabled` setting for that region.
-
-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.
-
-See [&lt;region-attributes&gt;](../../reference/topics/cache_xml.html#region-attributes).
-
-**Note:**
-Regions that do not enable consistency checking remain subject to race conditions. Concurrent updates may result in one or more members having different values for the same key. Network latency can result in older updates being applied to a key after more recent updates have occurred.
-
-## <a id="topic_0BDACA590B2C4974AC9C450397FE70B2" class="no-quick-link"></a>Overhead for Consistency Checks
-
-Consistency checking requires additional overhead for storing and distributing version and timestamp information, as well as for maintaining destroyed entries for a period of time to meet consistency requirements.
-
-To provide consistency checking, each region entry uses an additional 16 bytes. When an entry is deleted, a tombstone entry of approximately 13 bytes is created and maintained until the tombstone expires or is garbage-collected in the member. (When an entry is destroyed, the member temporarily retains the entry with its current version stamp to detect possible conflicts with operations that have occurred. The retained entry is referred to as a tombstone.) See [How Destroy and Clear Operations Are Resolved](#topic_321B05044B6641FCAEFABBF5066BD399).
-
-If you cannot support the additional overhead in your deployment, you can disable consistency checks by setting `concurrency-checks-enabled` to "false" for each region. See [Consistency for Region Updates](region_entry_versions.html#topic_CF2798D3E12647F182C2CEC4A46E2045).
-
-## <a id="topic_C5B74CCDD909403C815639339AA03758" class="no-quick-link"></a>How Consistency Checking Works for Replicated Regions
-
-Each region stores version and timestamp information for use in conflict detection. Geode members use the recorded information to detect and resolve conflicts consistently before applying a distributed update.
-
-<a id="topic_C5B74CCDD909403C815639339AA03758__section_763B071061C94D1E82E8883325294547"></a>
-By default, each entry in a region stores the ID of the Geode member that last updated the entry, as well as a version stamp for the entry that is incremented each time an update occurs. The version information is stored in each local entry, and the version stamp is distributed to other Geode members when the local entry is updated.
-
-A Geode member or client that receives an update message first compares the update version stamp with the version stamp recorded in its local cache. If the update version stamp is larger, it represents a newer version of the entry, so the receiving member applies the update locally and updates the version information. A smaller update version stamp indicates an out-of-order update, which is discarded.
-
-An identical version stamp indicates that multiple Geode members updated the same entry at the same time. To resolve a concurrent update, a Geode member always applies (or keeps) the region entry that has the highest membership ID; the region entry having the lower membership ID is discarded.
-
-**Note:**
-When a Geode member discards an update message (either for an out-of-order update or when resolving a concurrent update), it does not pass the discarded event to an event listener for the region. You can track the number of discarded updates for each member using the `conflatedEvents` statistic. See [Geode Statistics List](../../reference/statistics/statistics_list.html#statistics_list). Some members may discard an update while other members apply the update, depending on the order in which each member receives the update. For this reason, the `conflatedEvents` statistic differs for each Geode member. The example below describes this behavior in more detail.
-
-The following example shows how a concurrent update is handled in a distributed system of three Geode members. Assume that Members A, B, and C have membership IDs of 1, 2, and 3, respectively. Each member currently stores an entry, X, in their caches at version C2 (the entry was last updated by member C):
-
-**Step 1:** An application updates entry X on Geode member A at the same time another application updates entry X on member C. Each member increments the version stamp for the entry and records the version stamp with their member ID in their local caches. In this case the entry was originally at version C2, so each member updates the version to 3 (A3 and C3, respectively) in their local caches.
-
-<img src="../../images_svg/region_entry_versions_1.svg" id="topic_C5B74CCDD909403C815639339AA03758__image_nt5_ptw_4r" class="image" />
-
-**Step 2:** Member A distributes its update message to members B and C.
-
-Member B compares the update version stamp (3) to its recorded version stamp (2) and applies the update to its local cache as version A3. In this member, the update is applied for the time being, and passed on to configured event listeners.
-
-Member C compares the update version stamp (3) to its recorded version stamp (3) and identifies a concurrent update. To resolve the conflict, member C next compares the membership ID of the update to the membership ID stored in its local cache. Because the distributed system ID the update (A3) is lower than the ID stored in the cache (C3), member C discards the update (and increments the `conflatedEvents` statistic).
-
-<img src="../../images_svg/region_entry_versions_2.svg" id="topic_C5B74CCDD909403C815639339AA03758__image_ocs_35b_pr" class="image" />
-
-**Step 3:** Member C distributes the update message to members A and B.
-
-Members A and B compare the update version stamp (3) to their recorded version stamps (3) and identify the concurrent update. To resolve the conflict, both members compare the membership ID of the update with the membership ID stored in their local caches. Because the distributed system ID of A in the cache value is less than the ID of C in the update, both members record the update C3 in their local caches, overwriting the previous value.
-
-At this point, all members that host the region have achieved a consistent state for the concurrent updates on members A and C.
-
-<img src="../../images_svg/region_entry_versions_3.svg" id="topic_C5B74CCDD909403C815639339AA03758__image_gsv_k5b_pr" class="image" />
-
-## <a id="topic_321B05044B6641FCAEFABBF5066BD399" class="no-quick-link"></a>How Destroy and Clear Operations Are Resolved
-
-When consistency checking is enabled for a region, a Geode member does not immediately remove an entry from the region when an application destroys the entry. Instead, the member retains the entry with its current version stamp for a period of time in order to detect possible conflicts with operations that have occurred. The retained entry is referred to as a *tombstone*. Geode retains tombstones for partitioned regions and non-replicated regions as well as for replicated regions, in order to provide consistency.
-
-A tombstone in a client cache or a non-replicated region expires after 8 minutes, at which point the tombstone is immediately removed from the cache.
-
-A tombstone for a replicated or partitioned region expires after 10 minutes. Expired tombstones are eligible for garbage collection by the Geode member. Garbage collection is automatically triggered after 100,000 tombstones of any type have timed out in the local Geode member. You can optionally set the `gemfire.tombstone-gc-threshold` property to a value smaller than 100000 to perform garbage collection more frequently.
-
-**Note:**
-To avoid out-of-memory errors, a Geode member also initiates garbage collection for tombstones when the amount of free memory drops below 30 percent of total memory.
-
-You can monitor the total number of tombstones in a cache using the `tombstoneCount` statistic in `CachePerfStats`. The `tombstoneGCCount` statistic records the total number of tombstone garbage collection cycles that a member has performed. `replicatedTombstonesSize` and `nonReplicatedTombstonesSize` show the approximate number of bytes that are currently consumed by tombstones in replicated or partitioned regions, and in non-replicated regions, respectively. See [Geode Statistics List](../../reference/statistics/statistics_list.html#statistics_list).
-
-## <a id="topic_321B05044B6641FCAEFABBF5066BD399__section_4D0140E96A3141EB8D983D0A43464097" class="no-quick-link"></a>About Region.clear() Operations
-
-Region entry version stamps and tombstones ensure consistency only when individual entries are destroyed. A `Region.clear()` operation, however, operates on all entries in a region at once. To provide consistency for `Region.clear()` operations, Geode obtains a distributed read/write lock for the region, which blocks all concurrent updates to the region. Any updates that were initiated before the clear operation are allowed to complete before the region is cleared.
-
-## <a id="topic_32ACFA5542C74F3583ECD30467F352B0" class="no-quick-link"></a>Transactions with Consistent Regions
-
-A transaction that modifies a region having consistency checking enabled generates all necessary version information for region updates when the transaction commits.
-
-If a transaction modifies a normal, preloaded or empty region, the transaction is first delegated to a Geode member that holds a replicate for the region. This behavior is similar to the transactional behavior for partitioned regions, where the partitioned region transaction is forwarded to a member that hosts the primary for the partitioned region update.
-
-The limitation for transactions on normal, preloaded or or empty regions is that, when consistency checking is enabled, a transaction cannot perform a `localDestroy` or `localInvalidate` operation against the region. Geode throws an `UnsupportedOperationInTransactionException` exception in such cases. An application should use a `Destroy` or `Invalidate` operation in place of a `localDestroy` or `localInvalidate` when consistency checks are enabled.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/distributed_regions/how_region_versioning_works_wan.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/distributed_regions/how_region_versioning_works_wan.html.md.erb b/developing/distributed_regions/how_region_versioning_works_wan.html.md.erb
deleted file mode 100644
index 0ce2f04..0000000
--- a/developing/distributed_regions/how_region_versioning_works_wan.html.md.erb
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title:  How Consistency Is Achieved in WAN Deployments
----
-
-When two or more Geode systems are configured to distribute events over a WAN, each system performs local consistency checking before it distributes an event to a configured gateway sender. Discarded events are not distributed across the WAN.
-
-Regions can also be configured to distribute updates to other Geode clusters over a WAN. With a distributed WAN configuration, multiple gateway senders asynchronously queue and send region updates to another Geode cluster. It is possible for multiple sites to send updates to the same region entry at the same time. It is also possible that, due to a slow WAN connection, a cluster might receive region updates after a considerable delay, and after it has applied more recent updates to a region. To ensure that WAN-replicated regions eventually reach a consistent state, Geode first ensures that each cluster performs consistency checking to regions before queuing updates to a gateway sender for WAN distribution. In order words, region conflicts are first detected and resolved in the local cluster, using the techniques described in the previous sections.
-
-When a Geode cluster in a WAN configuration receives a distributed update, conflict checking is performed to ensure that all sites apply updates in the same way. This ensures that regions eventually reach a consistent state across all Geode clusters. The default conflict checking behavior for WAN-replicated regions is summarized as follows:
-
--   If an update is received from the same Geode cluster that last updated the region entry, then there is no conflict and the update is applied.
--   If an update is received from a different Geode cluster than the one that last updated the region entry, then a potential conflict exists. A cluster applies the update only when the update has a timestamp that is later than the timestamp currently recorded in the cache.
-
-**Note:**
-If you use the default conflict checking feature for WAN deployments, you must ensure that all Geode members in all clusters synchronize their system clocks. For example, use a common NTP server for all Geode members that participate in a WAN deployment.
-
-As an alternative to the default conflict checking behavior for WAN deployments, you can develop and deploy a custom conflict resolver for handling region events that are distributed over a WAN. Using a custom resolver enables you to handle conflicts using criteria other than, or in addition to, timestamp information. For example, you might always prioritize updates that originate from a particular site, given that the timestamp value is within a certain range.
-
-When a gateway sender distributes an event to another Geode site, it adds the distributed system ID of the local cluster, as well as a timestamp for the event. In a default configuration, the cluster that receives the event examines the timestamp to determine whether or not the event should be applied. If the timestamp of the update is earlier than the local timestamp, the cluster discards the event. If the timestamp is the same as the local timestamp, then the entry having the highest distributed system ID is applied (or kept).
-
-You can override the default consistency checking for WAN events by installing a conflict resolver plug-in for the region. If a conflict resolver is installed, then any event that can potentially cause a conflict (any event that originated from a different distributed system ID than the ID that last modified the entry) is delivered to the conflict resolver. The resolver plug-in then makes the sole determination for which update to apply or keep.
-
-See "Implementing a GatewayConflictResolver" under [Resolving Conflicting Events](../events/resolving_multisite_conflicts.html#topic_E97BB68748F14987916CD1A50E4B4542) to configure a custom resolver.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/distributed_regions/how_replication_works.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/distributed_regions/how_replication_works.html.md.erb b/developing/distributed_regions/how_replication_works.html.md.erb
deleted file mode 100644
index 73bc5e1..0000000
--- a/developing/distributed_regions/how_replication_works.html.md.erb
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title:  How Replication and Preloading Work
----
-
-To work with replicated and preloaded regions, you should understand how their data is initialized and maintained in the cache.
-
-<a id="how_replication_works__section_C75BB463A0584491ABD982A55E5A050F"></a>
-Replicated and preloaded regions are configured by using one of the `REPLICATE` region shortcut settings, or by setting the region attribute `data-policy` to `replicate`, `persistent-replicate`, or `preloaded`.
-
-## <a id="how_replication_works__section_B4E76BBCC6104A27BC0A8ECA6B9CDF91" class="no-quick-link"></a>Initialization of Replicated and Preloaded Regions
-
-At region creation, the system initializes the preloaded or replicated region with the most complete and up-to-date data set it can find. The system uses these data sources to initialize the new region, following this order of preference:
-
-1.  Another replicated region that is already defined in the distributed system.
-2.  For persistent replicate only. Disk files, followed by a union of all copies of the region in the distributed cache.
-3.  For preloaded region only. Another preloaded region that is already defined in the distributed system.
-4.  The union of all copies of the region in the distributed cache.
-
-<img src="../../images_svg/distributed_replica_preload.svg" id="how_replication_works__image_5F50EBA30CE3408091F07A198F821741" class="image" />
-
-While a region is being initialized from a replicated or preloaded region, if the source region crashes, the initialization starts over.
-
-If a union of regions is used for initialization, as in the figure, and one of the individual source regions goes away during the initialization (due to cache closure, member crash, or region destruction), the new region may contain a partial data set from the crashed source region. When this happens, there is no warning logged or exception thrown. The new region still has a complete set of the remaining members' regions.
-
-## <a id="how_replication_works__section_6BE7555A711E4CA490B02E58B5DDE396" class="no-quick-link"></a>Behavior of Replicated and Preloaded Regions After Initialization
-
-Once initialized, the preloaded region operates like the region with a `normal` `data-policy`, receiving distributions only for entries it has defined in the local cache.
-
-<img src="../../images_svg/distributed_preload.svg" id="how_replication_works__image_994CA599B1004D3F95E1BB7C4FAC2AEF" class="image" />
-
-If the region is configured as a replicated region, it receives all new creations in the distributed region from the other members. This is the push distribution model. Unlike the preloaded region, the replicated region has a contract that states it will hold all entries that are present anywhere in the distributed region.
-
-<img src="../../images_svg/distributed_replica.svg" id="how_replication_works__image_2E7F3EB6213A47FEA3ABE32FD2CB1503" class="image" />
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/distributed_regions/locking_in_global_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/distributed_regions/locking_in_global_regions.html.md.erb b/developing/distributed_regions/locking_in_global_regions.html.md.erb
deleted file mode 100644
index 6a6e030..0000000
--- a/developing/distributed_regions/locking_in_global_regions.html.md.erb
+++ /dev/null
@@ -1,92 +0,0 @@
----
-title:  Locking in Global Regions
----
-
-In global regions, the system locks entries and the region during updates. You can also explicitly lock the region and its entries as needed by your application. Locking includes system settings that help you optimize performance and locking behavior between your members.
-
-<a id="locking_in_global_regions__section_065B3A57CCCA4F17821D170A312B6675"></a>
-In regions with global scope, locking helps ensure cache consistency.
-
-Locking of regions and entries is done in two ways:
-
-1.  **Implicit**. Geode automatically locks global regions and their data entries during most operations. Region invalidation and destruction do not acquire locks.
-2.  **Explicit**. You can use the API to explicitly lock the region and its entries. Do this to guarantee atomicity in tasks with multi-step distributed operations. The `Region` methods `org.apache.geode.cache.Region.getDistributedLock` and `org.apache.geode.cache.Region.getRegionDistributedLock` return instances of `java.util.concurrent.locks.Lock` for a region and a specified key.
-
-    **Note:**
-    You must use the `Region` API to lock regions and region entries. Do not use the `DistributedLockService` in the `org.apache.geode.distributed` package. That service is available only for locking in arbitrary distributed applications. It is not compatible with the `Region` locking methods.
-
-## <a id="locking_in_global_regions__section_5B47F9C5C27A4B789A3498AC553BB1FB" class="no-quick-link"></a>Lock Timeouts
-
-Getting a lock on a region or entry is a two-step process of getting a lock instance for the entity and then using the instance to set the lock. Once you have the lock, you hold it for your operations, then release it for someone else to use. You can set limits on the time spent waiting to get a lock and the time spent holding it. Both implicit and explicit locking operations are affected by the timeouts:
-
--   The lock timeout limits the wait to get a lock. The cache attribute `lock-timeout` governs implicit lock requests. For explicit locking, specify the wait time through your calls to the instance of `java.util.concurrent.locks.Lock` returned from the `Region` API. You can wait a specific amount of time, return immediately either with or without the lock, or wait indefinitely.
-
-    ``` pre
-    <cache lock-timeout="60"> 
-    </cache>
-    ```
-
-    gfsh:
-
-    ``` pre
-    gfsh>alter runtime --lock-timeout=60 
-    ```
-
--   The lock lease limits how long a lock can be held before it is automatically released. A timed lock allows the application to recover when a member fails to release an obtained lock within the lease time. For all locking, this timeout is set with the cache attribute `lock-lease`.
-
-    ``` pre
-    <cache lock-lease="120"> </cache>
-    ```
-
-    gfsh:
-
-    ``` pre
-    gfsh>alter runtime --lock-lease=120
-    ```
-
-## <a id="locking_in_global_regions__section_031727F04D114B42944872360A386907" class="no-quick-link"></a>Optimize Locking Performance
-
-For each global region, one of the members with the region defined will be assigned the job of lock grantor. The lock grantor runs the lock service that receives lock requests from system members, queues them as needed, and grants them in the order received.
-
-The lock grantor is at a slight advantage over other members as it is the only one that does not have to send a message to request a lock. The grantor\u2019s requests cost the least for the same reason. Thus, you can optimize locking in a region by assigning lock grantor status to the member that acquires the most locks. This may be the member that performs the most puts and thus requires the most implicit locks or this may be the member that performs many explicit locks.
-
-The lock grantor is assigned as follows:
-
--   Any member with the region defined that requests lock grantor status is assigned it. Thus at any time, the most recent member to make the request is the lock grantor.
--   If no member requests lock grantor status for a region, or if the current lock grantor goes away, the system assigns a lock grantor from the members that have the region defined in their caches.
-
-You can request lock grantor status:
-
-1.  At region creation through the `is-lock-grantor` attribute. You can retrieve this attribute through the region method, `getAttributes`, to see whether you requested to be lock grantor for the region.
-    **Note:**
-    The `is-lock-grantor` attribute does not change after region creation.
-
-2.  After region creation through the region `becomeLockGrantor` method. Changing lock grantors should be done with care, however, as doing so takes cycles from other operations. In particular, be careful to avoid creating a situation where you have members vying for lock grantor status.
-
-## <a id="locking_in_global_regions__section_34661E38DFF9420B89C1A2B25F232D53" class="no-quick-link"></a>Examples
-
-These two examples show entry locking and unlocking. Note how the entry\u2019s `Lock` object is obtained and then its lock method invoked to actually set the lock. The example program stores the entry lock information in a hash table for future reference.
-
-``` pre
-/* Lock a data entry */ 
-HashMap lockedItemsMap = new HashMap(); 
-...
-  String entryKey = ... 
-  if (!lockedItemsMap.containsKey(entryKey)) 
-  { 
-    Lock lock = this.currRegion.getDistributedLock(entryKey); 
-    lock.lock(); 
-    lockedItemsMap.put(name, lock); 
-  } 
-  ...
-```
-
-``` pre
-/* Unlock a data entry */ 
-  String entryKey = ... 
-  if (lockedItemsMap.containsKey(entryKey)) 
-  { 
-    Lock lock = (Lock) lockedItemsMap.remove(name);
-    lock.unlock();
-  }
-```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/distributed_regions/managing_distributed_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/distributed_regions/managing_distributed_regions.html.md.erb b/developing/distributed_regions/managing_distributed_regions.html.md.erb
deleted file mode 100644
index f36d8ca..0000000
--- a/developing/distributed_regions/managing_distributed_regions.html.md.erb
+++ /dev/null
@@ -1,47 +0,0 @@
----
-title:  Configure Distributed, Replicated, and Preloaded Regions
----
-
-Plan the configuration and ongoing management of your distributed, replicated, and preloaded regions, and configure the regions.
-
-<a id="configure_distributed_region__section_11E9E1B3EB5845D9A4FB226A992B8D0D"></a>
-Before you begin, understand [Basic Configuration and Programming](../../basic_config/book_intro.html).
-
-1.  Choose the region shortcut setting that most closely matches your region configuration. See **`org.apache.geode.cache.RegionShortcut`** or [Region Shortcuts](../../reference/topics/chapter_overview_regionshortcuts.html#concept_ymp_rkz_4dffhdfhk). 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:
-
-    ``` pre
-    <region-attributes refid="REPLICATE"> 
-    </region-attributes>
-    ```
-
-    You can also use gfsh to configure a region. For example:
-
-    ``` pre
-    gfsh>create region --name=regionA --type=REPLICATE
-    ```
-
-    See [Region Types](../region_options/region_types.html#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:
-
-    ``` pre
-    <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:
-
-    ``` pre
-    <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.
-
-## <a id="configure_distributed_region__section_6F53FB58B8A84D0F8086AFDB08A649F9" class="no-quick-link"></a>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.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/distributed_regions/region_entry_versions.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/distributed_regions/region_entry_versions.html.md.erb b/developing/distributed_regions/region_entry_versions.html.md.erb
deleted file mode 100644
index 1781fc7..0000000
--- a/developing/distributed_regions/region_entry_versions.html.md.erb
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title: Consistency for Region Updates
----
-
-<a id="topic_CF2798D3E12647F182C2CEC4A46E2045"></a>
-
-
-Geode ensures that all copies of a region eventually reach a consistent state on all members and clients that host the region, including Geode members that distribute region events.
-
--   **[Consistency Checking by Region Type](../../developing/distributed_regions/how_region_versioning_works.html#topic_7A4B6C6169BD4B1ABD356294F744D236)**
-
-    Geode performs different consistency checks depending on the type of region you have configured.
-
--   **[Configuring Consistency Checking](../../developing/distributed_regions/how_region_versioning_works.html#topic_B64891585E7F4358A633C792F10FA23E)**
-
-    Geode enables consistency checking by default. You cannot disable consistency checking for persistent regions. For all other regions, you can explicitly enable or disable consistency checking by setting the `concurrency-checks-enabled` region attribute in `cache.xml` to "true" or "false."
-
--   **[Overhead for Consistency Checks](../../developing/distributed_regions/how_region_versioning_works.html#topic_0BDACA590B2C4974AC9C450397FE70B2)**
-
-    Consistency checking requires additional overhead for storing and distributing version and timestamp information, as well as for maintaining destroyed entries for a period of time to meet consistency requirements.
-
--   **[How Consistency Checking Works for Replicated Regions](../../developing/distributed_regions/how_region_versioning_works.html#topic_C5B74CCDD909403C815639339AA03758)**
-
-    Each region stores version and timestamp information for use in conflict detection. Geode members use the recorded information to detect and resolve conflicts consistently before applying a distributed update.
-
--   **[How Destroy and Clear Operations Are Resolved](../../developing/distributed_regions/how_region_versioning_works.html#topic_321B05044B6641FCAEFABBF5066BD399)**
-
-    When consistency checking is enabled for a region, a Geode member does not immediately remove an entry from the region when an application destroys the entry. Instead, the member retains the entry with its current version stamp for a period of time in order to detect possible conflicts with operations that have occurred. The retained entry is referred to as a *tombstone*. Geode retains tombstones for partitioned regions and non-replicated regions as well as for replicated regions, in order to provide consistency.
-
--   **[Transactions with Consistent Regions](../../developing/distributed_regions/how_region_versioning_works.html#topic_32ACFA5542C74F3583ECD30467F352B0)**
-
-    A transaction that modifies a region having consistency checking enabled generates all necessary version information for region updates when the transaction commits.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/cache_event_handler_examples.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/cache_event_handler_examples.html.md.erb b/developing/events/cache_event_handler_examples.html.md.erb
deleted file mode 100644
index 858003d..0000000
--- a/developing/events/cache_event_handler_examples.html.md.erb
+++ /dev/null
@@ -1,138 +0,0 @@
----
-title:  Cache Event Handler Examples
----
-
-Some examples of cache event handlers.
-
-## <a id="cache_event_handler_examples__section_F2790678E9DE4A81B73A4B6346CB210B" class="no-quick-link"></a>Declaring and Loading an Event Handler with Parameters
-
-This declares an event handler for a region in the `cache.xml`. The handler is a cache listener designed to communicate changes to a DB2 database. The declaration includes the listener\u2019s parameters, which are the database path, username, and password.
-
-``` pre
-<region name="exampleRegion"> 
-  <region-attributes> 
-  . . . 
-    <cache-listener> 
-      <class-name>JDBCListener</class-name> 
-      <parameter name="url"> 
-        <string>jdbc:db2:SAMPLE</string> 
-      </parameter> 
-      <parameter name="username"> 
-        <string>gfeadmin</string> 
-      </parameter> 
-      <parameter name="password"> 
-        <string>admin1</string> 
-      </parameter> 
-    </cache-listener> 
-  </region-attributes> 
-  </region>
-```
-
-This code listing shows part of the implementation of the `JDBCListener` declared in the `cache.xml`. This listener implements the `Declarable` interface. When an entry is created in the cache, this listener\u2019s `afterCreate` callback method is triggered to update the database. Here the listener\u2019s properties, provided in the `cache.xml`, are passed into the `Declarable.init` method and used to create a database connection.
-
-``` pre
-. . .
-public class JDBCListener
-extends CacheListenerAdapter
-implements Declarable {
-  public void afterCreate(EntryEvent e) {
-  . . .
-    // Initialize the database driver and connection using input parameters
-    Driver driver = (Driver) Class.forName(DRIVER_NAME).newInstance();
-    Connection connection =
-      DriverManager.getConnection(_url, _username, _password);
-      System.out.println(_connection);
-        . . .
-  }
-    . . .
-  public void init(Properties props) {
-    this._url = props.getProperty("url");
-    this._username = props.getProperty("username");
-    this._password = props.getProperty("password");
-  }
-}
-```
-
-## <a id="cache_event_handler_examples__section_2B4275C1AE744794AAD22530E5ECA8CC" class="no-quick-link"></a>Installing an Event Handler Through the API
-
-This listing defines a cache listener using the `RegionFactory` method `addCacheListener`.
-
-``` pre
-Region newReg = cache.createRegionFactory()
-          .addCacheListener(new SimpleCacheListener())
-          .create(name);
- 
-```
-
-You can create a cache writer similarly, using the `RegionFactory` method `setCacheWriter`, like this:
-
-``` pre
-Region newReg = cache.createRegionFactory()
-          .setCacheWriter(new SimpleCacheWriter())
-          .create(name);
- 
-```
-
-## <a id="cache_event_handler_examples__section_C62E9535C43B4BC5A7AA7B8B4125D1EB" class="no-quick-link"></a>Installing Multiple Listeners on a Region
-
-XML:
-
-``` pre
-<region name="exampleRegion">
-  <region-attributes>
-    . . .
-    <cache-listener>
-      <class-name>myCacheListener1</class-name>
-    </cache-listener>
-    <cache-listener>
-      <class-name>myCacheListener2</class-name>
-    </cache-listener>
-    <cache-listener>
-      <class-name>myCacheListener3</class-name>
-    </cache-listener>
-  </region-attributes>
-</region>
-```
-
-API:
-
-``` pre
-CacheListener listener1 = new myCacheListener1(); 
-CacheListener listener2 = new myCacheListener2(); 
-CacheListener listener3 = new myCacheListener3(); 
-
-Region nr = cache.createRegionFactory()
-  .initCacheListeners(new CacheListener[]
-    {listener1, listener2, listener3})
-  .setScope(Scope.DISTRIBUTED_NO_ACK)
-  .create(name);
-```
-
-## <a id="cache_event_handler_examples__section_3AF3D7C9927F491F8BACDB72834E42AA" class="no-quick-link"></a>Installing a Write-Behind Cache Listener
-
-``` pre
-//AsyncEventQueue with listener that performs WBCL work
-<cache>
-   <async-event-queue id="sampleQueue" persistent="true"
-    disk-store-name="exampleStore" parallel="false">
-      <async-event-listener>
-         <class-name>MyAsyncListener</class-name>
-         <parameter name="url"> 
-           <string>jdbc:db2:SAMPLE</string> 
-         </parameter> 
-         <parameter name="username"> 
-           <string>gfeadmin</string> 
-         </parameter> 
-         <parameter name="password"> 
-           <string>admin1</string> 
-         </parameter> 
-               </async-event-listener>
-             </async-event-queue>
-
-// Add the AsyncEventQueue to region(s) that use the WBCL
-  <region name="data">
-       <region-attributes async-event-queue-ids="sampleQueue">
-    </region-attributes>
-  </region>
-</cache>
-```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/chapter_overview.html.md.erb b/developing/events/chapter_overview.html.md.erb
deleted file mode 100644
index 52e1905..0000000
--- a/developing/events/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title:  Events and Event Handling
----
-
-Geode provides versatile and reliable event distribution and handling for your cached data and system member events.
-
--   **[How Events Work](../../developing/events/how_events_work.html)**
-
-    Members in your Geode distributed system receive cache updates from other members through cache events. The other members can be peers to the member, clients or servers or other distributed systems.
-
--   **[Implementing Geode Event Handlers](../../developing/events/event_handler_overview.html)**
-
-    You can specify event handlers for region and region entry operations and for administrative events.
-
--   **[Configuring Peer-to-Peer Event Messaging](../../developing/events/configure_p2p_event_messaging.html)**
-
-    You can receive events from distributed system peers for any region that is not a local region. Local regions receive only local cache events.
-
--   **[Configuring Client/Server Event Messaging](../../developing/events/configure_client_server_event_messaging.html)**
-
-    You can receive events from your servers for server-side cache events and query result changes.
-
--   **[Configuring Multi-Site (WAN) Event Queues](../../developing/events/configure_multisite_event_messaging.html)**
-
-    In a multi-site (WAN) installation, Geode uses gateway sender queues to distribute events for regions that are configured with a gateway sender. AsyncEventListeners also use an asynchronous event queue to distribute events for configured regions. This section describes additional options for configuring the event queues that are used by gateway senders or AsyncEventListener implementations.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/configure_client_server_event_messaging.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/configure_client_server_event_messaging.html.md.erb b/developing/events/configure_client_server_event_messaging.html.md.erb
deleted file mode 100644
index 2d6185e..0000000
--- a/developing/events/configure_client_server_event_messaging.html.md.erb
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title:  Configuring Client/Server Event Messaging
----
-
-You can receive events from your servers for server-side cache events and query result changes.
-
-<a id="receiving_events_from_servers__section_F21FB253CCC244708CB953B6D5866A91"></a>
-For cache updates, you can configure to receive entry keys and values or just entry keys, with the data retrieved lazily when requested. The queries are run continuously against server cache events, with the server sending the deltas for your query result sets.
-
-Before you begin, set up your client/server installation and configure and program your basic event messaging.
-
-Servers receive updates for all entry events in their client's client regions.
-
-To receive entry events in the client from the server:
-
-1.  Set the client pool `subscription-enabled` to true. See [&lt;pool&gt;](../../reference/topics/client-cache.html#cc-pool).
-2.  Program the client to register interest in the entries you need.
-
-    **Note:**
-    This must be done through the API.
-
-    Register interest in all keys, a key list, individual keys, or by comparing key strings to regular expressions. By default, no entries are registered to receive updates. Specify whether the server is to send values with entry update events. Interest registration is only available through the API.
-
-    1.  Get an instance of the region where you want to register interest.
-    2.  Use the regions's `registerInterest`\* methods to specify the entries you want. Examples:
-
-        ``` pre
-        // Register interest in a single key and download its entry 
-        // at this time, if it is available in the server cache 
-        Region region1 = . . . ;
-        region1.registerInterest("key-1"); 
-                            
-        // Register Interest in a List of Keys but do not do an initial bulk load
-        // do not send values for creater/update events - just send key with invalidation
-        Region region2 = . . . ; 
-        List list = new ArrayList();
-        list.add("key-1"); 
-        list.add("key-2"); 
-        list.add("key-3"); 
-        list.add("key-4");
-        region2.registerInterest(list, InterestResultPolicy.NONE, false); 
-                            
-        // Register interest in all keys and download all available keys now
-        Region region3 = . . . ;
-        region3.registerInterest("ALL_KEYS", InterestResultPolicy.KEYS); 
-                            
-        // Register Interest in all keys matching a regular expression 
-        Region region1 = . . . ; 
-        region1.registerInterestRegex("[a-zA-Z]+_[0-9]+"); 
-        ```
-
-        You can call the register interest methods multiple times for a single region. Each interest registration adds to the server\u2019s list of registered interest criteria for the client. So if a client registers interest in key \u2018A\u2019, then registers interest in regular expression "B\*", the server will send updates for all entries with key \u2018A\u2019 or key beginning with the letter \u2018B\u2019.
-
-    3.  For highly available event messaging, configure server redundancy. See [Configuring Highly Available Servers](configuring_highly_available_servers.html).
-    4.  To have events enqueued for your clients during client downtime, configure durable client/server messaging.
-    5.  Write any continuous queries (CQs) that you want to run to receive continuously streaming updates to client queries. CQ events do not update the client cache. If you have dependencies between CQs and/or interest registrations, so that you want the two types of subscription events to arrive as closely together on the client, use a single server pool for everything. Using different pools can lead to time differences in the delivery of events because the pools might use different servers to process and deliver the event messages.
-
--   **[Configuring Highly Available Servers](../../developing/events/configuring_highly_available_servers.html)**
-
--   **[Implementing Durable Client/Server Messaging](../../developing/events/implementing_durable_client_server_messaging.html)**
-
--   **[Tuning Client/Server Event Messaging](../../developing/events/tune_client_server_event_messaging.html)**
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/configure_multisite_event_messaging.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/configure_multisite_event_messaging.html.md.erb b/developing/events/configure_multisite_event_messaging.html.md.erb
deleted file mode 100644
index 6bd1e8b..0000000
--- a/developing/events/configure_multisite_event_messaging.html.md.erb
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title:  Configuring Multi-Site (WAN) Event Queues
----
-
-In a multi-site (WAN) installation, Geode uses gateway sender queues to distribute events for regions that are configured with a gateway sender. AsyncEventListeners also use an asynchronous event queue to distribute events for configured regions. This section describes additional options for configuring the event queues that are used by gateway senders or AsyncEventListener implementations.
-
-<a id="configure_multisite_event_messaging__section_1BBF77E166E84F7CA110385FD03D8453"></a>
-Before you begin, set up your multi-site (WAN) installation or configure asynchronous event queues and AsyncEventListener implementations. See [Configuring a Multi-site (WAN) System](../../topologies_and_comm/multi_site_configuration/setting_up_a_multisite_system.html#setting_up_a_multisite_system) or [Implementing an AsyncEventListener for Write-Behind Cache Event Handling](implementing_write_behind_event_handler.html#implementing_write_behind_cache_event_handling).
-
--   **[Persisting an Event Queue](../../developing/events/configuring_highly_available_gateway_queues.html)**
-
-    You can configure a gateway sender queue or an asynchronous event queue to persist data to disk similar to the way in which replicated regions are persisted.
-
--   **[Configuring Dispatcher Threads and Order Policy for Event Distribution](../../developing/events/configuring_gateway_concurrency_levels.html)**
-
-    By default, Geode uses multiple dispatcher threads to process region events simultaneously in a gateway sender queue for distribution between sites, or in an asynchronous event queue for distributing events for write-behind caching. With serial queues, you can also configure the ordering policy for dispatching those events.
-
--   **[Conflating Events in a Queue](../../developing/events/conflate_multisite_gateway_queue.html)**
-
-    Conflating a queue improves distribution performance. When conflation is enabled, only the latest queued value is sent for a particular key.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/configure_p2p_event_messaging.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/configure_p2p_event_messaging.html.md.erb b/developing/events/configure_p2p_event_messaging.html.md.erb
deleted file mode 100644
index 73c7d74..0000000
--- a/developing/events/configure_p2p_event_messaging.html.md.erb
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title:  Configuring Peer-to-Peer Event Messaging
----
-
-You can receive events from distributed system peers for any region that is not a local region. Local regions receive only local cache events.
-
-<a id="configuring_event_distribution__section_7D5B1F0C0EF24E58BB3C335CB4EA9A3C"></a>
-Peer distribution is done according to the region's configuration.
-
--   Replicated regions always receive all events from peers and require no further configuration. Replicated regions are configured using the `REPLICATE` region shortcut settings.
--   For non-replicated regions, decide whether you want to receive all entry events from the distributed cache or only events for the data you have stored locally. To configure:
-    -   To receive all events, set the `subscription-attributes` `interest-policy` to `all`:
-
-        ``` pre
-        <region-attributes> 
-            <subscription-attributes interest-policy="all"/> 
-        </region-attributes>
-        ```
-
-    -   To receive events just for the data you have stored locally, set the `subscription-attributes` `interest-policy` to `cache-content` or do not set it (`cache-content` is the default):
-
-        ``` pre
-        <region-attributes> 
-            <subscription-attributes interest-policy="cache-content"/> 
-        </region-attributes>
-        ```
-
-    For partitioned regions, this only affects the receipt of events, as the data is stored according to the region partitioning. Partitioned regions with interest policy of `all` can create network bottlenecks, so if you can, run listeners in every member that hosts the partitioned region data and use the `cache-content` interest policy.
-
-**Note:**
-You can also configure Regions using the gfsh command-line interface. See [Region Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_EF03119A40EE492984F3B6248596E1DD).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/configuring_gateway_concurrency_levels.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/configuring_gateway_concurrency_levels.html.md.erb b/developing/events/configuring_gateway_concurrency_levels.html.md.erb
deleted file mode 100644
index 5d001c3..0000000
--- a/developing/events/configuring_gateway_concurrency_levels.html.md.erb
+++ /dev/null
@@ -1,141 +0,0 @@
----
-title:  Configuring Dispatcher Threads and Order Policy for Event Distribution
----
-
-By default, Geode uses multiple dispatcher threads to process region events simultaneously in a gateway sender queue for distribution between sites, or in an asynchronous event queue for distributing events for write-behind caching. With serial queues, you can also configure the ordering policy for dispatching those events.
-
-By default, a gateway sender queue or asynchronous event queue uses 5 dispatcher threads per queue. This provides support for applications that have the ability to process queued events concurrently for distribution to another Geode site or listener. If your application does not require concurrent distribution, or if you do not have enough resources to support the requirements of multiple dispatcher threads, then you can configure a single dispatcher thread to process a queue.
-
--   [Using Multiple Dispatcher Threads to Process a Queue](configuring_gateway_concurrency_levels.html#concept_6C52A037E39E4FD6AE4C6A982A4A1A85__section_20E8EFCE89EB4DC7AA822D03C8E0F470)
--   [Performance and Memory Considerations](configuring_gateway_concurrency_levels.html#concept_6C52A037E39E4FD6AE4C6A982A4A1A85__section_C4C83B5C0FDD4913BA128365EE7E4E35)
--   [Configuring the Ordering Policy for Serial Queues](configuring_gateway_concurrency_levels.html#concept_6C52A037E39E4FD6AE4C6A982A4A1A85__section_4835BA30CDFD4B658BD2576F6BC2E23F)
--   [Examples\u2014Configuring Dispatcher Threads and Ordering Policy for a Serial Gateway Sender Queue](configuring_gateway_concurrency_levels.html#concept_6C52A037E39E4FD6AE4C6A982A4A1A85__section_752F08F9064B4F67A80DA0A994671EA0)
-
-## <a id="concept_6C52A037E39E4FD6AE4C6A982A4A1A85__section_20E8EFCE89EB4DC7AA822D03C8E0F470" class="no-quick-link"></a>Using Multiple Dispatcher Threads to Process a Queue
-
-When multiple dispatcher threads are configured for a parallel queue, Geode simply uses multiple threads to process the contents of each individual queue. The total number of queues that are created is still determined by the number of Geode members that host the region.
-
-When multiple dispatcher threads are configured for a serial queue, Geode creates an additional copy of the queue for each thread on each member that hosts the queue. To obtain the maximum throughput, increase the number of dispatcher threads until your network is saturated.
-
-The following diagram illustrates a serial gateway sender queue that is configured with multiple dispatcher threads.
-<img src="../../images/MultisiteConcurrency_WAN_Gateway.png" id="concept_6C52A037E39E4FD6AE4C6A982A4A1A85__image_093DAC58EBEE456485562C92CA79899F" class="image" width="624" />
-
-## <a id="concept_6C52A037E39E4FD6AE4C6A982A4A1A85__section_C4C83B5C0FDD4913BA128365EE7E4E35" class="no-quick-link"></a>Performance and Memory Considerations
-
-When a serial gateway sender or an asynchronous event queue uses multiple dispatcher threads, consider the following:
-
--   Queue attributes are repeated for each copy of the queue that is created for a dispatcher thread. That is, each concurrent queue points to the same disk store, so the same disk directories are used. If persistence is enabled and overflow occurs, the threads that insert entries into the queues compete for the disk. This applies to application threads and dispatcher threads, so it can affect application performance.
--   The `maximum-queue-memory` setting applies to each copy of the serial queue. If you configure 10 dispatcher threads and the maximum queue memory is set to 100MB, then the total maximum queue memory for the queue is 1000MB on each member that hosts the queue.
-
-## <a id="concept_6C52A037E39E4FD6AE4C6A982A4A1A85__section_4835BA30CDFD4B658BD2576F6BC2E23F" class="no-quick-link"></a>Configuring the Ordering Policy for Serial Queues
-
-When using multiple `dispatcher-threads` (greater than 1) with a serial event queue, you can also configure the `order-policy` that those threads use to distribute events from the queue. The valid order policy values are:
-
--   **key (default)**. All updates to the same key are distributed in order. Geode preserves key ordering by placing all updates to the same key in the same dispatcher thread queue. You typically use key ordering when updates to entries have no relationship to each other, such as for an application that uses a single feeder to distribute stock updates to several other systems.
--   **thread**. All region updates from a given thread are distributed in order. Geode preserves thread ordering by placing all region updates from the same thread into the same dispatcher thread queue. In general, use thread ordering when updates to one region entry affect updates to another region entry.
--   **partition**. All region events that share the same partitioning key are distributed in order. Specify partition ordering when applications use a [PartitionResolver](/releases/latest/javadoc/org/apache/geode/cache/PartitionResolver.html) to implement [custom partitioning](../partitioned_regions/using_custom_partition_resolvers.html). With partition ordering, all entries that share the same "partitioning key" (RoutingObject) are placed into the same dispatcher thread queue.
-
-You cannot configure the `order-policy` for a parallel event queue, because parallel queues cannot preserve event ordering for regions. Only the ordering of events for a given partition (or in a given queue of a distributed region) can be preserved.
-
-## <a id="concept_6C52A037E39E4FD6AE4C6A982A4A1A85__section_752F08F9064B4F67A80DA0A994671EA0" class="no-quick-link"></a>Examples\u2014Configuring Dispatcher Threads and Ordering Policy for a Serial Gateway Sender Queue
-
-To increase the number of dispatcher threads and set the ordering policy for a serial gateway sender, use one of the following mechanisms.
-
--   **cache.xml configuration**
-
-    ``` pre
-    <cache>
-      <gateway-sender id="NY" parallel="false" 
-       remote-distributed-system-id="1"
-       enable-persistence="true"
-       disk-store-name="gateway-disk-store"
-       maximum-queue-memory="200"
-       dispatcher-threads=7 order-policy="key"/> 
-       ... 
-    </cache>
-    ```
-
--   **Java API configuration**
-
-    ``` pre
-    Cache cache = new CacheFactory().create();
-
-    GatewaySenderFactory gateway = cache.createGatewaySenderFactory();
-    gateway.setParallel(false);
-    gateway.setPersistenceEnabled(true);
-    gateway.setDiskStoreName("gateway-disk-store");
-    gateway.setMaximumQueueMemory(200);
-    gateway.setDispatcherThreads(7);
-    gateway.setOrderPolicy(OrderPolicy.KEY);
-    GatewaySender sender = gateway.create("NY", "1");
-    sender.start();
-    ```
-
--   **gfsh:**
-
-    ``` pre
-    gfsh>create gateway-sender -d="NY" 
-       --parallel=false 
-       --remote-distributed-system-id="1"
-       --enable-persistence=true
-       --disk-store-name="gateway-disk-store"
-       --maximum-queue-memory=200
-       --dispatcher-threads=7 
-       --order-policy="key"
-    ```
-
-The following examples show how to set dispatcher threads and ordering policy for an asynchronous event queue:
-
--   **cache.xml configuration**
-
-    ``` pre
-    <cache>
-       <async-event-queue id="sampleQueue" persistent="true"
-        disk-store-name="async-disk-store" parallel="false"
-        dispatcher-threads=7 order-policy="key">
-          <async-event-listener>
-             <class-name>MyAsyncEventListener</class-name>
-             <parameter name="url"> 
-               <string>jdbc:db2:SAMPLE</string> 
-             </parameter> 
-             <parameter name="username"> 
-               <string>gfeadmin</string> 
-             </parameter> 
-             <parameter name="password"> 
-               <string>admin1</string> 
-             </parameter> 
-        </async-event-listener>
-        </async-event-queue>
-    ...
-    </cache>
-    ```
-
--   **Java API configuration**
-
-    ``` pre
-    Cache cache = new CacheFactory().create();
-    AsyncEventQueueFactory factory = cache.createAsyncEventQueueFactory();
-    factory.setPersistent(true);
-    factory.setDiskStoreName("async-disk-store");
-    factory.setParallel(false);
-    factory.setDispatcherThreads(7);
-    factory.setOrderPolicy(OrderPolicy.KEY);
-    AsyncEventListener listener = new MyAsyncEventListener();
-    AsyncEventQueue sampleQueue = factory.create("customerWB", listener);
-    ```
-
-    Entry updates in the current, in-process batch are not eligible for conflation.
-
--   **gfsh:**
-
-    ``` pre
-    gfsh>create async-event-queue --id="sampleQueue" --persistent=true
-    --disk-store="async-disk-store" --parallel=false
-    --dispatcher-threads=7 order-policy="key"
-    --listener=myAsycEventListener 
-    --listener-param=url#jdbc:db2:SAMPLE 
-    --listener-param=username#gfeadmin 
-    --listener-param=password#admin1
-    ```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/configuring_highly_available_gateway_queues.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/configuring_highly_available_gateway_queues.html.md.erb b/developing/events/configuring_highly_available_gateway_queues.html.md.erb
deleted file mode 100644
index a674a45..0000000
--- a/developing/events/configuring_highly_available_gateway_queues.html.md.erb
+++ /dev/null
@@ -1,102 +0,0 @@
----
-title:  Persisting an Event Queue
----
-
-You can configure a gateway sender queue or an asynchronous event queue to persist data to disk similar to the way in which replicated regions are persisted.
-
-<a id="configuring_highly_available_gateway_queues__section_7EB2A7E38B074AAAA06D22C59687CB8A"></a>
-Persisting a queue provides high availability for the event messaging that the sender performs. For example, if a persistent gateway sender queue exits for any reason, when the member that hosts the sender restarts it automatically reloads the queue and resumes sending messages. If an asynchronous event queue exits for any reason, write-back caching can resume where it left off when the queue is brought back online.
-Geode persists an event queue if you set the `enable-persistence` attribute to true. The queue is persisted to the disk store specified in the queue's `disk-store-name` attribute, or to the default disk store if you do not specify a store name.
-
-You must configure the event queue to use persistence if you are using persistent regions. The use of non-persistent event queues with persistent regions is not supported.
-
-When you enable persistence for a queue, the `maximum-queue-memory` attribute determines how much memory the queue can consume before it overflows to disk. By default, this value is set to 100MB.
-
-**Note:**
-If you configure a parallel queue and/or you configure multiple dispatcher threads for a queue, the values that are defined in the `maximum-queue-memory` and `disk-store-name` attributes apply to each instance of the queue.
-
-In the example below the gateway sender queue uses "diskStoreA" for persistence and overflow, and the queue has a maximum queue memory of 100MB:
-
--   XML example:
-
-    ``` pre
-    <cache>
-      <gateway-sender id="persistedsender1" parallel="false" 
-       remote-distributed-system-id="1"
-       enable-persistence="true"
-       disk-store-name="diskStoreA"
-       maximum-queue-memory="100"/> 
-       ... 
-    </cache>
-    ```
-
--   API example:
-
-    ``` pre
-    Cache cache = new CacheFactory().create();
-
-    GatewaySenderFactory gateway = cache.createGatewaySenderFactory();
-    gateway.setParallel(false);
-    gateway.setPersistenceEnabled(true);
-    gateway.setDiskStoreName("diskStoreA");
-    gateway.setMaximumQueueMemory(100); 
-    GatewaySender sender = gateway.create("persistedsender1", "1");
-    sender.start();
-    ```
-
--   gfsh:
-
-    ``` pre
-    gfsh>create gateway-sender --id="persistedsender1 --parallel=false 
-    --remote-distributed-system-id=1 --enable-persistence=true --disk-store-name=diskStoreA 
-    --maximum-queue-memory=100
-    ```
-
-If you were to configure 10 dispatcher threads for the serial gateway sender, then the total maximum memory for the gateway sender queue would be 1000MB on each Geode member that hosted the sender, because Geode creates a separate copy of the queue per thread..
-
-The following example shows a similar configuration for an asynchronous event queue:
-
--   XML example:
-
-    ``` pre
-    <cache>
-       <async-event-queue id="persistentAsyncQueue" persistent="true"
-        disk-store-name="diskStoreA" parallel="true">
-          <async-event-listener>
-             <class-name>MyAsyncEventListener</class-name>
-             <parameter name="url"> 
-               <string>jdbc:db2:SAMPLE</string> 
-             </parameter> 
-             <parameter name="username"> 
-               <string>gfeadmin</string> 
-             </parameter> 
-             <parameter name="password"> 
-               <string>admin1</string> 
-             </parameter> 
-          </async-event-listener>
-        </async-event-queue>
-    ...
-    </cache>
-    ```
-
--   API example:
-
-    ``` pre
-    Cache cache = new CacheFactory().create();
-    AsyncEventQueueFactory factory = cache.createAsyncEventQueueFactory();
-    factory.setPersistent(true);
-    factory.setDiskStoreName("diskStoreA");
-    factory.setParallel(true);
-    AsyncEventListener listener = new MyAsyncEventListener();
-    AsyncEventQueue persistentAsyncQueue = factory.create("customerWB", listener);
-    ```
-
--   gfsh:
-
-    ``` pre
-    gfsh>create async-event-queue --id="persistentAsyncQueue" --persistent=true 
-    --disk-store="diskStoreA" --parallel=true --listener=MyAsyncEventListener 
-    --listener-param=url#jdbc:db2:SAMPLE --listener-param=username#gfeadmin --listener-param=password#admin1
-    ```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/configuring_highly_available_servers.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/configuring_highly_available_servers.html.md.erb b/developing/events/configuring_highly_available_servers.html.md.erb
deleted file mode 100644
index 3b80d96..0000000
--- a/developing/events/configuring_highly_available_servers.html.md.erb
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title:  Configuring Highly Available Servers
----
-
-<a id="configuring_highly_available_servers__section_7EB2A7E38B074AAAA06D22C59687CB8A"></a>
-With highly-available servers, one of the backups steps in and takes over messaging with no interruption in service if the client's primary server crashes.
-
-To configure high availability, set the `subscription-redundancy` in the client's pool configuration. This setting indicates the number of secondary servers to use. For example:
-
-``` pre
-<!-- Run one secondary server -->
-<pool name="red1" subscription-enabled="true" subscription-redundancy="1"> 
-  <locator host="nick" port="41111"/> 
-  <locator host="nora" port="41111"/> 
-</pool> 
-```
-
-``` pre
-<!-- Use all available servers as secondaries. One is primary, the rest are secondaries -->
-<pool name="redX" subscription-enabled="true" subscription-redundancy="-1"> 
-  <locator host="nick" port="41111"/> 
-  <locator host="nora" port="41111"/> 
-</pool> 
-```
-
-When redundancy is enabled, secondary servers maintain queue backups while the primary server pushes events to the client. If the primary server fails, one of the secondary servers steps in as primary to provide uninterrupted event messaging to the client.
-
-The following table describes the different values for the subscription-redundancy setting:
-
-| subscription-redundancy | Description                                                                    |
-|-------------------------|--------------------------------------------------------------------------------|
-| 0                       | No secondary servers are configured, so high availability is disabled.         |
-| &gt; 0                  | Sets the precise number of secondary servers to use for backup to the primary. |
-| -1                      | Every server that is not the primary is to be used as a secondary.             |
-
--   **[Highly Available Client/Server Event Messaging](../../developing/events/ha_event_messaging_whats_next.html)**
-
-


[60/76] [abbrv] incubator-geode git commit: GEODE-1952: removed native client docs, set aside until native client code is merged in (see GEODE-1964)

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/disk-policy.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/disk-policy.html.md.erb b/geode-docs/nativeclient/client-cache/disk-policy.html.md.erb
deleted file mode 100644
index d862004..0000000
--- a/geode-docs/nativeclient/client-cache/disk-policy.html.md.erb
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title:  DiskPolicy
----
-
-<a id="disk-policy__section_F3A921FC67B44DD795BD9B5C180FCBB1"></a>
-If the `lru-entries-limit` attribute is greater than zero, the optional `disk-policy` attribute determines how over-limit LRU entries are handled. LRU entries over the limit are either destroyed by default (`disk-policy` is none ) or written to disk (`overflows`).
-
-**Note:**
-If `LruEntriesLimit` is `0`, or `CachingEnabled` is `false`, do not set the `disk-policy` attribute. An `IllegalStateException` is thrown if the attribute is set.
-
-This declaration causes LRU to overflow to disk:
-
-``` pre
-<region-attributes lru-entries-limit="20000"
-    disk-policy="overflows">
-  <persistence-manager ... />
-</region-attributes>
-```
-
-Overflow requires a persistence manager for cache-to-disk and disk-to-cache operations. See [PersistenceManager](persistence-manager.html#persistence-manager).
-
-## <a id="disk-policy__section_FE325E59644149ACA43DA2ABB4CF0F7A" class="no-quick-link"></a>Overflowing Data to Disk
-
-Region data can be stored to disk using the overflow process to satisfy region capacity restrictions without completely destroying the local cache data. The storage mechanism uses disk files to hold region entry data. When an entry is overflowed, its value is written to disk but its key and entry object remain in the cache. This also uses the region attribute [DiskPolicy](disk-policy.html#disk-policy).
-
-Overflow allows you to keep the region within a user-specified size in memory by relegating the values of least recently used (LRU) entries to disk. Overflow essentially uses disk as a swap space for entry values. When the region size reaches the specified threshold, entry values are moved from memory to disk, as shown in the following figure. If an entry is requested whose value is only on disk, the value is copied back into memory, possibly causing the value of a different LRU entry to be overflowed to disk.
-
-<a id="disk-policy__fig_67963EC3BDD64272BBDAD9517E1D78A0"></a>
-
-<span class="figtitleprefix">Figure: </span>Data Flow Between Overflow Region and Disk Files
-
-<img src="../common/images/client-cache-data-flow.gif" alt="Data Flow Between Overflow Region and Disk Files" id="disk-policy__image_687021ECD97A40FB843DBDE59C555384" class="image" />
-
-In this figure the value of the LRU entry X has been moved to disk to recover space in memory. The key for the entry remains in memory. From the distributed system perspective, the value on disk is as much a part of the region as the data in memory. A `get` performed on region B looks first in memory and then on disk as part of the local cache search.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/entries.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/entries.html.md.erb b/geode-docs/nativeclient/client-cache/entries.html.md.erb
deleted file mode 100644
index b5799f5..0000000
--- a/geode-docs/nativeclient/client-cache/entries.html.md.erb
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title:  Region Entries
----
-
-Region entries hold cached application data. Entries are automatically managed according to region attribute settings.
-
-You can create, update, invalidate, and destroy entries through explicit API calls or through operations distributed from other caches.
-
-When the number of entries is very large, a partitioned region can provide the required data management capacity if the total size of the data is greater than the heap in any single JVM.
-
-When an entry is created, a new object is instantiated in the region containing:
-
--   The entry key.
--   The entry value. This is the application data object. The entry value may be set to `NULL`, which is the equivalent of an invalid value.
-
-Entry operations invoke callbacks to user-defined application plug-ins. In this chapter, the calls that may affect the entry operation itself (by providing a value or aborting the operation, for example) are highlighted, but all possible interactions are not listed. For details, see [Application Plug-Ins](application-plugins.html#application-plugins).
-
-`DateTime` objects must be stored in the cache in UTC, so that times correspond between client and server. If you use a date with a different time zone, convert it when storing into and retrieving from the cache.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/expiration-attributes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/expiration-attributes.html.md.erb b/geode-docs/nativeclient/client-cache/expiration-attributes.html.md.erb
deleted file mode 100644
index d154d62..0000000
--- a/geode-docs/nativeclient/client-cache/expiration-attributes.html.md.erb
+++ /dev/null
@@ -1,65 +0,0 @@
----
-title:  Specifying Expiration Attributes
----
-
-<a id="expiration-attributes__section_4901B92DE7EB408F81792920C9E4ED7C"></a>
-Expiration attributes govern the automatic eviction of regions and region entries from the cache. Eviction is based on the time elapsed since the last update or access to the object. This is referred to as the least-recently-used (LRU) eviction process. Expiration options range from marking the expired object as invalid to completely removing it from the distributed cache. Eviction can help keep data current by removing outdated entries, prompting a reload the next time they are requested. Eviction may also be used to recover space in the cache by clearing out unaccessed entries and regions.
-
-Similar to application plug-ins, expiration activities are hosted by each application that defines a region in its cache.
-
-The following example shows a declaration that causes the region's entries to be invalidated in the local cache after they have not been accessed for one minute.
-
-``` pre
-<region-attributes>
-    <entry-idle-time>
-        <expiration-attributes timeout="60" action="local-invalidate"/>
-    </entry-idle-time>
-</region-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>
-<colgroup>
-<col width="50%" />
-<col width="50%" />
-</colgroup>
-<tbody>
-<tr class="odd">
-<td><code class="ph codeph">RegionTimeToLive</code></td>
-<td>Number of seconds that the region remains in the cache after the last creation or update before the expiration action occurs.</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">EntryTimeToLive</code></td>
-<td>For entries, the counter is set to zero for <code class="ph codeph">create</code> and <code class="ph codeph">put</code> operations. Region counters are reset when the region is created and when an entry has its counter reset. An update to an entry causes the time-to-live (TTL) counters to be reset for the entry and its region.</td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">RegionIdleTimeout</code></td>
-<td>Number of seconds that the region remains in the cache after the last access before the expiration action occurs.</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">EntryIdleTimeout</code></td>
-<td>The idle timeout counter for an object is reset when its TTL counter is reset. An entry's idle timeout counter is also reset whenever the entry is accessed through a <code class="ph codeph">get</code> operation.
-<p>The idle timeout counter for a region is reset whenever the idle timeout is reset for one of its entries.</p></td>
-</tr>
-</tbody>
-</table>
-
-## <a id="expiration-attributes__section_F338C1117B7B44398F59523B881EDD55" class="no-quick-link"></a>Using Statistics to Measure Expiration
-
-Expiration is measured by comparing expiration attribute settings with the last accessed time and last modified time statistics. These statistics are directly available to applications through the `CacheStatistics` object that is returned by the `Region::getStatistics` and `RegionEntry::getStatistics` functions. The `CacheStatistics` object also provides a function for resetting the statistics counters.
-
-## <a id="expiration-attributes__section_6B402F97ECD8492A8798AC838D0BB606" class="no-quick-link"></a>Expiration Actions
-
-You can specify one of the following actions for each expiration attribute:
-
--   **Destroy**. Removes the object completely from the cache. For regions, all entries are destroyed as well. Destroy actions are distributed according to the region's distribution settings.
--   **Invalidate**. Marks the object as invalid. For entries, the value is set to `NULL`. You invalidate a region by invalidating all its entries. Invalidate actions are distributed according to the region's distribution settings. When an entry is invalid, a `get` causes the cache to retrieve the entry according to the steps described in [Entry Retrieval](accessing-entries.html#accessing-entries__section_AD6AFD842C144C128FA1C7F0B9283372).
--   **Local destroy**. Destroys the object in the local cache but does not distribute the operation.
--   **Local invalidate**. Invalidates the object in the local cache but does not distribute the operation.
-    **Note:**
-    Destruction and invalidation cause the same event notification activities whether carried out explicitly or through expiration activities.
-
-## <a id="expiration-attributes__section_57F5B32CE9B34F29907E8697F51817F9" class="no-quick-link"></a>Region Expiration
-
-Expiration activities in distributed regions can be distributed or performed only in the local cache. So one cache could control region expiration for a number of caches in the distributed system.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/getting-the-region-size.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/getting-the-region-size.html.md.erb b/geode-docs/nativeclient/client-cache/getting-the-region-size.html.md.erb
deleted file mode 100644
index d7d80d8..0000000
--- a/geode-docs/nativeclient/client-cache/getting-the-region-size.html.md.erb
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title:  Getting the Region Size
----
-
-The `Region` API provides a `size` method (`Size` property for .NET) that gets the size of a region.
-
-For native client regions, this gives the number of entries in the local cache, not on the servers.
-
-See the `Region` API documentation for details.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/initial-capacity.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/initial-capacity.html.md.erb b/geode-docs/nativeclient/client-cache/initial-capacity.html.md.erb
deleted file mode 100644
index 18f96d9..0000000
--- a/geode-docs/nativeclient/client-cache/initial-capacity.html.md.erb
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title:  InitialCapacity
----
-
-<a id="initial-capacity__section_AB0163B072DA4DA0B858293CA02E91A1"></a>
-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>
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/invalidating-cached-entries.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/invalidating-cached-entries.html.md.erb b/geode-docs/nativeclient/client-cache/invalidating-cached-entries.html.md.erb
deleted file mode 100644
index e13ac0b..0000000
--- a/geode-docs/nativeclient/client-cache/invalidating-cached-entries.html.md.erb
+++ /dev/null
@@ -1,16 +0,0 @@
----
-title:  Invalidating or Destroying Cached Entries
----
-
-<a id="invalidating-cached-entries__section_9244FABA5204452A8D25D1184310B7EE"></a>
-Invalidating an entry sets the entry's value to `NULL`. Destroying it removes the entry from the region altogether. These operations can be carried out in the local cache in the following ways:
-
--   Through direct API calls from the client.
--   Through expiration activities based on the entry's statistics and the region's attribute settings.
-
-**Note:**
-A user-defined cache writer is called before an operation is completed, and can abort an entry destroy operation.
-
-Whether carried out explicitly or through expiration activities, invalidation and destruction cause event notification: The `CacheEvent` object has an `isExpiration` flag that is set to true for events resulting from expiration activities, and set to `false` for all other events.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/invalidating-region.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/invalidating-region.html.md.erb b/geode-docs/nativeclient/client-cache/invalidating-region.html.md.erb
deleted file mode 100644
index 0769681..0000000
--- a/geode-docs/nativeclient/client-cache/invalidating-region.html.md.erb
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title:  Invalidating and Destroying Regions
----
-
-Invalidation marks all entries contained in the region as invalid (with null values). Destruction removes the region and all of its contents from the cache.
-
-<a id="invalidating-region__section_6F7E304D1D5743F1B53FCBD4F82651D0"></a>
-You can execute these operations explicitly in the local cache in the following ways:
-
--   Through direct API calls from the native client.
--   Through expiration activities based on the region's statistics and attribute settings.
-
-In either case, you can perform invalidation and destruction as a local or a distributed operation.
-
--   A local operation affects the region only in the local cache.
--   A distributed operation works first on the region in the local cache and then distributes the operation to all other caches where the region is defined. This is the proper choice when the region is no longer needed, or valid, for any application in the distributed system.
--   If the region on the server is configured as a partitioned region, it cannot be cleared using API calls from the native client.
-
-A user-defined cache writer can abort a region destroy operation. Cache writers are synchronous listeners with the ability to abort operations. If a cache writer is defined for the region anywhere in the distributed system, it is invoked before the region is explicitly destroyed.
-
-Region invalidation and destruction can cause other user-defined application plug-ins to be invoked as well. These plug-ins are described in detail in [Application Plug-Ins](application-plugins.html#application-plugins).
-
-Whether carried out explicitly or through expiration activities, invalidation and destruction cause event notification.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/load-factor.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/load-factor.html.md.erb b/geode-docs/nativeclient/client-cache/load-factor.html.md.erb
deleted file mode 100644
index 7643702..0000000
--- a/geode-docs/nativeclient/client-cache/load-factor.html.md.erb
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title:  LoadFactor
----
-
-<a id="load-factor__section_D4102F0D396E4E2DA05654A20FA0723D"></a>
-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>
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/lru-entries-limit.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/lru-entries-limit.html.md.erb b/geode-docs/nativeclient/client-cache/lru-entries-limit.html.md.erb
deleted file mode 100644
index 8f716e5..0000000
--- a/geode-docs/nativeclient/client-cache/lru-entries-limit.html.md.erb
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title:  LruEntriesLimit
----
-
-<a id="concept_75D723D60E044FF9AE97C939699AB10A__section_B0174EA802CB47C9981EF3BDF4B7D169"></a>
-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, Geode 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](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](controlling-cache-size.html#controlling-cache-size).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/managing-lifetime-cached-object.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/managing-lifetime-cached-object.html.md.erb b/geode-docs/nativeclient/client-cache/managing-lifetime-cached-object.html.md.erb
deleted file mode 100644
index 0eb18d4..0000000
--- a/geode-docs/nativeclient/client-cache/managing-lifetime-cached-object.html.md.erb
+++ /dev/null
@@ -1,48 +0,0 @@
----
-title:  Managing the Lifetime of a Cached Object
----
-
-All cacheable objects derive from `SharedBase` , which provides reference counting. Cacheable objects are referenced using `SharedPtr` types.
-
-<a id="managing-lifetime-cached-object__section_5F8E6FE4F9AB4C658516DB0D31DD4FF8"></a>
-When `SharedPtr` retrieves a cached object, the object remains alive as long as that pointer or the cache itself references the object.
-
-A native client may have many pointers that reference an object. Regardless of how many pointers to the object are deleted, the object remains alive until the last remaining pointer is deleted. At that point the object is deleted.
-
-This is a very simple example:
-
-``` pre
-CacheableStringPtr p = CacheableString::create("string");
-region.put("key", p) ;
-```
-
-In the example:
-
--   The act of object creation allocates memory and initializes the object.
--   When you assign the object to a `SharedPtr` , you relinquish control of the lifetime of that object to the reference counting mechanism for the cache.
--   The put operation does not actually copy the object into the cache. Rather, it copies a `SharedPtr` into the cache's hashmap. Consequently, the object remains alive in the cache when the original `SharedPtr` goes away.
-
-The client can make use of an object after you have initialized the object. For example, another `SharedPtr` might issue a `get` to retrieve the object from the cache:
-
-``` pre
-CacheableStringPtr p2 = region.get("key");
-```
-
-Because `p` (the original `SharedPtr`) and `p2` point to the same object in memory, it is possible under some circumstances for multiple `SharedPtr` types to work on the same object in data storage.
-
-**Note:**
-Once you have put an object into the cache, do not delete it explicitly. Attempting to do so can produce undesirable results.
-
-## <a id="managing-lifetime-cached-object__section_8753DE6DF3864BEC806D39F623CBE3E0" class="no-quick-link"></a>Changed Objects
-
-If an object update is received, the cache no longer holds the same object. Rather, it holds a completely different instance of the object. The client does not see the updates until it calls a `get` to fetch the object again from the local cache, or (in a cache plug-in) calls `EntryEvent::getNewValue`.
-
-For more about plug-ins, see [Application Plug-Ins](application-plugins.html#application-plugins).
-
-## <a id="managing-lifetime-cached-object__section_065526A7FFBB464591A5E119EB8D6CA6" class="no-quick-link"></a>Object Expiration
-
-When a cache automatically deletes an object as a result of an expiration action, the reference counting pointers protect the client from situations that might otherwise result if the cache actually freed the object's memory. Instead, the client disconnects the object from the cache by deleting the cache's `SharedPtr` reference, while leaving untouched any client threads with a `SharedPtr` to that object.
-
-## <a id="managing-lifetime-cached-object__section_6D700999EE534BD7999D5B428301F5A6" class="no-quick-link"></a>Object Lifetime Across the Distributed Cache
-
-An object remains alive until every copy of the object is gone. In distributed regions, expiration activities can be local or distributed, depending on a region's distribution settings. One cache could control the expiration of all copies of an object in all the caches in the distributed system. Alternatively, each cache could control the expiration of its own local copy of the object. If the configuration gives each cache local control, and the expiration parameters are set to different lengths of time in different caches, some copies of an object may still exist after it has disappeared in other caches. See [Expiration Attributes](expiration-attributes.html#expiration-attributes) for more information.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/notification-for-operations.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/notification-for-operations.html.md.erb b/geode-docs/nativeclient/client-cache/notification-for-operations.html.md.erb
deleted file mode 100644
index 0abfdcb..0000000
--- a/geode-docs/nativeclient/client-cache/notification-for-operations.html.md.erb
+++ /dev/null
@@ -1,16 +0,0 @@
----
-title:  Notification for Operations
----
-
-<a id="notification-for-operations__section_53F43C51118C4087915CB954CA3439E0"></a>
-Listeners are invoked for client-initiated operations only after the client operation succeeds on the server. Listener invocation on the client indicates that the server has the same data as the client.
-
-If a client operation fails on the server, the operation is rolled back, assuming that no other thread has modified the data in the intervening period. Rollback may not be possible in cases where the entry has been evicted by LRU or expiration during this period. Thus when an exception is received from the server for an operation, local changes may not have been rolled back
-
-## <a id="notification-for-operations__section_48240559E20D4FAF8FDEC8D62C098357" class="no-quick-link"></a>Event Notification Sequence
-
-Events received on the clients that originated on the server invoke the subscription for the event as seen by the server. Events originating on the client invoke the subscription as seen by the client.
-
-For example, a client that receives a `create` and an `update` from the server fires a `create` event and an `update` event because that is how the server saw it. A cacheless client that does two consecutive put operations has two `afterCreate` events invoked on the originating client because the client does not have any history about the first put , since it is cacheless.
-
-For the same sequence, the server sees an `afterCreate` and an `afterUpdate` event, and a remote client receiving the event sees an `afterCreate` followed by an `afterUpdate` event. A client that caches locally sees an `afterCreate` and an `afterUpdate` for the same scenario (as will the server and remote clients).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/overview-client-cache.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/overview-client-cache.html.md.erb b/geode-docs/nativeclient/client-cache/overview-client-cache.html.md.erb
deleted file mode 100644
index 30689db..0000000
--- a/geode-docs/nativeclient/client-cache/overview-client-cache.html.md.erb
+++ /dev/null
@@ -1,24 +0,0 @@
----
-title:  About the Native Client Cache
----
-
-The cache consists of data regions, each of which can contain any number of entries. Region entries hold the cached data. Every entry has a key that uniquely identifies it within the region and a value where the data object is stored.
-
-The `Cache` instance allows your process to set general parameters for communication between a cache and other caches in the distributed system, and to create and access any region in the cache.
-
-Regions are created from the `Cache` instance. Regions provide the entry point to the interfaces for instances of `Region` and `RegionEntry`.
-
-## <a id="native-client-cache__section_A0F2E9EF30324736BD0D5F92FE3D1BD7" class="no-quick-link"></a>Main Features and Functionality
-
-The native client cache provides the following features and functionality.
-
--   Local and distributed data caching for fast access.
--   Data distribution between applications on the same or different platforms.
--   Local and remote data loading through application plug-ins.
--   Application plug-ins for synchronous and asynchronous handling of data events.
--   Automated and application-specific data eviction for freeing up space in the cache, including optional overflow to disk.
--   System message logging, and statistics gathering and archiving.
-
-For more information specific to your client programming language, see the online API documentation and [Working with the C++ API](../cpp-caching-api/cpp-caching-api.html#concept_CEC658A999414AC3A494578C214BF64E) and [Working with the .NET Caching API](../dotnet-caching-api/dotnet-caching-api.html#concept_FC6776DCE6ED48B887A6137761104AA4).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/persistence-manager.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/persistence-manager.html.md.erb b/geode-docs/nativeclient/client-cache/persistence-manager.html.md.erb
deleted file mode 100644
index 1d71808..0000000
--- a/geode-docs/nativeclient/client-cache/persistence-manager.html.md.erb
+++ /dev/null
@@ -1,224 +0,0 @@
----
-title:  PersistenceManager
----
-
-For each region, if the disk-policy attribute is set to overflows, a persistence-manager plug-in must perform cache-to-disk and disk-to-cache operations. See [Application Plug-Ins](application-plugins.html#application-plugins).
-
-Persistence manager declaration:
-
-``` pre
-<region-attributes lru-entries-limit="nnnnn"
-        disk-policy="overflows">
-    <persistence-manager library-name="libraryName"
-            library-function-name="functionName">
-        <properties>
-            <property name="propertyName" value="propertyValue" />
-        </properties>
-    </persistence-manager>
-</region-attributes>
-```
-
-The optional properties set parameters for the plug-in.
-
-
-## <a id="persistence-manager__section_9FC7089FDF8044868F17A2659397402A" class="no-quick-link"></a>Using SQLite as a Persistence Manager
-
-The Geode native client distribution includes a persistence manager that uses the open-source SQLite library.
-
-SQLite is a software library that implements a self-contained transactional SQL database. SQLite does not require its own server or separate configuration, and the source code for SQLite is in the public domain. For more information on SQLite, see [http://www.sqlite.org](http://www.sqlite.org).
-
-Each SQLite persistence manager persists its region data in a SQLite database that is stored in disk files. In a given native client application process, each region must have a unique persistence (overflow) directory.
-
-<a id="persistence-manager__fig_6A0C9F1A29134ACBA0FDD8236CD836B6"></a>
-<span class="figtitleprefix">Figure: </span>SQLite Database Persistence Manager Directory Structure
-
-<img src="../../images/SQLite_Persistence_Mgr.png" id="persistence-manager__image_BD1AF915E09548D68D9307E2F52737F9" class="image" />
-
-## <a id="persistence-manager__section_3C6991A39C5F4FB8A945EF15FB089287" class="no-quick-link"></a>SQLite Persistence Manager Region Attributes
-
-The following table describes the region attributes that can be configured for the SQLite persistence manager.
-
-| Property             | Description                                                                                                                                                                                                                                                                                                | Default Setting                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
-|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| PersistenceDirectory | Directory where each region's database files are stored. This setting must be different for each region including regions in different processes. This directory is created by the persistence manager. The persistence manager fails to initialize if this directory already exists or cannot be created. | Default is to create a subdirectory named GemFireRegionData in the directory where the process using the region was started.                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
-| PageSize             | Maximum page size of the SQLite database. SQLite can limit the size of a database file to prevent the database file from growing too large and consuming too much disk space.                                                                                                                              | Ordinarily, if no value is explicitly provided, SQLite creates a database with the page size set to SQLITE\_DEFAULT\_PAGE\_SIZE (default is 1024). However, based on certain device characteristics (for example, sector-size and atomic write() support) SQLite may choose a larger value. PageSize specifies the maximum value that SQLite will be able to choose on its own. See <a href="http://www.sqlite.org/compile.html#default_page_size">http://www.sqlite.org/compile.html#default_page_size</a>. for more details on SQLITE\_DEFAULT\_PAGE\_SIZE. |
-| MaxPageCount         | Maximum number of pages in one database file.                                                                                                                                                                                                                                                              | SQLite default, which is 1073741823.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
-
-## <a id="persistence-manager__section_A9583FBEB5D74B92AD61CB6158AE2B4C" class="no-quick-link"></a>Configuring the SQLite Persistence Manager Plug-In for C++ Applications
-
-To load the SQLite persistence manager plug-in for C++ applications, you can configure it either in your client's `cache.xml` or programmatically using the native client C++ API.
-
-The following is an example of how to specify the following region attributes in your client's cache.xml:
-
-``` pre
-<region-attributes>
-   <persistence-manager library-name="libSqLiteImpl.so" library-function-name="createSqLiteInstance">
-      <properties>
-         <property name="PersistenceDirectory" value="/xyz"/>
-         <property name="PageSize" value="65536"/>
-         <property name="MaxPageCount" value="1073741823"/>
-      </properties>
-   </persistence-manager>
-</region-attributes>
-```
-
-## C++ API Example
-
-To use the native client C++ API, set SQLite persistence manager attributes programmatically as follows:
-
-``` pre
-PropertiesPtr sqliteProperties = Properties::create();
-sqliteProperties->insert("MaxPagecount", "5");
-sqliteProperties->insert("PageSize", "1024");
-sqliteProperties->insert("PersistenceDirectory", "SqLite-Test779");
-regionFactory->setPersistenceManager("SqLiteImpl","createSqLiteInstance",
-          sqliteProperties);
-```
-
-## <a id="persistence-manager__section_7410F68E0BB144A584A9AFE7E8CDBE22" class="no-quick-link"></a>Configuring the SQLite Persistence Manager Plug-In for .NET Applications
-
-To load the SQLite persistence manager plug-in for .NET applications, you can configure it either in your client's cache.xml or programmatically using the .NET API:
-
-``` pre
-<persistence-manager library-name="Gemstone.Gemfire.Plugins.SqLite" 
-   library-function-name="GemStone.GemFire.Plugins.SqLite.SqLiteImpl&lt;System.Object, System.Object&gt;.Create"> 
-    <properties>
-       <property name="PersistenceDirectory" value="SqLite"/>
-       <property name="MaxPageCount" value="1073741823"/>
-       <property name="PageSize" value="65536"/>
-    </properties>
-</persistence-manager>
-```
-
-## .NET API Example
-
-To use the native client .NET API, set the SQLite persistence manager attributes programmatically as follows:
-
-``` pre
-Properties<string, string> sqliteProperties = new Properties<string, string>();
-sqliteProperties.Insert("PageSize", "65536");
-sqliteProperties.Insert("MaxFileSize", "51200000");
-sqliteProperties.Insert("PersistenceDirectory", SqLiteDir);
-rf.SetPersistenceManager("Gemstone.Gemfire.Plugins.SqLite", 
-"Gemstone.Gemfire.Plugins.SqLiteSqLiteImpl<System.Object,System.Object>.Create",
-sqliteProperties);
-```
-
-You can also use and configure the C++ SQLite persistence manager library from your .NET application as follows:
-
-``` pre
-rf.SetPersistenceManager("SqliteImpl", "createSqLiteInstance", sqliteProperties);
-```
-
-## <a id="persistence-manager__section_9D038C438E01415EA4D32000D5CB5596" class="no-quick-link"></a>Implementing a PersistenceManager with the IPersistenceManager Interface
-
-When developing .NET managed applications, you can use the IPersistenceManager managed interface to implement your own persistence manager. The following code sample provides the IPersistenceManager interface:
-
-``` pre
-/// <summary> 
-/// IPersistenceManager interface for persistence and overflow. 
-/// This class abstracts the disk-related operations in case of persistence or overflow to disk. 
-/// A specific disk storage implementation will implement all the methods described here. 
-/// </summary> 
-generic<class TKey, class TValue> 
-public interface class IPersistenceManager 
- { 
-   public: 
-   /// <summary> 
-   /// Called after an implementation object is created. Initializes all the implementation specific environments needed. 
-   /// </summary> 
-   /// <param name="region"> 
-   /// Region for which this PersistenceManager is initialized. 
-   /// </param> 
-   /// <param name="diskProperties"> 
-   /// Configuration Properties used by PersistenceManager implementation. 
-   /// </param> 
-   void Init(IRegion<TKey, TValue>^ region, Properties<String^, String^>^ diskProperties); 
-   
-   /// <summary> 
-   /// Writes a key, value pair of region to the disk. The actual file or database related write operations should be implemented in this method. 
-   /// </summary> 
-   /// <param name="key"> 
-   /// the key to write. 
-   /// </param> 
-   /// <param name="value"> 
-   /// the value to write. 
-   /// </param> 
-   void Write(TKey key, TValue value); 
-
-   /// <summary> 
-   /// This method is not used. 
-   /// </summary> 
-   bool WriteAll(); 
-
-   /// <summary> 
-   /// Reads the value for the key from the disk. 
-   /// </summary> 
-   /// <param name="key"> 
-   /// key for which the value has to be read. 
-   /// </param> 
-   TValue Read(TKey key); 
-
-   /// <summary> 
-   /// This method is not used. 
-   /// </summary> 
-   bool ReadAll(); 
-
-   /// <summary> 
-   /// Destroys the entry specified by the key in the argument. 
-   /// </summary> 
-   /// <param name="key"> 
-   /// key of the entry which is being destroyed. 
-   /// </param>
-   void Destroy(TKey key); 
-
-   /// <summary> 
-   /// Closes the persistence manager instance. 
-   /// </summary> 
-   void Close(); 
-}
-```
-
-The following is a sample interface implementation:
-
-``` pre
-class MyPersistenceManager<TKey, TValue> : IPersistenceManager<TKey, TValue> 
-   { 
-      #region IPersistenceManager<TKey,TValue> Members
-      public void Close() 
-      { 
-         throw new NotImplementedException(); 
-      } 
-
-      public void Destroy(TKey key) 
-      { 
-         throw new NotImplementedException(); 
-      } 
-
-      public void Init(IRegion<TKey, TValue> region, Properties<string, string> disk Properties) 
-      { 
-         throw new NotImplementedException(); 
-      } 
-
-      public TValue Read(TKey key) 
-      { 
-         throw new NotImplementedException(); 
-      } 
-
-      public void Write(TKey key, TValue value) 
-      { 
-         throw new NotImplementedException(); 
-      } 
-
-      public bool ReadAll() 
-      { 
-         throw new NotImplementedException(); 
-      } 
-
-      public bool WriteAll() 
-      {
-         throw new NotImplementedException(); 
-      } 
-      #endregion 
-   }
-```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/programmatic-region-creation.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/programmatic-region-creation.html.md.erb b/geode-docs/nativeclient/client-cache/programmatic-region-creation.html.md.erb
deleted file mode 100644
index f3f8757..0000000
--- a/geode-docs/nativeclient/client-cache/programmatic-region-creation.html.md.erb
+++ /dev/null
@@ -1,24 +0,0 @@
----
-title:  Programmatic Region Creation
----
-
-You create regions programmatically with the `regionFactory` class.
-
-**Note:**
-Before creating a region, specify region attributes. See [Region Attributes](region-attributes.html#region-attributes).
-
-Create your regions using the `regionFactory` class.
-
-**C++ RegionFactory Example**
-
-``` pre
-RegionFactoryPtr regionFactory =
-    cachePtr->createRegionFactory(CACHING_PROXY);
-RegionPtr regPtr0 = regionFactory->setLruEntriesLimit(20000)
-        ->create("exampleRegion0");
-    
-```
-
-**Note:** For more information on how to create a region, see [Working with the C++ API](../cpp-caching-api/cpp-caching-api.html#concept_CEC658A999414AC3A494578C214BF64E), [Working with the .NET API](../dotnet-caching-api/dotnet-caching-api.html#concept_FC6776DCE6ED48B887A6137761104AA4), and the native client API reference.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/region-access.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/region-access.html.md.erb b/geode-docs/nativeclient/client-cache/region-access.html.md.erb
deleted file mode 100644
index efb6fee..0000000
--- a/geode-docs/nativeclient/client-cache/region-access.html.md.erb
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title:  Region Access
----
-
-You can use `Cache::getRegion` to retrieve a reference to a specified region.
-
-`RegionPtr` returns `NULL` if the region is not already present in the application's cache. A server region must already exist.
-
-A region name *cannot* contain these characters:
-
--   &lt;
--   &gt;
--   :
--   "
--   /
--   \\
--   |
--   ?
--   \*
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/region-attributes-desc.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/region-attributes-desc.html.md.erb b/geode-docs/nativeclient/client-cache/region-attributes-desc.html.md.erb
deleted file mode 100644
index f667d30..0000000
--- a/geode-docs/nativeclient/client-cache/region-attributes-desc.html.md.erb
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title:  Mutable and 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.
-
-<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 [Specifying Application Plug-In Attributes](application-plugins.html#application-plugins). |                 |
-
-
-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 [Specifying Application Plug-In Attributes](application-plugins.html#application-plugins).      |                 |
-| CacheWriter. See [Specifying Application Plug-In Attributes](application-plugins.html#application-plugins).      |                 |
-| CacheListener. See [Specifying Application Plug-In Attributes](application-plugins.html#application-plugins).    |                 |
-
-
-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.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/region-attributes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/region-attributes.html.md.erb b/geode-docs/nativeclient/client-cache/region-attributes.html.md.erb
deleted file mode 100644
index 784e4c6..0000000
--- a/geode-docs/nativeclient/client-cache/region-attributes.html.md.erb
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title:  Region Attributes
----
-
-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](../../nativeclient/client-cache/specify-region-attributes.html)**
-
--   **[RegionShortcuts](../../nativeclient/client-cache/region-shortcuts.html)**
-
--   **[Mutable and Immutable Region Attributes](../../nativeclient/client-cache/region-attributes-desc.html)**
-
--   **[CachingEnabled](../../nativeclient/client-cache/caching-enabled.html)**
-
--   **[InitialCapacity](../../nativeclient/client-cache/initial-capacity.html)**
-
--   **[LoadFactor](../../nativeclient/client-cache/load-factor.html)**
-
--   **[ConcurrencyLevel](../../nativeclient/client-cache/concurrency-level.html)**
-
--   **[ConcurrencyChecksEnabled](../../nativeclient/client-cache/concurrency-checks-enabled.html)**
-
--   **[LruEntriesLimit](../../nativeclient/client-cache/lru-entries-limit.html)**
-
--   **[DiskPolicy](../../nativeclient/client-cache/disk-policy.html)**
-
--   **[PersistenceManager](../../nativeclient/client-cache/persistence-manager.html)**
-
--   **[Specifying Application Plug-In Attributes](../../nativeclient/client-cache/application-plugins.html)**
-
--   **[Specifying Expiration Attributes](../../nativeclient/client-cache/expiration-attributes.html)**
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/region-shortcuts.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/region-shortcuts.html.md.erb b/geode-docs/nativeclient/client-cache/region-shortcuts.html.md.erb
deleted file mode 100644
index 72441e5..0000000
--- a/geode-docs/nativeclient/client-cache/region-shortcuts.html.md.erb
+++ /dev/null
@@ -1,63 +0,0 @@
----
-title:  RegionShortcuts
----
-
-<a id="region-shortcuts__section_62D2AB580EDB4165970E4FC42A35C80B"></a>
-Geode provides a number of predefined, shortcut region attributes settings for your use, in `RegionShortcut`.
-
-Shortcut attributes are a convenience only. They are named attributes that Geode 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.
-
-**Note:**
-For complete listings and descriptions, including information on the underlying `RegionAttributes` settings for each shortcut, see the online documentation for `RegionShortcut`.
-
-These are the options available in `RegionShortcut`.
-
-**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**
-
-For the non-`PROXY` regions--the regions that store data in the client cache--you can add data eviction:
-
--   `ENTRY_LRU` causes least recently used data to be evicted from memory when the region reaches the entry count limit.
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/regions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/regions.html.md.erb b/geode-docs/nativeclient/client-cache/regions.html.md.erb
deleted file mode 100644
index a64484f..0000000
--- a/geode-docs/nativeclient/client-cache/regions.html.md.erb
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title:  Regions
----
-
-You create cache regions either programmatically or through declarative statements in the `cache.xml` file. Generally, a cache is organized and populated through a combination of the two approaches.
-
-<a id="regions__section_1BE4ABB76537488C966E452C2D89478F"></a>
-The region is the core building block of the Geode distributed system. All cached data is organized into data regions and you do all of your data puts, gets, and querying activities against them.
-
-A distributed region can be either non-partitioned or a partitioned region. See [Data Regions](../../basic_config/data_regions/chapter_overview.html) for detailed descriptions of both non-partitioned and partitioned regions. Region creation is subject to attribute consistency checks. The requirements for consistency between attributes are detailed both in the online API documentation and throughout the discussion of [Region Attributes](region-attributes.html#region-attributes).
-
--   **[Declarative Region Creation](../../nativeclient/client-cache/declarative-region-creation.html)**
-
-    Declarative region creation involves placing the region's XML declaration, with the appropriate attribute settings, in the `cache.xml` file that is loaded at cache creation.
-
--   **[Programmatic Region Creation](../../nativeclient/client-cache/programmatic-region-creation.html)**
-
-    You create regions programmatically with the `regionFactory` class.
-
--   **[Invalidating and Destroying Regions](../../nativeclient/client-cache/invalidating-region.html)**
-
-    Invalidation marks all entries contained in the region as invalid (with null values). Destruction removes the region and all of its contents from the cache.
-
--   **[Region Access](../../nativeclient/client-cache/region-access.html)**
-
-    You can use `Cache::getRegion` to retrieve a reference to a specified region.
-
--   **[Getting the Region Size](../../nativeclient/client-cache/getting-the-region-size.html)**
-
-    The `Region` API provides a `size` method (`Size` property for .NET) that gets the size of a region.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/registering-interest-for-entries.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/registering-interest-for-entries.html.md.erb b/geode-docs/nativeclient/client-cache/registering-interest-for-entries.html.md.erb
deleted file mode 100644
index aac6fae..0000000
--- a/geode-docs/nativeclient/client-cache/registering-interest-for-entries.html.md.erb
+++ /dev/null
@@ -1,93 +0,0 @@
----
-title:  Registering Interest for Entries
----
-
-For native client regions, you can programmatically register interest in entry keys stored on a cache server region. A client region receives update notifications from the cache server for the keys of interest.
-
-You can register interest for specific entry keys or for all keys. Regular expressions can be used to register interest for keys whose strings match the expression. You can also unregister interest for specific keys, groups of keys based on regular expressions, or for all keys.
-
-**Note:** Interest registration and unregistration are symmetrical operations. Consequently, you cannot register interest in all keys and then unregister interest in a specific set of keys. Also, if you first register interest in specific keys with `registerKeys`, then call `registerAllKeys`, you must call `unregisterAllKeys` before specifying interest in specific keys again.
-
-
-## <a id="registering-interest-for-entries__section_C9A3D7F193B24ACD83B2D67813E596A0" class="no-quick-link"></a>Client API for Registering Interest
-
-You register client interest through the C++ or NET API. The C++ API provides the `registerKeys`, `registerAllKeys`, and `registerRegex` methods, with corresponding unregistration accomplished using the `unregisterKeys`, `unregisterAllKeys`, and `unregisterRegex` methods. The .NET API provides the `RegisterKeys`, `RegisterAllKeys`, and `RegisterRegex` methods, with corresponding unregistration accomplished using the `UnregisterKeys`, `UnregisterAllKeys`, and `UnregisterRegex` methods.
-
-The `registerKeys`, `registerRegex` and `registerAllKeys` methods have the option to populate the cache with the registration results from the server. The `registerRegex` and `registerAllKeys` methods can also optionally return the current list of keys registered on the server.
-
-## <a id="registering-interest-for-entries__section_C1A3F89EE73448D7AFF2076F41848F55" class="no-quick-link"></a>Setting Up Client Notification
-
-In addition to the programmatic function calls, to register interest for a server region and receive updated entries you need to configure the region with the `PROXY` or `CACHING_PROXY RegionShortcut` setting. The region's pool should have `subscription-enabled=true` set either in the client XML or programmatically via a `CacheFactory::setSubscriptionEnabled(true)` API call. Otherwise, when you register interest, you will get an `UnsupportedOperationException`.
-
-``` pre
-<region name = "listenerWriterLoader" refid="CACHING_PROXY">
-   ... 
-```
-
-Both native clients and Java clients that have subscriptions enabled track and drop (ignore) any duplicate notifications received. To reduce resource usage, a client expires tracked sources for which new notifications have not been received for a configurable amount of time.
-
-**Notification Sequence**
-
-Notifications invoke `CacheListeners` of cacheless clients in all cases for keys that have been registered on the server. Similarly, invalidates received from the server invoke `CacheListeners` of cacheless clients.
-
-If you register to receive notifications, listener callbacks are invoked irrespective of whether the key is in the client cache when a `destroy` or `invalidate` event is received.
-
-## <a id="registering-interest-for-entries__section_8772147940754C2D9688C789EB2F2AA6" class="no-quick-link"></a>Registering Interest for Specific Keys
-
-You register and unregister interest for specific keys through the `registerKeys` and `unregisterKeys` functions. You register interest in a key or set of keys by specifying the key name using the programmatic syntax shown in the following example:
-
-``` pre
-keys0.push_back(keyPtr1);
-keys1.push_back(keyPtr3);
-regPtr0->registerKeys(keys0);
-regPtr1->registerKeys(keys1); 
-```
-
-The programmatic code snippet in the next example shows how to unregister interest in specific keys:
-
-``` pre
-regPtr0->unregisterKeys(keys0);
-regPtr1->unregisterKeys(keys1);
-```
-
-## <a id="registering-interest-for-entries__section_EA4525CCDC474DD495410E948EAF566C" class="no-quick-link"></a>Registering Interest for All Keys
-
-If the client registers interest in all keys, the server provides notifications for all updates to all keys in the region. The next example shows how to register interest in all keys:
-
-``` pre
-regPtr0->registerAllKeys();
-regPtr1->registerAllKeys();
-```
-
-The following example shows a code sample for unregistering interest in all keys.
-
-``` pre
-regPtr0->unregisterAllKeys();
-regPtr1->unregisterAllKeys();
-```
-
-## <a id="registering-interest-for-entries__section_BD50B80FCE9F429C8F6A9FEA818D5A91" class="no-quick-link"></a>Registering Interest Using Regular Expressions
-
-The `registerRegex` function registers interest in a regular expression pattern. The server automatically sends the client changes for entries whose keys match the specified pattern.
-
-*Keys must be strings in order to register interest using regular expressions.*
-
-The following example shows interest registration for all keys whose first four characters are `Key-`, followed by any string of characters. The characters `.*` represent a wildcard that matches any string.
-
-``` pre
-regPtr1->registerRegex("Key-.*");
-```
-
-To unregister interest using regular expressions, you use the `unregisterRegex` function. The next example shows how to unregister interest in all keys whose first four characters are `Key-`, followed by any string (represented by the `.*` wildcard).
-
-``` pre
-regPtr1->unregisterRegex("Key-.*");
-```
-
-## <a id="registering-interest-for-entries__section_2D71A423B185493489129AAC30DC6733" class="no-quick-link"></a>Register Interest Scenario
-
-In this register interest scenario, a cache listener is used with a cacheless region that has `subscription-enabled` set to `true`. The client region is configured with caching disabled; client notification is enabled; and a cache listener is established. The client has not registered interest in any keys.
-
-When a value changes in another client, it sends the event to the server. The server will not send the event to the cacheless client, even though `client-notification` is set to `true`.
-
-To activate the cache listener so the cacheless region receives updates, the client should explicitly register interest in some or all keys by using one of the API calls for registering interest. This way, the client receives all events for the keys to which it has registered interest. This applies to Java-based clients as well as native clients.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/requirements-for-distrib.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/requirements-for-distrib.html.md.erb b/geode-docs/nativeclient/client-cache/requirements-for-distrib.html.md.erb
deleted file mode 100644
index a69ab3b..0000000
--- a/geode-docs/nativeclient/client-cache/requirements-for-distrib.html.md.erb
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title:  Entry Distribution Requirements
----
-
-Entry data distributed among members of the distributed system must be serializable. Entry keys and values are serialized for distribution.
-
-If a native client defines a region, it must register any serializable types for all classes of objects stored in the region. This includes entries that the application gets or puts, as well as entries that are pushed to the client's cache automatically through distribution. The types must be registered before the native client connects to the distributed system.
-
-See [Serializing Data](../cpp-caching-api/serialization_overview.html#concept_2A8DC49D93394392BA34B17AA3452B14) for more information about these requirements.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/specify-region-attributes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/specify-region-attributes.html.md.erb b/geode-docs/nativeclient/client-cache/specify-region-attributes.html.md.erb
deleted file mode 100644
index 08ea595..0000000
--- a/geode-docs/nativeclient/client-cache/specify-region-attributes.html.md.erb
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title:  Specifying Region Attributes
----
-
-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 online API documentation for `RegionShortcut`, `RegionAttributes`, `AttributesFactory`, and `AttributesMutator`.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/troubleshooting.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/troubleshooting.html.md.erb b/geode-docs/nativeclient/client-cache/troubleshooting.html.md.erb
deleted file mode 100644
index 8d7dacb..0000000
--- a/geode-docs/nativeclient/client-cache/troubleshooting.html.md.erb
+++ /dev/null
@@ -1,41 +0,0 @@
----
-title:  Troubleshooting
----
-
-This section provides troubleshooting information for the native client.
-
-## <a id="troubleshooting__section_32E817A073B8408F8FEDB5599C5CCEF6" class="no-quick-link"></a>Cannot Acquire Windows Performance Data
-
-When you attempt to run performance measurements for the native client on Windows, you may encounter the following error message in the run logs:
-
-``` pre
-Can't get Windows performance data. RegQueryValueEx returned 5
-```
-
-This can occur because incorrect information is returned when a Win32 application calls the ANSI version of `RegQueryValueEx` Win32 API with `HKEY_PERFORMANCE_DATA`. This error is described in Microsoft KB article ID 226371 at [http://support.microsoft.com/kb/226371/en-us](http://support.microsoft.com/kb/226371/en-us).
-To successfully acquire Windows performance data, you need to verify that you have the proper registry key access permissions in the system registry. In particular, make sure that `Perflib` in the following registry path is readable (`KEY_READ` access) by the Geode process:
-
-``` pre
-HKEY_LOCAL_MACHINE\
-    SOFTWARE\
-    Microsoft\
-    Windows NT\
-    CurrentVersion\
-    Perflib
-```
-
-An example of reasonable security on the performance data would be to grant administrators `KEY_ALL_ACCESS` and interactive users `KEY_READ` access. This particular configuration prevents non-administrator remote users from querying performance data.
-
-See [http://support.microsoft.com/kb/310426](http://support.microsoft.com/kb/310426) and [http://support.microsoft.com/kb/146906](http://support.microsoft.com/kb/146906) for instructions about how to ensure that Geode processes have access to the registry keys associated with performance.
-
-## <a id="troubleshooting__section_65EC3B1EAC55421BB734E72E7BFEBFFC" class="no-quick-link"></a>Generating a Process Memory Dump Image for Fatal Errors
-
-You can generate a process memory dump image (core files in Unix systems and minidumps in Windows). The image is produced when a fatal error occurs that normally terminates the program.
-
-When the system property `crash-dump-enabled` is set to `true`, a dump image is generated (the default is `true`). The dump file is generated in the same location as the `log-file` directory, and has the same prefix as the log file. The name is `<prefix>-<time>.core.<pid>` in Unix, and `<prefix>-<time>-<pid>.dmp` in Windows).
-
-Unix systems generate core files automatically for such errors, but this option is useful for providing a custom location and name, as well as for systems where core dump generation is disabled. For Unix, when system core dump generation is turned on (`ulimit -c`) this property can be set to `false`.
-
-For .NET clients, when this property is set then `AccessViolation` exceptions are trapped and a crash dump is created to assist with further analysis. Applications receive a `FatalInternalException` for this case, with the `InnerException` set to the originating `AccessViolationException`.
-
-This requires the availability of `dbghelp.dll` on Windows, either in the same directory as `gfcppcache.dll` or in the system `PATH`. The file is installed by default, though for Windows 2000 a newer version may be required for minidumps. For Unix systems, the `gcore` command should be available (gdb &gt; 5.2 on Linux; available by default in Solaris).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/updating-entries.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/updating-entries.html.md.erb b/geode-docs/nativeclient/client-cache/updating-entries.html.md.erb
deleted file mode 100644
index d2f15d1..0000000
--- a/geode-docs/nativeclient/client-cache/updating-entries.html.md.erb
+++ /dev/null
@@ -1,16 +0,0 @@
----
-title:  Updating Entries
----
-
-<a id="updating-entries__section_720D480EDB8D4578BCAB5A368D6D5512"></a>
-A cached entry can be updated using these methods:
-
--   Explicitly, when a client invokes a `put` operation on an existing entry.
--   Implicitly, when a `get` is performed on an entry that has an invalid value in the cache. An entry can become invalid through an explicit API call, through an automated expiration action, or by being created with a value of null.
--   Automatically, when a new entry value is distributed from another cache.
-
-Similar to entry creation, all of these operations can be aborted by a cache writer.
-
-The `get` function returns a direct reference to the entry value object. A change made using that reference is called an in-place change because it directly modifies the contents of the value in the local cache. For details on safe cache access, see [Managing the Lifetime of a Cached Object](managing-lifetime-cached-object.html#managing-lifetime-cached-object).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/using-serverkeys-to-retrieve.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/using-serverkeys-to-retrieve.html.md.erb b/geode-docs/nativeclient/client-cache/using-serverkeys-to-retrieve.html.md.erb
deleted file mode 100644
index c4c45bf..0000000
--- a/geode-docs/nativeclient/client-cache/using-serverkeys-to-retrieve.html.md.erb
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title:  Using serverKeys to Retrieve a Set of Region Keys
----
-
-<a id="using-serverkeys-to-retrieve__section_8D2276A2D70E4F80998D26BB74F9681C"></a>
-You can retrieve the set of keys defined in the cache server process that are associated with the client region by using the `Region::serverKeys` API function. If the server region is defined as a replicate, the keys returned consist of the entire set of keys for the region.
-
-The following example shows how the client can programmatically call `serverKeys`.
-
-``` pre
-VectorOfCacheableKey keysVec;
-region->serverKeys( keysVec );
-size_t vlen = keysVec.size();
-bool foundKey1 = false;
-bool foundKey2 = false;
-for( size_t i = 0; i < vlen; i++ ) {
-    CacheableStringPtr strPtr = dynCast<CacheableStringPtr> keysVec.at( i );
-    std::string veckey = strPtr->asChar();
-    if ( veckey == "skey1" ) {
-        printf( "found skey1" );
-        foundKey1 = true;
-    }
-    if ( veckey == "skey2" ) {
-        printf( "found skey2" );
-        foundKey2 = true;
-    }
-}
-```
-
-An `UnsupportedOperationException` occurs if the client region is not a native client region. A `MessageException` occurs if the message received from the server could not be handled, which can occur if an unregistered `typeId` is received in the reply.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/using-thread-safety.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/using-thread-safety.html.md.erb b/geode-docs/nativeclient/client-cache/using-thread-safety.html.md.erb
deleted file mode 100644
index 0b763f4..0000000
--- a/geode-docs/nativeclient/client-cache/using-thread-safety.html.md.erb
+++ /dev/null
@@ -1,13 +0,0 @@
----
-title:  Using Thread Safety in Cache Management
----
-
-When you perform structural changes on your cache, such as creating or closing a `Cache`, `Pool`, or `Region`, synchronize your operations or do them in a single thread.
-
-Other non-structural operations, like region gets, puts, and queries, are thread safe, and you can perform them in a multithreaded way. There are caveats to this, for example, when two threads update the same key simultaneously, there is no way to determine which thread's operation will prevail.
-
-You may need to protect cached objects from concurrent usage and modification. The native client does not guard cached objects themselves from concurrent access.
-
-Always catch and handle exceptions that may be thrown, for problems like trying to create a `Pool` with the same name more than once.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/common/images/10-Continuous_Querying-1.gif
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/common/images/10-Continuous_Querying-1.gif b/geode-docs/nativeclient/common/images/10-Continuous_Querying-1.gif
deleted file mode 100644
index ca78bc9..0000000
Binary files a/geode-docs/nativeclient/common/images/10-Continuous_Querying-1.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/common/images/10-Continuous_Querying-3.gif
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/common/images/10-Continuous_Querying-3.gif b/geode-docs/nativeclient/common/images/10-Continuous_Querying-3.gif
deleted file mode 100644
index 716aabc..0000000
Binary files a/geode-docs/nativeclient/common/images/10-Continuous_Querying-3.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/common/images/6-DotNet_API-1.gif
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/common/images/6-DotNet_API-1.gif b/geode-docs/nativeclient/common/images/6-DotNet_API-1.gif
deleted file mode 100644
index 0ac6fa0..0000000
Binary files a/geode-docs/nativeclient/common/images/6-DotNet_API-1.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/common/images/7-Preserving_Data-2.gif
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/common/images/7-Preserving_Data-2.gif b/geode-docs/nativeclient/common/images/7-Preserving_Data-2.gif
deleted file mode 100644
index 9f4fde9..0000000
Binary files a/geode-docs/nativeclient/common/images/7-Preserving_Data-2.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/common/images/client-cache-data-flow.gif
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/common/images/client-cache-data-flow.gif b/geode-docs/nativeclient/common/images/client-cache-data-flow.gif
deleted file mode 100644
index b69ad60..0000000
Binary files a/geode-docs/nativeclient/common/images/client-cache-data-flow.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/common/images/client-cache-plugins-run.gif
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/common/images/client-cache-plugins-run.gif b/geode-docs/nativeclient/common/images/client-cache-plugins-run.gif
deleted file mode 100644
index f255b33..0000000
Binary files a/geode-docs/nativeclient/common/images/client-cache-plugins-run.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/common/images/client-server-arch.gif
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/common/images/client-server-arch.gif b/geode-docs/nativeclient/common/images/client-server-arch.gif
deleted file mode 100644
index 5a1c5c6..0000000
Binary files a/geode-docs/nativeclient/common/images/client-server-arch.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/common/images/data-dep-func-from-client.gif
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/common/images/data-dep-func-from-client.gif b/geode-docs/nativeclient/common/images/data-dep-func-from-client.gif
deleted file mode 100644
index a0c4488..0000000
Binary files a/geode-docs/nativeclient/common/images/data-dep-func-from-client.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/common/images/data-dep-func-with-filter.gif
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/common/images/data-dep-func-with-filter.gif b/geode-docs/nativeclient/common/images/data-dep-func-with-filter.gif
deleted file mode 100644
index f5bb9d9..0000000
Binary files a/geode-docs/nativeclient/common/images/data-dep-func-with-filter.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/common/images/data-indep-func-from-client.gif
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/common/images/data-indep-func-from-client.gif b/geode-docs/nativeclient/common/images/data-indep-func-from-client.gif
deleted file mode 100644
index 1ab8a96..0000000
Binary files a/geode-docs/nativeclient/common/images/data-indep-func-from-client.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/common/images/delta-propagation-in-client-server.gif
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/common/images/delta-propagation-in-client-server.gif b/geode-docs/nativeclient/common/images/delta-propagation-in-client-server.gif
deleted file mode 100644
index e662062..0000000
Binary files a/geode-docs/nativeclient/common/images/delta-propagation-in-client-server.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/common/images/delta-propagation.gif
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/common/images/delta-propagation.gif b/geode-docs/nativeclient/common/images/delta-propagation.gif
deleted file mode 100644
index aa6c27e..0000000
Binary files a/geode-docs/nativeclient/common/images/delta-propagation.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/common/images/ha-data-dep-func.gif
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/common/images/ha-data-dep-func.gif b/geode-docs/nativeclient/common/images/ha-data-dep-func.gif
deleted file mode 100644
index 519dd6b..0000000
Binary files a/geode-docs/nativeclient/common/images/ha-data-dep-func.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/common/images/native-client-overview.gif
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/common/images/native-client-overview.gif b/geode-docs/nativeclient/common/images/native-client-overview.gif
deleted file mode 100644
index a71a23a..0000000
Binary files a/geode-docs/nativeclient/common/images/native-client-overview.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/common/images/security-client-connections.gif
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/common/images/security-client-connections.gif b/geode-docs/nativeclient/common/images/security-client-connections.gif
deleted file mode 100644
index af8fd27..0000000
Binary files a/geode-docs/nativeclient/common/images/security-client-connections.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/common/images/xact-run-from-client.gif
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/common/images/xact-run-from-client.gif b/geode-docs/nativeclient/common/images/xact-run-from-client.gif
deleted file mode 100644
index 4fe2d26..0000000
Binary files a/geode-docs/nativeclient/common/images/xact-run-from-client.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/connection-pools/about-connection-pools.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/connection-pools/about-connection-pools.html.md.erb b/geode-docs/nativeclient/connection-pools/about-connection-pools.html.md.erb
deleted file mode 100644
index a8e90ac..0000000
--- a/geode-docs/nativeclient/connection-pools/about-connection-pools.html.md.erb
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title:  Connection Pools
----
-
-Clients contain connection pools. Each region is associated with a connection pool using a region attribute, and operations on the region use connections from the respective pools.
-
-The server connectivity options are specified in the connection pool configuration. Each pool has a minimum and maximum number of connections.
-
-Each cache operation that requires server connectivity obtains a connection from the pool for the server group that the operation affects, performs the operation using the connection, and returns the connection to the pool. If the pool size is less than the maximum number of connections and all connections are in use, the connection pool creates a new connection and returns it. If the pool is at the maximum number of connections, that thread blocks until a connection becomes available or a `free-connection-timeout` occurs. If a `free-connection-timeout` occurs, an `AllConnectionsInUse` exception is thrown.
-
-The connection pool has a configurable timeout period that is used to expire idle connections. The idle connections are expired until the pool has the minimum number of connections. A monitoring thread expires idle connections, adds sufficient connections to bring up the count to minimum, and closes connections whose lifetime has been exceeded. See the `load-conditioning-interval` and `idle-timeout` attributes of the [&lt;pool&gt;](../../reference/topics/client-cache.html#cc-pool) element. A separate thread (ping) tests each connected endpoint for its status and if the endpoint is not reachable, the thread closes all connections that have been made to the endpoint. See the `ping-interval` attribute of the &lt;pool&gt; element&gt;.
-
-<a id="client-load-balancing__fig_226964BAA1464DBA9F5CEDC2CB7B3585"></a>
-<span class="figtitleprefix">Figure: </span>Logical Architecture of Client/Server Connections
-
-<img src="../common/images/client-server-arch.gif" id="client-load-balancing__image_1E8316666E1B4CC2ADE4D927B629E49F" class="image" />
-
-When a connection receives an exception, the operation is failed over to another connection from the pool. The failover mechanism obtains the endpoint to failover to from the locator or from the specified endpoint list in the pool.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/connection-pools/about-server-locators.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/connection-pools/about-server-locators.html.md.erb b/geode-docs/nativeclient/connection-pools/about-server-locators.html.md.erb
deleted file mode 100644
index 69bc6c5..0000000
--- a/geode-docs/nativeclient/connection-pools/about-server-locators.html.md.erb
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title:  Server Locators
----
-
-Server locators continuously monitor server availability and server load information. The client is configured with a list of server locators and consults a server locator to request a connection to a server in the distributed system.
-
-Locators provide clients with dynamic server discovery and server load balancing. They give clients connection information for the server with the least load at any given time.
-
-Server locators provide these main features:
-
--   **Automated discovery of servers and locators**. Adding and removing servers or locators is made easy as each client does not require a list of servers to be configured at the time of pool creation.
--   **Client load rebalancing**. Server locators give clients dynamic server information and provide server load rebalancing after servers depart or join the system.
--   **High availability**. When a client/server connection receives an exception, the connection is automatically failed over to another available connection in the pool. Redundancy is also provided for client subscriptions.
-
-Alternatively, you can configure a pool statically with a list of endpoints. When the pools are statically configured, a round-robin load balancing policy is used to distribute connections across the servers.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/connection-pools/client-load-balancing.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/connection-pools/client-load-balancing.html.md.erb b/geode-docs/nativeclient/connection-pools/client-load-balancing.html.md.erb
deleted file mode 100644
index 98d56ab..0000000
--- a/geode-docs/nativeclient/connection-pools/client-load-balancing.html.md.erb
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title:  How Client Load Balancing Works
----
-
-In a distributed system, servers can be added or removed and their capacity to service new client connections may vary. The server connectivity options are specified in the connection pool configuration.
-
-The Geode connection pool API supports connecting to servers through server locators or directly connecting to servers.
-
--   **[Server Locators](../../nativeclient/connection-pools/about-server-locators.html)**
-
-    Server locators continuously monitor server availability and server load information. The client is configured with a list of server locators and consults a server locator to request a connection to a server in the distributed system.
-
--   **[Connection Pools](../../nativeclient/connection-pools/about-connection-pools.html)**
-
-    Clients contain connection pools. Each region is associated with a connection pool using a region attribute, and operations on the region use connections from the respective pools.
-
--   **[Discovering Locators Dynamically](../../nativeclient/connection-pools/discovering-locators-dynamically.html)**
-
-    A background thread periodically queries the locator for any other locators joining the distributed system.
-
-


[23/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/client_server_message_tracking.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/client_server_message_tracking.svg b/geode-docs/images_svg/client_server_message_tracking.svg
new file mode 100644
index 0000000..69b0a55
--- /dev/null
+++ b/geode-docs/images_svg/client_server_message_tracking.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="114 214 391 346" width="391pt" height="346pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-06 22:54Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(253.125 405) scale(138.49842)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" un
 derline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(217.125 324) scale(24.337471)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(253.125 513) scale(108.84048)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(244.125 324) scale(24.337471)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransfor
 m="translate(217.125 342) scale(24.337471)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(244.125 342) scale(24.337471)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient" gradientTransform="translate(217.125 360) scale(24.337471)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient" gradientTransform="translate(244.125 360) scale(24.337471)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient" gradientTransform="translate(217.125 378) scale(24.337471)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient" gradientTransform="translate(244.125 378) scale(24.337471)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient" gradientTransform="translate(217.125 396) scale(24.337471)"/><radialGradient id="Obj_Gradient_c" xl:href="#Gradient" gradientTransform="translate(244.125 396) scale(24.337471)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient" gradientTransform="translate(217.125 486) scale(24.337471)"/><radialGradient 
 id="Obj_Gradient_e" xl:href="#Gradient" gradientTransform="translate(244.125 486) scale(24.337471)"/><radialGradient id="Obj_Gradient_f" xl:href="#Gradient" gradientTransform="translate(217.125 504) scale(24.337471)"/><radialGradient id="Obj_Gradient_10" xl:href="#Gradient" gradientTransform="translate(244.125 504) scale(24.337471)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M 11.7222214 0 L 0 -4.395833 L 0 4.395833 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_11" xl:href=
 "#Gradient" gradientTransform="translate(487.125 405) scale(138.49842)"/><radialGradient id="Obj_Gradient_12" xl:href="#Gradient" gradientTransform="translate(451.125 324) scale(24.337471)"/><radialGradient id="Obj_Gradient_13" xl:href="#Gradient" gradientTransform="translate(487.125 513) scale(108.84048)"/><radialGradient id="Obj_Gradient_14" xl:href="#Gradient" gradientTransform="translate(478.125 324) scale(24.337471)"/><radialGradient id="Obj_Gradient_15" xl:href="#Gradient" gradientTransform="translate(451.125 342) scale(24.337471)"/><radialGradient id="Obj_Gradient_16" xl:href="#Gradient" gradientTransform="translate(478.125 342) scale(24.337471)"/><radialGradient id="Obj_Gradient_17" xl:href="#Gradient" gradientTransform="translate(451.125 360) scale(24.337471)"/><radialGradient id="Obj_Gradient_18" xl:href="#Gradient" gradientTransform="translate(478.125 360) scale(24.337471)"/><radialGradient id="Obj_Gradient_19" xl:href="#Gradient" gradientTransform="translate(451.125 378)
  scale(24.337471)"/><radialGradient id="Obj_Gradient_1a" xl:href="#Gradient" gradientTransform="translate(478.125 378) scale(24.337471)"/><radialGradient id="Obj_Gradient_1b" xl:href="#Gradient" gradientTransform="translate(451.125 486) scale(24.337471)"/><radialGradient id="Obj_Gradient_1c" xl:href="#Gradient" gradientTransform="translate(478.125 486) scale(24.337471)"/><radialGradient id="Obj_Gradient_1d" xl:href="#Gradient" gradientTransform="translate(451.125 504) scale(24.337471)"/><radialGradient id="Obj_Gradient_1e" xl:href="#Gradient" gradientTransform="translate(478.125 504) scale(24.337471)"/><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="non
 e" fill="none" fill-opacity="1"><title>tune-cs-messaging</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id23_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id25_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 133.785 270 L 246.465 270 C 250.14322 270 253.125 272.98178 253.125 276.66 L 253.125 398.34 C 253.125 402.01822 250.14322 405 246.465 405 L 133.785 405 C 130.10678 405 127.125 402.01822 127.125 398.34 L 127.125 276.66 C 127.125 272.98178 130.10678 270 133.785 270 Z" fill="url(#Obj_Gradient)"/><path d="M 133.785 270 L 246.465 270 C 250.14322 270 253.125 272.98178 253.125 276.66 L 253.125 398.34 C 253.125 402.01822 250.14322 405 246.465 405 L 133.785 405 C 130.10678 405 127.125 402.01822 127.125 398.34 L 127.125 276.66 C 127.125 272.98178 130.10678 270 133.785 270 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".7
 2000003"/><text transform="translate(131.125 274)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="0" y="11" textLength="35.34375">Server</tspan></text></g><rect x="190.125" y="306" width="27" height="18" fill="url(#Obj_Gradient_2)"/><rect x="190.125" y="306" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(192.125 309)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">B</tspan></text><g id="id5_Graphic"><path d="M 133.785 441 L 246.465 441 C 250.14322 441 253.125 443.98178 253.125 447.66 L 253.125 506.34 C 253.125 510.01822 250.14322 513 246.465 513 L 133.785 513 C 130.10678 513 127.125 510.01822 127.125 506.34 L 127.125 447.66 C 127.125 443.98178 130.10678 441 133.785 441 Z" fill="url(#Obj_Gradient_3)"/><path d="M 133.785 441 L 246.465 441 C 250.14322 441 253.125 44
 3.98178 253.125 447.66 L 253.125 506.34 C 253.125 510.01822 250.14322 513 246.465 513 L 133.785 513 C 130.10678 513 127.125 510.01822 127.125 506.34 L 127.125 447.66 C 127.125 443.98178 130.10678 441 133.785 441 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(131.125 445)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="0" y="11" textLength="30.679688">Client</tspan></text></g><rect x="217.125" y="306" width="27" height="18" fill="url(#Obj_Gradient_4)"/><rect x="217.125" y="306" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(219.125 309)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.719238" y="10" textLength="5.5615234">3</tspan></text><rect x="190.125" y="324" width="27" height="18" fill="url(#Obj_Gradient_5)"/><rect x="190.12
 5" y="324" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(192.125 327)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">A</tspan></text><rect x="217.125" y="324" width="27" height="18" fill="url(#Obj_Gradient_6)"/><rect x="217.125" y="324" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(219.125 327)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="6.9384766" y="10" textLength="11.123047">12</tspan></text><rect x="190.125" y="342" width="27" height="18" fill="url(#Obj_Gradient_7)"/><rect x="190.125" y="342" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(192.125 345)" fill="black"><tsp
 an font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">A</tspan></text><rect x="217.125" y="342" width="27" height="18" fill="url(#Obj_Gradient_8)"/><rect x="217.125" y="342" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(219.125 345)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.307129" y="10" textLength="5.5615234">1</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="12.131348" y="10" textLength="5.5615234">1</tspan></text><rect x="190.125" y="360" width="27" height="18" fill="url(#Obj_Gradient_9)"/><rect x="190.125" y="360" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(192.125 363)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight=
 "500" fill="black" x="9.165039" y="10" textLength="6.669922">B</tspan></text><rect x="217.125" y="360" width="27" height="18" fill="url(#Obj_Gradient_a)"/><rect x="217.125" y="360" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(219.125 363)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.719238" y="10" textLength="5.5615234">2</tspan></text><rect x="190.125" y="378" width="27" height="18" fill="url(#Obj_Gradient_b)"/><rect x="190.125" y="378" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(192.125 381)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">A</tspan></text><rect x="217.125" y="378" width="27" height="18" fill="url(#Obj_Gradient_c)"/><rect x="217.125" y="378" wid
 th="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(219.125 381)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="6.9384766" y="10" textLength="11.123047">10</tspan></text><rect x="190.125" y="468" width="27" height="18" fill="url(#Obj_Gradient_d)"/><rect x="190.125" y="468" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(192.125 471)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">A</tspan></text><rect x="217.125" y="468" width="27" height="18" fill="url(#Obj_Gradient_e)"/><rect x="217.125" y="468" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(219.125 471)" fill="black"><tspan font-family
 ="Helvetica" font-size="10" font-weight="500" fill="black" x="9.719238" y="10" textLength="5.5615234">9</tspan></text><rect x="190.125" y="486" width="27" height="18" fill="url(#Obj_Gradient_f)"/><rect x="190.125" y="486" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(192.125 489)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">B</tspan></text><rect x="217.125" y="486" width="27" height="18" fill="url(#Obj_Gradient_10)"/><rect x="217.125" y="486" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(219.125 489)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.719238" y="10" textLength="5.5615234">1</tspan></text><line x1="217.125" y1="400.5" x2="217.125" y2="453.552" marker-en
 d="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(221.125 412)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="8.357422" y="9" textLength="61.035645">send message </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="28.119629" y="20" textLength="19.010742">A-10</tspan></text><text transform="translate(175.625 388.625) rotate(-90)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="4.9121094" y="9" textLength="75.55078">subscription queue</tspan></text><text transform="translate(180.625 293.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="11.106201" y="9" textLength="53.037598">thread    op #</tspan></text><g id="id23_Graphic"><path d="M 367.785 270 L 480.465 270 C 484.14322 270 487.125 272.98178 487.125 276.66 L 487.125 398
 .34 C 487.125 402.01822 484.14322 405 480.465 405 L 367.785 405 C 364.10678 405 361.125 402.01822 361.125 398.34 L 361.125 276.66 C 361.125 272.98178 364.10678 270 367.785 270 Z" fill="url(#Obj_Gradient_11)"/><path d="M 367.785 270 L 480.465 270 C 484.14322 270 487.125 272.98178 487.125 276.66 L 487.125 398.34 C 487.125 402.01822 484.14322 405 480.465 405 L 367.785 405 C 364.10678 405 361.125 402.01822 361.125 398.34 L 361.125 276.66 C 361.125 272.98178 364.10678 270 367.785 270 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(365.125 274)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="0" y="11" textLength="35.34375">Server</tspan></text></g><rect x="424.125" y="306" width="27" height="18" fill="url(#Obj_Gradient_12)"/><rect x="424.125" y="306" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text trans
 form="translate(426.125 309)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">B</tspan></text><g id="id25_Graphic"><path d="M 367.785 441 L 480.465 441 C 484.14322 441 487.125 443.98178 487.125 447.66 L 487.125 506.34 C 487.125 510.01822 484.14322 513 480.465 513 L 367.785 513 C 364.10678 513 361.125 510.01822 361.125 506.34 L 361.125 447.66 C 361.125 443.98178 364.10678 441 367.785 441 Z" fill="url(#Obj_Gradient_13)"/><path d="M 367.785 441 L 480.465 441 C 484.14322 441 487.125 443.98178 487.125 447.66 L 487.125 506.34 C 487.125 510.01822 484.14322 513 480.465 513 L 367.785 513 C 364.10678 513 361.125 510.01822 361.125 506.34 L 361.125 447.66 C 361.125 443.98178 364.10678 441 367.785 441 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(365.125 445)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill
 ="black" x="0" y="11" textLength="30.679688">Client</tspan></text></g><rect x="451.125" y="306" width="27" height="18" fill="url(#Obj_Gradient_14)"/><rect x="451.125" y="306" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(453.125 309)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.719238" y="10" textLength="5.5615234">3</tspan></text><rect x="424.125" y="324" width="27" height="18" fill="url(#Obj_Gradient_15)"/><rect x="424.125" y="324" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(426.125 327)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">A</tspan></text><rect x="451.125" y="324" width="27" height="18" fill="url(#Obj_Gradient_16)"/><rect x="451.125" y="324" width="
 27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(453.125 327)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="6.9384766" y="10" textLength="11.123047">12</tspan></text><rect x="424.125" y="342" width="27" height="18" fill="url(#Obj_Gradient_17)"/><rect x="424.125" y="342" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(426.125 345)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">A</tspan></text><rect x="451.125" y="342" width="27" height="18" fill="url(#Obj_Gradient_18)"/><rect x="451.125" y="342" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(453.125 345)" fill="black"><tspan font-family="
 Helvetica" font-size="10" font-weight="500" fill="black" x="7.307129" y="10" textLength="5.5615234">1</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="12.131348" y="10" textLength="5.5615234">1</tspan></text><rect x="424.125" y="360" width="27" height="18" fill="url(#Obj_Gradient_19)"/><rect x="424.125" y="360" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(426.125 363)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">B</tspan></text><rect x="451.125" y="360" width="27" height="18" fill="url(#Obj_Gradient_1a)"/><rect x="451.125" y="360" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(453.125 363)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="bl
 ack" x="9.719238" y="10" textLength="5.5615234">2</tspan></text><rect x="424.125" y="468" width="27" height="18" fill="url(#Obj_Gradient_1b)"/><rect x="424.125" y="468" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(426.125 471)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">A</tspan></text><rect x="451.125" y="468" width="27" height="18" fill="url(#Obj_Gradient_1c)"/><rect x="451.125" y="468" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(453.125 471)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="6.9384766" y="10" textLength="11.123047">10</tspan></text><rect x="424.125" y="486" width="27" height="18" fill="url(#Obj_Gradient_1d)"/><rect x="424.125" y="486" width="27" 
 height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(426.125 489)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">B</tspan></text><rect x="451.125" y="486" width="27" height="18" fill="url(#Obj_Gradient_1e)"/><rect x="451.125" y="486" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(453.125 489)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.719238" y="10" textLength="5.5615234">1</tspan></text><line x1="451.125" y1="387" x2="451.125" y2="453.552" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(409.625 386.2305) rotate(-90)" fill="black"><tspan font-family="Helvetica" font-size="9" 
 font-weight="500" fill="black" x="3.2246094" y="9" textLength="75.55078">subscription queue</tspan></text><text transform="translate(414.625 293.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="11.106201" y="9" textLength="53.037598">thread    op #</tspan></text><line x1="307.125" y1="225" x2="307.125" y2="549" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(152.5 531.5)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="13.494141" y="14" textLength="48.26172">Stage 1</tspan></text><text transform="translate(387.625 531.5)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="13.494141" y="14" textLength="48.26172">Stage 2</tspan></text></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/cluster-group-config.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/cluster-group-config.svg b/geode-docs/images_svg/cluster-group-config.svg
new file mode 100644
index 0000000..7977987
--- /dev/null
+++ b/geode-docs/images_svg/cluster-group-config.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="86 108 489 320" width="489pt" height="320pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 08:52Z</dc:date></metadata><defs><font-face font-family="Helvetica" font-size="13" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="13" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="532.22656" cap-height="719.72656" ascent="770.01953" descent="-229.98047" font-weight="bold"><font-face-src><font-face-name name="Helvetica-Bold"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="12" units-per
 -em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>12 Columns</title><g><title>Layer 1</title><rect x="101" y="121" width="129" height="290" fill="white"/><rect x="101" y="121" width="129" height="290" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(106 121)" fill="black"><tspan font-family="Helvet
 ica" font-size="13" font-weight="500" x="38.911377" y="13" textLength="41.177246">Cluster</tspan><tspan font-family="Helvetica" font-size="13" font-weight="500" x="20.836426" y="29" textLength="30.348145">Confi</tspan><tspan font-family="Helvetica" font-size="13" font-weight="500" x="51.18457" y="29" textLength="46.979004">guration</tspan><tspan font-family="Helvetica" font-size="13" font-weight="500" x="9.286865" y="45" textLength="18.782715">for </tspan><tspan font-family="Helvetica" font-size="13" font-weight="bold" x="28.06958" y="45" textLength="35.400879">entire</tspan><tspan font-family="Helvetica" font-size="13" font-weight="500" x="63.47046" y="45" textLength="3.6118164"> </tspan><tspan font-family="Helvetica" font-size="13" font-weight="bold" x="67.082275" y="45" textLength="42.63086">cluster</tspan></text><path d="M 108.5 187 L 222.5 187 L 222.5 230.2 C 188.3 224.8 142.7 246.4 108.5 235.6 Z" fill="white"/><path d="M 108.5 187 L 222.5 187 L 222.5 230.2 C 188.3 224.8 142.7 
 246.4 108.5 235.6 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(113.5 204.3)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="23.330078" y="11" textLength="57.339844">cluster.xml</tspan></text><path d="M 108.5 254 L 222.5 254 L 222.5 297.2 C 188.3 291.8 142.7 313.4 108.5 302.6 Z" fill="white"/><path d="M 108.5 254 L 222.5 254 L 222.5 297.2 C 188.3 291.8 142.7 313.4 108.5 302.6 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(113.5 271.3)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="5.9804688" y="11" textLength="92.03906">cluster.properties</tspan></text><circle cx="165.5" cy="335.5" r="14.500023" fill="white"/><circle cx="165.5" cy="335.5" r="14.500023" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(158.9 329.5)" fill="black"><tspan f
 ont-family="Helvetica" font-size="10" font-weight="500" x="1.0433594" y="10" textLength="11.113281">jar</tspan></text><circle cx="165.5" cy="384.5" r="14.500023" fill="white"/><circle cx="165.5" cy="384.5" r="14.500023" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(158.9 378.5)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" x="1.0433594" y="10" textLength="11.113281">jar</tspan></text><rect x="266" y="121" width="129" height="290" fill="white"/><rect x="266" y="121" width="129" height="290" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(271 121)" fill="black"><tspan font-family="Helvetica" font-size="13" font-weight="500" x="38.911377" y="13" textLength="41.177246">Cluster</tspan><tspan font-family="Helvetica" font-size="13" font-weight="500" x="19.030518" y="29" textLength="33.95996"> Confi</tspan><tspan font-family="Helvetica" font
 -size="13" font-weight="500" x="52.99048" y="29" textLength="46.979004">guration</tspan><tspan font-family="Helvetica" font-size="13" font-weight="500" x="28.082275" y="45" textLength="18.782715">for </tspan><tspan font-family="Helvetica" font-size="13" font-weight="bold" x="46.86499" y="45" textLength="44.052734">group1</tspan></text><path d="M 273.5 187 L 387.5 187 L 387.5 230.2 C 353.3 224.8 307.7 246.4 273.5 235.6 Z" fill="white"/><path d="M 273.5 187 L 387.5 187 L 387.5 230.2 C 353.3 224.8 307.7 246.4 273.5 235.6 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(278.5 204.3)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="22.319336" y="11" textLength="59.361328">group1.xml</tspan></text><path d="M 273.5 254 L 387.5 254 L 387.5 297.2 C 353.3 291.8 307.7 313.4 273.5 302.6 Z" fill="white"/><path d="M 273.5 254 L 387.5 254 L 387.5 297.2 C 353.3 291.8 307.7 313.4 273.5 302.6 Z" stroke="black
 " stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(278.5 271.3)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="4.9697266" y="11" textLength="94.060547">group1.properties</tspan></text><circle cx="330.5" cy="335.5" r="14.500023" fill="white"/><circle cx="330.5" cy="335.5" r="14.500023" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(323.9 329.5)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" x="1.0433594" y="10" textLength="11.113281">jar</tspan></text><circle cx="330.5" cy="384.5" r="14.500023" fill="white"/><circle cx="330.5" cy="384.5" r="14.500023" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(323.9 378.5)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" x="1.0433594" y="10" textLength="11.113281">jar</tspan></text><rect x="431
 " y="121" width="129" height="290" fill="white"/><rect x="431" y="121" width="129" height="290" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(436 121)" fill="black"><tspan font-family="Helvetica" font-size="13" font-weight="500" x="38.911377" y="13" textLength="41.177246">Cluster</tspan><tspan font-family="Helvetica" font-size="13" font-weight="500" x="19.030518" y="29" textLength="33.95996"> Confi</tspan><tspan font-family="Helvetica" font-size="13" font-weight="500" x="52.99048" y="29" textLength="46.979004">guration</tspan><tspan font-family="Helvetica" font-size="13" font-weight="500" x="28.082275" y="45" textLength="18.782715">for </tspan><tspan font-family="Helvetica" font-size="13" font-weight="bold" x="46.86499" y="45" textLength="44.052734">group2</tspan></text><path d="M 445.5 187 L 545.5 187 L 545.5 230.2 C 515.5 224.8 475.5 246.4 445.5 235.6 Z" fill="white"/><path d="M 445.5 187 L 545.5 187 L 545.5 230.2 C 515.
 5 224.8 475.5 246.4 445.5 235.6 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(450.5 204.3)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="15.319336" y="11" textLength="59.361328">group2.xml</tspan></text><path d="M 438.5 254 L 552.5 254 L 552.5 297.2 C 518.3 291.8 472.7 313.4 438.5 302.6 Z" fill="white"/><path d="M 438.5 254 L 552.5 254 L 552.5 297.2 C 518.3 291.8 472.7 313.4 438.5 302.6 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(443.5 271.3)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="4.9697266" y="11" textLength="94.060547">group2.properties</tspan></text><circle cx="495.5" cy="335.5" r="14.500023" fill="white"/><circle cx="495.5" cy="335.5" r="14.500023" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(488.9 329.5)" fill="bl
 ack"><tspan font-family="Helvetica" font-size="10" font-weight="500" x="1.0433594" y="10" textLength="11.113281">jar</tspan></text><circle cx="495.5" cy="384.5" r="14.500023" fill="white"/><circle cx="495.5" cy="384.5" r="14.500023" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(488.9 378.5)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" x="1.0433594" y="10" textLength="11.113281">jar</tspan></text></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/cluster_config_overview.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/cluster_config_overview.svg b/geode-docs/images_svg/cluster_config_overview.svg
new file mode 100644
index 0000000..93470e6
--- /dev/null
+++ b/geode-docs/images_svg/cluster_config_overview.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="23 15 430 469" width="430pt" height="469pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-03-24 21:39Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="0" dy="2"/><feFlood flood-color="black" flood-opacity=".5" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black"><g><path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="white"/><stop offset="1" stop-color="#117
 b8d"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(313 336) scale(58.463664)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(279 449) scale(36.71512)"/><linearGradient x1="0" x2="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#666"/><stop offset=".1825397" stop-color="#535353"/><stop offset="1" stop-color="black"/></linearGradient><linearGradient id="Obj_Gradient_3" xl:href="#Gradient_2" gradientTransform="translate(229.36357 19.864) rotate(70) scale(38.807265)"/><font-face font-family="Helvetica Neue" font-size="14" panose-1="2 0 8 3 0 0 0 9
  0 4" units-per-em="1000" underline-position="-100" underline-thickness="50" slope="0" x-height="517" cap-height="714" ascent="975.0061" descent="-216.99524" font-weight="bold"><font-face-src><font-face-name name="HelveticaNeue-Bold"/></font-face-src></font-face><font-face font-family="Helvetica Neue" font-size="10" panose-1="2 0 5 3 0 0 0 2 0 4" units-per-em="1000" underline-position="-100" underline-thickness="50" slope="0" x-height="517" cap-height="714" ascent="951.99585" descent="-212.99744" font-weight="500"><font-face-src><font-face-name name="HelveticaNeue"/></font-face-src></font-face><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(179 449) scale(36.71512)"/><font-face font-family="Courier New" font-size="9" panose-1="2 7 3 9 2 2 5 2 4 4" units-per-em="1000" underline-position="-232.91016" underline-thickness="41.015625" slope="0" x-height="422.85156" cap-height="571.28906" ascent="832.51953" descent="-300.29297" font-weight="500"><font-
 face-src><font-face-name name="CourierNewPSMT"/></font-face-src></font-face><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(379 449) scale(36.71512)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(116 336) scale(36.71512)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>12 Columns</title><g><title>Layer 1</title><g><xl:use xl:href="#id19_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id57_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id36754_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id36791_Graphic" filter="url(#Shadow)"/></g><line x1="236.8125" y1="51.953125" x2="141.19807" y2="118.353025" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="313" y1="349" x2="372.7926" y2="423.28778" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" strok
 e-linejoin="round" stroke-width="1"/><line x1="313" y1="349" x2="187.44437" y2="425.83255" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><g id="id19_Graphic"><rect x="256" y="323" width="114" height="26" fill="url(#Obj_Gradient)"/><rect x="256" y="323" width="114" height="26" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(261 330)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" x="29.492676" y="10" textLength="45.014648">Locator(s)</tspan></text></g><g id="id57_Graphic"><rect x="247" y="431" width="64" height="36" fill="url(#Obj_Gradient_2)"/><rect x="247" y="431" width="64" height="36" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(252 443)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" x="10.327637" y="10" textLength="33.344727">ser
 ver3</tspan></text></g><path d="M 218 52.194815 C 218 52.194815 218.69217 48.537176 219.38348 47.772558 C 220.07533 47.007602 227.68314 43.968615 229.06626 43.968615 C 230.44934 43.968615 231.487 42.931212 231.83239 42.239535 C 232.17849 41.547885 230.79548 38.781453 231.14094 38.435608 C 231.487 38.08982 230.79548 38.781453 230.44934 38.781453 C 230.10374 38.781453 229.75796 38.435608 229.75796 38.08982 C 229.75796 37.743976 229.41171 35.669153 229.41171 35.669153 L 229.06626 34.778995 C 229.06626 34.778995 229.41171 33.94014 229.75796 33.94014 C 230.10374 33.94014 229.75796 31.865193 229.75796 31.865193 C 229.75796 31.865193 229.06608 27.715524 230.79548 27.023706 C 231.14086 25.986415 231.83311 25.839069 232.52461 25.294738 C 232.52461 24.750351 238.40315 22.675573 241.51563 25.294738 C 242.55312 25.787923 243.24464 26.82527 243.59071 27.516863 C 243.93634 28.208512 244.97354 30.481923 244.62783 31.519354 C 244.28223 32.556814 244.62783 32.211003 244.62783 32.211003 L 244.28223 3
 3.248491 L 243.59071 34.977543 C 243.59071 34.977543 243.59071 37.398174 243.24439 39.473093 C 242.89864 41.547885 241.86138 43.276966 241.86138 43.276966 C 241.86138 43.276966 243.24439 44.314397 243.59071 44.314397 C 243.93616 44.314397 250.85266 45.970256 251.5443 46.661792 C 252.23539 47.353948 254.00029 52.19504 254 52.1949 Z" fill="url(#Obj_Gradient_3)"/><line x1="338.5" y1="219" x2="315.35757" y2="313.38481" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="254" y="240" width="140" height="51" fill="white"/><text transform="translate(259 245)" fill="black"><tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="0" y="14" textLength="15.568">4. </tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="15.568" y="14" textLength="104.28">New members request </tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="0" y="27" textLength="38.71">
 the confi</tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="38.71" y="27" textLength="70.94">guration from a </tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="0" y="39" textLength="33.7">locator.</tspan></text><line x1="313" y1="349" x2="282.79185" y2="421.85495" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="173.5" y="361" width="203.5" height="51" fill="white"/><text transform="translate(178.5 366)" fill="black"><tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="0" y="14" textLength="11.676">5.</tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="11.676" y="14" textLength="128.17"> Locator distributes the confi</tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="139.846" y="14" textLength="39.45">guration </tspan><tspan font-family="Helvetica Neue" font-size="10" font-we
 ight="500" x="0" y="27" textLength="49.08">(including r</tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="48.9" y="27" textLength="74.64">egions, disk-stor</tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="123.36" y="27" textLength="34.81">es, jar fi</tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="158.17" y="27" textLength="29.63">les) to </tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="0" y="39" textLength="135.37">new servers joining the cluster</tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="134.45" y="39" textLength="2.78">.</tspan></text><g id="id36754_Graphic"><rect x="147" y="431" width="64" height="36" fill="url(#Obj_Gradient_4)"/><rect x="147" y="431" width="64" height="36" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(152 443)" fill="black"><tspan font-family="Helv
 etica" font-size="10" font-weight="500" x="10.327637" y="10" textLength="33.344727">server2</tspan></text></g><path d="M 66.56655 124 L 199.56655 124 C 215.29855 124 228.06655 145.28 228.06655 171.5 C 228.06655 197.72 215.29855 219 199.56655 219 L 66.56655 219 C 50.834548 219 38.066548 197.72 38.066548 171.5 C 38.066548 145.28 50.834548 124 66.56655 124" fill="#d7d7d7"/><path d="M 66.56655 124 L 199.56655 124 C 215.29855 124 228.06655 145.28 228.06655 171.5 C 228.06655 197.72 215.29855 219 199.56655 219 L 66.56655 219 C 50.834548 219 38.066548 197.72 38.066548 171.5 C 38.066548 145.28 50.834548 124 66.56655 124" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(62.06655 124)" fill="black"><tspan font-family="Courier New" font-size="9" font-weight="500" x="0" y="17" textLength="70.211426">start locator</tspan><tspan font-family="Courier New" font-size="9" font-weight="500" x="0" y="27" textLength="70.211426">start server1</tspa
 n><tspan font-family="Courier New" font-size="9" font-weight="500" x="0" y="37" textLength="91.81494">create disk-store</tspan><tspan font-family="Courier New" font-size="9" font-weight="500" x="0" y="47" textLength="64.810547">create index</tspan><tspan font-family="Courier New" font-size="9" font-weight="500" x="0" y="57" textLength="70.211426">create region</tspan><tspan font-family="Courier New" font-size="9" font-weight="500" x="0" y="67" textLength="32.405273">deploy</tspan><tspan font-family="Courier New" font-size="9" font-weight="500" x="0" y="77" textLength="16.202637">...</tspan></text><rect x="66.133097" y="57" width="133.8669" height="51" fill="white"/><text transform="translate(71.133097 62)" fill="black"><tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="0" y="14" textLength="11.676">1.</tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="11.676" y="14" textLength="114.27"> Developer/Administrator </tspan><tspan font-fam
 ily="Helvetica Neue" font-size="10" font-weight="500" x="0" y="27" textLength="118">executes gfsh commands </tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="0" y="39" textLength="33.52">to confi</tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="33.52" y="39" textLength="14.63">gur</tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="47.97" y="39" textLength="55.01">e the cluster</tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="102.06" y="39" textLength="2.78">.</tspan></text><line x1="236.8125" y1="51.953125" x2="330.42204" y2="118.276664" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><path d="M 269.2 124 L 407.8 124 C 424.1944 124 437.5 145.28 437.5 171.5 C 437.5 197.72 424.1944 219 407.8 219 L 269.2 219 C 252.8056 219 239.5 197.72 239.5 171.5 C 239.5 145.28 252.8056 124 269.2 124" fill="#d7d7d7"/>
 <path d="M 269.2 124 L 407.8 124 C 424.1944 124 437.5 145.28 437.5 171.5 C 437.5 197.72 424.1944 219 407.8 219 L 269.2 219 C 252.8056 219 239.5 197.72 239.5 171.5 C 239.5 145.28 252.8056 124 269.2 124" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(264.3 124)" fill="black"><tspan font-family="Courier New" font-size="9" font-weight="500" x="0" y="41" textLength="145.82373">start server --name=server2</tspan><tspan font-family="Courier New" font-size="9" font-weight="500" x="0" y="51" textLength="145.82373">start server --name=server3</tspan><tspan font-family="Courier New" font-size="9" font-weight="500" x="0" y="61" textLength="145.82373">start server --name=server4</tspan></text><rect x="260" y="57" width="157" height="51" fill="white"/><text transform="translate(265 62)" fill="black"><tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="0" y="14" textLength="11.676">3.</tspan><tspan font-family="Helveti
 ca Neue" font-size="10" font-weight="500" x="11.676" y="14" textLength="114.27"> Developer/Administrator </tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="0" y="27" textLength="129.67">executes gfsh commands to </tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="0" y="39" textLength="144.67">add new members to the cluster</tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="143.75" y="39" textLength="2.78">.</tspan></text><g id="id36791_Graphic"><rect x="347" y="431" width="64" height="36" fill="url(#Obj_Gradient_5)"/><rect x="347" y="431" width="64" height="36" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(352 443)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" x="10.327637" y="10" textLength="33.344727">server4</tspan></text></g></g><g><title>Layer 2</title><g><xl:use xl:href="#id36801_Graphic" filter="url(#
 Shadow)"/></g><g id="id36801_Graphic"><rect x="84" y="318" width="64" height="36" fill="url(#Obj_Gradient_6)"/><rect x="84" y="318" width="64" height="36" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(89 330)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" x="10.327637" y="10" textLength="33.344727">server1</tspan></text></g><line x1="148" y1="224" x2="272.95753" y2="317.08575" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="64.55762" y="226.36505" width="140" height="75" fill="white"/><text transform="translate(69.55762 231.36505)" fill="black"><tspan font-family="Helvetica Neue" font-size="14" font-weight="bold" x="0" y="14" textLength="11.676">2.</tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="11.676" y="14" textLength="102.98"> gfsh saves the cluster </tspan><tspan font-family="Hel
 vetica Neue" font-size="10" font-weight="500" x="0" y="27" textLength="21.85">confi</tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="21.85" y="27" textLength="70.39">guration on the </tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="0" y="39" textLength="124.98">locator(s). Existing server(s) </tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="0" y="51" textLength="81.49">using cluster confi</tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="81.49" y="51" textLength="39.45">guration </tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="0" y="63" textLength="43.14">service ar</tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="42.96" y="63" textLength="30">e confi</tspan><tspan font-family="Helvetica Neue" font-size="10" font-weight="500" x="72.96" y="63" textLength="14.63">gur</tspan><tspan font-family="Helvetica Neue
 " font-size="10" font-weight="500" x="87.41" y="63" textLength="14.08">ed.</tspan></text><line x1="256" y1="336" x2="157.9" y2="336" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/colocated_partitioned_regions.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/colocated_partitioned_regions.svg b/geode-docs/images_svg/colocated_partitioned_regions.svg
new file mode 100644
index 0000000..1cb609e
--- /dev/null
+++ b/geode-docs/images_svg/colocated_partitioned_regions.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="90 285 383 221" width="383pt" height="221pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 10:09Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><filter id="Shadow_2" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="white" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset
 ="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(248.20611 488.66196) scale(179.5123)"/><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="white" stop-opacity=".65"/><stop offset="1" stop-color="white" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(230.20611 400.5) scale(95.73869)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683
 594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_3" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e2edf3" stop-opacity=".65"/><stop offset="1" stop-color="#e2edf3" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_3" gradientTransform="translate(156.52142 356.6854) rotate(-90) scale(25.654718)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_3" gradientTransform="translate(186.75579 356.6854) rotate(-90) scale(25.654718)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient_3" gradientTransform="translate(216.99017 356.6854) rotate(-90) scale(25.654718)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(455.80236 488.66196) scale(179.5123)"/><radialGradient i
 d="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(438.99486 400.5) scale(95.73869)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_3" gradientTransform="translate(365.31017 356.6854) rotate(-90) scale(25.654718)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient_3" gradientTransform="translate(395.54454 356.6854) rotate(-90) scale(25.654718)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_3" gradientTransform="translate(425.77892 356.6854) rotate(-90) scale(25.654718)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_4" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#a8c6d9" stop-opacity=".65"/><stop offset="1" stop-color="white" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_b" xl:href="#Gradient_4" gradientTransform="translate(225 380.57304) scale(70.113256)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0"
  x-height="532.22656" cap-height="719.72656" ascent="770.01953" descent="-229.98047" font-weight="bold"><font-face-src><font-face-name name="Helvetica-Bold"/></font-face-src></font-face><radialGradient id="Obj_Gradient_c" xl:href="#Gradient_4" gradientTransform="translate(432 380.57304) scale(70.113256)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient_2" gradientTransform="translate(229.20187 480.12054) scale(95.73869)"/><radialGradient id="Obj_Gradient_e" xl:href="#Gradient_3" gradientTransform="translate(155.51719 436.30594) rotate(-90) scale(25.654718)"/><radialGradient id="Obj_Gradient_f" xl:href="#Gradient_3" gradientTransform="translate(185.75156 436.30594) rotate(-90) scale(25.654718)"/><radialGradient id="Obj_Gradient_10" xl:href="#Gradient_3" gradientTransform="translate(215.98594 436.30594) rotate(-90) scale(25.654718)"/><radialGradient id="Obj_Gradient_11" xl:href="#Gradient_2" gradientTransform="translate(437.99063 480.12054) scale(95.73869)"/><radialGradient id=
 "Obj_Gradient_12" xl:href="#Gradient_3" gradientTransform="translate(364.30594 436.30594) rotate(-90) scale(25.654718)"/><radialGradient id="Obj_Gradient_13" xl:href="#Gradient_3" gradientTransform="translate(394.5403 436.30594) rotate(-90) scale(25.654718)"/><radialGradient id="Obj_Gradient_14" xl:href="#Gradient_3" gradientTransform="translate(424.7747 436.30594) rotate(-90) scale(25.654718)"/><radialGradient id="Obj_Gradient_15" xl:href="#Gradient_4" gradientTransform="translate(223.99577 460.1936) scale(70.113256)"/><radialGradient id="Obj_Gradient_16" xl:href="#Gradient_4" gradientTransform="translate(430.99577 460.1936) scale(70.113256)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>region_data_colocation</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow_2)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#i
 d6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow_2)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id13_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id15_Graphic" filter="url(#Shadow_2)"/><xl:use xl:href="#id16_Graphic" filter="url(#Shadow_2)"/><xl:use xl:href="#id17_Graphic" filter="url(#Shadow_2)"/><xl:use xl:href="#id18_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id19_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id20_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id22_Graphic" filter="url(#Shadow_2)"/><xl:use xl:href="#id23_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id24_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id25_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id27_Graphic" filter="url(#Shadow_2)"/><xl:use xl:href="
 #id28_Graphic" filter="url(#Shadow_2)"/></g><g id="id3_Graphic"><path d="M 109.67361 298.37946 L 241.54611 298.37946 C 245.22433 298.37946 248.20611 301.36124 248.20611 305.03946 L 248.20611 482.00196 C 248.20611 485.68018 245.22433 488.66196 241.54611 488.66196 L 109.67361 488.66196 C 105.995393 488.66196 103.01361 485.68018 103.01361 482.00196 L 103.01361 305.03946 C 103.01361 301.36124 105.995393 298.37946 109.67361 298.37946 Z" fill="url(#Obj_Gradient)"/><path d="M 109.67361 298.37946 L 241.54611 298.37946 C 245.22433 298.37946 248.20611 301.36124 248.20611 305.03946 L 248.20611 482.00196 C 248.20611 485.68018 245.22433 488.66196 241.54611 488.66196 L 109.67361 488.66196 C 105.995393 488.66196 103.01361 485.68018 103.01361 482.00196 L 103.01361 305.03946 C 103.01361 301.36124 105.995393 298.37946 109.67361 298.37946 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(107.01361 302.37946)" fill="black"><tspan fon
 t-family="Helvetica" font-size="14" font-weight="500" fill="black" x="53.185664" y="14" textLength="84.006836">Member (M1)</tspan></text></g><g id="id4_Graphic"><path d="M 127.67361 334.37946 L 223.54611 334.37946 C 227.22433 334.37946 230.20611 337.36124 230.20611 341.03946 L 230.20611 393.84 C 230.20611 397.51822 227.22433 400.5 223.54611 400.5 L 127.67361 400.5 C 123.99539 400.5 121.01361 397.51822 121.01361 393.84 L 121.01361 341.03946 C 121.01361 337.36124 123.99539 334.37946 127.67361 334.37946 Z" fill="url(#Obj_Gradient_2)"/><path d="M 127.67361 334.37946 L 223.54611 334.37946 C 227.22433 334.37946 230.20611 337.36124 230.20611 341.03946 L 230.20611 393.84 C 230.20611 397.51822 227.22433 400.5 223.54611 400.5 L 127.67361 400.5 C 123.99539 400.5 121.01361 397.51822 121.01361 393.84 L 121.01361 341.03946 C 121.01361 337.36124 123.99539 334.37946 127.67361 334.37946 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="tran
 slate(123.01361 336.37946)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="13.5693945" y="10" textLength="73.930664">Partition Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="86.953184" y="10" textLength="6.669922">A</tspan></text></g><g id="id5_Graphic"><path d="M 132.33392 374.2129 L 132.33392 363.3454 C 132.33392 359.66717 135.3157 356.6854 138.99392 356.6854 C 138.99392 356.6854 138.99392 356.6854 138.99392 356.6854 L 149.86142 356.6854 C 153.53964 356.6854 156.52142 359.66717 156.52142 363.3454 L 156.52142 374.2129 C 156.52142 377.8911 153.53964 380.8729 149.86142 380.8729 C 149.86142 380.8729 149.86142 380.8729 149.86142 380.8729 L 138.99392 380.8729 C 135.3157 380.8729 132.33392 377.8911 132.33392 374.2129 Z" fill="url(#Obj_Gradient_3)"/><path d="M 132.33392 374.2129 L 132.33392 363.3454 C 132.33392 359.66717 135.3157 356.6854 138.99392 356.6854 C 138.99392 356.6854 138.99392 356.6854
  138.99392 356.6854 L 149.86142 356.6854 C 153.53964 356.6854 156.52142 359.66717 156.52142 363.3454 L 156.52142 374.2129 C 156.52142 377.8911 153.53964 380.8729 149.86142 380.8729 C 149.86142 380.8729 149.86142 380.8729 149.86142 380.8729 L 138.99392 380.8729 C 135.3157 380.8729 132.33392 377.8911 132.33392 374.2129 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/></g><g id="id6_Graphic"><path d="M 162.56829 374.2129 L 162.56829 363.3454 C 162.56829 359.66717 165.55007 356.6854 169.22829 356.6854 C 169.22829 356.6854 169.22829 356.6854 169.22829 356.6854 L 180.09579 356.6854 C 183.77401 356.6854 186.75579 359.66717 186.75579 363.3454 L 186.75579 374.2129 C 186.75579 377.8911 183.77401 380.8729 180.09579 380.8729 C 180.09579 380.8729 180.09579 380.8729 180.09579 380.8729 L 169.22829 380.8729 C 165.55007 380.8729 162.56829 377.8911 162.56829 374.2129 Z" fill="url(#Obj_Gradient_4)"/><path d="M 162.56829 374.2129 L 162.
 56829 363.3454 C 162.56829 359.66717 165.55007 356.6854 169.22829 356.6854 C 169.22829 356.6854 169.22829 356.6854 169.22829 356.6854 L 180.09579 356.6854 C 183.77401 356.6854 186.75579 359.66717 186.75579 363.3454 L 186.75579 374.2129 C 186.75579 377.8911 183.77401 380.8729 180.09579 380.8729 C 180.09579 380.8729 180.09579 380.8729 180.09579 380.8729 L 169.22829 380.8729 C 165.55007 380.8729 162.56829 377.8911 162.56829 374.2129 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/></g><g id="id7_Graphic"><path d="M 192.80267 374.2129 L 192.80267 363.3454 C 192.80267 359.66717 195.78445 356.6854 199.46267 356.6854 C 199.46267 356.6854 199.46267 356.6854 199.46267 356.6854 L 210.33017 356.6854 C 214.00839 356.6854 216.99017 359.66717 216.99017 363.3454 L 216.99017 374.2129 C 216.99017 377.8911 214.00839 380.8729 210.33017 380.8729 C 210.33017 380.8729 210.33017 380.8729 210.33017 380.8729 L 199.46267 380.8729 C 195.78445 
 380.8729 192.80267 377.8911 192.80267 374.2129 Z" fill="url(#Obj_Gradient_5)"/><path d="M 192.80267 374.2129 L 192.80267 363.3454 C 192.80267 359.66717 195.78445 356.6854 199.46267 356.6854 C 199.46267 356.6854 199.46267 356.6854 199.46267 356.6854 L 210.33017 356.6854 C 214.00839 356.6854 216.99017 359.66717 216.99017 363.3454 L 216.99017 374.2129 C 216.99017 377.8911 214.00839 380.8729 210.33017 380.8729 C 210.33017 380.8729 210.33017 380.8729 210.33017 380.8729 L 199.46267 380.8729 C 195.78445 380.8729 192.80267 377.8911 192.80267 374.2129 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/></g><rect x="126.70611" y="353.66195" width="99" height="30.234384" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id9_Graphic"><path d="M 317.26986 298.37946 L 449.14236 298.37946 C 452.82058 298.37946 455.80236 301.36124 455.80236 305.03946 L 455.80236 482.00196 C 455.80236 485.6
 8018 452.82058 488.66196 449.14236 488.66196 L 317.26986 488.66196 C 313.59164 488.66196 310.60986 485.68018 310.60986 482.00196 L 310.60986 305.03946 C 310.60986 301.36124 313.59164 298.37946 317.26986 298.37946 Z" fill="url(#Obj_Gradient_6)"/><path d="M 317.26986 298.37946 L 449.14236 298.37946 C 452.82058 298.37946 455.80236 301.36124 455.80236 305.03946 L 455.80236 482.00196 C 455.80236 485.68018 452.82058 488.66196 449.14236 488.66196 L 317.26986 488.66196 C 313.59164 488.66196 310.60986 485.68018 310.60986 482.00196 L 310.60986 305.03946 C 310.60986 301.36124 313.59164 298.37946 317.26986 298.37946 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(314.60986 302.37946)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="53.185664" y="14" textLength="84.006836">Member (M2)</tspan></text></g><g id="id10_Graphic"><path d="M 336.46236 334.37946 L 432.33486 334.37946 C 436
 .01308 334.37946 438.99486 337.36124 438.99486 341.03946 L 438.99486 393.84 C 438.99486 397.51822 436.01308 400.5 432.33486 400.5 L 336.46236 400.5 C 332.78414 400.5 329.80236 397.51822 329.80236 393.84 L 329.80236 341.03946 C 329.80236 337.36124 332.78414 334.37946 336.46236 334.37946 Z" fill="url(#Obj_Gradient_7)"/><path d="M 336.46236 334.37946 L 432.33486 334.37946 C 436.01308 334.37946 438.99486 337.36124 438.99486 341.03946 L 438.99486 393.84 C 438.99486 397.51822 436.01308 400.5 432.33486 400.5 L 336.46236 400.5 C 332.78414 400.5 329.80236 397.51822 329.80236 393.84 L 329.80236 341.03946 C 329.80236 337.36124 332.78414 334.37946 336.46236 334.37946 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(331.80236 336.37946)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="13.5693945" y="10" textLength="73.930664">Partition Region </tspan><tspan font-family="Helvetica" 
 font-size="10" font-weight="500" fill="black" x="86.953184" y="10" textLength="6.669922">A</tspan></text></g><g id="id11_Graphic"><path d="M 341.12267 374.2129 L 341.12267 363.3454 C 341.12267 359.66717 344.10445 356.6854 347.78267 356.6854 L 358.65017 356.6854 C 362.32839 356.6854 365.31017 359.66717 365.31017 363.3454 L 365.31017 374.2129 C 365.31017 377.8911 362.32839 380.8729 358.65017 380.8729 L 347.78267 380.8729 C 344.10445 380.8729 341.12267 377.8911 341.12267 374.2129 C 341.12267 374.2129 341.12267 374.2129 341.12267 374.2129 Z" fill="url(#Obj_Gradient_8)"/><path d="M 341.12267 374.2129 L 341.12267 363.3454 C 341.12267 359.66717 344.10445 356.6854 347.78267 356.6854 L 358.65017 356.6854 C 362.32839 356.6854 365.31017 359.66717 365.31017 363.3454 L 365.31017 374.2129 C 365.31017 377.8911 362.32839 380.8729 358.65017 380.8729 L 347.78267 380.8729 C 344.10445 380.8729 341.12267 377.8911 341.12267 374.2129 C 341.12267 374.2129 341.12267 374.2129 341.12267 374.2129 Z" stroke="#2
 52525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/></g><g id="id12_Graphic"><path d="M 371.35704 374.2129 L 371.35704 363.3454 C 371.35704 359.66717 374.33882 356.6854 378.01704 356.6854 L 388.88454 356.6854 C 392.56276 356.6854 395.54454 359.66717 395.54454 363.3454 L 395.54454 374.2129 C 395.54454 377.8911 392.56276 380.8729 388.88454 380.8729 L 378.01704 380.8729 C 374.33882 380.8729 371.35704 377.8911 371.35704 374.2129 C 371.35704 374.2129 371.35704 374.2129 371.35704 374.2129 Z" fill="url(#Obj_Gradient_9)"/><path d="M 371.35704 374.2129 L 371.35704 363.3454 C 371.35704 359.66717 374.33882 356.6854 378.01704 356.6854 L 388.88454 356.6854 C 392.56276 356.6854 395.54454 359.66717 395.54454 363.3454 L 395.54454 374.2129 C 395.54454 377.8911 392.56276 380.8729 388.88454 380.8729 L 378.01704 380.8729 C 374.33882 380.8729 371.35704 377.8911 371.35704 374.2129 C 371.35704 374.2129 371.35704 374.2129 371.35704 374.2129 Z" stroke="#252
 525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/></g><g id="id13_Graphic"><path d="M 401.59142 374.2129 L 401.59142 363.3454 C 401.59142 359.66717 404.5732 356.6854 408.25142 356.6854 L 419.11892 356.6854 C 422.79714 356.6854 425.77892 359.66717 425.77892 363.3454 L 425.77892 374.2129 C 425.77892 377.8911 422.79714 380.8729 419.11892 380.8729 L 408.25142 380.8729 C 404.5732 380.8729 401.59142 377.8911 401.59142 374.2129 C 401.59142 374.2129 401.59142 374.2129 401.59142 374.2129 Z" fill="url(#Obj_Gradient_a)"/><path d="M 401.59142 374.2129 L 401.59142 363.3454 C 401.59142 359.66717 404.5732 356.6854 408.25142 356.6854 L 419.11892 356.6854 C 422.79714 356.6854 425.77892 359.66717 425.77892 363.3454 L 425.77892 374.2129 C 425.77892 377.8911 422.79714 380.8729 419.11892 380.8729 L 408.25142 380.8729 C 404.5732 380.8729 401.59142 377.8911 401.59142 374.2129 C 401.59142 374.2129 401.59142 374.2129 401.59142 374.2129 Z" stroke="#252525" s
 troke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/></g><rect x="335.49486" y="353.66195" width="99" height="30.234384" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id15_Graphic"><path d="M 140.4675 360 L 218.34 360 C 222.01822 360 225 362.98178 225 366.66 L 225 373.91304 C 225 377.59126 222.01822 380.57304 218.34 380.57304 L 140.4675 380.57304 C 136.78928 380.57304 133.8075 377.59126 133.8075 373.91304 L 133.8075 366.66 C 133.8075 362.98178 136.78928 360 140.4675 360 Z" fill="url(#Obj_Gradient_b)"/><path d="M 140.4675 360 L 218.34 360 C 222.01822 360 225 362.98178 225 366.66 L 225 373.91304 C 225 377.59126 222.01822 380.57304 218.34 380.57304 L 140.4675 380.57304 C 136.78928 380.57304 133.8075 377.59126 133.8075 373.91304 L 133.8075 366.66 C 133.8075 362.98178 136.78928 360 140.4675 360 Z" stroke="white" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transf
 orm="translate(135.8075 362)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="bold" fill="black" x="5.6948828" y="10" textLength="77.802734">customer X data</tspan></text></g><g id="id16_Graphic"><path d="M 347.4675 360 L 425.34 360 C 429.01822 360 432 362.98178 432 366.66 L 432 373.91304 C 432 377.59126 429.01822 380.57304 425.34 380.57304 L 347.4675 380.57304 C 343.78928 380.57304 340.8075 377.59126 340.8075 373.91304 L 340.8075 366.66 C 340.8075 362.98178 343.78928 360 347.4675 360 Z" fill="url(#Obj_Gradient_c)"/><path d="M 347.4675 360 L 425.34 360 C 429.01822 360 432 362.98178 432 366.66 L 432 373.91304 C 432 377.59126 429.01822 380.57304 425.34 380.57304 L 347.4675 380.57304 C 343.78928 380.57304 340.8075 377.59126 340.8075 373.91304 L 340.8075 366.66 C 340.8075 362.98178 343.78928 360 347.4675 360 Z" stroke="white" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(342.8075 362)" fill="black"><tspan font
 -family="Helvetica" font-size="10" font-weight="bold" fill="black" x="5.7827734" y="10" textLength="54.46289">customer P</tspan><tspan font-family="Helvetica" font-size="10" font-weight="bold" fill="black" x="60.069883" y="10" textLength="23.339844"> data</tspan></text></g><g id="id17_Graphic"><path d="M 126.66937 414 L 222.54187 414 C 226.22009 414 229.20187 416.98178 229.20187 420.66 L 229.20187 473.46054 C 229.20187 477.13876 226.22009 480.12054 222.54187 480.12054 L 126.66937 480.12054 C 122.99115 480.12054 120.00937 477.13876 120.00937 473.46054 L 120.00937 420.66 C 120.00937 416.98178 122.99115 414 126.66937 414 Z" fill="url(#Obj_Gradient_d)"/><path d="M 126.66937 414 L 222.54187 414 C 226.22009 414 229.20187 416.98178 229.20187 420.66 L 229.20187 473.46054 C 229.20187 477.13876 226.22009 480.12054 222.54187 480.12054 L 126.66937 480.12054 C 122.99115 480.12054 120.00937 477.13876 120.00937 473.46054 L 120.00937 420.66 C 120.00937 416.98178 122.99115 414 126.66937 414 Z" strok
 e="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(122.00937 416)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="13.295957" y="10" textLength="80.600586">Partition Region B</tspan></text></g><g id="id18_Graphic"><path d="M 131.32969 453.83344 L 131.32969 442.96594 C 131.32969 439.28772 134.31147 436.30594 137.98969 436.30594 C 137.98969 436.30594 137.98969 436.30594 137.98969 436.30594 L 148.85719 436.30594 C 152.53541 436.30594 155.51719 439.28772 155.51719 442.96594 L 155.51719 453.83344 C 155.51719 457.51166 152.53541 460.49344 148.85719 460.49344 C 148.85719 460.49344 148.85719 460.49344 148.85719 460.49344 L 137.98969 460.49344 C 134.311474 460.49344 131.32969 457.51166 131.32969 453.83344 Z" fill="url(#Obj_Gradient_e)"/><path d="M 131.32969 453.83344 L 131.32969 442.96594 C 131.32969 439.28772 134.31147 436.30594 137.98969 436.30594 C 137.98969 436.30594 137.98969 436.30
 594 137.98969 436.30594 L 148.85719 436.30594 C 152.53541 436.30594 155.51719 439.28772 155.51719 442.96594 L 155.51719 453.83344 C 155.51719 457.51166 152.53541 460.49344 148.85719 460.49344 C 148.85719 460.49344 148.85719 460.49344 148.85719 460.49344 L 137.98969 460.49344 C 134.311474 460.49344 131.32969 457.51166 131.32969 453.83344 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/></g><g id="id19_Graphic"><path d="M 161.56406 453.83344 L 161.56406 442.96594 C 161.56406 439.28772 164.54584 436.30594 168.22406 436.30594 C 168.22406 436.30594 168.22406 436.30594 168.22406 436.30594 L 179.09156 436.30594 C 182.76978 436.30594 185.75156 439.28772 185.75156 442.96594 L 185.75156 453.83344 C 185.75156 457.51166 182.76978 460.49344 179.09156 460.49344 C 179.09156 460.49344 179.09156 460.49344 179.09156 460.49344 L 168.22406 460.49344 C 164.54584 460.49344 161.56406 457.51166 161.56406 453.83344 Z" fill="url(#Obj_Gradient
 _f)"/><path d="M 161.56406 453.83344 L 161.56406 442.96594 C 161.56406 439.28772 164.54584 436.30594 168.22406 436.30594 C 168.22406 436.30594 168.22406 436.30594 168.22406 436.30594 L 179.09156 436.30594 C 182.76978 436.30594 185.75156 439.28772 185.75156 442.96594 L 185.75156 453.83344 C 185.75156 457.51166 182.76978 460.49344 179.09156 460.49344 C 179.09156 460.49344 179.09156 460.49344 179.09156 460.49344 L 168.22406 460.49344 C 164.54584 460.49344 161.56406 457.51166 161.56406 453.83344 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/></g><g id="id20_Graphic"><path d="M 191.79844 453.83344 L 191.79844 442.96594 C 191.79844 439.28772 194.78022 436.30594 198.45844 436.30594 C 198.45844 436.30594 198.45844 436.30594 198.45844 436.30594 L 209.32594 436.30594 C 213.00416 436.30594 215.98594 439.28772 215.98594 442.96594 L 215.98594 453.83344 C 215.98594 457.51166 213.00416 460.49344 209.32594 460.49344 C 209.32594 46
 0.49344 209.32594 460.49344 209.32594 460.49344 L 198.45844 460.49344 C 194.78022 460.49344 191.79844 457.51166 191.79844 453.83344 Z" fill="url(#Obj_Gradient_10)"/><path d="M 191.79844 453.83344 L 191.79844 442.96594 C 191.79844 439.28772 194.78022 436.30594 198.45844 436.30594 C 198.45844 436.30594 198.45844 436.30594 198.45844 436.30594 L 209.32594 436.30594 C 213.00416 436.30594 215.98594 439.28772 215.98594 442.96594 L 215.98594 453.83344 C 215.98594 457.51166 213.00416 460.49344 209.32594 460.49344 C 209.32594 460.49344 209.32594 460.49344 209.32594 460.49344 L 198.45844 460.49344 C 194.78022 460.49344 191.79844 457.51166 191.79844 453.83344 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/></g><rect x="125.70188" y="433.2825" width="99" height="30.234384" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id22_Graphic"><path d="M 335.45813 414 L 431.33063 414 C 435.
 00885 414 437.99063 416.98178 437.99063 420.66 L 437.99063 473.46054 C 437.99063 477.13876 435.00885 480.12054 431.33063 480.12054 L 335.45813 480.12054 C 331.77991 480.12054 328.79813 477.13876 328.79813 473.46054 L 328.79813 420.66 C 328.79813 416.98178 331.77991 414 335.45813 414 Z" fill="url(#Obj_Gradient_11)"/><path d="M 335.45813 414 L 431.33063 414 C 435.00885 414 437.99063 416.98178 437.99063 420.66 L 437.99063 473.46054 C 437.99063 477.13876 435.00885 480.12054 431.33063 480.12054 L 335.45813 480.12054 C 331.77991 480.12054 328.79813 477.13876 328.79813 473.46054 L 328.79813 420.66 C 328.79813 416.98178 331.77991 414 335.45813 414 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(330.79813 416)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="13.295957" y="10" textLength="80.600586">Partition Region B</tspan></text></g><g id="id23_Graphic"><path d="M 340.11844 
 453.83344 L 340.11844 442.96594 C 340.11844 439.28772 343.10022 436.30594 346.77844 436.30594 L 357.64594 436.30594 C 361.32416 436.30594 364.30594 439.28772 364.30594 442.96594 L 364.30594 453.83344 C 364.30594 457.51166 361.32416 460.49344 357.64594 460.49344 L 346.77844 460.49344 C 343.10022 460.49344 340.11844 457.51166 340.11844 453.83344 C 340.11844 453.83344 340.11844 453.83344 340.11844 453.83344 Z" fill="url(#Obj_Gradient_12)"/><path d="M 340.11844 453.83344 L 340.11844 442.96594 C 340.11844 439.28772 343.10022 436.30594 346.77844 436.30594 L 357.64594 436.30594 C 361.32416 436.30594 364.30594 439.28772 364.30594 442.96594 L 364.30594 453.83344 C 364.30594 457.51166 361.32416 460.49344 357.64594 460.49344 L 346.77844 460.49344 C 343.10022 460.49344 340.11844 457.51166 340.11844 453.83344 C 340.11844 453.83344 340.11844 453.83344 340.11844 453.83344 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/></g><g id="
 id24_Graphic"><path d="M 370.3528 453.83344 L 370.3528 442.96594 C 370.3528 439.28772 373.3346 436.30594 377.0128 436.30594 L 387.8803 436.30594 C 391.55853 436.30594 394.5403 439.28772 394.5403 442.96594 L 394.5403 453.83344 C 394.5403 457.51166 391.55853 460.49344 387.8803 460.49344 L 377.0128 460.49344 C 373.3346 460.49344 370.3528 457.51166 370.3528 453.83344 C 370.3528 453.83344 370.3528 453.83344 370.3528 453.83344 Z" fill="url(#Obj_Gradient_13)"/><path d="M 370.3528 453.83344 L 370.3528 442.96594 C 370.3528 439.28772 373.3346 436.30594 377.0128 436.30594 L 387.8803 436.30594 C 391.55853 436.30594 394.5403 439.28772 394.5403 442.96594 L 394.5403 453.83344 C 394.5403 457.51166 391.55853 460.49344 387.8803 460.49344 L 377.0128 460.49344 C 373.3346 460.49344 370.3528 457.51166 370.3528 453.83344 C 370.3528 453.83344 370.3528 453.83344 370.3528 453.83344 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/></g><g id="i
 d25_Graphic"><path d="M 400.5872 453.83344 L 400.5872 442.96594 C 400.5872 439.28772 403.56897 436.30594 407.2472 436.30594 L 418.1147 436.30594 C 421.7929 436.30594 424.7747 439.28772 424.7747 442.96594 L 424.7747 453.83344 C 424.7747 457.51166 421.7929 460.49344 418.1147 460.49344 L 407.2472 460.49344 C 403.56897 460.49344 400.5872 457.51166 400.5872 453.83344 C 400.5872 453.83344 400.5872 453.83344 400.5872 453.83344 Z" fill="url(#Obj_Gradient_14)"/><path d="M 400.5872 453.83344 L 400.5872 442.96594 C 400.5872 439.28772 403.56897 436.30594 407.2472 436.30594 L 418.1147 436.30594 C 421.7929 436.30594 424.7747 439.28772 424.7747 442.96594 L 424.7747 453.83344 C 424.7747 457.51166 421.7929 460.49344 418.1147 460.49344 L 407.2472 460.49344 C 403.56897 460.49344 400.5872 457.51166 400.5872 453.83344 C 400.5872 453.83344 400.5872 453.83344 400.5872 453.83344 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/></g><rect x="
 334.49062" y="433.2825" width="99" height="30.234384" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id27_Graphic"><path d="M 139.46327 439.62055 L 217.33577 439.62055 C 221.01399 439.62055 223.99577 442.60233 223.99577 446.28055 L 223.99577 453.5336 C 223.99577 457.2118 221.01399 460.1936 217.33577 460.1936 L 139.46327 460.1936 C 135.78505 460.1936 132.80327 457.2118 132.80327 453.5336 L 132.80327 446.28055 C 132.80327 442.60233 135.78505 439.62055 139.46327 439.62055 Z" fill="url(#Obj_Gradient_15)"/><path d="M 139.46327 439.62055 L 217.33577 439.62055 C 221.01399 439.62055 223.99577 442.60233 223.99577 446.28055 L 223.99577 453.5336 C 223.99577 457.2118 221.01399 460.1936 217.33577 460.1936 L 139.46327 460.1936 C 135.78505 460.1936 132.80327 457.2118 132.80327 453.5336 L 132.80327 446.28055 C 132.80327 442.60233 135.78505 439.62055 139.46327 439.62055 Z" stroke="white" stroke-linecap="round" stroke-linejoin="round" stroke-width=".7
 2000003"/><text transform="translate(134.80327 441.62055)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="bold" fill="black" x="5.6948828" y="10" textLength="77.802734">customer X data</tspan></text></g><g id="id28_Graphic"><path d="M 346.46327 439.62055 L 424.33577 439.62055 C 428.01399 439.62055 430.99577 442.60233 430.99577 446.28055 L 430.99577 453.5336 C 430.99577 457.2118 428.01399 460.1936 424.33577 460.1936 L 346.46327 460.1936 C 342.78505 460.1936 339.80327 457.2118 339.80327 453.5336 L 339.80327 446.28055 C 339.80327 442.60233 342.78505 439.62055 346.46327 439.62055 Z" fill="url(#Obj_Gradient_16)"/><path d="M 346.46327 439.62055 L 424.33577 439.62055 C 428.01399 439.62055 430.99577 442.60233 430.99577 446.28055 L 430.99577 453.5336 C 430.99577 457.2118 428.01399 460.1936 424.33577 460.1936 L 346.46327 460.1936 C 342.78505 460.1936 339.80327 457.2118 339.80327 453.5336 L 339.80327 446.28055 C 339.80327 442.60233 342.78505 439.62055 346.46327 439.620
 55 Z" stroke="white" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(341.80327 441.62055)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="bold" fill="black" x="5.7827734" y="10" textLength="54.46289">customer P</tspan><tspan font-family="Helvetica" font-size="10" font-weight="bold" fill="black" x="60.069883" y="10" textLength="23.339844"> data</tspan></text></g></g></g></svg>


[33/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/ha_event_messaging_whats_next.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/ha_event_messaging_whats_next.html.md.erb b/geode-docs/developing/events/ha_event_messaging_whats_next.html.md.erb
new file mode 100644
index 0000000..f61aba6
--- /dev/null
+++ b/geode-docs/developing/events/ha_event_messaging_whats_next.html.md.erb
@@ -0,0 +1,78 @@
+---
+title:  Highly Available Client/Server Event Messaging
+---
+
+<a id="ha_event_messaging_whats_next__section_F163917311E8478399D1DD273E8BCDF5"></a>
+With server redundancy, each pool has a primary server and some number of secondaries. The primaries and secondaries are assigned on a per-pool basis and are generally spread out for load balancing, so a single client with multiple pools may have primary queues in more than one server.
+
+The primary server pushes events to clients and the secondaries maintain queue backups. If the primary server fails, one of the secondaries becomes primary to provide uninterrupted event messaging.
+
+For example, if there are six servers running and `subscription-redundancy` is set to two, one server is the primary, two servers are secondary, and the remaining three do not actively participate in HA for the client. If the primary server fails, the system assigns one of the secondaries as the new primary and attempts to add another server to the secondary pool to retain the initial redundancy level. If no new secondary server is found, then the redundancy level is not satisfied but the failover procedure completes successfully. As soon as another secondary is available, it is added.
+
+When high availability is enabled:
+
+-   The primary server sends event messages to the clients.
+-   Periodically, the clients send received messages to the server and the server removes the sent messages from its queues.
+-   Periodically, the primary server synchronizes with its secondaries, notifying them of messages that can be discarded because they have already been sent and received. There is a lag in notification, so the secondary servers remain only roughly synchronized with the primary. Secondary queues contain all messages that are contained in the primary queue plus possibly a few messages that have already been sent to clients.
+-   In the case of primary server failure, one of the secondaries becomes the primary and begins sending event messages from its queues to the clients. Immediately after failover, the new primary usually resends some messages that were already sent by the old primary. The client recognizes these as duplicates and discards them.
+
+In stage 1 of this figure, the primary sends an event message to the client and a synchronization message to its secondary. By stage 2, the secondary and client have updated their queue and message tracking information. If the primary failed at stage two, the secondary would start sending event messages from its queue beginning with message A10. The client would discard the resend of message A10 and then process subsequent messages as usual.
+<img src="../../images/ClientServerAdvancedTopics-5.gif" alt="High Availability Messaging: Server to Client and Primary Server to Secondary Server" id="ha_event_messaging_whats_next__image_8947A42EDEF74911BAB55B79ED8DA984" class="image" />
+
+## <a id="ha_event_messaging_whats_next__section_741052B413F24F47A14F5B7D7955F0AA" class="no-quick-link"></a>Change Server Queue Synchronization Frequency
+
+By default, the primary server sends queue synchronization messages to the secondaries every second. You can change this interval with the `gfsh alter                     runtime` command
+
+Set the interval for queue synchronization messages as follows:
+
+-   gfsh:
+
+    ``` pre
+    gfsh>alter runtime --message-sync-interval=2
+    ```
+
+-   XML:
+
+    ``` pre
+    <!-- Set sync interval to 2 seconds --> 
+    <cache ... message-sync-interval="2" />
+    ```
+
+-   Java:
+
+    ``` pre
+    cache = CacheFactory.create();
+    cache.setMessageSyncInterval(2);  
+    ```
+
+The ideal setting for this interval depends in large part on your application behavior. These are the benefits of shorter and longer interval settings:
+
+-   A shorter interval requires less memory in the secondary servers because it reduces queue buildup between synchronizations. In addition, fewer old messages in the secondary queues means reduced message re-sends after a failover. These considerations are most important for systems with high data update rates.
+-   A longer interval requires fewer distribution messages between the primary and secondary, which benefits overall system performance.
+
+## <a id="ha_event_messaging_whats_next__section_DF51950D30154A58818F6AD777BB3090" class="no-quick-link"></a>Set Frequency of Orphan Removal from the Secondary Queues
+
+Usually, all event messages are removed from secondary subscription queues based on the primary's synchronization messages. Occasionally, however, some messages are orphaned in the secondary queues. For example, if a primary fails in the middle of sending a synchronization message to its secondaries, some secondaries might receive the message and some might not. If the failover goes to a secondary that did receive the message, the system will have secondary queues holding messages that are no longer in the primary queue. The new primary will never synchronize on these messages, leaving them orphaned in the secondary queues.
+
+To make sure these messages are eventually removed, the secondaries expire all messages that have been enqueued longer than the time indicated by the servers' `message-time-to-live`.
+
+Set the time-to-live as follows:
+
+-   XML:
+
+    ``` pre
+    <!-- Set message ttl to 5 minutes --> 
+    <cache-server port="41414" message-time-to-live="300" />
+    ```
+
+-   Java:
+
+    ``` pre
+    Cache cache = ...;
+    CacheServer cacheServer = cache.addCacheServer();
+    cacheServer.setPort(41414);
+    cacheServer.setMessageTimeToLive(200);
+    cacheServer.start();                
+    ```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/how_cache_events_work.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/how_cache_events_work.html.md.erb b/geode-docs/developing/events/how_cache_events_work.html.md.erb
new file mode 100644
index 0000000..a0fa79e
--- /dev/null
+++ b/geode-docs/developing/events/how_cache_events_work.html.md.erb
@@ -0,0 +1,54 @@
+---
+title:  Peer-to-Peer Event Distribution
+---
+
+When a region or entry operation is performed, Geode distributes the associated events in the distributed system according to system and cache configurations.
+
+<a id="how_cache_events_work__section_7864A275FDB549FD8E2D046DD59CB9F4"></a>
+Install a cache listener for a region in each system member that needs to receive notification of region and entry changes.
+
+## <a id="how_cache_events_work__section_CACE500A00214CD88CE232D22899263B" class="no-quick-link"></a>Events in a Partitioned Region
+
+A distributed operation follows this sequence in a partitioned region:
+
+1.  Apply the operation to the cache with the primary data entry, if appropriate.
+2.  Do the distribution based on the subscription-attributes interest-policy of the other members.
+3.  Invoke any listeners in the caches that receive the distribution.
+4.  Invoke the listener in the cache with the primary data entry.
+
+In the following figure:
+
+1.  An API call in member M1 creates an entry.
+2.  The partitioned region creates the new entry in the cache in M2. M2, the holder of the primary copy, drives the rest of the procedure.
+3.  These two operations occur simultaneously:
+    -   The partitioned region creates a secondary copy of the entry in the cache in M3. Creating the secondary copy does not invoke the listener on M3.
+    -   M2 distributes the event to M4. This distribution to the other members is based on their interest policies. M4 has an interest-policy of all , so it receives notification of all events anywhere in the region. Since M1 and M3 have an interest-policy of cache-content , and this event does not affect any pre-existing entry in their local caches, they do not receive the event.
+
+4.  The cache listener on M4 handles the notification of the remote event on M2.
+5.  Once everything on the other members has completed successfully, the original create operation on M2 succeeds and invokes the cache listener on M2.
+
+<img src="../../images/Events-2.gif" id="how_cache_events_work__image_E5E187C14A774144B85FA7B636239DBE" class="image" />
+
+## <a id="how_cache_events_work__section_FACF58272C824907BA020B1727427D7A" class="no-quick-link"></a>Events in a Distributed Region
+
+A distributed operation follows this sequence in a distributed region:
+
+1.  Apply the operation to the local cache, if appropriate.
+2.  Invoke the local listeners.
+3.  Do the distribution.
+4.  Each member that receives the distribution carries out its own operation in response, which invokes any local listeners.
+
+In the following figure:
+
+1.  An entry is created through a direct API call on member M1.
+2.  The create invokes the cache listener on M1.
+3.  M1 distributes the event to the other members.
+4.  M2 and M3 apply the remote change through their own local operations.
+5.  M3 does a create, but M2 does an update, because the entry already existed in its cache.
+6.  The cache listener on M2 receives callbacks for the local update. Since there is no cache listener on M3, the callbacks from the create on M3 are not handled. An API call in member M1 creates an entry.
+
+<img src="../../images/Events-3.gif" id="how_cache_events_work__image_A24D6182B2A840D1843EBD4686966EEF" class="image" />
+
+## <a id="how_cache_events_work__section_B4DCA51DDF7F44699E7355277172BEF0" class="no-quick-link"></a>Managing Events in Multi-threaded Applications
+
+For partitioned regions, Geode guarantees ordering of events across threads, but for distributed regions it doesn\u2019t. For multi-threaded applications that create distributed regions, you need to use your application synchronization to make sure that one operation completes before the next one begins. Distribution through the distributed-no-ack queue can work with multiple threads if you set the `conserve-sockets` attribute to true. Then the threads share one queue, preserving the order of the events in distributed regions. Different threads can invoke the same listener, so if you allow different threads to send events, it can result in concurrent invocations of the listener. This is an issue only if the threads have some shared state - if they are incrementing a serial number, for example, or adding their events to a log queue. Then you need to make your code thread safe.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/how_client_server_distribution_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/how_client_server_distribution_works.html.md.erb b/geode-docs/developing/events/how_client_server_distribution_works.html.md.erb
new file mode 100644
index 0000000..869adf0
--- /dev/null
+++ b/geode-docs/developing/events/how_client_server_distribution_works.html.md.erb
@@ -0,0 +1,120 @@
+---
+title:  Client-to-Server Event Distribution
+---
+
+Clients and servers distribute events according to client activities and according to interest registered by the client in server-side cache changes.
+
+<a id="how_client_server_distribution_works__section_F1070B06B3344D1CA7309934FCE097B9"></a>
+When the client updates its cache, changes to client regions are automatically forwarded to the server side. The server-side update is then propagated to the other clients that are connected and have subscriptions enabled. The server does not return the update to the sending client.
+
+The update is passed to the server and then passed, with the value, to every other client that has registered interest in the entry key. This figure shows how a client\u2019s entry updates are propagated.
+
+<img src="../../images_svg/client_server_event_dist.svg" id="how_client_server_distribution_works__image_66AB57EEDC154962B32F7951667F4656" class="image" />
+
+The figure shows the following process:
+
+1.  Entry X is updated or created in Region A through a direct API call on Client1.
+2.  The update to the region is passed to the pool named in the region.
+3.  The pool propagates the event to the cache server, where the region is updated.
+4.  The server member distributes the event to its peers and also places it into the subscription queue for Client2 because that client has previously registered interest in entry X.
+5.  The event for entry X is sent out of the queue to Client2. When this happens is indeterminate.
+
+Client to server distribution uses the client pool connections to send updates to the server. Any region with a named pool automatically forwards updates to the server. Client cache modifications pass first through a client `CacheWriter`, if one is defined, then to the server through the client pool, and then finally to the client cache itself. A cache writer, either on the client or server side, may abort the operation.
+
+| Change in Client Cache                              | Effect on Server Cache                                                                                    |
+|-----------------------------------------------------|-----------------------------------------------------------------------------------------------------------|
+| Entry create or update                              | Creation or update of entry.                                                                              |
+| Distributed entry destroy                           | Entry destroy. The destroy call is propagated to the server even if the entry is not in the client cache. |
+| Distributed region destroy/clear (distributed only) | Region destroy/clear                                                                                      |
+
+**Note:**
+Invalidations on the client side are not forwarded to the server.
+
+## <a id="how_client_server_distribution_works__section_A16562611E094C88B12BC149D5EEEEBA" class="no-quick-link"></a>Server-to-Client Event Distribution
+
+The server automatically sends entry modification events only for keys in which the client has registered interest. In the interest registration, the client indicates whether to send new values or just invalidations for the server-side entry creates and updates. If invalidation is used, the client then updates the values lazily as needed.
+
+This figure shows the complete event subscription event distribution for interest registrations, with value receipt requested (receiveValues=true) and without.
+
+<img src="../../images_svg/server_client_event_dist.svg" id="how_client_server_distribution_works__image_7FD1450B9D58429F860400801EDFDCAE" class="image" />
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Change in Server Cache</th>
+<th>Effect on Client Cache</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td>Entry create/update</td>
+<td>For subscriptions with <code class="ph codeph">receiveValues</code> set to true, entry create or update.
+<p></p>
+For subscriptions with <code class="ph codeph">receiveValues</code> set to false, entry invalidate if the entry already exists in the client cache; otherwise, no effect. The next client get for the entry is forwarded to the server.</td>
+</tr>
+<tr class="even">
+<td>Entry invalidate/destroy (distributed only)</td>
+<td>Entry invalidate/destroy</td>
+</tr>
+<tr class="odd">
+<td>Region destroy/clear (distributed only)</td>
+<td>Region destroy or local region clear</td>
+</tr>
+</tbody>
+</table>
+
+Server-side distributed operations are all operations that originate as a distributed operation in the server or one of its peers. Region invalidation in the server is not forwarded to the client.
+
+**Note:**
+To maintain a unified set of data in your servers, do not do local entry invalidation in your server regions.
+
+## <a id="how_client_server_distribution_works__section_34613292788D4FA4AB730045FB9A405A" class="no-quick-link"></a>Server-to-Client Message Tracking
+
+The server uses an asynchronous messaging queue to send events to its clients. Every event in the queue originates in an operation performed by a thread in a client, a server, or an application in the server\u2019s or some other distributed system. The event message has a unique identifier composed of the originating thread\u2019s ID combined with its member\u2019s distributed system member ID, and the sequential ID of the operation. So the event messages originating in any single thread can be grouped and ordered by time from lowest sequence ID to highest. Servers and clients track the highest sequential ID for each member thread ID.
+
+A single client thread receives and processes messages from the server, tracking received messages to make sure it does not process duplicate sends. It does this using the process IDs from originating threads.
+
+<img src="../../images_svg/client_server_message_tracking.svg" id="how_client_server_distribution_works__image_F4F9D13252E14F11AD63240AED39191A" class="image" />
+
+The client\u2019s message tracking list holds the highest sequence ID of any message received for each originating thread. The list can become quite large in systems where there are many different threads coming and going and doing work on the cache. After a thread dies, its tracking entry is not needed. To avoid maintaining tracking information for threads that have died, the client expires entries that have had no activity for more than the `subscription-message-tracking-timeout`.
+
+## <a id="how_client_server_distribution_works__section_99E436C569F3422AA842AA74F73A6B36" class="no-quick-link"></a>Client Interest Registration on the Server
+
+The system processes client interest registration following these steps:
+
+1.  The entries in the client region that may be affected by this registration are silently destroyed. Other keys are left alone.
+    -   For the `registerInterest` method, the system destroys all of the specified keys, leaving other keys in the client region alone. So if you have a client region with keys A, B, and C and you register interest in the key list A, B, at the start of the `registerInterest` operation, the system destroys keys A and B in the client cache but does not touch key C.
+    -   For the `registerInterestRegex` method, the system silently destroys all keys in the client region.
+
+2.  The interest specification is sent to the server, where it is added to the client\u2019s interest list. The list can specify entries that are not in the server region at the time interest is registered.
+3.  If a bulk load is requested in the call's `InterestResultPolicy` parameter, before control is returned to the calling method, the server sends all data that currently satisfies the interest specification. The client's region is updated automatically with the downloaded data. If the server region is partitioned, the entire partitioned region is used in the bulk load. Otherwise, only the server\u2019s local cache region is used. The interest results policy options are:
+    -   KEYS\u2014The client receives a bulk load of all available keys matching the interest registration criteria.
+    -   KEYS\_VALUES\u2014The client receives a bulk load of all available keys and values matching the interest registration criteria. This is the default interest result policy.
+    -   NONE\u2014The client does not receive any immediate bulk loading.
+
+Once interest is registered, the server continually monitors region activities and sends events to its clients that match the interest.
+
+-   No events are generated by the register interest calls, even if they load values into the client cache.
+-   The server maintains the union of all of the interest registrations, so if a client registers interest in key \u2018A\u2019, then registers interest in regular expression "B\*", the server will send updates for all entries with key \u2018A\u2019 or key beginning with the letter \u2018B\u2019.
+-   The server maintains the interest registration list separate from the region. The list can contain specifications for entries that are not currently in the server region.
+-   The `registerInterestRegex` method uses the standard `java.util.regex` methods to parse the key specification.
+
+## <a id="how_client_server_distribution_works__section_928BB60066414BEB9FAA7FB3120334A3" class="no-quick-link"></a>Server Failover
+
+When a server hosting a subscription queue fails, the queueing responsibilities pass to another server. How this happens depends on whether the new server is a secondary server. In any case, all failover activities are carried out automatically by the Geode system.
+
+-   **Non-HA failover:** The client fails over without high availability if it is not configured for redundancy or if all secondaries also fail before new secondaries can be initialized. As soon as it can attach to a server, the client goes through an automatic reinitialization process. In this process, the failover code on the client side silently destroys all entries of interest to the client and refetches them from the new server, essentially reinitializing the client cache from the new server\u2019s cache. For the notify all configuration, this clears and reloads all of the entries for the client regions that are connected to the server. For notify by subscription, it clears and reloads only the entries in the region interest lists. To reduce failover noise, the events caused by the local entry destruction and refetching are blocked by the failover code and do not reach the client cache listeners. Because of this, your clients could receive some out-of-sequence events during and af
 ter a server failover. For example, entries that exist on the failed server and not on its replacement are destroyed and never recreated during a failover. Because the destruction events are blocked, the client ends up with entries removed from its cache with no associated destroy events.
+-   **HA failover:** If your client pool is configured with redundancy and a secondary server is available at the time the primary fails, the failover is invisible to the client. The secondary server resumes queueing activities as soon as the primary loss is detected. The secondary might resend a few events, which are discarded automatically by the client message tracking activities.
+
+    **Note:**
+    There is a very small potential for message loss during HA server failover. The risk is not present for failover to secondaries that have fully initialized their subscription queue data. The risk is extremely low in healthy systems that use at least two secondary servers. The risk is higher in unstable systems where servers often fail and where secondaries do not have time to initialize their subscription queue data before becoming primaries. To minimize the risk, the failover logic chooses the longest-lived secondary as the new primary.
+
+
+    **Note:**
+    Redundancy management is handled by the client, so when a durable client is disconnected from the server, client event redundancy is not maintained. Even if the servers fail one at a time, so that running clients have time to fail over and pick new secondary servers, an offline durable client cannot fail over. As a result, the client loses its queued messages.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/how_events_work.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/how_events_work.html.md.erb b/geode-docs/developing/events/how_events_work.html.md.erb
new file mode 100644
index 0000000..4553582
--- /dev/null
+++ b/geode-docs/developing/events/how_events_work.html.md.erb
@@ -0,0 +1,94 @@
+---
+title:  How Events Work
+---
+
+Members in your Geode distributed system receive cache updates from other members through cache events. The other members can be peers to the member, clients or servers or other distributed systems.
+
+## <a id="how_events_work__section_6C75098DDBB84944ADE57F2088330D5A" class="no-quick-link"></a>Events Features
+
+These are the primary features of Geode events:
+
+-   Content-based events
+-   Asynchronous event notifications with conflation
+-   Synchronous event notifications for low latency
+-   High availability through redundant messaging queues
+-   Event ordering and once and only-once delivery
+-   Distributed event notifications
+-   Durable subscriptions
+-   Continuous querying
+
+## <a id="how_events_work__section_F5F0E506652940DFBA0D6B7AAA72E3EF" class="no-quick-link"></a>Types of Events
+
+There are two categories of events and event handlers.
+
+-   Cache events in the caching API are used by applications with a cache. Cache events provide detail-level notification for changes to your data. Continuous query events are in this category.
+-   Administrative events in the administration API are used by administrative applications without caches.
+
+Both kinds of events can be generated by a single member operation.
+
+**Note:**
+You can handle one of these categories of events in a single system member. You cannot handle both cache and administrative events in a single member.
+
+Because Geode maintains the order of administrative events and the order of cache events separately, using cache events and administrative events in a single process can cause unexpected results.
+
+## <a id="how_events_work__section_4BCDB22AB927478EBF1035B0DE230DD3" class="no-quick-link"></a>Event Cycle
+
+The following steps describe the event cycle:
+
+1.  An operation begins, such as data put or a cache close.
+2.  The operation execution generates these objects:
+    -   An object of type `Operation` that describes the method that triggered the event.
+    -   An event object that describes the event, such as the member and region where the operation originated.
+
+3.  The event handlers that can handle the event are called and passed the event objects. Different event types require different handler types in different locations. If there is no matching event handler, that does not change the effect of the operation, which happens as usual.
+4.  When the handler receives the event, it triggers the handler\u2019s callback method for this event. The callback method can hand off the event object as input to another method. Depending on the type of event handler, the callbacks can be triggered before or after the operation. The timing depends on the event handler, not on the event itself.
+    **Note:**
+    For transactions, after-operation listeners receive the events after the transaction has committed.
+
+5.  If the operation is distributed, so that it causes follow-on operations in other members, those operations generate their own events, which can be handled by their listeners in the same way.
+
+## <a id="how_events_work__section_E48ECC8A1B39411AA23D17BA0C05517E" class="no-quick-link"></a>Event Objects
+
+Event objects come in several types, depending on the operation. Some operations generate multiple objects of different types. All event objects contain data describing the event, and each event type carries slightly different kinds of data appropriate to its matching operation. An event object is stable. For example, its content does not change if you pass it off to a method on another thread.
+
+For cache events, the event object describes the operation performed in the local cache. If the event originated remotely, it describes the local application of the remote entry operation, not the remote operation itself. The only exception is when the local region has an empty data policy; then the event carries the information for the remote (originating) cache operation.
+
+## <a id="how_events_work__section_2EA59E9F7203433A8AD248C499D61BF4" class="no-quick-link"></a>Event Distribution
+
+After a member processes an event in its local cache, it distributes it to remote caches according to the member's configuration and the configurations of the remote caches. For example, if a client updates its cache, the update is forwarded to the client's server. The server distributes the update to its peers and forwards it to any other clients according to their interest in the data entry. If the server system is part of a multi-site deployment and the data region is configured to use a gateway sender, then the gateway sender also forwards the update to a remote site, where the update is further distributed and propagated.
+
+## <a id="how_events_work__section_C18D3CA923FB427AA01DD811589D63C0" class="no-quick-link"></a>Event Handlers and Region Data Storage
+
+You can configure a region for no local data storage and still send and receive events for the region. Conversely, if you store data in the region, the cache is updated with data from the event regardless of whether you have any event handlers installed.
+
+## <a id="how_events_work__section_22EB4B9E6C4445F898DB64A769780460" class="no-quick-link"></a>Multiple Listeners
+
+When multiple listeners are installed, as can be done with cache listeners, the listeners are invoked sequentially in the order they were added to the region or cache. Listeners are executed one at a time. So, unless you program a listener to pass off processing to another thread, you can use one listener's work in later listeners.
+
+## <a id="how_events_work__section_C4758D7E2CA2498A87315DE903A07AE4" class="no-quick-link"></a>Event Ordering
+
+During a cache operation, event handlers are called at various stages of the operation. Some event handlers are called before a region update and some are called after the region update operation. Depending on the type of event handler being called, the event handler can receive the events in-order or out-of-order in which they are applied on Region.
+
+-   `CacheWriter` and `AsyncEventListener` always receive events in the order in which they are applied on region.
+-   `CacheListener` and `CqListener` can receive events in a different order than the order in which they were applied on the region.
+
+**Note:**
+An `EntryEvent` contains both the old value and the new value of the entry, which helps to indicate the value that was replaced by the cache operation on a particular key.
+
+-   **[Peer-to-Peer Event Distribution](../../developing/events/how_cache_events_work.html)**
+
+    When a region or entry operation is performed, Geode distributes the associated events in the distributed system according to system and cache configurations.
+
+-   **[Client-to-Server Event Distribution](../../developing/events/how_client_server_distribution_works.html)**
+
+    Clients and servers distribute events according to client activities and according to interest registered by the client in server-side cache changes.
+
+-   **[Multi-Site (WAN) Event Distribution](../../developing/events/how_multisite_distribution_works.html)**
+
+    Geode distributes a subset of cache events between distributed systems, with a minimum impact on each system's performance. Events are distributed only for regions that you configure to use a gateway sender for distribution.
+
+-   **[List of Event Handlers and Events](../../developing/events/list_of_event_handlers_and_events.html)**
+
+    Geode provides many types of events and event handlers to help you manage your different data and application needs.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/how_multisite_distribution_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/how_multisite_distribution_works.html.md.erb b/geode-docs/developing/events/how_multisite_distribution_works.html.md.erb
new file mode 100644
index 0000000..c43d850
--- /dev/null
+++ b/geode-docs/developing/events/how_multisite_distribution_works.html.md.erb
@@ -0,0 +1,51 @@
+---
+title:  Multi-Site (WAN) Event Distribution
+---
+
+Geode distributes a subset of cache events between distributed systems, with a minimum impact on each system's performance. Events are distributed only for regions that you configure to use a gateway sender for distribution.
+
+## <a id="how_multisite_distribution_works__section_A16562611E094C88B12BC149D5EEEEBA" class="no-quick-link"></a>Queuing Events for Distribution
+
+In regions that are configured with one or more gateway senders (`gateway-sender-ids` attribute), events are automatically added to a gateway sender queue for distribution to other sites. Events that are placed in a gateway sender queue are distributed asynchronously to remote sites. For serial gateway queues, the ordering of events sent between sites can be preserved using the `order-policy` attribute.
+
+If a queue becomes too full, it is overflowed to disk to keep the member from running out of memory. You can optionally configure the queue to be persisted to disk (with the `enable-persistence` `gateway-sender` attribute). With persistence, if the member that manages the queue goes down, the member picks up where it left off after it restarts.
+
+## Operation Distribution from a Gateway Sender
+
+The multi-site installation is designed for minimal impact on distributed system performance, so only the farthest-reaching entry operations are distributed between sites.
+
+These operations are distributed:
+
+-   entry create
+-   entry put
+-   entry distributed destroy, providing the operation is not an expiration action
+
+These operations are not distributed:
+
+-   get
+-   invalidate
+-   local destroy
+-   expiration actions of any kind
+-   region operations
+
+## <a id="how_multisite_distribution_works__section_EE819CBF41274312BD5C3EA4A660475C" class="no-quick-link"></a>How a Gateway Sender Processes Its Queue
+
+Each primary gateway sender contains a processor thread that reads messages from the queue, batches them, and distributes the batches to a gateway receiver in a remote site. To process the queue, a gateway sender thread takes the following actions:
+
+1.  Reads messages from the queue
+2.  Creates a batch of the messages
+3.  Synchronously distributes the batch to the other site and waits for a reply
+4.  Removes the batch from the queue after the other site has successfully replied
+
+Because the batch is not removed from the queue until after the other site has replied, the message cannot get lost. On the other hand, in this mode a message could be processed more than once. If a site goes offline in the middle of processing a batch of messages, then that same batch will be sent again once the site is back online.
+
+You can configure the batch size for messages as well as the batch time interval settings. A gateway sender processes a batch of messages from the queue when either the batch size or the time interval is reached. In an active network, it is likely that the batch size will be reached before the time interval. In an idle network, the time interval will most likely be reached before the batch size. This may result in some network latency that corresponds to the time interval.
+
+## <a id="how_multisite_distribution_works__section_EF240AB26CF242F99689222E9E1D2512" class="no-quick-link"></a>How a Gateway Sender Handles Batch Processing Failure
+
+Exceptions can occur at different points during batch processing:
+
+-   The gateway receiver could fail with acknowledgment. If processing fails while the gateway receiver is processing a batch, the receiver replies with a failure acknowledgment that contains the exception, including the identity of the message that failed, and the ID of the last message that it successfully processed. The gateway sender then removes the successfully processed messages and the failed message from the queue and logs an exception with the failed message information. The sender then continues processing the messages remaining in the queue.
+-   The gateway receiver can fail without acknowledgment. If the gateway receiver does not acknowledge a sent batch, the gateway sender does not know which messages were successfully processed. In this case the gateway sender re-sends the entire batch.
+-   No gateway receivers may be available for processing. If a batch processing exception occurs because there are no remote gateway receivers available, then the batch remains in the queue. The gateway sender waits for a time, and then attempts to re-send the batch. The time period between attempts is five seconds. The existing server monitor continuously attempts to connect to the gateway receiver, so that a connection can be made and queue processing can continue. Messages build up in the queue and possibly overflow to disk while waiting for the connection.
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/implementing_cache_event_handlers.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/implementing_cache_event_handlers.html.md.erb b/geode-docs/developing/events/implementing_cache_event_handlers.html.md.erb
new file mode 100644
index 0000000..583fcdc
--- /dev/null
+++ b/geode-docs/developing/events/implementing_cache_event_handlers.html.md.erb
@@ -0,0 +1,136 @@
+---
+title:  Implementing Cache Event Handlers
+---
+
+Depending on your installation and configuration, cache events can come from local operations, peers, servers, and remote sites. Event handlers register their interest in one or more events and are notified when the events occur.
+
+<a id="implementing_cache_event_handlers__section_9286E8C6B3C54089888E1680B4F43692"></a>
+For each type of handler, Geode provides a convenience class with empty stubs for the interface callback methods.
+
+**Note:**
+Write-behind cache listeners are created by extending the `AsyncEventListener` interface, and they are configured with an `AsyncEventQueue` that you assign to one or more regions.
+
+**Procedure**
+
+1.  Decide which events your application needs to handle. For each region, decide which events you want to handle. For the cache, decide whether to handle transaction events.
+2.  For each event, decide which handlers to use. The `*Listener` and `*Adapter` classes in `org.apache.geode.cache.util` show the options.
+3.  Program each event handler:
+
+    1.  Extend the handler's adapter class.
+    2.  If you want to declare the handler in the `cache.xml`, implement the `org.apache.geode.cache.Declarable` interface as well.
+    3.  Implement the handler's callback methods as needed by your application.
+
+        **Note:**
+        Improperly programmed event handlers can block your distributed system. Cache events are synchronous. To modify your cache or perform distributed operations based on events, avoid blocking your system by following the guidelines in [How to Safely Modify the Cache from an Event Handler Callback](writing_callbacks_that_modify_the_cache.html#writing_callbacks_that_modify_the_cache).
+
+        Example:
+
+        ``` pre
+        package myPackage;
+        import org.apache.geode.cache.Declarable;
+        import org.apache.geode.cache.EntryEvent;
+        import org.apache.geode.cache.util.CacheListenerAdapter;
+        import java.util.Properties;
+                                
+        public class MyCacheListener extends CacheListenerAdapter implements Declarable {
+        /** Processes an afterCreate event.
+         * @param event The afterCreate EntryEvent received
+        */
+          public void afterCreate(EntryEvent event) {
+            String eKey = event.getKey();
+            String eVal = event.getNewValue();
+              ... do work with event info
+          }
+            ... process other event types                     
+        }
+                                
+        ```
+
+4.  Install the event handlers, either through the API or the `cache.xml`.
+
+    XML Region Event Handler Installation:
+
+    ``` pre
+    <region name="trades">
+      <region-attributes ... >
+        <!-- Cache listener -->
+        <cache-listener>
+          <class-name>myPackage.MyCacheListener</class-name>
+        <cache-listener>
+      </region-attributes>
+    </region>
+    ```
+
+    Java Region Event Handler Installation:
+
+    ``` pre
+    tradesRegion = cache.createRegionFactory(RegionShortcut.PARTITION)
+      .addCacheListener(new MyCacheListener())
+      .create("trades");
+    ```
+
+    XML Transaction Writer and Listener Installation:
+
+    ``` pre
+    <cache search-timeout="60">
+          <cache-transaction-manager>
+            <transaction-listener>
+              <class-name>com.company.data.MyTransactionListener</class-name>
+                    <parameter name="URL">
+                      <string>jdbc:cloudscape:rmi:MyData</string>
+                    </parameter>
+               </transaction-listener> 
+               <transaction-listener>
+                . . . 
+               </transaction-listener> 
+               <transaction-writer>
+                    <class-name>com.company.data.MyTransactionWriter</class-name>
+                    <parameter name="URL">
+                        <string>jdbc:cloudscape:rmi:MyData</string>
+                    </parameter>
+                    <parameter 
+                      ...
+                    </parameter>
+               </transaction-writer> 
+          </cache-transaction-manager>
+          . . . 
+    </cache>
+    ```
+
+The event handlers are initialized automatically during region creation when you start the member.
+
+## <a id="implementing_cache_event_handlers__section_C62E9535C43B4BC5A7AA7B8B4125D1EB" class="no-quick-link"></a>Installing Multiple Listeners on a Region
+
+XML:
+
+``` pre
+<region name="exampleRegion">
+  <region-attributes>
+    . . .
+    <cache-listener>
+      <class-name>myCacheListener1</class-name>
+    </cache-listener>
+    <cache-listener>
+      <class-name>myCacheListener2</class-name>
+    </cache-listener>
+    <cache-listener>
+      <class-name>myCacheListener3</class-name>
+    </cache-listener>
+  </region-attributes>
+</region>
+```
+
+API:
+
+``` pre
+CacheListener listener1 = new myCacheListener1(); 
+CacheListener listener2 = new myCacheListener2(); 
+CacheListener listener3 = new myCacheListener3(); 
+
+Region nr = cache.createRegionFactory()
+  .initCacheListeners(new CacheListener[]
+    {listener1, listener2, listener3})
+  .setScope(Scope.DISTRIBUTED_NO_ACK)
+  .create(name);
+  
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/implementing_durable_client_server_messaging.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/implementing_durable_client_server_messaging.html.md.erb b/geode-docs/developing/events/implementing_durable_client_server_messaging.html.md.erb
new file mode 100644
index 0000000..d60f55a
--- /dev/null
+++ b/geode-docs/developing/events/implementing_durable_client_server_messaging.html.md.erb
@@ -0,0 +1,182 @@
+---
+title:  Implementing Durable Client/Server Messaging
+---
+
+<a id="implementing_durable_client_server_messaging__section_7A0D0B7D1F2748C7BA7479E0FD5C6BFA"></a>
+Use durable messaging for subscriptions that you need maintained for your clients even when your clients are down or disconnected. You can configure any of your event subscriptions as durable. Events for durable queries and subscriptions are saved in queue when the client is disconnected and played back when the client reconnects. Other queries and subscriptions are removed from the queue.
+
+Use durable messaging for client/server installations that use event subscriptions.
+
+These are the high-level tasks described in this topic:
+
+1.  Configure your client as durable
+2.  Decide which subscriptions should be durable and configure accordingly
+3.  Program your client to manage durable messaging for disconnect, reconnect, and event handling
+
+## <a id="implementing_durable_client_server_messaging__section_643EB5FA6F09463C80646786394F1E02" class="no-quick-link"></a>Configure the Client as Durable
+
+Use one of the following methods:
+
+-   `gemfire.properties` file:
+
+    ``` pre
+    durable-client-id=31 
+    durable-client-timeout=200 
+    ```
+
+-   Java:
+
+    ``` pre
+    Properties props = new Properties(); 
+    props.setProperty("durable-client-id", "31"); 
+    props.setProperty("durable-client-timeout", "" + 200); 
+    CacheFactory cf = new CacheFactory(props);
+    ```
+
+<a id="implementing_durable_client_server_messaging__section_B8E01FE4B5A347EB96085DA3194F6AE8"></a>
+
+The `durable-client-id` indicates that the client is durable and gives the server an identifier to correlate the client to its durable messages. For a non-durable client, this id is an empty string. The ID can be any number that is unique among the clients attached to servers in the same distributed system.
+
+The `durable-client-timeout` tells the server how long to wait for client reconnect. When this timeout is reached, the server stops storing to the client's message queue and discards any stored messages. The default is 300 seconds. This is a tuning parameter. If you change it, take into account the normal activity of your application, the average size of your messages, and the level of risk you can handle, both in lost messages and in the servers' capacity to store enqueued messages. Assuming that no messages are being removed from the queue, how long can the server run before the queue reaches the maximum capacity? How many durable clients can the server handle? To assist with tuning, use the Geode message queue statistics for durable clients through the disconnect and reconnect cycles.
+
+## <a id="implementing_durable_client_server_messaging__section_BB5DCCE0582E4FE8B62DE473512FC704" class="no-quick-link"></a>Configure Durable Subscriptions and Continuous Queries
+
+The register interest and query creation methods all have an optional boolean parameter for indicating durability. By default all are non-durable.
+
+``` pre
+// Durable registration
+// Define keySpecification, interestResultPolicy, durability 
+exampleRegion.registerInterest(keySpecification, interestResultPolicySpecification, true);
+                    
+// Durable CQ
+// Define cqName, queryString, cqAttributes, durability
+CqQuery myCq = queryService.newCq(cqName, queryString, cqAttributes, true);
+```
+
+Save only critical messages while the client is disconnected by only indicating durability for critical subscriptions and CQs. When the client is connected to its servers, it receives messages for all keys and queries reqistered. When the client is disconnected, non-durable interest registrations and CQs are discontinued but all messages already in the queue for them remain there.
+
+**Note:**
+For a single durable client ID, you must maintain the same durability of your registrations and queries between client runs.
+
+## <a id="implementing_durable_client_server_messaging__section_0FBD23CC79784E588135FE93306EC0A4" class="no-quick-link"></a>Program the Client to Manage Durable Messaging
+
+Program your durable client to be durable-messaging aware when it disconnects, reconnects, and handles events from the server.
+
+1.  Disconnect with a request to keep your queues active by using `Pool.close` or `ClientCache.close` with the boolean `keepalive` parameter.
+
+    ``` pre
+    clientCache.close(true);
+    ```
+
+    To be retained during client down time, durable continuous queries (CQs) must be executing at the time of disconnect.
+
+2.  Program your durable client's reconnection to:
+
+    1.  If desired, detect whether the previously registered subscription queue is available upon durable client reconnection and the count of pending events in the queue. Based on the results, you can then decide whether to receive the remaining events or close the cache if the number is too large.
+
+        For example, for a client with only the default pool created:
+
+        ``` pre
+        int pendingEvents = cache.getDefaultPool().getPendingEventCount();
+
+        if (pendingEvents == -2) { // client connected for the first time  \u2026 // continue
+        } 
+        else if (pendingEvents == -1) { // client reconnected but after the timeout period  
+        \u2026 // handle possible data loss
+        } 
+        else { // pendingEvents >= 0  
+        \u2026 // decide to invoke readyForEvents() or ClientCache::close(false)/pool.destroy()
+        }
+        ```
+
+        For a client with multiple pools:
+
+        ``` pre
+        int pendingEvents = 0;
+
+        int pendingEvents1 = PoolManager.find(\u201cpool1\u201d).getPendingEventCount();
+
+        pendingEvents += (pendingEvents1 > 0) ? pendingEvents1 : 0;
+
+        int pendingEvents2 = PoolManager.find(\u201cpool2\u201d).getPendingEventCount();
+
+        pendingEvents += (pendingEvents2 > 0) ? pendingEvents2 : 0;
+
+        // process individual pool counts separately.
+        ```
+
+        The `getPendingEventCount` API can return the following possible values:
+        -   A value representing a count of events pending at the server. Note that this count is an approximate value based on the time the durable client pool connected or reconnected to the server. Any number of invocations will return the same value.
+        -   A zero value if there are no events pending at server for this client pool
+        -   A negative value indicates that no queue is available at the server for the client pool.
+            -   -1 indicates that the client pool has reconnected to the server after its durable-client-timeout period has elapsed. The pool's subscription queue has been removed possibly causing data loss.
+            -   A value of -2 indicates that this client pool has connected to server for the first time.
+
+    2.  Connect, initialize the client cache, regions, and any cache listeners, and create and execute any durable continuous queries.
+    3.  Run all interest registration calls.
+
+        **Note:**
+        Registering interest with `InterestResultPolicy.KEYS_VALUES` initializes the client cache with the *current* values of specified keys. If concurrency checking is enabled for the region, any earlier (older) region events that are replayed to the client are ignored and are not sent to configured listeners. If your client must process all replayed events for a region, register with `InterestResultPolicy.KEYS` or `InterestResultPolicy.NONE` when reconnecting. Or, disable concurrency checking for the region in the client cache. See [Consistency for Region Updates](../distributed_regions/region_entry_versions.html#topic_CF2798D3E12647F182C2CEC4A46E2045).
+
+    4.  Call `ClientCache.readyForEvents` so the server will replay stored events. If the ready message is sent earlier, the client may lose events.
+
+    ``` pre
+    ClientCache clientCache = ClientCacheFactory.create(); 
+    // Here, create regions, listeners that are not defined in the cache.xml . . .
+    // Here, run all register interest calls before doing anything else
+    clientCache.readyForEvents(); 
+    ```
+
+3.  When you program your durable client `CacheListener`:
+    1.  Implement the callback methods to behave properly when stored events are replayed. The durable client\u2019s `CacheListener` must be able to handle having events played after the fact. Generally listeners receive events very close to when they happen, but the durable client may receive events that occurred minutes before and are not relevant to current cache state.
+    2.  Consider whether to use the `CacheListener` callback method, `afterRegionLive`, which is provided specifically for the end of durable event replay. You can use it to perform application-specific operations before resuming normal event handling. If you do not wish to use this callback, and your listener is an instance of `CacheListener` (instead of a `CacheListenerAdapter`) implement `afterRegionLive` as an empty method.
+
+## Initial Operation
+
+The initial startup of a durable client is similar to the startup of any other client, except that it specifically calls the `ClientCache.readyForEvents` method when all regions and listeners on the client are ready to process messages from the server.
+
+## <a id="implementing_durable_client_server_messaging__section_9B9A9EE8C7FF47948C8108A0F7F4E32E" class="no-quick-link"></a>Disconnection
+
+While the client and servers are disconnected, their operation varies depending on the circumstances.
+
+-   **Normal disconnect**. When a client closes its connection, the servers stop sending messages to the client and release its connection. If the client requests it, the servers maintain the queues and durable interest list information until the client reconnects or times out. The non-durable interest lists are discarded. The servers continue to queue up incoming messages for entries on the durable interest list. All messages that were in the queue when the client disconnected remain in the queue. If the client requests not to have its subscriptions maintained, or if there are no durable subscriptions, the servers unregister the client and do the same cleanup as for a non-durable client.
+-   **Abnormal disconnect**. If the client crashes or loses its connections to all servers, the servers automatically maintain its message queue and durable subscriptions until it reconnects or times out.
+-   **Client disconnected but operational**. If the client operates while it is disconnected, it gets what data it can from the local client cache. Since updates are not allowed, the data can become stale. An `UnconnectedException` occurs if an update is attempted.
+-   **Client stays disconnected past timeout period**. The servers track how long to keep a durable subscription queue alive based on the `durable-client-timeout` setting. If the client remains disconnected longer than the timeout, the servers unregister the client and do the same cleanup that is performed for a non-durable client. The servers also log an alert. When a timed-out client reconnects, the servers treat it as a new client making its initial connection.
+
+## <a id="implementing_durable_client_server_messaging__section_E3C42A6FDC884FC38ECC121955C06BDC" class="no-quick-link"></a>Reconnection
+
+During initialization, the client cache is not blocked from doing operations, so you might be receiving old stored events from the server at the same time that your client cache is being updated by much more current events. These are the things that can act on the cache concurrently:
+
+-   Results returned by the server in response to the client\u2019s interest registrations.
+-   Client cache operations by the application.
+-   Callbacks triggered by replaying old events from the queue
+
+Geode handles the conflicts between the application and interest registrations so they do not create cache update conflicts. But you must program your event handlers so they don't conflict with current operations. This is true for all event handlers, but it is especially important for those used in durable clients. Your handlers may receive events well after the fact and you must ensure your programming takes that into account.
+
+This figure shows the three concurrent procedures during the initialization process. The application begins operations immediately on the client (step 1), while the client\u2019s cache ready message (also step 1) triggers a series of queue operations on the servers (starting with step 2 on the primary server). At the same time, the client registers interest (step 2 on the client) and receives a response from the server. Message B2 applies to an entry in Region A, so the cache listener handles B2\u2019s event. Because B2 comes before the marker, the client does not apply the update to the cache.
+
+<img src="../../images/ClientServerAdvancedTopics-6.gif" alt="Durable client reconnection. " id="implementing_durable_client_server_messaging__image_068A59FA019E46FA9DE0BC7FA60AAADD" class="image" />
+
+## <a id="implementing_durable_client_server_messaging__section_C848DF6D649F4DCAA2B895F5439BAA97" class="no-quick-link"></a>Durable Event Replay
+
+When a durable client reconnects before the timeout period, the servers replay the events that were stored while the client was gone and then resume normal event messaging to the client. To avoid overwriting current entries with old data, the stored events are not applied to the client cache. Stored events are distinguished from new normal events by a marker that is sent to the client once all old events are replayed.
+
+1.  All servers with a queue for this client place a marker in their queue when the client reconnects.
+2.  The primary server sends the queued messages to the client up to the marker.
+3.  The client receives the messages but does not apply the usual automatic updates to its cache. If cache listeners are installed, they handle the events.
+4.  The client receives the marker message indicating that all past events have been played back.
+5.  The server sends the current list of live regions.
+6.  For every `CacheListener` in each live region on the client, the marker event triggers the `afterRegionLive` callback. After the callback, the client begins normal processing of events from the server and applies the updates to its cache.
+
+Even when a new client starts up for the first time, the client cache ready markers are inserted in the queues. If messages start coming into the new queues before the servers insert the marker, those messages are considered as having happened while the client was disconnected, and their events are replayed the same as in the reconnect case.
+
+## <a id="implementing_durable_client_server_messaging__section_E519D541E2844292ABD2E0BDF5FB5798" class="no-quick-link"></a>Application Operations During Interest Registration
+
+Application operations take precedence over interest registration responses. The client can perform operations while it is receiving its interest registration responses. When adding register interest responses to the client cache, the following rules are applied:
+
+-   If the entry already exists in the cache with a valid value, it is not updated.
+-   If the entry is invalid, and the register interest response is valid, the valid value is put into the cache.
+-   If an entry is marked destroyed, it is not updated. Destroyed entries are removed from the system after the register interest response is completed.
+-   If the interest response does not contain any results, because all of those keys are absent from the server\u2019s cache, the client\u2019s cache can start out empty. If the queue contains old messages related to those keys, the events are still replayed in the client\u2019s cache.
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/implementing_write_behind_event_handler.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/implementing_write_behind_event_handler.html.md.erb b/geode-docs/developing/events/implementing_write_behind_event_handler.html.md.erb
new file mode 100644
index 0000000..908b0f5
--- /dev/null
+++ b/geode-docs/developing/events/implementing_write_behind_event_handler.html.md.erb
@@ -0,0 +1,228 @@
+---
+title:  Implementing an AsyncEventListener for Write-Behind Cache Event Handling
+---
+
+An `AsyncEventListener` asynchronously processes batches of events after they have been applied to a region. You can use an `AsyncEventListener` implementation as a write-behind cache event handler to synchronize region updates with a database.
+
+## <a id="implementing_write_behind_cache_event_handling__section_35B3ADC77E1147468A568E49C8C308E1" class="no-quick-link"></a>How an AsyncEventListener Works
+
+An `AsyncEventListener` instance is serviced by its own dedicated thread in which a callback method is invoked. Events that update a region are placed in an internal `AsyncEventQueue`, and one or more threads dispatch batches of events at a time to the listener implementation.
+
+You can configure an `AsyncEventQueue` to be either serial or parallel. A serial queue is deployed to one Geode member, and it delivers all of a region's events, in order of occurrence, to a configured `AsyncEventListener` implementation. A parallel queue is deployed to multiple Geode members, and each instance of the queue delivers region events, possibly simultaneously, to a local `AsyncEventListener` implementation.
+
+While a parallel queue provides the best throughput for writing events, it provides less control for ordering those events. With a parallel queue, you cannot preserve event ordering for a region as a whole because multiple Geode servers queue and deliver the region's events at the same time. However, the ordering of events for a given partition (or for a given queue of a distributed region) can be preserved.
+
+For both serial and parallel queues, you can control the maximum amount of memory that each queue uses, as well as the batch size and frequency for processing batches in the queue. You can also configure queues to persist to disk (instead of simply overflowing to disk) so that write-behind caching can pick up where it left off when a member shuts down and is later restarted.
+
+Optionally, a queue can use multiple threads to dispatch queued events. When you configure multiple threads for a serial queue, the logical queue that is hosted on a Geode member is divided into multiple physical queues, each with a dedicated dispatcher thread. You can then configure whether the threads dispatch queued events by key, by thread, or in the same order in which events were added to the queue. When you configure multiple threads for a parallel queue, each queue hosted on a Geode member is processed by dispatcher threads; the total number of queues created depends on the number of members that host the region.
+
+A `GatewayEventFilter` can be placed on the `AsyncEventQueue` to control whether a particular event is sent to a selected `AsyncEventListener`. For example, events associated with sensitive data could be detected and not queued. For more detail, see the Javadocs for `GatewayEventFilter`.
+
+A `GatewayEventSubstitutionFilter` can specify whether the event is transmitted in its entirety or in an altered representation. For example, to reduce the size of the data being serialized, it might be a more efficient to represent a full object by only its key. For more detail, see the Javadocs for `GatewayEventSubstitutionFilter`.
+
+## Operation Distribution from an AsyncEventQueue
+
+An `AsyncEventQueue` distributes these operations:
+
+-   Entry create
+-   Entry put
+-   Entry distributed destroy, providing the operation is not an expiration action
+-   Expiration destroy, if the `forward-expiration-destroy` attribute is set to `true`. By default, this attribute is `false`, but you can set it to `true` using `cache.xml` or `gfsh`. To set this attribute in the Java API, use `AsyncEventQueueFactory.setForwardExpirationDestroy()`. See the javadocs for details.
+
+These operations are not distributed:
+
+-   Get
+-   Invalidate
+-   Local destroy
+-   Region operations
+-   Expiration actions
+-   Expiration destroy, if the `forward-expiration-destroy` attribute is set to `false`. The default value is `false`.
+
+## <a id="implementing_write_behind_cache_event_handling__section_6FDBAFCB9C194EB0AF0822A509F2F9F2" class="no-quick-link"></a>Guidelines for Using an AsyncEventListener
+
+Review the following guidelines before using an AsyncEventListener:
+
+-   If you use an `AsyncEventListener` to implement a write-behind cache listener, your code should check for the possibility that an existing database connection may have been closed due to an earlier exception. For example, check for `Connection.isClosed()` in a catch block and re-create the connection as needed before performing further operations.
+-   Use a serial `AsyncEventQueue` if you need to preserve the order of region events within a thread when delivering events to your listener implementation. Use parallel queues when the order of events within a thread is not important, and when you require maximum throughput for processing events. In both cases, serial and parallel, the order of operations on a given key is preserved within the scope of the thread.
+-   You must install the `AsyncEventListener` implementation on a Geode member that hosts the region whose events you want to process.
+-   If you configure a parallel `AsyncEventQueue`, deploy the queue on each Geode member that hosts the region.
+-   You can install a listener on more than one member to provide high availability and guarantee delivery for events, in the event that a member with the active `AsyncEventListener` shuts down. At any given time only one member has an active listener for dispatching events. The listeners on other members remain on standby for redundancy. For best performance and most efficient use of memory, install only one standby listener (redundancy of at most one).
+-   Install no more than one standby listener (redundancy of at most one) for performance and memory reasons.
+-   To preserve pending events through member shutdowns, configure Geode to persist the internal queue of the `AsyncEventListener` to an available disk store. By default, any pending events that reside in the internal queue of an `AsyncEventListener` are lost if the active listener's member shuts down.
+-   To ensure high availability and reliable delivery of events, configure the event queue to be both persistent and redundant.
+
+## <a id="implementing_write_behind_cache_event_handling__section_FB3EB382E37945D9895E09B47A64D6B9" class="no-quick-link"></a>Implementing an AsyncEventListener
+
+To receive region events for processing, you create a class that implements the `AsyncEventListener` interface. The `processEvents` method in your listener receives a list of queued `AsyncEvent` objects in each batch.
+
+Each `AsyncEvent` object contains information about a region event, such as the name of the region where the event occurred, the type of region operation, and the affected key and value.
+
+The basic framework for implementing a write-behind event handler involves iterating through the batch of events and writing each event to a database. For example:
+
+``` pre
+class MyAsyncEventListener implements AsyncEventListener {
+    
+  public boolean processEvents(List<AsyncEvent> events) {
+
+      // Process each AsyncEvent
+
+      for(AsyncEvent event: events) {
+
+          // Write the event to a database
+
+      }
+    }
+}
+```
+
+## <a id="implementing_write_behind_cache_event_handling__section_AB80262CFB6D4867B52A5D6D880A5294" class="no-quick-link"></a>Processing AsyncEvents
+
+Use the [AsyncEventListener.processEvents](/releases/latest/javadoc/org/apache/geode/cache/asyncqueue/AsyncEventListener.html) method to process AsyncEvents. This method is called asynchronously when events are queued to be processed. The size of the list reflects the number of batch events where batch size is defined in the AsyncEventQueueFactory. The `processEvents` method returns a boolean; true if the AsyncEvents are processed correctly, and false if any events fail processing. As long as `processEvents` returns false, Geode continues to re-try processing the events.
+
+You can use the `getDeserializedValue` method to obtain cache values for entries that have been updated or created. Since the `getDeserializedValue` method will return a null value for destroyed entries, you should use the `getKey` method to obtain references to cache objects that have been destroyed. Here's an example of processing AsyncEvents:
+
+``` pre
+public boolean processEvents(@SuppressWarnings("rawtypes") List<AsyncEvent> list)   
+ {  
+     logger.log (Level.INFO, String.format("Size of List<GatewayEvent> = %s", list.size()));  
+     List<JdbcBatch> newEntries = new ArrayList<JdbcBatch>();  
+       
+     List<JdbcBatch> updatedEntries = new ArrayList<JdbcBatch>();  
+     List<String> destroyedEntries = new ArrayList<String>();  
+     int possibleDuplicates = 0;  
+       
+     for (@SuppressWarnings("rawtypes") AsyncEvent ge: list)  
+     {  
+         
+       if (ge.getPossibleDuplicate())  
+        possibleDuplicates++;  
+          
+       if ( ge.getOperation().equals(Operation.UPDATE))   
+       {  
+      updatedEntries.add((JdbcBatch) ge.getDeserializedValue());  
+       }  
+       else if ( ge.getOperation().equals(Operation.CREATE))  
+       {  
+         newEntries.add((JdbcBatch) ge.getDeserializedValue());  
+       }  
+       else if ( ge.getOperation().equals(Operation.DESTROY))  
+       {  
+      destroyedEntries.add(ge.getKey().toString());  
+       }  
+        
+     }  
+```
+
+## <a id="implementing_write_behind_cache_event_handling__section_9286E8C6B3C54089888E1680B4F43692" class="no-quick-link"></a>Configuring an AsyncEventListener
+
+To configure a write-behind cache listener, you first configure an asynchronous queue to dispatch the region events, and then create the queue with your listener implementation. You then assign the queue to a region in order to process that region's events.
+
+**Procedure**
+
+1.  Configure a unique `AsyncEventQueue` with the name of your listener implementation. You can optionally configure the queue for parallel operation, persistence, batch size, and maximum memory size. See [WAN Configuration](../../reference/topics/elements_ref.html#topic_7B1CABCAD056499AA57AF3CFDBF8ABE3) for more information.
+
+    **gfsh configuration**
+
+    ``` pre
+    gfsh>create async-event-queue --id=sampleQueue --persistent --disk-store=exampleStore --listener=com.myCompany.MyAsyncEventListener --listener-param=url#jdbc:db2:SAMPLE,username#gfeadmin,password#admin1
+    ```
+
+    The parameters for this command uses the following syntax:
+
+    ``` pre
+    create async-event-queue --id=value --listener=value [--group=value] [--batch-size=value] 
+    [--persistent(=value)?] [--disk-store=value] [--max-queue-memory=value] [--listener-param=value(,value)*]
+    ```
+
+    For more information, see [create async-event-queue](../../tools_modules/gfsh/command-pages/create.html#topic_ryz_pb1_dk).
+
+    **cache.xml Configuration**
+
+    ``` pre
+    <cache>
+       <async-event-queue id="sampleQueue" persistent="true"
+        disk-store-name="exampleStore" parallel="false">
+          <async-event-listener>
+             <class-name>MyAsyncEventListener</class-name>
+             <parameter name="url"> 
+               <string>jdbc:db2:SAMPLE</string> 
+             </parameter> 
+             <parameter name="username"> 
+               <string>gfeadmin</string> 
+             </parameter> 
+             <parameter name="password"> 
+               <string>admin1</string> 
+             </parameter> 
+          </async-event-listener>
+        </async-event-queue>
+    ...
+    </cache>
+    ```
+
+    **Java Configuration**
+
+    ``` pre
+    Cache cache = new CacheFactory().create();
+    AsyncEventQueueFactory factory = cache.createAsyncEventQueueFactory();
+    factory.setPersistent(true);
+    factory.setDiskStoreName("exampleStore");
+    factory.setParallel(false);
+    AsyncEventListener listener = new MyAsyncEventListener();
+    AsyncEventQueue asyncQueue = factory.create("sampleQueue", listener);
+    ```
+
+2.  If you are using a parallel `AsyncEventQueue`, the gfsh example above requires no alteration, as gfsh applies to all members. If using cache.xml or the Java API to configure your `AsyncEventQueue`, repeat the above configuration in each Geode member that will host the region. Use the same ID and configuration settings for each queue configuration.
+    **Note:**
+    You can ensure other members use the sample configuration by using the cluster configuration service available in gfsh. See [Overview of the Cluster Configuration Service](../../configuring/cluster_config/gfsh_persist.html).
+
+3.  On each Geode member that hosts the `AsyncEventQueue`, assign the queue to each region that you want to use with the `AsyncEventListener` implementation.
+
+    **gfsh Configuration**
+
+    ``` pre
+    gfsh>create region --name=Customer --async-event-queue-id=sampleQueue 
+    ```
+
+    Note that you can specify multiple queues on the command line in a comma-delimited list.
+
+    **cache.xml Configuration**
+
+    ``` pre
+    <cache>
+    <region name="Customer">
+        <region-attributes async-event-queue-ids="sampleQueue">
+        </region-attributes>
+      </region>
+    ...
+    </cache>
+    ```
+
+    **Java Configuration**
+
+    ``` pre
+    RegionFactory rf1 = cache.createRegionFactory();
+    rf1.addAsyncEventQueue(sampleQueue);
+    Region customer = rf1.create("Customer");
+        
+    // Assign the queue to multiple regions as needed
+    RegionFactory rf2 = cache.createRegionFactory();
+    rf2.addAsyncEventQueue(sampleQueue);
+    Region order = rf2.create("Order");
+    ```
+
+    Using the Java API, you can also add and remove queues to regions that have already been created:
+
+    ``` pre
+    AttributesMutator mutator = order.getAttributesMutator();
+    mutator.addAsyncEventQueueId("sampleQueue");        
+    ```
+
+    See the [Geode API documentation](/releases/latest/javadoc/org/apache/geode/cache/AttributesMutator.html) for more information.
+
+4.  Optionally configure persistence and conflation for the queue.
+    **Note:**
+    You must configure your AsyncEventQueue to be persistent if you are using persistent data regions. Using a non-persistent queue with a persistent region is not supported.
+
+5.  Optionally configure multiple dispatcher threads and the ordering policy for the queue using the instructions in [Configuring Dispatcher Threads and Order Policy for Event Distribution](configuring_gateway_concurrency_levels.html).
+
+The `AsyncEventListener` receives events from every region configured with the associated `AsyncEventQueue`.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/limit_server_subscription_queue_size.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/limit_server_subscription_queue_size.html.md.erb b/geode-docs/developing/events/limit_server_subscription_queue_size.html.md.erb
new file mode 100644
index 0000000..ff571b2
--- /dev/null
+++ b/geode-docs/developing/events/limit_server_subscription_queue_size.html.md.erb
@@ -0,0 +1,57 @@
+---
+title:  Limit the Server's Subscription Queue Memory Use
+---
+
+<a id="limit_server_subscription_queue_size__section_1791DFB89502480EB57F81D16AC0EBAC"></a>
+These are options for limiting the amount of server memory the subscription queues consume.
+
+-   Optional: Conflate the subscription queue messages.
+-   Optional: Increase the frequency of queue synchronization. This only applies to configurations where server redundancy is used for high availability. Increase the client\u2019s pool configuration, `subscription-ack-interval`. The client periodically sends a batch acknowledgment of messages to the server, rather than acknowledging each message individually. A lower setting speeds message delivery and generally reduces traffic between the server and client. A higher setting helps contain server queue size. Example:
+
+    ``` pre
+    <!-- Set subscription ack interval to 3 seconds -->
+    <cache> 
+      <pool ... subscription-enabled="true" 
+                subscription-ack-interval="3000"> 
+      ... 
+    </pool>
+    ```
+
+    You might want to lower the interval if you have a very busy system and want to reduce the space required in the servers for the subscription queues. More frequent acknowledgments means fewer events held in the server queues awaiting acknowledgment.
+
+-   Optional: Limit Queue Size. Cap the server queue size using overflow or blocking. These options help avoid out of memory errors on the server in the case of slow clients. A slow client slows the rate that the server can send messages, causing messages to back up in the queue, possibly leading to out of memory on the server. You can use one or the other of these options, but not both:
+    -   Optional: Overflow to Disk. Configure subscription queue overflow by setting the server\u2019s `client-subscription` properties. With overflow, the most recently used (MRU) events are written out to disk, keeping the oldest events, the ones that are next in line to be sent to the client, available in memory. Example:
+
+        ``` pre
+        <!-- Set overflow after 10K messages are enqueued -->
+        <cache-server port="40404"> 
+          <client-subscription 
+            eviction-policy="entry" 
+            capacity="10000" 
+            disk-store-name="svrOverflow"/> 
+        </cache-server>
+        ```
+
+    -   Optional: Block While Queue Full. Set the server\u2019s `maximum-message-count` to the maximum number of event messages allowed in any single subscription queue before incoming messages are blocked. You can only limit the message count, not the size allocated for messages. Examples:
+
+        XML:
+
+        ``` pre
+        <!-- Set the maximum message count to 50000 entries -->
+          <cache-server port="41414" maximum-message-count="50000" />
+        ```
+
+        API:
+
+        ``` pre
+        Cache cache = ...; 
+        CacheServer cacheServer = cache.addCacheServer(); 
+        cacheServer.setPort(41414); 
+        cacheServer.setMaximumMessageCount(50000); 
+        cacheServer.start(); 
+        ```
+
+        **Note:**
+        With this setting, one slow client can slow the server and all of its other clients because this blocks the threads that write to the queues. All operations that add messages to the queue block until the queue size drops to an acceptable level. If the regions feeding these queues are partitioned or have `distributed-ack` or `global` scope, operations on them remain blocked until their event messages can be added to the queue. If you are using this option and see stalling on your server region operations, your queue capacity might be too low for your application behavior.
+
+


[05/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/udp_communication.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/udp_communication.html.md.erb b/geode-docs/managing/monitor_tune/udp_communication.html.md.erb
new file mode 100644
index 0000000..2f85709
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/udp_communication.html.md.erb
@@ -0,0 +1,33 @@
+---
+title:  UDP Communication
+---
+
+You can make configuration adjustments to improve multicast and unicast UDP performance of peer-to-peer communication.
+
+You can tune your Geode UDP messaging to maximize throughput. There are two main tuning goals: to use the largest reasonable datagram packet sizes and to reduce retransmission rates. These actions reduce messaging overhead and overall traffic on your network while still getting your data where it needs to go. Geode also provides statistics to help you decide when to change your UDP messaging settings.
+
+Before you begin, you should understand Geode [Basic Configuration and Programming](../../basic_config/book_intro.html). See also the general communication tuning and multicast-specific tuning covered in [Socket Communication](socket_communication.html) and [Multicast Communication](multicast_communication.html#multicast).
+
+## <a id="udp_comm__section_4089ACC33AF34FA888BAE3CA3602A730" class="no-quick-link"></a>UDP Datagram Size
+
+You can change the UDP datagram size with the Geode property udp-fragment-size. This is the maximum packet size for transmission over UDP unicast or multicast sockets. When possible, smaller messages are combined into batches up to the size of this setting.
+
+Most operating systems set a maximum transmission size of 64k for UDP datagrams, so this setting should be kept under 60k to allow for communication headers. Setting the fragment size too high can result in extra network traffic if your network is subject to packet loss, as more data must be resent for each retransmission. If many UDP retransmissions appear in DistributionStats, you maybe achieve better throughput by lowering the fragment size.
+
+## <a id="udp_comm__section_B9882A4EBA004599B2207B9CB1D3ADC9" class="no-quick-link"></a>UDP Flow Control
+
+UDP protocols typically have a flow control protocol built into them to keep processes from being overrun by incoming no-ack messages. The Geode UDP flow control protocol is a credit based system in which the sender has a maximum number of bytes it can send before getting its byte credit count replenished, or recharged, by its receivers. While its byte credits are too low, the sender waits. The receivers do their best to anticipate the sender\u2019s recharge requirements and provide recharges before they are needed. If the senders credits run too low, it explicitly requests a recharge from its receivers.
+
+This flow control protocol, which is used for all multicast and unicast no-ack messaging, is configured using a three-part Geode property mcast-flow-control. This property is composed of:
+
+-   byteAllowance\u2014Determines how many bytes (also referred to as credits) can be sent before receiving a recharge from the receiving processes.
+-   rechargeThreshold\u2014Sets a lower limit on the ratio of the sender\u2019s remaining credit to its byteAllowance. When the ratio goes below this limit, the receiver automatically sends a recharge. This reduces recharge request messaging from the sender and helps keep the sender from blocking while waiting for recharges.
+-   rechargeBlockMs\u2014Tells the sender how long to wait while needing a recharge before explicitly requesting one.
+
+In a well-tuned system, where consumers of cache events are keeping up with producers, the byteAllowance can be set high to limit flow-of-control messaging and pauses. JVM bloat or frequent message retransmissions are an indication that cache events from producers are overrunning consumers.
+
+## <a id="udp_comm__section_FB1F54A41D2643A29DB416D309ED4C56" class="no-quick-link"></a>UDP Retransmission Statistics
+
+Geode stores retransmission statistics for its senders and receivers. You can use these statistics to help determine whether your flow control and fragment size settings are appropriate for your system.
+
+The retransmission rates are stored in the DistributionStats ucastRetransmits and mcastRetransmits. For multicast, there is also a receiver-side statistic mcastRetransmitRequests that can be used to see which processes aren't keeping up and are requesting retransmissions. There is no comparable way to tell which receivers are having trouble receiving unicast UDP messages.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/network_partitioning/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/network_partitioning/chapter_overview.html.md.erb b/geode-docs/managing/network_partitioning/chapter_overview.html.md.erb
new file mode 100644
index 0000000..62a10bf
--- /dev/null
+++ b/geode-docs/managing/network_partitioning/chapter_overview.html.md.erb
@@ -0,0 +1,31 @@
+---
+title:  Network Partitioning
+---
+
+Apache Geode architecture and management features help detect and resolve network partition problems.
+
+-   **[How Network Partitioning Management Works](../../managing/network_partitioning/how_network_partitioning_management_works.html)**
+
+    Geode handles network outages by using a weighting system to determine whether the remaining available members have a sufficient quorum to continue as a distributed system.
+
+-   **[Failure Detection and Membership Views](../../managing/network_partitioning/failure_detection.html)**
+
+    Geode uses failure detection to remove unresponsive members from membership views.
+
+-   **[Membership Coordinators, Lead Members and Member Weighting](../../managing/network_partitioning/membership_coordinators_lead_members_and_weighting.html)**
+
+    Network partition detection uses a designated membership coordinator and a weighting system that accounts for a lead member to determine whether a network partition has occurred.
+
+-   **[Network Partitioning Scenarios](../../managing/network_partitioning/network_partitioning_scenarios.html)**
+
+    This topic describes network partitioning scenarios and what happens to the partitioned sides of the distributed system.
+
+-   **[Configure Apache Geode to Handle Network Partitioning](../../managing/network_partitioning/handling_network_partitioning.html)**
+
+    This section lists the configuration steps for network partition detection.
+
+-   **[Preventing Network Partitions](../../managing/network_partitioning/preventing_network_partitions.html)**
+
+    This section provides a short list of things you can do to prevent network partition from occurring.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/network_partitioning/failure_detection.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/network_partitioning/failure_detection.html.md.erb b/geode-docs/managing/network_partitioning/failure_detection.html.md.erb
new file mode 100644
index 0000000..055cc42
--- /dev/null
+++ b/geode-docs/managing/network_partitioning/failure_detection.html.md.erb
@@ -0,0 +1,45 @@
+---
+title:  Failure Detection and Membership Views
+---
+
+Geode uses failure detection to remove unresponsive members from membership views.
+
+## <a id="concept_CFD13177F78C456095622151D6EE10EB__section_1AAE6C92FED249EFBA476D8A480B8E51" class="no-quick-link"></a>Failure Detection
+
+Network partitioning has a failure detection protocol that is not subject to hanging when NICs or machines fail. Failure detection has each member observe messages from the peer to its right within the membership view (see "Membership Views" below for the view layout). A member that suspects the failure of its peer to the right sends a datagram heartbeat request to the suspect member. With no response from the suspect member, the suspicious member broadcasts a `SuspectMembersMessage` datagram message to all other members. The coordinator attempts to connect to the suspect member. If the connection attempt is unsuccessful, the suspect member is removed from the membership view. The suspect member is sent a message to disconnect from the distributed system and close the cache. In parallel to the receipt of the `SuspectMembersMessage`, a distributed algorithm promotes the leftmost member within the view to act as the coordinator, if the coordinator is the suspect member.
+
+Failure detection processing is also initiated on a member if the `gemfire.properties` `ack-wait-threshold` elapses before receiving a response to a message, if a TCP/IP connection cannot be made to the member for peer-to-peer (P2P) messaging, and if no other traffic is detected from the member.
+
+**Note:**
+The TCP connection ping is not used for connection keep alive purposes; it is only used to detect failed members. See [TCP/IP KeepAlive Configuration](../monitor_tune/socket_tcp_keepalive.html#topic_jvc_pw3_34) for TCP keep alive configuration.
+
+If a new membership view is sent out that includes one or more failed members, the coordinator will log new quorum weight calculations. At any point, if quorum loss is detected due to unresponsive processes, the coordinator will also log a severe level message to identify the failed members:
+``` pre
+Possible loss of quorum detected due to loss of {0} cache processes: {1}
+```
+
+in which {0} is the number of processes that failed and {1} lists the members (cache processes).
+
+## <a id="concept_CFD13177F78C456095622151D6EE10EB__section_1170FBBD6B7A483AB2C2A837F1B8876D" class="no-quick-link"></a>Membership Views
+
+The following is a sample membership view:
+
+``` pre
+[info 2012/01/06 11:44:08.164 PST bridgegemfire1 <UDP Incoming Message Handler> tid=0x1f] 
+Membership: received new view  [ent(5767)<v0>:8700|16] [ent(5767)<v0>:8700/44876, 
+ent(5829)<v1>:48034/55334, ent(5875)<v2>:4738/54595, ent(5822)<v5>:49380/39564, 
+ent(8788)<v7>:24136/53525]
+```
+
+The components of the membership view are as follows:
+
+-   The first part of the view (`[ent(5767)<v0>:8700|16]` in the example above) corresponds to the view ID. It identifies:
+    -   the address and processId of the membership coordinator-- `ent(5767)` in example above.
+    -   the view-number (`<vXX>`) of the membership view that the member first appeared in-- `<v0>` in example above.
+    -   membership-port of the membership coordinator-- `8700` in the example above.
+    -   view-number-- `16` in the example above
+-   The second part of the view lists all of the member processes in the current view. `[ent(5767)<v0>:8700/44876,                             ent(5829)<v1>:48034/55334, ent(5875)<v2>:4738/54595,                             ent(5822)<v5>:49380/39564,                             ent(8788)<v7>:24136/53525]` in the example above.
+-   The overall format of each listed member is:`Address(processId)<vXX>:membership-port/distribution                             port`. The membership coordinator is almost always the first member in the view and the rest are ordered by age.
+-   The membership-port is the JGroups TCP UDP port that it uses to send datagrams. The distribution-port is the TCP/IP port that is used for cache messaging.
+-   Each member watches the member to its right for failure detection purposes.
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/network_partitioning/handling_network_partitioning.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/network_partitioning/handling_network_partitioning.html.md.erb b/geode-docs/managing/network_partitioning/handling_network_partitioning.html.md.erb
new file mode 100644
index 0000000..70e9668
--- /dev/null
+++ b/geode-docs/managing/network_partitioning/handling_network_partitioning.html.md.erb
@@ -0,0 +1,46 @@
+---
+title:  Configure Apache Geode to Handle Network Partitioning
+---
+
+This section lists the configuration steps for network partition detection.
+
+<a id="handling_network_partitioning__section_EAF1957B6446491A938DEFB06481740F"></a>
+The system uses a combination of member coordinators and system members, designated as lead members, to detect and resolve network partitioning problems.
+
+1.  Network partition detection works in all environments. Using multiple locators mitigates the effect of network partitioning. See [Configuring Peer-to-Peer Discovery](../../topologies_and_comm/p2p_configuration/setting_up_a_p2p_system.html).
+2.  Enable partition detection consistently in all system members by setting this in their `gemfire.properties` file:
+
+    ``` pre
+    enable-network-partition-detection=true
+    ```
+
+    Enable network partition detection in all locators and in any other process that should be sensitive to network partitioning. Processes that do not have network partition detection enabled are not eligible to be the lead member, so their failure will not trigger declaration of a network partition.
+
+    All system members should have the same setting for `enable-network-partition-detection`. If they don\u2019t, the system throws a `GemFireConfigException` upon startup.
+
+3.  You must set `enable-network-partition-detection` to true if you are using persistent partitioned regions. You **must** set `enable-network-partition-detection` to true if you are using persistent regions (partitioned or replicated). If you create a persistent region and `enable-network-partition-detection` to set to false, you will receive the following warning message:
+
+    ``` pre
+    Creating persistent region {0}, but enable-network-partition-detection is set to false.
+          Running with network partition detection disabled can lead to an unrecoverable system in the
+          event of a network split."
+    ```
+
+4.  Configure regions you want to protect from network partitioning with `DISTRIBUTED_ACK` or `GLOBAL` `scope`. Do not use `DISTRIBUTED_NO_ACK` `scope`. The region configurations provided in the region shortcut settings use `DISTRIBUTED_ACK` scope. This setting prevents operations from performed throughout the distributed system before a network partition is detected.
+    **Note:**
+    GemFire issues an alert if it detects distributed-no-ack regions when network partition detection is enabled:
+
+    ``` pre
+    Region {0} is being created with scope {1} but enable-network-partition-detection is enabled in the distributed system. 
+    This can lead to cache inconsistencies if there is a network failure.
+                                
+    ```
+
+5.  These other configuration parameters affect or interact with network partitioning detection. Check whether they are appropriate for your installation and modify as needed.
+    -   If you have network partition detection enabled, the threshold percentage value for allowed membership weight loss is automatically configured to 51. You cannot modify this value. (**Note:** The weight loss calculation uses standard rounding. Therefore, a value of 50.51 is rounded to 51 and will cause a network partition.)
+    -   Failure detection is initiated if a member's `gemfire.properties` `ack-wait-threshold` (default is 15 seconds) and `ack-severe-alert-threshold` (15 seconds) elapses before receiving a response to a message. If you modify the `ack-wait-threshold` configuration value, you should modify `ack-severe-alert-threshold` to match the other configuration value.
+    -   If the system has clients connecting to it, the clients' `cache.xml` `<cache> <pool> read-timeout` should be set to at least three times the `member-timeout` setting in the server's `gemfire.properties`. The default `<cache> <pool> read-timeout` setting is 10000 milliseconds.
+    -   You can adjust the default weights of members by specifying the system property `gemfire.member-weight` upon startup. For example, if you have some VMs that host a needed service, you could assign them a higher weight upon startup.
+    -   By default, members that are forced out of the distributed system by a network partition event will automatically restart and attempt to reconnect. Data members will attempt to reinitialize the cache. See [Handling Forced Cache Disconnection Using Autoreconnect](../autoreconnect/member-reconnect.html).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/network_partitioning/how_network_partitioning_management_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/network_partitioning/how_network_partitioning_management_works.html.md.erb b/geode-docs/managing/network_partitioning/how_network_partitioning_management_works.html.md.erb
new file mode 100644
index 0000000..157864d
--- /dev/null
+++ b/geode-docs/managing/network_partitioning/how_network_partitioning_management_works.html.md.erb
@@ -0,0 +1,42 @@
+---
+title:  How Network Partitioning Management Works
+---
+
+Geode handles network outages by using a weighting system to determine whether the remaining available members have a sufficient quorum to continue as a distributed system.
+
+<a id="how_network_partitioning_management_works__section_548146BB8C24412CB7B43E6640272882"></a>
+Individual members are each assigned a weight, and the quorum is determined by comparing the total weight of currently responsive members to the previous total weight of responsive members.
+
+Your distributed system can split into separate running systems when members lose the ability to see each other. The typical cause of this problem is a failure in the network. When a partitioned system is detected, Apache Geode only one side of the system keeps running and the other side automatically shuts down.
+
+**Note:**
+The network partitioning detection feature is only enabled when `enable-network-partition-detection` is set to true in `gemfire.properties`. By default, this property is set to false. See [Configure Apache Geode to Handle Network Partitioning](handling_network_partitioning.html#handling_network_partitioning) for details. Quorum weight calculations are always performed and logged regardless of this configuration setting.
+
+The overall process for detecting a network partition is as follows:
+
+1.  The distributed system starts up. When you start up a distributed system, start the locators first, start the cache servers second, and then start other members such as applications or processes that access distributed system data.
+2.  After the members start up, the oldest member, typically a locator, assumes the role of the membership coordinator. Peer discovery occurs as members come up and members generate a membership discovery list for the distributed system. Locators hand out the membership discovery list as each member process starts up. This list typically contains a hint on who the current membership coordinator is.
+3.  Members join and if necessary, depart the distributed system:
+    -   Member processes make a request to the coordinator to join the distributed system. If authenticated, the coordinator creates a new membership view, hands the new membership view to the new member, and begins the process of sending the new membership view (to add the new member or members) by sending out a view preparation message to existing members in the view.
+    -   While members are joining the system, it is possible that members are also leaving or being removed through the normal failure detection process. Failure detection removes unresponsive or slow members. See [Managing Slow Receivers](../monitor_tune/slow_receivers_managing.html) and [Failure Detection and Membership Views](failure_detection.html#concept_CFD13177F78C456095622151D6EE10EB) for descriptions of the failure detection process. If a new membership view is sent out that includes one or more failed processes, the coordinator will log the new weight calculations. At any point, if quorum loss is detected due to unresponsive processes, the coordinator will also log a severe level message to identify the failed processes:
+
+        ``` pre
+        Possible loss of quorum detected due to loss of {0} cache processes: {1}
+        ```
+
+        where {0} is the number of processes that failed and {1} lists the processes.
+
+4.  Whenever the coordinator is alerted of a membership change (a member either joins or leaves the distributed system), the coordinator generates a new membership view. The membership view is generated by a two-phase protocol:
+    1.  In the first phase, the membership coordinator sends out a view preparation message to all members and waits 12 seconds for a view preparation ack return message from each member. If the coordinator does not receive an ack message from a member within 12 seconds, the coordinator attempts to connect to the member's failure-detection socket. If the coordinator cannot connect to the member's failure-detection socket, the coordinator declares the member dead and starts the membership view protocol again from the beginning.
+    2.  In the second phase, the coordinator sends out the new membership view to all members that acknowledged the view preparation message or passed the connection test.
+
+5.  Each time the membership coordinator sends a view, each member calculates the total weight of members in the current membership view and compares it to the total weight of the previous membership view. Some conditions to note:
+    -   When the first membership view is sent out, there are no accumulated losses. The first view only has additions.
+    -   A new coordinator may have a stale view of membership if it did not see the last membership view sent by the previous (failed) coordinator. If new members were added during that failure, then the new members may be ignored when the first new view is sent out.
+    -   If members were removed during the fail over to the new coordinator, then the new coordinator will have to determine these losses during the view preparation step.
+
+6.  With `enable-network-partition-detection` set to true, any member that detects that the total membership weight has dropped below 51% within a single membership view change (loss of quorum) declares a network partition event. The coordinator sends a network-partitioned-detected UDP message to all members (even to the non-responsive ones) and then closes the distributed system with a `ForcedDisconnectException`. If a member fails to receive the message before the coordinator closes the system, the member is responsible for detecting the event on its own.
+
+The presumption is that when a network partition is declared, the members that comprise a quorum will continue operations. The surviving members elect a new coordinator, designate a lead member, and so on.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/network_partitioning/membership_coordinators_lead_members_and_weighting.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/network_partitioning/membership_coordinators_lead_members_and_weighting.html.md.erb b/geode-docs/managing/network_partitioning/membership_coordinators_lead_members_and_weighting.html.md.erb
new file mode 100644
index 0000000..cfade68
--- /dev/null
+++ b/geode-docs/managing/network_partitioning/membership_coordinators_lead_members_and_weighting.html.md.erb
@@ -0,0 +1,62 @@
+---
+title:  Membership Coordinators, Lead Members and Member Weighting
+---
+
+Network partition detection uses a designated membership coordinator and a weighting system that accounts for a lead member to determine whether a network partition has occurred.
+
+## <a id="concept_23C2606D59754106AFBFE17515DF4330__section_7C67F1D30C1645CC8489E481873691D9" class="no-quick-link"></a>Membership Coordinators and Lead Members
+
+The membership coordinator is a member that manages entry and exit of other members of the distributed system. With network partition detection enabled, the coordinator can be any Geode member but locators are preferred. In a locator-based system, if all locators are in the reconnecting state, the system continues to function, but new members are not able to join until a locator has successfully reconnected. After a locator has reconnected, the reconnected locator will take over the role of coordinator.
+
+When a coordinator is shutting down, it sends out a view that removes itself from the list and the other members must determine who the new coordinator is.
+
+The lead member is determined by the coordinator. Any member that has enabled network partition detection, is not hosting a locator, and is not an administrator interface-only member is eligible to be designated as the lead member by the coordinator. The coordinator chooses the longest-lived member that fits the criteria.
+
+The purpose of the lead member role is to provide extra weight. It does not perform any specific functionality.
+
+## <a id="concept_23C2606D59754106AFBFE17515DF4330__section_D819DE21928F4D658C132981307447E3" class="no-quick-link"></a>Member Weighting System
+
+By default, individual members are assigned the following weights:
+
+-   Each member has a weight of 10 except the lead member.
+-   The lead member is assigned a weight of 15.
+-   Locators have a weight of 3.
+
+You can modify the default weights for specific members by defining the `gemfire.member-weight` system property upon startup.
+
+The weights of members prior to the view change are added together and compared to the weight of lost members. Lost members are considered members that were removed between the last view and the completed send of the view preparation message. If membership is reduced by a certain percentage within a single membership view change, a network partition is declared.
+
+The loss percentage threshold is 51 (meaning 51%). Note that the percentage calculation uses standard rounding. Therefore, a value of 50.51 is rounded to 51. If the rounded loss percentage is equal to or greater than 51%, the membership coordinator initiates shut down.
+
+## <a id="concept_23C2606D59754106AFBFE17515DF4330__section_53C963D1B2DF417C973A60981E52CDCF" class="no-quick-link"></a>Sample Member Weight Calculations
+
+This section provides some example calculations.
+
+**Example 1:** Distributed system with 12 members. 2 locators, 10 cache servers (one cache server is designated as lead member.) View total weight equals 111.
+
+-   4 cache servers become unreachable. Total membership weight loss is 40 (36%). Since 36% is under the 51% threshold for loss, the distributed system stays up.
+-   1 locator and 4 cache servers (including the lead member) become unreachable. Membership weight loss equals 48 (43%). Since 43% is under the 51% threshold for loss, the distributed system stays up.
+-   5 cache servers (not including the lead member) and both locators become unreachable. Membership weight loss equals 56 (49%). Since 49% is under the 51% threshold for loss, the distributed system stays up.
+-   5 cache servers (including the lead member) and 1 locator become unreachable. Membership weight loss equals 58 (52%). Since 52% is greater than the 51% threshold, the coordinator initiates shutdown.
+-   6 cache servers (not including the lead member) and both locators become unreachable. Membership weight loss equals 66 (59%). Since 59% is greater than the 51% threshold, the newly elected coordinator (a cache server since no locators remain) will initiate shutdown.
+
+**Example 2:** Distributed system with 4 members. 2 cache servers (1 cache server is designated lead member), 2 locators. View total weight is 31.
+
+-   Cache server designated as lead member becomes unreachable. Membership weight loss equals 15 or 48%. Distributed system stays up.
+-   Cache server designated as lead member and 1 locator become unreachable. Member weight loss equals 18 or 58%. Membership coordinator initiates shutdown. If the locator that became unreachable was the membership coordinator, the other locator is elected coordinator and then initiates shutdown.
+
+Even if network partitioning is not enabled, if quorum loss is detected due to unresponsive processes, the locator will also log a severe level message to identify the failed processes:
+``` pre
+Possible loss of quorum detected due to loss of {0} cache processes: {1}
+```
+
+where {0} is the number of processes that failed and {1} lists the processes.
+
+Enabling network partition detection allows only one subgroup to survive a split. The rest of the system is disconnected and the caches are closed.
+
+When a shutdown occurs, the members that are shut down will log the following alert message:
+``` pre
+Exiting due to possible network partition event due to loss of {0} cache processes: {1}
+```
+
+where `{0}` is the count of lost members and `{1}` is the list of lost member IDs.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/network_partitioning/network_partitioning_scenarios.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/network_partitioning/network_partitioning_scenarios.html.md.erb b/geode-docs/managing/network_partitioning/network_partitioning_scenarios.html.md.erb
new file mode 100644
index 0000000..4009792
--- /dev/null
+++ b/geode-docs/managing/network_partitioning/network_partitioning_scenarios.html.md.erb
@@ -0,0 +1,36 @@
+---
+title:  Network Partitioning Scenarios
+---
+
+This topic describes network partitioning scenarios and what happens to the partitioned sides of the distributed system.
+
+<img src="../../images_svg/network_partition_scenario.svg" id="concept_357ABE91AAA042D2A20328BD01FEB882__image_6ED88C6911EE4C68A19353ABD7B1552A" class="image" />
+
+## <a id="concept_357ABE91AAA042D2A20328BD01FEB882__section_DAFBCB8BB421453EB6C5B4A348640762" class="no-quick-link"></a>What the Losing Side Does
+
+In a network partitioning scenario, the "losing side" constitutes the cluster partition where the membership coordinator has detected that there is an insufficient quorum of members to continue.
+
+The membership coordinator calculates membership weight change after sending out its view preparation message. If a quorum of members does not remain after the view preparation phase, the coordinator on the "losing side" declares a network partition event and sends a network-partition-detected UDP message to the members. The coordinator then closes its distributed system with a `ForcedDisconnectException`. If a member fails to receive the message before the coordinator closes the connection, it is responsible for detecting the event on its own.
+
+When the losing side discovers that a network partition event has occurred, all peer members receive a `RegionDestroyedException` with `Operation`: `FORCED_DISCONNECT`.
+
+If a `CacheListener` is installed, the `afterRegionDestroy` callback is invoked with a `RegionDestroyedEvent`, as shown in this example logged by the losing side's callback. The peer member process IDs are 14291 (lead member) and 14296, and the locator is 14289.
+
+``` pre
+[info 2008/05/01 11:14:51.853 PDT <CloserThread> tid=0x4a] 
+Invoked splitBrain.SBListener: afterRegionDestroy in client1 whereIWasRegistered: 14291 
+event.isReinitializing(): false 
+event.getDistributedMember(): thor(14291):40440/34132 
+event.getCallbackArgument(): null 
+event.getRegion(): /TestRegion 
+event.isOriginRemote(): false 
+Operation: FORCED_DISCONNECT 
+Operation.isDistributed(): false 
+Operation.isExpiration(): false 
+```
+
+Peers still actively performing operations on the cache may see `ShutdownException`s or `CacheClosedException`s with `Caused by: ForcedDisconnectException`.
+
+## <a id="concept_357ABE91AAA042D2A20328BD01FEB882__section_E6E914107FE64C0F9D8F7DA142D00AD7" class="no-quick-link"></a>What Isolated Members Do
+
+When a member is isolated from all locators, it is unable to receive membership view changes. It can't know if the current coordinator is present or, if it has left, whether there are other members available to take over that role. In this condition, a member will eventually detect the loss of all other members and will use the loss threshold to determine whether it should shut itself down. In the case of a distributed system with 2 locators and 2 cache servers, the loss of communication with the non-lead cache server plus both locators would result in this situation and the remaining cache server would eventually shut itself down.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/network_partitioning/preventing_network_partitions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/network_partitioning/preventing_network_partitions.html.md.erb b/geode-docs/managing/network_partitioning/preventing_network_partitions.html.md.erb
new file mode 100644
index 0000000..b18b600
--- /dev/null
+++ b/geode-docs/managing/network_partitioning/preventing_network_partitions.html.md.erb
@@ -0,0 +1,11 @@
+---
+title:  Preventing Network Partitions
+---
+
+This section provides a short list of things you can do to prevent a network partition from occurring.
+
+To avoid a network partition:
+
+-   Use NIC teaming for redundant connectivity. See [http://www.cisco.com/en/US/docs/solutions/Enterprise/Data_Center/vmware/VMware.html#wp696452](http://www.cisco.com/en/US/docs/solutions/Enterprise/Data_Center/vmware/VMware.html#wp696452) for more information.
+-   It is best if all servers share a common network switch. Having multiple network switches increases the possibility of a network partition occurring. If multiple switches must be used, redundant routing paths should be available, if possible. The weight of members sharing a switch in a multi-switch configuration will determine which partition survives if there is an inter-switch failure.
+-   In terms of Geode configuration, consider the weighting of members. For example, you could assign important processes a higher weight.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/region_compression/region_compression.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/region_compression/region_compression.html.md.erb b/geode-docs/managing/region_compression/region_compression.html.md.erb
new file mode 100644
index 0000000..d664a7b
--- /dev/null
+++ b/geode-docs/managing/region_compression/region_compression.html.md.erb
@@ -0,0 +1,209 @@
+---
+title: Region Compression
+---
+<a id="topic_r43_wgc_gl"></a>
+
+
+This section describes region compression, its benefits and usage.
+
+One way to reduce memory consumption by Geode is to enable compression in your regions. Geode allows you to compress in-memory region values using pluggable compressors (compression codecs). Geode includes the [Snappy](http://google.github.io/snappy/) compressor as the built-in compression codec; however, you can implement and specify a different compressor for each compressed region.
+
+## What Gets Compressed
+
+When you enable compression in a region, all values stored in the region are compressed while in memory. Keys and indexes are not compressed. New values are compressed when put into the in-memory cache and all values are decompressed when being read from the cache. Values are not compressed when persisted to disk. Values are decompressed before being sent over the wire to other peer members or clients.
+
+When compression is enabled, each value in the region is compressed, and each region entry is compressed as a single unit. It is not possible to compress individual fields of an entry.
+
+You can have a mix of compressed and non-compressed regions in the same cache.
+
+-   **[Guidelines on Using Compression](#concept_a2c_rhc_gl)**
+
+    This topic describes factors to consider when deciding on whether to use compression.
+
+-   **[How to Enable Compression in a Region](#topic_inm_whc_gl)**
+
+    This topic describes how to enable compression on your region.
+
+-   **[Working with Compressors](#topic_hqf_syj_g4)**
+
+    When using region compression, you can use the default Snappy compressor included with Geode or you can specify your own compressor.
+
+-   **[Comparing Performance of Compressed and Non-Compressed Regions](#topic_omw_j3c_gl)**
+
+    The comparative performance of compressed regions versus non-compressed regions can vary depending on how the region is being used and whether the region is hosted in a memory-bound JVM.
+
+## <a id="concept_a2c_rhc_gl" class="no-quick-link"></a>Guidelines on Using Compression
+
+This topic describes factors to consider when deciding on whether to use compression.
+
+Review the following guidelines when deciding on whether or not to enable compression in your region:
+
+-   **Use compression when JVM memory usage is too high.** Compression allows you to store more region data in-memory and to reduce the number of expensive garbage collection cycles that prevent JVMs from running out of memory when memory usage is high.
+
+    To determine if JVM memory usage is high, examine the the following statistics:
+
+    -   vmStats&gt;freeMemory
+    -   vmStats-&gt;maxMemory
+    -   ConcurrentMarkSweep-&gt;collectionTime
+
+    If the amount of free memory regularly drops below 20% - 25% or the duration of the garbage collection cycles is generally on the high side, then the regions hosted on that JVM are good candidates for having compression enabled.
+
+-   **Consider the types and lengths of the fields in the region's entries.** Since compression is performed on each entry separately (and not on the region as a whole), consider the potential for duplicate data across a single entry. Duplicate bytes are compressed more easily. Also, since region entries are first serialized into a byte area before being compressed, how well the data might compress is determined by the number and length of duplicate bytes across the entire entry and not just a single field. Finally, the larger the entry the more likely compression will achieve good results as the potential for duplicate bytes, and a series of duplicate bytes, increases.
+-   **Consider the type of data you wish to compress.** The type of data stored has a significant impact on how well the data may compress. String data will generally compress better than numeric data simply because string bytes are far more likely to repeat; however, that may not always be the case. For example, a region entry that holds a couple of short, unique strings may not provide as much memory savings when compressed as another region entry that holds a large number of integer values. In short, when evaluating the potential gains of compressing a region, consider the likelihood of having duplicate bytes, and more importantly the length of a series of duplicate bytes, for a single, serialized region entry. In addition, data that has already been compressed, such as JPEG format files, can actually cause more memory to be used.
+-   **Compress if you are storing large text values.** Compression is beneficial if you are storing large text values (such as JSON or XML) or blobs in Geode that would benefit from compression.
+-   **Consider whether fields being queried against are indexed.** You can query against compressed regions; however, if the fields you are querying against have not been indexed, then the fields must be decompressed before they can be used for comparison. In short, you may incur some query performance costs when querying against non-indexed fields.
+-   **Objects stored in the compression region must be serializable.** Compression only operates on byte arrays, therefore objects being stored in a compressed region must be serializable and deserializable. The objects can either implement the Serializable interface or use one of the other Geode serialization mechanisms (such as PdxSerializable). Implementers should always be aware that when compression is enabled the instance of an object put into a region will not be the same instance when taken out. Therefore, transient attributes will lose their value when the containing object is put into and then taken out of a region.
+
+-   **Compressed regions will enable cloning by default.** Setting a compressor and then disabling cloning results in an exception. The options are incompatible because the process of compressing/serializing and then decompressing/deserializing will result in a different instance of the object being created and that may be interpreted as cloning the object.
+
+<a id="topic_inm_whc_gl"></a>
+
+## <a id="topic_inm_whc_gl" class="no-quick-link"></a>How to Enable Compression in a Region
+
+This topic describes how to enable compression on your region.
+
+To enable compression on your region, set the following region attribute in your cache.xml:
+
+``` pre
+<?xml version="1.0" encoding= "UTF-8"?>
+<cache xmlns="http://geode.incubator.apache.org/schema/cache"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://geode.incubator.apache.org/schema/cache http://geode.incubator.apache.org/schema/cache/cache-1.0.xsd"
+    version="1.0\u201d lock-lease="120"  lock-timeout= "60" search-timeout= "300"  is-server= "true"  copy-on-read= "false" > 
+   <region name="compressedRegion" > 
+      <region-attributes data-policy="replicate" ... /> 
+         <Compressor>
+             <class-name>org.apache.geode.compression.SnappyCompressor</class-name>
+         </Compressor>
+        ...
+      </region-attributes>
+   </region> 
+</cache>
+```
+
+In the Compressor element, specify the class-name for your compressor implementation. This example specifies the Snappy compressor, which is bundled with Geode . You can also specify a custom compressor. See [Working with Compressors](#topic_hqf_syj_g4) for an example.
+
+Compression can be enabled during region creation using gfsh or programmatically as well.
+
+Using gfsh:
+
+``` pre
+gfsh>create-region --name=\u201dCompressedRegion\u201d --compressor=\u201dorg.apache.geode.compression.SnappyCompressor\u201d;
+```
+
+API:
+
+``` pre
+regionFactory.setCompressor(new SnappyCompressor());
+```
+
+or
+
+``` pre
+regionFactory.setCompressor(SnappyCompressor.getDefaultInstance());
+```
+
+## How to Check Whether Compression is Enabled
+
+You can also check whether a region has compression enabled by querying which codec is being used. A null codec indicates that no compression is enabled for the region.
+
+``` pre
+Region myRegion = cache.getRegion("myRegion");
+Compressor compressor = myRegion.getAttributes().getCompressor();
+```
+
+## <a id="topic_hqf_syj_g4" class="no-quick-link"></a>Working with Compressors
+
+When using region compression, you can use the default Snappy compressor included with Geode or you can specify your own compressor.
+
+The compression API consists of a single interface that compression providers must implement. The default compressor (SnappyCompressor) is the single compression implementation that comes bundled with the product. Note that since the Compressor is stateless, there only needs to be a single instance in any JVM; however, multiple instances may be used without issue. The single, default instance of the SnappyCompressor may be retrieved with the `SnappyCompressor.getDefaultInstance()` static method.
+
+**Note:**
+The Snappy codec included with Geode cannot be used with Solaris deployments. Snappy is only supported on Linux, Windows, and OSX deployments of Geode.
+
+This example provides a custom Compressor implementation:
+
+``` pre
+package com.mybiz.myproduct.compression;
+
+import org.apache.geode.compression.Compressor;
+
+public class LZWCompressor implements Compressor {
+  private final LZWCodec lzwCodec = new LZWCodec(); 
+  
+  @Override
+  public byte[] compress(byte[] input) {
+         return lzwCodec.compress(input);
+  }
+
+  @Override
+  public byte[] decompress(byte[] input) {
+         return lzwCodec.decompress(input);
+  }
+}
+```
+
+To use the new custom compressor on a region:
+
+1.  Make sure that the new compressor package is available in the classpath of all JVMs that will host the region.
+2.  Configure the custom compressor for the region using any of the following mechanisms:
+
+    Using gfsh:
+
+    ``` pre
+    gfsh>create-region --name=\u201dCompressedRegion\u201d \
+    --compressor=\u201dcom.mybiz.myproduct.compression.LZWCompressor\u201d
+    ```
+
+    Using API:
+
+    For example:
+
+    ``` pre
+    regionFactory.setCompressor(new LZWCompressor());
+    ```
+
+    cache.xml:
+
+    ``` pre
+    <region-attributes>
+     <Compressor>
+         <class-name>com.mybiz.myproduct.compression.LZWCompressor</class-name>
+      </Compressor>
+    </region-attributes>
+    ```
+
+## Changing the Compressor for an Already Compressed Region
+
+You typically enable compression on a region at the time of region creation. You cannot modify the Compressor or disable compression for the region while the region is online.
+
+However, if you need to change the compressor or disable compression, you can do so by performing the following steps:
+
+1.  Shut down the members hosting the region you wish to modify.
+2.  Modify the cache.xml file for the member either specifying a new compressor or removing the compressor attribute from the region.
+3.  Restart the member.
+
+## <a id="topic_omw_j3c_gl" class="no-quick-link"></a>Comparing Performance of Compressed and Non-Compressed Regions
+
+The comparative performance of compressed regions versus non-compressed regions can vary depending on how the region is being used and whether the region is hosted in a memory-bound JVM.
+
+When considering the cost of enabling compression, you should consider the relative cost of reading and writing compressed data as well as the cost of compression as a percentage of the total time spent managing entries in a region. As a general rule, enabling compression on a region will add 30% - 60% more overhead for region create and update operations than for region get operations. Because of this, enabling compression will create more overhead on regions that are write heavy than on regions that are read heavy.
+
+However, when attempting to evaluate the performance cost of enabling compression you should also consider the cost of compression relative to the overall cost of managing entries in a region. A region may be tuned in such a way that it is highly optimized for read and/or write performance. For example, a replicated region that does not save to disk will have much better read and write performance than a partitioned region that does save to disk. Enabling compression on a region that has been optimized for read and write performance will provide more noticeable results than using compression on regions that have not been optimized this way. More concretely, performance may degrade by several hundred percent on a read/write optimized region whereas it may only degrade by 5 to 10 percent on a non-optimized region.
+
+A final note on performance relates to the cost when enabling compression on regions in a memory bound JVM. Enabling compression generally assumes that the enclosing JVM is memory bound and therefore spends a lot of time for garbage collection. In that case performance may improve by as much as several hundred percent as the JVM will be running far fewer garbage collection cycles and spending less time when running a cycle.
+
+## Monitoring Compression Performance
+
+The following statistics provide monitoring for cache compression:
+
+-   `compressTime`
+-   `decompressTime`
+-   `compressions`
+-   `decompressions`
+-   `preCompressedBytes`
+-   `postCompressedBytes`
+
+See [Cache Performance (CachePerfStats)](../../reference/statistics/statistics_list.html#section_DEF8D3644D3246AB8F06FE09A37DC5C8) for statistic descriptions.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/security/authentication_examples.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/authentication_examples.html.md.erb b/geode-docs/managing/security/authentication_examples.html.md.erb
new file mode 100644
index 0000000..6e0d050
--- /dev/null
+++ b/geode-docs/managing/security/authentication_examples.html.md.erb
@@ -0,0 +1,53 @@
+---
+title:  Authentication Example
+---
+
+This example demonstrates the basics of an implementation of the
+`SecurityManager.authenticate` method.
+The remainder of the example may be found within the Apache Geode
+source code within the
+`geode-core/src/main/java/org/apache/geode/security/templates` directory.
+
+Of course, the security implementation of every installation is unique,
+so this example cannot be used in a production environment.
+Its use of the user name as a returned principal upon successful
+authentication is a particularly poor design choice,
+as any attacker that discovers the implementation can potentially
+spoof the system.
+
+This example assumes that a set of user name and password pairs
+representing users that may be successfully authenticated 
+has been read into a data structure upon intialization.
+Any component that presents the correct password for a user name
+successfully authenticates,
+and its identity is verified as that user.
+Therefore, the implementation of the `authenticate` method
+checks that the user name provided within the `credentials` parameter
+ is in its data structure.
+If the user name is present,
+then the password provided within the `credentials` parameter 
+is compared to the data structure's known password for that user name.
+Upon a match, the authentication is successful.
+
+``` pre
+public Object authenticate(final Properties credentials)
+         throws AuthenticationFailedException {
+    String user = credentials.getProperty(ResourceConstants.USER_NAME);
+    String password = credentials.getProperty(ResourceConstants.PASSWORD);
+
+    User userObj = this.userNameToUser.get(user);
+    if (userObj == null) {
+        throw new AuthenticationFailedException(
+                      "SampleSecurityManager: wrong username/password");
+    }
+
+    if (user != null 
+        && !userObj.password.equals(password) 
+        && !"".equals(user)) {
+        throw new AuthenticationFailedException(
+                      "SampleSecurityManager: wrong username/password");
+    }
+
+    return user;
+}
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/security/authentication_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/authentication_overview.html.md.erb b/geode-docs/managing/security/authentication_overview.html.md.erb
new file mode 100644
index 0000000..fe38e10
--- /dev/null
+++ b/geode-docs/managing/security/authentication_overview.html.md.erb
@@ -0,0 +1,26 @@
+---
+title:  Authentication
+---
+
+Authentication verifies the identities of components within the distributed
+system such as peers, clients, and those connecting to a JMX manager.
+
+-   **[Implementing Authentication](../../managing/security/implementing_authentication.html)**
+
+    All components of the distributed system authenticate the same way,
+    through a custom-written method.
+
+-   **[Encrypting Passwords for Use in cache.xml](../../managing/security/encrypting_passwords.html)**
+
+    Apache Geode provides a gfsh utility to generate encrypted passwords.
+
+-   **[Encrypt Credentials with Diffie-Hellman](../../managing/security/encrypting_with_diffie_helman.html)**
+
+    For secure transmission of sensitive information, like passwords, you can encrypt credentials using the Diffie-Hellman key exchange algorithm.
+
+-   **[Authentication Example](../../managing/security/authentication_examples.html)**
+
+    The example demonstrates the basics of an implementation of the
+`SecurityManager.authenticate` method.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/security/authorization_example.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/authorization_example.html.md.erb b/geode-docs/managing/security/authorization_example.html.md.erb
new file mode 100644
index 0000000..9d03f65
--- /dev/null
+++ b/geode-docs/managing/security/authorization_example.html.md.erb
@@ -0,0 +1,53 @@
+---
+title:  Authorization Example
+---
+
+This example demonstrates the basics of an implementation of the
+`SecurityManager.authorize` method.
+The remainder of the example may be found within the Apache Geode
+source code within the
+`geode-core/src/main/java/org/apache/geode/security/templates` directory.
+
+Of course, the security implementation of every installation is unique,
+so this example cannot be used in a production environment,
+as the roles and permissions will not match the needs of any
+real distributed system. 
+
+This example assumes that a set of users, a set of roles
+that a user might take on within the system,
+and a mapping of users to their roles are described
+in a JSON format file.
+The roles define a set of authorized resource permissions granted
+for users in those roles.
+Code not shown here parses the file to compose a data structure
+with the information on roles and users.
+The `authorize` callback denies permission for any operation
+that does not have a principal representing the identity of the
+operation's requester.
+Given the principal, 
+the method iterates through the data structure searching for the 
+necessary permissions for the principal.
+When the necessary permission is found, 
+authorization is granted by returning the value `true`.
+If the permission is not found in the data structure,
+then the method returns `false`, denying authorization of the operation.
+
+``` pre
+public boolean authorize(final Object principal, final ResourcePermission context) {
+    if (principal == null) return false;
+
+    User user = this.userNameToUser.get(principal.toString());
+    if (user == null) return false; // this user is not authorized to do anything
+
+    // check if the user has this permission defined in the context
+    for (Role role : this.userNameToUser.get(user.name).roles) {
+        for (Permission permitted : role.permissions) {
+            if (permitted.implies(context)) {
+                return true;
+            }
+        }
+    }
+
+    return false;
+}
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/security/authorization_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/authorization_overview.html.md.erb b/geode-docs/managing/security/authorization_overview.html.md.erb
new file mode 100644
index 0000000..6ca014a
--- /dev/null
+++ b/geode-docs/managing/security/authorization_overview.html.md.erb
@@ -0,0 +1,17 @@
+---
+title:  Authorization
+---
+
+Distributed system and cache operations can be restricted, intercepted and
+modifed, or completely blocked based on configured access rights set for
+the various distributed system entities. 
+
+-   **[Implementing Authorization](../../managing/security/implementing_authorization.html)**
+
+    To use authorization for client/server systems, your client connections must be authenticated by their servers.
+
+-   **[Authorization Example](../../managing/security/authorization_example.html)**
+
+    This topic discusses the authorization example provided in the product under `templates/security` using `XmlAuthorization.java`, `XmlErrorHandler.java`, and `authz6_0.dtd`.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/security/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/chapter_overview.html.md.erb b/geode-docs/managing/security/chapter_overview.html.md.erb
new file mode 100644
index 0000000..88df5d8
--- /dev/null
+++ b/geode-docs/managing/security/chapter_overview.html.md.erb
@@ -0,0 +1,30 @@
+---
+title:  Security
+---
+
+The security framework permits authentication of connecting components and authorization of operations for all communicating components of the distributed system.
+
+-   **[Security Implementation Introduction and Overview](../../managing/security/implementing_security.html)**
+
+    Encryption, SSL secure communication, authentication, and authorization help to secure the distributed system.
+
+-   **[Security Detail Considerations](../../managing/security/security_audit_overview.html)**
+
+    This section gathers discrete details in one convenient location to better help you assess and configure the security of your environment.
+
+-   **[Enable Security with Property Definitions](../../managing/security/enable_security.html)**
+
+-   **[Authentication](../../managing/security/authentication_overview.html)**
+
+    A distributed system using authentication bars malicious peers or clients, and deters inadvertent access to its cache.
+
+-   **[Authorization](../../managing/security/authorization_overview.html)**
+
+    Client operations on a cache server can be restricted or completely blocked based on the roles and permissions assigned to the credentials submitted by the client.
+
+-   **[Post Processing of Region Data](../../managing/security/post_processing.html)**
+
+-   **[SSL](../../managing/security/ssl_overview.html)**
+
+    SSL protects your data in transit between applications.
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/security/enable_security.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/enable_security.html.md.erb b/geode-docs/managing/security/enable_security.html.md.erb
new file mode 100644
index 0000000..c6b4e33
--- /dev/null
+++ b/geode-docs/managing/security/enable_security.html.md.erb
@@ -0,0 +1,56 @@
+---
+title:  Enable Security with Property Definitions
+---
+
+
+## security-manager Property
+
+The authentication callback and the authorization callback that implement 
+the `SecurityManager` interface
+are specified with the `security-manager` property.
+When this property is defined, authentication and authorization are enabled.
+The definition of the `security-manager` property is the
+fully qualified name of the class that implements the `SecurityManager` interface.
+For example:
+
+``` pre
+security-manager = com.example.security.MySecurityManager
+```
+
+All components of the system invoke the same callbacks.
+Here are descriptions of the components and the connections that they
+make with the system.
+
+- A client connects with a server and makes operation requests 
+of that server.  The callbacks invoked are those defined by the
+`SecurityManager` interface for that server.
+- A server connects with a locator, invoking the `authenticate` callback
+defined for that locator.
+- Components communicating with a locator's JMX manager connect and make
+operation requests of the locator.
+The callbacks invoked are those defined by the
+`SecurityManager` interface for that locator.
+Both `gfsh` and `Pulse` use this form of communication.
+- Applications communicating via the REST API make of a server
+invoke security callbacks upon connection and operation requests.
+- Requests that a gateway sender makes of a locator
+invoke security callbacks defined for that locator.
+
+## security-post-processor Property
+
+The  `PostProcessor` interface allows the definition of a set of callbacks
+that are invoked after operations that get data,
+but before the data is returned.
+This permits the callback to intervene and modify of the data
+that is to be returned.
+The callbacks do not modify the region data,
+only the data to be returned.
+
+Enable the post processing of data by defining the
+`security-post-processor` property
+with the path to the definition of the interface.
+For example,
+
+``` pre
+security-post-processor = com.example.security.MySecurityPostProcessing
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/security/encrypting_passwords.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/encrypting_passwords.html.md.erb b/geode-docs/managing/security/encrypting_passwords.html.md.erb
new file mode 100644
index 0000000..8104c29
--- /dev/null
+++ b/geode-docs/managing/security/encrypting_passwords.html.md.erb
@@ -0,0 +1,32 @@
+---
+title: Encrypting Passwords for Use in cache.xml
+---
+<a id="topic_730CC61BA84F421494956E2B98BDE2A1"></a>
+
+
+Apache Geode provides a gfsh utility to generate encrypted passwords.
+
+You may need to specify an encrypted password in `cache.xml` when configuring JNDI connections to external JDBC data sources. See [Configuring Database Connections Using JNDI](../../developing/transactions/configuring_db_connections_using_JNDI.html#topic_A5E3A67C808D48C08E1F0DC167C5C494) for configuration examples.
+
+The `cache.xml` file accepts passwords in clear text or encrypted text.
+
+To generate an encrypted password, use the [encrypt password](../../tools_modules/gfsh/command-pages/encrypt.html#concept_2B834B0AC8EE44C6A7F85CC66B1D6E18__section_F3D0959AF6264A3CB1821383B2AE4407) command in `gfsh`. The following example shows a sample command invocation and output (assuming `my_password` is the actual password for the data source). After you [start gfsh](../../tools_modules/gfsh/starting_gfsh.html#concept_DB959734350B488BBFF91A120890FE61), enter the following command:
+
+``` pre
+gfsh>encrypt password --password=my_password
+AB80B8E1EE8BB5701D0366E2BA3C3754
+```
+
+Copy the output from the `gfsh` command to the `cache.xml` file as the value of the password attribute of the `jndi-binding` tag embedded in `encrypted()`, just like a method parameter. Enter it as encrypted, in this format:
+
+``` pre
+password="encrypted(83f0069202c571faf1ae6c42b4ad46030e4e31c17409e19a)"
+```
+
+To use a non-encrypted (clear text) password, put the actual password as the value of the password attribute of the `jndi-binding` tag, like this:
+
+``` pre
+password="password"
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/security/encrypting_with_diffie_helman.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/encrypting_with_diffie_helman.html.md.erb b/geode-docs/managing/security/encrypting_with_diffie_helman.html.md.erb
new file mode 100644
index 0000000..bc44fd8
--- /dev/null
+++ b/geode-docs/managing/security/encrypting_with_diffie_helman.html.md.erb
@@ -0,0 +1,49 @@
+---
+title:  Encrypt Credentials with Diffie-Hellman
+---
+
+For secure transmission of sensitive information, like passwords, you can encrypt credentials using the Diffie-Hellman key exchange algorithm.
+
+This encryption applies only to client/server authentication - not peer-to-peer authentication.
+
+You need to specify the name of a valid symmetric key cipher supported by the JDK. Valid key names, like DES, DESede, AES, and Blowfish, enable the Diffie-Hellman algorithm with the specified cipher to encrypt the credentials. For valid JDK names, see [http://download.oracle.com/javase/1.5.0/docs/guide/security/CryptoSpec.html#AppA](http://download.oracle.com/javase/1.5.0/docs/guide/security/CryptoSpec.html#AppA).
+
+Before you begin, you need to understand how to use your security algorithm.
+
+## <a id="using_diffie_helman__section_45A9502BDF8E42E1970CEFB132F7424D" class="no-quick-link"></a>Enable Server Authentication of Client with Diffie-Hellman
+
+Set this in property in the client\u2019s `gemfire.properties` (or `gfsecurity.properties` file if you are creating a special restricted access file for security configuration):
+
+-   `security-client-dhalgo`. Name of a valid symmetric key cipher supported by the JDK, possibly followed by a key size specification.
+
+This causes the server to authenticate the client using the Diffie-Hellman algorithm.
+
+## <a id="using_diffie_helman__section_D07F68BE8D3140E99244895F4AF2CC80" class="no-quick-link"></a>Enable Client Authentication of Server
+
+This requires server authentication of client with Diffie-Hellman to be enabled. To have your client authenticate its servers, in addition to being authenticated:
+
+1.  In server `gemfire.properties` (or `gfsecurity.properties` file if you are creating a special restricted access file for security configuration), set:
+    1.  `security-server-kspath`. Path of the PKCS\#12 keystore containing the private key for the server
+    2.  `security-server-ksalias`. Alias name for the private key in the keystore.
+    3.  `security-server-kspasswd`. Keystore and private key password, which should match.
+
+2.  In client `gemfire.properties` (or `gfsecurity.properties` file if you are creating a special restricted access file for security configuration), set:
+    1.  `security-client-kspasswd`. Password for the public key file store on the client
+    2.  `security-client-kspath`. Path to the client public key truststore, the JKS keystore of public keys for all servers the client can use. This keystore should not be password-protected
+
+## <a id="using_diffie_helman__section_5FB4437072AC4B4E93210BEA60B67A27" class="no-quick-link"></a>Set the Key Size for AES and Blowfish Encryption Keys
+
+For algorithms like AES, especially if large key sizes are used, you may need Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files from Sun or equivalent for your JDK. This enables encryption of client credentials in combination with challenge-response from server to client to prevent replay and other types of attacks. It also enables challenge-response from client to server to avoid server-side replay attacks.
+
+For the AES and Blowfish algorithms, you can specify the key size for the `security-client-dhalgo` property by adding a colon and the size after the algorithm specification, like this:
+
+``` pre
+security-client-dhalgo=AES:192
+```
+
+-   For AES, valid key size settings are:
+    -   AES:128
+    -   AES:192
+    -   AES:256
+-   For Blowfish, set the key size between 128 and 448 bits, inclusive.
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/security/implementing_authentication.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/implementing_authentication.html.md.erb b/geode-docs/managing/security/implementing_authentication.html.md.erb
new file mode 100644
index 0000000..a605e1b
--- /dev/null
+++ b/geode-docs/managing/security/implementing_authentication.html.md.erb
@@ -0,0 +1,125 @@
+---
+title:  Implementing Authentication
+---
+
+Authentication lends a measure of security to a distributed system
+by verifying the identity of components as they connect to the system.
+All components use the same authentication mechanism.
+
+## How Authentication Works
+
+When a component initiates a connection to the distributed system,
+the `SecurityManager.authenticate` method is invoked.
+The component provides its credentials in the form of properties
+as a parameter to the `authenticate` method.
+The credential is presumed to be the two properties:
+`security-username` and `security-password`.
+The `authenticate` method is expected to either return an object
+representing a principal or throw an `AuthenticationFailedException`.
+
+A well-designed `authenticate` method will have or will have a way of
+obtaining a set of known user and password pairs that can be compared
+to the credential presented.
+
+## How a Server Sets Its Credential
+
+In order to connect with a locator that does authentication,
+a server will need to set its credential, composed of the two properties
+`security-username` and `security-password`.
+There are two ways of accomplishing this:
+
+- Set the `security-username` and `security-password` in the server's
+`gfsecurity.properties` file that will be read upon server start up,
+as in the example
+
+     ``` pre
+     security-username=admin
+     security-password=xyz1234
+     ```
+The user name and password are stored in the clear, so the
+`gfsecurity.properties` file must be protected by restricting access with
+file system permissions.
+
+- Implement the `getCredentials` method of the `AuthInitialize` interface
+for the server.
+This callback's location is defined in the property `security-peer-auth-init`,
+as in the example
+
+     ``` pre
+     security-peer-auth-init=com.example.security.MyAuthInitialize
+     ```
+The implementation of `getCredentials` may then acquire values for
+the properties `security-username` and `security-password` in whatever way
+it wishes.
+It might look up values in a database or another external resource.
+
+Gateway senders and receivers communicate as a component of their
+server member.
+Therefore, the credential of the server become those of the gateway
+sender or receiver.
+
+## How a Cache Client Sets Its Credential
+
+In order to connect with a locator or a server that does authentication,
+a client will need to set its credential, composed of the two properties
+`security-username` and `security-password`.
+There are two ways of accomplishing this:
+
+- Set the `security-username` and `security-password` in the client's
+`gfsecurity.properties` file that will be read upon client start up,
+as in the example
+
+     ``` pre
+     security-username=clientapp
+     security-password=xyz1234
+     ```
+The user name and password are stored in the clear, so the
+`gfsecurity.properties` file must be protected by restricting access with
+file system permissions.
+
+- Implement the `getCredentials` method of the `AuthInitialize` interface
+for the client.
+This callback's location is defined in the property `security-client-auth-init`,
+as in the example
+
+     ``` pre
+     security-client-auth-init=com.example.security.ClientAuthInitialize
+     ```
+The implementation of `getCredentials` may then acquire values for
+the properties `security-username` and `security-password` in whatever way
+it wishes.
+It might look up values in a database or another external resource,
+or it might prompt for values.
+
+## How Other Components Set Their Credentials
+
+`gfsh` prompts for the user name and password upon invocation of
+a`gfsh connect` command.
+
+Pulse prompts for the user name and password upon start up.
+
+Due to the stateless nature of the REST API,
+a web application or other component that speaks to a server or locator
+via the REST API goes through authentication on each request.
+The header of the request needs to include attributes that define values for
+`security-username` and `security-password`.
+
+## Implement SecurityManager Interface
+
+Complete these items to implement authentication done by either a
+locator or a server.
+
+- Decide upon an authentication algorithm.
+The [Authentication Example](authentication_examples.html)
+stores a set of user name and
+password pairs that represent the identities of components
+that will connect to the system.
+This simplistic algorithm returns the user name as a principal
+if the user name and password passed to the `authenticate` method
+are a match for one of the stored pairs.
+- Define the `security-manager` property.
+See [Enable Security with Property Definitions](enable_security.html)
+for details about this property.
+- Implement the  `authenticate` method of the `SecurityManager` interface.
+- Define any extra resources that the implemented authentication algorithm
+needs in order to make a decision.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/security/implementing_authorization.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/implementing_authorization.html.md.erb b/geode-docs/managing/security/implementing_authorization.html.md.erb
new file mode 100644
index 0000000..3fd4816
--- /dev/null
+++ b/geode-docs/managing/security/implementing_authorization.html.md.erb
@@ -0,0 +1,248 @@
+---
+title:  Implementing Authorization
+---
+
+## How Authorization Works
+
+When a component requests an operation,
+the `SecurityManager.authorize` method is invoked.
+It is passed the principal of the operation's requester
+and a `ResourcePermission`, which describes the operation requested.
+
+The implementation of the `SecurityManager.authorize` method
+makes a decision as to whether or not the principal will be granted permission
+to carry out the operation.
+It returns a boolean in which a return value of `true` permits
+the operation,
+and a return value of `false` prevents the operation.
+
+A well-designed `authorize` method will have or will have a way of obtaining
+a mapping of principals to the operations (in the form of resource permissions)
+that they are permitted to do.
+
+## Resource Permissions
+
+All operations are described by an instance of the `ResourcePermission` class.
+A permission contains the `Resource` data member,
+which classifies whether the operation as working on
+
+- cache data; value is `DATA`
+- the distributed system; value is `CLUSTER`
+
+A permission also contains the `Operation` data member, 
+which classifies whether the operation as
+
+- reading; value is `READ`
+- changing information; value is `WRITE`
+- making administrative changes; value is `MANAGE`
+
+The operations are not hierarchical;
+`MANAGE` does not imply `WRITE`, and `WRITE` does not imply `READ`.
+
+Some operations further specify a region name in the permission.
+This permits restricting operations on that region to only those
+authorized principals.
+And within a region, some operations may specify a key.
+This permits restricting operations on that key within that region to 
+only those authorized principals.
+
+This table classifies the permissions assigned for operations common to
+a Client-Server interaction.
+
+| Client Operation                   | Assigned `ResourcePermission`
+|------------------------------------|-------------------------------------|
+| get function attribute             | CLUSTER:READ                        |
+| create region                      | DATA:MANAGE                         |
+| destroy region                     | DATA:MANAGE                         |
+| Region.Keyset                      | DATA:READ:RegionName                |
+| Region.query                       | DATA:READ:RegionName                |
+| Region.getAll                      | DATA:READ:RegionName                |
+| Region.getAll with a list of keys  | DATA:READ:RegionName:Key            |
+| Region.getEntry                    | DATA:READ:RegionName                |
+| Region.containsKeyOnServer(key)    | DATA:READ:RegionName:Key            |
+| Region.get(key)                    | DATA:READ:RegionName:Key            |
+| Region.registerInterest(key)       | DATA:READ:RegionName:Key            |
+| Region.registerInterest(regex)     | DATA:READ:RegionName                |
+| Region.unregisterInterest(key)     | DATA:READ:RegionName:Key            |
+| Region.unregisterInterest(regex)   | DATA:READ:RegionName                |
+| execute function                   | DATA:WRITE                          |
+| clear region                       | DATA:WRITE:RegionName               |
+| Region.putAll                      | DATA:WRITE:RegionName               |
+| Region.clear                       | DATA:WRITE:RegionName               |
+| Region.removeAll                   | DATA:WRITE:RegionName               |
+| Region.destroy(key)                | DATA:WRITE:RegionName:Key           |
+| Region.invalidate(key)             | DATA:WRITE:RegionName:Key           |
+| invalidate key (DIFFERENT?)        | DATA:WRITE:RegionName:Key           |
+| Region.destroy(key)                | DATA:WRITE:RegionName:Key           |
+| destroy key    (DIFFERENT?)        | DATA:WRITE:RegionName:Key           |
+| Region.put(key)                    | DATA:WRITE:RegionName:Key           |
+| Region.replace                     | DATA:WRITE:RegionName:Key           |
+
+
+This table classifies the permissions assigned for `gfsh` operations.
+
+| `gfsh` Command                         | Assigned `ResourcePermission`
+|----------------------------------------|----------------------------------|
+| alter disk-store                       | DATA:MANAGE                      |
+| alter region                           | DATA:MANAGE:RegionName           |
+| alter runtime                          | CLUSTER:MANAGE                   |
+| backup disk-store                      | DATA:READ                        |
+| change loglevel                        | CLUSTER:WRITE                    |
+| clear defined indexes                  | DATA:MANAGE                      |
+| close durable-client                   | DATA:MANAGE                      |
+| close durable-cq                       | DATA:MANAGE                      |
+| compact disk-store                     | DATA:MANAGE                      |
+| compact offline-disk-store             | DATA:MANAGE                      |
+| configure pdx                          | DATA:MANAGE                      |
+| create async-event-queue               | DATA:MANAGE                      |
+| create defined indexes                 | DATA:MANAGE                      |
+| create disk-store                      | DATA:MANAGE                      |
+| create gateway-receiver                | DATA:MANAGE                      |
+| create gateway-sender                  | DATA:MANAGE                      |
+| create index                           | DATA:MANAGE:RegionName           |
+| create region                          | DATA:MANAGE                      |
+| define index                           | DATA:MANAGE:RegionName           |
+| deploy                                 | DATA:MANAGE                      |
+| describe client                        | CLUSTER:READ                     |
+| describe config                        | CLUSTER:READ                     |
+| describe disk-store                    | CLUSTER:READ                     |
+| describe member                        | CLUSTER:READ                     |
+| describe offline-disk-store            | CLUSTER:READ                     |
+| describe region                        | CLUSTER:READ                     |
+| destroy disk-store                     | DATA:MANAGE                      |
+| destroy function                       | DATA:MANAGE                      |
+| destroy index                          | DATA:MANAGE or DATA:MANAGE:RegionName |
+| destroy region                         | DATA:MANAGE                      |
+| disconnect                             | DATA:MANAGE                      |
+| echo                                   | DATA:MANAGE                      |
+| encrypt password                       | DATA:MANAGE                      |
+| execute function                       | DATA:MANAGE                      |
+| export cluster-configuration           | CLUSTER:READ                     |
+| export config                          | CLUSTER:READ                     |
+| export data                            | CLUSTER:READ                     |
+| export logs                            | CLUSTER:READ                     |
+| export offline-disk-store              | CLUSTER:READ                     |
+| export stack-traces                    | CLUSTER:READ                     |
+| gc                                     | CLUSTER:MANAGE                   |
+| get --key=key1 --region=region1        | DATA:READ:RegionName:Key         |
+| import data                            | DATA:WRITE:RegionName            |
+| import cluster-configuration           | DATA:MANAGE                      |
+| list async-event-queues                | CLUSTER:READ                     |
+| list clients                           | CLUSTER:READ                     |
+| list deployed                          | CLUSTER:READ                     |
+| list disk-stores                       | CLUSTER:READ                     |
+| list durable-cqs                       | CLUSTER:READ                     |
+| list functions                         | CLUSTER:READ                     |
+| list gateways                          | CLUSTER:READ                     |
+| list indexes                           | CLUSTER:READ                     |
+| list members                           | CLUSTER:READ                     |
+| list regions                           | DATA:READ                        |
+| load-balance gateway-sender            | DATA:MANAGE                      |
+| locate entry                           | DATA:READ:RegionName:Key         |
+| netstat                                | CLUSTER:READ                     |
+| pause gateway-sender                   | DATA:MANAGE                      |
+| pdx rename                             | DATA:MANAGE                      |
+| put --key=key1 --region=region1        | DATA:WRITE:RegionName:Key        |
+| query                                  | DATA:READ:RegionName             |
+| rebalance                              | DATA:MANAGE                      |
+| remove                                 | DATA:WRITE:RegionName or DATA:WRITE:RegionName:Key |
+| resume gateway-sender                  | DATA:MANAGE                      |
+| revoke mising-disk-store               | DATA:MANAGE                      |
+| show dead-locks                        | CLUSTER:READ                     |
+| show log                               | CLUSTER:READ                     |
+| show metrics                           | CLUSTER:READ                     |
+| show missing-disk-stores               | CLUSTER:READ                     |
+| show subscription-queue-size           | CLUSTER:READ                     |
+| shutdown                               | CLUSTER:MANAGE                   |
+| start gateway-receiver                 | DATA:MANAGE                      |
+| start gateway-sender                   | DATA:MANAGE                      |
+| start server                           | CLUSTER:MANAGE                   |
+| status cluster-config-service          | CLUSTER:READ                     |
+| status gateway-receiver                | CLUSTER:READ                     |
+| status gateway-sender                  | CLUSTER:READ                     |
+| status locator                         | CLUSTER:READ                     |
+| status server                          | CLUSTER:READ                     |
+| stop gateway-receiver                  | DATA:MANAGE                      |
+| stop gateway-receiver                  | DATA:MANAGE                      |
+| stop locator                           | CLUSTER:MANAGE                   |
+| stop server                            | CLUSTER:MANAGE                   |
+| undeploy                               | DATA:MANAGE                      |
+
+The `gfsh connect` does not have a permission,
+as it is the operation that invokes authentication. 
+These `gfsh` commands do not have permission defined,
+as they do not interact with the distributed system.
+
+-  `gfsh describe connection`, which describes the `gfsh` end of the connection
+-  `gfsh debug`, which toggles the mode within `gfsh`
+-  `gfsh exit`
+-  `gfsh help`
+-  `gfsh hint`
+-  `gfsh history`
+-  `gfsh run`, although individual commands within the script
+will go through authorization
+-  `gfsh set variable`
+-  `gfsh sh`
+-  `gfsh sleep`
+-  `validate offline-disk-store`
+-  `gfsh version`
+
+This table classifies the permissions assigned for JMX operations.
+
+| JMX Operation                                | Assigned `ResourcePermission`
+|----------------------------------------------|-----------------------------|
+| DistributedSystemMXBean.shutdownAllMembers     | CLUSTER:MANAGE            |
+| ManagerMXBean.start                            | CLUSTER:MANAGE            |
+| ManagerMXBean.stop                             | CLUSTER:MANAGE            |
+| ManagerMXBean.createManager                    | CLUSTER:MANAGE            |
+| ManagerMXBean.shutDownMember                   | CLUSTER:MANAGE            |
+| Mbeans get attributes                          | CLUSTER:READ              |
+| MemberMXBean.showLog                           | CLUSTER:READ              |
+| DistributedSystemMXBean.changerAlertLevel      | CLUSTER:WRITE             |
+| ManagerMXBean.setPulseURL                      | CLUSTER:WRITE             |
+| ManagerMXBean.setStatusMessage                 | CLUSTER:WRITE             |
+| CacheServerMXBean.closeAllContinuousQuery      | DATA:MANAGE               |
+| CacheServerMXBean.closeContinuousQuery         | DATA:MANAGE               |
+| CacheServerMXBean.executeContinuousQuery       | DATA:READ                 |
+| DiskStoreMXBean.flush                          | DATA:MANAGE               |
+| DiskStoreMXBean.forceCompaction                | DATA:MANAGE               |
+| DiskStoreMXBean.forceRoll                      | DATA:MANAGE               |
+| DiskStoreMXBean.setDiskUsageCriticalPercentage | DATA:MANAGE               |
+| DiskStoreMXBean.setDiskUsageWarningPercentage  | DATA:MANAGE               |
+| DistributedSystemMXBean.revokeMissingDiskStores| DATA:MANAGE               |
+| DistributedSystemMXBean.setQueryCollectionsDepth| DATA:MANAGE              |
+| DistributedSystemMXBean.setQueryResultSetLimit | DATA:MANAGE               |
+| DistributedSystemMXBean.backupAllMembers       | DATA:READ                 |
+| DistributedSystemMXBean.queryData              | DATA:READ                 |
+| DistributedSystemMXBean.queryDataForCompressedResult | DATA:READ           |
+| GatewayReceiverMXBean.pause                    | DATA:MANAGE               |
+| GatewayReceiverMXBean.rebalance                | DATA:MANAGE               |
+| GatewayReceiverMXBean.resume                   | DATA:MANAGE               |
+| GatewayReceiverMXBean.start                    | DATA:MANAGE               |
+| GatewayReceiverMXBean.stop                     | DATA:MANAGE               |
+| GatewaySenderMXBean.pause                      | DATA:MANAGE               |
+| GatewaySenderMXBean.rebalance                  | DATA:MANAGE               |
+| GatewaySenderMXBean.resume                     | DATA:MANAGE               |
+| GatewaySenderMXBean.start                      | DATA:MANAGE               |
+| GatewaySenderMXBean.stop                       | DATA:MANAGE               |
+| LockServiceMXBean.becomeLockGrantor            | DATA:MANAGE               |
+| MemberMXBean.compactAllDiskStores              | DATA:MANAGE               |
+
+## Implement Authorization
+
+Complete these items to implement authorization.
+
+- Decide upon an authorization algorithm.
+The [Authorization Example](authorization_example.html)
+stores a mapping of which principals (users) are permitted to do
+which operations.
+The algorithm bases its decision
+on a look up of the permissions granted to the principal attempting
+the operation.
+- Define the `security-manager` property.
+See [Enable Security with Property Definitions](enable_security.html)
+for details about this property.
+- Implement the  `authorize` method of the `SecurityManager` interface.
+- Define any extra resources that the implemented authorization algorithm
+needs in order to make a decision.
+


[40/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/region_options/region_types.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/region_options/region_types.html.md.erb b/developing/region_options/region_types.html.md.erb
deleted file mode 100644
index 45908dd..0000000
--- a/developing/region_options/region_types.html.md.erb
+++ /dev/null
@@ -1,129 +0,0 @@
----
-title:  Region Types
----
-
-Region types define region behavior within a single distributed system. You have various options for region data storage and distribution.
-
-<a id="region_types__section_E3435ED1D0D142538B99FA69A9E449EF"></a>
-Within a Geode distributed system, you can define distributed regions and non-distributed regions, and you can define regions whose data is spread across the distributed system, and regions whose data is entirely contained in a single member.
-
-Your choice of region type is governed in part by the type of application you are running. In particular, you need to use specific region types for your servers and clients for effective communication between the two tiers:
-
--   Server regions are created inside a `Cache` by servers and are accessed by clients that connect to the servers from outside the server's distributed system. Server regions must have region type partitioned or replicated. Server region configuration uses the `RegionShortcut` enum settings.
--   Client regions are created inside a `ClientCache` by clients and are configured to distribute data and events between the client and the server tier. Client regions must have region type `local`. Client region configuration uses the `ClientRegionShortcut` enum settings.
--   Peer regions are created inside a `Cache`. Peer regions may be server regions, or they may be regions that are not accessed by clients. Peer regions can have any region type. Peer region configuration uses the `RegionShortcut` enum settings.
-
-When you configure a server or peer region using `gfsh` or with the `cache.xml` file, you can use *region shortcuts* to define the basic configuration of your region. A region shortcut provides a set of default configuration attributes that are designed for various types of caching architectures. You can then add additional configuration attributes as needed to customize your application. For more information and a complete reference of these region shortcuts, see [Region Shortcuts Reference](../../reference/topics/region_shortcuts_reference.html#reference_lt4_54c_lk).
-
-<a id="region_types__section_A3449B07598C47A881D9219574DE46C5"></a>
-
-These are the primary configuration choices for each data region.
-
-<table>
-<colgroup>
-<col width="33%" />
-<col width="34%" />
-<col width="33%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th>Region Type</th>
-<th>Description</th>
-<th>Best suited for...</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td>Partitioned</td>
-<td>System-wide setting for the data set. Data is divided into buckets across the members that define the region. For high availability, configure redundant copies so each bucket is stored in multiple members with one member holding the primary.</td>
-<td>Server regions and peer regions
-<ul>
-<li>Very large data sets</li>
-<li>High availability</li>
-<li>Write performance</li>
-<li>Partitioned event listeners and data loaders</li>
-</ul></td>
-</tr>
-<tr class="even">
-<td>Replicated (distributed)</td>
-<td>Holds all data from the distributed region. The data from the distributed region is copied into the member replica region. Can be mixed with non-replication, with some members holding replicas and some holding non-replicas.</td>
-<td>Server regions and peer regions
-<ul>
-<li>Read heavy, small datasets</li>
-<li>Asynchronous distribution</li>
-<li>Query performance</li>
-</ul></td>
-</tr>
-<tr class="odd">
-<td>Distributed non-replicated</td>
-<td>Data is spread across the members that define the region. Each member holds only the data it has expressed interest in. Can be mixed with replication, with some members holding replicas and some holding non-replicas.</td>
-<td>Peer regions, but not server regions and not client regions
-<ul>
-<li>Asynchronous distribution</li>
-<li>Query performance</li>
-</ul></td>
-</tr>
-<tr class="even">
-<td>Non-distributed (local)</td>
-<td>The region is visible only to the defining member.</td>
-<td>Client regions and peer regions
-<ul>
-<li>Data that is not shared between applications</li>
-</ul></td>
-</tr>
-</tbody>
-</table>
-
-## <a id="region_types__section_C92C7DBD8EF44F1789FCB36281D3F8BF" class="no-quick-link"></a>Partitioned Regions
-
-Partitioning is a good choice for very large server regions. Partitioned regions are ideal for data sets in the hundreds of gigabytes and beyond.
-
-**Note:**
-Partitioned regions generally require more JDBC connections than other region types because each member that hosts data must have a connection.
-
-Partitioned regions group your data into buckets, each of which is stored on a subset of all of the system members. Data location in the buckets does not affect the logical view - all members see the same logical data set.
-
-Use partitioning for:
-
--   **Large data sets**. Store data sets that are too large to fit into a single member, and all members will see the same logical data set. Partitioned regions divide the data into units of storage called buckets that are split across the members hosting the partitioned region data, so no member needs to host all of the region\u2019s data. Geode provides dynamic redundancy recovery and rebalancing of partitioned regions, making them the choice for large-scale data containers. More members in the system can accommodate more uniform balancing of the data across all host members, allowing system throughput (both gets and puts) to scale as new members are added.
--   **High availability**. Partitioned regions allow you configure the number of copies of your data that Geode should make. If a member fails, your data will be available without interruption from the remaining members. Partitioned regions can also be persisted to disk for additional high availability.
--   **Scalability**. Partitioned regions can scale to large amounts of data because the data is divided between the members available to host the region. Increase your data capacity dynamically by simply adding new members. Partitioned regions also allow you to scale your processing capacity. Because your entries are spread out across the members hosting the region, reads and writes to those entries are also spread out across those members.
--   **Good write performance**. You can configure the number of copies of your data. The amount of data transmitted per write does not increase with the number of members. By contrast, with replicated regions, each write must be sent to every member that has the region replicated, so the amount of data transmitted per write increases with the number of members.
-
-In partitioned regions, you can colocate keys within buckets and across multiple partitioned regions. You can also control which members store which data buckets.
-
-## <a id="region_types__section_iwt_dnj_bm" class="no-quick-link"></a>Replicated Regions
-
-
-Replicated regions provide the highest performance in terms of throughput and latency.
-Replication is a good choice for small to medium size server regions.
-
-Use replicated regions for:
-
--   **Small amounts of data required by all members of the distributed system**. For example, currency rate information and mortgage rates.
--   **Data sets that can be contained entirely in a single member**. Each replicated region holds the complete data set for the region
--   **High performance data access**. Replication guarantees local access from the heap for application threads, providing the lowest possible latency for data access.
--   **Asynchronous distribution**. All distributed regions, replicated and non-replicated, provide the fastest distribution speeds.
-
-## <a id="region_types__section_2232BEC969F74CDB91B1BB74FEF67EE1" class="no-quick-link"></a>Distributed, Non-Replicated Regions
-
-Distributed regions provide the same performance as replicated regions, but each member stores only  data in which it has expressed an interest, either by subscribing to events from other members or by defining the data entries in its cache.
-
-Use distributed, non-replicated regions for:
-
--   **Peer regions, but not server regions or client regions**. Server regions must be either replicated or partitioned. Client regions must be local.
--   **Data sets where individual members need only notification and updates for changes to a subset of the data**. In non-replicated regions, each member receives only update events for the data entries it has defined in the local cache.
--   **Asynchronous distribution**. All distributed regions, replicated and non-replicated, provide the fastest distribution speeds.
-
-## <a id="region_types__section_A8150BDBC74E4019B1942481877A4370" class="no-quick-link"></a>Local Regions
-
-**Note:**
-When created using the `ClientRegionShortcut` settings, client regions are automatically defined as local, since all client distribution activities go to and come from the server tier.
-
-The local region has no peer-to-peer distribution activity.
-
-Use local regions for:
-
--   **Client regions**. Distribution is only between the client and server tier.
--   **Private data sets for the defining member**. The local region is not visible to peer members.
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/region_options/storage_distribution_options.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/region_options/storage_distribution_options.html.md.erb b/developing/region_options/storage_distribution_options.html.md.erb
deleted file mode 100644
index 7ed2732..0000000
--- a/developing/region_options/storage_distribution_options.html.md.erb
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title:  Storage and Distribution Options
----
-
-Geode provides several models for data storage and distribution, including partitioned or replicated regions as well as distributed or non-distributed regions (local cache storage).
-
-## <a id="concept_B18B7754E7C7485BA6D66F2DDB7A11FB__section_787D674A64244871AE49CBB58475088E" class="no-quick-link"></a>Peer-to-Peer Region Storage and Distribution
-
-At its most general, data management means having current data available when and where your applications need it. In a properly configured Geode installation, you store your data in your local members and Geode automatically distributes it to the other members that need it according to your cache configuration settings. You may be storing very large data objects that require special consideration, or you may have a high volume of data requiring careful configuration to safeguard your application's performance or memory use. You may need to be able to explicitly lock some data during particular operations. Most data management features are available as configuration options, which you can specify either using the `gfsh` cluster configuration service, `cache.xml` file or the API. Once configured, Geode manages the data automatically. For example, this is how you manage data distribution, disk storage, data expiration activities, and data partitioning. A few features are managed at ru
 n-time through the API.
-
-At the architectural level, data distribution runs between peers in a single system and between clients and servers.
-
--   Peer-to-peer provides the core distribution and storage models, which are specified as attributes on the data regions.
-
--   For client/server, you choose which data regions to share between the client and server tiers. Then, within each region, you can fine-tune the data that the server automatically sends to the client by subscribing to subsets.
-
-Data storage in any type of installation is based on the peer-to-peer configuration for each individual distributed system. Data and event distribution is based on a combination of the peer-to-peer and system-to-system configurations.
-
-Storage and distribution models are configured through cache and region attributes. The main choices are partitioned, replicated, or just distributed. All server regions must be partitioned or replicated. Each region\u2019s `data-policy` and `subscription-attributes`, and its `scope` if it is not a partitioned region, interact for finer control of data distribution.
-
-## <a id="concept_B18B7754E7C7485BA6D66F2DDB7A11FB__section_A364D16DFADA49D1A838A7EAF8E4251C" class="no-quick-link"></a>Storing Data in the Local Cache
-
-To store data in your local cache, use a region `refid` with a `RegionShortcut` or `ClientRegionShortcut` that has local state. These automatically set the region `data-policy` to a non-empty policy. Regions without storage can send and receive event distributions without storing anything in your application heap. With the other settings, all entry operations received are stored locally.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/storing_data_on_disk/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/storing_data_on_disk/chapter_overview.html.md.erb b/developing/storing_data_on_disk/chapter_overview.html.md.erb
deleted file mode 100644
index 96c6a3d..0000000
--- a/developing/storing_data_on_disk/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,24 +0,0 @@
----
-title:  Persistence and Overflow
----
-
-You can persist data on disk for backup purposes and overflow it to disk to free up memory without completely removing the data from your cache.
-
-**Note:**
-This supplements the general steps for managing data regions provided in [Basic Configuration and Programming](../../basic_config/book_intro.html).
-
-All disk storage uses Apache Geode[Disk Storage](../../managing/disk_storage/chapter_overview.html).
-
--   **[How Persistence and Overflow Work](../../developing/storing_data_on_disk/how_persist_overflow_work.html)**
-
-    To use Geode persistence and overflow, you should understand how they work with your data.
-
--   **[Configure Region Persistence and Overflow](../../developing/storing_data_on_disk/storing_data_on_disk.html)**
-
-    Plan persistence and overflow for your data regions and configure them accordingly.
-
--   **[Overflow Configuration Examples](../../developing/storing_data_on_disk/overflow_config_examples.html)**
-
-    The `cache.xml` examples show configuration of region and server subscription queue overflows.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/storing_data_on_disk/how_persist_overflow_work.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/storing_data_on_disk/how_persist_overflow_work.html.md.erb b/developing/storing_data_on_disk/how_persist_overflow_work.html.md.erb
deleted file mode 100644
index 2c08c33..0000000
--- a/developing/storing_data_on_disk/how_persist_overflow_work.html.md.erb
+++ /dev/null
@@ -1,47 +0,0 @@
----
-title:  How Persistence and Overflow Work
----
-
-To use Geode persistence and overflow, you should understand how they work with your data.
-
-<a id="how_persist_overflow_work__section_jzl_wwb_pr"></a>
-Geode persists and overflows several types of data. You can persist or overflow the application data in your regions. In addition, Geode persists and overflows messaging queues between distributed systems, to manage memory consumption and provide high availability.
-
-Persistent data outlives the member where the region resides and can be used to initialize the region at creation. Overflow acts only as an extension of the region in memory.
-
-The data is written to disk according to the configuration of Geode disk stores. For any disk option, you can specify the name of the disk store to use or use the Geode default disk store. See [Disk Storage](../../managing/disk_storage/chapter_overview.html).
-
-## <a id="how_persist_overflow_work__section_78F2D1820B6C48859A0E5411CE360105" class="no-quick-link"></a>How Data Is Persisted and Overflowed
-
-For persistence, the entry keys and values are copied to disk. For overflow, only the entry values are copied. Other data, such as statistics and user attributes, are retained in memory only.
-
--   Data regions are overflowed to disk by least recently used (LRU) entries because those entries are deemed of least interest to the application and therefore less likely to be accessed.
--   Server subscription queues overflow most recently used (MRU) entries. These are the messages that are at the end of the queue and so are last in line to be sent to the client.
-
-## <a id="how_persist_overflow_work__section_1A3AE288145749058880D98C699FE124" class="no-quick-link"></a>Persistence
-
-Persistence provides a disk backup of region entry data. The keys and values of all entries are saved to disk, like having a replica of the region on disk. Region entry operations such as put and destroy are carried out in memory and on disk.
-
-<img src="../../images_svg/developing_persistence.svg" id="how_persist_overflow_work__image_B53E1A5A568D437692247A2FD99348A6" class="image" />
-
-When the member stops for any reason, the region data on disk remains. In partitioned regions, where data buckets are divided among members, this can result in some data only on disk and some on disk and in memory. The disk data can be used at member startup to populate the same region.
-
-## <a id="how_persist_overflow_work__section_55A7BBEB48574F649C40EB5D3E9CD0AC" class="no-quick-link"></a>Overflow
-
-Overflow limits region size in memory by moving the values of least recently used (LRU) entries to disk. Overflow basically uses disk as a swap space for entry values. If an entry is requested whose value is only on disk, the value is copied back up into memory, possibly causing the value of a different LRU entry to be moved to disk. As with persisted entries, overflowed entries are maintained on disk just as they are in memory.
-
-In this figure, the value of entry X has been moved to disk to make space in memory. The key for X remains in memory. From the distributed system perspective, the value on disk is as much a part of the region as the data in memory.
-
-<img src="../../images_svg/developing_overflow.svg" id="how_persist_overflow_work__image_1F89C9FBACB54EDA844778EC60F61B8D" class="image" />
-
-## <a id="how_persist_overflow_work__section_9CBEBC0B59554DB49CE4941435793C51" class="no-quick-link"></a>Persistence and Overflow Together
-
-Used together, persistence and overflow keep all entry keys and values on disk and only the most active entry values in memory. The removal of an entry value from memory due to overflow has no effect on the disk copy as all entries are already on disk.
-
-<img src="../../images_svg/developing_persistence_and_overflow.svg" id="how_persist_overflow_work__image_E40D9C2EA238406A991E954477C7EB78" class="image" />
-
-## Persistence and Multi-Site Configurations
-
-Multi-site gateway sender queues overflow most recently used (MRU) entries. These are the messages that are at the end of the queue and so are last in line to be sent to the remote site. You can also configure gateway sender queues to persist for high availability.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/storing_data_on_disk/overflow_config_examples.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/storing_data_on_disk/overflow_config_examples.html.md.erb b/developing/storing_data_on_disk/overflow_config_examples.html.md.erb
deleted file mode 100644
index ca9d7cd..0000000
--- a/developing/storing_data_on_disk/overflow_config_examples.html.md.erb
+++ /dev/null
@@ -1,36 +0,0 @@
----
-title:  Overflow Configuration Examples
----
-
-The `cache.xml` examples show configuration of region and server subscription queue overflows.
-
-<a id="overflow_config_examples__section_FD38DA72706245C996ACB7B23927F6AF"></a>
-Configure overflow criteria based on one of these factors:
-
--   Entry count
--   Absolute memory consumption
--   Memory consumption as a percentage of the application heap (not available for server subscription queues)
-
-Configuration of region overflow:
-
-``` pre
-<!-- Overflow when the region goes over 10000 entries -->
-<region-attributes>
-  <eviction-attributes>
-    <lru-entry-count maximum="10000" action="overflow-to-disk"/>
-  </eviction-attributes>
-</region-attributes>
-```
-
-Configuration of server's client subscription queue overflow:
-
-``` pre
-<!-- Overflow the server's subscription queues when the queues reach 1 Mb of memory -->
-<cache> 
-  <cache-server> 
-    <client-subscription eviction-policy="mem" capacity="1"/> 
-  </cache-server> 
-</cache>
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/storing_data_on_disk/storing_data_on_disk.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/storing_data_on_disk/storing_data_on_disk.html.md.erb b/developing/storing_data_on_disk/storing_data_on_disk.html.md.erb
deleted file mode 100644
index 9aefd7c..0000000
--- a/developing/storing_data_on_disk/storing_data_on_disk.html.md.erb
+++ /dev/null
@@ -1,62 +0,0 @@
----
-title:  Configure Region Persistence and Overflow
----
-
-Plan persistence and overflow for your data regions and configure them accordingly.
-
-<a id="storing_data_on_disk__section_E253562A46114CF0A4E47048D8143999"></a>
-Use the following steps to configure your data regions for persistence and overflow:
-
-1.  Configure your disk stores as needed. See [Designing and Configuring Disk Stores](../../managing/disk_storage/using_disk_stores.html#defining_disk_stores). The cache disk store defines where and how the data is written to disk.
-
-    ``` pre
-    <disk-store name="myPersistentStore" . . . >
-    <disk-store name="myOverflowStore" . . . >
-    ```
-
-2.  Specify the persistence and overflow criteria for the region. If you are not using the default disk store, provide the disk store name in your region attributes configuration. To write asynchronously to disk, specify `disk-synchronous="false"`.
-    -   For overflow, specify the overflow criteria in the region's `eviction-attributes` and name the disk store to use.
-
-        Example:
-
-        ``` pre
-        <region name="overflowRegion" . . . >
-          <region-attributes disk-store-name="myOverflowStore" disk-synchronous="true">
-            <eviction-attributes>
-              <!-- Overflow to disk when 100 megabytes of data reside in the
-                   region -->
-              <lru-memory-size maximum="100" action="overflow-to-disk"/>
-            </eviction-attributes>
-          </region-attributes>
-        </region>
-        ```
-
-        gfsh:
-
-        You cannot configure `lru-memory-size` using gfsh.
-    -   For persistence, set the `data-policy` to `persistent-replicate` and name the disk store to use.
-
-        Example:
-
-        ``` pre
-        <region name="partitioned_region" refid="PARTITION_PERSISTENT">
-          <region-attributes disk-store-name="myPersistentStore">
-            . . . 
-          </region-attributes>
-        </region> 
-        ```
-
-When you start your members, overflow and persistence will be done automatically, with the disk stores and disk write behaviors.
-
-**Note:**
-You can also configure Regions and Disk Stores using the gfsh command-line interface. See [Region Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_EF03119A40EE492984F3B6248596E1DD) and [Disk Store Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_1ACC91B493EE446E89EC7DBFBBAE00EA).
-
-<a id="storing_data_on_disk__section_0D825566F508444C98DFE57527962FED"></a>
-
-| Related Topics                                                                        |
-|---------------------------------------------------------------------------------------|
-| `org.apache.geode.cache.RegionAttributes` for data region persistence information |
-| `org.apache.geode.cache.EvictionAttributes` for data region overflow information  |
-| `org.apache.geode.cache.server.ClientSubscriptionConfig`                          |
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/JTA_transactions.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/JTA_transactions.html.md.erb b/developing/transactions/JTA_transactions.html.md.erb
deleted file mode 100644
index 31d0cbb..0000000
--- a/developing/transactions/JTA_transactions.html.md.erb
+++ /dev/null
@@ -1,226 +0,0 @@
----
-title: JTA Global Transactions with Geode
----
-
-
-Use JTA global transactions to coordinate Geode cache transactions and JDBC transactions.
-
-JTA is a standard Java interface you can use to coordinate Geode cache transactions and JDBC transactions globally under one umbrella. JTA provides direct coordination between the Geode cache and another transactional resource, such as a database. The parties involved in a JTA transaction include:
-
--   The Java application, responsible for starting the global transaction
--   The JTA transaction manager, responsible for opening, committing, and rolling back transactions
--   The transaction resource managers, including the Geode cache transaction manager and the JDBC resource manager, responsible for managing operations in the cache and database respectively
-
-Using JTA, your application controls all transactions in the same standard way, whether the transactions act on the Geode cache, a JDBC resource, or both together. When a JTA global transaction is done, the Geode transaction and the database transaction are both complete.
-
-When using JTA global transactions with Geode, you have three options:
-
-1.  Coordinate with an external JTA transaction manager in a container (such as WebLogic or JBoss)
-2.  Set Geode as the \u201clast resource\u201d while using a container (such as WebLogic or JBoss) as the JTA transaction manager
-3.  Have Geode act as the JTA transaction manager
-
-An application creates a global transaction by using `javax.transaction.UserTransaction` bound to the JNDI context `java:/UserTransaction` to start and terminate transactions. During the transaction, cache operations are done through Geode as usual as described in [Geode Cache Transactions](cache_transactions.html#topic_e15_mr3_5k).
-
-**Note:**
-See the Sun documentation for more information on topics such as JTA, `javax.transaction`, committing and rolling back global transactions, and the related exceptions.
-
--   **[Coordinating with External JTA Transactions Managers](#concept_cp1_zx1_wk)**
-
-    Geode can work with the JTA transaction managers of several containers like JBoss, WebLogic, GlassFish, and so on.
-
--   **[Using Geode as the "Last Resource" in a Container-Managed JTA Transaction](#concept_csy_vfb_wk)**
-
-    The "last resource" feature in certain 3rd party containers such as WebLogic allow the use one non-XAResource (such as Geode) in a transaction with multiple XAResources while ensuring consistency.
-
--   **[Using Geode as the JTA Transaction Manager](#concept_8567sdkbigige)**
-
-    You can also use Geode as the JTA transaction manager.
-
--   **[Behavior of Geode Cache Writers and Loaders Under JTA](cache_plugins_with_jta.html)**
-
-    When Geode participates in a global transactions, you can still have Geode cache writers and cache loaders operating in the usual way.
-
--   **[Turning Off JTA Transactions](turning_off_jta.html)**
-
-    You can configure regions to not participate in any JTA global transaction.
-
-<a id="concept_cp1_zx1_wk"></a>
-
-# Coordinating with External JTA Transactions Managers
-
-Geode can work with the JTA transaction managers of several containers like JBoss, WebLogic, GlassFish, and so on.
-
-At startup Geode looks for a TransactionManager (`javax.transaction.TransactionManager`) that has been bound to its JNDI context. When Geode finds such an external transaction manager, all Geode region operations (such as get and put) will participate in global transactions hosted by this external JTA transaction manager.
-
-This figure shows the high-level operation of a JTA global transaction whose resources include a Geode cache and a database.
-
-<img src="../../images/transactions_jta_app_server.png" id="concept_cp1_zx1_wk__image_C2935E48415349659FC39BF5C7E75579" class="image" />
-
-An externally coordinated JTA global transaction is run in the following manner:
-
-1.  Each region operation looks up for presence of a global transaction. If one is detected, then a Geode transaction is started automatically, and we register a `javax.transaction.Synchronization` callback with the external JTA transaction manager.
-2.  At transaction commit, Geode gets a `beforeCommit()` callback from the external JTA transaction manager. Geode does all locking and conflict detection at this time. If this fails, an exception is thrown back to JTA transaction manager, which then aborts the transaction.
-3.  After a successful `beforeCommit()`callback, JTA transaction manager asks other data sources to commit their transaction.
-4.  Geode then gets a `afterCommit()` callback in which changes are applied to the cache and distributed to other members.
-
-You can disable JTA in any region that should not participate in JTA transactions. See [Turning Off JTA Transactions](turning_off_jta.html#concept_nw2_5gs_xk).
-
-## <a id="task_j3g_3mn_1l" class="no-quick-link"></a>How to Run a JTA Transaction Coordinated by an External Transaction Manager
-
-Use the following procedure to run a Geode global JTA transaction coordinated by an external JTA transaction manager.
-
-1.  **Configure the external data sources in the external container.** Do not configure the data sources in cache.xml . They are not guaranteed to get bound to the JNDI tree.
-2.  
-
-    Configure Geode for any necessary transactional behavior in the `cache.xml` file. For example, enable `copy-on-read` and specify a transaction listener, as needed. See [Setting Global Copy on Read](working_with_transactions.html#concept_vx2_gs4_5k) and [Configuring Transaction Plug-In Event Handlers](working_with_transactions.html#concept_ocw_vf1_wk) for details. 
-3.  
-
-    Make sure that JTA transactions are enabled for the regions that will participate in the transaction. See [Turning Off JTA Transactions](turning_off_jta.html#concept_nw2_5gs_xk) for details. 
-4.  
-
-     Start the transaction through the external container. 
-5.  
-
-    Initialize the Geode cache. Geode will automatically join the transaction. 
-6.  
-
-     Execute operations in the cache and the database as usual. 
-7.  
-
-     Commit the transaction through the external container. 
-
-<a id="concept_csy_vfb_wk"></a>
-
-# Using Geode as the "Last Resource" in a Container-Managed JTA Transaction
-
-The "last resource" feature in certain 3rd party containers such as WebLogic allow the use one non-XAResource (such as Geode) in a transaction with multiple XAResources while ensuring consistency.
-
-In the previous two JTA transaction use cases, if the Geode member fails after the other data sources commit but before Geode receives the `afterCommit` callback, Geode and the other data sources may become inconsistent. To prevent this from occurring, you can use the container's "last resource optimization" feature, with Geode set as the "last resource". Using Geode as the last resource ensures that in the event of failure, Geode remains consistent with the other XAResources involved in the transaction.
-
-To accomplish this, the application server container must use a JCA Resource Adapter to accomodate Geode as the transaction's last resource. The transaction manager of the container first issues a "prepare" message to the participating XAResources. If the XAResources all accept the transaction, then the manager issues a "commit" instruction to the non-XAResource (in this case, Geode). The non-XAResource (in this case, Geode) participates as a local transaction resource. If the non-XAResource fails, then the transaction manager can rollback the XAResources.
-
-<img src="../../images/transactions_jca_adapter.png" id="concept_csy_vfb_wk__image_opb_sgb_wk" class="image" />
-
-<a id="task_sln_x3b_wk"></a>
-
-# How to Run JTA Transactions with Geode as a "Last Resource"
-
-1.  Locate the `$GEMFIRE/lib/gemfire-jca.rar` file in your Geode installation. 
-2.  Add your container-specific XML file to the `gemfire-jca.rar` file. 
-<ol>
-<li>Create a container-specific resource adapter XML file named &lt;container&gt;-ra.xml. For example, an XML file for a WebLogic resource adapter XML file might look something like this:
-
-    ``` pre
-    <?xml version="1.0"?>
-    <!DOCTYPE weblogic-connection-factory-dd PUBLIC '-//BEA Systems, Inc.//DTD WebLogic 9.0.0 Connector//EN' 
-    'http://www.bea.com/servers/wls810/dtd/weblogic810-ra.dtd'>
-
-    <weblogic-connection-factory-dd>
-       <connection-factory-name>GFE JCA</connection-factory-name>
-       <jndi-name>gfe/jca</jndi-name>
-    </weblogic-connection-factory-dd>
-    ```
-</li>
-<li>Create a folder named `META-INF`, and place the container-specific XML file inside the directory. For example, the folder structure would look like this:
-
-    ``` pre
-    META-INF/weblogic-ra.xml
-    ```
-</li>
-<li>Navigate to the directory above the `META-INF` folder and execute the following command:
-
-    ``` pre
-    $ jar -uf <GEMFIRE_INSTALL_DIR>/lib/gemfire-jca.rar META-INF/weblogic-ra.xml
-    ```
-</li>
-</ol>
-3.  Make sure that `$GEMFIRE/lib/gemfire.jar` is accessible in the CLASSPATH of the JTA transaction coordinator container.
-4.  Deploy `gemfire-jca.rar` file on the JTA transaction coordinator container . When deploying the file, you specify the JNDI name and so on. 
-5.  Configure Geode for any necessary transactional behavior. Enable `copy-on-read` and specify a transaction listener, if you need one. See [Setting Global Copy on Read](working_with_transactions.html#concept_vx2_gs4_5k) and [Configuring Transaction Plug-In Event Handlers](working_with_transactions.html#concept_ocw_vf1_wk) for details.
-6.  Get an initial context through `com.gemstone.cache.Cache.getJNDIContext`. For example:
-
-    ``` pre
-    Context ctx = cache.getJNDIContext();
-    ```
-
-    This returns `javax.naming.Context` and gives you the JNDI associated with the cache. The context contains the `TransactionManager`, `UserTransaction`, and any configured JDBC resource manager.
-
-7.  Start and commit the global transaction using the `UserTransaction` object rather than with Geode's `CacheTransactionManager`. 
-
-    ``` pre
-    UserTransaction txManager = (UserTransaction)ctx.lookup("java:/UserTransaction");
-    ```
-
-8.  Obtain a Geode connection.
-
-    ``` pre
-    GFConnectionFactory cf = (GFConnectionFactory) ctx.lookup("gfe/jca");
-
-    //This step of obtaining connection is what begins the
-    //LocalTransaction.
-    //If this is absent, GFE operations will not be part of any
-    //transaction
-    GFConnection gemfireConn = (GFConnection)cf.getConnection();
-    ```
-
-See [JCA Resource Adapter Example](jca_adapter_example.html#concept_swv_z2p_wk) for an example of how to set up a transaction using the JCA Resource Adapter.
-
-## <a id="concept_8567sdkbigige" class="no-quick-link"></a>Using Geode as the JTA Transaction Manager
-
-You can also use Geode as the JTA transaction manager.
-
-Geode ships with its own implementation of a JTA transaction manager. However, note that this implementation is not XA-compliant; therefore, it does not persist any state, which could lead to an inconsistent state after recovering a crashed member.
-
-<img src="../../images/transactions_jta.png" id="concept_8567sdkbigige__image_C8D94070E55F4BCC8B5FF3D5BEBA99ED" class="image" />
-
-The Geode JTA transaction manager is initialized when the Geode cache is initialized. Until then, JTA is not available for use. The application starts a JTA transaction by using the `UserTransaction.begin` method. The `UserTransaction` object is the application\u2019s handle to instruct the JTA transaction manager on what to do.
-
-The Geode JTA implementation also supports the J2EE Connector Architecture (JCA) `ManagedConnectionFactory`.
-
-The Geode implementation of JTA has the following limitations:
-
--   Only one JDBC database instance per transaction is allowed, although you can have multiple connections to that database.
--   Multiple threads cannot participate in a transaction.
--   Transaction recovery after a crash is not supported.
-
-In addition, JTA transactions are subject to the limitations of Geode cache transactions such as not being supported on regions with global scope. When a global transaction needs to access the Geode cache, JTA silently starts a Geode cache transaction.
-
-<a id="task_qjv_khb_wk"></a>
-
-# How to Run a JTA Global Transaction Using Geode as the JTA Transaction Manager
-
-This topic describes how to run a JTA global transaction in Geode .
-
-To run a global transaction, perform the following steps:
-
-1. Configure the external data sources in the `cache.xml` file. See [Configuring Database Connections Using JNDI](configuring_db_connections_using_JNDI.html#topic_A5E3A67C808D48C08E1F0DC167C5C494) for examples. 
-2. Include the JAR file for any data sources in your CLASSPATH. 
-3.  Configure Geode for any necessary transactional behavior. Enable `copy-on-read` for your cache and specify a transaction listener, if you need one. See [Setting Global Copy on Read](working_with_transactions.html#concept_vx2_gs4_5k) and [Configuring Transaction Plug-In Event Handlers](working_with_transactions.html#concept_ocw_vf1_wk) for details. 
-4.  Make sure that JTA transactions are not disabled in the `cache.xml` file or the application code. 
-5.  Initialize the Geode cache. 
-6.  Get an initial context through `org.apache.geode.cache.Cache.getJNDIContext`. For example: 
-
-    ``` pre
-    Context ctx = cache.getJNDIContext();
-    ```
-
-    This returns `javax.naming.Context` and gives you the JNDI associated with the cache. The context contains the `TransactionManager`, `UserTransaction`, and any configured JDBC resource manager.
-
-7.  Look up the `UserTransaction` context: 
-
-    ``` pre
-    UserTransaction txManager = (UserTransaction) ctx.lookup("java:/UserTransaction");
-    ```
-
-    With `UserTransaction`, you can begin, commit, and rollback transactions.
-    If a global transaction exists when you use the cache, it automatically joins the transaction. Operations on a region automatically detect and become associated with the existing global transaction through JTA synchronization. If the global transaction has been marked for rollback, however, the Geode cache is not allowed to enlist with that transaction. Any cache operation that causes an attempt to enlist throws a `FailedSynchronizationException`.
-
-    The Geode cache transaction\u2019s commit or rollback is triggered when the global transaction commits or rolls back. When the global transaction is committed using the `UserTransaction` interface, the transactions of any registered JTA resources are committed, including the Geode cache transaction. If the cache or database transaction fails to commit, the `UserTransaction` call throws a `TransactionRolledBackException`. If a commit or rollback is attempted directly on a Geode transaction that is registered with JTA, that action throws an `IllegalStateException`.
-
-See [Geode JTA Transaction Example](transaction_jta_gemfire_example.html#concept_ffg_sj5_1l).
-
--   **[Configuring Database Connections Using JNDI](configuring_db_connections_using_JNDI.html)**
-
--   **[Example DataSource Configurations in cache.xml](configuring_db_connections_using_JNDI.html#topic_F67EC20067124A618A8099AB4CBF634C)**
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/about_transactions.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/about_transactions.html.md.erb b/developing/transactions/about_transactions.html.md.erb
deleted file mode 100644
index 158f5f8..0000000
--- a/developing/transactions/about_transactions.html.md.erb
+++ /dev/null
@@ -1,30 +0,0 @@
----
-title: About Transactions
----
-
-<a id="topic_jbt_2y4_wk"></a>
-
-
-This section covers the features of Geode transactions.
-
-Geode transactions provide the following features:
-
--   Basic transaction properties: atomicity, consistency, isolation, and durability
--   Rollback and commit operations along with standard Geode cache operations
--   Ability to suspend and resume transactions
--   High concurrency and high performance
--   Transaction statistics gathering and archiving
--   Compatibility with Java Transaction API (JTA) transactions, using either Geode JTA or a third-party implementation
--   Ability to use Geode as a \u201clast resource\u201d in JTA transactions with multiple data sources to guarantee transactional consistency
-
-## Types of Transactions
-
-Geode supports two kinds of transactions: **Geode cache transactions** and **JTA global transactions**.
-
-Geode cache transactions are used to group the execution of cache operations and to gain the control offered by transactional commit and rollback. Applications create cache transactions by using an instance of the Geode `CacheTransactionManager`. During a transaction, cache operations are performed and distributed through Geode as usual. See [Geode Cache Transactions](cache_transactions.html#topic_e15_mr3_5k) for details on Geode cache transactions and how these transactions work.
-
-JTA global transactions allow you to use the standard JTA interface to coordinate Geode transactions with JDBC transactions. When performing JTA global transactions, you have the option of using Geode\u2019s own implementation of JTA or a third party\u2019s implementation (typically application servers such as WebLogic or JBoss) of JTA. In addition, some third party JTA implementations allow you to set Geode as a \u201clast resource\u201d to ensure transactional consistency across data sources in the event that Geode or another data source becomes unavailable. For global transactions, applications use `java:/UserTransaction` to start and terminate transactions while Geode cache operations are performed in the same manner as regular Geode cache transactions. See [JTA Global Transactions with Geode](JTA_transactions.html) for details on JTA Global transactions.
-
-You can also coordinate a Geode cache transaction with an external database by specifying database operations within cache and transaction application plug-ins (CacheWriters/CacheListeners and TransactionWriters/TransactionListeners.) This is an alternative to using JTA transactions. See [How to Run a Geode Cache Transaction that Coordinates with an External Database](run_a_cache_transaction_with_external_db.html#task_sdn_2qk_2l).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/cache_plugins_with_jta.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/cache_plugins_with_jta.html.md.erb b/developing/transactions/cache_plugins_with_jta.html.md.erb
deleted file mode 100644
index d0199f5..0000000
--- a/developing/transactions/cache_plugins_with_jta.html.md.erb
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title:  Behavior of Geode Cache Writers and Loaders Under JTA
----
-
-When Geode participates in a global transactions, you can still have Geode cache writers and cache loaders operating in the usual way.
-
-For example, in addition to the transactional connection to the database, the region could also have a cache writer and cache loader configured to exchange data with that same database. As long as the data source is transactional, which means that it can detect the transaction manager, the cache writer and cache loader participate in the transaction. If the JTA rolls back its transaction, the changes made by the cache loader and the cache writer are rolled back. For more on transactional data sources, see the discussion of XAPooledDataSource and ManagedDataSource in[Configuring Database Connections Using JNDI](configuring_db_connections_using_JNDI.html#topic_A5E3A67C808D48C08E1F0DC167C5C494).
-
-If you are using a Geode cache or transaction listener with global transactions, be aware that the EntryEvent returned by a transaction has the Geode transaction ID, not the JTA transaction ID.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/cache_transaction_performance.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/cache_transaction_performance.html.md.erb b/developing/transactions/cache_transaction_performance.html.md.erb
deleted file mode 100644
index f78e21b..0000000
--- a/developing/transactions/cache_transaction_performance.html.md.erb
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title:  Cache Transaction Performance
----
-
-Cache transaction performance can vary depending on the type of regions you are using.
-
-The most common region configurations for use with transactions are distributed replicated and partitioned:
-
--   Replicated regions are better suited for running transactions on small to mid-size data sets. To ensure all or nothing behavior, at commit time, distributed transactions use the global reservation system of the Geode distributed lock service. This works well as long as the data set is reasonably small.
--   Partitioned regions are the right choice for highly-performant, scalable operations. Transactions on partitioned regions use only local locking, and only send messages to the redundant data stores at commit time. Because of this, these transactions perform much better than distributed transactions. There are no global locks, so partitioned transactions are extremely scalable as well.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/cache_transactions.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/cache_transactions.html.md.erb b/developing/transactions/cache_transactions.html.md.erb
deleted file mode 100644
index 01359cd..0000000
--- a/developing/transactions/cache_transactions.html.md.erb
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title: Geode Cache Transactions
----
-
-<a id="topic_e15_mr3_5k"></a>
-
-
-Use Geode cache transactions to group the execution of cache operations and to gain the control offered by transactional commit and rollback. Geode cache transactions control operations within the Geode cache while the Geode distributed system handles data distribution in the usual way.
-
--   **[Cache Transaction Performance](../../developing/transactions/cache_transaction_performance.html)**
-
-    Cache transaction performance can vary depending on the type of regions you are using.
-
--   **[Data Location for Cache Transactions](../../developing/transactions/data_location_cache_transactions.html)**
-
-    The location where you can run your transaction depends on where you are storing your data.
-
--   **[How to Run a Geode Cache Transaction](../../developing/transactions/run_a_cache_transaction.html)**
-
-    This topic describes how to run a Geode cache transaction.
-
--   **[How to Run a Geode Cache Transaction that Coordinates with an External Database](../../developing/transactions/run_a_cache_transaction_with_external_db.html)**
-
-    Coordinate a Geode cache transaction with an external database by using CacheWriter/CacheListener and TransactionWriter/TransactionListener plug-ins, **to provide an alternative to using JTA transactions**.
-
--   **[Working with Geode Cache Transactions](../../developing/transactions/working_with_transactions.html)**
-
-    This section contains guidelines and additional information on working with Geode and its cache transactions.
-
--   **[How Geode Cache Transactions Work](../../developing/transactions/how_cache_transactions_work.html#topic_fls_1j1_wk)**
-
-    This section provides an explanation of how transactions work on Geode caches.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/cache_transactions_by_region_type.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/cache_transactions_by_region_type.html.md.erb b/developing/transactions/cache_transactions_by_region_type.html.md.erb
deleted file mode 100644
index a576ded..0000000
--- a/developing/transactions/cache_transactions_by_region_type.html.md.erb
+++ /dev/null
@@ -1,139 +0,0 @@
----
-title: Transactions by Region Type
----
-<a id="topic_nlq_sk1_wk"></a>
-
-
-A transaction is managed on a per-cache basis, so multiple regions in the cache can participate in a single transaction. The data scope of a Geode cache transaction is the cache that hosts the transactional data. For partitioned regions, this may be a remote host to the one running the transaction application. Any transaction that includes one or more partitioned regions is run on the member storing the primary copy of the partitioned region data. Otherwise, the transaction host is the same one running the application.
-
--   The client executing the transaction code is called the transaction initiator.
-
--   The member contacted by the transaction initiator is called the transaction delegate.
-
--   The member that hosts the data\u2014and the transaction\u2014is called the transaction host.
-
-The transaction host may be the same member or different member from the transaction initiator. In either case, when the transaction commits, data distribution is done from the transaction host in the same way.
-
-**Note:**
-If you have consistency checking enabled in your region, the transaction will generate all necessary version information for the region update when the transaction commits. See [Transactions and Consistent Regions](working_with_transactions.html#transactions_and_consistency) for more details.
-
--   **[Transactions and Partitioned Regions](../../developing/transactions/cache_transactions_by_region_type.html#concept_ysk_xj1_wk)**
-
--   **[Transactions and Replicated Regions](../../developing/transactions/cache_transactions_by_region_type.html#concept_nl5_pk1_wk)**
-
--   **[Transactions and Persistent Regions](../../developing/transactions/cache_transactions_by_region_type.html#concept_omy_341_wk)**
-
-## Transactions and Partitioned Regions
-<a id="concept_ysk_xj1_wk">
-
-In partitioned regions, transaction operations are done first on the primary data store then distributed to other members from there, regardless of which member initiates the cache operation. This is the same as is done for normal cache operations on partitioned regions.
-
-In this figure, M1 runs two transactions.
-
--   The first transaction, T1, works on data whose primary buckets are stored in M1, so M1 is the transaction host.
--   The second transaction, T2, works on data whose primary buckets are stored in M2, so M1 is the transaction delegate and M2 is the transaction host.
-
-*Transaction on a Partitioned Region:*
-
-<img src="../../images_svg/transactions_partitioned_1.svg" id="concept_ysk_xj1_wk__image_9BF680072A674BCF9F01958753F02952" class="image imageleft" />
-
-The transaction is managed on the transaction host. This includes the transactional view, all operations, and all local cache event handling. In this example, when T2 is committed, the data on M2 is updated and the transaction events are distributed throughout the system, exactly as if the transaction had originated on M2.
-
-The first region operation within the transaction determines the transaction host. All other operations must also work with that as their transaction host:
-
--   All partitioned region data managed inside the transaction must use the transaction host as their primary data store. In the example, if transaction T2 tried to work on entry W in addition to entries Y and Z, the `TransactionDataNotColocatedException` would be thrown. For information on partitioning data so it is properly colocated for transactions, see [Understanding Custom Partitioning and Data Colocation](../partitioned_regions/custom_partitioning_and_data_colocation.html#custom_partitioning_and_data_colocation). In addition, the data must not be moved during the transaction. Design partitioned region rebalancing to avoid rebalancing while transactions are running. See [Rebalancing Partitioned Region Data](../partitioned_regions/rebalancing_pr_data.html#rebalancing_pr_data).
--   All non-partitioned region data managed inside the transaction must be available on the transaction host and must be distributed. Operations on regions with local scope are not allowed in transactions with partitioned regions.
-
-The next figure shows a transaction that operates on two partitioned regions and one replicated region. As with the single region example, all local event handling is done on the transaction host.
-
-For a transaction to work, the first operation must be on one of the partitioned regions, to establish M2 as the transaction host. Running the first operation on a key in the replicated region would set M1 as the transaction host, and subsequent operations on the partitioned region data would fail with a `TransactionDataNotColocatedException` exception.
-
-*Transaction on a Partitioned Region with Other Regions:*
-
-<img src="../../images_svg/transactions_partitioned_2.svg" id="concept_ysk_xj1_wk__image_34496249618F46F8B8F7E2D4F342E1E6" class="image" />
-
-## Transactions and Replicated Regions
-<a id="concept_nl5_pk1_wk">
-
-<a id="concept_nl5_pk1_wk__section_C55E80C7136D4A9A8327563E4B89356D"></a>
-For replicated regions, the transaction and its operations are applied to the local member and the resulting transaction state is distributed to other members according to the attributes of each region.
-
-**Note:**
-If possible, use `distributed-ack` scope for your regions where you will run transactions. The `REPLICATE` region shortcuts use `distributed-ack` scope.
-
-The region\u2019s scope affects how data is distributed during the commit phase. Transactions are supported for these region scopes:
-
--   `distributed-ack`. Handles transactional conflicts both locally and between members. The `distributed-ack` scope is designed to protect data consistency. This scope provides the highest level of coordination among transactions in different members. When the commit call returns for a transaction run on all distributed-ack regions, you can be sure that the transaction\u2019s changes have already been sent and processed. In addition, any callbacks in the remote member have been invoked.
--   `distributed-no-ack`. Handles transactional conflicts locally, with less coordination between members. This provides the fastest transactions with distributed regions, but it does not work for all situations. This scope is appropriate for:
-    -   Applications with only one writer
-    -   Applications with multiple writers that write to nonoverlapping data sets
--   `local`. No distribution, handles transactional conflicts locally. Transactions on regions with local scope have no distribution, but they perform conflict checks in the local member. You can have conflict between two threads when their transactions change the same entry.
-
-Transactions on non-replicated regions (regions that use the old API with DataPolicy EMPTY, NORMAL and PRELOADED) are always transaction initiators, and the transaction data host is always a member with a replicated region. This is similar to the way transactions using the PARTITION\_PROXY shortcut are forwarded to members with primary bucket.
-
-**Note:**
-When you have transactions operating on EMPTY, NORMAL or PARTITION regions, make sure that the Geode property `conserve-sockets` is set to false to avoid distributed deadlocks. An empty region is a region created with the API `RegionShortcut.REPLICATE_PROXY` or a region with that uses the old API of `DataPolicy` set to `EMPTY`.
-
-## Conflicting Transactions in Distributed-Ack Regions
-
-In this series of figures, even after the commit operation is launched, the transaction continues to exist during the data distribution (step 3). The commit does not complete until the changes are made in the remote caches and M1 receives the acknowledgement that verifies that the tasks are complete.
-
-**Step 1:** Before commit, Transactions T1 and T2 each change the same entry in Region B within their local cache. T1 also makes a change to Region A.
-
-<img src="../../images_svg/transactions_replicate_1.svg" id="concept_nl5_pk1_wk__image_cj1_zzj_54" class="image" />
-
-**Step 2:** Conflict detected and eliminated. The distributed system recognizes the potential conflict from Transactions T1 and T2 using the same entry. T1 started to commit first, so it is allowed to continue. T2's commit fails with a conflict.
-
-<img src="../../images_svg/transactions_replicate_2.svg" id="concept_nl5_pk1_wk__image_sbh_21k_54" class="image" />
-
-**Step 3:** Changes are in transit. T1 commits and its changes are merged into the local cache. The commit does not complete until Geode distributes the changes to the remote regions and acknowledgment is received.
-
-<img src="../../images_svg/transactions_replicate_3.svg" id="concept_nl5_pk1_wk__image_qgl_k1k_54" class="image" />
-
-**Step 4:** After commit. Region A in M2 and Region B in M3 reflect the changes from transaction T1 and M1 has received acknowledgment. Results may not be identical in different members if their region attributes (such as expiration) are different.
-
-<img src="../../images_svg/transactions_replicate_4.svg" id="concept_nl5_pk1_wk__image_mkm_q1k_54" class="image" />
-
-## Conflicting Transactions in Distributed-No-Ack Regions
-
-These figures show how using the no-ack scope can produce unexpected results. These two transactions are operating on the same region B entry. Since they use no-ack scope, the conflicting changes cross paths and leave the data in an inconsistent state.
-
-**Step 1:** As in the previous example, Transactions T1 and T2 each change the same entry in Region B within their local cache. T1 also makes a change to Region A. Neither commit fails, and the data becomes inconsistent.
-
-<img src="../../images_svg/transactions_replicate_1.svg" id="concept_nl5_pk1_wk__image_jn2_cbk_54" class="image" />
-
-**Step 2:** Changes are in transit. Transactions T1 and T2 commit and merge their changes into the local cache. Geode then distributes changes to the remote regions.
-
-<img src="../../images_svg/transactions_replicate_no_ack_1.svg" id="concept_nl5_pk1_wk__image_fk1_hbk_54" class="image" />
-
-**Step 3:** Distribution is complete. The non-conflicting changes in Region A have been distributed to M2 as expected. For Region B however, T1 and T2 have traded changes, which is not the intended result.
-
-<img src="../../images_svg/transactions_replicate_no_ack_2.svg" id="concept_nl5_pk1_wk__image_ijc_4bk_54" class="image" />
-
-## <a id="concept_nl5_pk1_wk__section_760DE9F2226B46AD8A025F562CEA4D40" class="no-quick-link"></a>Conflicting Transactions with Local Scope
-
-When encountering conflicts with local scope, the first transaction to start the commit process completes, and the other transaction\u2019s commit fails with a conflict.. In the diagram below, the resulting value for entry Y depends on which transaction commits first.
-<img src="../../images_svg/transactions_replicate_local_1.svg" id="concept_nl5_pk1_wk__image_A37172C328404796AE1F318068C18F43" class="image" />
-
-## Transactions and Persistent Regions
-<a id="concept_omy_341_wk">
-
-By default, Geode does not allow transactions on persistent regions. You can enable the use of transactions on persistent regions by setting the property `gemfire.ALLOW_PERSISTENT_TRANSACTIONS` to true. This may also be accomplished at server startup using gfsh:
-
-``` pre
-gfsh start server --name=server1 --dir=server1_dir \
---J=-Dgemfire.ALLOW_PERSISTENT_TRANSACTIONS=true 
-```
-
-Since Geode does not provide atomic disk persistence guarantees, the default behavior is to disallow disk-persistent regions from participating in transactions. However, when choosing to enable transactions on persistent regions, consider the following:
-
--   Geode does ensure atomicity for in-memory updates.
--   When any failed member is unable to complete the logic triggered by a transaction (including subsequent disk writes), that failed member is removed from the distributed system and, if restarted, must rebuild its state from surviving nodes that successfully complete the updates.
--   The chances of multiple nodes failing to complete the disk writes that result from a transaction commit due to nodes crashing for unrelated reasons are small. The real risk is that the file system buffers holding the persistent updates do not get written to disk in the case of operating system or hardware failure. If only the Geode process crashes, atomicity still exists. The overall risk of losing disk updates can also be mitigated by enabling synchronized disk file mode for the disk stores, but this incurs a high performance penalty.
-
-To mitigate the risk of data not get fully written to disk on all copies of the participating persistent disk stores:
-
--   Make sure you have enough redundant copies of the data. The guarantees of multiple/distributed in-memory copies being (each) atomically updated as part of the Transaction commit sequence can help guard against data corruption.
--   When executing transactions on persistent regions, we recommend using the TransactionWriter to log all transactions along with a time stamp. This will allow you to recover in the event that all nodes fail simultaneously while a transaction is being committed. You can use the log to recover the data manually.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/chapter_overview.html.md.erb b/developing/transactions/chapter_overview.html.md.erb
deleted file mode 100644
index 4dd8c5b..0000000
--- a/developing/transactions/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title:  Transactions
----
-
-Geode provides a transactions API, with `begin`, `commit`, and `rollback` methods. These methods are much the same as the familiar relational database transactions methods.
-
--   **[About Transactions](../../developing/transactions/about_transactions.html)**
-
-    This section covers the features of Geode transactions.
-
--   **[Types of Transactions](../../developing/transactions/about_transactions.html#concept_w3b_wh3_5k)**
-
-    Geode supports two kinds of transactions: **Geode cache transactions** and **JTA global transactions**.
-
--   **[Geode Cache Transactions](../../developing/transactions/cache_transactions.html)**
-
-    Use Geode cache transactions to group the execution of cache operations and to gain the control offered by transactional commit and rollback. Geode cache transactions control operations within the Geode cache while the Geode distributed system handles data distribution in the usual way.
-
--   **[JTA Global Transactions with Geode](../../developing/transactions/JTA_transactions.html)**
-
-    Use JTA global transactions to coordinate Geode cache transactions and JDBC transactions.
-
--   **[Monitoring and Troubleshooting Transactions](../../developing/transactions/monitor_troubleshoot_transactions.html)**
-
-    This topic covers errors that may occur when running transactions in Geode.
-
--   **[Transaction Coding Examples](../../developing/transactions/transaction_coding_examples.html)**
-
-    This section provides several code examples for writing and executing transactions.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/client_server_transactions.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/client_server_transactions.html.md.erb b/developing/transactions/client_server_transactions.html.md.erb
deleted file mode 100644
index e819c68..0000000
--- a/developing/transactions/client_server_transactions.html.md.erb
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title: Client Transactions
----
-
-
-The syntax for writing client transactions is the same on the Java client as with any other Geode member, but the underlying behavior in a client-run transaction is different from general transaction behavior.
-
-For general information about running a transaction, refer to [How to Run a Geode Cache Transaction](run_a_cache_transaction.html#task_f15_mr3_5k).
-
--   **[How Geode Runs Client Transactions](../../developing/transactions/client_server_transactions.html#how_gemfire_runs_clients)**
-
--   **[Client Cache Access During a Transaction](../../developing/transactions/client_server_transactions.html#client_cache_access)**
-
--   **[Client Transactions and Client Application Plug-Ins](../../developing/transactions/client_server_transactions.html#client_app_plugins)**
-
--   **[Client Transaction Failures](../../developing/transactions/client_server_transactions.html#client_transaction_failures)**
-
-## <a id="how_gemfire_runs_clients" class="no-quick-link"></a>How Geode Runs Client Transactions
-
-When a client performs a transaction, the transaction is delegated to a server that acts as the transaction initiator in the server system. As with regular, non-client transactions, this server delegate may or may not be the transaction host.
-
-In this figure, the application code on the client makes changes to data entries Y and Z within a transaction. The delegate performing the transaction (M1) does not host the primary copy of the data being modified. The transaction takes place on the server containing this data (M2).
-
-<img src="../../images/transactions-client-1.png" id="how_gemfire_runs_clients__image_5DCA65F2B88F450299EFD19DAAA93D4F" class="image" />
-
-## <a id="client_cache_access" class="no-quick-link"></a>Client Cache Access During a Transaction
-
-To maintain cache consistency, Geode blocks access to the local client cache during a transaction. The local client cache may reflect information inconsistent with the transaction in progress. When the transaction completes, the local cache is accessible again.
-
-## <a id="client_app_plugins" class="no-quick-link"></a>Client Transactions and Client Application Plug-Ins
-
-Any plug-ins installed in the client are not invoked by the client-run transaction. The client that initiates the transaction receives changes from its server based on transaction operations the same as any other client - through mechanisms like subscriptions and continuous query results. The client transaction is performed by the server delegate, where application plug-ins operate the same as if the server were the sole initiator of the transaction.
-
-## <a id="client_transaction_failures" class="no-quick-link"></a>Client Transaction Failures
-
-In addition to the failure conditions common to all transactions, client transactions can fail if the transaction delegate fails. If the delegate performing the transaction fails, the transaction code throws a transaction exception. See [Transaction Exceptions](monitor_troubleshoot_transactions.html#monitor_troubleshoot_transactions__section_8942ABA6F23C4ED58877C894B13F4F21).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/configuring_db_connections_using_JNDI.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/configuring_db_connections_using_JNDI.html.md.erb b/developing/transactions/configuring_db_connections_using_JNDI.html.md.erb
deleted file mode 100644
index c497608..0000000
--- a/developing/transactions/configuring_db_connections_using_JNDI.html.md.erb
+++ /dev/null
@@ -1,313 +0,0 @@
----
-title: Configuring Database Connections Using JNDI
----
-
-<a id="topic_A5E3A67C808D48C08E1F0DC167C5C494"></a>
-
-
-When using JTA transactions, you can configure database JNDI data sources in `cache.xml`. The `DataSource` object points to either a JDBC connection or, more commonly, a JDBC connection pool. The connection pool is usually preferred, because a program can use and reuse a connection as long as necessary and then free it for another thread to use.
-
-The following are a list of `DataSource` connection types used in JTA transactions.
-
--   **XAPooledDataSource**. Pooled SQL connections.
--   **ManagedDataSource**. JNDI binding type for the J2EE Connector Architecture (JCA) ManagedConnectionFactory.
--   **PooledDataSource**. Pooled SQL connections.
--   **SimpleDataSource**. Single SQL connection. No pooling of SQL connections is done. Connections are generated on the fly and cannot be reused.
-
-The `jndi-name` attribute of the `jndi-binding` element is the key binding parameter. If the value of `jndi-name` is a DataSource, it is bound as `java:/`*myDatabase*, where *myDatabase* is the name you assign to your data source. If the data source cannot be bound to JNDI at runtime, Geode logs a warning. For information on the `DataSource` interface, see: [http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html](http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html)
-
-Geode supports JDBC 2.0 and 3.0.
-
-**Note:**
-Include any data source JAR files in your CLASSPATH.
-
-## <a id="topic_F67EC20067124A618A8099AB4CBF634C" class="no-quick-link"></a>Example DataSource Configurations in cache.xml
-
-The following sections show example `cache.xml` files configured for each of the `DataSource` connection types.
-
-## XAPooledDataSource cache.xml Example (Derby)
-
-The example shows a `cache.xml` file configured for a pool of `XAPooledDataSource` connections connected to the data resource `newDB`.
-
-The log-in and blocking timeouts are set lower than the defaults. The connection information, including `user-name` and `password`, is set in the `cache.xml` file, instead of waiting until connection time. The password is encrypted; for details, see [Encrypting Passwords for Use in cache.xml](../../managing/security/encrypting_passwords.html#topic_730CC61BA84F421494956E2B98BDE2A1).
-
-When specifying the configuration properties for JCA-implemented database drivers that support XA transactions (in other words, **XAPooledDataSource**), you must use configuration properties to define the datasource connection instead of the `connection-url` attribute of the `<jndi-binding>` element. Configuration properties differ depending on your database vendor. Specify JNDI binding properties through the `config-property` tag, as shown in this example. You can add as many `config-property` tags as required.
-
-``` pre
-<?xml version="1.0" encoding="UTF-8"?>
-<cache
-    xmlns="http://geode.incubator.apache.org/schema/cache"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://geode.incubator.apache.org/schema/cache http://geode.incubator.apache.org/schema/cache/cache-1.0.xsd"
-    version="1.0"
-    lock-lease="120" lock-timeout="60" search-timeout="300"> 
-   <region name="root">
-      <region-attributes scope="distributed-no-ack" data-policy="cached" initial-capacity="16"
-load-factor="0.75" concurrency-level="16" statistics-enabled="true">
-    . . .
-   </region>
-   <jndi-bindings>
-      <jndi-binding type="XAPooledDataSource" 
-    jndi-name="newDB2trans" 
-    init-pool-size="20" 
-    max-pool-size="100"
-    idle-timeout-seconds="20"
-    blocking-timeout-seconds="5" 
-    login-timeout-seconds="10"
-    xa-datasource-class="org.apache.derby.jdbc.EmbeddedXADataSource"
-    user-name="mitul" 
-    password="encrypted(83f0069202c571faf1ae6c42b4ad46030e4e31c17409e19a)">
-         <config-property>
-          <config-property-name>Description</config-property-name>
-          <config-property-type>java.lang.String</config-property-type>
-          <config-property-value>pooled_transact</config-property-value>
-       </config-property>
-          <config-property>
-             <config-property-name>DatabaseName</config-property-name>
-             <config-property-type>java.lang.String</config-property-type>
-             <config-property-value>newDB</config-property-value>
-          </config-property>
-          <config-property>
-             <config-property-name>CreateDatabase</config-property-name>
-             <config-property-type>java.lang.String</config-property-type>
-             <config-property-value>create</config-property-value>
-          </config-property>       
-       . . .
-      </jndi-binding>
-   </jndi-bindings>
-</cache>
-```
-
-## JNDI Binding Configuration Properties for Different XAPooledDataSource Connections
-
-The following are some example data source configurations for different databases. Consult your vendor database's documentation for additional details.
-
-**MySQL**
-
-``` pre
-...
-<jndi-bindings>
-   <jndi-binding type="XAPooledDataSource" 
-    ...
-    xa-datasource-class="com.mysql.jdbc.jdbc2.optional.MysqlXADataSource">
-    <config-property>
-    <config-property-name>URL</config-property-name>
-    <config-property-type>java.lang.String</config-property-type>
-    <config-property-value>"jdbc:mysql://mysql-servername:3306/databasename"</config-property-value>
-    </config-property>
-    ...
-    </jndi-binding>
-    ...
-</jndi-bindings>
-```
-
-**PostgreSQL**
-
-``` pre
-...
-<jndi-bindings>
-   <jndi-binding type="XAPooledDataSource" 
-    ...
-    xa-datasource-class="org.postgresql.xa.PGXADataSource">
-    <config-property>
-    <config-property-name>ServerName</config-property-name>
-    <config-property-type>java.lang.String</config-property-type>
-    <config-property-value>postgresql-hostname</config-property-value>
-    </config-property>
-    <config-property>
-    <config-property-name>DatabaseName</config-property-name>
-    <config-property-type>java.lang.String</config-property-type>
-    <config-property-value>postgresqldbname</config-property-value>
-    </config-property>
-    ...
-   </jndi-binding>
-    ...
-</jndi-bindings>
-```
-
-**Oracle**
-
-``` pre
-...
-<jndi-bindings>
-   <jndi-binding type="XAPooledDataSource" 
-    ...
-    xa-datasource-class="oracle.jdbc.xa.client.OracleXADataSource">
-    <config-property>
-    <config-property-name>URL</config-property-name>
-    <config-property-type>java.lang.String</config-property-type>
-    <config-property-value>jdbc:oracle:oci8:@tc</config-property-value>
-    </config-property>
-    ...
-    </jndi-binding>
-    ...
-</jndi-bindings>
-```
-
-**Microsoft SQL Server**
-
-``` pre
-...
-<jndi-bindings>
-   <jndi-binding type="XAPooledDataSource" 
-      ...
-    xa-datasource-class="com.microsoft.sqlserver.jdbc.SQLServerXADataSource">
-    <config-property>
-    <config-property-name>ServerName</config-property-name>
-    <config-property-type>java.lang.String</config-property-type>
-    <config-property-value>mysqlserver</config-property-value>
-    </config-property>
-    <config-property>
-    <config-property-name>DatabaseName</config-property-name>
-    <config-property-type>java.lang.String</config-property-type>
-    <config-property-value>databasename</config-property-value>
-    </config-property>
-    <config-property>
-    <config-property-name>SelectMethod</config-property-name>
-    <config-property-type>java.lang.String</config-property-type>
-    <config-property-value>cursor</config-property-value>
-    </config-property>
-    ...
-    </jndi-binding>
-    ...
-</jndi-bindings>
-```
-
-## ManagedDataSource Connection Example (Derby)
-
-`ManagedDataSource` connections for the JCA `ManagedConnectionFactory` are configured as shown in the example. This configuration is similar to `XAPooledDataSource` connections, except the type is `ManagedDataSource`, and you specify a `managed-conn-factory-class` instead of an `xa-datasource-class`.
-
-``` pre
-<?xml version="1.0"?>
-<cache xmlns="http://geode.incubator.apache.org/schema/cache"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://geode.incubator.apache.org/schema/cache http://geode.incubator.apache.org/schema/cache/cache-1.0.xsd"
-    version="1.0"
-    lock-lease="120" 
-    lock-timeout="60"
-    search-timeout="300">
-   <region name="root">
-      <region-attributes scope="distributed-no-ack" data-policy="cached" initial-capacity="16"
-load-factor="0.75" concurrency-level="16" statistics-enabled="true">
-      . . .
-    </region>
-    <jndi-bindings>
-      <jndi-binding type="ManagedDataSource" 
-    jndi-name="DB3managed" 
-    init-pool-size="20" 
-    max-pool-size="100" 
-    idle-timeout-seconds="20" 
-    blocking-timeout-seconds="5" 
-    login-timeout-seconds="10"
-    managed-conn-factory-class="com.myvendor.connection.ConnFactory"
-    user-name="mitul"  
-    password="encrypted(83f0069202c571faf1ae6c42b4ad46030e4e31c17409e19a)">
-          <config-property>
-             <config-property-name>Description</config-property-name>
-             <config-property-type>java.lang.String</config-property-type>
-             <config-property-value>pooled_transact</config-property-value>
-          </config-property>  
-          <config-property>
-             <config-property-name>DatabaseName</config-property-name>
-             <config-property-type>java.lang.String</config-property-type>
-             <config-property-value>newDB</config-property-value>
-          </config-property>
-          <config-property>
-             <config-property-name>CreateDatabase</config-property-name>
-             <config-property-type>java.lang.String</config-property-type>
-             <config-property-value>create</config-property-value>
-          </config-property>           
-           . . .
-     </jndi-binding>
-   </jndi-bindings>
- </cache>
- 
-```
-
-## PooledDataSource Example (Derby)
-
-Use the `PooledDataSource` and `SimpleDataSource` connections for operations executed outside of any transaction. This example shows a `cache.xml` file configured for a pool of `PooledDataSource` connections to the data resource `newDB`. For this non-transactional connection pool, the log-in and blocking timeouts are set higher than for the transactional connection pools in the two previous examples. The connection information, including `user-name` and `password`, is set in the `cache.xml` file, instead of waiting until connection time. The password is encrypted; for details, see [Encrypting Passwords for Use in cache.xml](../../managing/security/encrypting_passwords.html#topic_730CC61BA84F421494956E2B98BDE2A1).
-
-``` pre
-<?xml version="1.0"?>
-<cache xmlns="http://geode.incubator.apache.org/schema/cache"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://geode.incubator.apache.org/schema/cache http://geode.incubator.apache.org/schema/cache/cache-1.0.xsd"
-    version="1.0"
-    lock-lease="120"
-    lock-timeout="60"
-    search-timeout="300">
-    <region name="root">
-         <region-attributes scope="distributed-no-ack" data-policy="cached" 
-initial-capacity="16" load-factor="0.75" concurrency-level="16" statistics-enabled="true">
-            . . .
-    </region>
-    <jndi-bindings>
-      <jndi-binding
-    type="PooledDataSource"
-    jndi-name="newDB1" 
-    init-pool-size="2" 
-    max-pool-size="7" 
-    idle-timeout-seconds="20" 
-    blocking-timeout-seconds="20"
-    login-timeout-seconds="30" 
-    conn-pooled-datasource-class="org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource"
-    user-name="mitul"
-    password="encrypted(83f0069202c571faf1ae6c42b4ad46030e4e31c17409e19a)">
-       <config-property>
-          <config-property-name>Description</config-property-name>
-          <config-property-type>java.lang.String</config-property-type>
-          <config-property-value>pooled_transact</config-property-value>
-       </config-property> 
-       <config-property>
-         <config-property-name>DatabaseName</config-property-name>
-         <config-property-type>java.lang.String</config-property-type>
-         <config-property-value>newDB</config-property-value>
-       </config-property>
-       <config-property>
-         <config-property-name>CreateDatabase</config-property-name>
-         <config-property-type>java.lang.String</config-property-type>
-         <config-property-value>create</config-property-value>
-       </config-property>              
-       . . .
-      </jndi-binding>
-   </jndi-bindings>
-</cache>
-      
-```
-
-## SimpleDataSource Connection Example (Derby)
-
-The example below shows a very basic configuration in the `cache.xml` file for a `SimpleDataSource` connection to the data resource `oldDB`. You only need to configure a few properties like a `jndi-name` for this connection pool, `oldDB1`, and the `databaseName`, `oldDB`. This password is in clear text.
-
-A simple data source connection does not generally require vendor-specific property settings. If you need them, add `config-property` tags as shown in the earlier examples.
-
-``` pre
-<?xml version="1.0"?>
-<cache xmlns="http://geode.incubator.apache.org/schema/cache"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://geode.incubator.apache.org/schema/cache http://geode.incubator.apache.org/schema/cache/cache-1.0.xsd"
-    version="1.0"
-    lock-lease="120" 
-    lock-timeout="60" 
-    search-timeout="300">
-   <region name="root">
-      <region-attributes scope="distributed-no-ack" data-policy="cached" initial-capacity="16"
-load-factor="0.75" concurrency-level="16" statistics-enabled="true">
-        . . .
-      </region-attributes>   
-    </region>
-    <jndi-bindings>
-      <jndi-binding type="SimpleDataSource"
-    jndi-name="oldDB1" 
-    jdbc-driver-class="org.apache.derby.jdbc.EmbeddedDriver"
-    user-name="mitul" 
-    password="password" 
-    connection-url="jdbc:derby:newDB;create=true">
-        . . .
-       </jndi-binding>
-   </jndi-bindings>
-</cache>
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/data_location_cache_transactions.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/data_location_cache_transactions.html.md.erb b/developing/transactions/data_location_cache_transactions.html.md.erb
deleted file mode 100644
index de2b149..0000000
--- a/developing/transactions/data_location_cache_transactions.html.md.erb
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title:  Data Location for Cache Transactions
----
-
-The location where you can run your transaction depends on where you are storing your data.
-
-Transactions must operate on a data set that is hosted entirely by one member.
-
--   For replicated or other distributed regions, the transaction uses only the data set in the member where the transaction is run.
--   For partitioned regions, you must colocate all your transactional data in a single member. See [Colocate Data from Different Partitioned Regions](../partitioned_regions/colocating_partitioned_region_data.html).
--   For transactions run on partitioned and distributed region mixes, you must colocate the partitioned region data and make sure the distributed region data is available in any member hosting the partitioned region data.
-
-For transactions involving partitioned regions, any member with the regions defined can orchestrate the transactional operations, regardless of whether that member hosts data for the regions. If the transactional data resides on a remote member, the transaction is carried out by proxy in the member hosting the data. The member hosting the data is referred to as the transaction host.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/how_cache_transactions_work.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/how_cache_transactions_work.html.md.erb b/developing/transactions/how_cache_transactions_work.html.md.erb
deleted file mode 100644
index fb914be..0000000
--- a/developing/transactions/how_cache_transactions_work.html.md.erb
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title: How Geode Cache Transactions Work
----
-<a id="topic_fls_1j1_wk"></a>
-
-
-This section provides an explanation of how transactions work on Geode caches.
-
-All the regions in a Geode member cache can participate in a transaction. A Java application can operate on the cache using multiple transactions. A transaction is associated with only one thread, and a thread can operate on only one transaction at a time. Child threads do not inherit existing transactions.
-
--   **[Transaction View](../../developing/transactions/how_cache_transactions_work.html#concept_hls_1j1_wk)**
-
--   **[Committing Transactions](../../developing/transactions/how_cache_transactions_work.html#concept_sbj_lj1_wk)**
-
--   **[Transactions by Region Type](../../developing/transactions/cache_transactions_by_region_type.html#topic_nlq_sk1_wk)**
-
--   **[Client Transactions](../../developing/transactions/client_server_transactions.html)**
-
--   **[Comparing Transactional and Non-Transactional Operations](../../developing/transactions/transactional_and_nontransactional_ops.html#transactional_and_nontransactional_ops)**
-
--   **[Geode Cache Transaction Semantics](../../developing/transactions/transaction_semantics.html)**
-
-## Transaction View
-
-A transaction is isolated from changes made concurrently to the cache. Each transaction has its own private view of the cache, including the entries it has read and the changes it has made. The first time the transaction touches an entry in the cache, either to read or write, it produces a snapshot of that entry\u2019s state in the transaction\u2019s view. The transaction maintains its current view of the entry, which reflects only the changes made within the transaction. The transaction remembers the entry\u2019s original state and uses it at commit time to discover write conflicts.
-
-<img src="../../images/Transaction-simple.png" id="concept_hls_1j1_wk__image_D21EF847CD1D4B64AD1786033FB44F5C" class="image" />
-
-## Committing Transactions
-
-When a commit succeeds, the changes recorded in the transaction view are merged into the cache. If the commit fails or the transaction is rolled back, all of its changes are dropped.
-
-When a transaction is committed, the transaction management system uses a two-phase commit protocol:
-
-1.  Reserves all the entries involved in the transaction from changes by any other transactional thread. For distributed regions, it reserves the entries in the entire distributed system. For partitioned regions, it reserves them on the data store, where the transaction is running.
-2.  Checks the cache for conflicts on affected keys, to make sure all entries are still in the same state they were in when this transaction first accessed them.
-3.  If any conflict is detected, the manager rolls back the transaction.
-4.  If no conflict is detected, the manager:
-    1.  Calls the `TransactionWriter` in the member where the transaction is running. This allows the system to write through transactional updates to an external data source.
-    2.  Updates the local cache and distributes the updates to the other members holding the data. Cache listeners are called for these updates, in each cache where the changes are made, the same as for non-transactional operations.
-    3.  Calls the `TransactionListener`s in the member where the transaction is running.
-
-5.  Releases the transaction reservations on the entries.
-
-The manager updates the local cache and distributes the updates to other members in a non-atomic way.
-
--   If other threads read the keys the transaction is modifying, they may see some in their pre-transaction state and some in their post-transaction state.
--   If other, non-transactional sources update the keys the transaction is modifying, the changes may intermingle with this transaction\u2019s changes. The other sources can include distributions from remote members, loading activities, and other direct cache modification calls from the same member. When this happens, after your commit finishes, the cache state may not be what you expected.
-
-If the transaction fails to complete any of the steps, a CommitConflictException is thrown to the calling application.
-
-Once the members involved in the transaction have been asked to commit, the transaction completes even if one of the participating members were to leave the system during the commit. The transaction completes successfully so long as all remaining members are in agreement.
-
-Each member participating in the transaction maintains a membership listener on the transaction coordinator. If the transaction coordinator goes away after issuing the final commit call, the transaction completes in the remaining members.
-
-



[03/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/troubleshooting/producing_troubleshooting_artifacts.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/troubleshooting/producing_troubleshooting_artifacts.html.md.erb b/geode-docs/managing/troubleshooting/producing_troubleshooting_artifacts.html.md.erb
new file mode 100644
index 0000000..50f97b6
--- /dev/null
+++ b/geode-docs/managing/troubleshooting/producing_troubleshooting_artifacts.html.md.erb
@@ -0,0 +1,75 @@
+---
+title:  Producing Artifacts for Troubleshooting
+---
+
+There are several types of files that are critical for troubleshooting.
+
+Geode logs and statistics are the two most important artifacts used in troubleshooting. In addition, they are required for Geode system health verification and performance analysis. For these reasons, logging and statistics should always be enabled, especially in production. Save the following files for troubleshooting purposes:
+
+-   Log files. Even at the default logging level, the log contains data that may be important. Save the whole log, not just the stack. For comparison, save log files from before, during, and after the problem occurred.
+-   Statistics archive files.
+-   Core files or stack traces.
+-   For Linux, you can use gdb to extract a stack from a core file.
+-   Crash dumps.
+-   For Windows, save the user mode dump files. Some locations to check for these files:
+    -   C:\\ProgramData\\Microsoft\\Windows\\WER\\ReportArchive
+    -   C:\\ProgramData\\Microsoft\\Windows\\WER\\ReportQueue
+    -   C:\\Users\\*UserProfileName*\\AppData\\Local\\Microsoft\\Windows\\WER\\ReportArchive
+    -   C:\\Users\\*UserProfileName*\\AppData\\Local\\Microsoft\\Windows\\WER\\ReportQueue
+
+When a problem arises that involves more than one process, a network problem is the most likely cause. When you diagnose a problem, create a log file for each member of all the distributed systems involved. If you are running a client/server architecture, create log files for the clients.
+
+**Note:**
+You must run a time synchronization service on all hosts for troubleshooting. Synchronized time stamps ensure that log messages on different hosts can be merged to accurately reproduce a chronological history of a distributed run.
+
+For each process, complete these steps:
+
+1.  Make sure the host\u2019s clock is synchronized with the other hosts. Use a time synchronization tool such as Network Time Protocol (NTP).
+2.  Enable logging to a file instead of standard output by editing `gemfire.properties` to include this line:
+
+    ``` pre
+    log-file=filename
+    ```
+
+3.  Keep the log level at `config` to avoid filling up the disk while including configuration information. Add this line to `gemfire.properties`:
+
+    ``` pre
+    log-level=config
+    ```
+
+    **Note:**
+    Running with the log level at `fine` can impact system performance and fill up your disk.
+
+4.  Enable statistics gathering for the distributed system either by modifying `gemfire.properties`:
+
+    ``` pre
+    statistic-sampling-enabled=true
+    statistic-archive-file=StatisticsArchiveFile.gfs
+    ```
+
+    or by using the `gfsh alter rutime` command:
+
+    ``` pre
+    alter runtime --group=myMemberGroup --enable-statistics=true --statistic-archive-file=StatisticsArchiveFile.gfs
+    ```
+
+    **Note:**
+    Collecting statistics at the default sample rate frequency of 1000 milliseconds does not incur performance overhead.
+
+5.  Run the application again.
+6.  Examine the log files. To get the clearest picture, merge the files. To find all the errors in the log file, search for lines that begin with these strings:
+
+    ``` pre
+    [error
+    [severe
+    ```
+
+    For details on merging log files, see the `--merge-log` argument for the [export logs](../../tools_modules/gfsh/command-pages/export.html#topic_B80978CC659244AE91E2B8CE56EBDFE3)command.
+
+7.  Export and analyze the stack traces on the member or member group where the application is running. Use the `gfsh export stack-traces                         command`. For example:
+
+    ``` pre
+    gfsh> export stack-traces --file=ApplicationStackTrace.txt --member=member1
+    ```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/troubleshooting/recovering_conflicting_data_exceptions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/troubleshooting/recovering_conflicting_data_exceptions.html.md.erb b/geode-docs/managing/troubleshooting/recovering_conflicting_data_exceptions.html.md.erb
new file mode 100644
index 0000000..6c65227
--- /dev/null
+++ b/geode-docs/managing/troubleshooting/recovering_conflicting_data_exceptions.html.md.erb
@@ -0,0 +1,58 @@
+---
+title:  Recovering from ConfictingPersistentDataExceptions
+---
+
+A `ConflictingPersistentDataException` while starting up persistent members indicates that you have multiple copies of some persistent data, and Geode cannot determine which copy to use.
+
+Normally Geode uses metadata to determine automatically which copy of persistent data to use. Along with the region data, each member persists a list of other members that are hosting the region and whether their data is up to date. A `ConflictingPersistentDataException` happens when two members compare their metadata and find that it is inconsistent. The members either don\u2019t know about each other, or they both think the other member has stale data.
+
+The following sections describe scenarios that can cause `ConflictingPersistentDataException`s in Geode and how to resolve the conflict.
+
+## <a id="topic_ghw_z2m_jq__section_sj3_lpm_jq" class="no-quick-link"></a>Independently Created Copies
+
+Trying to merge two independently created distributed systems into a single distributed system will cause a `ConflictingPersistentDataException`.
+
+There are a few ways to end up with independently created systems.
+
+-   Create two different distributed systems by having members connect to different locators that are not aware of each other.
+-   Shut down all persistent members and then start up a different set of brand new persistent members.
+
+Geode will not automatically merge independently created data for the same region. Instead, you need to export the data from one of the systems and import it into the other system. See the section [Cache and Region Snapshots](../cache_snapshots/chapter_overview.html#concept_E6AC3E25404D4D7788F2D52D83EE3071) for instructions on how to export data from one system and import it into another.
+
+## <a id="topic_ghw_z2m_jq__section_op5_hpm_jq" class="no-quick-link"></a>Starting New Members First
+
+Starting a brand new member that has no persistent data before starting older members with persistent data can cause a `ConflictingPersistentDataException`.
+
+One accidental way this can happen is to shut the system down, add a new member to the startup scripts, and start all members in parallel. By chance, the new member may start first. The issue is that the new member will create an empty, independent copy of the data before the older members start up. Geode will be treat this situation like the [Independently Created Copies](#topic_ghw_z2m_jq__section_sj3_lpm_jq) case.
+
+In this case the fix is simply to move aside or delete the persistent files for the new member, shut down the new member and then restart the older members. When the older members have fully recovered, then restart the new member.
+
+## A Network Failure Occurs and Network Partitioning Detection is Disabled
+
+When `enable-network-partition-detection` is set to true, Geode will detect a network partition and shut down unreachable members to prevent a network partition ("split brain") from occurring. No conflicts should occur when the system is healed.
+
+However if `enable-network-partition-detection` is false, Geode will not detect the network partition. Instead, each side of the network partition will end up recording that the other side of the partition has stale data. When the partition is healed and persistent members are restarted, the members will report a conflict because both sides of the partition think the other members are stale.
+
+In some cases it may be possible to choose between sides of the network partition and just keep the data from one side of the partition. Otherwise you may need to salvage data and import it into a fresh system.
+
+## Salvaging Data
+
+If you receive a ConflictingPersistentDataException, you will not be able to start all of your members and have them join the same distributed system. You have some members with conflicting data.
+
+First, see if there is part of the system that you can recover. For example if you just added some new members to the system, try to start up without including those members.
+
+For the remaining members you can extract data from the persistent files on those members and import the data.
+
+To extract data from the persistent files, use the `gfsh export           offline-disk-store` command.
+
+``` pre
+gfsh> export offline-disk-store --name=MyDiskStore --disk-dirs=./mydir --dir=./outputdir
+```
+
+This will produce a set of snapshot files. Those snapshot files can be imported into a running system using:
+
+``` pre
+gfsh> import data --region=/myregion --file=./outputdir/snapshot-snapshotTest-test0.gfd --member=server1
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/troubleshooting/recovering_from_app_crashes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/troubleshooting/recovering_from_app_crashes.html.md.erb b/geode-docs/managing/troubleshooting/recovering_from_app_crashes.html.md.erb
new file mode 100644
index 0000000..4ba24b8
--- /dev/null
+++ b/geode-docs/managing/troubleshooting/recovering_from_app_crashes.html.md.erb
@@ -0,0 +1,15 @@
+---
+title:  Recovering from Application and Cache Server Crashes
+---
+
+When the application or cache server crashes, its local cache is lost, and any resources it owned (for example, distributed locks) are released. The member must recreate its local cache upon recovery.
+
+-   **[Recovering from Crashes with a Peer-to-Peer Configuration](../../managing/troubleshooting/recovering_from_p2p_crashes.html)**
+
+    When a member crashes, the remaining members continue operation as though the missing application or cache server had never existed. The recovery process differs according to region type and scope, as well as data redundancy configuration.
+
+-   **[Recovering from Crashes with a Client/Server Configuration](../../managing/troubleshooting/recovering_from_cs_crashes.html)**
+
+    In a client/server configuration, you first make the server available as a member of a distributed system again, and then restart clients as quickly as possible. The client recovers its data from its servers through normal operation.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/troubleshooting/recovering_from_cs_crashes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/troubleshooting/recovering_from_cs_crashes.html.md.erb b/geode-docs/managing/troubleshooting/recovering_from_cs_crashes.html.md.erb
new file mode 100644
index 0000000..c53f28c
--- /dev/null
+++ b/geode-docs/managing/troubleshooting/recovering_from_cs_crashes.html.md.erb
@@ -0,0 +1,37 @@
+---
+title:  Recovering from Crashes with a Client/Server Configuration
+---
+
+In a client/server configuration, you first make the server available as a member of a distributed system again, and then restart clients as quickly as possible. The client recovers its data from its servers through normal operation.
+
+<a id="rec_app_cs_crash__section_777D28109D6141929297F36681F83249"></a>
+How well a client/server configuration recovers from application or cache server crashes depends on server availability and on client configuration. Typically, the servers are made highly available by running enough servers spread out on enough machines to ensure a minimum of coverage in case of network, machine, or server crashes. The clients are usually configured to connect to a primary and some number of secondary, or redundant, servers. The secondaries act as hot backups to the primary. For high availability of messaging in the case of client crashes, the clients may have durable connections to their servers. If this is the case, some or all of their data and data events remain in server memory and are automatically recovered, providing that you restart the clients within a configured timeout. See [Configuring Client/Server Event Messaging](../../developing/events/configure_client_server_event_messaging.html#receiving_events_from_servers) for information about durable messaging
 .
+
+## <a id="rec_app_cs_crash__section_2A598C85FAD44CDEA605646BF7BEE388" class="no-quick-link"></a>Recovering from Server Failure
+
+Recovery from server failure has two parts: the server recovers as a member of a distributed system, then its clients recover its services.
+
+When servers fail, their own recovery is carried out as for any member of a distributed system as described in [Recovering from Crashes with a Peer-to-Peer Configuration](recovering_from_p2p_crashes.html#rec_app_p2p_crash).
+
+From the client\u2019s perspective, if the system is configured for high availability, server failure goes undetected unless enough servers fail that the server-to-client ratio drops below a workable level. In any case, your first course of action is to get the servers back up as quickly as possible.
+
+To recover from server failure:
+
+1.  Recover the server and its data as described in [Recovering from Crashes with a Peer-to-Peer Configuration](recovering_from_p2p_crashes.html#rec_app_p2p_crash).
+2.  Once the server is available again, the locators (or client pools if you are using a static server list) automatically detect its presence and add it to the list of viable servers. It might take awhile for the clients to start using the recovered server. The time depends in part on how the clients are configured and how they are programmed. See [Client/Server Configuration](../../topologies_and_comm/cs_configuration/chapter_overview.html).
+
+**If you need to start a server at a new host/port location**
+
+This section is only for systems where the clients\u2019 server pool configurations use static server lists. This is unusual, but might be the case for your system. If the server pools are configured without static server lists, meaning clients use locators to find their servers, starting a server at a new address requires no special action because the new server is automatically detected by the locators. You can determine whether your clients use locator lists or server lists by looking at the client `cache.xml` files. Systems configured with static server lists have &lt;server&gt; elements listed inside the &lt;pool&gt; elements. Those using locator lists have &lt;locator&gt; elements instead. If there are no pools declared in the XML files, the servers or locators will be defined in the application code. Look for the API PoolFactory methods addServer or addLocator.
+
+If the pools are configured with static server lists, the clients only connect to servers at the specific addresses provided in the lists. To move a server or add a server at a new location, you must modify the &lt;server&gt; specifications in the clients\u2019 `cache.xml` file. This change will only affect newly-started clients. To start using the new server information, either restart clients or wait for new clients to start, depending on your system characteristics and how quickly you need the changes to take effect.
+
+## <a id="rec_app_cs_crash__section_24B1898202E64C1E808C59E39417891B" class="no-quick-link"></a>Recovering from Client Failure
+
+When a client crashes, restart it as quickly as possible in the usual way. The client recovers its data from its servers through normal operation. Some of the data may be recovered immediately, and some may be recovered lazily as the client requests it. Additionally, the server may be configured to replay events for some data and for some client queries. These are the different configurations that affect client recovery:
+
+-   **Entries immediately sent to the client**\u2014Entries are immediately sent to the client for entries the client registers interest in, if those entries are present in the server cache.
+-   **Entries sent lazily to the client**\u2014Entries are sent lazily to the client for entries that the client registers interest in that are not initially available in the server cache.
+-   **Events sent immediately to the client**\u2014If the server has been saving events for the client, these are immediately replayed when the client reconnects. Cache modification events for entries in which the client has registered durable interest are saved.
+
+If you have a durable client configured to connect to multiple servers, keep in mind that Geode does not maintain server redundancy while the client is disconnected. If you lose all of its primary and secondary servers, you lose the client\u2019s queued messages. Even if the servers fail one at a time, so that running clients have time to fail over and pick new secondary servers, an off-line durable client cannot do that and thus loses its queued messages.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/troubleshooting/recovering_from_machine_crashes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/troubleshooting/recovering_from_machine_crashes.html.md.erb b/geode-docs/managing/troubleshooting/recovering_from_machine_crashes.html.md.erb
new file mode 100644
index 0000000..a983782
--- /dev/null
+++ b/geode-docs/managing/troubleshooting/recovering_from_machine_crashes.html.md.erb
@@ -0,0 +1,45 @@
+---
+title:  Recovering from Machine Crashes
+---
+
+When a machine crashes because of a shutdown, power loss, hardware failure, or operating system failure, all of its applications and cache servers and their local caches are lost.
+
+System members on other machines are notified that this machine\u2019s members have left the distributed system unexpectedly.
+
+## <a id="rec_system_crash__section_2BC1911849B94CBB892649A4E71724F7" class="no-quick-link"></a>Recovery Procedure
+
+To recover from a machine crash:
+
+1.  Determine which processes run on this machine.
+2.  Reboot the machine.
+3.  If a Geode locator runs here, start it first.
+    **Note:**
+    At least one locator must be running before you start any applications or cache servers.
+
+4.  Start the applications and cache servers in the usual order.
+
+If you have to move a locator process to a different machine, the locator isn\u2019t useful until you update the locators list in the `gemfire.properties` file and restart all the applications and cache servers in the distributed system. If other locators are running, however, you don\u2019t have to restart the system immediately. For a list of the locators in use, check the locators property in one of the application `gemfire.properties` files.
+
+## <a id="rec_system_crash__section_3D2B55C456024BBBBF2898EA4DDAFF5C" class="no-quick-link"></a>Data Recovery for Partitioned Regions
+
+The partitioned region initializes itself correctly regardless of the order in which the data stores rejoin. The applications and cache servers recreate their data automatically as they return to active work.
+
+If the partitioned region is configured for data redundancy, Geode may be able to handle a machine crash automatically with no data loss, depending on how many redundant copies there are and how many members have to be restarted. See also [Recovery for Partitioned Regions](recovering_from_p2p_crashes.html#rec_app_p2p_crash__section_0E7D482DD8E84250A10070431B29AAC5).
+
+If the partitioned region does not have redundant copies, the system members recreate the data through normal operation. If the member that crashed was an application, check whether it was designed to write its data to an external data source. If so, decide whether data recovery is possible and preferable to starting with new data generated through the Geode distributed system.
+
+## <a id="rec_system_crash__section_D3E3002D6C864853B1517A310BD05BDF" class="no-quick-link"></a>Data Recovery for Distributed Regions
+
+The applications and cache servers recreate their data automatically. Recovery happens through replicas, disk store files, or newly generated data, as explained in [Recovery for Distributed Regions](recovering_from_p2p_crashes.html#rec_app_p2p_crash__section_19CFA40F5EE64C4F8062BFBF7A6C1571).
+
+If the recovery is from disk stores, you may not get all of the latest data. Persistence depends on the operating system to write data to the disk, so when the machine or operating system fails unexpectedly, the last changes can be lost.
+
+For maximum data protection, you can set up duplicate replicate regions on the network, with each one configured to back up its data to disk. Assuming the proper restart sequence, this architecture significantly increases your chances of recovering every update.
+
+## <a id="rec_system_crash__section_9B29776E338F48C6803120FF7887FF71" class="no-quick-link"></a>Data Recovery in a Client/Server Configuration
+
+If the machine that crashed hosted a server, how the server recovers its data depends on whether the regions are partitioned or distributed. See [Data Recovery for Partitioned Regions](recovering_from_machine_crashes.html#rec_system_crash__section_3D2B55C456024BBBBF2898EA4DDAFF5C) and [Data Recovery for Distributed Regions](recovering_from_machine_crashes.html#rec_system_crash__section_D3E3002D6C864853B1517A310BD05BDF) as appropriate.
+
+The impact of a server crash on its clients depends on whether the installation is configured for highly available servers. For information, see [Recovering from Crashes with a Client/Server Configuration](recovering_from_cs_crashes.html#rec_app_cs_crash).
+
+If the machine that crashed hosted a client, restart the client as quickly as possible and let it recover its data automatically from the server. For details, see [Recovering from Client Failure](recovering_from_cs_crashes.html#rec_app_cs_crash__section_24B1898202E64C1E808C59E39417891B).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/troubleshooting/recovering_from_network_outages.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/troubleshooting/recovering_from_network_outages.html.md.erb b/geode-docs/managing/troubleshooting/recovering_from_network_outages.html.md.erb
new file mode 100644
index 0000000..9ef5de7
--- /dev/null
+++ b/geode-docs/managing/troubleshooting/recovering_from_network_outages.html.md.erb
@@ -0,0 +1,56 @@
+---
+title:  Understanding and Recovering from Network Outages
+---
+
+The safest response to a network outage is to restart all the processes and bring up a fresh data set.
+
+However, if you know the architecture of your system well, and you are sure you won\u2019t be resurrecting old data, you can do a selective restart. At the very least, you must restart all the members on one side of the network failure, because a network outage causes separate distributed systems that can\u2019t rejoin automatically.
+
+-   [What Happens During a Network Outage](recovering_from_network_outages.html#rec_network_crash__section_900657018DC048EE9BE6A8064FAE48FD)
+-   [Recovery Procedure](recovering_from_network_outages.html#rec_network_crash__section_F9A0C31AE25C4E7185DF3B1A8486BDFA)
+-   [Effect of Network Failure on Partitioned Regions](recovering_from_network_outages.html#rec_network_crash__section_9914A63673E64EA1ADB6B6767879F0FF)
+-   [Effect of Network Failure on Distributed Regions](recovering_from_network_outages.html#rec_network_crash__section_7AD5624F3CD748C0BC163562B26B2DCE)
+-   [Effect of Network Failure on Persistent Regions](#rec_network_crash__section_arm_pnr_3q)
+-   [Effect of Network Failure on Client/Server Installations](recovering_from_network_outages.html#rec_network_crash__section_18AEEB6CC8004C3388CCB01F988B0422)
+
+## <a id="rec_network_crash__section_900657018DC048EE9BE6A8064FAE48FD" class="no-quick-link"></a>What Happens During a Network Outage
+
+When the network connecting members of a distributed system goes down, system members treat this like a machine crash. Members on each side of the network failure respond by removing the members on the other side from the membership list. If network partitioning detection is enabled, the partition that contains sufficient quorum (&gt; 51% based on member weight) will continue to operate, while the other partition with insufficient quorum will shut down. See [Network Partitioning](../network_partitioning/chapter_overview.html#network_partitioning) for a detailed explanation on how this detection system operates.
+
+In addition, members that have been disconnected either via network partition or due to unresponsiveness will automatically try to reconnect to the distributed system unless configured otherwise. See [Handling Forced Cache Disconnection Using Autoreconnect](../autoreconnect/member-reconnect.html).
+
+## <a id="rec_network_crash__section_F9A0C31AE25C4E7185DF3B1A8486BDFA" class="no-quick-link"></a>Recovery Procedure
+
+For deployments that have network partition detection and/or auto-reconnect disabled, to recover from a network outage:
+
+1.  Decide which applications and cache servers to restart, based on the architecture of the distributed system. Assume that any process other than a data source is bad and needs restarting. For example, if an outside data feed is coming in to one member, which then redistributes to all the others, you can leave that process running and restart the other members.
+2.  Shut down all the processes that need restarting.
+3.  Restart them in the usual order.
+
+The members recreate the data as they return to active work. For details, see [Recovering from Application and Cache Server Crashes](recovering_from_app_crashes.html#rec_app_crash).
+
+## <a id="rec_network_crash__section_9914A63673E64EA1ADB6B6767879F0FF" class="no-quick-link"></a>Effect of Network Failure on Partitioned Regions
+
+Both sides of the distributed system continue to run as though the members on the other side were not running. If the members that participate in a partitioned region are on both sides of the network failure, both sides of the partitioned region also continue to run as though the data stores on the other side did not exist. In effect, you now have two partitioned regions.
+
+When the network recovers, the members may be able to see each other again, but they are not able to merge back together into a single distributed system and combine their buckets back into a single partitioned region. You can be sure that the data is in an inconsistent state. Whether you are configured for data redundancy or not, you don\u2019t really know what data was lost and what wasn\u2019t. Even if you have redundant copies and they survived, different copies of an entry may have different values reflecting the interrupted workflow and inaccessible data.
+
+## <a id="rec_network_crash__section_7AD5624F3CD748C0BC163562B26B2DCE" class="no-quick-link"></a>Effect of Network Failure on Distributed Regions
+
+By default, both sides of the distributed system continue to run as though the members on the other side were not running. For distributed regions, however, the regions\u2019s reliability policy configuration can change this default behavior.
+
+When the network recovers, the members may be able to see each other again, but they are not able to merge back together into a single distributed system.
+
+## <a id="rec_network_crash__section_arm_pnr_3q" class="no-quick-link"></a>Effect of Network Failure on Persistent Regions
+
+A network failure when using persistent regions can cause conflicts in your persisted data. When you recover your system, you will likely encounter `ConflictingPersistentDataException`s when members start up.
+
+For this reason, you must configure `enable-network-partition-detection` to `true` if you are using persistent regions.
+
+For information on how to recover from `ConflictingPersistentDataException` errors should they occur, see [Recovering from ConfictingPersistentDataExceptions](recovering_conflicting_data_exceptions.html#topic_ghw_z2m_jq).
+
+## <a id="rec_network_crash__section_18AEEB6CC8004C3388CCB01F988B0422" class="no-quick-link"></a>Effect of Network Failure on Client/Server Installations
+
+If a client loses contact with all of its servers, the effect is the same as if it had crashed. You need to restart the client. See [Recovering from Client Failure](recovering_from_cs_crashes.html#rec_app_cs_crash__section_24B1898202E64C1E808C59E39417891B). If a client loses contact with some servers, but not all of them, the effect on the client is the same as if the unreachable servers had crashed. See [Recovering from Server Failure](recovering_from_cs_crashes.html#rec_app_cs_crash__section_2A598C85FAD44CDEA605646BF7BEE388).
+
+Servers, like applications, are members of a distributed system, so the effect of network failure on a server is the same as for an application. Exactly what happens depends on the configuration of your site.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/troubleshooting/recovering_from_p2p_crashes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/troubleshooting/recovering_from_p2p_crashes.html.md.erb b/geode-docs/managing/troubleshooting/recovering_from_p2p_crashes.html.md.erb
new file mode 100644
index 0000000..47e55df
--- /dev/null
+++ b/geode-docs/managing/troubleshooting/recovering_from_p2p_crashes.html.md.erb
@@ -0,0 +1,214 @@
+---
+title:  Recovering from Crashes with a Peer-to-Peer Configuration
+---
+
+When a member crashes, the remaining members continue operation as though the missing application or cache server had never existed. The recovery process differs according to region type and scope, as well as data redundancy configuration.
+
+<a id="rec_app_p2p_crash__section_1C54E03359AB4775A9211899A63362A4"></a>
+The other system members are told that it has left unexpectedly. If any remaining system member is waiting for a response (ACK), the ACK still succeeds and returns, because every member that is still alive has responded. If the lost member had ownership of a GLOBAL entry, then the next attempt to obtain that ownership acts as if no owner exists.
+
+Recovery depends on how the member has its cache configured. This section covers the following:
+
+-   Recovery for Partitioned Regions
+-   Recovery for Distributed Regions
+-   Recovery for Regions of Local Scope
+-   Recovering Data From Disk
+
+To tell whether the regions are partitioned, distributed, or local, check the `cache.xml` file. If the file contains a local scope setting, the region has no connection to any other member:
+
+``` pre
+<region-attributes scope="local">
+```
+
+If the file contains any other scope setting, it is configuring a distributed region. For example:
+
+``` pre
+<region-attributes scope="distributed-no-ack">
+```
+
+If the file includes either of the following lines, it is configuring a partitioned region.
+
+``` pre
+<partition-attributes...
+<region-attributes data-policy="partition"/>
+<region-attributes data-policy="persistent-partition"/>
+```
+
+The reassigned clients continue operating smoothly, as in the failover case. A successful rebalancing operation does not create any data loss.
+
+If rebalancing fails, the client fails over to an active server with the normal failover behavior.
+
+## <a id="rec_app_p2p_crash__section_0E7D482DD8E84250A10070431B29AAC5" class="no-quick-link"></a>Recovery for Partitioned Regions
+
+When an application or cache server crashes, any data in local memory is lost, including any entries in a local partitioned region data store.
+
+**Recovery for Partitioned Regions With Data Redundancy**
+
+If the partitioned region is configured for redundancy and a member crashes, the system continues to operate with the remaining copies of the data. You may need to perform recovery actions depending on how many members you have lost and how you have configured redundancy in your system.
+
+By default, Geode does not make new copies of the data until a new member is brought online to replace the member that crashed. You can control this behavior using the recovery delay attributes. For more information, see [Configure High Availability for a Partitioned Region](../../developing/partitioned_regions/configuring_ha_for_pr.html).
+
+To recover, start a replacement member. The new member regenerates the lost copies and returns them to the configured redundancy level.
+
+**Note:**
+Make sure the replacement member has at least as much local memory as the old one\u2014 the `local-max-memory` configuration setting must be the same or larger. Otherwise, you can get into a situation where some entries have all their redundant copies but others don\u2019t. In addition, until you have restarted a replacement member, any code that attempts to create or update data mapped to partition region bucket copies (primary and secondary) that have been lost can result in an exception. (New transactions unrelated to the lost data can fail as well simply because they happen to map to-- or "resolve" to-- a common bucketId).
+
+Even with high availability, you can lose data if too many applications and cache servers fail at the same time. Any lost data is replaced with new data created by the application as it returns to active work.
+
+*The number of members that can fail at the same time without losing data is equal to the number of redundant copies configured for the region.* So if redundant-copies=1, then at any given time only one member can be down without data loss. If a second goes down at the same time, any data stored by those two members will be lost.
+
+You can also lose access to all copies of your data through network failure. See [Understanding and Recovering from Network Outages](recovering_from_network_outages.html#rec_network_crash).
+
+**Recovery Without Data Redundancy**
+
+If a member crashes and there are no redundant copies, any logic that tries to interact with the bucket data is *blocked* until the primary buckets are restored from disk. (If you do not have persistence enabled, Geode will reallocate the buckets on any available remaining nodes, however you will need to recover any lost data using external mechanisms.)
+
+To recover, restart the member. The application returns to active work and automatically begins to create new data.
+
+If the members with the relevant disk stores cannot be restarted, then you will have to revoke the missing disk stores manually using gfsh. See [revoke missing-disk-store](../../tools_modules/gfsh/command-pages/revoke.html).
+
+**Maintaining and Recovering Partitioned Region Redundancy**
+
+The following alert \[ALERT-1\] (warning) is generated when redundancy for a partitioned region drops:
+
+Alert:
+
+``` pre
+[warning 2008/08/26 17:57:01.679 PDT dataStoregemfire5_jade1d_6424
+<PartitionedRegion Message Processor2> tid=0x5c] Redundancy has dropped below 3
+configured copies to 2 actual copies for /partitionedRegion
+```
+
+``` pre
+[warning 2008/08/26 18:13:09.059 PDT dataStoregemfire5_jade1d_6424
+<DM-MemberEventInvoker> tid=0x1d5] Redundancy has dropped below 3
+configured copies to 1 actual copy for /partitionedRegion
+```
+
+The following alert \[ALERT-2\] (warning) is generated when, after creation of a partitioned region bucket, the program is unable to find enough members to host the configured redundant copies:
+
+Alert:
+
+``` pre
+[warning 2008/08/27 17:39:28.876 PDT gemfire_2_4 <RMI TCP Connection(67)-192.0.2.0>
+tid=0x1786] Unable to find sufficient members to host a bucket in the partitioned region.
+Region name = /partitionedregion Current number of available data stores: 1 number
+successfully allocated = 1 number needed = 2 Data stores available:
+[pippin(21944):41927/42712] Data stores successfully allocated:
+[pippin(21944):41927/42712] Consider starting another member
+```
+
+The following alert \[EXCEPTION-1\] (warning) and exception is generated when, after the creation of a partitioned region bucket, the program is unable to find any members to host the primary copy:
+
+Alert:
+
+``` pre
+[warning 2008/08/27 17:39:23.628 PDT gemfire_2_4 <RMI TCP Connection(66)-192.0.2.0> 
+tid=0x1888] Unable to find any members to host a bucket in the partitioned region.
+Region name = /partitionedregion Current number of available data stores: 0 number
+successfully allocated = 0 number needed = 2 Data stores available:
+[] Data stores successfully allocated: [] Consider starting another member
+```
+
+Exception:
+
+``` pre
+org.apache.geode.cache.PartitionedRegionStorageException: Unable to find any members to
+                    host a bucket in the partitioned region.
+```
+
+-   Region name = /partitionedregion
+-   Current number of available data stores: 0
+-   Number successfully allocated = 0; Number needed = 2
+-   Data stores available: \[\]
+-   Data stores successfully allocated: \[\]
+
+Response:
+
+-   Add additional members configured as data stores for the partitioned region.
+-   Consider starting another member.
+
+## <a id="rec_app_p2p_crash__section_19CFA40F5EE64C4F8062BFBF7A6C1571" class="no-quick-link"></a>Recovery for Distributed Regions
+
+Restart the process. The system member recreates its cache automatically. If replication is used, data is automatically loaded from the replicated regions, creating an up-to-date cache in sync with the rest of the system. If you have persisted data but no replicated regions, data is automatically loaded from the disk store files. Otherwise, the lost data is replaced with new data created by the application as it returns to active work.
+
+## <a id="rec_app_p2p_crash__section_745AB095D1FA48E392F2C1B95DC18090" class="no-quick-link"></a>Recovery for Regions of Local Scope
+
+Regions of local scope have no memory backup, but may have data persisted to disk. If the region is configured for persistence, the data remains in the region\u2019s disk directories after a crash. The data on disk will be used to initialize the region when you restart.
+
+## <a id="rec_app_p2p_crash__section_D9202624335D45BFA2FCC55D702125F7" class="no-quick-link"></a>Recovering Data from Disk
+
+When you persist a region, the entry data on disk outlives the region in memory. If the member exits or crashes, the data remains in the region\u2019s disk directories. See [Disk Storage](../disk_storage/chapter_overview.html). If the same region is created again, this saved disk data can be used to initialize the region.
+
+Some general considerations for disk data recovery:
+
+-   Region persistence causes only entry keys and values to be stored to disk. Statistics and user attributes are not stored.
+-   If the application was writing to the disk asynchronously, the chances of data loss are greater. The choice is made at the region level, with the disk-synchronous attribute.
+-   When a region is initialized from disk, last modified time is persisted from before the member exit or crash. For information on how this might affect the region data, see [Expiration](../../developing/expiration/chapter_overview.html).
+
+**Disk Recovery for Disk Writing\u2014Synchronous Mode and Asynchronous Mode**
+
+**Synchronous Mode of Disk Writing**
+
+Alert 1:
+
+``` pre
+DiskAccessException has occured while writing to the disk for region <Region_Name>.
+Attempt will be made to destroy the region locally.
+```
+
+Alert 2:
+
+``` pre
+Encountered Exception in destroying the region locally
+```
+
+Description:
+
+These are error log-level alerts. Alert 2 is generated only if there was an error in destroying the region. If Alert 2 is not generated, then the region was destroyed successfully. The message indicating the successful destruction of a region is logged at the information level.
+
+Alert 3:
+
+``` pre
+Problem in stopping Cache Servers. Failover of clients is suspect
+```
+
+Description:
+
+This is an error log-level alert that is generated only if servers were supposed to stop but encountered an exception that prevented them from stopping.
+
+Response:
+
+The region may no longer exist on the member. The cache servers may also have been stopped. Recreate the region and restart the cache servers.
+
+**Asynchronous Mode of Disk Writing**
+
+Alert 1:
+
+``` pre
+Problem in Asynch writer thread for region <Region_name>. It will terminate.
+```
+
+Alert 2:
+
+``` pre
+Encountered Exception in destroying the region locally
+```
+
+Description:
+
+These are error log-level alerts. Alert 2 is generated only if there was an error in destroying the region. If Alert 2 is not generated, then the region was destroyed successfully. The message indicating the successful destruction of a region is logged at the information level.
+
+Alert 3:
+
+``` pre
+Problem in stopping Cache Servers. Failover of clients is suspect
+```
+
+Description:
+
+This is an error log-level alert that is generated only if servers were supposed to stop but encountered an exception that prevented them from stopping.
+
+Response:
+
+The region may no longer exist on the member. The cache servers may also have been stopped. Recreate the region and restart the cache servers.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/troubleshooting/system_failure_and_recovery.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/troubleshooting/system_failure_and_recovery.html.md.erb b/geode-docs/managing/troubleshooting/system_failure_and_recovery.html.md.erb
new file mode 100644
index 0000000..603fd5f
--- /dev/null
+++ b/geode-docs/managing/troubleshooting/system_failure_and_recovery.html.md.erb
@@ -0,0 +1,266 @@
+---
+title:  System Failure and Recovery
+---
+
+This section describes alerts for and appropriate responses to various kinds of system failures. It also helps you plan a strategy for data recovery.
+
+If a system member withdraws from the distributed system involuntarily because the member, host, or network fails, the other members automatically adapt to the loss and continue to operate. The distributed system does not experience any disturbance such as timeouts.
+
+## <a id="sys_failure__section_846B00118184487FB8F1E0CD1DC3A81B" class="no-quick-link"></a>Planning for Data Recovery
+
+In planning a strategy for data recovery, consider these factors:
+
+-   Whether the region is configured for data redundancy\u2014partitioned regions only.
+-   The region\u2019s role-loss policy configuration, which controls how the region behaves after a crash or system failure\u2014distributed regions only.
+-   Whether the region is configured for persistence to disk.
+-   The extent of the failure, whether multiple members or a network outage is involved.
+-   Your application\u2019s specific needs, such as the difficulty of replacing the data and the risk of running with inconsistent data for your application.
+-   When an alert is generated due to network partition or slow response, indicating that certain processes may, or will, fail.
+
+The rest of this section provides recovery instructions for various kinds system failures.
+
+## <a id="sys_failure__section_2C390F0783724048A6E12F7F369EB8DC" class="no-quick-link"></a>Network Partitioning, Slow Response, and Member Removal Alerts
+
+When a network partition detection or slow responses occur, these alerts are generated:
+
+-   Network Partitioning is Detected
+-   Member is Taking Too Long to Respond
+-   No Locators Can Be Found
+-   Warning Notifications Before Removal
+-   Member is Forced Out
+
+For information on configuring system members to help avoid a network partition configuration condition in the presence of a network failure or when members lose the ability to communicate to each other, refer to [Understanding and Recovering from Network Outages](recovering_from_network_outages.html#rec_network_crash).
+
+## <a id="sys_failure__section_D52D902E665F4F038DA4B8298E3F8681" class="no-quick-link"></a>Network Partitioning Detected
+
+Alert:
+
+``` pre
+Membership coordinator id has declared that a network partition has occurred.
+```
+
+Description:
+
+This alert is issued when network partitioning occurs, followed by this alert on the individual member:
+
+Alert:
+
+``` pre
+Exiting due to possible network partition event due to loss of {0} cache processes: {1}
+```
+
+Response:
+
+Check the network connectivity and health of the listed cache processes.
+
+## <a id="sys_failure__section_2C5E8A37733D4B31A12F22B9155796FD" class="no-quick-link"></a>Member Taking Too Long to Respond
+
+Alert:
+
+``` pre
+15 sec have elapsed while waiting for replies: <ReplyProcessor21 6 waiting for 1 replies 
+from [ent(27130):60333/36743]> on ent(27134):60330/45855 whose current membership 
+list is: [[ent(27134):60330/45855, ent(27130):60333/36743]]
+```
+
+Description:
+
+Member ent(27130):60333/36743 is in danger of being forced out of the distributed system because of a suspect-verification failure. This alert is issued at the warning level, after the ack-wait-threshold is reached.
+
+Response:
+
+The operator should examine the process to see if it is healthy. The process ID of the slow responder is 27130 on the machine named ent. The ports of the slow responder are 60333/36743. Look for the string, Starting distribution manager ent:60333/36743, and examine the process owning the log file containing this string.
+
+Alert:
+
+``` pre
+30 sec have elapsed while waiting for replies: <ReplyProcessor21 6 waiting for 1 replies 
+from [ent(27130):60333/36743]> on ent(27134):60330/45855 whose current membership 
+list is: [[ent(27134):60330/45855, ent(27130):60333/36743]]
+```
+
+Description:
+
+Member ent(27134) is in danger of being forced out of the distributed system because of a suspect-verification failure. This alert is issued at the severe level, after the ack-wait-threshold is reached and after ack-severe-alert-threshold seconds have elapsed.
+
+Response:
+
+The operator should examine the process to see if it is healthy. The process ID of the slow responder is 27134 on the machine named ent. The ports of the slow responder are 60333/36743. Look for the string, Starting distribution manager ent:60333/36743, and examine the process owning the log file containing this string.
+
+Alert:
+
+``` pre
+15 sec have elapsed while waiting for replies: <DLockRequestProcessor 33636 waiting 
+for 1 replies from [ent(4592):33593/35174]> on ent(4592):33593/35174 whose current 
+membership list is: [[ent(4598):33610/37013, ent(4611):33599/60008, 
+ent(4592):33593/35174, ent(4600):33612/33183, ent(4593):33601/53393, ent(4605):33605/41831]]
+```
+
+Description:
+
+This alert is issued by partitioned regions and regions with global scope at the warning level, when the lock grantor has not responded to a lock request within the ack-wait-threshold and the ack-severe-alert-threshold.
+
+Response:
+
+None.
+
+Alert:
+
+``` pre
+30 sec have elapsed while waiting for replies: <DLockRequestProcessor 23604 waiting 
+for 1 replies from [ent(4592):33593/35174]> on ent(4598):33610/37013 whose current 
+membership list is: [[ent(4598):33610/37013, ent(4611):33599/60008, 
+ent(4592):33593/35174, ent(4600):33612/33183, ent(4593):33601/53393, ent(4605):33605/41831]]
+```
+
+Description:
+
+This alert is issued by partitioned regions and regions with global scope at the severe level, when the lock grantor has not responded to a lock request within the ack-wait-threshold and the ack-severe-alert-threshold.
+
+Response:
+
+None.
+
+Alert:
+
+``` pre
+30 sec have elapsed waiting for global region entry lock held by ent(4600):33612/33183
+```
+
+Description
+
+This alert is issued by regions with global scope at the severe level, when the lock holder has held the desired lock for ack-wait-threshold + ack-severe-alert-threshold seconds and may be unresponsive.
+
+Response:
+
+None.
+
+Alert:
+
+``` pre
+30 sec have elapsed waiting for partitioned region lock held by ent(4600):33612/33183
+```
+
+Description:
+
+This alert is issued by partitioned regions at the severe level, when the lock holder has held the desired lock for ack-wait-threshold + ack-severe-alert-threshold seconds and may be unresponsive.
+
+Response:
+
+None.
+
+## <a id="sys_failure__section_AF4F913C244044E7A541D89EC6BCB961" class="no-quick-link"></a>No Locators Can Be Found
+
+**Note:**
+It is likely that all processes using the locators will exit with the same message.
+
+Alert:
+
+``` pre
+Membership service failure: Channel closed: org.apache.geode.ForcedDisconnectException: 
+There are no processes eligible to be group membership coordinator 
+(last coordinator left view)
+```
+
+Description:
+
+Network partition detection is enabled (enable-network-partition-detection is set to true), and there are locator problems.
+
+Response:
+
+The operator should examine the locator processes and logs, and restart the locators.
+
+Alert:
+
+``` pre
+Membership service failure: Channel closed: org.apache.geode.ForcedDisconnectException: 
+There are no processes eligible to be group membership coordinator 
+(all eligible coordinators are suspect)
+```
+
+Description:
+
+Network partition detection is enabled (enable-network-partition-detection is set to true), and there are locator problems.
+
+Response:
+
+The operator should examine the locator processes and logs, and restart the locators.
+
+Alert:
+
+``` pre
+Membership service failure: Channel closed: org.apache.geode.ForcedDisconnectException: 
+Unable to contact any locators and network partition detection is enabled
+```
+
+Description:
+
+Network partition detection is enabled (enable-network-partition-detection is set to true), and there are locator problems.
+
+Response:
+
+The operator should examine the locator processes and logs, and restart the locators.
+
+Alert:
+
+``` pre
+Membership service failure: Channel closed: org.apache.geode.ForcedDisconnectException: 
+Disconnected as a slow-receiver
+```
+
+Description:
+
+The member was not able to process messages fast enough and was forcibly disconnected by another process.
+
+Response:
+
+The operator should examine and restart the disconnected process.
+
+## <a id="sys_failure__section_77BDB0886A944F87BDA4C5408D9C2FC4" class="no-quick-link"></a>Warning Notifications Before Removal
+
+Alert:
+
+``` pre
+Membership: requesting removal of ent(10344):21344/24922 Disconnected as a slow-receiver
+```
+
+Description:
+
+This alert is generated only if the slow-receiver functionality is being used.
+
+Response:
+
+The operator should examine the locator processes and logs.
+
+Alert:
+
+``` pre
+Network partition detection is enabled and both membership coordinator and lead member 
+are on the same machine
+```
+
+Description:
+
+This alert is issued if both the membership coordinator and the lead member are on the same machine.
+
+Response:
+
+The operator can turn this off by setting the system property gemfire.disable-same-machine-warnings to true. However, it is best to run locator processes, which act as membership coordinators when network partition detection is enabled, on separate machines from cache processes.
+
+## <a id="sys_failure__section_E777C6EC8DEC4FE692AC5863C4420238" class="no-quick-link"></a>Member Is Forced Out
+
+Alert:
+
+``` pre
+Membership service failure: Channel closed: org.apache.geode.ForcedDisconnectException: 
+This member has been forced out of the Distributed System. Please consult GemFire logs to 
+find the reason.
+```
+
+Description:
+
+The process discovered that it was not in the distributed system and cannot determine why it was removed. The membership coordinator removed the member after it failed to respond to an internal are you alive message.
+
+Response:
+
+The operator should examine the locator processes and logs.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/about_native_client_users_guide.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/about_native_client_users_guide.html.md.erb b/geode-docs/nativeclient/about_native_client_users_guide.html.md.erb
new file mode 100644
index 0000000..e346f14
--- /dev/null
+++ b/geode-docs/nativeclient/about_native_client_users_guide.html.md.erb
@@ -0,0 +1,83 @@
+---
+title:  Native Client User's Guide
+---
+
+This Native Client User's Guide provides step-by-step procedures for installation, configuration, and development of native clients.
+
+## <a id="concept_95BBEBEF16B2481BA1850C0A5C893607__section_0D0A91D84CA44446A3973F1AE4CD3ABA" class="no-quick-link"></a>Intended Audience
+
+This guide is intended for anyone who wants to use a native client, including C++ and .NET developers programming their applications to use Geode. This guide assumes experience developing with C++ and .NET.
+
+-   **[Getting Started with a Native Client](../nativeclient/introduction/native-client-intro.html)**
+
+    This section gives you a conceptual overview of the native client. It shows you how to install the product, build native client applications on various platforms, and run the product examples.
+
+-   **[Setting System Properties](../nativeclient/setting-properties/chapter-overview.html)**
+
+    *Setting System Properties* describes how to configure Apache Geode native clients and cache servers to participate in a distributed system.
+
+-   **[Configuring the Native Client Cache](../nativeclient/client-cache/chapter-overview.html)**
+
+    *Configuring the Native Client Cache* describes the native client cache functionality, initialization file, and APIs. It provides information about creating and working with caches, cache regions, and region entries.
+
+-   **[Working with the C++ API](../nativeclient/cpp-caching-api/cpp-caching-api.html)**
+
+    This sectiondescribes the primary classes, and usage conventions for the native client C++ API. It demonstrates how to use the API to create caches and perform data serialization.
+
+-   **[Working with the .NET API](../nativeclient/dotnet-caching-api/dotnet-caching-api.html)**
+
+    This section describes the primary classes, usage conventions, and C++ to .NET class mappings of the native client .NET API. It demonstrates how to use the API to create caches and perform data serialization.
+
+-   **[Preserving Data](../nativeclient/preserving-data/preserving-data.html)**
+
+    A server may preserve the data queued and intended to be sent to a native client, such that the data is not discarded if communication between the server and native client is disrupted. Preservation prevents message loss, which can cause a native client to have inconsistent data. Redundant queues and a high availability server implementation may further ensure that queued data is not lost.
+
+-   **[Security](../nativeclient/security/overviewsecurity.html)**
+
+    *Security* describes how to implement the security framework for the Geode native client, including authentication, authorization, ecryption, and SSL client/server communication.
+
+-   **[Remote Querying](../nativeclient/remote-querying/remote-querying.html)**
+
+    *Remote Querying* documents remote querying from the native client to the Geode cache server. Using examples and procedures, it describes how to use the APIs to run queries against cached data; work with query strings in the native client; create and manage queries; and create indexes.
+
+-   **[Continuous Querying](../nativeclient/continuous-querying/continuous-querying.html)**
+
+    *Continuous Querying* describes how to implement continuous querying in the Apache Geode native client so that C++ and C\# .NET clients can run queries against events in the Geode cache server region. It also describes main features and the native client CQ API.
+
+-   **[Using Connection Pools](../nativeclient/connection-pools/connection-pools.html)**
+
+    *Using Connection Pools* describes how connection pools achieve load balancing for the client and describes how to configure connection pools as server locators or as a list of servers.
+
+-   **[Transactions](../nativeclient/transactions/transactions.html)**
+
+    *Transactions* describes how transactions work on the client side. It provides examples for running, suspending, and resuming transactions.
+
+-   **[Function Execution](../nativeclient/function-execution/function-execution.html)**
+
+    *Function Execution* describes how you can execute application functions to achieve linear scalability. It explains how function execution works and lists specific use cases.
+
+-   **[Delta Propagation](../nativeclient/delta-propagation/delta-propagation.html)**
+
+    *Delta Propagation* describes how deltas (updates to data) are propagated and how to implement delta propagation. It also analyzes performance limitations.
+
+-   **[Programming Examples](../nativeclient/programming-examples/programming-examples.html)**
+
+    This chapter provides a set of programming examples to help you understand the Geode native client API.
+
+-   **[Interoperability of Language Classes and Types](../nativeclient/type_mappings/chapter_overview.html)**
+
+    *Interoperability of Language Classes and Types* provides a table that maps C++ class methods to corresponding .NET class methods and a table that maps Java types to .NET types.
+
+-   **[System Statistics](../nativeclient/system-statistics/chapter_overview.html)**
+
+    *System Statistics* provides information on the installation and includes standard statistics for caching and distribution activities.
+
+-   **[Installing the SQLite Persistence Manager](../nativeclient/sqlite-persistence/chapter_overview.html)**
+
+    *Installing the SQLite Persistence Manager* describes how to download, build and install the SQLite database libraries for use with disk overflow.
+
+-   **[Glossary](../nativeclient/glossary.html)**
+
+    This glossary defines terms used in the documentation.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/cache-init-file/cache-dtd.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cache-init-file/cache-dtd.html.md.erb b/geode-docs/nativeclient/cache-init-file/cache-dtd.html.md.erb
new file mode 100644
index 0000000..edf11ba
--- /dev/null
+++ b/geode-docs/nativeclient/cache-init-file/cache-dtd.html.md.erb
@@ -0,0 +1,267 @@
+---
+title:  Native Client Cache XML DTD
+---
+
+The contents of the cache initialization file must conform to the data type definitions in `gfcpp-cache8000.dtd`.
+
+The `gfcpp-cache8000.dtd` file is in the `productDir/dtd` directory of your native client installation.
+
+The following example presents the file `gfcpp-cache8000.dtd`, which defines the XML used by the native client for declarative caching. The DTD file identifies the valid element tags that may be present in your XML file, the attributes that correspond to each element, and the valid values for the elements and attributes.
+
+``` pre
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+This is the XML DTD for the GemFire Native Client declarative caching XML file.  
+
+The contents of a declarative XML file correspond to APIs found in the
+Gemfire Native Client product, more specifically in the
+Cache.hpp and Region.hpp files in the product include directory
+
+A declarative caching XML file is used to populate a Cache
+when it is created.
+
+-->
+
+
+<!--
+The "client-cache" element is the root element of the declarative cache file.
+This element configures a GemFire Native Client Cache and describes the 
+root regions it contains, if any.
+-->
+
+<!ELEMENT client-cache (pool*, root-region*, region*, pdx?)>
+<!ATTLIST client-cache
+  endpoints CDATA #IMPLIED
+  redundancy-level CDATA #IMPLIED
+>
+
+<!--
+A "locator" element specifies the host and port that a server locator is listening on
+-->
+<!ELEMENT locator EMPTY>
+<!ATTLIST locator
+  host  CDATA #REQUIRED
+  port  CDATA #REQUIRED
+>
+
+<!--
+A "server" element specifies the host and port that a cache server is listening on
+-->
+<!ELEMENT server EMPTY>
+<!ATTLIST server
+  host  CDATA #REQUIRED
+  port  CDATA #REQUIRED
+>
+
+<!-- A "pdx" element specifies the properties related to pdx types -->
+<!ELEMENT pdx EMPTY>
+<!ATTLIST 
+  ignore-unread-fields  (false | true) #IMPLIED
+  read-serialized (false | true) #IMPLIED
+  >
+
+<!--
+A "pool" element specifies a client-server connection pool.
+-->
+<!ELEMENT pool (locator+|server+)>
+<!ATTLIST pool
+  free-connection-timeout        CDATA #IMPLIED
+  load-conditioning-interval     CDATA #IMPLIED
+  min-connections                CDATA #IMPLIED
+  max-connections                CDATA #IMPLIED
+  retry-attempts                 CDATA #IMPLIED
+  idle-timeout                   CDATA #IMPLIED
+  ping-interval                  CDATA #IMPLIED
+  name                           CDATA #REQUIRED
+  read-timeout                   CDATA #IMPLIED
+  server-group                   CDATA #IMPLIED
+  socket-buffer-size             CDATA #IMPLIED
+  subscription-enabled                  (false | true) #IMPLIED
+  subscription-message-tracking-timeout CDATA #IMPLIED
+  subscription-ack-interval             CDATA #IMPLIED
+  subscription-redundancy        CDATA #IMPLIED
+  statistic-interval             CDATA #IMPLIED
+  pr-single-hop-enabled          (true | false) #IMPLIED
+  thread-local-connections       (false | true) #IMPLIED
+  multiuser-authentication          (false | true) #IMPLIED
+>
+
+<!--
+A root-region" element describes a root region whose entries and
+subregions will be stored in memory.
+Note that the "name" attribute specifies the simple name of the region;
+it cannot contain a "/".
+-->
+
+<!ELEMENT root-region (region-attributes?, region*)>
+<!ATTLIST root-region
+  name CDATA #REQUIRED
+>
+
+
+<!--
+A "region" element describes a region (and its entries) in GemFire
+Native Client cache. Note that the "name" attribute specifies the simple
+name of the region; it cannot contain a "/".
+-->
+
+<!ELEMENT region (region-attributes?, region*)>
+<!ATTLIST region
+  name CDATA #REQUIRED
+  refid CDATA #IMPLIED
+>
+
+
+
+<!--
+A "region-attributes" element describes the attributes of a region to
+be created. For more details see the RegionFactory header in the
+product include directory
+-->
+
+<!ELEMENT region-attributes ((region-time-to-live |
+  region-idle-time | entry-time-to-live | entry-idle-time |
+  partition-resolver |
+  cache-loader | cache-listener | cache-writer | persistence-manager)*)>
+<!ATTLIST region-attributes
+  caching-enabled (true | TRUE | false | FALSE) #IMPLIED
+  cloning-enabled (true | TRUE | false | FALSE) #IMPLIED
+  scope (local | distributed-no-ack | distributed-ack ) #IMPLIED
+  initial-capacity CDATA #IMPLIED
+  load-factor CDATA #IMPLIED
+  concurrency-level CDATA #IMPLIED
+  lru-entries-limit CDATA #IMPLIED
+  disk-policy (none | overflows | persist ) #IMPLIED
+  endpoints CDATA #IMPLIED
+  client-notification (true | TRUE | false | FALSE) #IMPLIED
+  pool-name CDATA #IMPLIED
+  concurrency-checks-enabled (true | TRUE | false | FALSE) #IMPLIED
+  id CDATA #IMPLIED
+  refid CDATA #IMPLIED
+>
+
+
+
+
+
+
+<!--
+A "region-time-to-live" element specifies a Region's time to live
+-->
+
+<!ELEMENT region-time-to-live (expiration-attributes)>
+
+
+
+<!--
+A "region-idle-time" element specifies a Region's idle time
+-->
+
+<!ELEMENT region-idle-time (expiration-attributes)>
+
+
+
+<!--
+A "entry-time-to-live" element specifies a Region's entries' time to
+live
+-->
+
+<!ELEMENT entry-time-to-live (expiration-attributes)>
+
+
+
+<!--
+A "entry-idle-time" element specifies a Region's entries' idle time
+-->
+
+<!ELEMENT entry-idle-time (expiration-attributes)>
+
+
+<!--
+A "properties" element specifies a persistence properties 
+-->
+
+<!ELEMENT properties (property*)>
+
+<!-- 
+An "expiration-attributes" element describes expiration 
+-->
+
+<!ELEMENT expiration-attributes EMPTY>
+<!ATTLIST expiration-attributes
+  timeout CDATA #REQUIRED
+  action (invalidate | destroy | local-invalidate | local-destroy) #IMPLIED
+>
+
+
+
+<!--
+A "cache-loader" element describes a region's CacheLoader
+-->
+
+<!ELEMENT cache-loader  EMPTY >
+<!ATTLIST cache-loader 
+ library-name CDATA #IMPLIED
+ library-function-name CDATA #REQUIRED
+>
+
+
+
+<!--
+A "cache-listener" element describes a region's CacheListener
+-->
+
+<!ELEMENT cache-listener EMPTY>
+<!ATTLIST cache-listener 
+ library-name CDATA #IMPLIED
+ library-function-name CDATA #REQUIRED
+>
+
+
+
+<!--
+A "cache-writer" element describes a region's CacheListener
+-->
+
+<!ELEMENT cache-writer EMPTY>
+<!ATTLIST cache-writer 
+ library-name CDATA #IMPLIED
+ library-function-name CDATA #REQUIRED
+>
+
+<!--
+A "partition-resolver" element describes a region's PartitionResolver
+-->
+
+<!ELEMENT partition-resolver EMPTY>
+<!ATTLIST partition-resolver 
+ library-name CDATA #IMPLIED
+ library-function-name CDATA #REQUIRED
+>
+
+<!--
+A "persistence-manager" element describes a region's persistence feature
+-->
+
+<!ELEMENT persistence-manager (properties)>
+<!ATTLIST persistence-manager 
+ library-name CDATA #IMPLIED
+ library-function-name CDATA #REQUIRED
+>
+
+
+
+<!--
+A "property" element describes a persistence property
+-->
+
+<!ELEMENT property EMPTY>
+<!ATTLIST property 
+ name CDATA #REQUIRED
+ value CDATA #REQUIRED
+>
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/cache-init-file/chapter-overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cache-init-file/chapter-overview.html.md.erb b/geode-docs/nativeclient/cache-init-file/chapter-overview.html.md.erb
new file mode 100644
index 0000000..5c55033
--- /dev/null
+++ b/geode-docs/nativeclient/cache-init-file/chapter-overview.html.md.erb
@@ -0,0 +1,21 @@
+---
+title:  Cache Initialization File (cache.xml)
+---
+
+To ease the task of managing the structure of the cache, you can define the default Geode cache structure in an XML-based initialization file.
+
+This section describes the file format of the `cache.xml` file and discusses its contents.
+
+-   **[Cache Initialization File Basics](../../nativeclient/cache-init-file/file-basics.html)**
+
+    The contents of the cache initialization file are used to populate or update a cache.
+
+-   **[Example cache.xml File](../../nativeclient/cache-init-file/example-cache-file.html)**
+
+    An example `cache.xml` file shows cache and region initialization for a client, presenting a subset of the possible data configurations.
+
+-   **[Native Client Cache XML DTD](../../nativeclient/cache-init-file/cache-dtd.html)**
+
+    The contents of the cache initialization file must conform to the data type definitions in `gfcpp-cache8000.dtd`.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/cache-init-file/example-cache-file.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cache-init-file/example-cache-file.html.md.erb b/geode-docs/nativeclient/cache-init-file/example-cache-file.html.md.erb
new file mode 100644
index 0000000..2ad56b0
--- /dev/null
+++ b/geode-docs/nativeclient/cache-init-file/example-cache-file.html.md.erb
@@ -0,0 +1,48 @@
+---
+title:  Example cache.xml File
+---
+
+An example `cache.xml` file shows cache and region initialization for a client, presenting a subset of the possible data configurations.
+
+For detailed information about cache and region configuration, including the default attribute settings, see [The Native Client Cache](../client-cache/chapter-overview.html#native-client-cache). Also see the online API documentation for `Cache` and `RegionAttributes`.
+
+For information a cache with server pool, see [Using Connection Pools](../connection-pools/connection-pools.html#using-connection-pools). The example below shows a `cache.xml` file that creates two regions.
+
+-   Region `region1` is defined with a full set of region attributes and application plug-ins. The region's entries have `RegionTimeToLive` and `RegionIdleTimeout` expiration attributes set ([Expiration Attributes](../client-cache/expiration-attributes.html#expiration-attributes)).
+-   Region `region2` uses mostly default values.
+
+``` pre
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE cache PUBLIC
+    "-//Example Systems, Inc.//Example Declarative Caching 8.0//EN"
+    "http://www.example.com/dtd/gfcpp-cache8000.dtd">
+<!-- Sample cache.xml file -->
+<!-- Example Declarative Cache Initialization with cache.xml -->
+<cache>
+    <pool name="examplePool" subscription-enabled="true">
+        <server host="localhost" port="24680" />
+    </pool>
+    <region name="root1" refid="CACHING_PROXY">
+        <region-attributes pool-name="examplePool"
+            initial-capacity="25"
+            load-factor="0.32"
+            concurrency-level="10"
+            lru-entries-limit="35">
+            <region-idle-time>
+                <expiration-attributes timeout="20" action="destroy"/>
+            </region-idle-time>
+            <entry-idle-time>
+                <expiration-attributes timeout="10" action="invalidate"/>
+            </entry-idle-time>
+            <region-time-to-live>
+                <expiration-attributes timeout="5" action="local-destroy"/>
+            </region-time-to-live>
+            <entry-time-to-live>
+                <expiration-attributes timeout="10" action="local-invalidate"/>
+            </entry-time-to-live>
+        </region-attributes>
+    </region>
+</cache>
+```
+
+For details about the individual region attributes, see [Region Attributes](../client-cache/region-attributes.html#region-attributes).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/cache-init-file/file-basics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cache-init-file/file-basics.html.md.erb b/geode-docs/nativeclient/cache-init-file/file-basics.html.md.erb
new file mode 100644
index 0000000..ca6fcca
--- /dev/null
+++ b/geode-docs/nativeclient/cache-init-file/file-basics.html.md.erb
@@ -0,0 +1,18 @@
+---
+title:  Cache Initialization File Basics
+---
+
+The contents of the cache initialization file are used to populate or update a cache.
+
+This occurs when a cache server starts up, when a client application explicitly creates its cache, or when a client explicitly loads a new structure into an existing cache.
+
+The initialization file can have any name, but is generally referred to as `cache.xml`. Both client applications and cache servers can use an optional `cache.xml` file to ease the initialization process.
+
+## <a id="file-basics__section_E54BF7911C224016B822768B537FA464" class="no-quick-link"></a>File Contents
+
+The contents of a declarative XML file correspond to APIs declared in the `Cache.hpp` and `Region.hpp` header files. The cache initialization file allows you to accomplish declaratively many of the cache management activities that you can program through the API.
+
+-   The contents of the cache initialization file must conform to the XML definition in `productDir/dtd/gfcpp-cache8000.dtd` (see [Native Client Cache XML DTD](cache-dtd.html#cache-dtd)).
+-   The name of the declarative XML file is specified when establishing a connection to the distributed system. You can define it by setting the `cache-xml-file` configuration attribute in the `gfcpp.properties` file for the native client. For details about the `gfcpp.properties` file, see [Setting System and Cache Properties](../setting-properties/chapter-overview.html#system_and_cache_properties).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/accessing-entries.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/accessing-entries.html.md.erb b/geode-docs/nativeclient/client-cache/accessing-entries.html.md.erb
new file mode 100644
index 0000000..6506e54
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/accessing-entries.html.md.erb
@@ -0,0 +1,38 @@
+---
+title:  Accessing Entries
+---
+
+<a id="accessing-entries__section_310C0BE952BC489C9E97811DAE8736E4"></a>
+Use the API to retrieve the entry key, entry value, and the `RegionEntry` object itself. A variety of functions provide information for individual entries and for the set of all entries resident in the region. The online API documentation lists all available access functions.
+
+A region's entry keys and `RegionEntry` objects are directly available from the local cache. Applications can directly access the local cache's stored entry value through the `RegionEntry::getValue` function. The `getValue` function either returns the value if a valid value is present in the local cache, or `NULL` if the value is not valid locally. This function does no data loading, nor does it look elsewhere in the distributed system for a valid value.
+
+**Note:** Direct access through `RegionEntry::getValue` does not reset an entry's timestamp for LRU expiration. See [Specifying Expiration Attributes](expiration-attributes.html#expiration-attributes) for more information about LRU expiration.
+
+In comparison, the standard `Region::get` functions consider all caches and all applicable loaders in the distributed system in an attempt to return a valid entry value to the calling application. The primary attribute setting affecting entry retrieval is `CacheLoader`. See [Specifying Application Plug-In Attributes](application-plugins.html#application-plugins).
+
+The standard `Region::get` functions may implement a number of operations in order to retrieve a valid entry value. The operations used depend on the region's attribute settings and on the state of the entry itself. By default, the client retrieves entry values through calls to the `get` function. The client can override this behavior for any region by defining a cache loader for the region.
+
+The following sections discuss the `get` function and special considerations for entry retrieval.
+
+## <a id="accessing-entries__section_AD6AFD842C144C128FA1C7F0B9283372" class="no-quick-link"></a>Entry Retrieval
+
+You retrieve entry values with the `Region::get` function.
+
+When an entry value is requested from a region, it is either retrieved from the cache server or fetched by the region's locally-defined cache loader in this sequence:
+
+1.  local cache search
+2.  server cache
+3.  local load (For distributed regions, the local load is fetched before remote cache values)
+
+## <a id="accessing-entries__section_82B624FE364F4034AF010D20A8D0DF68" class="no-quick-link"></a>How the get Operation Affects the Local Entry Value
+
+If a `get` operation retrieves an entry value from outside the local cache through a local load, it automatically `put`s the value into the cache for future reference.
+
+Note that these load operations do not invoke a cache writer. Because the loader and writer operate against the same data source, you do not need to perform a cache write for entries that were just fetched from that data source. For descriptions of these processes, see [Specifying Application Plug-In Attributes](application-plugins.html#application-plugins).
+
+**Note:** Access through a `get` operation resets an entry's timestamp for LRU expiration.
+
+## <a id="accessing-entries__section_F636614605C84513B2B7F4A674FD6E38" class="no-quick-link"></a>Getting Multiple Entries Using getAll
+
+You can use the `getAll` Region API to get all values for an array of keys from the local cache or cache server. Under [Bulk Put Operations Using putAll](../cpp-caching-api/add-entry-to-cache.html#concept_26D4E6C6BC6F4AB8884E33119999656D__section_748916759F0246619CD27E7456DCA365) for more information.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/adding-entries-to-cache.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/adding-entries-to-cache.html.md.erb b/geode-docs/nativeclient/client-cache/adding-entries-to-cache.html.md.erb
new file mode 100644
index 0000000..6b7aa78
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/adding-entries-to-cache.html.md.erb
@@ -0,0 +1,32 @@
+---
+title:  Adding Entries to the Cache
+---
+
+<a id="adding-entries-to-cache__section_57CE90DC5C694CB79F05C943DE6F5E4B"></a>
+A region is populated with cached entries in several ways:
+
+-   Explicitly, when an application executes a `create` or a `put` operation for a single entry or for multiple entries that do not already exist in the cache.
+-   Implicitly, when a client does a get on a single entry or on multiple entries that do not already exist in the cache. In this case, the entry is retrieved from a remote cache or through a cache loader. Under [Specifying Application Plug-In Attributes](application-plugins.html#application-plugins), see the portion on a cache loader. A client can also use `getAll` to populate a region with all values for an array of keys. See [Accessing Entries](accessing-entries.html#accessing-entries).
+-   Automatically, when entries are created in remote caches.
+
+If any cache writer is available in the distributed region, it is called before the entry is created and it can abort the creation process.
+
+**Note:**
+For more information on how to create entries, see [Working with the C++ API](../cpp-caching-api/cpp-caching-api.html#concept_CEC658A999414AC3A494578C214BF64E), [Working with the .NET API](../dotnet-caching-api/dotnet-caching-api.html#concept_FC6776DCE6ED48B887A6137761104AA4), and the native client API reference.
+
+## <a id="adding-entries-to-cache__section_873FFF2CAC804B8E9676AB8098CF2434" class="no-quick-link"></a>Adding Entries to the Local Cache
+
+If just the local cache is to be populated, you can either `create` an entry using the `localCreate` Region API, or `put` an entry using `localPut`. See the C++ and .NET online API documentation for details about `localCreate` and `localPut`.
+
+`DateTime` objects must be stored in the cache in UTC, so that times correspond between client and server. If you use a date with a different time zone, convert it when storing into and retrieving from the cache. This example converts a local time to UTC for a put operation:
+
+``` pre
+DateTime t1( 2009, 8, 13, 4, 11, 0, DateTimeKind.Local);
+region0.Put( 1, t1.ToUniversalTime() );
+```
+
+## <a id="adding-entries-to-cache__section_7CFEB263E2FE4775A3C9A29351A33911" class="no-quick-link"></a>Adding Multiple Entries Using PutAll
+
+If you need to add many cache entries to a region at one time, you can improve cache performance by using the `putAll` function to add them in a single distributed operation. Multiple key/value pairs are stored in a hashmap, then the hashmap contents are processed on the server as either new entries, updates, or invalidates for existing entries.
+
+Under [Adding an Entry to the Cache](../cpp-caching-api/add-entry-to-cache.html#concept_26D4E6C6BC6F4AB8884E33119999656D) see "Bulk Put Operations Using putAll" for more information about the `putAll` API. Additional details are available in the online API documentation for `Region::putAll` (C++), or `Region.PutAll` (.NET).


[17/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/network_partition_scenario.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/network_partition_scenario.svg b/geode-docs/images_svg/network_partition_scenario.svg
new file mode 100644
index 0000000..89f7f48
--- /dev/null
+++ b/geode-docs/images_svg/network_partition_scenario.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="58 313 508 353" width="508pt" height="353pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 10:13Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".95"/><stop offset="1" stop-color="white" stop-opacity=".95"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(547.875 648) scale(431.52843)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" under
 line-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="532.22656" cap-height="719.72656" ascent="770.01953" descent="-229.98047" font-weight="bold"><font-face-src><font-face-name name="Helvetica-Bold"/></font-face-src></font-face><linearGradient x1="0" x2="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="white" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></linearGradient><linearGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(183.375 348.75) rotate(90) scale(22.40371)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-
 position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_3" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_3" gradientTransform="translate(176.625 443.8828) scale(83.49742)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_4" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_4" gradientTransform="translate(185.625 444.53572) scale(79.406693)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" under
 line-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_5" xl:href="#Gradient_3" gradientTransform="translate(280.125 445.14844) scale(83.49742)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_4" gradientTransform="translate(275.625 445.46987) scale(64.036123)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_3" gradientTransform="translate(178.875 519.1875) scale(83.49742)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_3" gradientTransform="translate(282.375 519.46874) scale(83.49742)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient_3" gradientTransform="translate(284.0625 596.53124) scale(83.49742)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_4" gradientTransform="translate(174.375 520.7143) scale(64.036123)"/><rad
 ialGradient id="Obj_Gradient_b" xl:href="#Gradient_4" gradientTransform="translate(277.875 521.35714) scale(64.036123)"/><radialGradient id="Obj_Gradient_c" xl:href="#Gradient_4" gradientTransform="translate(277.875 598.5) scale(64.036123)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient_3" gradientTransform="translate(178.875 596.53124) scale(83.49742)"/><radialGradient id="Obj_Gradient_e" xl:href="#Gradient_4" gradientTransform="translate(174.375 598.5) scale(64.036123)"/><font-face font-family="Helvetica" font-size="8" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_f" xl:href="#Gradient_3" gradientTransform="translate(424.125 445.14843) scale(83.49742)"/><radialGradient id="Obj_Gradient_10" xl:href="#Gradient_4" gradi
 entTransform="translate(419.625 445.6607) scale(64.036123)"/><linearGradient id="Obj_Gradient_11" xl:href="#Gradient_2" gradientTransform="translate(429.75 348.75) rotate(90) scale(22.40371)"/><radialGradient id="Obj_Gradient_12" xl:href="#Gradient_3" gradientTransform="translate(424.44643 517.78124) scale(83.49742)"/><radialGradient id="Obj_Gradient_13" xl:href="#Gradient_4" gradientTransform="translate(419.94643 520.39286) scale(64.036123)"/><radialGradient id="Obj_Gradient_14" xl:href="#Gradient_3" gradientTransform="translate(425.73214 596.53124) scale(83.49742)"/><radialGradient id="Obj_Gradient_15" xl:href="#Gradient_4" gradientTransform="translate(421.23214 599.7857) scale(64.036123)"/><radialGradient id="Obj_Gradient_16" xl:href="#Gradient_3" gradientTransform="translate(529.23214 518.4241) scale(83.49742)"/><radialGradient id="Obj_Gradient_17" xl:href="#Gradient_4" gradientTransform="translate(524.73214 521.03572) scale(64.036123)"/><radialGradient id="Obj_Gradient_18" xl:h
 ref="#Gradient_3" gradientTransform="translate(530.51786 597.1741) scale(83.49742)"/><radialGradient id="Obj_Gradient_19" xl:href="#Gradient_4" gradientTransform="translate(526.01786 601.07143) scale(64.036123)"/><radialGradient id="Obj_Gradient_1a" xl:href="#Gradient_3" gradientTransform="translate(529.875 444.49553) scale(83.49742)"/><radialGradient id="Obj_Gradient_1b" xl:href="#Gradient_4" gradientTransform="translate(525.375 446.4643) scale(64.036123)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>scenario 1</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 77.535 326.25 L 541.215 326.25 C 544.89322 326.25 547.875 329.23178 547.875 332.91 L 547.875 641.34 C 547.875 645.0182 544.89322 648 541.215 648 L 77.535 648 C 73.856783 648 70.875 645.0182 70.875 641.34 L 70.875 332.91 C 70.875 329.23178 73.856783 326.25 77.535 326.25 Z" fill="url(#Obj_Gradient
 )"/><path d="M 77.535 326.25 L 541.215 326.25 C 544.89322 326.25 547.875 329.23178 547.875 332.91 L 547.875 641.34 C 547.875 645.0182 544.89322 648 541.215 648 L 77.535 648 C 73.856783 648 70.875 645.0182 70.875 641.34 L 70.875 332.91 C 70.875 329.23178 73.856783 326.25 77.535 326.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(74.875 330.25)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="0" y="10" textLength="132.28027">Network Partition Scenario  \u2013 </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="132.10449" y="10" textLength="6.1083984">T</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="137.10449" y="10" textLength="67.265625">otal weight of 1</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="203.63281" y="10" textLength="5.5615234">1</tspan><tspa
 n font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="208.45703" y="10" textLength="5.5615234">1</tspan></text></g><text transform="translate(315.30357 488)" fill="#fc0006"><tspan font-family="Helvetica" font-size="12" font-weight="bold" fill="#fc0006" x=".9980469" y="11" textLength="8.0039062">X</tspan></text><path d="M 75.375 371.15372 L 75.375 621.0963 C 75.375006 633.4695 85.405485 643.5 97.77871 643.5 L 268.97129 643.5 C 281.34451 643.5 291.375 633.4695 291.375 621.0963 L 291.375 371.15372 L 75.375 371.15372 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 291.375 371.1537 L 75.375 371.1537 C 75.375006 358.78049 85.405485 348.75 97.77871 348.75 L 268.97129 348.75 C 281.34451 348.75 291.375 358.78049 291.375 371.1537 Z" fill="url(#Obj_Gradient_2)"/><path d="M 291.375 371.1537 L 75.375 371.1537 C 75.375006 358.78049 85.405485 348.75 97.77871 348.75 L 268.97129 348.75 C 281.34451 348.75 291.375 358.78049 2
 91.375 371.1537 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(79.375 352.95186)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="65.64746" y="11" textLength="76.70508">Surviving Side</tspan></text><path d="M 93.285 378.35156 L 169.965 378.35156 C 173.64322 378.35156 176.625 381.33334 176.625 385.01156 L 176.625 437.2228 C 176.625 440.90103 173.64322 443.8828 169.965 443.8828 L 93.285 443.8828 C 89.606783 443.8828 86.625 440.90103 86.625 437.2228 L 86.625 385.01156 C 86.625 381.33334 89.606783 378.35156 93.285 378.35156 Z" fill="url(#Obj_Gradient_3)"/><path d="M 93.285 378.35156 L 169.965 378.35156 C 173.64322 378.35156 176.625 381.33334 176.625 385.01156 L 176.625 437.2228 C 176.625 440.90103 173.64322 443.8828 169.965 443.8828 L 93.285 443.8828 C 89.606783 443.8828 86.625 440.90103 86.625 437.2228 L 86.625 385.01156 C 86.625 381.33334 89.606783 378.35156 93.285 378
 .35156 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(90.625 382.35156)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="32.66504" y="11" textLength="16.669922">M1</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="16.126953" y="24" textLength="49.746094"> (weight=3)</tspan></text><path d="M 89.91 417.53572 L 178.965 417.53572 C 182.64322 417.53572 185.625 420.5175 185.625 424.19572 L 185.625 437.87572 C 185.625 441.55394 182.64322 444.53572 178.965 444.53572 L 89.91 444.53572 C 86.231783 444.53572 83.25 441.55394 83.25 437.87572 L 83.25 424.19572 C 83.25 420.5175 86.231783 417.53572 89.91 417.53572 Z" fill="url(#Obj_Gradient_4)"/><path d="M 89.91 417.53572 L 178.965 417.53572 C 182.64322 417.53572 185.625 420.5175 185.625 424.19572 L 185.625 437.87572 C 185.625 441.55394 182.64322 444.53572 178.965 444.53572 L 89.91 444.53572 C 86
 .231783 444.53572 83.25 441.55394 83.25 437.87572 L 83.25 424.19572 C 83.25 420.5175 86.231783 417.53572 89.91 417.53572 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(87.25 420.03572)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9172363" y="9" textLength="93.041016">Locator &amp; Membership </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="23.67456" y="20" textLength="47.02588">Coordinator</tspan></text><path d="M 196.785 379.6172 L 273.465 379.6172 C 277.14322 379.6172 280.125 382.59897 280.125 386.2772 L 280.125 438.48844 C 280.125 442.16666 277.14322 445.14844 273.465 445.14844 L 196.785 445.14844 C 193.10678 445.14844 190.125 442.16666 190.125 438.48844 L 190.125 386.2772 C 190.125 382.59897 193.10678 379.6172 196.785 379.6172 Z" fill="url(#Obj_Gradient_5)"/><path d="M 196.785 379.6172 L 273.465 379.6172 C 277.14322 379.
 6172 280.125 382.59897 280.125 386.2772 L 280.125 438.48844 C 280.125 442.16666 277.14322 445.14844 273.465 445.14844 L 196.785 445.14844 C 193.10678 445.14844 190.125 442.16666 190.125 438.48844 L 190.125 386.2772 C 190.125 382.59897 193.10678 379.6172 196.785 379.6172 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(194.125 383.6172)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="32.66504" y="11" textLength="16.669922">M2</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="14.735352" y="24" textLength="52.529297">(weight=15)</tspan></text><path d="M 201.285 418.46987 L 268.965 418.46987 C 272.64322 418.46987 275.625 421.45165 275.625 425.12987 L 275.625 438.80987 C 275.625 442.48809 272.64322 445.46987 268.965 445.46987 L 201.285 445.46987 C 197.60678 445.46987 194.625 442.48809 194.625 438.80987 L 194.625 425.12987 C 194.625 421.
 45165 197.60678 418.46987 201.285 418.46987 Z" fill="url(#Obj_Gradient_6)"/><path d="M 201.285 418.46987 L 268.965 418.46987 C 272.64322 418.46987 275.625 421.45165 275.625 425.12987 L 275.625 438.80987 C 275.625 442.48809 272.64322 445.46987 268.965 445.46987 L 201.285 445.46987 C 197.60678 445.46987 194.625 442.48809 194.625 438.80987 L 194.625 425.12987 C 194.625 421.45165 197.60678 418.46987 201.285 418.46987 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(198.625 420.96987)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="4.736328" y="9" textLength="66.027832">Cache Server &amp; </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="8.7353516" y="20" textLength="55.529297">Lead Member</tspan></text><path d="M 95.535 453.65625 L 172.215 453.65625 C 175.89322 453.65625 178.875 456.63803 178.875 460.31625 L 178.875 512.5275 C 178.875 5
 16.20572 175.89322 519.1875 172.215 519.1875 L 95.535 519.1875 C 91.856783 519.1875 88.875 516.20572 88.875 512.5275 L 88.875 460.31625 C 88.875 456.63803 91.856783 453.65625 95.535 453.65625 Z" fill="url(#Obj_Gradient_7)"/><path d="M 95.535 453.65625 L 172.215 453.65625 C 175.89322 453.65625 178.875 456.63803 178.875 460.31625 L 178.875 512.5275 C 178.875 516.20572 175.89322 519.1875 172.215 519.1875 L 95.535 519.1875 C 91.856783 519.1875 88.875 516.20572 88.875 512.5275 L 88.875 460.31625 C 88.875 456.63803 91.856783 453.65625 95.535 453.65625 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(92.875 457.65625)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="32.66504" y="11" textLength="16.669922">M3</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="13.3461914" y="24" textLength="55.307617"> (weight=10)</tspan></text><path d="M 199
 .035 453.9375 L 275.715 453.9375 C 279.39322 453.9375 282.375 456.91927 282.375 460.5975 L 282.375 512.80874 C 282.375 516.48696 279.39322 519.46874 275.715 519.46874 L 199.035 519.46874 C 195.35678 519.46874 192.375 516.48696 192.375 512.80874 L 192.375 460.5975 C 192.375 456.91927 195.35678 453.9375 199.035 453.9375 Z" fill="url(#Obj_Gradient_8)"/><path d="M 199.035 453.9375 L 275.715 453.9375 C 279.39322 453.9375 282.375 456.91927 282.375 460.5975 L 282.375 512.80874 C 282.375 516.48696 279.39322 519.46874 275.715 519.46874 L 199.035 519.46874 C 195.35678 519.46874 192.375 516.48696 192.375 512.80874 L 192.375 460.5975 C 192.375 456.91927 195.35678 453.9375 199.035 453.9375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(196.375 457.9375)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="32.66504" y="11" textLength="16.669922">M4</tspan><tspan font-family="Helvetica
 " font-size="10" font-weight="500" fill="black" x="13.3461914" y="24" textLength="55.307617"> (weight=10)</tspan></text><path d="M 200.7225 531 L 277.4025 531 C 281.08072 531 284.0625 533.98177 284.0625 537.66 L 284.0625 589.87124 C 284.0625 593.54946 281.08072 596.53124 277.4025 596.53124 L 200.7225 596.53124 C 197.04428 596.53124 194.0625 593.54946 194.0625 589.87124 L 194.0625 537.66 C 194.0625 533.98177 197.04428 531 200.7225 531 Z" fill="url(#Obj_Gradient_9)"/><path d="M 200.7225 531 L 277.4025 531 C 281.08072 531 284.0625 533.98177 284.0625 537.66 L 284.0625 589.87124 C 284.0625 593.54946 281.08072 596.53124 277.4025 596.53124 L 200.7225 596.53124 C 197.04428 596.53124 194.0625 593.54946 194.0625 589.87124 L 194.0625 537.66 C 194.0625 533.98177 197.04428 531 200.7225 531 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(198.0625 535)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="50
 0" fill="black" x="32.66504" y="11" textLength="16.669922">M6</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="13.3461914" y="24" textLength="55.307617"> (weight=10)</tspan></text><path d="M 100.035 493.7143 L 167.715 493.7143 C 171.39322 493.7143 174.375 496.69607 174.375 500.3743 L 174.375 514.0543 C 174.375 517.7325 171.39322 520.7143 167.715 520.7143 L 100.035 520.7143 C 96.356783 520.7143 93.375 517.7325 93.375 514.0543 L 93.375 500.3743 C 93.375 496.69607 96.356783 493.7143 100.035 493.7143 Z" fill="url(#Obj_Gradient_a)"/><path d="M 100.035 493.7143 L 167.715 493.7143 C 171.39322 493.7143 174.375 496.69607 174.375 500.3743 L 174.375 514.0543 C 174.375 517.7325 171.39322 520.7143 167.715 520.7143 L 100.035 520.7143 C 96.356783 520.7143 93.375 517.7325 93.375 514.0543 L 93.375 500.3743 C 93.375 496.69607 96.356783 493.7143 100.035 493.7143 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text tran
 sform="translate(97.375 501.7143)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="8.988037" y="9" textLength="55.023926">Cache Server</tspan></text><path d="M 203.535 494.35714 L 271.215 494.35714 C 274.89322 494.35714 277.875 497.33892 277.875 501.01714 L 277.875 514.69714 C 277.875 518.37536 274.89322 521.35714 271.215 521.35714 L 203.535 521.35714 C 199.85678 521.35714 196.875 518.37536 196.875 514.69714 L 196.875 501.01714 C 196.875 497.33892 199.85678 494.35714 203.535 494.35714 Z" fill="url(#Obj_Gradient_b)"/><path d="M 203.535 494.35714 L 271.215 494.35714 C 274.89322 494.35714 277.875 497.33892 277.875 501.01714 L 277.875 514.69714 C 277.875 518.37536 274.89322 521.35714 271.215 521.35714 L 203.535 521.35714 C 199.85678 521.35714 196.875 518.37536 196.875 514.69714 L 196.875 501.01714 C 196.875 497.33892 199.85678 494.35714 203.535 494.35714 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003
 "/><text transform="translate(200.875 502.35714)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="8.988037" y="9" textLength="55.023926">Cache Server</tspan></text><path d="M 203.535 571.5 L 271.215 571.5 C 274.89322 571.5 277.875 574.4818 277.875 578.16 L 277.875 591.84 C 277.875 595.5182 274.89322 598.5 271.215 598.5 L 203.535 598.5 C 199.85678 598.5 196.875 595.5182 196.875 591.84 L 196.875 578.16 C 196.875 574.4818 199.85678 571.5 203.535 571.5 Z" fill="url(#Obj_Gradient_c)"/><path d="M 203.535 571.5 L 271.215 571.5 C 274.89322 571.5 277.875 574.4818 277.875 578.16 L 277.875 591.84 C 277.875 595.5182 274.89322 598.5 271.215 598.5 L 203.535 598.5 C 199.85678 598.5 196.875 595.5182 196.875 591.84 L 196.875 578.16 C 196.875 574.4818 199.85678 571.5 203.535 571.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(200.875 579.5)" fill="black"><tspan font-family="Helvetica"
  font-size="9" font-weight="500" fill="black" x="8.988037" y="9" textLength="55.023926">Cache Server</tspan></text><path d="M 95.535 531 L 172.215 531 C 175.89322 531 178.875 533.98177 178.875 537.66 L 178.875 589.87124 C 178.875 593.54946 175.89322 596.53124 172.215 596.53124 L 95.535 596.53124 C 91.856783 596.53124 88.875 593.54946 88.875 589.87124 L 88.875 537.66 C 88.875 533.98177 91.856783 531 95.535 531 Z" fill="url(#Obj_Gradient_d)"/><path d="M 95.535 531 L 172.215 531 C 175.89322 531 178.875 533.98177 178.875 537.66 L 178.875 589.87124 C 178.875 593.54946 175.89322 596.53124 172.215 596.53124 L 95.535 596.53124 C 91.856783 596.53124 88.875 593.54946 88.875 589.87124 L 88.875 537.66 C 88.875 533.98177 91.856783 531 95.535 531 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(92.875 535)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="32.66504" y="11" textLength=
 "16.669922">M5</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="13.3461914" y="24" textLength="55.307617"> (weight=10)</tspan></text><path d="M 100.035 571.5 L 167.715 571.5 C 171.39322 571.5 174.375 574.4818 174.375 578.16 L 174.375 591.84 C 174.375 595.5182 171.39322 598.5 167.715 598.5 L 100.035 598.5 C 96.356783 598.5 93.375 595.5182 93.375 591.84 L 93.375 578.16 C 93.375 574.4818 96.356783 571.5 100.035 571.5 Z" fill="url(#Obj_Gradient_e)"/><path d="M 100.035 571.5 L 167.715 571.5 C 171.39322 571.5 174.375 574.4818 174.375 578.16 L 174.375 591.84 C 174.375 595.5182 171.39322 598.5 167.715 598.5 L 100.035 598.5 C 96.356783 598.5 93.375 595.5182 93.375 591.84 L 93.375 578.16 C 93.375 574.4818 96.356783 571.5 100.035 571.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(97.375 579.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" 
 x="8.988037" y="9" textLength="55.023926">Cache Server</tspan></text><text transform="translate(103.1859 603.72283)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="0" y="8" textLength="131.16016">- Detects membership weight loss of </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="0" y="18" textLength="16.011719">47%</tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="0" y="28" textLength="4.8867188">- </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="4.7460938" y="28" textLength="113.82031">This distributed system stays up</tspan></text><path d="M 340.785 379.61718 L 417.465 379.61718 C 421.14322 379.61718 424.125 382.59896 424.125 386.27718 L 424.125 438.48843 C 424.125 442.16665 421.14322 445.14843 417.465 445.14843 L 340.785 445.14843 C 337.10678 445.14843 334.125 442.16665 334.125 438.48843 L 334.125 386.27718 C 334.125 382.598
 96 337.10678 379.61718 340.785 379.61718 Z" fill="url(#Obj_Gradient_f)"/><path d="M 340.785 379.61718 L 417.465 379.61718 C 421.14322 379.61718 424.125 382.59896 424.125 386.27718 L 424.125 438.48843 C 424.125 442.16665 421.14322 445.14843 417.465 445.14843 L 340.785 445.14843 C 337.10678 445.14843 334.125 442.16665 334.125 438.48843 L 334.125 386.27718 C 334.125 382.59896 337.10678 379.61718 340.785 379.61718 Z" stroke="#fc0006" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.1600001"/><text transform="translate(338.125 383.61718)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="32.66504" y="11" textLength="16.669922">M7</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="17.516113" y="24" textLength="46.967773">(weight=3)</tspan></text><path d="M 345.285 418.6607 L 412.965 418.6607 C 416.64322 418.6607 419.625 421.6425 419.625 425.3207 L 419.625 439.0007 C 419.625 442.67893 416.64322 445
 .6607 412.965 445.6607 L 345.285 445.6607 C 341.60678 445.6607 338.625 442.67893 338.625 439.0007 L 338.625 425.3207 C 338.625 421.6425 341.60678 418.6607 345.285 418.6607 Z" fill="url(#Obj_Gradient_10)"/><path d="M 345.285 418.6607 L 412.965 418.6607 C 416.64322 418.6607 419.625 421.6425 419.625 425.3207 L 419.625 439.0007 C 419.625 442.67893 416.64322 445.6607 412.965 445.6607 L 345.285 445.6607 C 341.60678 445.6607 338.625 442.67893 338.625 439.0007 L 338.625 425.3207 C 338.625 421.6425 341.60678 418.6607 345.285 418.6607 Z" stroke="#fc0006" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.1600001"/><text transform="translate(342.625 426.6607)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="21.490479" y="9" textLength="30.019043">Locator</tspan></text><path d="M 320.625 371.15372 L 320.625 621.0963 C 320.625 633.4695 330.65549 643.5 343.0287 643.5 L 516.4713 643.5 C 528.8445 643.5 538.875 633.4695 538.875 621.0963 L 538.8
 75 371.15372 L 320.625 371.15372 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 538.875 371.1537 L 320.625 371.1537 C 320.625 358.78049 330.65549 348.75 343.0287 348.75 L 516.4713 348.75 C 528.8445 348.75 538.875 358.78049 538.875 371.1537 Z" fill="url(#Obj_Gradient_11)"/><path d="M 538.875 371.1537 L 320.625 371.1537 C 320.625 358.78049 330.65549 348.75 343.0287 348.75 L 516.4713 348.75 C 528.8445 348.75 538.875 358.78049 538.875 371.1537 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(324.625 352.95186)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="73.768555" y="11" textLength="62.71289">Losing Side</tspan></text><path d="M 341.10643 452.25 L 417.78643 452.25 C 421.46465 452.25 424.44643 455.23177 424.44643 458.91 L 424.44643 511.12124 C 424.44643 514.79946 421.46465 517.78124 417.78643 517.78124 L 341.1064
 3 517.78124 C 337.42821 517.78124 334.44643 514.79946 334.44643 511.12124 L 334.44643 458.91 C 334.44643 455.23177 337.42821 452.25 341.10643 452.25 Z" fill="url(#Obj_Gradient_12)"/><path d="M 341.10643 452.25 L 417.78643 452.25 C 421.46465 452.25 424.44643 455.23177 424.44643 458.91 L 424.44643 511.12124 C 424.44643 514.79946 421.46465 517.78124 417.78643 517.78124 L 341.10643 517.78124 C 337.42821 517.78124 334.44643 514.79946 334.44643 511.12124 L 334.44643 458.91 C 334.44643 455.23177 337.42821 452.25 341.10643 452.25 Z" stroke="#fc0006" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.1600001"/><text transform="translate(338.44643 456.25)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="32.66504" y="11" textLength="16.669922">M9</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="13.3461914" y="24" textLength="55.307617"> (weight=10)</tspan></text><path d="M 345.60643 493.39286 L 413.2
 8643 493.39286 C 416.96465 493.39286 419.94643 496.37464 419.94643 500.05286 L 419.94643 513.73286 C 419.94643 517.41108 416.96465 520.39286 413.28643 520.39286 L 345.60643 520.39286 C 341.92821 520.39286 338.94643 517.41108 338.94643 513.73286 L 338.94643 500.05286 C 338.94643 496.37464 341.92821 493.39286 345.60643 493.39286 Z" fill="url(#Obj_Gradient_13)"/><path d="M 345.60643 493.39286 L 413.28643 493.39286 C 416.96465 493.39286 419.94643 496.37464 419.94643 500.05286 L 419.94643 513.73286 C 419.94643 517.41108 416.96465 520.39286 413.28643 520.39286 L 345.60643 520.39286 C 341.92821 520.39286 338.94643 517.41108 338.94643 513.73286 L 338.94643 500.05286 C 338.94643 496.37464 341.92821 493.39286 345.60643 493.39286 Z" stroke="#fc0006" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.1600001"/><text transform="translate(342.94643 501.39286)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="8.988037" y="9" textLength="55.023
 926">Cache Server</tspan></text><path d="M 342.39214 531 L 419.07214 531 C 422.75036 531 425.73214 533.98177 425.73214 537.66 L 425.73214 589.87124 C 425.73214 593.54946 422.75036 596.53124 419.07214 596.53124 L 342.39214 596.53124 C 338.71392 596.53124 335.73214 593.54946 335.73214 589.87124 L 335.73214 537.66 C 335.73214 533.98177 338.71392 531 342.39214 531 Z" fill="url(#Obj_Gradient_14)"/><path d="M 342.39214 531 L 419.07214 531 C 422.75036 531 425.73214 533.98177 425.73214 537.66 L 425.73214 589.87124 C 425.73214 593.54946 422.75036 596.53124 419.07214 596.53124 L 342.39214 596.53124 C 338.71392 596.53124 335.73214 593.54946 335.73214 589.87124 L 335.73214 537.66 C 335.73214 533.98177 338.71392 531 342.39214 531 Z" stroke="#fc0006" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.1600001"/><text transform="translate(339.73214 535)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="29.770508" y="11" textLength="16.669922">
 M1</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="45.555664" y="11" textLength="6.673828">1</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="13.3461914" y="24" textLength="55.307617"> (weight=10)</tspan></text><path d="M 346.89214 572.7857 L 414.57214 572.7857 C 418.25036 572.7857 421.23214 575.7675 421.23214 579.4457 L 421.23214 593.1257 C 421.23214 596.80393 418.25036 599.7857 414.57214 599.7857 L 346.89214 599.7857 C 343.21392 599.7857 340.23214 596.80393 340.23214 593.1257 L 340.23214 579.4457 C 340.23214 575.7675 343.21392 572.7857 346.89214 572.7857 Z" fill="url(#Obj_Gradient_15)"/><path d="M 346.89214 572.7857 L 414.57214 572.7857 C 418.25036 572.7857 421.23214 575.7675 421.23214 579.4457 L 421.23214 593.1257 C 421.23214 596.80393 418.25036 599.7857 414.57214 599.7857 L 346.89214 599.7857 C 343.21392 599.7857 340.23214 596.80393 340.23214 593.1257 L 340.23214 579.4457 C 340.23214 575.7675 343.21392 
 572.7857 346.89214 572.7857 Z" stroke="#fc0006" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.1600001"/><text transform="translate(344.23214 580.7857)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="8.988037" y="9" textLength="55.023926">Cache Server</tspan></text><path d="M 445.89214 452.89285 L 522.57214 452.89285 C 526.25036 452.89285 529.23214 455.87463 529.23214 459.55285 L 529.23214 511.7641 C 529.23214 515.44232 526.25036 518.4241 522.57214 518.4241 L 445.89214 518.4241 C 442.21392 518.4241 439.23214 515.44232 439.23214 511.7641 L 439.23214 459.55285 C 439.23214 455.87463 442.21392 452.89285 445.89214 452.89285 Z" fill="url(#Obj_Gradient_16)"/><path d="M 445.89214 452.89285 L 522.57214 452.89285 C 526.25036 452.89285 529.23214 455.87463 529.23214 459.55285 L 529.23214 511.7641 C 529.23214 515.44232 526.25036 518.4241 522.57214 518.4241 L 445.89214 518.4241 C 442.21392 518.4241 439.23214 515.44232 439.23214 511.7641
  L 439.23214 459.55285 C 439.23214 455.87463 442.21392 452.89285 445.89214 452.89285 Z" stroke="#fc0006" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.1600001"/><text transform="translate(443.23214 456.89285)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="29.328125" y="11" textLength="23.34375">M10</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="13.3461914" y="24" textLength="55.307617"> (weight=10)</tspan></text><path d="M 450.39214 494.03572 L 518.07214 494.03572 C 521.75036 494.03572 524.73214 497.0175 524.73214 500.69572 L 524.73214 514.37572 C 524.73214 518.05394 521.75036 521.03572 518.07214 521.03572 L 450.39214 521.03572 C 446.71392 521.03572 443.73214 518.05394 443.73214 514.37572 L 443.73214 500.69572 C 443.73214 497.0175 446.71392 494.03572 450.39214 494.03572 Z" fill="url(#Obj_Gradient_17)"/><path d="M 450.39214 494.03572 L 518.07214 494.03572 C 521.75036 494.03572 524.
 73214 497.0175 524.73214 500.69572 L 524.73214 514.37572 C 524.73214 518.05394 521.75036 521.03572 518.07214 521.03572 L 450.39214 521.03572 C 446.71392 521.03572 443.73214 518.05394 443.73214 514.37572 L 443.73214 500.69572 C 443.73214 497.0175 446.71392 494.03572 450.39214 494.03572 Z" stroke="#fc0006" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.1600001"/><text transform="translate(447.73214 502.03572)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="8.988037" y="9" textLength="55.023926">Cache Server</tspan></text><path d="M 447.17786 531.64285 L 523.85786 531.64285 C 527.53608 531.64285 530.51786 534.62463 530.51786 538.30285 L 530.51786 590.5141 C 530.51786 594.1923 527.53608 597.1741 523.85786 597.1741 L 447.17786 597.1741 C 443.49964 597.1741 440.51786 594.1923 440.51786 590.5141 L 440.51786 538.30285 C 440.51786 534.62463 443.49964 531.64285 447.17786 531.64285 Z" fill="url(#Obj_Gradient_18)"/><path d="M 447.1778
 6 531.64285 L 523.85786 531.64285 C 527.53608 531.64285 530.51786 534.62463 530.51786 538.30285 L 530.51786 590.5141 C 530.51786 594.1923 527.53608 597.1741 523.85786 597.1741 L 447.17786 597.1741 C 443.49964 597.1741 440.51786 594.1923 440.51786 590.5141 L 440.51786 538.30285 C 440.51786 534.62463 443.49964 531.64285 447.17786 531.64285 Z" stroke="#fc0006" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.1600001"/><text transform="translate(444.51786 535.64285)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="29.328125" y="11" textLength="23.34375">M12</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="13.3461914" y="24" textLength="55.307617"> (weight=10)</tspan></text><path d="M 451.67786 574.07143 L 519.35786 574.07143 C 523.03608 574.07143 526.01786 577.0532 526.01786 580.73143 L 526.01786 594.41143 C 526.01786 598.08965 523.03608 601.07143 519.35786 601.07143 L 451.67786 601.07143 C 
 447.99964 601.07143 445.01786 598.08965 445.01786 594.41143 L 445.01786 580.73143 C 445.01786 577.0532 447.99964 574.07143 451.67786 574.07143 Z" fill="url(#Obj_Gradient_19)"/><path d="M 451.67786 574.07143 L 519.35786 574.07143 C 523.03608 574.07143 526.01786 577.0532 526.01786 580.73143 L 526.01786 594.41143 C 526.01786 598.08965 523.03608 601.07143 519.35786 601.07143 L 451.67786 601.07143 C 447.99964 601.07143 445.01786 598.08965 445.01786 594.41143 L 445.01786 580.73143 C 445.01786 577.0532 447.99964 574.07143 451.67786 574.07143 Z" stroke="#fc0006" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.1600001"/><text transform="translate(449.01786 582.07143)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="8.988037" y="9" textLength="55.023926">Cache Server</tspan></text><path d="M 446.535 378.96428 L 523.215 378.96428 C 526.89322 378.96428 529.875 381.94606 529.875 385.62428 L 529.875 437.83553 C 529.875 441.51375 526.89322
  444.49553 523.215 444.49553 L 446.535 444.49553 C 442.85678 444.49553 439.875 441.51375 439.875 437.83553 L 439.875 385.62428 C 439.875 381.94606 442.85678 378.96428 446.535 378.96428 Z" fill="url(#Obj_Gradient_1a)"/><path d="M 446.535 378.96428 L 523.215 378.96428 C 526.89322 378.96428 529.875 381.94606 529.875 385.62428 L 529.875 437.83553 C 529.875 441.51375 526.89322 444.49553 523.215 444.49553 L 446.535 444.49553 C 442.85678 444.49553 439.875 441.51375 439.875 437.83553 L 439.875 385.62428 C 439.875 381.94606 442.85678 378.96428 446.535 378.96428 Z" stroke="#fc0006" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.1600001"/><text transform="translate(443.875 382.96428)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="32.66504" y="11" textLength="16.669922">M8</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="13.3461914" y="24" textLength="55.307617"> (weight=10)</tspan></text><path 
 d="M 451.035 419.4643 L 518.715 419.4643 C 522.39322 419.4643 525.375 422.44607 525.375 426.1243 L 525.375 439.8043 C 525.375 443.4825 522.39322 446.4643 518.715 446.4643 L 451.035 446.4643 C 447.35678 446.4643 444.375 443.4825 444.375 439.8043 L 444.375 426.1243 C 444.375 422.44607 447.35678 419.4643 451.035 419.4643 Z" fill="url(#Obj_Gradient_1b)"/><path d="M 451.035 419.4643 L 518.715 419.4643 C 522.39322 419.4643 525.375 422.44607 525.375 426.1243 L 525.375 439.8043 C 525.375 443.4825 522.39322 446.4643 518.715 446.4643 L 451.035 446.4643 C 447.35678 446.4643 444.375 443.4825 444.375 439.8043 L 444.375 426.1243 C 444.375 422.44607 447.35678 419.4643 451.035 419.4643 Z" stroke="#fc0006" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.1600001"/><text transform="translate(448.375 427.4643)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="8.988037" y="9" textLength="55.023926">Cache Server</tspan></text><text transform="tran
 slate(344.875 606)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="0" y="8" textLength="147.171875">- Detects membership weight loss of 52%</tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="0" y="18" textLength="162.75">- Locator assumes coordinator role and shuts </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="0" y="28" textLength="46.683594">system down</tspan></text><path d="M 277.875 503.15625 L 309.375 499.5 L 304.875 490.5 L 322.875 495" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".23998"/></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/p2p_topology.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/p2p_topology.svg b/geode-docs/images_svg/p2p_topology.svg
new file mode 100644
index 0000000..208fad3
--- /dev/null
+++ b/geode-docs/images_svg/p2p_topology.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="59 293 499 121" width="499pt" height="121pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 10:03Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e0e0e0" stop-opacity=".65"/><stop offset="1" stop-color="white" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(216 396) scale(127.358745)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underlin
 e-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(189 382.5) scale(78.153857)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(378 396) sc
 ale(127.358745)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(351 382.5) scale(78.153857)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(540 396) scale(127.358745)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(513 382.5) scale(78.153857)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(522 378) scale(324.5313)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(171 376.13672) scale(43.35671)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_9" xl:href="#Gradient_2" gradientTransform
 ="translate(333 376.13672) scale(43.35671)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_2" gradientTransform="translate(495 376.13672) scale(43.35671)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>p2p</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 78.66 306 L 209.34 306 C 213.01822 306 216 308.98178 216 312.66 L 216 389.34 C 216 393.01822 213.01822 396 209.3
 4 396 L 78.66 396 C 74.981783 396 72 393.01822 72 389.34 L 72 312.66 C 72 308.98178 74.981783 306 78.66 306 Z" fill="url(#Obj_Gradient)"/><path d="M 78.66 306 L 209.34 306 C 213.01822 306 216 308.98178 216 312.66 L 216 389.34 C 216 393.01822 213.01822 396 209.34 396 L 78.66 396 C 74.981783 396 72 393.01822 72 389.34 L 72 312.66 C 72 308.98178 74.981783 306 78.66 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(76 310)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="15.306641" y="11" textLength="105.38672">Application Process</tspan></text></g><g id="id4_Graphic"><path d="M 105.66 329.97656 L 182.34 329.97656 C 186.01822 329.97656 189 332.95834 189 336.63656 L 189 375.84 C 189 379.51822 186.01822 382.5 182.34 382.5 L 105.66 382.5 C 101.981783 382.5 99 379.51822 99 375.84 L 99 336.63656 C 99 332.95834 101.981783 329.97656 105.66 329.97656 Z" fill="url(#Obj_Gradient_
 2)"/><path d="M 105.66 329.97656 L 182.34 329.97656 C 186.01822 329.97656 189 332.95834 189 336.63656 L 189 375.84 C 189 379.51822 186.01822 382.5 182.34 382.5 L 105.66 382.5 C 101.981783 382.5 99 379.51822 99 375.84 L 99 336.63656 C 99 332.95834 101.981783 329.97656 105.66 329.97656 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(103 333.97656)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="30.438477" y="10" textLength="21.123047">Peer</tspan></text></g><g id="id5_Graphic"><path d="M 240.66 306 L 371.34 306 C 375.01822 306 378 308.98178 378 312.66 L 378 389.34 C 378 393.01822 375.01822 396 371.34 396 L 240.66 396 C 236.98178 396 234 393.01822 234 389.34 L 234 312.66 C 234 308.98178 236.98178 306 240.66 306 Z" fill="url(#Obj_Gradient_3)"/><path d="M 240.66 306 L 371.34 306 C 375.01822 306 378 308.98178 378 312.66 L 378 389.34 C 378 393.01822 375.01822 396 371.34 396
  L 240.66 396 C 236.98178 396 234 393.01822 234 389.34 L 234 312.66 C 234 308.98178 236.98178 306 240.66 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(238 310)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="15.306641" y="11" textLength="105.38672">Application Process</tspan></text></g><g id="id6_Graphic"><path d="M 267.66 329.97656 L 344.34 329.97656 C 348.01822 329.97656 351 332.95834 351 336.63656 L 351 375.84 C 351 379.51822 348.01822 382.5 344.34 382.5 L 267.66 382.5 C 263.98178 382.5 261 379.51822 261 375.84 L 261 336.63656 C 261 332.95834 263.98178 329.97656 267.66 329.97656 Z" fill="url(#Obj_Gradient_4)"/><path d="M 267.66 329.97656 L 344.34 329.97656 C 348.01822 329.97656 351 332.95834 351 336.63656 L 351 375.84 C 351 379.51822 348.01822 382.5 344.34 382.5 L 267.66 382.5 C 263.98178 382.5 261 379.51822 261 375.84 L 261 336.63656 C 261 332.95834 263.981
 78 329.97656 267.66 329.97656 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(265 333.97656)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="30.438477" y="10" textLength="21.123047">Peer</tspan></text></g><g id="id7_Graphic"><path d="M 402.66 306 L 533.34 306 C 537.01822 306 540 308.98178 540 312.66 L 540 389.34 C 540 393.01822 537.01822 396 533.34 396 L 402.66 396 C 398.98178 396 396 393.01822 396 389.34 L 396 312.66 C 396 308.98178 398.98178 306 402.66 306 Z" fill="url(#Obj_Gradient_5)"/><path d="M 402.66 306 L 533.34 306 C 537.01822 306 540 308.98178 540 312.66 L 540 389.34 C 540 393.01822 537.01822 396 533.34 396 L 402.66 396 C 398.98178 396 396 393.01822 396 389.34 L 396 312.66 C 396 308.98178 398.98178 306 402.66 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(400 310)" fill="black"><ts
 pan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="15.306641" y="11" textLength="105.38672">Application Process</tspan></text></g><g id="id8_Graphic"><path d="M 429.66 329.97656 L 506.34 329.97656 C 510.01822 329.97656 513 332.95834 513 336.63656 L 513 375.84 C 513 379.51822 510.01822 382.5 506.34 382.5 L 429.66 382.5 C 425.98178 382.5 423 379.51822 423 375.84 L 423 336.63656 C 423 332.95834 425.98178 329.97656 429.66 329.97656 Z" fill="url(#Obj_Gradient_6)"/><path d="M 429.66 329.97656 L 506.34 329.97656 C 510.01822 329.97656 513 332.95834 513 336.63656 L 513 375.84 C 513 379.51822 510.01822 382.5 506.34 382.5 L 429.66 382.5 C 425.98178 382.5 423 379.51822 423 375.84 L 423 336.63656 C 423 332.95834 425.98178 329.97656 429.66 329.97656 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(427 333.97656)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black"
  x="30.438477" y="10" textLength="21.123047">Peer</tspan></text></g><g id="id9_Graphic"><path d="M 96.66 353.25 L 515.34 353.25 C 519.01822 353.25 522 356.23178 522 359.91 L 522 371.34 C 522 375.01822 519.01822 378 515.34 378 L 96.66 378 C 92.981783 378 90 375.01822 90 371.34 L 90 359.91 C 90 356.23178 92.981783 353.25 96.66 353.25 Z" fill="url(#Obj_Gradient_7)"/><path d="M 96.66 353.25 L 515.34 353.25 C 519.01822 353.25 522 356.23178 522 359.91 L 522 371.34 C 522 375.01822 519.01822 378 515.34 378 L 96.66 378 C 92.981783 378 90 375.01822 90 371.34 L 90 359.91 C 90 356.23178 92.981783 353.25 96.66 353.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id10_Graphic"><path d="M 123.66 355.5 L 164.34 355.5 C 168.01822 355.5 171 358.48178 171 362.16 L 171 369.47672 C 171 373.15494 168.01822 376.13672 164.34 376.13672 L 123.66 376.13672 C 119.98178 376.13672 117 373.15494 117 369.47672 L 117 362.16 C 117 358.48178 119.98178 355.5 12
 3.66 355.5 Z" fill="url(#Obj_Gradient_8)"/><path d="M 123.66 355.5 L 164.34 355.5 C 168.01822 355.5 171 358.48178 171 362.16 L 171 369.47672 C 171 373.15494 168.01822 376.13672 164.34 376.13672 L 123.66 376.13672 C 119.98178 376.13672 117 373.15494 117 369.47672 L 117 362.16 C 117 358.48178 119.98178 355.5 123.66 355.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(121 354.81836)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.9921875" y="9" textLength="28.516113">Cache </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="13.494629" y="20" textLength="19.010742">Data</tspan></text></g><g id="id11_Graphic"><path d="M 285.66 355.5 L 326.34 355.5 C 330.01822 355.5 333 358.48178 333 362.16 L 333 369.47672 C 333 373.15494 330.01822 376.13672 326.34 376.13672 L 285.66 376.13672 C 281.98178 376.13672 279 373.15494 279 369.47672 L 279 362.
 16 C 279 358.48178 281.98178 355.5 285.66 355.5 Z" fill="url(#Obj_Gradient_9)"/><path d="M 285.66 355.5 L 326.34 355.5 C 330.01822 355.5 333 358.48178 333 362.16 L 333 369.47672 C 333 373.15494 330.01822 376.13672 326.34 376.13672 L 285.66 376.13672 C 281.98178 376.13672 279 373.15494 279 369.47672 L 279 362.16 C 279 358.48178 281.98178 355.5 285.66 355.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(283 354.81836)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.9921875" y="9" textLength="28.516113">Cache </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="13.494629" y="20" textLength="19.010742">Data</tspan></text></g><g id="id12_Graphic"><path d="M 447.66 355.5 L 488.34 355.5 C 492.01822 355.5 495 358.48178 495 362.16 L 495 369.47672 C 495 373.15494 492.01822 376.13672 488.34 376.13672 L 447.66 376.13672 C 443.98178 376.13672 4
 41 373.15494 441 369.47672 L 441 362.16 C 441 358.48178 443.98178 355.5 447.66 355.5 Z" fill="url(#Obj_Gradient_a)"/><path d="M 447.66 355.5 L 488.34 355.5 C 492.01822 355.5 495 358.48178 495 362.16 L 495 369.47672 C 495 373.15494 492.01822 376.13672 488.34 376.13672 L 447.66 376.13672 C 443.98178 376.13672 441 373.15494 441 369.47672 L 441 362.16 C 441 358.48178 443.98178 355.5 447.66 355.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(445 354.81836)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.9921875" y="9" textLength="28.516113">Cache </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="13.494629" y="20" textLength="19.010742">Data</tspan></text></g></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/partitioned_data_HA.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/partitioned_data_HA.svg b/geode-docs/images_svg/partitioned_data_HA.svg
new file mode 100644
index 0000000..cbb8b5b
--- /dev/null
+++ b/geode-docs/images_svg/partitioned_data_HA.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="95 216 463 423" width="463pt" height="423pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 08:44Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(306 558) scale(240.36067)"/><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underli
 ne-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(288.81 414) scale(133.51495)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></
 font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_2" gradientTransform="translate(165.63538 400.5) scale(21.756296)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(191.25 400.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient_2" gradientTransform="translate(165.79288 481.0275) scale(21.756296)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(191.4075 481.0275) scale(19.091883)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(268.7175 481.0275) scale(19.091883)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(241.7175 481.0275) scale(19.091883)"/><radialGradient id="Obj_Gra
 dient_9" xl:href="#Gradient" gradientTransform="translate(540 418.5) scale(205.29324)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient" gradientTransform="translate(522.81 337.5) scale(133.51495)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient_2" gradientTransform="translate(399.63538 324) scale(21.756296)"/><radialGradient id="Obj_Gradient_c" xl:href="#Gradient_2" gradientTransform="translate(425.25 324) scale(19.091883)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient_2" gradientTransform="translate(502.56 324) scale(19.091883)"/><radialGradient id="Obj_Gradient_e" xl:href="#Gradient_2" gradientTransform="translate(475.56 324) scale(19.091883)"/><radialGradient id="Obj_Gradient_f" xl:href="#Gradient_2" gradientTransform="translate(399.79288 387) scale(21.756296)"/><radialGradient id="Obj_Gradient_10" xl:href="#Gradient_2" gradientTransform="translate(425.4075 387) scale(19.091883)"/><radialGradient id="Obj_Gradient_11" xl:href="#Gradient_2" gradientTransfo
 rm="translate(502.7175 387) scale(19.091883)"/><radialGradient id="Obj_Gradient_12" xl:href="#Gradient_2" gradientTransform="translate(475.7175 387) scale(19.091883)"/><radialGradient id="Obj_Gradient_13" xl:href="#Gradient" gradientTransform="translate(540 621) scale(205.29324)"/><radialGradient id="Obj_Gradient_14" xl:href="#Gradient" gradientTransform="translate(522.81 540) scale(133.51495)"/><radialGradient id="Obj_Gradient_15" xl:href="#Gradient_2" gradientTransform="translate(427.5 526.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_16" xl:href="#Gradient_2" gradientTransform="translate(400.5 526.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_17" xl:href="#Gradient_2" gradientTransform="translate(399.79288 589.5) scale(21.756296)"/><radialGradient id="Obj_Gradient_18" xl:href="#Gradient_2" gradientTransform="translate(425.4075 589.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_19" xl:href="#Gradient_2" gradientTransform="translate(502.7175 589.5) scale(1
 9.091883)"/><radialGradient id="Obj_Gradient_1a" xl:href="#Gradient_2" gradientTransform="translate(475.7175 589.5) scale(19.091883)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M 11.7222214 0 L 0 -4.395833 L 0 4.395833 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>HA</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Sh
 adow)"/><xl:use xl:href="#id13_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id16_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id17_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id19_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id20_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id22_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id23_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id24_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id25_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id26_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id27_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id29_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id30_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id32_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id33_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id34_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id35_Graphic" filter="url(#Shadow)"/
 ></g><g id="id3_Graphic"><path d="M 114.66 306 L 299.34 306 C 303.01822 306 306 308.98178 306 312.66 L 306 551.34 C 306 555.0182 303.01822 558 299.34 558 L 114.66 558 C 110.981783 558 108 555.0182 108 551.34 L 108 312.66 C 108 308.98178 110.981783 306 114.66 306 Z" fill="url(#Obj_Gradient)"/><path d="M 114.66 306 L 299.34 306 C 303.01822 306 306 308.98178 306 312.66 L 306 551.34 C 306 555.0182 303.01822 558 299.34 558 L 114.66 558 C 110.981783 558 108 555.0182 108 551.34 L 108 312.66 C 108 308.98178 110.981783 306 114.66 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(112 310)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="105.993164" y="14" textLength="84.006836">Member (M1)</tspan></text></g><g id="id4_Graphic"><path d="M 132.66 342 L 282.15 342 C 285.82822 342 288.81 344.98178 288.81 348.66 L 288.81 407.34 C 288.81 411.01822 285.82822 414 282.15 414 L 132.66 
 414 C 128.98178 414 126 411.01822 126 407.34 L 126 348.66 C 126 344.98178 128.98178 342 132.66 342 Z" fill="url(#Obj_Gradient_2)"/><path d="M 132.66 342 L 282.15 342 C 285.82822 342 288.81 344.98178 288.81 348.66 L 288.81 407.34 C 288.81 411.01822 285.82822 414 282.15 414 L 132.66 414 C 128.98178 414 126 411.01822 126 407.34 L 126 348.66 C 126 344.98178 128.98178 342 132.66 342 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(128 344)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="40.378145" y="10" textLength="73.930664">Partition Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="113.761934" y="10" textLength="6.669922">A</tspan></text></g><rect x="135" y="364.5" width="76.185" height="40.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(137 366.5)" fill
 ="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="6.321992" y="9" textLength="61.541016">secondary data</tspan></text><g id="id6_Graphic"><path d="M 152.44052 384.9185 L 146.92157 384.26076 L 148.77482 389.42455 L 144.86462 393.27286 L 150.05731 395.0435 L 150.62807 400.5 L 155.25 397.54417 L 159.87193 400.5 L 160.44269 395.0435 L 165.63538 393.27286 L 161.72518 389.42455 L 163.57843 384.26152 L 158.13173 384.9185 L 155.25 380.25 Z" fill="url(#Obj_Gradient_3)"/><path d="M 152.44052 384.9185 L 146.92157 384.26076 L 148.77482 389.42455 L 144.86462 393.27286 L 150.05731 395.0435 L 150.62807 400.5 L 155.25 397.54417 L 159.87193 400.5 L 160.44269 395.0435 L 165.63538 393.27286 L 161.72518 389.42455 L 163.57843 384.26152 L 158.13173 384.9185 L 155.25 380.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(148.5 386.875)" fill="black"><tspan font-family="Helvetica" font-size="9" fon
 t-weight="500" fill="black" x="2.5026855" y="9" textLength="8.494629">W</tspan></text></g><g id="id7_Graphic"><path d="M 179.91 382.5 L 184.59 382.5 C 188.26822 382.5 191.25 385.48178 191.25 389.16 L 191.25 393.84 C 191.25 397.51822 188.26822 400.5 184.59 400.5 L 179.91 400.5 C 176.23178 400.5 173.25 397.51822 173.25 393.84 L 173.25 389.16 C 173.25 385.48178 176.23178 382.5 179.91 382.5 Z" fill="url(#Obj_Gradient_4)"/><path d="M 179.91 382.5 L 184.59 382.5 C 188.26822 382.5 191.25 385.48178 191.25 389.16 L 191.25 393.84 C 191.25 397.51822 188.26822 400.5 184.59 400.5 L 179.91 400.5 C 176.23178 400.5 173.25 397.51822 173.25 393.84 L 173.25 389.16 C 173.25 385.48178 176.23178 382.5 179.91 382.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(177.25 386)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><path d="M
  126 441 L 288 441 L 288 494.5275 L 126 494.5275 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><text transform="translate(128 443)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="52.016602" y="10" textLength="41.137695">Logical V</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="92.978516" y="10" textLength="15.004883">iew</tspan></text><g id="id9_Graphic"><path d="M 152.59802 465.446 L 147.07907 464.78826 L 148.93232 469.95205 L 145.02212 473.80036 L 150.21481 475.571 L 150.78557 481.0275 L 155.4075 478.07167 L 160.02943 481.0275 L 160.60019 475.571 L 165.79288 473.80036 L 161.88268 469.95205 L 163.73593 464.78902 L 158.28923 465.446 L 155.4075 460.7775 Z" fill="url(#Obj_Gradient_5)"/><path d="M 152.59802 465.446 L 147.07907 464.78826 L 148.93232 469.95205 L 145.02212 473.80036 L 150.21481 475.571 L 150.78557 481.0275 L 155.4075 47
 8.07167 L 160.02943 481.0275 L 160.60019 475.571 L 165.79288 473.80036 L 161.88268 469.95205 L 163.73593 464.78902 L 158.28923 465.446 L 155.4075 460.7775 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(148.6575 467.4025)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.5026855" y="9" textLength="8.494629">W</tspan></text></g><g id="id10_Graphic"><path d="M 180.0675 463.0275 L 184.7475 463.0275 C 188.42572 463.0275 191.4075 466.00928 191.4075 469.6875 L 191.4075 474.3675 C 191.4075 478.04572 188.42572 481.0275 184.7475 481.0275 L 180.0675 481.0275 C 176.38928 481.0275 173.4075 478.04572 173.4075 474.3675 L 173.4075 469.6875 C 173.4075 466.00928 176.38928 463.0275 180.0675 463.0275 Z" fill="url(#Obj_Gradient_6)"/><path d="M 180.0675 463.0275 L 184.7475 463.0275 C 188.42572 463.0275 191.4075 466.00928 191.4075 469.6875 L 191.4075 474.3675 C 191.4075 478.04572 188.42572
  481.0275 184.7475 481.0275 L 180.0675 481.0275 C 176.38928 481.0275 173.4075 478.04572 173.4075 474.3675 L 173.4075 469.6875 C 173.4075 466.00928 176.38928 463.0275 180.0675 463.0275 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(177.4075 466.5275)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id11_Graphic"><rect x="250.7175" y="463.0275" width="18" height="18" fill="url(#Obj_Gradient_7)"/><rect x="250.7175" y="463.0275" width="18" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(254.7175 466.5275)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.2512207" y="9" textLength="5.4975586">Z</tspan></text></g><g id="id12_Graphic"><path d="M 232.7175 463.0275 L 232.7175 463.0275 C 
 237.68806 463.0275 241.7175 467.05694 241.7175 472.0275 L 241.7175 472.0275 C 241.7175 476.99806 237.68806 481.0275 232.7175 481.0275 L 232.7175 481.0275 C 227.74694 481.0275 223.7175 476.99806 223.7175 472.0275 L 223.7175 472.0275 C 223.7175 467.05694 227.74694 463.0275 232.7175 463.0275 Z" fill="url(#Obj_Gradient_8)"/><path d="M 232.7175 463.0275 L 232.7175 463.0275 C 237.68806 463.0275 241.7175 467.05694 241.7175 472.0275 L 241.7175 472.0275 C 241.7175 476.99806 237.68806 481.0275 232.7175 481.0275 L 232.7175 481.0275 C 227.74694 481.0275 223.7175 476.99806 223.7175 472.0275 L 223.7175 472.0275 C 223.7175 467.05694 227.74694 463.0275 232.7175 463.0275 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(227.7175 466.5275)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><g id="id13_Graphic"><path d="M 348.66 229
 .5 L 533.34 229.5 C 537.01822 229.5 540 232.48178 540 236.16 L 540 411.84 C 540 415.51822 537.01822 418.5 533.34 418.5 L 348.66 418.5 C 344.98178 418.5 342 415.51822 342 411.84 L 342 236.16 C 342 232.48178 344.98178 229.5 348.66 229.5 Z" fill="url(#Obj_Gradient_9)"/><path d="M 348.66 229.5 L 533.34 229.5 C 537.01822 229.5 540 232.48178 540 236.16 L 540 411.84 C 540 415.51822 537.01822 418.5 533.34 418.5 L 348.66 418.5 C 344.98178 418.5 342 415.51822 342 411.84 L 342 236.16 C 342 232.48178 344.98178 229.5 348.66 229.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(346 233.5)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="105.993164" y="14" textLength="84.006836">Member (M2)</tspan></text></g><g id="id14_Graphic"><path d="M 366.66 265.5 L 516.15 265.5 C 519.82822 265.5 522.81 268.48178 522.81 272.16 L 522.81 330.84 C 522.81 334.51822 519.82822 337.5 516.15 337.5 L 36
 6.66 337.5 C 362.98178 337.5 360 334.51822 360 330.84 L 360 272.16 C 360 268.48178 362.98178 265.5 366.66 265.5 Z" fill="url(#Obj_Gradient_a)"/><path d="M 366.66 265.5 L 516.15 265.5 C 519.82822 265.5 522.81 268.48178 522.81 272.16 L 522.81 330.84 C 522.81 334.51822 519.82822 337.5 516.15 337.5 L 366.66 337.5 C 362.98178 337.5 360 334.51822 360 330.84 L 360 272.16 C 360 268.48178 362.98178 265.5 366.66 265.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(362 267.5)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="40.378145" y="10" textLength="73.930664">Partition Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="113.761934" y="10" textLength="6.669922">A</tspan></text></g><rect x="369" y="288" width="67.5" height="40.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transfor
 m="translate(371 290)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="7.7407227" y="9" textLength="50.018555">primary data</tspan></text><g id="id16_Graphic"><path d="M 386.44052 308.4185 L 380.92157 307.76076 L 382.77482 312.92455 L 378.86462 316.77286 L 384.0573 318.5435 L 384.62807 324 L 389.25 321.04417 L 393.87193 324 L 394.4427 318.5435 L 399.63538 316.77286 L 395.72518 312.92455 L 397.57843 307.76152 L 392.13173 308.4185 L 389.25 303.75 Z" fill="url(#Obj_Gradient_b)"/><path d="M 386.44052 308.4185 L 380.92157 307.76076 L 382.77482 312.92455 L 378.86462 316.77286 L 384.0573 318.5435 L 384.62807 324 L 389.25 321.04417 L 393.87193 324 L 394.4427 318.5435 L 399.63538 316.77286 L 395.72518 312.92455 L 397.57843 307.76152 L 392.13173 308.4185 L 389.25 303.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(382.5 310.375)" fill="black"><tspan font-family="Helvetica" fo
 nt-size="9" font-weight="500" fill="black" x="2.5026855" y="9" textLength="8.494629">W</tspan></text></g><g id="id17_Graphic"><path d="M 413.91 306 L 418.59 306 C 422.26822 306 425.25 308.98178 425.25 312.66 L 425.25 317.34 C 425.25 321.01822 422.26822 324 418.59 324 L 413.91 324 C 410.23178 324 407.25 321.01822 407.25 317.34 L 407.25 312.66 C 407.25 308.98178 410.23178 306 413.91 306 Z" fill="url(#Obj_Gradient_c)"/><path d="M 413.91 306 L 418.59 306 C 422.26822 306 425.25 308.98178 425.25 312.66 L 425.25 317.34 C 425.25 321.01822 422.26822 324 418.59 324 L 413.91 324 C 410.23178 324 407.25 321.01822 407.25 317.34 L 407.25 312.66 C 407.25 308.98178 410.23178 306 413.91 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(411.25 309.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><rect x="442.125" y="288" wi
 dth="71.685" height="40.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(444.125 290)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="4.0719922" y="9" textLength="61.541016">secondary data</tspan></text><g id="id19_Graphic"><rect x="484.56" y="306" width="18" height="18" fill="url(#Obj_Gradient_d)"/><rect x="484.56" y="306" width="18" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(488.56 309.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.2512207" y="9" textLength="5.4975586">Z</tspan></text></g><g id="id20_Graphic"><path d="M 466.56 306 L 466.56 306 C 471.53056 306 475.56 310.02944 475.56 315 L 475.56 315 C 475.56 319.97056 471.53056 324 466.56 324 L 466.56 324 C 461.58944 324 457.56 319.97056 457.56 315 L 457.56 315 C 457.56 310.02944 46
 1.58944 306 466.56 306 Z" fill="url(#Obj_Gradient_e)"/><path d="M 466.56 306 L 466.56 306 C 471.53056 306 475.56 310.02944 475.56 315 L 475.56 315 C 475.56 319.97056 471.53056 324 466.56 324 L 466.56 324 C 461.58944 324 457.56 319.97056 457.56 315 L 457.56 315 C 457.56 310.02944 461.58944 306 466.56 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(461.56 309.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><path d="M 360 346.9725 L 522 346.9725 L 522 400.5 L 360 400.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><text transform="translate(362 348.9725)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="102.033203" y="10" textLength="41.137695">Logical V</tspan><tspan font-family="Helvetica" f
 ont-size="10" font-weight="500" fill="black" x="142.99512" y="10" textLength="15.004883">iew</tspan></text><g id="id22_Graphic"><path d="M 386.59802 371.4185 L 381.07907 370.76076 L 382.93232 375.92455 L 379.02212 379.77286 L 384.2148 381.5435 L 384.78557 387 L 389.4075 384.04417 L 394.02943 387 L 394.6002 381.5435 L 399.79288 379.77286 L 395.88268 375.92455 L 397.73593 370.76152 L 392.28923 371.4185 L 389.4075 366.75 Z" fill="url(#Obj_Gradient_f)"/><path d="M 386.59802 371.4185 L 381.07907 370.76076 L 382.93232 375.92455 L 379.02212 379.77286 L 384.2148 381.5435 L 384.78557 387 L 389.4075 384.04417 L 394.02943 387 L 394.6002 381.5435 L 399.79288 379.77286 L 395.88268 375.92455 L 397.73593 370.76152 L 392.28923 371.4185 L 389.4075 366.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(382.6575 373.375)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.5026855" y="9" t
 extLength="8.494629">W</tspan></text></g><g id="id23_Graphic"><path d="M 414.0675 369 L 418.7475 369 C 422.42572 369 425.4075 371.98178 425.4075 375.66 L 425.4075 380.34 C 425.4075 384.01822 422.42572 387 418.7475 387 L 414.0675 387 C 410.38928 387 407.4075 384.01822 407.4075 380.34 L 407.4075 375.66 C 407.4075 371.98178 410.38928 369 414.0675 369 Z" fill="url(#Obj_Gradient_10)"/><path d="M 414.0675 369 L 418.7475 369 C 422.42572 369 425.4075 371.98178 425.4075 375.66 L 425.4075 380.34 C 425.4075 384.01822 422.42572 387 418.7475 387 L 414.0675 387 C 410.38928 387 407.4075 384.01822 407.4075 380.34 L 407.4075 375.66 C 407.4075 371.98178 410.38928 369 414.0675 369 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(411.4075 372.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id24_Graphic"><rect x="484.717
 5" y="369" width="18" height="18" fill="url(#Obj_Gradient_11)"/><rect x="484.7175" y="369" width="18" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(488.7175 372.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.2512207" y="9" textLength="5.4975586">Z</tspan></text></g><g id="id25_Graphic"><path d="M 466.7175 369 L 466.7175 369 C 471.68806 369 475.7175 373.02944 475.7175 378 L 475.7175 378 C 475.7175 382.97056 471.68806 387 466.7175 387 L 466.7175 387 C 461.74694 387 457.7175 382.97056 457.7175 378 L 457.7175 378 C 457.7175 373.02944 461.74694 369 466.7175 369 Z" fill="url(#Obj_Gradient_12)"/><path d="M 466.7175 369 L 466.7175 369 C 471.68806 369 475.7175 373.02944 475.7175 378 L 475.7175 378 C 475.7175 382.97056 471.68806 387 466.7175 387 L 466.7175 387 C 461.74694 387 457.7175 382.97056 457.7175 378 L 457.7175 378 C 457.7175 373.02944 461.74694 369 466.
 7175 369 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(461.7175 372.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><g id="id26_Graphic"><path d="M 348.66 432 L 533.34 432 C 537.01822 432 540 434.98178 540 438.66 L 540 614.34 C 540 618.0182 537.01822 621 533.34 621 L 348.66 621 C 344.98178 621 342 618.0182 342 614.34 L 342 438.66 C 342 434.98178 344.98178 432 348.66 432 Z" fill="url(#Obj_Gradient_13)"/><path d="M 348.66 432 L 533.34 432 C 537.01822 432 540 434.98178 540 438.66 L 540 614.34 C 540 618.0182 537.01822 621 533.34 621 L 348.66 621 C 344.98178 621 342 618.0182 342 614.34 L 342 438.66 C 342 434.98178 344.98178 432 348.66 432 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(346 436)" fill="black"><tspan font-family="Helvetica"
  font-size="14" font-weight="500" fill="black" x="105.993164" y="14" textLength="84.006836">Member (M3)</tspan></text></g><g id="id27_Graphic"><path d="M 366.66 468 L 516.15 468 C 519.82822 468 522.81 470.98178 522.81 474.66 L 522.81 533.34 C 522.81 537.01822 519.82822 540 516.15 540 L 366.66 540 C 362.98178 540 360 537.01822 360 533.34 L 360 474.66 C 360 470.98178 362.98178 468 366.66 468 Z" fill="url(#Obj_Gradient_14)"/><path d="M 366.66 468 L 516.15 468 C 519.82822 468 522.81 470.98178 522.81 474.66 L 522.81 533.34 C 522.81 537.01822 519.82822 540 516.15 540 L 366.66 540 C 362.98178 540 360 537.01822 360 533.34 L 360 474.66 C 360 470.98178 362.98178 468 366.66 468 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(362 470)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="40.378145" y="10" textLength="73.930664">Partition Region </tspan><tspan font-family="Helvetica" f
 ont-size="10" font-weight="500" fill="black" x="113.761934" y="10" textLength="6.669922">A</tspan></text></g><rect x="367.065" y="490.5" width="76.185" height="40.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(369.065 492.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="12.083223" y="9" textLength="50.018555">primary data</tspan></text><g id="id29_Graphic"><rect x="409.5" y="508.5" width="18" height="18" fill="url(#Obj_Gradient_15)"/><rect x="409.5" y="508.5" width="18" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(413.5 512)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.2512207" y="9" textLength="5.4975586">Z</tspan></text></g><g id="id30_Graphic"><path d="M 391.5 508.5 L 391.5 508.5 C 396.47056 508.5 400.5 512.52944 400.5 517.5 L 400
 .5 517.5 C 400.5 522.47056 396.47056 526.5 391.5 526.5 L 391.5 526.5 C 386.52944 526.5 382.5 522.47056 382.5 517.5 L 382.5 517.5 C 382.5 512.52944 386.52944 508.5 391.5 508.5 Z" fill="url(#Obj_Gradient_16)"/><path d="M 391.5 508.5 L 391.5 508.5 C 396.47056 508.5 400.5 512.52944 400.5 517.5 L 400.5 517.5 C 400.5 522.47056 396.47056 526.5 391.5 526.5 L 391.5 526.5 C 386.52944 526.5 382.5 522.47056 382.5 517.5 L 382.5 517.5 C 382.5 512.52944 386.52944 508.5 391.5 508.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(386.5 512)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><path d="M 360 549.4725 L 522 549.4725 L 522 603 L 360 603 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><text transform="translate(362 551.4725)" fill="black"><tspan font-
 family="Helvetica" font-size="10" font-weight="500" fill="black" x="102.033203" y="10" textLength="41.137695">Logical V</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="142.99512" y="10" textLength="15.004883">iew</tspan></text><g id="id32_Graphic"><path d="M 386.59802 573.9185 L 381.07907 573.26076 L 382.93232 578.42455 L 379.02212 582.27286 L 384.2148 584.0435 L 384.78557 589.5 L 389.4075 586.54417 L 394.02943 589.5 L 394.6002 584.0435 L 399.79288 582.27286 L 395.88268 578.42455 L 397.73593 573.26152 L 392.28923 573.9185 L 389.4075 569.25 Z" fill="url(#Obj_Gradient_17)"/><path d="M 386.59802 573.9185 L 381.07907 573.26076 L 382.93232 578.42455 L 379.02212 582.27286 L 384.2148 584.0435 L 384.78557 589.5 L 389.4075 586.54417 L 394.02943 589.5 L 394.6002 584.0435 L 399.79288 582.27286 L 395.88268 578.42455 L 397.73593 573.26152 L 392.28923 573.9185 L 389.4075 569.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width="
 .72000003"/><text transform="translate(382.6575 575.875)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.5026855" y="9" textLength="8.494629">W</tspan></text></g><g id="id33_Graphic"><path d="M 414.0675 571.5 L 418.7475 571.5 C 422.42572 571.5 425.4075 574.4818 425.4075 578.16 L 425.4075 582.84 C 425.4075 586.5182 422.42572 589.5 418.7475 589.5 L 414.0675 589.5 C 410.38928 589.5 407.4075 586.5182 407.4075 582.84 L 407.4075 578.16 C 407.4075 574.4818 410.38928 571.5 414.0675 571.5 Z" fill="url(#Obj_Gradient_18)"/><path d="M 414.0675 571.5 L 418.7475 571.5 C 422.42572 571.5 425.4075 574.4818 425.4075 578.16 L 425.4075 582.84 C 425.4075 586.5182 422.42572 589.5 418.7475 589.5 L 414.0675 589.5 C 410.38928 589.5 407.4075 586.5182 407.4075 582.84 L 407.4075 578.16 C 407.4075 574.4818 410.38928 571.5 414.0675 571.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(411.4075 5
 75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id34_Graphic"><rect x="484.7175" y="571.5" width="18" height="18" fill="url(#Obj_Gradient_19)"/><rect x="484.7175" y="571.5" width="18" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(488.7175 575)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.2512207" y="9" textLength="5.4975586">Z</tspan></text></g><g id="id35_Graphic"><path d="M 466.7175 571.5 L 466.7175 571.5 C 471.68806 571.5 475.7175 575.52944 475.7175 580.5 L 475.7175 580.5 C 475.7175 585.47056 471.68806 589.5 466.7175 589.5 L 466.7175 589.5 C 461.74694 589.5 457.7175 585.47056 457.7175 580.5 L 457.7175 580.5 C 457.7175 575.52944 461.74694 571.5 466.7175 571.5 Z" fill="url(#Obj_Gradient_1a)"/><path d="M 466.7175 571.5 L 466.7175 571.5 C 
 471.68806 571.5 475.7175 575.52944 475.7175 580.5 L 475.7175 580.5 C 475.7175 585.47056 471.68806 589.5 466.7175 589.5 L 466.7175 589.5 C 461.74694 589.5 457.7175 585.47056 457.7175 580.5 L 457.7175 580.5 C 457.7175 575.52944 461.74694 571.5 466.7175 571.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(461.7175 575)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><rect x="126" y="521.76375" width="162" height="17.76375" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(128 523.76375)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="55.53955" y="10" textLength="48.920898">Application</tspan></text><path d="M 150.75 519.51375 C 150.75 510.4547 154.42011 508.09364 155.26386 501.29934 C 155.558515 498.
 92664 155.50848 496.0133 155.366485 493.22627" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 155.4075 456.2775 C 164.20484 442.33312 164.20484 421.41656 164.20443 410.95828 C 164.204335 408.44176 164.20421 406.53077 164.07934 405.07962" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(154.75 422)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="4.9934082" y="9" textLength="18.013184">read</tspan></text><path d="M 228.2175 519.2775 C 228.2175 510.21843 231.88761 507.85738 232.73136 501.06308 C 233.02601 498.69038 232.97598 495.77704 232.83398 492.99" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 255.2175 519.2775 C 255.2175 510.21843 258.88761 507.85738 
 259.73136 501.06308 C 260.02601 498.69038 259.97598 495.77704 259.83398 492.99" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 232.7175 458.5275 C 240.75 436.5 275.46179 407.81225 332.03241 389.24975 C 383.10619 372.49093 451.99722 363.98526 464.5553 335.998" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(310 397.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="4.9934082" y="9" textLength="18.013184">read</tspan></text><path d="M 259.7175 460.7775 C 263.63962 460.28414 322.45429 460.36962 360.04438 460.59617 C 394.66471 460.8048 411.28164 461.1331 417.20665 496.3852" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(310 440)" fill="blac
 k"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="4.9934082" y="9" textLength="18.013184">read</tspan></text></g></g></svg>


[27/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/how_cache_transactions_work.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/how_cache_transactions_work.html.md.erb b/geode-docs/developing/transactions/how_cache_transactions_work.html.md.erb
new file mode 100644
index 0000000..fb914be
--- /dev/null
+++ b/geode-docs/developing/transactions/how_cache_transactions_work.html.md.erb
@@ -0,0 +1,56 @@
+---
+title: How Geode Cache Transactions Work
+---
+<a id="topic_fls_1j1_wk"></a>
+
+
+This section provides an explanation of how transactions work on Geode caches.
+
+All the regions in a Geode member cache can participate in a transaction. A Java application can operate on the cache using multiple transactions. A transaction is associated with only one thread, and a thread can operate on only one transaction at a time. Child threads do not inherit existing transactions.
+
+-   **[Transaction View](../../developing/transactions/how_cache_transactions_work.html#concept_hls_1j1_wk)**
+
+-   **[Committing Transactions](../../developing/transactions/how_cache_transactions_work.html#concept_sbj_lj1_wk)**
+
+-   **[Transactions by Region Type](../../developing/transactions/cache_transactions_by_region_type.html#topic_nlq_sk1_wk)**
+
+-   **[Client Transactions](../../developing/transactions/client_server_transactions.html)**
+
+-   **[Comparing Transactional and Non-Transactional Operations](../../developing/transactions/transactional_and_nontransactional_ops.html#transactional_and_nontransactional_ops)**
+
+-   **[Geode Cache Transaction Semantics](../../developing/transactions/transaction_semantics.html)**
+
+## Transaction View
+
+A transaction is isolated from changes made concurrently to the cache. Each transaction has its own private view of the cache, including the entries it has read and the changes it has made. The first time the transaction touches an entry in the cache, either to read or write, it produces a snapshot of that entry\u2019s state in the transaction\u2019s view. The transaction maintains its current view of the entry, which reflects only the changes made within the transaction. The transaction remembers the entry\u2019s original state and uses it at commit time to discover write conflicts.
+
+<img src="../../images/Transaction-simple.png" id="concept_hls_1j1_wk__image_D21EF847CD1D4B64AD1786033FB44F5C" class="image" />
+
+## Committing Transactions
+
+When a commit succeeds, the changes recorded in the transaction view are merged into the cache. If the commit fails or the transaction is rolled back, all of its changes are dropped.
+
+When a transaction is committed, the transaction management system uses a two-phase commit protocol:
+
+1.  Reserves all the entries involved in the transaction from changes by any other transactional thread. For distributed regions, it reserves the entries in the entire distributed system. For partitioned regions, it reserves them on the data store, where the transaction is running.
+2.  Checks the cache for conflicts on affected keys, to make sure all entries are still in the same state they were in when this transaction first accessed them.
+3.  If any conflict is detected, the manager rolls back the transaction.
+4.  If no conflict is detected, the manager:
+    1.  Calls the `TransactionWriter` in the member where the transaction is running. This allows the system to write through transactional updates to an external data source.
+    2.  Updates the local cache and distributes the updates to the other members holding the data. Cache listeners are called for these updates, in each cache where the changes are made, the same as for non-transactional operations.
+    3.  Calls the `TransactionListener`s in the member where the transaction is running.
+
+5.  Releases the transaction reservations on the entries.
+
+The manager updates the local cache and distributes the updates to other members in a non-atomic way.
+
+-   If other threads read the keys the transaction is modifying, they may see some in their pre-transaction state and some in their post-transaction state.
+-   If other, non-transactional sources update the keys the transaction is modifying, the changes may intermingle with this transaction\u2019s changes. The other sources can include distributions from remote members, loading activities, and other direct cache modification calls from the same member. When this happens, after your commit finishes, the cache state may not be what you expected.
+
+If the transaction fails to complete any of the steps, a CommitConflictException is thrown to the calling application.
+
+Once the members involved in the transaction have been asked to commit, the transaction completes even if one of the participating members were to leave the system during the commit. The transaction completes successfully so long as all remaining members are in agreement.
+
+Each member participating in the transaction maintains a membership listener on the transaction coordinator. If the transaction coordinator goes away after issuing the final commit call, the transaction completes in the remaining members.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/jca_adapter_example.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/jca_adapter_example.html.md.erb b/geode-docs/developing/transactions/jca_adapter_example.html.md.erb
new file mode 100644
index 0000000..1e562cd
--- /dev/null
+++ b/geode-docs/developing/transactions/jca_adapter_example.html.md.erb
@@ -0,0 +1,34 @@
+---
+title:  JCA Resource Adapter Example
+---
+
+This example shows how to use the JCA Resource Adapter in Geode .
+
+``` pre
+Hashtable env = new Hashtable();
+env.put(Context.INITIAL_CONTEXT_FACTORY, \u201cweblogic.jndi.WLInitialContextFactory\u201d);
+env.put(Context.PROVIDER_URL, \u201ct3://localhost:7001\u201d);
+Context ctx = new InitialContext(env);
+UserTransaction utx = (UserTransaction) ctx.lookup(\u201cjavax.transaction.UserTransaction\u201d);
+utx.begin();
+      // the XA Resource
+javax.sql.DataSource ds = (DataSource) ctx.lookup(\u201cderby\u201d);
+javax.sql.Connection derbyConn = ds.getConnection();
+Statement stmt = conn.createStatement();
+stmt.executeUpdate(\u201cinsert into test values(2,4) \u201c);
+     // do ConnectionFactory lookup
+GFConnectionFactory cf = (GFConnectionFactory) ctx.lookup(\u201cgfe/jca\u201d);
+
+     // Obtaining the connection begins the LocalTransaction.
+     // If this is absent, operations will not be part of any transaction.
+GFConnection conn = cf.getConnection();
+
+testRegion.put(\u201cfoo\u201d, \u201cbar-\u201d);
+utx.commit();
+
+     // the connection can also be closed within the transaction
+derbyConn.close();
+conn.close();
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/monitor_troubleshoot_transactions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/monitor_troubleshoot_transactions.html.md.erb b/geode-docs/developing/transactions/monitor_troubleshoot_transactions.html.md.erb
new file mode 100644
index 0000000..6cb1b6c
--- /dev/null
+++ b/geode-docs/developing/transactions/monitor_troubleshoot_transactions.html.md.erb
@@ -0,0 +1,39 @@
+---
+title:  Monitoring and Troubleshooting Transactions
+---
+
+This topic covers errors that may occur when running transactions in Geode.
+
+<a id="monitor_troubleshoot_transactions__section_881D2FF6761B4D689DDB46C650E2A2E1"></a>
+Unlike database transactions, Geode does not write a transaction log to disk. To get the full details about committed operations, use a transaction listener to monitor the transaction events and their contained cache events for each of your transactions.
+
+## <a id="monitor_troubleshoot_transactions__section_2B66338C851A4FF386B60CC5CF4DCF77" class="no-quick-link"></a>Statistics on Cache Transactions
+
+During the operation of Geode cache transactions, if statistics are enabled, transaction-related statistics are calculated and accessible from the CachePerfStats statistic resource. Because the transaction\u2019s data scope is the cache, these statistics are collected on a per-cache basis.
+
+## <a id="monitor_troubleshoot_transactions__section_EA9277E6CFD7423F95BA4D04955FDE2A" class="no-quick-link"></a>Commit
+
+In a failed commit, the exception lists the first conflict that caused the failure. Other conflicts can exist, but are not reported.
+
+## Capacity Limits
+
+A transaction can create data beyond the capacity limit set in the region\u2019s eviction attributes. The capacity limit does not take effect until commit time. Then, any required eviction action takes place as part of the commit.
+
+## <a id="monitor_troubleshoot_transactions__section_C7588E4F143B4D7FAFAEDCF5AE4FF2C8" class="no-quick-link"></a>Interaction with the Resource Manager
+
+The Geode resource manager, which controls overall heap use, either allows all transactional operations or blocks the entire transaction. If a cache reaches the critical threshold in the middle of a commit, the commit is allowed to finish before the manager starts blocking operations.
+
+## <a id="monitor_troubleshoot_transactions__section_8942ABA6F23C4ED58877C894B13F4F21" class="no-quick-link"></a>Transaction Exceptions
+
+The following sections list possible transaction exceptions.
+
+**Exceptions Indicating Transaction Failure**
+
+-   **`TransactionDataNodeHasDepartedException`**. This exception means the transaction host has departed unexpectedly. Clients and members that run transactions but are not a transaction host can get this exception. You can avoid this by working to ensure your transaction hosts are stable and remain running when transactions are in progress.
+-   **`TransactionDataNotColocatedException`**. You will get this error if you try to run a transaction on data that is not all located in the same member. Partition your data so that a single member contains all data that will be accessed as part of a single transaction. See [Transactions and Partitioned Regions](cache_transactions_by_region_type.html#concept_ysk_xj1_wk) and [Understanding Custom Partitioning and Data Colocation](../partitioned_regions/custom_partitioning_and_data_colocation.html#custom_partitioning_and_data_colocation).
+-   **`TransactionDataRebalancedException`**. You get this error if your transactional data is moved to another member for rebalancing during the transaction. Manage your partitioned region data to avoid rebalancing during a transaction. See [Rebalancing Partitioned Region Data](../partitioned_regions/rebalancing_pr_data.html#rebalancing_pr_data).
+
+**Exceptions Indicating Unknown Transaction Outcome**
+
+-   **`TransactionInDoubtException`**. Some of the transactional operations may have succeeded and some may have failed. This can happen to clients and to any member running a transaction on another data host. To manage this, you may want to install cache listeners in the members running the transaction code. Use the listeners to monitor and record the changes you receive from your transactions so you can recover as needed if you get this exception.
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/run_a_cache_transaction.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/run_a_cache_transaction.html.md.erb b/geode-docs/developing/transactions/run_a_cache_transaction.html.md.erb
new file mode 100644
index 0000000..35ae027
--- /dev/null
+++ b/geode-docs/developing/transactions/run_a_cache_transaction.html.md.erb
@@ -0,0 +1,73 @@
+---
+title: How to Run a Geode Cache Transaction
+---
+<a id="task_f15_mr3_5k"></a>
+
+
+This topic describes how to run a Geode cache transaction.
+
+Applications manage transactions on a per-cache basis. A Geode cache transaction starts with a `CacheTransactionManager.begin` method and continues with a series of operations, which are typically region operations such as region create, update, clear and destroy. The begin, commit, and rollback are directly controlled by the application. A commit, failed commit, or voluntary rollback by the transaction manager ends the transaction.
+
+You can run transactions on any type of cache region except regions with **global** scope. An operation attempted on a region with global scope throws an `UnsupportedOperationException` exception.
+
+A transaction may not be nested within another transaction. An attempt to begin a nested transaction will throw an `IllegalStateException` exception.
+
+This discussion centers on transactions on replicated and partitioned regions. If you use non-replicated distributed regions, follow the guidelines for replicated regions.
+
+1. **Configure the cache copy-on-read behavior in the members hosting the transactional data, or perform cache updates that avoid in-place changes.** This allows the transaction manager to control when cache updates are visible outside the transaction. See [Setting Global Copy on Read](working_with_transactions.html#concept_vx2_gs4_5k).
+2. **Configure your regions for transactions in the members hosting the transactional data.**
+
+    | If you use...                                                                               | then you should...                                                                                                                                                                                                                                                                                                                                                                                            |
+    |---------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+    | **replicated regions**                                                                      | Use `distributed-ack` scope. The region shortcuts specifying `REPLICATE` use `distributed-ack` scope. This is particularly important if you have more than one data producer. With one data producer, you can safely use `distributed-no-ack`.                                                                                                                                                                        |
+    | **partitioned regions**                                                                     | Custom partition and colocate data among regions so all the data for any single transaction is hosted by a single member. If the transaction is run from a member other than the one hosting the data, the transaction will run by proxy in the member hosting the data. The partitioned region must be defined for the application that runs the transaction, but the data can be hosted in a remote member. |
+    | **persistent regions**                                                                      | Configure Geode to allow transactions on persistent regions. By default, the configuration does not allow transactions on persistent regions. Enable the use of transactions on persistent regions by setting the property `gemfire.ALLOW_PERSISTENT_TRANSACTIONS` to true.                                                                                              |
+    | **a mix of partitioned and replicated regions**                                             | Make sure any replicated region involved in the transaction is hosted on every member that hosts the partitioned region data. All data for a single transaction must reside within a single host.                                                                                                                                                                                                             |
+    | **delta propagation**                                                                       | Set the region attribute `cloning-enabled` to true. This lets Geode do conflict checks at commit time. Without this, the transaction will throw an `UnsupportedOperationInTransactionException ` exception.                                                                                                                                                                      |
+    | **global JTA transactions with only Geode cache transactions** | Set the region attribute `ignore-jta` to true for all regions that you do *not* want to participate in JTA global transactions. It is false by default. For instructions on how to run a JTA global transaction, see [JTA Global Transactions with Geode](JTA_transactions.html).   |
+
+3. **Update your cache event handler and transaction event handler implementations to handle your transactions.** 
+    Cache event handlers may be used with transactions. Cache listeners are called after the commit, instead of after each cache operation, and the cache listeners receive conflated transaction events. Cache writers and loaders are called as usual, at the time of the operation.
+
+    Follow these additional guidelines when writing cache event handler callbacks:
+    -   Make sure cache callbacks are transactionally aware, because a transactional operation could launch callbacks that are not transactional.
+    -   Make sure cache listeners will operate properly, given entry event conflation. Two events for the same key are conflated by removing the existing event and queuing the new event.
+
+    See [Using Cache Writer and Cache Listener Plug-Ins](working_with_transactions.html#concept_ysx_nf1_wk) for more information.
+
+    Transaction event handlers are available. Transaction event handlers are cache-wide. You can install one transaction writer and any number of transaction listeners. Follow these guidelines:
+<ul>
+    <li>Implement with synchronization for thread safety. Listener and writer handlers may be invoked at the same time by different threads for different transactions.</li>
+    <li>Keep transactional callback implementations lightweight, and avoid doing anything that might cause the callbacks to block.</li>
+</ul>
+    See [Configuring Transaction Plug-In Event Handlers](working_with_transactions.html#concept_ocw_vf1_wk) for more information.
+
+4. **Write the transaction code.** For example: 
+
+    ``` pre
+    CacheTransactionManager txManager =
+              cache.getCacheTransactionManager();
+
+    try {
+        txManager.begin();
+        // ... do work
+        txManager.commit();
+    } catch (CommitConflictException conflict) {
+        // ... do necessary work for a transaction that failed on commit
+    }
+    ```
+
+    Follow these guidelines when writing the transaction:
+    -   Start each transaction with a begin operation.
+    -   Consider whether you will want to suspend and resume the transaction. If some operations should not be part of the transaction, you may want to suspend the transaction while performing non-transactional operations. After the non-transactional operations are complete, you can resume the transaction. See [Basic Suspend and Resume Transaction Example](transaction_suspend_resume_example.html#concept_40AAC4332DCE4E4EB60C4BA141B729A4) for an example.
+    -   If your transaction operates on a mix of partitioned and replicated regions, do the first region operation on an entry of the partitioned region. This sets the host for the entire transaction.
+    -   If you did not configure copy-on-read to true, be sure all cache updates avoid in-place changes.
+    -   Take into account the behavior of transactional and non-transactional operations. All transactional operations that are run after the begin and before the commit or rollback are included in the transaction.
+    -   End each transaction with a commit or a rollback. Do not leave any transaction in an uncommitted or unrolled back state. Transactions do not time out, so they will remain for the life of the application.
+
+5. **Review all of your code for compatibility with transactions.** 
+    When you commit a transaction, while the commit is in process, the changes are visible in the distributed cache. This provides better performance than locking everything involved with the transaction updates, but it means that another process accessing data used in the transaction might get some data in the pre-transaction state and some in the post-transaction state.
+
+    For example, suppose keys 1 and 2 are modified within a transaction, such that both values change from A to B. In another thread, it is possible to read key 1 with value B and key 2 with value A, after the commit begins, but before the commit completes. This is possible due to the nature of Geode reads. This choice sacrifices atomic visibility in favor of performance; reads do not block writes, and writes do not block reads.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/run_a_cache_transaction_with_external_db.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/run_a_cache_transaction_with_external_db.html.md.erb b/geode-docs/developing/transactions/run_a_cache_transaction_with_external_db.html.md.erb
new file mode 100644
index 0000000..474c139
--- /dev/null
+++ b/geode-docs/developing/transactions/run_a_cache_transaction_with_external_db.html.md.erb
@@ -0,0 +1,37 @@
+---
+title:  How to Run a Geode Cache Transaction that Coordinates with an External Database
+---
+
+Coordinate a Geode cache transaction with an external database by using CacheWriter/CacheListener and TransactionWriter/TransactionListener plug-ins, **to provide an alternative to using JTA transactions**.
+
+There are a few things you should be careful about while working with Geode cache transactions and external databases:
+
+-   When you set up the JDBC connection, make sure that auto-commit is disabled. For example, in Java:
+
+    ``` pre
+    Connection getConnection() throws SQLException {
+        Connection con = ... // create the connection
+        con.setAutoCommit(false);
+        return con;
+    }
+    ```
+
+-   The BEGIN statement, database operations and the PREPARE statement must all happen in the same connection session. In order to accomplish this, you will need to obtain the same JDBC connection session across multiple CacheWriter and TransactionWriter/TransactionListener invocations. One way to do this would be to look up the connection (from a user managed Map) based on `cacheTransactionManager.getTransactionId()`.
+-   Make sure that the prepare transaction feature is enabled in your external database. It is disabled in PostgreSQL by default. In PostgreSQL, the following property must be modified to enable it:
+
+    ``` pre
+    max_prepared_transactions = 1 # 1 or more enables, zero (default) disables this feature.
+    ```
+
+Use the following procedure to write a Geode cache transaction that coordinates with an external database:
+
+1.  Configure Geode regions as necessary as described in [How to Run a Geode Cache Transaction](run_a_cache_transaction.html#task_f15_mr3_5k).
+2.  Begin the transaction.
+3.  If you have not previously committed a previous transaction in this connection, start a database transaction by issuing a BEGIN statement.
+4.  Perform Geode cache operations; each cache operation invokes the CacheWriter. Implement the CacheWriter to perform the corresponding external database operations.
+5.  Commit the transaction.
+    At this point, the TransactionWriter is invoked. The TransactionWriter returns a TransactionEvent, which contains all the operations in the transaction. Call PREPARE TRANSACTION within your TransactionWriter code.
+
+6.  After a transaction is successfully committed in Geode, the TransactionListener is invoked. The TransactionListener calls COMMIT PREPARED to commit the database transaction.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/transaction_coding_examples.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/transaction_coding_examples.html.md.erb b/geode-docs/developing/transactions/transaction_coding_examples.html.md.erb
new file mode 100644
index 0000000..f442e06
--- /dev/null
+++ b/geode-docs/developing/transactions/transaction_coding_examples.html.md.erb
@@ -0,0 +1,27 @@
+---
+title:  Transaction Coding Examples
+---
+
+This section provides several code examples for writing and executing transactions.
+
+-   **[Basic Transaction Example](../../developing/transactions/transactions_overview.html)**
+
+    This example operates on two replicated regions. It begins a transaction, updates one entry in each region, and commits the result.
+
+-   **[Basic Suspend and Resume Transaction Example](../../developing/transactions/transaction_suspend_resume_example.html)**
+
+    This example suspends and resumes a transaction.
+
+-   **[Transaction Embedded within a Function Example](../../developing/transactions/transactional_function_example.html)**
+
+    This example demonstrates a function that does transactional updates to Customer and Order regions.
+
+-   **[Geode JTA Transaction Example](../../developing/transactions/transaction_jta_gemfire_example.html)**
+
+    An example code fragment shows how to run a JTA global transaction using Geode as the JTA transaction manager.
+
+-   **[JCA Resource Adapter Example](../../developing/transactions/jca_adapter_example.html)**
+
+    This example shows how to use the JCA Resource Adapter in Geode .
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/transaction_event_management.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/transaction_event_management.html.md.erb b/geode-docs/developing/transactions/transaction_event_management.html.md.erb
new file mode 100644
index 0000000..9506f3d
--- /dev/null
+++ b/geode-docs/developing/transactions/transaction_event_management.html.md.erb
@@ -0,0 +1,39 @@
+---
+title:  How Transaction Events Are Managed
+---
+
+Transactional cache operations are handled somewhat differently inside transactions than out.
+
+#  During the Transaction
+
+While the transaction is running, each transactional operation is passed to the cache writer local to the transactional view, if one is available. As with cache operations outside of transactions, the cache writer can abort the operation. Each operation the cache writer allows is applied to the transactional view in the cache and appended to the CacheEvent list in the TransactionEvent object.
+
+## Event Conflation
+
+The cache events are conflated, so if a key already has an event in the list, that event is removed and the current operation is added to the end of the list. So this series of calls inside a transaction:
+
+``` pre
+    Region.create (A, W);
+    Region.put (A, valX);
+    Region.put (B, valQ);
+    Region.invalidate (A);
+    Region.put (A, valY);
+```
+
+results in these events stored in the CacheEvent list:
+
+``` pre
+    put (B, valQ)
+    put (A, valY)
+```
+
+# At commit and after commit
+
+When the transaction is committed, Geode passes the `TransactionEvent` to the transaction writer local to the transactional view, if one is available. After commit, Geode :
+    -   Passes the `TransactionEvent` to each installed transaction listener.
+    -   Walks the `CacheEvent` list, calling all locally installed listeners for each operation listed.
+    -   Distributes the `TransactionEvent` to all interested caches.
+        **Note:**
+        For Geode and global JTA transactions, the `EntryEvent` object contains the Geode transaction ID. JTA transaction events do not contain the JTA transaction ID.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/transaction_jta_gemfire_example.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/transaction_jta_gemfire_example.html.md.erb b/geode-docs/developing/transactions/transaction_jta_gemfire_example.html.md.erb
new file mode 100644
index 0000000..6795158
--- /dev/null
+++ b/geode-docs/developing/transactions/transaction_jta_gemfire_example.html.md.erb
@@ -0,0 +1,31 @@
+---
+title:  Geode JTA Transaction Example
+---
+
+An example code fragment shows how to run a JTA global transaction using Geode as the JTA transaction manager.
+
+The external data sources used in this transaction are configured in the `cache.xml` file. See [Configuring Database Connections Using JNDI](configuring_db_connections_using_JNDI.html#topic_A5E3A67C808D48C08E1F0DC167C5C494) for a configuration example.
+
+``` pre
+Region r = ...; // the  region data source 
+ds = ...; // other data source    
+
+  try  {     
+         Context ctx = cache.getJNDIContext();      
+         Connection conn =  null;
+         UserTransaction tx = (UserTransaction) ctx.lookup("java:/UserTransaction");     
+         tx.begin();
+         conn = ds.getConnection();
+         Statement stmt = conn.createStatement();
+         String sqlSTR =  "insert into " + tableName + " values (........ )";
+         stmt.executeUpdate(sqlSTR);   
+         r.put("key", "value");
+         stmt.close();     
+         tx.commit();
+         conn.close();
+   } catch (NamingException e) { 
+         // handle the exception   
+   }
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/transaction_semantics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/transaction_semantics.html.md.erb b/geode-docs/developing/transactions/transaction_semantics.html.md.erb
new file mode 100644
index 0000000..58b3e47
--- /dev/null
+++ b/geode-docs/developing/transactions/transaction_semantics.html.md.erb
@@ -0,0 +1,37 @@
+---
+title:  Geode Cache Transaction Semantics
+---
+
+Geode transaction semantics differ in some ways from the Atomicity-Consistency-Isolation-Durability (ACID) semantics of traditional relational databases. For performance reasons, Geode transactions do not adhere to ACID constraints by default, but can be configured for ACID support as described in this section.
+
+## <a id="transaction_semantics__section_8362ACD06C784B5BBB0B7E986F760169" class="no-quick-link"></a>Atomicity
+
+Atomicity is \u201call or nothing\u201d behavior: a transaction completes successfully only when all of the operations it contains complete successfully. If problems occur during a transaction, perhaps due to other transactions with overlapping changes, the transaction cannot successfully complete until the problems are resolved.
+
+Geode transactions provide atomicity and realize speed by using a reservation system, instead of using the traditional relational database technique of a two-phase locking of rows. The reservation prevents other, intersecting transactions from completing, allowing the commit to check for conflicts and to reserve resources in an all-or-nothing fashion prior to making changes to the data. After all changes have been made, locally and remotely, the reservation is released. With the reservation system, an intersecting transaction is simply discarded. The serialization of obtaining locks is avoided. See [Committing Transactions](how_cache_transactions_work.html#concept_sbj_lj1_wk) for details on the two-phase commit protocol that implements the reservation system.
+
+## <a id="transaction_semantics__section_7C287DA4A5134780B3199CE074E3F890" class="no-quick-link"></a>Consistency
+
+Consistency requires that data written within a transaction must observe the key and value constraints established for the affected region. Note that validity of the transaction is the responsibility of the application.
+
+## <a id="transaction_semantics__section_126A24EC499D4CF39AE766A0B526A9A5" class="no-quick-link"></a>Isolation
+
+Isolation assures that operations will see either the pre-transaction state of the system or its post-transaction state, but not the transitional state that occurs while a transaction is in progress. Write operations in a transaction are always confirmed to ensure that stale values are not written. As a distributed cache-based system optimized for performance, Geode in its default configuration does not enforce read isolation. Geode transactions support repeatable read isolation, so once the committed value is read for a given key, it always returns that same value. If a transaction write, such as put or invalidate, deletes a value for a key that has already been read, subsequent reads return the transactional reference.
+
+In the default configuration, Geode isolates transactions at the process thread level, so while a transaction is in progress, its changes are visible only inside the thread that is running the transaction. Threads inside the same process and in other processes cannot see changes until after the commit operation begins. At this point, the changes are visible in the cache, but other threads that access the changing data might see only partial results of the transaction leading to a dirty read.
+
+If an application requires the slower conventional isolation model (such that dirty reads of transitional states are not allowed), read operations must be encapsulated within transactions and the `gemfire.detectReadConflicts` parameter must be set to \u2018true\u2019:
+
+`-Dgemfire.detectReadConflicts=true`
+
+This parameter causes read operations to succeed only when they read a consistent pre- or post-transactional state. If not, a `CommitConflictException` is thrown to the calling application.
+
+## <a id="transaction_semantics__section_F092E368724945BCBF8E5DCB36B97EB4" class="no-quick-link"></a>Durability
+
+Relational databases provide durability by using disk storage for recovery and transaction logging. As a distributed cache-based system optimized for performance, Geode does not support on-disk or in-memory durability for transactions.
+
+Applications can emulate the conventional disk-based durability model by setting the `gemfire.ALLOW_PERSISTENT_TRANSACTIONS` parameter to \u2018true\u2019.
+
+`-Dgemfire.ALLOW_PERSISTENT_TRANSACTIONS=true`
+
+This allows permanent regions to participate in transactions, thus providing disk-based durability. See [Transactions and Persistent Regions](cache_transactions_by_region_type.html#concept_omy_341_wk) for more detail on the use of this parameter.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/transaction_suspend_resume_example.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/transaction_suspend_resume_example.html.md.erb b/geode-docs/developing/transactions/transaction_suspend_resume_example.html.md.erb
new file mode 100644
index 0000000..40bc772
--- /dev/null
+++ b/geode-docs/developing/transactions/transaction_suspend_resume_example.html.md.erb
@@ -0,0 +1,21 @@
+---
+title:  Basic Suspend and Resume Transaction Example
+---
+
+This example suspends and resumes a transaction.
+
+``` pre
+ CacheTransactionManager txMgr = cache.getCacheTransactionManager();
+
+    txMgr.begin();
+    region.put("key1", "value");
+    TransactionId txId = txMgr.suspend();
+    assert region.containsKey("key1") == false;
+    // do other operations that should not be
+    // part of a transaction
+    txMgr.resume(txId);
+    region.put("key2", "value");
+    txMgr.commit();
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/transactional_and_nontransactional_ops.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/transactional_and_nontransactional_ops.html.md.erb b/geode-docs/developing/transactions/transactional_and_nontransactional_ops.html.md.erb
new file mode 100644
index 0000000..c2dd84b
--- /dev/null
+++ b/geode-docs/developing/transactions/transactional_and_nontransactional_ops.html.md.erb
@@ -0,0 +1,100 @@
+---
+title: Comparing Transactional and Non-Transactional Operations
+---
+
+
+Between the begin operation and the commit or rollback operation are a series of ordinary Geode operations. When they are launched from within a transaction, the Geode operations can be classified into two types:
+
+-   Transactional operations affect the transactional view
+-   Non-transactional operations do not affect the transactional view
+
+An operation that acts directly on the cache does not usually act on the transactional view.
+
+-   **[Transactional Operations](#transactional_operations)**
+
+-   **[Non-Transactional Operations](#non_transactional_operations)**
+
+-   **[Entry Operations](#entry_operations)**
+
+-   **[Region Operations](#region_operations)**
+
+-   **[Cache Operations](#cache_operations)**
+
+-   **[No-Ops](#no-ops)**
+
+## <a id="transactional_operations" class="no-quick-link"></a>Transactional Operations
+
+The `CacheTransactionManager` methods are the only ones used specifically for cache operations. Otherwise, you use the same methods as usual. Most methods that run within a transaction affect the transactional view, and they do not change the cache until the transaction commits. Methods that behave this way are considered transactional operations. Transactional operations are classified in two ways: whether they modify the transactional view or the cache itself, and whether they create write conflicts with other transactions.
+
+In general, methods that create, destroy, invalidate, update, or read region entries are transactional operations.
+
+Transactional operations that can cause write conflicts are those that modify an entry, such as put, a load done to satisfy a get operation, create, delete, local delete, invalidate and local invalidate.
+
+Transactional read operations do not cause conflicts directly, but they can modify the transactional view. Read operations look for the entry in the transaction view first and then, if necessary, go to the cache. If the entry is returned by a cache read, it is stored as part of the transactional view. At commit time, the transaction uses the initial snapshot of the entry in the view to discover write conflicts.
+
+## <a id="non_transactional_operations" class="no-quick-link"></a>Non-Transactional Operations
+
+A few methods, when invoked within a transaction, have no effect on the transactional view, but they have an immediate effect on the cache. They are considered non-transactional operations. Often, non-transactional operations are administrative, such as `Region.destroy` and `Region.invalidate`. These operations are not supported within a transaction. If you call them, the system throws an exception of type `UnsupportedOperationInTransactionException`.
+
+## <a id="entry_operations" class="no-quick-link"></a>Entry Operations
+
+**Note:**
+Transactional entry operations can be rolled back.
+
+| Operations                           | Methods                                                                                                              | Transactional                                                                   | Write Conflict |
+|--------------------------------------|----------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------|----------------|
+| create                               | `Region.create, put, putAll, Map.put, putAll`                                                                        | yes                                                                             | yes            |
+| modify                               | `Region.put, putAll, Map.put, putAll, Region.Entry.setValue,                                     Map.Entry.setValue` | yes                                                                             | yes            |
+| load                                 | `Region.get, Map.get`                                                                                                | yes                                                                             | yes            |
+| creation or update using `netSearch` | `Region.get, Map.get`                                                                                                | yes                                                                             | no             |
+| destroy: local and distributed       | `Region.localDestroy, destroy, remove, Map.remove`                                                                   | yes                                                                             | yes            |
+| invalidate: local and distributed    | `Region.localInvalidate, invalidate`                                                                                 | yes                                                                             | yes            |
+| set user attribute                   | `Region.Entry.setUserAttribute`                                                                                      | yes                                                                             | yes            |
+| read of a single entry               | `Region.get, getEntry, containsKey, containsValue,                                     containsValueForKey`          | yes                                                                             | no             |
+| read of a collection of entries      | `Region.keySet, entrySet, values`                                                                                    | Becomes transactional when you access the keys or values within the collection. | no             |
+
+Some transactional write operations also do a read before they write, and these can complete a transactional read even when the write fails. The following table of entry operations notes the conditions under which this can happen.
+
+**Note:**
+These operations can add a snapshot of an entry to the transaction\u2019s view even when the write operation does not succeed.
+
+| Operations                        | Methods                              | Reads Without Writing                                                     |
+|-----------------------------------|--------------------------------------|---------------------------------------------------------------------------|
+| create                            | `Region.create`                      | when it throws an `EntryExistsException`                                  |
+| destroy: local and distributed    | `Region.localDestroy, destroy`       | when it throws an `EntryNotFoundException`                                |
+| invalidate: local and distributed | `Region.localInvalidate, invalidate` | when it throws an `EntryNotFoundException`or the entry is already invalid |
+
+## <a id="region_operations" class="no-quick-link"></a>Region Operations
+
+When you create a region in a transaction, any data from the getInitialImage operation goes directly into the cache, rather than waiting for the transaction to commit.
+
+| Operations                        | Methods                                          | Affected              | Write Conflict |
+|-----------------------------------|--------------------------------------------------|-----------------------|----------------|
+| destroy: local and distributed    | `Region.localDestroyRegion, destroyRegion`       | cache                 | yes            |
+| invalidate: local and distributed | `Region.localInvalidateRegion, invalidateRegion` | cache                 | yes            |
+| clear: local and distributed      | `Region.localClear, clear, Map.clear`            | cache and transaction | no             |
+| close                             | `Region.close`                                   | cache                 | yes            |
+| mutate attribute                  | `Region.getAttributesMutator` methods            | cache                 | no             |
+| set user attribute                | `Region.setUserAttribute`                        | cache                 | no             |
+
+## <a id="cache_operations" class="no-quick-link"></a>Cache Operations
+
+When you create a region in a transaction, any data from the getInitialImage operation goes directly into the cache, rather than waiting for the transaction to commit.
+
+| Operations | Methods                          | Affected State | Write Conflict |
+|------------|----------------------------------|----------------|----------------|
+| create     | `createRegionFactory().create()` | committed      | no             |
+| close      | `close`                          | committed      | yes            |
+
+## <a id="no-ops" class="no-quick-link"></a>No-Ops
+
+Any operation that has no effect in a non-transactional context remains a no-op in a transactional context. For example, if you do two `localInvalidate` operations in a row on the same region, the second `localInvalidate` is a no-op. No-op operations do not:
+
+-   Cause a listener invocation
+-   Cause a distribution message to be sent to other members
+-   Cause a change to an entry
+-   Cause any conflict
+
+A no-op can do a transactional read.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/transactional_function_example.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/transactional_function_example.html.md.erb b/geode-docs/developing/transactions/transactional_function_example.html.md.erb
new file mode 100644
index 0000000..6539131
--- /dev/null
+++ b/geode-docs/developing/transactions/transactional_function_example.html.md.erb
@@ -0,0 +1,55 @@
+---
+title:  Transaction Embedded within a Function Example
+---
+
+This example demonstrates a function that does transactional updates to Customer and Order regions.
+
+<a id="concept_22331B3DBFAB4C0BA95EF103BFB71257__section_73662C16E0BF4E4780F737C45DBD3137"></a>
+
+``` pre
+/**
+ * This function does transactional updates to customer and order regions
+ */
+public class TransactionalFunction extends FunctionAdapter {
+
+  private Random random = new Random();
+  /* (non-Javadoc)
+   * @see org.apache.geode.cache.execute.FunctionAdapter#execute(org.apache.geode.cache.execute.FunctionContext)
+   */
+  @Override
+  public void execute(FunctionContext context) {
+    RegionFunctionContext rfc = (RegionFunctionContext)context;
+    Region<CustomerId, String> custRegion = rfc.getDataSet();
+    Region<OrderId, String> 
+        orderRegion = custRegion.getRegionService().getRegion("order");
+
+    CacheTransactionManager 
+        mgr = CacheFactory.getAnyInstance().getCacheTransactionManager();
+    CustomerId custToUpdate = (CustomerId)rfc.getFilter().iterator().next();
+    OrderId orderToUpdate = (OrderId)rfc.getArguments();
+    System.out.println("Starting a transaction...");
+    mgr.begin();
+    int randomInt = random.nextInt(1000);
+    System.out.println("for customer region updating "+custToUpdate);
+    custRegion.put(custToUpdate, 
+        "updatedCustomer_"+custToUpdate.getCustId()+"_"+randomInt);
+    System.out.println("for order region updating "+orderToUpdate);
+    orderRegion.put(orderToUpdate, 
+        "newOrder_"+orderToUpdate.getOrderId()+"_"+randomInt);
+    mgr.commit();
+    System.out.println("transaction completed");
+    context.getResultSender().lastResult(Boolean.TRUE);
+  }
+
+  /* (non-Javadoc)
+   * @see org.apache.geode.cache.execute.FunctionAdapter#getId()
+   */
+  @Override
+  public String getId() {
+    return "TxFunction";
+  }
+
+}
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/transactions_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/transactions_overview.html.md.erb b/geode-docs/developing/transactions/transactions_overview.html.md.erb
new file mode 100644
index 0000000..bef97d7
--- /dev/null
+++ b/geode-docs/developing/transactions/transactions_overview.html.md.erb
@@ -0,0 +1,50 @@
+---
+title:  Basic Transaction Example
+---
+
+This example operates on two replicated regions. It begins a transaction, updates one entry in each region, and commits the result.
+
+<a id="concept_F8D96C21C8444F99B47909CDEB86E60A__section_B6818C348224456387DEC5C9D3B5F250"></a>
+If the commit fails, it will be due to a `CommitConflictException`, which implies that a concurrent access caused a change to one of the items operated on within this transaction. This code fragment catches the exception, and it repeats the transaction attempt until the commit succeeds.
+
+``` pre
+Cache c = new CacheFactory().create();
+
+Region<String, Integer> cash = c.createRegionFactory<String, Integer>()
+    .setDataPolicy(DataPolicy.REPLICATE)
+    .create("cash");
+
+Region<String, Integer> trades = c.createRegionFactory<String, Integer>()
+    .setDataPolicy(DataPolicy.REPLICATE)
+    .create("trades");
+
+CacheTransactionManager txmgr = c.getCacheTransactionManager();
+boolean commitConflict = false;
+do {
+    try {
+        txmgr.begin();
+        final String customer = "Customer1";
+        final Integer purchase = Integer.valueOf(1000);
+        // Decrement cash
+        Integer cashBalance = cash.get(customer);
+        Integer newBalance = 
+            Integer.valueOf((cashBalance != null ? cashBalance : 0) 
+                - purchase);
+        cash.put(customer, newBalance);
+        // Increment trades
+        Integer tradeBalance = trades.get(customer);
+        newBalance = 
+            Integer.valueOf((tradeBalance != null ? tradeBalance : 0) 
+                + purchase);
+
+        trades.put(customer, newBalance);
+        txmgr.commit();
+        commitConflict = false;
+    } 
+    catch (CommitConflictException conflict) {
+        commitConflict = true;
+    }
+} while (commitConflict);
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/turning_off_jta.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/turning_off_jta.html.md.erb b/geode-docs/developing/transactions/turning_off_jta.html.md.erb
new file mode 100644
index 0000000..2ca75da
--- /dev/null
+++ b/geode-docs/developing/transactions/turning_off_jta.html.md.erb
@@ -0,0 +1,23 @@
+---
+title:  Turning Off JTA Transactions
+---
+
+You can configure regions to not participate in any JTA global transaction.
+
+The `ignore-jta` region attribute is a boolean that tells the cache to ignore any in-progress JTA transactions when performing cache operations. It is primarily used for cache loaders, cache writers, and cache listeners that need to perform non-transactional operations on a region, such as caching a result set. It is set per region, so some regions can participate in JTA transactions, while others avoid participating in them. This example sets the `ignore-jta` region attribute in the `cache.xml` file.
+
+cache.xml:
+
+``` pre
+<region name="bridge_region">
+   <region-attributes scope="local" ignore-jta="true" statistics-enabled="true"/> 
+       <cache-writer> . . . </cache-writer>
+    </region-attributes> 
+</region>
+```
+
+API:
+
+Using the API, you can turn off JTA transactions using `RegionFactory` and its method `setIgnoreJTA(boolean)`. The current setting for a region can be fetched from a region's `RegionAttributes` by using the `getIgnoreJTA` method.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/working_with_transactions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/working_with_transactions.html.md.erb b/geode-docs/developing/transactions/working_with_transactions.html.md.erb
new file mode 100644
index 0000000..6b30c66
--- /dev/null
+++ b/geode-docs/developing/transactions/working_with_transactions.html.md.erb
@@ -0,0 +1,212 @@
+---
+title: Working with Geode Cache Transactions
+---
+<a id="topic_tx2_gs4_5k"></a>
+
+
+This section contains guidelines and additional information on working with Geode and its cache transactions.
+
+-   **[Setting Global Copy on Read](#concept_vx2_gs4_5k)**
+
+-   **[Making a Safe Change Within a Transaction Using CopyHelper.copy](#concept_fdr_wht_vk)**
+
+-   **[Transactions and Functions](#concept_ihn_zmt_vk)**
+
+-   **[Using Queries and Indexes with Transactions](#concept_ty1_vnt_vk)**
+
+-   **[Collections and Region.Entry Instances in Transactions](#concept_ksh_twz_vk)**
+
+-   **[Using Eviction and Expiration Operations](#concept_vyt_txz_vk)**
+
+-   **[Transactions and Consistent Regions](#transactions_and_consistency)**
+
+-   **[Suspending and Resuming Transactions](#concept_u5b_ryz_vk)**
+
+-   **[Using Cache Writer and Cache Listener Plug-Ins](#concept_ysx_nf1_wk)**
+
+-   **[Configuring Transaction Plug-In Event Handlers](#concept_ocw_vf1_wk)**
+
+-   **[How Transaction Events Are Managed](transaction_event_management.html)**
+
+## <a id="concept_vx2_gs4_5k" class="no-quick-link"></a>Setting Global Copy on Read
+
+As many entry operations return a reference to the cache entry, copy-on-read avoids problems within a transaction setting. To enable global copy-on-read for all reads, modify the `cache.xml` file or use the corresponding Java API call.
+
+Using cache.xml:
+
+``` pre
+<cache lock-lease="120" lock-timeout="60" search-timeout="300" copy-on-read="true">
+```
+
+API:
+
+``` pre
+Cache c = CacheFactory.getInstance(system);
+ c.setCopyOnRead(true);
+```
+
+The copy-on-read attribute and the operations affected by the attribute setting are discussed in detail in [Managing Data Entries](../../basic_config/data_entries_custom_classes/managing_data_entries.html).
+
+## Making a Safe Change Within a Transaction Using CopyHelper.copy
+
+If `copy-on-read` is *not* globally set, and the cache uses replicated regions, explicitly make copies of the cache objects that are to be modified within a transaction. The `CopyHelper.copy` method makes copies:
+
+``` pre
+CacheTransactionManager cTxMgr = cache.getCacheTransactionManager();
+cTxMgr.begin(); 
+Object o = (StringBuffer) r.get("stringBuf");
+StringBuffer s = (StringBuffer) CopyHelper.copy(o);
+s.append("Changes unseen before commit. Read Committed."); 
+r.put("stringBuf", s); 
+cTxMgr.commit();
+```
+
+## Transactions and Functions
+
+You can run a function from inside a transaction and you can nest a transaction within a function, as long as your combination of functions and transactions does not result in nested transactions. See [Function Execution](../function_exec/chapter_overview.html) for more about functions.
+
+A single transaction may contain multiple functions.
+
+If you are suspending and resuming a transaction with multiple function calls, all functions in the transaction must execute on the same member.
+
+See [Transaction Embedded within a Function Example](transactional_function_example.html#concept_22331B3DBFAB4C0BA95EF103BFB71257) for an example.
+
+## Using Queries and Indexes with Transactions
+
+Queries and indexes reflect the cache contents and ignore the changes made by ongoing transactions. If you do a query from inside a transaction, the query does not reflect the changes made inside that transaction.
+
+## Collections and Region.Entry Instances in Transactions
+
+Collections and region entries used in a transaction must be created inside the transaction. After the transaction has completed, the application can no longer use any region entry or collection or associated iterator created within the transaction. An attempted use outside of the transaction will throw an `IllegalStateException` exception.
+
+Region collection operations include `Region.keySet`, `Region.entrySet`, and `Region.values`. You can create instances of `Region.Entry` through the `Region.getEntry` operation or by looking at the contents of the result returned by a `Region.entrySet` operation.
+
+## Using Eviction and Expiration Operations
+
+Entry expiration and LRU eviction affect the committed state. They are not part of a transaction, and therefore they cannot be rolled back.
+
+## About Eviction
+
+LRU eviction operations do not cause write conflicts with existing transactions, despite destroying or invalidating entries. LRU eviction is deferred on entries modified by the transaction until the commit completes. Because anything touched by the transaction has had its LRU clock reset, eviction of those entries is not likely to happen immediately after the commit.
+
+When a transaction commits its changes in a region with distributed scope, the operation can invoke eviction controllers in the remote caches, as well as in the local cache.
+
+## Configure Expiration
+
+Local expiration actions do not cause write conflicts, but distributed expiration can cause conflicts and prevent transactions from committing in the members receiving the distributed operation.
+
+-   When you are using transactions on local, preloaded or empty regions, make expiration local if possible. For every instance of that region, configure an expiration action of local invalidate or local destroy. In a cache.xml declaration, use a line similar to this:
+
+    ``` pre
+    <expiration-attributes timeout="60" action="local-invalidate" />
+    ```
+
+    In regions modified by a transaction, local expiration is suspended. Expiration operations are batched and deferred per region until the transaction completes. Once cleanup starts, the manager processes pending expirations. Transactions that need to change the region wait until the expirations are complete.
+
+-   With partitioned and replicated regions, you cannot use local expiration. When you are using distributed expiration, the expiration is not suspended during a transaction, and expiration operations distributed from another member can cause write conflicts. In replicated regions, you can avoid conflicts by setting up your distributed system this way:
+    -   Choose an instance of the region to drive region-wide expiration. Use a replicated region, if there is one.
+    -   Configure distributed expiration only in that region instance. The expiration action must be either invalidate or destroy. In a `cache.xml` file declaration, use a line similar to this:
+
+        ``` pre
+        <expiration-attributes timeout="300" action="destroy" />
+        ```
+
+    -   Run the transactions from the member in which expiration is configured.
+
+## Transactions and Consistent Regions
+
+A transaction that modifies a region in which consistency checking is enabled generates all necessary version information for region updates when the transaction commits.
+
+If a transaction modifies a normal, preloaded or empty region, the transaction is first delegated to a Geode member that holds a replicate for the region. This behavior is similar to the transactional behavior for partitioned regions, where the partitioned region transaction is forwarded to a member that hosts the primary for the partitioned region update.
+
+The limitation for transactions with a normal, preloaded or empty region is that, when consistency checking is enabled, a transaction cannot perform a `localDestroy` or `localInvalidate` operation against the region. Geode throws an `UnsupportedOperationInTransactionException` exception in such cases. An application should use a `Destroy` or `Invalidate` operation in place of a `localDestroy` or `localInvalidate` when consistency checks are enabled.
+
+## Suspending and Resuming Transactions
+
+The Geode `CacheTransactionManager` API provides the ability to suspend and resume transactions with the `suspend` and `resume` methods. The ability to suspend and resume is useful when a thread must perform some operations that should not be part of the transaction before the transaction can complete. A complex use case of suspend and resume implements a transaction that spans clients in which only one client at a time will not be suspended.
+
+Once a transaction is suspended, it loses the transactional view of the cache. None of the operations done within the transaction are visible to the thread. Any operations that are performed by the thread while the transaction is suspended are not part of the transaction.
+
+When a transaction is resumed, the resuming thread assumes the transactional view. A transaction that is suspended on a member must be resumed on the same member.
+
+Before resuming a transaction, you may want to check if the transaction exists on the member and whether it is suspended. The `tryResume` method implements this check and resume as an atomic step.
+
+If the member with the primary copy of the data crashes, the transactional view associated with that data is lost. The secondary member for the data will not be able to resume any transactions suspended on the crashed member. You will need to take remedial steps to retry the transaction on a new primary copy of the data.
+
+If a suspended transaction is not touched for a period of time, Geode cleans it up automatically. By default, the timeout for a suspended transaction is 30 minutes and can be configured using the system property `gemfire.suspendedtxTimeout`. For example, `gemfire.suspendedtxTimeout=60` specifies a timeout of 60 minutes.
+
+See [Basic Suspend and Resume Transaction Example](transaction_suspend_resume_example.html) for a sample code fragment that suspends and resumes a transaction.
+
+## Using Cache Writer and Cache Listener Plug-Ins
+
+All standard Geode application plug-ins work with transactions. In addition, the transaction interface offers specialized plug-ins that support transactional operation.
+
+No direct interaction exists between client transactions and client application plug-ins. When a client runs a transaction, Geode calls the plug-ins that are installed on the transaction's server delegate and its server host. Client application plug-ins are not called for operations inside the transaction or for the transaction as a whole. When the transaction is committed, the changes to the server cache are sent to the client cache according to client interest registration. These events can result in calls to the client's `CacheListener`s, as with any other events received from the server.
+
+The `EntryEvent` that a callback receives has a unique Geode transaction ID, so the cache listener can associate each event, as it occurs, with a particular transaction. The transaction ID of an `EntryEvent` that is not part of a transaction is null to distinguish it from a transaction ID.
+
+-   `CacheLoader`. When a cache loader is called by a transaction operation, values loaded by the cache loader may cause a write conflict when the transaction commits.
+-   `CacheWriter`. During a transaction, if a cache writer exists, its methods are invoked as usual for all operations, as the operations are called in the transactions. The `netWrite` operation is not used. The only cache writer used is the one in the member where the transactional data resides.
+-   `CacheListener`. The cache listener callbacks - local and remote - are triggered after the transaction commits. The system sends the conflated transaction events, in the order they were stored.
+
+For more information on writing cache event handlers, see [Implementing Cache Event Handlers](../events/implementing_cache_event_handlers.html).
+
+## <a id="concept_ocw_vf1_wk" class="no-quick-link"></a>Configuring Transaction Plug-In Event Handlers
+
+Geode has two types of transaction plug-ins: Transaction Writers and Transaction Listeners. You can optionally install one transaction writer and one or more transaction listeners per cache.
+
+Like JTA global transactions, you can use transaction plug-in event handlers to coordinate Geode cache transaction activity with an external data store. However, you typically use JTA global transactions when Geode is running as a peer data store with your external data stores. Transaction writers and listeners are typically used when Geode is acting as a front end cache to your backend database.
+
+**Note:**
+You can also use transaction plug-in event handlers when running JTA global transactions.
+
+## TransactionWriter
+
+When you commit a transaction, if a transaction writer is installed in the cache where the data updates were performed, it is called. The writer can do whatever work you need, including aborting the transaction.
+
+The transaction writer is the last place that an application can rollback a transaction. If the transaction writer throws any exception, the transaction is rolled back. For example, you might use a transaction writer to update a backend data source before the Geode cache transaction completes the commit. If the backend data source update fails, the transaction writer implementation can throw a [TransactionWriterException](/releases/latest/javadoc/org/apache/geode/cache/TransactionWriterException.html) to veto the transaction.
+
+A typical usage scenario would be to use the transaction writer to prepare the commit on the external database. Then in a transaction listener, you can apply the commit on the database.
+
+## Transaction Listeners
+
+When the transaction ends, its thread calls the transaction listener to perform the appropriate follow-up for successful commits, failed commits, or voluntary rollbacks. The transaction that caused the listener to be called no longer exists by the time the listener code executes.
+
+Transaction listeners have access to the transactional view and thus are not affected by non-transactional update operations. `TransactionListener` methods cannot make transactional changes or cause a rollback. They can, however, start a new transaction. Multiple transactions on the same cache can cause concurrent invocation of `TransactionListener` methods, so implement methods that do the appropriate synchronization of the multiple threads for thread-safe operation.
+
+A transaction listener can preserve the result of a transaction, perhaps to compare with other transactions, or for reference in case of a failed commit. When a commit fails and the transaction ends, the application cannot just retry the transaction, but must build up the data again. For most applications, the most efficient action is just to start a new transaction and go back through the application logic again.
+
+The rollback and failed commit operations are local to the member where the transactional operations are run. When a successful commit writes to a distributed or partitioned region, however, the transaction results are distributed to other members the same as other updates. The transaction listener on the receiving members reflect the changes the transaction makes in that member, not the originating member. Any exceptions thrown by the transaction listener are caught by Geode and logged.
+
+To configure a transaction listener, add a `cache-transaction-manager` configuration to the cache definition and define one or more instances of `transaction-listener` there. The only parameter to this `transaction-listener` is `URL`, which must be a string, as shown in the following cache.xml example.
+
+**Note:**
+The `cache-transaction-manager` allows listeners to be established. This attribute does not install a different transaction manager.
+
+Using cache.xml:
+
+``` pre
+<cache search-timeout="60">
+           <cache-transaction-manager>
+             <transaction-listener>
+               <class-name>com.company.data.MyTransactionListener</class-name>
+                 <parameter name="URL">
+                    <string>jdbc:cloudscape:rmi:MyData</string>
+                 </parameter>
+             </transaction-listener>
+             <transaction-listener>
+              . . .   
+             </transaction-listener> 
+          </cache-transaction-manager>
+               . . . 
+        </cache>
+```
+
+Using the Java API:
+
+``` pre
+CacheTransactionManager manager = cache.getCacheTransactionManager(); 
+manager.addListener(new LoggingTransactionListener());
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/getting_started/15_minute_quickstart_gfsh.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/getting_started/15_minute_quickstart_gfsh.html.md.erb b/geode-docs/getting_started/15_minute_quickstart_gfsh.html.md.erb
new file mode 100644
index 0000000..6b8bff8
--- /dev/null
+++ b/geode-docs/getting_started/15_minute_quickstart_gfsh.html.md.erb
@@ -0,0 +1,499 @@
+---
+title: Apache Geode in 15 Minutes or Less
+---
+<a id="topic_FE3F28ED18E145F787431EC87B676A76"></a>
+
+Need a quick introduction to Apache Geode? Take this brief tour to try out basic features and functionality.
+
+## <a id="topic_FE3F28ED18E145F787431EC87B676A76__section_ECE5170BAD9B454E875F13BEB5762DDD" class="no-quick-link"></a>Step 1: Install Apache Geode.
+
+See [How to Install](installation/install_standalone.html#concept_0129F6A1D0EB42C4A3D24861AF2C5425) for instructions.
+
+## <a id="topic_FE3F28ED18E145F787431EC87B676A76__section_582F8CBBD99D42F1A55C07591E2E9E9E" class="no-quick-link"></a>Step 2: Use gfsh to start a Locator.
+
+In a terminal window, use the `gfsh` command line interface to start up a locator. Apache Geode *gfsh* (pronounced "jee-fish") provides a single, intuitive command-line interface from which you can launch, manage, and monitor Apache Geode processes, data, and applications. See [gfsh (Geode SHell)](../tools_modules/gfsh/chapter_overview.html).
+
+The *locator* is a Geode process that tells new, connecting members where running members are located and provides load balancing for server use. A locator, by default, starts up a JMX Manager, which is used for monitoring and managing of a Geode cluster. The cluster configuration service uses locators to persist and distribute cluster configurations to cluster members. See [Running Geode Locator Processes](../configuring/running/running_the_locator.html) and [Overview of the Cluster Configuration Service](../configuring/cluster_config/gfsh_persist.html).
+
+1.  Create a scratch working directory (for example, `my_gemfire`) and change directories into it. `gfsh` saves locator and server working directories and log files in this location.
+2.  Start gfsh by typing `gfsh` at the command line (or `gfsh.bat` if you are using Windows).
+
+    ``` pre
+        _________________________     __
+       / _____/ ______/ ______/ /____/ /
+      / /  __/ /___  /_____  / _____  /
+     / /__/ / ____/  _____/ / /    / /
+    /______/_/      /______/_/    /_/    v8.2.0
+
+    Monitor and Manage GemFire
+    gfsh>
+    ```
+
+3.  At the `gfsh` prompt, type:
+
+    ``` pre
+    gfsh>start locator --name=locator1
+    Starting a GemFire Locator in /home/username/my_gemfire/locator1...
+    .................................
+    Locator in /home/username/my_gemfire/locator1 on ubuntu.local[10334] as locator1 is currently online.
+    Process ID: 3529
+    Uptime: 18 seconds
+    GemFire Version: 8.2.0
+    Java Version: 1.8.0_60
+    Log File: /home/username/my_gemfire/locator1/locator1.log
+    JVM Arguments: -Dgemfire.enable-cluster-configuration=true -Dgemfire.load-cluster-configuration-from-dir=false
+    -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true
+    -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
+    Class-Path: /home/username/Pivotal_GemFire_820_b17919_Linux/lib/gemfire.jar:
+    /home/username/Pivotal_GemFire_820_b17919_Linux/lib/locator-dependencies.jar
+
+    Successfully connected to: [host=ubuntu.local, port=1099]
+
+    Cluster configuration service is up and running.
+    ```
+
+## <a id="topic_FE3F28ED18E145F787431EC87B676A76__section_02C79BFFB5334E78A5856AE1EB1F1F84" class="no-quick-link"></a>Step 3. Start Pulse.
+
+Start up the browser-based Pulse monitoring tool. Pulse is a Web Application that provides a graphical dashboard for monitoring vital, real-time health and performance of Geode clusters, members, and regions. See [Geode Pulse](../tools_modules/pulse/chapter_overview.html).
+
+``` pre
+gfsh>start pulse
+```
+
+This command launches Pulse and automatically connects you to the JMX Manager running in the Locator. At the Pulse login screen, type in the default username `admin` and password `admin`.
+
+The Pulse application now displays the locator you just started (locator1):
+
+<img src="../images/pulse_locator.png" id="topic_FE3F28ED18E145F787431EC87B676A76__image_ign_ff5_t4" class="image" />
+
+## <a id="topic_FE3F28ED18E145F787431EC87B676A76__section_C617BC1C70EB41B8BCA3691D6E3C891A" class="no-quick-link"></a>Step 4: Start a server.
+
+A Geode server is a process that runs as a long-lived, configurable member of a cluster (also called a *distributed system*). The Geode server is used primarily for hosting long-lived data regions and for running standard Geode processes such as the server in a client/server configuration. See [Running Geode Server Processes](../configuring/running/running_the_cacheserver.html).
+
+Start the cache server:
+
+``` pre
+gfsh>start server --name=server1 --server-port=40411
+
+```
+
+This commands starts a cache server named "server1" on the specified port of 40411.
+
+Observe the changes (new member and server) in Pulse. Try expanding the distributed system icon to see the locator and cache server graphically.
+
+## <a id="topic_FE3F28ED18E145F787431EC87B676A76__section_3EA12E44B8394C6A9302DF4D14888AF4" class="no-quick-link"></a>Step 5: Create a replicated, persistent region.
+
+In this step you create a region with the `gfsh` command line utility. Regions are the core building blocks of the Geode cluster and provide the means for organizing your data. The region you create for this exercise employs replication to replicate data across members of the cluster and utilizes persistence to save the data to disk. See [Data Regions](../basic_config/data_regions/chapter_overview.html#data_regions).
+
+1.  Create a replicated, persistent region:
+
+    ``` pre
+    gfsh>create region --name=regionA --type=REPLICATE_PERSISTENT
+    Member  | Status
+    ------- | --------------------------------------
+    server1 | Region "/regionA" created on "server1"
+    ```
+
+    Note that the region is hosted on server1.
+
+2.  Use the `gfsh` command line to view a list of the regions in the cluster.
+
+    ``` pre
+    gfsh>list regions
+    List of regions
+    ---------------
+    regionA
+    ```
+
+3.  List the members of your cluster. The locator and cache servers you started appear in the list:
+
+    ``` pre
+    gfsh>list members
+      Name   | Id
+    -------- | ---------------------------------------
+    locator1 | ubuntu(locator1:3529:locator)<v0>:59926
+    server1  | ubuntu(server1:3883)<v1>:65390
+    ```
+
+4.  To view specifics about a region, type the following:
+
+    ``` pre
+    gfsh>describe region --name=regionA
+    ..........................................................
+    Name            : regionA
+    Data Policy     : persistent replicate
+    Hosting Members : server1
+
+    Non-Default Attributes Shared By Hosting Members
+
+     Type  | Name | Value
+    ------ | ---- | -----
+    Region | size | 0
+    ```
+
+5.  In Pulse, click the green cluster icon to see all the new members and new regions that you just added to your cluster.
+
+**Note:** Keep this `gfsh` prompt open for the next steps.
+
+## Step 6: Manipulate data in the region and demonstrate persistence.
+
+Apache Geode manages data as key/value pairs. In most applications, a Java program adds, deletes and modifies stored data. You can also use gfsh commands to add and retrieve data. See [Data Commands](../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_C7DB8A800D6244AE8FF3ADDCF139DCE4).
+
+1.  Run the following `put` commands to add some data to the region:
+
+    ``` pre
+    gfsh>put --region=regionA --key="1" --value="one"
+    Result      : true
+    Key Class   : java.lang.String
+    Key         : 1
+    Value Class : java.lang.String
+    Old Value   : <NULL>
+
+
+    gfsh>put --region=regionA --key="2" --value="two"
+    Result      : true
+    Key Class   : java.lang.String
+    Key         : 2
+    Value Class : java.lang.String
+    Old Value   : <NULL>
+    ```
+
+2.  Run the following command to retrieve data from the region:
+
+    ``` pre
+    gfsh>query --query="select * from /regionA"
+
+    Result     : true
+    startCount : 0
+    endCount   : 20
+    Rows       : 2
+
+    Result
+    ------
+    two
+    one
+    ```
+
+    Note that the result displays the values for the two data entries you created with the `put` commands.
+
+    See [Data Entries](../basic_config/data_entries_custom_classes/chapter_overview.html).
+
+3.  Stop the cache server using the following command:
+
+    ``` pre
+    gfsh>stop server --name=server1
+    Stopping Cache Server running in /home/username/my_gemfire/server1 on ubuntu.local[40411] as server1...
+    Process ID: 3883
+    Log File: /home/username/my_gemfire/server1/server1.log
+    ....
+    ```
+
+4.  Restart the cache server using the following command:
+
+    ``` pre
+    gfsh>start server --name=server1 --server-port=40411
+    ```
+
+5.  Run the following command to retrieve data from the region again-- notice that the data is still available:
+
+    ``` pre
+    gfsh>query --query="select * from /regionA"
+
+    Result     : true
+    startCount : 0
+    endCount   : 20
+    Rows       : 2
+
+    Result
+    ------
+    two
+    one
+    ```
+
+    Because regionA uses persistence, it writes a copy of the data to disk. When a server hosting regionA starts, the data is populated into the cache. Note that the result displays the values for the two data entries you created prior to stopping the server with the `put` commands.
+
+    See [Data Entries](../basic_config/data_entries_custom_classes/chapter_overview.html).
+
+    See [Data Regions](../basic_config/data_regions/chapter_overview.html#data_regions).
+
+## Step 7: Examine the effects of replication.
+
+In this step, you start a second cache server. Because regionA is replicated, the data will be available on any server hosting the region.
+
+See [Data Regions](../basic_config/data_regions/chapter_overview.html#data_regions).
+
+1.  Start a second cache server:
+
+    ``` pre
+    gfsh>start server --name=server2 --server-port=40412
+    ```
+
+2.  Run the `describe region` command to view information about regionA:
+
+    ``` pre
+    gfsh>describe region --name=regionA
+    ..........................................................
+    Name            : regionA
+    Data Policy     : persistent replicate
+    Hosting Members : server1
+                      server2
+
+    Non-Default Attributes Shared By Hosting Members
+
+     Type  | Name | Value
+    ------ | ---- | -----
+    Region | size | 2
+    ```
+
+    Note that you do not need to create regionA again for server2. The output of the command shows that regionA is hosted on both server1 and server2. When gfsh starts a server, it requests the configuration from the cluster configuration service which then distributes the shared configuration to any new servers joining the cluster.
+
+3.  Add a third data entry:
+
+    ``` pre
+    gfsh>put --region=regionA --key="3" --value="three"
+    Result      : true
+    Key Class   : java.lang.String
+    Key         : 3
+    Value Class : java.lang.String
+    Old Value   : <NULL>
+    ```
+
+4.  Open the Pulse application (in a Web browser) and observe the cluster topology. You should see a locator with two attached servers. Click the <span class="ph uicontrol">Data</span> tab to view information about regionA.
+5.  Stop the first cache server with the following command:
+
+    ``` pre
+    gfsh>stop server --name=server1
+    Stopping Cache Server running in /home/username/my_gemfire/server1 on ubuntu.local[40411] as server1...
+    Process ID: 4064
+    Log File: /home/username/my_gemfire/server1/server1.log
+    ....
+    ```
+
+6.  Retrieve data from the remaining cache server.
+
+    ``` pre
+    gfsh>query --query="select * from /regionA"
+
+    Result     : true
+    startCount : 0
+    endCount   : 20
+    Rows       : 3
+
+    Result
+    ------
+    two
+    one
+    three
+    ```
+
+    Note that the data contains 3 entries, including the entry you just added.
+
+7.  Add a fourth data entry:
+
+    ``` pre
+    gfsh>put --region=regionA --key="4" --value="four"
+    Result      : true
+    Key Class   : java.lang.String
+    Key         : 3
+    Value Class : java.lang.String
+    Old Value   : <NULL>
+    ```
+
+    Note that only server2 is running. Because the data is replicated and persisted, all of the data is still available. But the new data entry is currently only available on server 2.
+
+    ``` pre
+    gfsh>describe region --name=regionA
+    ..........................................................
+    Name            : regionA
+    Data Policy     : persistent replicate
+    Hosting Members : server2
+
+    Non-Default Attributes Shared By Hosting Members
+
+     Type  | Name | Value
+    ------ | ---- | -----
+    Region | size | 4
+    ```
+
+8.  Stop the remaining cache server:
+
+    ``` pre
+    gfsh>stop server --name=server2
+    Stopping Cache Server running in /home/username/my_gemfire/server2 on ubuntu.local[40412] as server2...
+    Process ID: 4185
+    Log File: /home/username/my_gemfire/server2/server2.log
+    .....
+    ```
+
+## Step 8: Restart the cache servers in parallel.
+
+In this step you restart the cache servers in parallel. Because the data is persisted, the data is available when the servers restart. Because the data is replicated, you must start the servers in parallel so that they can synchronize their data before starting.
+
+1.  Start server1. Because regionA is replicated and persistent, it needs data from the other server to start and waits for the server to start:
+
+    ``` pre
+    gfsh>start server --name=server1 --server-port=40411
+    Starting a GemFire Server in /home/username/my_gemfire/server1...
+    ............................................................................
+    ............................................................................
+    ```
+
+    Note that if you look in the <span class="ph filepath">server1.log</span> file for the restarted server, you will see a log message similar to the following:
+
+    ``` pre
+    [info 2015/01/14 09:08:13.610 PST server1 <main> tid=0x1] Region /regionA has pot
+    entially stale data. It is waiting for another member to recover the latest data.
+      My persistent id:
+
+        DiskStore ID: 8e2d99a9-4725-47e6-800d-28a26e1d59b1
+        Name: server1
+        Location: /192.0.2.0:/home/username/my_gemfire/server1/.
+
+      Members with potentially new data:
+      [
+        DiskStore ID: 2e91b003-8954-43f9-8ba9-3c5b0cdd4dfa
+        Name: server2
+        Location: /192.0.2.0:/home/username/my_gemfire/server2/.
+      ]
+      Use the "gemfire list-missing-disk-stores" command to see all disk stores that
+    are being waited on by other members.
+    ```
+
+2.  In a second terminal window, change directories to the scratch working directory (for example, `my_gemfire`) and start gfsh:
+
+    ``` pre
+    [username@localhost ~/my_gemfire]$ gfsh
+        _________________________     __
+       / _____/ ______/ ______/ /____/ /
+      / /  __/ /___  /_____  / _____  /
+     / /__/ / ____/  _____/ / /    / /
+    /______/_/      /______/_/    /_/    v8.2.0
+
+    Monitor and Manage GemFire
+    ```
+
+3.  Run the following command to connect to the cluster:
+
+    ``` pre
+    gfsh>connect --locator=localhost[10334]
+    Connecting to Locator at [host=localhost, port=10334] ..
+    Connecting to Manager at [host=ubuntu.local, port=1099] ..
+    Successfully connected to: [host=ubuntu.local, port=1099]
+    ```
+
+4.  Start server2:
+
+    ``` pre
+    gfsh>start server --name=server2 --server-port=40412
+    ```
+
+    When server2 starts, note that **server1 completes its start up** in the first gfsh window:
+
+    ``` pre
+    Server in /home/username/my_gemfire/server1 on ubuntu.local[40411] as server1 is currently online.
+    Process ID: 3402
+    Uptime: 1 minute 46 seconds
+    GemFire Version: 8.2.0
+    Java Version: 1.8.0_60
+    Log File: /home/username/my_gemfire/server1/server1.log
+    JVM Arguments: -Dgemfire.default.locators=192.0.2.0[10334] -Dgemfire.use-cluster-configuration=true
+    -XX:OnOutOfMemoryError=kill -KILL %p -Dgemfire.launcher.registerSignalHandlers=true
+    -Djava.awt.headless=true -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
+    Class-Path: /home/username/Pivotal_GemFire_820_b17919_Linux/lib/gemfire.jar:
+    /home/username/Pivotal_GemFire_820_b17919_Linux/lib/server-dependencies.jar
+    ```
+
+5.  Verify that the locator and two servers are running:
+
+    ``` pre
+    gfsh>list members
+      Name   | Id
+    -------- | ---------------------------------------
+    server2  | ubuntu(server2:3992)<v8>:21507
+    server1  | ubuntu(server1:3402)<v7>:36532
+    locator1 | ubuntu(locator1:2813:locator)<v0>:46644
+    ```
+
+6.  Run a query to verify that all the data you entered with the `put` commands is available:
+
+    ``` pre
+    gfsh>query --query="select * from /regionA"
+
+    Result     : true
+    startCount : 0
+    endCount   : 20
+    Rows       : 5
+
+    Result
+    ------
+    one
+    two
+    four
+    Three
+
+    NEXT_STEP_NAME : END
+    ```
+
+7.  Stop server2 with the following command:
+
+    ``` pre
+    gfsh>stop server --dir=server2
+    Stopping Cache Server running in /home/username/my_gemfire/server2 on 192.0.2.0[40412] as server2...
+    Process ID: 3992
+    Log File: /home/username/my_gemfire/server2/server2.log
+    ....
+    ```
+
+8.  Run a query to verify that all the data you entered with the `put` commands is still available:
+
+    ``` pre
+    gfsh>query --query="select * from /regionA"
+
+    Result     : true
+    startCount : 0
+    endCount   : 20
+    Rows       : 5
+
+    Result
+    ------
+    one
+    two
+    four
+    Three
+
+    NEXT_STEP_NAME : END
+    ```
+
+## <a id="topic_FE3F28ED18E145F787431EC87B676A76__section_E417BEEC172B4E96A92A61DC7601E572" class="no-quick-link"></a>Step 9: Shut down the system including your locators.
+
+To shut down your cluster, do the following:
+
+1.  In the current `gfsh` session, stop the cluster:
+
+    ``` pre
+    gfsh>shutdown --include-locators=true
+    ```
+
+    See [shutdown](../tools_modules/gfsh/command-pages/shutdown.html).
+
+2.  When prompted, type 'Y' to confirm the shutdown of the cluster.
+
+    ``` pre
+    As a lot of data in memory will be lost, including possibly events in queues,
+    do you really want to shutdown the entire distributed system? (Y/n): Y
+    Shutdown is triggered
+
+    gfsh>
+    No longer connected to ubuntu.local[1099].
+    gfsh>
+    ```
+
+3.  Type `exit` to quit the gfsh shell.
+
+## <a id="topic_FE3F28ED18E145F787431EC87B676A76__section_C8694C6BB07E4430A73DDD72ABB473F1" class="no-quick-link"></a>Step 10: What to do next...
+
+Here are some suggestions on what to explore next with Apache Geode:
+
+-   Continue reading the next section to learn more about the components and concepts that were just introduced.
+-   To get more practice using `gfsh`, see [Tutorial\u2014Performing Common Tasks with gfsh](../tools_modules/gfsh/tour_of_gfsh.html#concept_0B7DE9DEC1524ED0897C144EE1B83A34).
+-   To learn about the cluster configuration service, see [Tutorial\u2014Creating and Using a Cluster Configuration](../configuring/cluster_config/persisting_configurations.html#task_bt3_z1v_dl).



[67/76] [abbrv] incubator-geode git commit: GEODE-1952: Add Apache license to all geode-docs erb files

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/management/programming_example.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/programming_example.html.md.erb b/geode-docs/managing/management/programming_example.html.md.erb
index 45e4ac5..17cfcd4 100644
--- a/geode-docs/managing/management/programming_example.html.md.erb
+++ b/geode-docs/managing/management/programming_example.html.md.erb
@@ -2,6 +2,23 @@
 title:  Management and Monitoring Programming Examples
 ---
 
+<!--
+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.
+-->
+
 One example demonstrates the use of an MBean server to manage and monitor a node in a distributed system, and the other example acts as the managed node.
 
 ## JMX Manager Node Example

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/cache_consistency.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/cache_consistency.html.md.erb b/geode-docs/managing/monitor_tune/cache_consistency.html.md.erb
index 09f868b..adc10c9 100644
--- a/geode-docs/managing/monitor_tune/cache_consistency.html.md.erb
+++ b/geode-docs/managing/monitor_tune/cache_consistency.html.md.erb
@@ -2,6 +2,23 @@
 title:  Maintaining Cache Consistency
 ---
 
+<!--
+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.
+-->
+
 Maintaining data consistency between caches in a distributed Geode system is vital for ensuring its functional integrity and preventing data loss.
 
 ## <a id="cache_const__section_lf3_lvn_nr" class="no-quick-link"></a>General Guidelines

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/chapter_overview.html.md.erb b/geode-docs/managing/monitor_tune/chapter_overview.html.md.erb
index da69f00..db09945 100644
--- a/geode-docs/managing/monitor_tune/chapter_overview.html.md.erb
+++ b/geode-docs/managing/monitor_tune/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Performance Tuning and Configuration
 ---
 
+<!--
+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 collection of tools and controls allow you to monitor and adjust Apache Geode performance.
 
 -   **[Improving Geode Performance on vSphere](../../managing/monitor_tune/gemfire_performance_on_vsphere.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere.html.md.erb b/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere.html.md.erb
index 249a7dd..2be5502 100644
--- a/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere.html.md.erb
+++ b/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere.html.md.erb
@@ -2,6 +2,23 @@
 title:  Improving Geode Performance on vSphere
 ---
 
+<!--
+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.
+-->
+
 This topic provides guidelines for tuning vSphere virtualized environments that host Apache Geode deployments.
 
 Without tuning, Geode can suffer a performance drop in virtual environments, including the VMware vSphere virtual platform.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere_guidelines.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere_guidelines.html.md.erb b/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere_guidelines.html.md.erb
index d8b7248..b5cb8a2 100644
--- a/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere_guidelines.html.md.erb
+++ b/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere_guidelines.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: Operating System Guidelines
 ---
+
+<!--
+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="topic_F48990A6A37144988D49E132E17E117C"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/multicast_communication.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/multicast_communication.html.md.erb b/geode-docs/managing/monitor_tune/multicast_communication.html.md.erb
index 3574cc7..ba823c6 100644
--- a/geode-docs/managing/monitor_tune/multicast_communication.html.md.erb
+++ b/geode-docs/managing/monitor_tune/multicast_communication.html.md.erb
@@ -2,6 +2,23 @@
 title:  Multicast Communication
 ---
 
+<!--
+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.
+-->
+
 You can make configuration adjustments to improve the UDP multicast performance of peer-to-peer communication in your Geode system.
 
 Before you begin, you should understand Geode [Basic Configuration and Programming](../../basic_config/book_intro.html). See also the general communication tuning and UDP tuning covered in [Socket Communication](socket_communication.html) and [UDP Communication](udp_communication.html#udp_comm).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/multicast_communication_configuring_speed_limits.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/multicast_communication_configuring_speed_limits.html.md.erb b/geode-docs/managing/monitor_tune/multicast_communication_configuring_speed_limits.html.md.erb
index 8ef2894..a6cb090 100644
--- a/geode-docs/managing/monitor_tune/multicast_communication_configuring_speed_limits.html.md.erb
+++ b/geode-docs/managing/monitor_tune/multicast_communication_configuring_speed_limits.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configuring Multicast Speed Limits
 ---
 
+<!--
+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.
+-->
+
 After you determine the maximum transmission rate, configure and tune your production system.
 
 <a id="multicast__section_8E225FC6829946C287552BC7996F2765"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/multicast_communication_provisioning_bandwidth.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/multicast_communication_provisioning_bandwidth.html.md.erb b/geode-docs/managing/monitor_tune/multicast_communication_provisioning_bandwidth.html.md.erb
index d236823..402590f 100644
--- a/geode-docs/managing/monitor_tune/multicast_communication_provisioning_bandwidth.html.md.erb
+++ b/geode-docs/managing/monitor_tune/multicast_communication_provisioning_bandwidth.html.md.erb
@@ -2,6 +2,23 @@
 title:  Provisioning Bandwidth for Multicast
 ---
 
+<!--
+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.
+-->
+
 Multicast installations require more planning and configuration than TCP installations. With IP multicast, you gain scalability but lose the administrative convenience of TCP.
 
 <a id="multicast__section_B7DA88707CBF4713A1E287CAA9A80EB9"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/multicast_communication_runtime_considerations.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/multicast_communication_runtime_considerations.html.md.erb b/geode-docs/managing/monitor_tune/multicast_communication_runtime_considerations.html.md.erb
index b8445f2..77fd42b 100644
--- a/geode-docs/managing/monitor_tune/multicast_communication_runtime_considerations.html.md.erb
+++ b/geode-docs/managing/monitor_tune/multicast_communication_runtime_considerations.html.md.erb
@@ -2,6 +2,23 @@
 title:  Run-time Considerations for Multicast
 ---
 
+<!--
+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.
+-->
+
 When you use multicast for messaging and data distribution, you need to understand how the health monitoring setting works and how to control memory use.
 
 **Multicast Health Monitor**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/multicast_communication_testing_multicast_speed_limits.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/multicast_communication_testing_multicast_speed_limits.html.md.erb b/geode-docs/managing/monitor_tune/multicast_communication_testing_multicast_speed_limits.html.md.erb
index d339a55..1e8faa7 100644
--- a/geode-docs/managing/monitor_tune/multicast_communication_testing_multicast_speed_limits.html.md.erb
+++ b/geode-docs/managing/monitor_tune/multicast_communication_testing_multicast_speed_limits.html.md.erb
@@ -2,6 +2,23 @@
 title:  Testing Multicast Speed Limits
 ---
 
+<!--
+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.
+-->
+
 TCP automatically adjusts its speed to the capability of the processes using it and enforces bandwidth sharing so that every process gets a turn. With multicast, you must determine and explicitly set those limits.
 
 <a id="multicast__section_AB06591284DB4E9785EE79FBE1C59554"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/multicast_communication_troubleshooting.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/multicast_communication_troubleshooting.html.md.erb b/geode-docs/managing/monitor_tune/multicast_communication_troubleshooting.html.md.erb
index 9e99981..c7f9c48 100644
--- a/geode-docs/managing/monitor_tune/multicast_communication_troubleshooting.html.md.erb
+++ b/geode-docs/managing/monitor_tune/multicast_communication_troubleshooting.html.md.erb
@@ -2,6 +2,23 @@
 title:  Troubleshooting the Multicast Tuning Process
 ---
 
+<!--
+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.
+-->
+
 Several problems may arise during the initial testing and tuning process for multicasting.
 
 **Some or All Members Cannot Communicate**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/performance_controls.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/performance_controls.html.md.erb b/geode-docs/managing/monitor_tune/performance_controls.html.md.erb
index 79269a0..ddc713c 100644
--- a/geode-docs/managing/monitor_tune/performance_controls.html.md.erb
+++ b/geode-docs/managing/monitor_tune/performance_controls.html.md.erb
@@ -2,6 +2,23 @@
 title:  Performance Controls
 ---
 
+<!--
+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.
+-->
+
 This topic provides tuning suggestions of particular interest to developers, primarily programming techniques and cache configuration.
 
 Before you begin, you should understand Apache Geode [Basic Configuration and Programming](../../basic_config/book_intro.html).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/performance_controls_controlling_socket_use.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/performance_controls_controlling_socket_use.html.md.erb b/geode-docs/managing/monitor_tune/performance_controls_controlling_socket_use.html.md.erb
index 4e04445..d4327eb 100644
--- a/geode-docs/managing/monitor_tune/performance_controls_controlling_socket_use.html.md.erb
+++ b/geode-docs/managing/monitor_tune/performance_controls_controlling_socket_use.html.md.erb
@@ -2,6 +2,23 @@
 title:  Controlling Socket Use
 ---
 
+<!--
+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.
+-->
+
 For peer-to-peer communication, you can manage socket use at the system member level and at the thread level.
 
 The conserve-sockets setting indicates whether application threads share sockets with other threads or use their own sockets for distributed system member communication. This setting has no effect on communication between a server and its clients, but it does control the server\u2019s communication with its peers or a gateway sender's communication with a gateway receiver. In client/server settings in particular, where there can be a large number of clients for each server, controlling peer-to-peer socket use is an important part of tuning server performance.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/performance_controls_data_serialization.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/performance_controls_data_serialization.html.md.erb b/geode-docs/managing/monitor_tune/performance_controls_data_serialization.html.md.erb
index d393eb3..139f1bb 100644
--- a/geode-docs/managing/monitor_tune/performance_controls_data_serialization.html.md.erb
+++ b/geode-docs/managing/monitor_tune/performance_controls_data_serialization.html.md.erb
@@ -2,6 +2,23 @@
 title:  Data Serialization
 ---
 
+<!--
+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.
+-->
+
 In addition to standard Java serialization, Geode offers serialization options that give you higher performance and greater flexibility for data storage, transfers, and language types.
 
 Under *Developing with Apache Geode*, see [Data Serialization](../../developing/data_serialization/chapter_overview.html#data_serialization).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/performance_controls_increasing_cache_hits.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/performance_controls_increasing_cache_hits.html.md.erb b/geode-docs/managing/monitor_tune/performance_controls_increasing_cache_hits.html.md.erb
index 58fcb27..c3a4d13 100644
--- a/geode-docs/managing/monitor_tune/performance_controls_increasing_cache_hits.html.md.erb
+++ b/geode-docs/managing/monitor_tune/performance_controls_increasing_cache_hits.html.md.erb
@@ -2,6 +2,23 @@
 title:  Increasing the Ratio of Cache Hits
 ---
 
+<!--
+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.
+-->
+
 The more frequently a get fails to find a valid value in the first cache and has to try a second cache, the more the overall performance is affected.
 
 A common cause of misses is expiration or eviction of the entry. If you have a region\u2019s entry expiration or eviction enabled, monitor the region and entry statistics.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/performance_controls_managing_slow_receivers.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/performance_controls_managing_slow_receivers.html.md.erb b/geode-docs/managing/monitor_tune/performance_controls_managing_slow_receivers.html.md.erb
index fbbd329..30293d0 100644
--- a/geode-docs/managing/monitor_tune/performance_controls_managing_slow_receivers.html.md.erb
+++ b/geode-docs/managing/monitor_tune/performance_controls_managing_slow_receivers.html.md.erb
@@ -2,6 +2,23 @@
 title:  Management of Slow Receivers
 ---
 
+<!--
+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.
+-->
+
 You have several options for handling slow members that receive data distribution. The slow receiver options control only to peer-to-peer communication between distributed regions using TCP/IP. This topic does not apply to client/server or multi-site communication, or to communication using the UDP unicast or IP multicast protocols.
 
 Most of the options for handling slow members are related to on-site configuration during system integration and tuning. For this information, see [Slow Receivers with TCP/IP](slow_receivers.html).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/performance_controls_setting_cache_timeouts.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/performance_controls_setting_cache_timeouts.html.md.erb b/geode-docs/managing/monitor_tune/performance_controls_setting_cache_timeouts.html.md.erb
index bb84a5f..ca69a49 100644
--- a/geode-docs/managing/monitor_tune/performance_controls_setting_cache_timeouts.html.md.erb
+++ b/geode-docs/managing/monitor_tune/performance_controls_setting_cache_timeouts.html.md.erb
@@ -2,6 +2,23 @@
 title:  Setting Cache Timeouts
 ---
 
+<!--
+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.
+-->
+
 Cache timeout properties can modified through the gfsh `alter runtime` command (or declared in the `cache.xml` file) and can also be set through methods of the interface, `org.apache.geode.cache.Cache`.
 
 To modify cache timeout properties, you can issue the following `gfsh alter             runtime` command. For example:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/slow_messages.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/slow_messages.html.md.erb b/geode-docs/managing/monitor_tune/slow_messages.html.md.erb
index 481c396..7150802 100644
--- a/geode-docs/managing/monitor_tune/slow_messages.html.md.erb
+++ b/geode-docs/managing/monitor_tune/slow_messages.html.md.erb
@@ -2,6 +2,23 @@
 title:  Slow distributed-ack Messages
 ---
 
+<!--
+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.
+-->
+
 In systems with distributed-ack regions, a sudden large number of distributed-no-ack operations can cause distributed-ack operations to take a long time to complete.
 
 The `distributed-no-ack` operations can come from anywhere. They may be updates to `distributed-no-ack` regions or they may be other `distributed-no-ack` operations, like destroys, performed on any region in the cache, including the `distributed-ack` regions.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/slow_receivers.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/slow_receivers.html.md.erb b/geode-docs/managing/monitor_tune/slow_receivers.html.md.erb
index 8960d913..5e4aebe 100644
--- a/geode-docs/managing/monitor_tune/slow_receivers.html.md.erb
+++ b/geode-docs/managing/monitor_tune/slow_receivers.html.md.erb
@@ -2,6 +2,23 @@
 title:  Slow Receivers with TCP/IP
 ---
 
+<!--
+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.
+-->
+
 You have several options for preventing situations that can cause slow receivers of data distributions. The slow receiver options control only peer-to-peer communication using TCP/IP. This discussion does not apply to client/server or multi-site communication, or to communication using the UDP unicast or multicast protocols.
 
 Before you begin, you should understand Geode [Basic Configuration and Programming](../../basic_config/book_intro.html).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/slow_receivers_managing.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/slow_receivers_managing.html.md.erb b/geode-docs/managing/monitor_tune/slow_receivers_managing.html.md.erb
index 9bc4302..49e93c4 100644
--- a/geode-docs/managing/monitor_tune/slow_receivers_managing.html.md.erb
+++ b/geode-docs/managing/monitor_tune/slow_receivers_managing.html.md.erb
@@ -2,6 +2,23 @@
 title:  Managing Slow Receivers
 ---
 
+<!--
+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.
+-->
+
 If the receiver fails to receive a message, the sender continues to attempt to deliver the message as long as the receiving member is still in the distributed system.
 
 During the retry cycle, Geode throws warnings that include this string:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/slow_receivers_preventing_problems.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/slow_receivers_preventing_problems.html.md.erb b/geode-docs/managing/monitor_tune/slow_receivers_preventing_problems.html.md.erb
index 1a6d256..ec0c199 100644
--- a/geode-docs/managing/monitor_tune/slow_receivers_preventing_problems.html.md.erb
+++ b/geode-docs/managing/monitor_tune/slow_receivers_preventing_problems.html.md.erb
@@ -2,6 +2,23 @@
 title:  Preventing Slow Receivers
 ---
 
+<!--
+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.
+-->
+
 During system integration, you can identify and eliminate potential causes of slow receivers in peer-to-peer communication.
 
 Work with your network administrator to eliminate any problems you identify.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/socket_communication.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/socket_communication.html.md.erb b/geode-docs/managing/monitor_tune/socket_communication.html.md.erb
index 99d2117..a97986a 100644
--- a/geode-docs/managing/monitor_tune/socket_communication.html.md.erb
+++ b/geode-docs/managing/monitor_tune/socket_communication.html.md.erb
@@ -2,6 +2,23 @@
 title:  Socket Communication
 ---
 
+<!--
+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.
+-->
+
 Geode processes communicate using TCP/IP and UDP unicast and multicast protocols. In all cases, communication uses sockets that you can tune to optimize performance.
 
 The adjustments you make to tune your Geode communication may run up against operating system limits. If this happens, check with your system administrator about adjusting the operating system settings.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/socket_communication_ephemeral_tcp_port_limits.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/socket_communication_ephemeral_tcp_port_limits.html.md.erb b/geode-docs/managing/monitor_tune/socket_communication_ephemeral_tcp_port_limits.html.md.erb
index e0dc158..3df570a 100644
--- a/geode-docs/managing/monitor_tune/socket_communication_ephemeral_tcp_port_limits.html.md.erb
+++ b/geode-docs/managing/monitor_tune/socket_communication_ephemeral_tcp_port_limits.html.md.erb
@@ -2,6 +2,23 @@
 title:  Ephemeral TCP Port Limits
 ---
 
+<!--
+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.
+-->
+
 By default, Windows\u2019 ephemeral ports are within the range 1024-4999, inclusive.You can increase the range.
 
 <a id="socket_comm__section_F535D5D99206498DBBD5A6CC3230F25B"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/socket_communication_have_enough_sockets.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/socket_communication_have_enough_sockets.html.md.erb b/geode-docs/managing/monitor_tune/socket_communication_have_enough_sockets.html.md.erb
index fcc2416..a075e08 100644
--- a/geode-docs/managing/monitor_tune/socket_communication_have_enough_sockets.html.md.erb
+++ b/geode-docs/managing/monitor_tune/socket_communication_have_enough_sockets.html.md.erb
@@ -2,6 +2,23 @@
 title:  Making Sure You Have Enough Sockets
 ---
 
+<!--
+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.
+-->
+
 The number of sockets available to your applications is governed by operating system limits.
 
 Sockets use file descriptors and the operating system\u2019s view of your application\u2019s socket use is expressed in terms of file descriptors. There are two limits, one on the maximum descriptors available to a single application and the other on the total number of descriptors available in the system. If you get error messages telling you that you have too many files open, you might be hitting the operating system limits with your use of sockets. Your system administrator might be able to increase the system limits so that you have more available. You can also tune your members to use fewer sockets for their outgoing connections. This section discusses socket use in Geode and ways to limit socket consumption in your Geode members.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/socket_communication_setting_socket_buffer_sizes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/socket_communication_setting_socket_buffer_sizes.html.md.erb b/geode-docs/managing/monitor_tune/socket_communication_setting_socket_buffer_sizes.html.md.erb
index 8af18c8..41884a2 100644
--- a/geode-docs/managing/monitor_tune/socket_communication_setting_socket_buffer_sizes.html.md.erb
+++ b/geode-docs/managing/monitor_tune/socket_communication_setting_socket_buffer_sizes.html.md.erb
@@ -2,6 +2,23 @@
 title:  Setting Socket Buffer Sizes
 ---
 
+<!--
+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.
+-->
+
 When you determine buffer size settings, you try to strike a balance between communication needs and other processing.
 
 Larger socket buffers allow your members to distribute data and events more quickly, but they also take memory away from other things. If you store very large data objects in your cache, finding the right sizing for your buffers while leaving enough memory for the cached data can become critical to system performance.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/socket_communication_tcpip_p2p_handshake_timeouts.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/socket_communication_tcpip_p2p_handshake_timeouts.html.md.erb b/geode-docs/managing/monitor_tune/socket_communication_tcpip_p2p_handshake_timeouts.html.md.erb
index e33dd9c..486c337 100644
--- a/geode-docs/managing/monitor_tune/socket_communication_tcpip_p2p_handshake_timeouts.html.md.erb
+++ b/geode-docs/managing/monitor_tune/socket_communication_tcpip_p2p_handshake_timeouts.html.md.erb
@@ -2,6 +2,23 @@
 title:  TCP/IP Peer-to-Peer Handshake Timeouts
 ---
 
+<!--
+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.
+-->
+
 You can alleviate connection handshake timeouts for TCP/IP connections by increasing the connection handshake timeout interval with the system property p2p.handshakeTimeoutMs.
 
 The default setting is 59000 milliseconds.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/socket_tcp_keepalive.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/socket_tcp_keepalive.html.md.erb b/geode-docs/managing/monitor_tune/socket_tcp_keepalive.html.md.erb
index b960fd4..f5512bf 100644
--- a/geode-docs/managing/monitor_tune/socket_tcp_keepalive.html.md.erb
+++ b/geode-docs/managing/monitor_tune/socket_tcp_keepalive.html.md.erb
@@ -2,6 +2,23 @@
 title:  TCP/IP KeepAlive Configuration
 ---
 
+<!--
+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.
+-->
+
 Geode supports TCP KeepAlive to prevent socket connections from being timed out.
 
 The `gemfire.enableTcpKeepAlive` system property prevents connections that appear idle from being timed out (for example, by a firewall.) When configured to true, Geode enables the SO\_KEEPALIVE option for individual sockets. This operating system-level setting allows the socket to send verification checks (ACK requests) to remote systems in order to determine whether or not to keep the socket connection alive.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/sockets_and_gateways.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/sockets_and_gateways.html.md.erb b/geode-docs/managing/monitor_tune/sockets_and_gateways.html.md.erb
index 4910453..ca20bf8 100644
--- a/geode-docs/managing/monitor_tune/sockets_and_gateways.html.md.erb
+++ b/geode-docs/managing/monitor_tune/sockets_and_gateways.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configuring Sockets in Multi-Site (WAN) Deployments
 ---
 
+<!--
+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.
+-->
+
 When you determine buffer size settings, you try to strike a balance between communication needs and other processing.
 
 This table lists the settings for gateway relationships and protocols, and tells where to set them.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/system_member_performance.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/system_member_performance.html.md.erb b/geode-docs/managing/monitor_tune/system_member_performance.html.md.erb
index 72cfe8a..49b9f62 100644
--- a/geode-docs/managing/monitor_tune/system_member_performance.html.md.erb
+++ b/geode-docs/managing/monitor_tune/system_member_performance.html.md.erb
@@ -2,6 +2,23 @@
 title:  System Member Performance
 ---
 
+<!--
+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.
+-->
+
 You can modify some configuration parameters to improve system member performance.
 
 Before doing so, you should understand [Basic Configuration and Programming](../../basic_config/book_intro.html).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/system_member_performance_connection_thread_settings.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/system_member_performance_connection_thread_settings.html.md.erb b/geode-docs/managing/monitor_tune/system_member_performance_connection_thread_settings.html.md.erb
index 0c13022..42aedb5 100644
--- a/geode-docs/managing/monitor_tune/system_member_performance_connection_thread_settings.html.md.erb
+++ b/geode-docs/managing/monitor_tune/system_member_performance_connection_thread_settings.html.md.erb
@@ -2,6 +2,23 @@
 title:  Connection Thread Settings and Performance
 ---
 
+<!--
+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.
+-->
+
 When many peer processes are started concurrently, you can improve the distributed system connect time can by setting the p2p.HANDSHAKE\_POOL\_SIZE system property value to the expected number of members.
 
 This property controls the number of threads that can be used to establish new TCP/IP connections between peer caches. The threads are discarded if they are idle for 60 seconds.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/system_member_performance_distributed_system_member.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/system_member_performance_distributed_system_member.html.md.erb b/geode-docs/managing/monitor_tune/system_member_performance_distributed_system_member.html.md.erb
index 6b885b9..2076c7a 100644
--- a/geode-docs/managing/monitor_tune/system_member_performance_distributed_system_member.html.md.erb
+++ b/geode-docs/managing/monitor_tune/system_member_performance_distributed_system_member.html.md.erb
@@ -2,6 +2,23 @@
 title:  Distributed System Member Properties
 ---
 
+<!--
+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.
+-->
+
 Several performance-related properties apply to a cache server or application that connects to the distributed system.
 
 -   **statistic-sampling-enabled**.Turning off statistics sampling saves resources, but it also takes away potentially valuable information for ongoing system tuning and unexpected system problems. If LRU eviction is configured, then statistics sampling must be on.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/system_member_performance_garbage.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/system_member_performance_garbage.html.md.erb b/geode-docs/managing/monitor_tune/system_member_performance_garbage.html.md.erb
index b9231ce..ef23dff 100644
--- a/geode-docs/managing/monitor_tune/system_member_performance_garbage.html.md.erb
+++ b/geode-docs/managing/monitor_tune/system_member_performance_garbage.html.md.erb
@@ -2,6 +2,23 @@
 title:  Garbage Collection and System Performance
 ---
 
+<!--
+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.
+-->
+
 If your application exhibits unacceptably high latencies, you might improve performance by modifying your JVM\u2019s garbage collection behavior.
 
 Garbage collection, while necessary, introduces latency into your system by consuming resources that would otherwise be available to your application. You can reduce the impact of garbage collection in two ways:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/system_member_performance_jvm_mem_settings.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/system_member_performance_jvm_mem_settings.html.md.erb b/geode-docs/managing/monitor_tune/system_member_performance_jvm_mem_settings.html.md.erb
index 08d5700..4440b25 100644
--- a/geode-docs/managing/monitor_tune/system_member_performance_jvm_mem_settings.html.md.erb
+++ b/geode-docs/managing/monitor_tune/system_member_performance_jvm_mem_settings.html.md.erb
@@ -2,6 +2,23 @@
 title:  JVM Memory Settings and System Performance
 ---
 
+<!--
+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.
+-->
+
 You configure JVM memory settings for the Java application by adding parameters to the java invocation. For the cache server, you add them to the command-line parameters for the gfsh `start server` command.
 
 -   JVM heap size\u2014Your JVM may require more memory than is allocated by default. For example, you may need to increase heap size for an application that stores a lot of data. You can set a maximum size and an initial size, so if you know you will be using the maximum (or close to it) for the life of the member, you can speed memory allocation time by setting the initial size to the maximum. This sets both the maximum and initial memory sizes to 1024 megabytes for a Java application:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/monitor_tune/udp_communication.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/udp_communication.html.md.erb b/geode-docs/managing/monitor_tune/udp_communication.html.md.erb
index 2f85709..4a5d3c0 100644
--- a/geode-docs/managing/monitor_tune/udp_communication.html.md.erb
+++ b/geode-docs/managing/monitor_tune/udp_communication.html.md.erb
@@ -2,6 +2,23 @@
 title:  UDP Communication
 ---
 
+<!--
+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.
+-->
+
 You can make configuration adjustments to improve multicast and unicast UDP performance of peer-to-peer communication.
 
 You can tune your Geode UDP messaging to maximize throughput. There are two main tuning goals: to use the largest reasonable datagram packet sizes and to reduce retransmission rates. These actions reduce messaging overhead and overall traffic on your network while still getting your data where it needs to go. Geode also provides statistics to help you decide when to change your UDP messaging settings.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/network_partitioning/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/network_partitioning/chapter_overview.html.md.erb b/geode-docs/managing/network_partitioning/chapter_overview.html.md.erb
index 62a10bf..98d3c0b 100644
--- a/geode-docs/managing/network_partitioning/chapter_overview.html.md.erb
+++ b/geode-docs/managing/network_partitioning/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Network Partitioning
 ---
 
+<!--
+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.
+-->
+
 Apache Geode architecture and management features help detect and resolve network partition problems.
 
 -   **[How Network Partitioning Management Works](../../managing/network_partitioning/how_network_partitioning_management_works.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/network_partitioning/failure_detection.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/network_partitioning/failure_detection.html.md.erb b/geode-docs/managing/network_partitioning/failure_detection.html.md.erb
index 055cc42..223b3d9 100644
--- a/geode-docs/managing/network_partitioning/failure_detection.html.md.erb
+++ b/geode-docs/managing/network_partitioning/failure_detection.html.md.erb
@@ -2,6 +2,23 @@
 title:  Failure Detection and Membership Views
 ---
 
+<!--
+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.
+-->
+
 Geode uses failure detection to remove unresponsive members from membership views.
 
 ## <a id="concept_CFD13177F78C456095622151D6EE10EB__section_1AAE6C92FED249EFBA476D8A480B8E51" class="no-quick-link"></a>Failure Detection

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/network_partitioning/handling_network_partitioning.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/network_partitioning/handling_network_partitioning.html.md.erb b/geode-docs/managing/network_partitioning/handling_network_partitioning.html.md.erb
index 70e9668..61a2576 100644
--- a/geode-docs/managing/network_partitioning/handling_network_partitioning.html.md.erb
+++ b/geode-docs/managing/network_partitioning/handling_network_partitioning.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configure Apache Geode to Handle Network Partitioning
 ---
 
+<!--
+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.
+-->
+
 This section lists the configuration steps for network partition detection.
 
 <a id="handling_network_partitioning__section_EAF1957B6446491A938DEFB06481740F"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/network_partitioning/how_network_partitioning_management_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/network_partitioning/how_network_partitioning_management_works.html.md.erb b/geode-docs/managing/network_partitioning/how_network_partitioning_management_works.html.md.erb
index 157864d..e971634 100644
--- a/geode-docs/managing/network_partitioning/how_network_partitioning_management_works.html.md.erb
+++ b/geode-docs/managing/network_partitioning/how_network_partitioning_management_works.html.md.erb
@@ -2,6 +2,23 @@
 title:  How Network Partitioning Management Works
 ---
 
+<!--
+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.
+-->
+
 Geode handles network outages by using a weighting system to determine whether the remaining available members have a sufficient quorum to continue as a distributed system.
 
 <a id="how_network_partitioning_management_works__section_548146BB8C24412CB7B43E6640272882"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/network_partitioning/membership_coordinators_lead_members_and_weighting.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/network_partitioning/membership_coordinators_lead_members_and_weighting.html.md.erb b/geode-docs/managing/network_partitioning/membership_coordinators_lead_members_and_weighting.html.md.erb
index cfade68..cb21f54 100644
--- a/geode-docs/managing/network_partitioning/membership_coordinators_lead_members_and_weighting.html.md.erb
+++ b/geode-docs/managing/network_partitioning/membership_coordinators_lead_members_and_weighting.html.md.erb
@@ -2,6 +2,23 @@
 title:  Membership Coordinators, Lead Members and Member Weighting
 ---
 
+<!--
+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.
+-->
+
 Network partition detection uses a designated membership coordinator and a weighting system that accounts for a lead member to determine whether a network partition has occurred.
 
 ## <a id="concept_23C2606D59754106AFBFE17515DF4330__section_7C67F1D30C1645CC8489E481873691D9" class="no-quick-link"></a>Membership Coordinators and Lead Members

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/network_partitioning/network_partitioning_scenarios.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/network_partitioning/network_partitioning_scenarios.html.md.erb b/geode-docs/managing/network_partitioning/network_partitioning_scenarios.html.md.erb
index 4009792..a90b3f1 100644
--- a/geode-docs/managing/network_partitioning/network_partitioning_scenarios.html.md.erb
+++ b/geode-docs/managing/network_partitioning/network_partitioning_scenarios.html.md.erb
@@ -2,6 +2,23 @@
 title:  Network Partitioning Scenarios
 ---
 
+<!--
+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.
+-->
+
 This topic describes network partitioning scenarios and what happens to the partitioned sides of the distributed system.
 
 <img src="../../images_svg/network_partition_scenario.svg" id="concept_357ABE91AAA042D2A20328BD01FEB882__image_6ED88C6911EE4C68A19353ABD7B1552A" class="image" />

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/network_partitioning/preventing_network_partitions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/network_partitioning/preventing_network_partitions.html.md.erb b/geode-docs/managing/network_partitioning/preventing_network_partitions.html.md.erb
index b18b600..6a983f5 100644
--- a/geode-docs/managing/network_partitioning/preventing_network_partitions.html.md.erb
+++ b/geode-docs/managing/network_partitioning/preventing_network_partitions.html.md.erb
@@ -2,6 +2,23 @@
 title:  Preventing Network Partitions
 ---
 
+<!--
+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.
+-->
+
 This section provides a short list of things you can do to prevent a network partition from occurring.
 
 To avoid a network partition:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/region_compression/region_compression.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/region_compression/region_compression.html.md.erb b/geode-docs/managing/region_compression/region_compression.html.md.erb
index d664a7b..c85d1e1 100644
--- a/geode-docs/managing/region_compression/region_compression.html.md.erb
+++ b/geode-docs/managing/region_compression/region_compression.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: Region Compression
 ---
+
+<!--
+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="topic_r43_wgc_gl"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/security/authentication_examples.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/authentication_examples.html.md.erb b/geode-docs/managing/security/authentication_examples.html.md.erb
index 6e0d050..b7634c8 100644
--- a/geode-docs/managing/security/authentication_examples.html.md.erb
+++ b/geode-docs/managing/security/authentication_examples.html.md.erb
@@ -2,6 +2,23 @@
 title:  Authentication Example
 ---
 
+<!--
+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.
+-->
+
 This example demonstrates the basics of an implementation of the
 `SecurityManager.authenticate` method.
 The remainder of the example may be found within the Apache Geode

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/security/authentication_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/authentication_overview.html.md.erb b/geode-docs/managing/security/authentication_overview.html.md.erb
index fe38e10..de8088e 100644
--- a/geode-docs/managing/security/authentication_overview.html.md.erb
+++ b/geode-docs/managing/security/authentication_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Authentication
 ---
 
+<!--
+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.
+-->
+
 Authentication verifies the identities of components within the distributed
 system such as peers, clients, and those connecting to a JMX manager.
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/security/authorization_example.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/authorization_example.html.md.erb b/geode-docs/managing/security/authorization_example.html.md.erb
index 9d03f65..2e725a1 100644
--- a/geode-docs/managing/security/authorization_example.html.md.erb
+++ b/geode-docs/managing/security/authorization_example.html.md.erb
@@ -2,6 +2,23 @@
 title:  Authorization Example
 ---
 
+<!--
+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.
+-->
+
 This example demonstrates the basics of an implementation of the
 `SecurityManager.authorize` method.
 The remainder of the example may be found within the Apache Geode

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/security/authorization_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/authorization_overview.html.md.erb b/geode-docs/managing/security/authorization_overview.html.md.erb
index 6ca014a..beca4f2 100644
--- a/geode-docs/managing/security/authorization_overview.html.md.erb
+++ b/geode-docs/managing/security/authorization_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Authorization
 ---
 
+<!--
+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.
+-->
+
 Distributed system and cache operations can be restricted, intercepted and
 modifed, or completely blocked based on configured access rights set for
 the various distributed system entities. 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/security/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/chapter_overview.html.md.erb b/geode-docs/managing/security/chapter_overview.html.md.erb
index 88df5d8..98990f6 100644
--- a/geode-docs/managing/security/chapter_overview.html.md.erb
+++ b/geode-docs/managing/security/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Security
 ---
 
+<!--
+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.
+-->
+
 The security framework permits authentication of connecting components and authorization of operations for all communicating components of the distributed system.
 
 -   **[Security Implementation Introduction and Overview](../../managing/security/implementing_security.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/security/enable_security.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/enable_security.html.md.erb b/geode-docs/managing/security/enable_security.html.md.erb
index c6b4e33..051180c 100644
--- a/geode-docs/managing/security/enable_security.html.md.erb
+++ b/geode-docs/managing/security/enable_security.html.md.erb
@@ -2,6 +2,23 @@
 title:  Enable Security with Property Definitions
 ---
 
+<!--
+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.
+-->
+
 
 ## security-manager Property
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/security/encrypting_passwords.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/encrypting_passwords.html.md.erb b/geode-docs/managing/security/encrypting_passwords.html.md.erb
index 8104c29..975727e 100644
--- a/geode-docs/managing/security/encrypting_passwords.html.md.erb
+++ b/geode-docs/managing/security/encrypting_passwords.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: Encrypting Passwords for Use in cache.xml
 ---
+
+<!--
+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="topic_730CC61BA84F421494956E2B98BDE2A1"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/security/encrypting_with_diffie_helman.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/encrypting_with_diffie_helman.html.md.erb b/geode-docs/managing/security/encrypting_with_diffie_helman.html.md.erb
index bc44fd8..2dd91cb 100644
--- a/geode-docs/managing/security/encrypting_with_diffie_helman.html.md.erb
+++ b/geode-docs/managing/security/encrypting_with_diffie_helman.html.md.erb
@@ -2,6 +2,23 @@
 title:  Encrypt Credentials with Diffie-Hellman
 ---
 
+<!--
+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.
+-->
+
 For secure transmission of sensitive information, like passwords, you can encrypt credentials using the Diffie-Hellman key exchange algorithm.
 
 This encryption applies only to client/server authentication - not peer-to-peer authentication.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/security/implementing_authentication.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/implementing_authentication.html.md.erb b/geode-docs/managing/security/implementing_authentication.html.md.erb
index a605e1b..374a95e 100644
--- a/geode-docs/managing/security/implementing_authentication.html.md.erb
+++ b/geode-docs/managing/security/implementing_authentication.html.md.erb
@@ -2,6 +2,23 @@
 title:  Implementing Authentication
 ---
 
+<!--
+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.
+-->
+
 Authentication lends a measure of security to a distributed system
 by verifying the identity of components as they connect to the system.
 All components use the same authentication mechanism.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/security/implementing_authorization.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/implementing_authorization.html.md.erb b/geode-docs/managing/security/implementing_authorization.html.md.erb
index 3fd4816..ec47133 100644
--- a/geode-docs/managing/security/implementing_authorization.html.md.erb
+++ b/geode-docs/managing/security/implementing_authorization.html.md.erb
@@ -2,6 +2,23 @@
 title:  Implementing Authorization
 ---
 
+<!--
+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.
+-->
+
 ## How Authorization Works
 
 When a component requests an operation,



[48/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/configuring/running/deploying_config_jar_files.html.md.erb
----------------------------------------------------------------------
diff --git a/configuring/running/deploying_config_jar_files.html.md.erb b/configuring/running/deploying_config_jar_files.html.md.erb
deleted file mode 100644
index bf855c6..0000000
--- a/configuring/running/deploying_config_jar_files.html.md.erb
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title:  Deploying Configuration Files in JAR Files
----
-
-This section provides a procedure and an example for deploying configuration files in JAR files.
-
-**Procedure**
-
-1.  Jar the files.
-2.  Set the Apache Geode system properties to point to the files as they reside in the jar file.
-3.  Include the jar file in your `CLASSPATH.`
-4.  Verify the jar file copies are the only ones visible to the application at runtime. Geode searches the `CLASSPATH` after searching other locations, so the files cannot be available in the other search areas.
-5.  Start your application. The configuration file is loaded from the jar file.
-
-**Example of Deploying a Configuration JAR**
-
-The following example deploys the cache configuration file, `myCache.xml`, in `my.jar`. The following displays the contents of `my.jar`:
-
-``` pre
-% jar -tf my.jar 
-META-INF 
-META-INF/MANIFEST.MF 
-myConfig/ 
-myConfig/myCache.xml
-```
-
-In this example, you would perform the following steps to deploy the configuration jar file:
-
-1.  Set the system property, `gemfire.cache-xml-file`, to `myConfig/myCache.xml`
-2.  Set your `CLASSPATH` to include `my.jar`.
-3.  Verify there is no file named `myCache.xml` in `./myConfig/myCache.xml`, the current directory location of the file
-
-When you start your application, the configuration file is loaded from the jar file.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/configuring/running/firewall_ports_config.html.md.erb
----------------------------------------------------------------------
diff --git a/configuring/running/firewall_ports_config.html.md.erb b/configuring/running/firewall_ports_config.html.md.erb
deleted file mode 100644
index 4f90602..0000000
--- a/configuring/running/firewall_ports_config.html.md.erb
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title:  Firewall Considerations
----
-
-You can configure and limit port usage for situations that involve firewalls, for example, between client-server or server-server connections.
-
--   **[Firewalls and Connections](../../configuring/running/firewalls_connections.html)**
-
-    Be aware of possible connection problems that can result from running a firewall on your machine.
-
--   **[Firewalls and Ports](../../configuring/running/firewalls_ports.html)**
-
-    Make sure your port settings are configured correctly for firewalls.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/configuring/running/firewalls_connections.html.md.erb
----------------------------------------------------------------------
diff --git a/configuring/running/firewalls_connections.html.md.erb b/configuring/running/firewalls_connections.html.md.erb
deleted file mode 100644
index 3ae6bb1..0000000
--- a/configuring/running/firewalls_connections.html.md.erb
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title:  Firewalls and Connections
----
-
-Be aware of possible connection problems that can result from running a firewall on your machine.
-
-Apache Geode is a network-centric distributed system, so if you have a firewall running on your machine it could cause connection problems. For example, your connections may fail if your firewall places restrictions on inbound or outbound permissions for Java-based sockets. You may need to modify your firewall configuration to permit traffic to Java applications running on your machine. The specific configuration depends on the firewall you are using.
-
-As one example, firewalls may close connections to Geode due to timeout settings. If a firewall senses no activity in a certain time period, it may close a connection and open a new connection when activity resumes, which can cause some confusion about which connections you have.
-
-For more information on how Geode client and servers connect, see the following topics:
-
--   [How Client/Server Connections Work](../../topologies_and_comm/topology_concepts/how_the_pool_manages_connections.html#how_the_pool_manages_connections)
--   [Socket Communication](../../managing/monitor_tune/socket_communication.html)
--   [Controlling Socket Use](../../managing/monitor_tune/performance_controls_controlling_socket_use.html#perf)
--   [Setting Socket Buffer Sizes](../../managing/monitor_tune/socket_communication_setting_socket_buffer_sizes.html)
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/configuring/running/firewalls_multisite.html.md.erb
----------------------------------------------------------------------
diff --git a/configuring/running/firewalls_multisite.html.md.erb b/configuring/running/firewalls_multisite.html.md.erb
deleted file mode 100644
index ace18d7..0000000
--- a/configuring/running/firewalls_multisite.html.md.erb
+++ /dev/null
@@ -1,70 +0,0 @@
----
-title:  Firewalls and Ports in Multi-Site (WAN) Configurations
----
-
-Make sure your port settings are configured correctly for firewalls.
-
-<a id="concept_pfs_sf4_ft__section_alm_2g4_ft"></a>
-Each gateway receiver uses a port to listen for incoming communication from one or more gateway senders communication between GemFire sites. The full range of port values for gateway receivers must be made accessible within the firewall from across the WAN.
-
-## **Properties for Firewall and Port Configuration in Multi-Site (WAN) Configurations**
-
-This table contains properties potentially involved in firewall behavior, with a brief description of each property. Click on a property name for a link to the [gemfire.properties and gfsecurity.properties (GemFire Properties)](../../reference/topics/gemfire_properties.html#gemfire_properties) reference topic.
-
-<table>
-<colgroup>
-<col width="33%" />
-<col width="33%" />
-<col width="33%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th>Configuration Area</th>
-<th><strong>Property or Setting</strong></th>
-<th><strong>Definition</strong></th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td>multi-site (WAN) config</td>
-<td><p>[hostname-for-senders](../../reference/topics/gfe_cache_xml.html#gateway-receiver)</p></td>
-<td><p>Hostname or IP address of the gateway receiver used by gateway senders to connect.</p></td>
-</tr>
-<tr class="even">
-<td>multi-site (WAN) config</td>
-<td>[remote-locators](../../reference/topics/gemfire_properties.html#gemfire_properties)</td>
-<td><p>List of locators (and their ports) that are available on the remote WAN site.</p></td>
-</tr>
-<tr class="odd">
-<td>multi-site (WAN) config</td>
-<td><p>[start-port](../../reference/topics/gfe_cache_xml.html#gateway-receiver) and [end-port](../../reference/topics/gfe_cache_xml.html#gateway-receiver) (cache.xml) or <code class="ph codeph">--start-port</code> and <code class="ph codeph">--end-port</code> parameters to the gfsh start gateway receiver command</p></td>
-<td><p>Port range that the gateway receiver can use to listen for gateway sender communication.</p></td>
-</tr>
-</tbody>
-</table>
-
-## Default Port Configuration
-
-<table>
-<colgroup>
-<col width="33%" />
-<col width="33%" />
-<col width="33%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th><p><strong>Port Name</strong></p></th>
-<th>Related Configuration Setting</th>
-<th><p><strong>Default Port</strong></p></th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td><p>Gateway Receiver</p></td>
-<td><p>[start-port](../../reference/topics/gfe_cache_xml.html#gateway-receiver) and [end-port](../../reference/topics/gfe_cache_xml.html#gateway-receiver) (cache.xml) or <code class="ph codeph">--start-port</code> and <code class="ph codeph">--end-port</code> parameters to the <code class="ph codeph">gfsh start gateway receiver</code> command</p></td>
-<td><em>not set</em> Each gateway receiver uses a single port to accept connections from gateway senders in other systems. However, the configuration of a gateway receiver specifies a range of possible port values to use. GemFire selects an available port from the specified range when the gateway receiver starts. Configure your firewall so that the full range of possible port values is accessible by gateway senders from across the WAN.</td>
-</tr>
-</tbody>
-</table>
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/configuring/running/firewalls_ports.html.md.erb
----------------------------------------------------------------------
diff --git a/configuring/running/firewalls_ports.html.md.erb b/configuring/running/firewalls_ports.html.md.erb
deleted file mode 100644
index e278e5c..0000000
--- a/configuring/running/firewalls_ports.html.md.erb
+++ /dev/null
@@ -1,229 +0,0 @@
----
-title:  Firewalls and Ports
----
-
-Make sure your port settings are configured correctly for firewalls.
-
-<a id="concept_5ED182BDBFFA4FAB89E3B81366EBC58E__section_F9C1D7419F954DC1A305C34714C8615C"></a>
-There are several different port settings that need to be considered when using firewalls:
-
--   Port that the cache server listens on. This is configurable using the `cache-server` element in cache.xml, on the CacheServer class in Java APIs, and as a command line option to the `gfsh start server` command.
-
-    By default, if not otherwise specified, Geode clients and servers discover each other on a pre-defined port (**40404**) on the localhost.
-
--   Locator port. Geode clients can use the locator to automatically discover cache servers. The locator port is configurable as a command-line option to the `gfsh start locator` command. Locators are used in the peer-to-peer cache deployments to discover other processes. They can be used by clients to locate servers as an alternative to configuring clients with a collection of server addresses and ports.
-
-    By default, if not otherwise specified, Geode locators use the default multicast port **10334**.
-
--   Since locators start up the distributed system, locators must also have their ephemeral port range and TCP port accessible to other members through the firewall.
--   For clients, you configure the client to connect to servers using the client's pool configuration. The client's pool configuration has two options: you can create a pool with either a list of server elements or a list of locator elements. For each element, you specify the host and port. The ports specified must be made accessible through your firewall.
-
-## **Limiting Ephemeral Ports for Peer-to-Peer Membership**
-
-By default, Geode assigns *ephemeral* ports, that is, temporary ports assigned from a designated range, which can encompass a large number of possible ports. When a firewall is present, the ephemeral port range usually must be limited to a much smaller number, for example six. If you are configuring P2P communications through a firewall, you must also set the TCP port for each process and ensure that UDP traffic is allowed through the firewall.
-
-## **Properties for Firewall and Port Configuration**
-
-This table contains properties potentially involved in firewall behavior, with a brief description of each property. Click on a property name for a link to the reference topic.
-
-<table>
-<colgroup>
-<col width="33%" />
-<col width="33%" />
-<col width="34%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th><strong>Configuration area</strong></th>
-<th><strong>Property or Setting</strong></th>
-<th><strong>Definition</strong></th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td>peer-to-peer config</td>
-<td><p><code class="ph codeph">conserve-sockets</code></p></td>
-<td><p>Specifies whether sockets are shared by the system member's threads.</p></td>
-</tr>
-<tr class="even">
-<td>peer-to-peer config</td>
-<td><p><code class="ph codeph">locators</code></p></td>
-<td><p>The list of locators used by system members. The list must be configured consistently for every member of the distributed system.</p></td>
-</tr>
-<tr class="odd">
-<td>peer-to-peer config</td>
-<td><p><code class="ph codeph">mcast-address</code></p></td>
-<td><p>Address used to discover other members of the distributed system. Only used if mcast-port is non-zero. This attribute must be consistent across the distributed system.</p></td>
-</tr>
-<tr class="even">
-<td>peer-to-peer config</td>
-<td><p><code class="ph codeph">mcast-port</code></p></td>
-<td><p>Port used, along with the mcast-address, for multicast communication with other members of the distributed system. If zero, multicast is disabled for data distribution.</p></td>
-</tr>
-<tr class="odd">
-<td>peer-to-peer config</td>
-<td><p><code class="ph codeph">membership-port-range</code></p></td>
-<td><p>The range of ephemeral ports available for unicast UDP messaging and for TCP failure detection in the peer-to-peer distributed system.</p></td>
-</tr>
-<tr class="even">
-<td>peer-to-peer config</td>
-<td><p><code class="ph codeph">tcp-port</code></p></td>
-<td><p>The TCP port to listen on for cache communications.</p></td>
-</tr>
-</tbody>
-</table>
-
-<table>
-<colgroup>
-<col width="33%" />
-<col width="33%" />
-<col width="33%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th>Configuration Area</th>
-<th><strong>Property or Setting</strong></th>
-<th><strong>Definition</strong></th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td>cache server config</td>
-<td><p><code class="ph codeph">hostname-for-clients</code></p></td>
-<td><p>Hostname or IP address to pass to the client as the location where the server is listening.</p></td>
-</tr>
-<tr class="even">
-<td>cache server config</td>
-<td><p><code class="ph codeph">max-connections</code></p></td>
-<td><p>Maximum number of client connections for the server. When the maximum is reached, the server refuses additional client connections.</p></td>
-</tr>
-<tr class="odd">
-<td>cache server config</td>
-<td><p><code class="ph codeph">port</code> (cache.xml) or <code class="ph codeph">--port</code> parameter to the <code class="ph codeph">gfsh start server</code> command</p></td>
-<td><p>Port that the server listens on for client communication.</p></td>
-</tr>
-</tbody>
-</table>
-
-## Default Port Configurations
-
-<table>
-<colgroup>
-<col width="33%" />
-<col width="33%" />
-<col width="33%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th><p><strong>Port Name</strong></p></th>
-<th>Related Configuration Setting</th>
-<th><p><strong>Default Port</strong></p></th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td><p>Cache Server</p></td>
-<td><p><code class="ph codeph">port</code> (cache.xml)</p></td>
-<td>40404</td>
-</tr>
-<tr class="even">
-<td><p>HTTP</p></td>
-<td><code class="ph codeph">http-service-port</code></td>
-<td>7070</td>
-</tr>
-<tr class="odd">
-<td><p>Locator</p></td>
-<td><code class="ph codeph">start-locator</code> (for embedded locators) or <code class="ph codeph">--port</code> parameter to the <code class="ph codeph">gfsh start locator</code> command.</td>
-<td><em>if not specified upon startup or in the start-locator property, uses default multicast port 10334</em></td>
-</tr>
-<tr class="even">
-<td><p>Membership Port Range</p></td>
-<td><code class="ph codeph">membership-port-range</code></td>
-<td>1024 to 65535</td>
-</tr>
-<tr class="odd">
-<td><p>Memcached Port</p></td>
-<td><code class="ph codeph">memcached-port</code></td>
-<td><em>not set</em></td>
-</tr>
-<tr class="even">
-<td><p>Multicast</p></td>
-<td><code class="ph codeph">mcast-port</code></td>
-<td>10334</td>
-</tr>
-<tr class="odd">
-<td><p>RMI</p></td>
-<td><code class="ph codeph">jmx-manager-port</code></td>
-<td>1099</td>
-</tr>
-<tr class="even">
-<td><p>TCP</p></td>
-<td><code class="ph codeph">tcp-port</code></td>
-<td>ephemeral port</td>
-</tr>
-</tbody>
-</table>
-
-## **Properties for Firewall and Port Configuration in Multi-Site (WAN) Configurations**
-
-Each gateway receiver uses a port to listen for incoming communication from one or more gateway senders communication between Geode sites. The full range of port values for gateway receivers must be made accessible within the firewall from across the WAN.
-
-This table contains properties potentially involved in firewall behavior, with a brief description of each property. Click on a property name for a link to the [gemfire.properties and gfsecurity.properties (Geode Properties)](../../reference/topics/gemfire_properties.html#gemfire_properties) reference topic.
-
-<table>
-<colgroup>
-<col width="33%" />
-<col width="33%" />
-<col width="33%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th>Configuration Area</th>
-<th><strong>Property or Setting</strong></th>
-<th><strong>Definition</strong></th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td>multi-site (WAN) config</td>
-<td><p>[hostname-for-senders](../../reference/topics/gfe_cache_xml.html#gateway-receiver)</p></td>
-<td><p>Hostname or IP address of the gateway receiver used by gateway senders to connect.</p></td>
-</tr>
-<tr class="even">
-<td>multi-site (WAN) config</td>
-<td>[remote-locators](../../reference/topics/gemfire_properties.html#gemfire_properties)</td>
-<td><p>List of locators (and their ports) that are available on the remote WAN site.</p></td>
-</tr>
-<tr class="odd">
-<td>multi-site (WAN) config</td>
-<td><p>[start-port](../../reference/topics/gfe_cache_xml.html#gateway-receiver) and [end-port](../../reference/topics/gfe_cache_xml.html#gateway-receiver) (cache.xml) or <code class="ph codeph">--start-port</code> and <code class="ph codeph">--end-port</code> parameters to the <code class=" ph codeph">gfsh start gateway receiver</code> command</p></td>
-<td><p>Port range that the gateway receiver can use to listen for gateway sender communication.</p></td>
-</tr>
-</tbody>
-</table>
-
-## Default Port Configuration
-
-<table>
-<colgroup>
-<col width="33%" />
-<col width="33%" />
-<col width="33%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th><p><strong>Port Name</strong></p></th>
-<th>Related Configuration Setting</th>
-<th><p><strong>Default Port</strong></p></th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td><p>Gateway Receiver</p></td>
-<td><p>[start-port](../../reference/topics/gfe_cache_xml.html#gateway-receiver) and [end-port](../../reference/topics/gfe_cache_xml.html#gateway-receiver) (cache.xml) or <code class="ph codeph">--start-port</code> and <code class="ph codeph">--end-port</code> parameters to the <code class="ph codeph">gfsh start gateway receiver</code> command</p></td>
-<td><em>not set</em> Each gateway receiver uses a single port to accept connections from gateway senders in other systems. However, the configuration of a gateway receiver specifies a range of possible port values to use. Geode selects an available port from the specified range when the gateway receiver starts. Configure your firewall so that the full range of possible port values is accessible by gateway senders from across the WAN.</td>
-</tr>
-</tbody>
-</table>
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/configuring/running/managing_output_files.html.md.erb
----------------------------------------------------------------------
diff --git a/configuring/running/managing_output_files.html.md.erb b/configuring/running/managing_output_files.html.md.erb
deleted file mode 100644
index 59f48aa..0000000
--- a/configuring/running/managing_output_files.html.md.erb
+++ /dev/null
@@ -1,16 +0,0 @@
----
-title:  Managing System Output Files
----
-
-Geode output files are optional and can become quite large. Work with your system administrator to determine where to place them to avoid interfering with other system activities.
-
-<a id="managing_output_files__section_F0CEA4299D274801B9AB700C074F178F"></a>
-Geode includes several types of optional output files as described below.
-
--   **Log Files**. Comprehensive logging messages to help you confirm system configuration and to debug problems in configuration and code. Configure log file behavior in the `gemfire.properties` file. See [Logging](../../managing/logging/logging.html#concept_30DB86B12B454E168B80BB5A71268865).
-
--   **Statistics Archive Files**. Standard statistics for caching and distribution activities, which you can archive on disk. Configure statistics collection and archival in the `gemfire.properties`, `archive-disk-space-limit` and `archive-file-size-limit`. See the [Reference](../../reference/book_intro.html#reference).
-
--   **Disk Store Files**. Hold persistent and overflow data from the cache. You can configure regions to persist data to disk for backup purposes or overflow to disk to control memory use. The subscription queues that servers use to send events to clients can be overflowed to disk. Gateway sender queues overflow to disk automatically and can be persisted for high availability. Configure these through the `cache.xml`. See [Disk Storage](../../managing/disk_storage/chapter_overview.html).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/configuring/running/running_the_cacheserver.html.md.erb
----------------------------------------------------------------------
diff --git a/configuring/running/running_the_cacheserver.html.md.erb b/configuring/running/running_the_cacheserver.html.md.erb
deleted file mode 100644
index 9de1189..0000000
--- a/configuring/running/running_the_cacheserver.html.md.erb
+++ /dev/null
@@ -1,182 +0,0 @@
----
-title:  Running Geode Server Processes
----
-
-A Geode server is a process that runs as a long-lived, configurable member of a client/server system.
-
-<a id="running_the_cacheserver__section_6C2B495518C04064A181E7917CA81FC1"></a>
-The Geode server is used primarily for hosting long-lived data regions and for running standard Geode processes such as the server in a client/server configuration. You can start and stop servers using the following methods:
-
--   The `gfsh` tool allows you to manage Geode server processes from the command line.
--   You can also start, stop and manage the Geode servers through the `org.apache.geode.distributed.ServerLauncher` API. The `ServerLauncher` API can only be used for Geode Servers that were started with `gfsh` or with the `ServerLauncher` class itself. See the JavaDocs for additional specifics on using the `ServerLauncher` API.
-
-## <a id="running_the_cacheserver__section_E15FB1B039CE4F6CB2E4B5618D7ECAA1" class="no-quick-link"></a>Default Server Configuration and Log Files
-
-The `gfsh` utility uses a working directory for its configuration files and log files. These are the defaults and configuration options:
-
--   When you start a standalone server using `gfsh`, `gfsh` will automatically load the required JAR files `$GEMFIRE/lib/server-dependencies.jar` and `$JAVA_HOME/lib/tools.jar` into the CLASSPATH of the JVM process. If you start a standalone server using the ServerLauncher API, you must specify `$GEMFIRE/lib/server-dependencies.jar` inside your command to launch the process. For more information on CLASSPATH settings in Geode, see [Setting Up the CLASSPATH](../../getting_started/setup_classpath.html).
--   Servers are configured like any other Geode process, with `gemfire.properties` and shared cluster configuration files. It is not programmable except through application plug-ins. Typically, you provide the `gemfire.properties` file and the `gfsecurity.properties` file (if you are using a separate, restricted access security settings file). You can also specify a `cache.xml` file in the cache server\u2019s working directory.
--   By default, a new server started with `gfsh` receives its initial cache configuration from the cluster configuration service, assuming the locator is running the cluster configuration service. If you specify a group when starting the server, the server also receives configurations that apply to a group. The shared configuration consists of `cache.xml` files, `gemfire.properties` files, and deployed jar files. You can disable use of the cluster configuration service by specifying `--use-cluster-configuration=false` when starting the server using `gfsh`.
-
-    See [Overview of the Cluster Configuration Service](../cluster_config/gfsh_persist.html#concept_r22_hyw_bl).
-
--   If you are using the Spring Framework, you can specify a Spring ApplicationContext XML file when starting up your server in `gfsh` by using the `--spring-xml-location` command-line option. This option allows you to bootstrap your Geode server process with your Spring application's configuration. See [Spring documentation](http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/resources.html#resources-app-ctx) for more information on this file.
--   For logging output, log file output defaults to `server_name.log` in the cache server's working directory. If you restart a server with the same server name, the existing *server\_name*.log file is automatically renamed for you (for example, `server1-01-01.log` or `server1-02-01.log`). You can modify the level of logging details in this file by specifying a level in the `--log-level` argument when starting up the server.
--   By default, the server will start in a subdirectory (named after the server's specified `--name`) under the directory where `gfsh` is executed. This subdirectory is considered the current working directory. You can also specify a different working directory when starting the cache server in `gfsh`.
--   By default, a server process that has been shutdown and disconnected due to a network partition event or member unresponsiveness will restart itself and automatically try to reconnect to the existing distributed system. See [Handling Forced Cache Disconnection Using Autoreconnect](../../managing/autoreconnect/member-reconnect.html#concept_22EE6DDE677F4E8CAF5786E17B4183A9) for more details.
--   You can pass JVM parameters to the server's JVM by using the `--J=-Dproperty.name=value` upon server startup. These parameters can be Java properties or Geode configuration properties such as `gemfire.jmx-manager`. For example:
-
-    ``` pre
-    gfsh>start server --name=server1 --J=-Dgemfire.jmx-manager=true \
-    --J=-Dgemfire.jmx-manager-start=true --J=-Dgemfire.http-port=8080
-    ```
-
--   We recommend that you do not use the `-XX:+UseCompressedStrings` and `-XX:+UseStringCache` JVM configuration properties when starting up servers. These JVM options can cause issues with data corruption and compatibility.
-
-## <a id="running_the_cacheserver__section_07001480D33745139C3707EDF8166D86" class="no-quick-link"></a>Start the Server
-
-The startup syntax for Geode servers in `gfsh` is:
-
-``` pre
-start server --name=value [--assign-buckets(=value)] [--bind-address=value]
-    [--cache-xml-file=value] [--classpath=value] [--disable-default-server(=value)]
-    [--disable-exit-when-out-of-memory(=value)] [--enable-time-statistics(=value)]
-    [--force(=value)] [--include-system-classpath(=value)] [--properties-file=value]
-    [--security-properties-file=value]
-    [--group=value] [--locators=value] [--locator-wait-time=value] [--log-level=value]
-    [--mcast-address=value] [--mcast-port=value] [--memcached-port=value]
-    [--memcached-protocol=value] [--rebalance(=value)] [--server-bind-address=value]
-    [--server-port=value] [--spring-xml-location=value]
-    [--statistic-archive-file=value] [--dir=value] [--initial-heap=value]
-    [--max-heap=value] [--use-cluster-configuration(=value)] [--J=value(,value)*]
-    [--critical-heap-percentage=value] [--critical-off-heap-percentage=value] 
-    [--eviction-heap-percentage=value] [--eviction-off-heap-percentage=value]
-    [--hostname-for-clients=value] [--max-connections=value]
-    [--message-time-to-live=value] [--max-message-count=value] [--max-threads=value]
-    [--socket-buffer-size=value] [--lock-memory=value] [--off-heap-memory-size=value] 
-```
-
-**Note:**
-When both `--max-heap` and `--initial-heap` are specified during server startup, additional GC parameters are specified internally by Geode's Resource Manager. If you do not want the additional default GC properties set by the Resource Manager, then use the `-Xms` & `-Xmx` JVM options. See [Controlling Heap Use with the Resource Manager](../../managing/heap_use/heap_management.html#configuring_resource_manager) for more information.
-
-The following `gfsh start server` start sequences specify a `cache.xml` file for cache configuration, and use different incoming client connection ports:
-
-``` pre
-gfsh>start server --name=server1 --mcast-port=10338 \
---cache-xml-file=../ServerConfigs/cache.xml --server-port=40404
-
-gfsh>start server --name=server2 --mcast-port=10338 \
---cache-xml-file=../ServerConfigs/cache.xml --server-port=40405
-```
-
-Here is a portion of a `gemfire.properties` file that sets the location of a`cache.xml` file for the server and sets the mcast-port:
-
-``` pre
-mcast-port=10338 
-cache-xml-file=D:\gfeserver\cacheCS.xml
-```
-
-To start the server using this `gemfire.properties` file, enter:
-
-``` pre
-gfsh>start server --name=server1 \
---properties-file=D:\gfeserver\gemfire.properties
-```
-
-To start a server with an embedded JMX Manager, you can enter the following command:
-
-``` pre
-gfsh>start server --name=server2 \
---J=-Dgemfire.jmx-manager=true --J=-Dgemfire.jmx-manager-start=true
-```
-
-To start a server and provide JVM configuration settings, you can issue a command like the following:
-
-``` pre
-gfsh>start server --name=server3 \
---J=-Xms80m,-Xmx80m --J=-XX:+UseConcMarkSweepGC,-XX:CMSInitiatingOccupancyFraction=65
-```
-
-## Start the Server Programmatically
-
-Use `org.apache.geode.distributed.ServerLauncher` API to start the cache server process inside your code. Use the `ServerLauncher.Builder` class to construct an instance of the `ServerLauncher`, and then use the `start()` method to start the server service. The other methods in the `ServerLauncher` class provide status information about the server and allow you to stop the server.
-
-``` pre
-import org.apache.geode.distributed.ServerLauncher;
-
- public class MyEmbeddedServer {
-
-    public static void main(String[] args){
-        ServerLauncher serverLauncher  = new ServerLauncher.Builder()
-          .setMemberName("server1")
-       .setServerPort(40405)
-          .set("jmx-manager", "true")
-          .set("jmx-manager-start", "true")
-          .build();
-
-          serverLauncher.start();  
-
-          System.out.println("Cache server successfully started");
-        }
-    }
-```
-
-## <a id="running_the_cacheserver__section_F58F229D5C7048E9915E0EC470F9A923" class="no-quick-link"></a>Check Server Status
-
-If you are connected to the distributed system in `gfsh`, you can check the status of a running cache server by providing the server name. For example:
-
-``` pre
-gfsh>status server --name=server1
-```
-
-If you are not connected to a distributed system, you can check the status of a local cache server by providing the process ID or the server's current working directory. For example:
-
-``` pre
-gfsh>status server --pid=2484
-```
-
-or
-
-``` pre
-% gfsh status server --dir=<server_working_directory>
-```
-
-where &lt;*server\_working\_directory*&gt; corresponds to the local working directory where the cache server is running.
-
-If successful, the command returns the following information (with the JVM arguments that were provided at startup):
-
-``` pre
-% gfsh status server --dir=server4
-Server in /home/user/server4 on ubuntu.local[40404] as server4 is currently online.
-Process ID: 3324
-Uptime: 1 minute 5 seconds
-GemFire Version: 8.0.0
-Java Version: 1.7.0_65
-Log File: /home/user/server4/server4.log
-JVM Arguments: 
-...
-```
-
-## <a id="running_the_cacheserver__section_0E4DDED6AB784B0CAFBAD538B227F487" class="no-quick-link"></a>Stop Server
-
-If you are connected to the distributed system in `gfsh`, you can stop a running cache server by providing the server name. For example:
-
-``` pre
-gfsh>stop server --name=server1
-```
-
-If you are not connected to a distributed system, you can stop a local cache server by specify the server's current working directory or the process ID. For example:
-
-``` pre
-gfsh>stop server --pid=2484
-```
-
-or
-
-``` pre
-gfsh>stop server --dir=<server_working_directory>
-```
-
-where &lt;*server\_working\_directory*&gt; corresponds to the local working directory where the cache server is running.
-
-You can also use the `gfsh` `shutdown` command to shut down all cache servers in an orderly fashion. This is useful if you are using persistent regions. See [Starting Up and Shutting Down Your System](starting_up_shutting_down.html) for more details.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/configuring/running/running_the_locator.html.md.erb
----------------------------------------------------------------------
diff --git a/configuring/running/running_the_locator.html.md.erb b/configuring/running/running_the_locator.html.md.erb
deleted file mode 100644
index 64ac02e..0000000
--- a/configuring/running/running_the_locator.html.md.erb
+++ /dev/null
@@ -1,240 +0,0 @@
----
-title:  Running Geode Locator Processes
----
-
-The locator is a Geode process that tells new, connecting members where running members are located and provides load balancing for server use.
-
-<a id="running_the_locator__section_E9C98E8756524552BEA9B0CA49A2069E"></a>
-You can run locators as peer locators, server locators, or both:
-
--   Peer locators give joining members connection information to members already running in the locator's distributed system.
--   Server locators give clients connection information to servers running in the locator's distributed system. Server locators also monitor server load and send clients to the least-loaded servers.
-
-By default, locators run as peer and server locators.
-
-You can run the locator standalone or embedded within another Geode process. Running your locators standalone provides the highest reliability and availability of the locator service as a whole.
-
-## <a id="running_the_locator__section_0733348268AF4D5F8851B999A6A36C53" class="no-quick-link"></a>Locator Configuration and Log Files
-
-Locator configuration and log files have the following properties:
-
--   When you start a standalone locator using `gfsh`, `gfsh` will automatically load the required JAR files (`$GEMFIRE/lib/locator-dependencies.jar`) into the CLASSPATH of the JVM process. If you start a standalone locator using the `LocatorLauncher` API, you must specify `$GEMFIRE/lib/locator-dependencies.jar` inside the command used to launch the locator process. For more information on CLASSPATH settings in Geode, see [CLASSPATH Settings for Geode Processes](../../getting_started/setup_classpath.html). You can modify the CLASSPATH by specifying the `--classpath` parameter.
--   Locators are members of the distributed system just like any other member. In terms of `mcast-port` and `locators` configuration, a locator should be configured in the same manner as a server. Therefore, if there are two other locators in the distributed system, each locator should reference the other locators (just like a server member would). For example:
-
-    ``` pre
-    gfsh> start locator --name=locator1 --port=9009 --mcast-port=0 \
-    --locators='host1[9001],host2[9003]'
-    ```
-
--   You can configure locators within the `gemfire.properties` file or by specifying start-up parameters on the command line. If you are specifying the locator's configuration in a properties file, locators require the same `gemfire.properties` settings as other members of the distributed system and the same `gfsecurity.properties` settings if you are using a separate, restricted access security settings file.
-
-    For example, to configure both locators and a multicast port in `gemfire.properties:`
-
-    ``` pre
-    locators=host1[9001],host2[9003]
-    mcast-port=0
-    ```
-
--   There is no cache configuration specific to locators.
--   For logging output, the locator creates a log file in its current working directory. Log file output defaults to `locator_name.log` in the locator's working directory. If you restart a locator with a previously used locator name, the existing *locator\_name*.log file is automatically renamed for you (for example, `locator1-01-01.log` or `locator1-02-01.log`). You can modify the level of logging details in this file by specifying a level in the `--log-level` argument when starting up the locator.
--   By default, a locator will start in a subdirectory (named after the locator) under the directory where `gfsh` is executed. This subdirectory is considered the current working directory. You can also specify a different working directory when starting the locator in `gfsh`.
--   By default, a locator that has been shutdown and disconnected due to a network partition event or member unresponsiveness will restart itself and automatically try to reconnect to the existing distributed system. When a locator is in the reconnecting state, it provides no discovery services for the distributed system. See [Handling Forced Cache Disconnection Using Autoreconnect](../../managing/autoreconnect/member-reconnect.html) for more details.
-
-## <a id="running_the_locator__section_wst_ykb_rr" class="no-quick-link"></a>Locators and the Cluster Configuration Service
-
-Locators use the cluster configuration service to save configurations that apply to all cluster members, or to members of a specified group. The configurations are saved in the Locator's directory and are propagated to all locators in a distributed system. When you start servers using `gfsh`, the servers receive the group-level and cluster-level configurations from the locators.
-
-See [Overview of the Cluster Configuration Service](../cluster_config/gfsh_persist.html).
-
-## <a id="running_the_locator__section_FF25228E30624E04ACA8784A2183D585" class="no-quick-link"></a>Start the Locator
-
-Use the following guidelines to start the locator:
-
--   **Standalone locator**. Start a standalone locator in one of these ways:
-    -   Use the `gfsh` command-line utility. See [`gfsh` (Geode SHell)](../../tools_modules/gfsh/chapter_overview.html) for more information on using `gfsh`. For example:
-
-        ``` pre
-        gfsh>start locator --name=locator1
-
-        gfsh> start locator --name=locator2 --bind-address=192.0.2.0 --port=13489
-        ```
-
-    -   Start the locator using the `main` method in the `org.apache.geode.distributed.LocatorLauncher` class and the Java executable. For example:
-
-        ``` pre
-        working/directory/of/Locator/process$java -server \
-         -classpath "$GEMFIRE/lib/locator-dependencies.jar:/path/to/application/classes.jar" \
-         org.apache.geode.distributed.LocatorLauncher start Locator1 --port=11235 \
-          --redirect-output
-        ```
-
-        Specifically, you use the `LocatorLauncher` class API to run an embedded Locator service in Java application processes that you have created. The directory where you execute the java command becomes the working directory for the locator process.
-
-    -   When starting up multiple locators, do not start them up in parallel (in other words, simultaneously). As a best practice, you should wait approximately 30 seconds for the first locator to complete startup before starting any other locators. To check the successful startup of a locator, check for locator log files. To view the uptime of a running locator, you can use the `gfsh status locator` command.
-
--   **Embedded (colocated) locator**. Manage a colocated locator at member startup or through the APIs:
-    -   Use the `gemfire.properties` `start-locator` setting to start the locator automatically inside your Geode member. See the [Reference](../../reference/book_intro.html#reference). The locator stops automatically when the member exits. The property has the following syntax:
-
-        ``` pre
-        #gemfire.properties
-        start-locator=[address]port[,server={true|false},peer={true|false}]
-        ```
-
-        Example:
-
-        ``` pre
-        #gemfire.properties
-        start-locator=13489
-        ```
-
-    -   Use `org.apache.geode.distributed.LocatorLauncher` API to start the locator inside your code. Use the `LocatorLauncher.Builder` class to construct an instance of the `LocatorLauncher`, and then use the `start()` method to start a Locator service embedded in your Java application process. The other methods in the `LocatorLauncher` class provide status information about the locator and allow you to stop the locator.
-
-        ``` pre
-        import org.apache.geode.distributed.LocatorLauncher;
-
-         public class MyEmbeddedLocator {
-
-            public static void main(String[] args){
-                LocatorLauncher locatorLauncher  = new LocatorLauncher.Builder()
-                  .setMemberName("locator1")
-                  .setPort(13489)
-                  .build();
-
-                  locatorLauncher.start();
-
-                  System.out.println("Locator successfully started");
-                }
-            }
-        ```
-
-        Here's another example that embeds the locator within an application, starts it and then checks the status of the locator before allowing other members to access it:
-
-        ``` pre
-        package example;
-
-        import ...
-
-        class MyApplication implements Runnable {
-
-          private final LocatorLauncher locatorLauncher;
-
-          public MyApplication(final String... args) {
-            validateArgs(args);
-
-            locatorLauncher = new LocatorLauncher.Builder()
-              .setMemberName(args[0])
-              .setPort(Integer.parseInt(args[1])
-              .setRedirectOutput(true)
-              .build();
-          }
-
-          protected void args(final String[] args) {
-            ...
-          }
-
-          public void run() {
-            ...
-
-            // start the Locator in-process
-            locatorLauncher.start();
-
-            // wait for Locator to start and be ready to accept member (client) connections
-            locatorLauncher.waitOnStatusResponse(30, 5, TimeUnit.SECONDS);
-
-            ...
-          }
-
-          public static void main(final String... args) {
-            new MyApplication(args).run();
-          }
-
-        }
-        ```
-
-        Then to execute the application, you would run:
-
-        ``` pre
-        /working/directory/of/MyApplication$ java \
-         -server -classpath "$GEMFIRE/lib/locator-dependencies.jar:/path/to/application/classes.jar" \
-         example.MyApplication Locator1 11235
-        ```
-
-        The directory where you execute the java command becomes the working directory for the locator process.
-
-## <a id="running_the_locator__section_F58F229D5C7048E9915E0EC470F9A923" class="no-quick-link"></a>Check Locator Status
-
-If you are connected to the distributed system in `gfsh`, you can check the status of a running Locator by providing the Locator name. For example:
-
-``` pre
-gfsh>status locator --name=locator1
-```
-
-If you are not connected to a distributed system, you can check the status of a local Locator by providing the process ID, the Locator's hostname and port, or the Locator's current working directory. For example:
-
-``` pre
-gfsh>status locator --pid=2986
-```
-
-or
-
-``` pre
-gfsh>status locator --host=host1 --port=1035
-```
-
-or
-
-``` pre
-$ gfsh status locator --dir=<locator_working_directory>
-```
-
-where &lt;*locator\_working\_directory*&gt; corresponds to the local working directory where the locator is running.
-
-If successful, the command returns the following information (with the JVM arguments that were provided at startup):
-
-``` pre
-$ gfsh status locator --dir=locator1
-Locator in /home/user/locator1 on ubuntu.local[10334] as locator1 is currently online.
-Process ID: 2359
-Uptime: 17 minutes 3 seconds
-GemFire Version: 8.0.0
-Java Version: 1.7.0_65
-Log File: /home/user/locator1/locator1.log
-JVM Arguments: -Dgemfire.enable-cluster-configuration=true -Dgemfire.load-cluster-configuration-from-dir=false
- -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
-Class-Path: /home/user/Pivotal_GemFire_800_b48319_Linux/lib/locator-dependencies.jar:/usr/local/java/lib/tools.jar
-
-Cluster configuration service is up and running.
-```
-
-## <a id="running_the_locator__section_0E4DDED6AB784B0CAFBAD538B227F487" class="no-quick-link"></a>Stop the Locator
-
-If you are connected to the distributed system in `gfsh`, you can stop a running locator by providing the locator name. For example:
-
-``` pre
-gfsh>stop locator --name=locator1
-```
-
-If you are not connected to a distributed system, you can stop a local locator by specifying the locator's process ID or the locator's current working directory. For example:
-
-``` pre
-gfsh>stop locator --pid=2986
-```
-
-or
-
-``` pre
-gfsh>stop locator --dir=<locator_working_directory>
-```
-
-where &lt;*locator\_working\_directory*&gt; corresponds to the local working directory where the locator is running.
-
-## Locators and Multi-Site (WAN) Deployments
-
-If you use a multi-site (WAN) configuration, you can connect a locator to a remote site when starting the locator.
-
-To connect a new locator process to a remote locator in a WAN configuration, specify the following at startup:
-
-``` pre
-gfsh> start locator --name=locator1 --port=9009 --mcast-port=0 \
---J='-Dgemfire.remote-locators=192.0.2.0[9009],198.51.100.0[9009]'
-```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/configuring/running/starting_up_shutting_down.html.md.erb
----------------------------------------------------------------------
diff --git a/configuring/running/starting_up_shutting_down.html.md.erb b/configuring/running/starting_up_shutting_down.html.md.erb
deleted file mode 100644
index 2afea6a..0000000
--- a/configuring/running/starting_up_shutting_down.html.md.erb
+++ /dev/null
@@ -1,129 +0,0 @@
----
-title:  Starting Up and Shutting Down Your System
----
-
-Determine the proper startup and shutdown procedures, and write your startup and shutdown scripts.
-
-Well-designed procedures for starting and stopping your system can speed startup and protect your data. The processes you need to start and stop include server and locator processes and your other Geode applications, including clients. The procedures you use depend in part on your system\u2019s configuration and the dependencies between your system processes.
-
-Use the following guidelines to create startup and shutdown procedures and scripts. Some of these instructions use [`gfsh` (Geode SHell)](../../tools_modules/gfsh/chapter_overview.html).
-
-## <a id="starting_up_shutting_down__section_3D111558326D4A38BE48C17D44BB66DB" class="no-quick-link"></a>Starting Up Your System
-
-You should follow certain order guidelines when starting your Geode system.
-
-Start server-distributed systems before you start their client applications. In each distributed system, follow these guidelines for member startup:
-
--   Start locators first. See [Running Geode Locator Processes](running_the_locator.html) for examples of locator start up commands.
--   Start cache servers before the rest of your processes unless the implementation requires that other processes be started ahead of them. See [Running Geode Server Processes](running_the_cacheserver.html) for examples of server start up commands.
--   If your distributed system uses both persistent replicated and non-persistent replicated regions, you should start up all the persistent replicated members in parallel before starting the non-persistent regions. This way, persistent members will not delay their startup for other persistent members with later data.
--   For a system that includes persistent regions, see [Start Up and Shut Down with Disk Stores](../../managing/disk_storage/starting_system_with_disk_stores.html).
--   If you are running producer processes and consumer or event listener processes, start the consumers first. This ensures the consumers and listeners do not miss any notifications or updates.
--   If you are starting up your locators and peer members all at once, you can use the `locator-wait-time` property (in seconds) upon process start up. This timeout allows peers to wait for the locators to finish starting up before attempting to join the distributed system. If a process has been configured to wait for a locator to start, it will log an info-level message
-
-    > `GemFire startup was unable to contact a                             locator. Waiting for one to start. Configured locators are                             frodo[12345],pippin[12345]. `
-
-    The process will then sleep for a second and retry until it either connects or the number of seconds specified in `locator-wait-time` has elapsed. By default, `locator-wait-time` is set to zero meaning that a process that cannot connect to a locator upon startup will throw an exception.
-
-**Note:**
-You can optionally override the default timeout period for shutting down individual processes. This override setting must be specified during member startup. See [Shutting Down the System](#starting_up_shutting_down__section_mnx_4cp_cv) for details.
-
-## <a id="starting_up_shutting_down__section_2F8ABBFCE641463C8A8721841407993D" class="no-quick-link"></a>Starting Up After Losing Data on Disk
-
-This information pertains to catastrophic loss of Geode disk store files. If you lose disk store files, your next startup may hang, waiting for the lost disk stores to come back online. If your system hangs at startup, use the `gfsh` command `show missing-disk-store` to list missing disk stores and, if needed, revoke missing disk stores so your system startup can complete. You must use the Disk Store ID to revoke a disk store. These are the two commands:
-
-``` pre
-gfsh>show missing-disk-stores
-
-Disk Store ID             |   Host    |               Directory                                           
------------------------------------- | --------- | -------------------------------------
-60399215-532b-406f-b81f-9b5bd8d1b55a | excalibur | /usr/local/gemfire/deploy/disk_store1 
-
-gfsh>revoke missing-disk-store --id=60399215-532b-406f-b81f-9b5bd8d1b55a
-```
-
-**Note:**
-This `gfsh` commands require that you are connected to the distributed system via a JMX Manager node.
-
-## <a id="starting_up_shutting_down__section_mnx_4cp_cv" class="no-quick-link"></a>Shutting Down the System
-
-Shut down your Geode system by using either the `gfsh` `shutdown` command or by shutting down individual members one at a time.
-
-## <a id="starting_up_shutting_down__section_0EB4DDABB6A348BA83B786EEE7C84CF1" class="no-quick-link"></a>Using the shutdown Command
-
-If you are using persistent regions, (members are persisting data to disk), you should use the `gfsh` `shutdown` command to stop the running system in an orderly fashion. This command synchronizes persistent partitioned regions before shutting down, which makes the next startup of the distributed system as efficient as possible.
-
-If possible, all members should be running before you shut them down so synchronization can occur. Shut down the system using the following `gfsh` command:
-
-``` pre
-gfsh>shutdown
-```
-
-By default, the shutdown command will only shut down data nodes. If you want to shut down all nodes including locators, specify the `--include-locators=true` parameter. For example:
-
-``` pre
-gfsh>shutdown --include-locators=true
-```
-
-This will shut down all locators one by one, shutting down the manager last.
-
-To shutdown all data members after a grace period, specify a time-out option (in seconds).
-
-``` pre
-gfsh>shutdown --time-out=60
-```
-
-To shutdown all members including locators after a grace period, specify a time-out option (in seconds).
-
-``` pre
-gfsh>shutdown --include-locators=true --time-out=60
-```
-
-## <a id="starting_up_shutting_down__section_A07D40BC118544D0984860A3B4A5CB29" class="no-quick-link"></a>Shutting Down System Members Individually
-
-If you are not using persistent regions, you can shut down the distributed system by shutting down each member in the reverse order of their startup. (See [Starting Up Your System](#starting_up_shutting_down__section_3D111558326D4A38BE48C17D44BB66DB) for the recommended order of member startup.)
-
-Shut down the distributed system members according to the type of member. For example, use the following mechanisms to shut down members:
-
--   Use the appropriate mechanism to shut down any Geode-connected client applications that are running in the distributed system.
--   Shut down any cache servers. To shut down a server, issue the following `gfsh` command:
-
-    ``` pre
-    gfsh>stop server --name=<...>
-    ```
-
-    or
-
-    ``` pre
-    gfsh>stop server --dir=<server_working_dir>
-    ```
-
--   Shut down any locators. To shut down a locator, issue the following `gfsh` command:
-
-    ``` pre
-    gfsh>stop locator --name=<...>
-    ```
-
-    or
-
-    ``` pre
-    gfsh>stop locator --dir=<locator_working_dir>
-    ```
-
-## <a id="starting_up_shutting_down__section_7CF680CF8A924C57A7052AE2F975DA81" class="no-quick-link"></a>Option for System Member Shutdown Behavior
-
-The `DISCONNECT_WAIT` command line argument sets the maximum time for each individual step in the shutdown process. If any step takes longer than the specified amount, it is forced to end. Each operation is given this grace period, so the total length of time the cache member takes to shut down depends on the number of operations and the `DISCONNECT_WAIT` setting. During the shutdown process, Geode produces messages such as:
-
-``` pre
-Disconnect listener still running
-```
-
-The `DISCONNECT_WAIT` default is 10000 milliseconds.
-
-To change it, set this system property on the Java command line used for member startup. For example:
-
-``` pre
-gfsh>start server --J=-DDistributionManager.DISCONNECT_WAIT=<milliseconds>
-```
-
-Each process can have different `DISCONNECT_WAIT` settings.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/book_intro.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/book_intro.html.md.erb b/developing/book_intro.html.md.erb
deleted file mode 100644
index 432d6da..0000000
--- a/developing/book_intro.html.md.erb
+++ /dev/null
@@ -1,57 +0,0 @@
----
-title:  Developing with Apache Geode
----
-
-*Developing with Apache Geode* explains main concepts of application programming with Apache Geode. It describes how to plan and implement regions, data serialization, event handling, delta propagation, transactions, and more.
-
-For information about Geode REST application development, see [Developing REST Applications for Apache Geode](../rest_apps/book_intro.html).
-
--   **[Region Data Storage and Distribution](../developing/region_options/chapter_overview.html)**
-
-    The Apache Geode data storage and distribution models put your data in the right place at the right time. You should understand all the options for data storage in Geode before you start configuring your data regions.
-
--   **[Partitioned Regions](../developing/partitioned_regions/chapter_overview.html)**
-
-    In addition to basic region management, partitioned regions include options for high availability, data location control, and data balancing across the distributed system.
-
--   **[Distributed and Replicated Regions](../developing/distributed_regions/chapter_overview.html)**
-
-    In addition to basic region management, distributed and replicated regions include options for things like push and pull distribution models, global locking, and region entry versions to ensure consistency across Geode members.
-
--   **[Consistency for Region Updates](../developing/distributed_regions/region_entry_versions.html)**
-
-    Geode ensures that all copies of a region eventually reach a consistent state on all members and clients that host the region, including Geode members that distribute region events.
-
--   **[General Region Data Management](../developing/management_all_region_types/chapter_overview.html)**
-
-    For all regions, you have options to control memory use, back up your data to disk, and keep stale data out of your cache.
-
--   **[Data Serialization](../developing/data_serialization/chapter_overview.html)**
-
-    Data that you manage in Geode must be serialized and deserialized for storage and transmittal between processes. You can choose among several options for data serialization.
-
--   **[Events and Event Handling](../developing/events/chapter_overview.html)**
-
-    Geode provides versatile and reliable event distribution and handling for your cached data and system member events.
-
--   **[Delta Propagation](../developing/delta_propagation/chapter_overview.html)**
-
-    Delta propagation allows you to reduce the amount of data you send over the network by including only changes to objects rather than the entire object.
-
--   **[Querying](../developing/querying_basics/chapter_overview.html)**
-
-    Geode provides a SQL-like querying language called OQL that allows you to access data stored in Geode regions.
-
--   **[Continuous Querying](../developing/continuous_querying/chapter_overview.html)**
-
-    Continuous querying continuously returns events that match the queries you set up.
-
--   **[Transactions](../developing/transactions/chapter_overview.html)**
-
-    Geode provides a transactions API, with `begin`, `commit`, and `rollback` methods. These methods are much the same as the familiar relational database transactions methods.
-
--   **[Function Execution](../developing/function_exec/chapter_overview.html)**
-
-    A function is a body of code that resides on a server and that an application can invoke from a client or from another server without the need to send the function code itself. The caller can direct a data-dependent function to operate on a particular dataset, or can direct a data-independent function to operate on a particular server, member, or member group.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/continuous_querying/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/continuous_querying/chapter_overview.html.md.erb b/developing/continuous_querying/chapter_overview.html.md.erb
deleted file mode 100644
index c16d4b5..0000000
--- a/developing/continuous_querying/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title:  Continuous Querying
----
-
-Continuous querying continuously returns events that match the queries you set up.
-
-<a id="continuous__section_779B4E4D06E948618E5792335174E70D"></a>
-
--   **[How Continuous Querying Works](../../developing/continuous_querying/how_continuous_querying_works.html)**
-
-    Clients subscribe to server-side events by using SQL-type query filtering. The server sends all events that modify the query results. CQ event delivery uses the client/server subscription framework.
-
--   **[Implementing Continuous Querying](../../developing/continuous_querying/implementing_continuous_querying.html)**
-
-    Use continuous querying in your clients to receive continuous updates to queries run on the servers.
-
--   **[Managing Continuous Querying](../../developing/continuous_querying/continuous_querying_whats_next.html)**
-
-    This topic discusses CQ management options, CQ states, and retrieving initial result sets.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/continuous_querying/continuous_querying_whats_next.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/continuous_querying/continuous_querying_whats_next.html.md.erb b/developing/continuous_querying/continuous_querying_whats_next.html.md.erb
deleted file mode 100644
index db36016..0000000
--- a/developing/continuous_querying/continuous_querying_whats_next.html.md.erb
+++ /dev/null
@@ -1,71 +0,0 @@
----
-title:  Managing Continuous Querying
----
-
-This topic discusses CQ management options, CQ states, and retrieving initial result sets.
-
-## Using CQs from a RegionService Instance
-
-If you are running durable client queues (CQs) from the `RegionService` instance, stop and start the offline event storage for the client as a whole. The server manages one queue for the entire client process, so you need to request the stop and start of durable CQ event messaging for the cache as a whole, through the `ClientCache` instance. If you closed the `RegionService` instances, event processing would stop, but the server would continue to send events, and those events would be lost.
-
-Stop with:
-
-``` pre
-clientCache.close(true);
-```
-
-Start up again in this order:
-
-1.  Create `ClientCache` instance.
-2.  Create all `RegionService` instances. Initialize CQ listeners.
-3.  Call `ClientCache` instance `readyForEvents` method.
-
-## <a id="continuous_querying_whats_next__section_35F929682CD24478AF0B2249C5065A27" class="no-quick-link"></a>States of a CQ
-
-A CQ has three possible states, which are maintained on the server. You can check them from the client through `CqQuery.getState`.
-
-| Query State | What does this mean?                                                                               | When does the CQ reach this state?                                                                             | Notes                                                                                                                                                                                                                                                                                                                                                          |
-|-------------|----------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| STOPPED     | The CQ is in place and ready to run, but is not running.                                           | When CQ is first created and after being stopped from a running state.                                         | A stopped CQ uses system resources. Stopping a CQ only stops the CQ event messaging from server to client. All server-side CQ processing continues, but new CQ events are not placed into the server's client queue. Stopping a CQ does not change anything on the client side (but, of course, the client stops receiving events for the CQ that is stopped). |
-| RUNNING     | The CQ is running against server region events and the client listeners are waiting for CQ events. | When CQ is executed from a stopped state.                                                                      | This is the only state in which events are sent to the client.                                                                                                                                                                                                                                                                                                 |
-| CLOSED      | The CQ is not available for any further activities. You cannot rerun a closed CQ.                  | When CQ is closed by the client and when cache or connection conditions make it impossible to maintain or run. | The closed CQ does not use system resources.                                                                                                                                                                                                                                                                                                                   |
-
-## <a id="continuous_querying_whats_next__section_4E308A70BCE44031BB1F37B95B4D06E6" class="no-quick-link"></a>CQ Management Options
-
-You manage your CQs from the client side. All calls are executed only for the calling client's CQs.
-
-| Task                                         | For a single CQ use ...                                   | For groups of CQs use ...                 |
-|----------------------------------------------|-----------------------------------------------------------|-------------------------------------------|
-| Create a CQ                                  | `QueryService.newCq`                                      | N/A                                       |
-| Execute a CQ                                 | `CqQuery.execute` and `CqQuery.executeWithInitialResults` | `QueryService.executeCqs`                 |
-| Stop a CQ                                    | `CqQuery.stop`                                            | `QueryService.stopCqs`                    |
-| Close a CQ                                   | `CqQuery.close`                                           | `QueryService.closeCqs`                   |
-| Access a CQ                                  | `CqEvent.getCq` and `QueryService.getCq`                  | `QueryService.getCq`                      |
-| Modify CQ Listeners                          | `CqQuery.getCqAttributesMutator`                          | N/A                                       |
-| Access CQ Runtime Statistics                 | `CqQuery.getStatistics`                                   | `QueryService.getCqStatistics`            |
-| Get all durable CQs registered on the server | N/A                                                       | `QueryService.getAllDurableCqsFromServer` |
-
-## <a id="continuous_querying_whats_next__section_B274DA982AE6441288323A1D11B58786" class="no-quick-link"></a>Managing CQs and Durable Clients Using gfsh
-
-Using the `gfsh` command-line utility, you can perform the following actions:
-
--   Close durable clients and durable client CQs. See [close](../../tools_modules/gfsh/command-pages/close.html#topic_27555B1929D7487D9158096BC065D372).
--   List all durable CQs for a given durable client ID. See [list](../../tools_modules/gfsh/command-pages/list.html).
--   Show the subscription event queue size for a given durable client ID. See [show subscription-queue-size](../../tools_modules/gfsh/command-pages/show.html#topic_395C96B500AD430CBF3D3C8886A4CD2E).
-
-## <a id="continuous_querying_whats_next__section_345E9C144EB544FBA61FC9C83BF1C1ED" class="no-quick-link"></a>Retrieving an Initial Result Set of a CQ
-
-You can optionally retrieve an initial result set when you execute your CQ. To do this, execute the CQ with the `executeWithInitialResults` method. The initial `SelectResults` returned is the same that you would get if you ran the query ad hoc, by calling `QueryService.newQuery.execute` on the server cache, but with the key included. This example retrieves keys and values from an initial result set:
-
-``` pre
-SelectResults cqResults = cq.executeWithInitialResults();
-for (Object o : cqResults.asList()) {
-  Struct s = (Struct) o; // Struct with Key, value pair
-  Portfolio p = (Portfolio) s.get("value"); // get value from the Struct
-  String id = (String) s.get("key"); // get key from the Struct
-}
-```
-
-If you are managing a data set from the CQ results, you can initialize the set by iterating over the result set and then updating it from your listeners as events arrive. For example, you might populate a new screen with initial results and then update the screen from a CQ listener.
-
-If a CQ is executed using the `ExecuteWithInitialResults` method, the returned result may already include the changes with respect to the event. This can arise when updates are happening on the region while CQ registration is in progress. The CQ does not block any region operation as it could affect the performance of the region operation. Design your application to synchronize between the region operation and CQ registration to avoid duplicate events from being delivered.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/continuous_querying/how_continuous_querying_works.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/continuous_querying/how_continuous_querying_works.html.md.erb b/developing/continuous_querying/how_continuous_querying_works.html.md.erb
deleted file mode 100644
index 67facc9..0000000
--- a/developing/continuous_querying/how_continuous_querying_works.html.md.erb
+++ /dev/null
@@ -1,81 +0,0 @@
----
-title:  How Continuous Querying Works
----
-
-Clients subscribe to server-side events by using SQL-type query filtering. The server sends all events that modify the query results. CQ event delivery uses the client/server subscription framework.
-
-<a id="how_continuous_querying_works__section_D473C4D532E14044820B7D76DEE83450"></a>
-With CQ, the client sends a query to the server side for execution and receives the events that satisfy the criteria. For example, in a region storing stock market trade orders, you can retrieve all orders over a certain price by running a CQ with a query like this:
-
-``` pre
-SELECT * FROM /tradeOrder t WHERE t.price > 100.00
-```
-
-When the CQ is running, the server sends the client all new events that affect the results of the query. On the client side, listeners programmed by you receive and process incoming events. For this example query on `/tradeOrder`, you might program a listener to push events to a GUI where higher-priced orders are displayed. CQ event delivery uses the client/server subscription framework.
-
-## <a id="how_continuous_querying_works__section_777DEEA9D1DD45F59EC1BB35789C3A5D" class="no-quick-link"></a>Logical Architecture of Continuous Querying
-
-Your clients can execute any number of CQs, with each CQ assigned any number of listeners.
-
-<img src="../../images/ContinuousQuerying-1.gif" id="how_continuous_querying_works__image_B7C36491E8CA4376AEAE4E030C3DF86B" class="image" />
-
-## <a id="how_continuous_querying_works__section_F0E19919B3F645EF83EACBD7AFDF527E" class="no-quick-link"></a>Data Flow with CQs
-
-CQs do not update the client region. This is in contrast to other server-to-client messaging like the updates sent to satisfy interest registration and responses to get requests from the client's `Pool`. CQs serve as notification tools for the CQ listeners, which can be programmed in any way your application requires.
-
-When a CQ is running against a server region, each entry event is evaluated against the CQ query by the thread that updates the server cache. If either the old or the new entry value satisfies the query, the thread puts a `CqEvent` in the client's queue. The `CqEvent` contains information from the original cache event plus information specific to the CQ's execution. Once received by the client, the `CqEvent` is passed to the `onEvent` method of all `CqListener`s defined for the CQ.
-
-Here is the typical CQ data flow for entries updated in the server cache:
-
-1.  Entry events come to the server's cache from the server or its peers, distribution from remote sites, or updates from a client.
-2.  For each event, the server's CQ executor framework checks for a match with its running CQs.
-3.  If the old or new entry value satisfies a CQ query, a CQ event is sent to the CQ's listeners on the client side. Each listener for the CQ gets the event.
-
-In the following figure:
-
--   Both the new and old prices for entry X satisfy the CQ query, so that event is sent indicating an update to the query results.
--   The old price for entry Y satisfied the query, so it was part of the query results. The invalidation of entry Y makes it not satisfy the query. Because of this, the event is sent indicating that it is destroyed in the query results.
--   The price for the newly created entry Z does not satisfy the query, so no event is sent.
-
-<img src="../../images/ContinuousQuerying-3.gif" id="how_continuous_querying_works__image_2F21A3820906449FAABE7ACC9654A564" class="image" />
-
-## <a id="how_continuous_querying_works__section_819CDBA814024315A6DDA83BD56D125C" class="no-quick-link"></a>CQ Events
-
-CQ events do not change your client cache. They are provided as an event service only. This allows you to have any collection of CQs without storing large amounts of data in your regions. If you need to persist information from CQ events, program your listener to store the information where it makes the most sense for your application.
-
-The `CqEvent` object contains this information:
-
--   Entry key and new value.
--   Base operation that triggered the cache event in the server. This is the standard `Operation` class instance used for cache events in GemFire.
--   `CqQuery` object associated with this CQ event.
--   `Throwable` object, returned only if an error occurred when the `CqQuery` ran for the cache event. This is non-null only for `CqListener` onError calls.
--   Query operation associated with this CQ event. This operation describes the change affected to the query results by the cache event. Possible values are:
-    -   `CREATE`, which corresponds to the standard database
-    -   `INSERT` operation
-    -   `UPDATE`
-    -   `DESTROY`, which corresponds to the standard database DELETE operation
-
-Region operations do not translate to specific query operations and query operations do not specifically describe region events. Instead, the query operation describes how the region event affects the query results.
-
-| Query operations based on old and new entry values | New value does not satisfy the query | New value satisfies the query |
-|----------------------------------------------------|--------------------------------------|-------------------------------|
-| Old value does not satisfy the query               | no event                             | `CREATE` query operation      |
-| Old value does satisfies the query                 | `DESTROY` query operation            | `UPDATE` query operation      |
-
-You can use the query operation to decide what to do with the `CqEvent` in your listeners. For example, a `CqListener` that displays query results on screen might stop displaying the entry, start displaying the entry, or update the entry display depending on the query operation.
-
-## <a id="how_continuous_querying_works__section_bfs_llr_gr" class="no-quick-link"></a>Region Type Restrictions for CQs
-
-You can only create CQs on replicated or partitioned regions. If you attempt to create a CQ on a non-replicated or non-partitioned region, you will receive the following error message:
-
-``` pre
-The region <region name> specified in CQ creation is neither replicated nor partitioned; only replicated or partitioned regions are allowed in CQ creation.
-```
-
-In addition, you cannot create a CQ on a replicated region with eviction setting of local-destroy since this eviction setting changes the region's data policy. If you attempt to create a CQ on this kind of region, you will receive the following error message:
-
-``` pre
-CQ is not supported for replicated region: <region name> with eviction action: LOCAL_DESTROY
-```
-
-See also [Configure Distributed, Replicated, and Preloaded Regions](../distributed_regions/managing_distributed_regions.html) for potential issues with setting local-destroy eviction on replicated regions.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/continuous_querying/implementing_continuous_querying.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/continuous_querying/implementing_continuous_querying.html.md.erb b/developing/continuous_querying/implementing_continuous_querying.html.md.erb
deleted file mode 100644
index de4c81e..0000000
--- a/developing/continuous_querying/implementing_continuous_querying.html.md.erb
+++ /dev/null
@@ -1,185 +0,0 @@
----
-title:  Implementing Continuous Querying
----
-
-Use continuous querying in your clients to receive continuous updates to queries run on the servers.
-
-CQs are only run by a client on its servers.
-
-Before you begin, you should be familiar with [Querying](../querying_basics/chapter_overview.html) and have your client/server system configured.
-
-1. Configure the client pools you will use for CQs with `subscription-enabled` set to true.
-
-    To have CQ and interest subscription events arrive as closely together as possible, use a single pool for everything. Different pools might use different servers, which can lead to greater differences in event delivery time.
-
-2. Write your OQL query to retrieve the data you need from the server.
-
-    The query must satisfy these CQ requirements in addition to the standard GemFire querying specifications:
-    -   The FROM clause must contain only a single region specification, with optional iterator variable.
-    -   The query must be a SELECT expression only, preceded by zero or more IMPORT statements. This means the query cannot be a statement such as <code>"/tradeOrder.name"</code> or <code>"(SELECT \* from /tradeOrder).size".</code>
-    -   The CQ query cannot use:
-        -   Cross region joins
-        -   Drill-downs into nested collections
-        -   DISTINCT
-        -   Projections
-        -   Bind parameters
-    -   The CQ query must be created on a partitioned or replicated region. See [Region Type Restrictions for CQs](how_continuous_querying_works.html#how_continuous_querying_works__section_bfs_llr_gr).
-
-    The basic syntax for the CQ query is:
-
-    ``` pre
-    SELECT * FROM /fullRegionPath [iterator] [WHERE clause]
-    ```
-
-    This example query could be used to get all trade orders where the price is over $100:
-
-    ``` pre
-    SELECT * FROM /tradeOrder t WHERE t.price > 100.00
-    ```
-
-3. Write your CQ listeners to handle CQ events from the server.
-    Implement `org.apache.geode.cache.query.CqListener` in each event handler you need. In addition to your main CQ listeners, you might have listeners that you use for all CQs to track statistics or other general information.
-
-    **Note:**
-    Be especially careful if you choose to update your cache from your `CqListener`. If your listener updates the region that is queried in its own CQ and that region has a `Pool` named, the update will be forwarded to the server. If the update on the server satisfies the same CQ, it may be returned to the same listener that did the update, which could put your application into an infinite loop. This same scenario could be played out with multiple regions and multiple CQs, if the listeners are programmed to update each other's regions.
-
-    This example outlines a `CqListener` that might be used to update a display screen with current data from the server. The listener gets the `queryOperation` and entry key and value from the `CqEvent` and then updates the screen according to the type of `queryOperation`.
-
-    ``` pre
-    // CqListener class
-    public class TradeEventListener implements CqListener
-    {
-      public void onEvent(CqEvent cqEvent)
-      {
-        // org.apache.geode.cache Operation associated with the query op
-        Operation queryOperation = cqEvent.getQueryOperation();
-        // key and new value from the event
-        Object key = cqEvent.getKey();
-        TradeOrder tradeOrder = (TradeOrder)cqEvent.getNewValue();
-        if (queryOperation.isUpdate())
-        {
-          // update data on the screen for the trade order . . .
-        }
-        else if (queryOperation.isCreate())
-        {
-          // add the trade order to the screen . . .
-        }
-        else if (queryOperation.isDestroy())
-        {
-          // remove the trade order from the screen . . .
-        }
-      }
-      public void onError(CqEvent cqEvent)
-      {
-        // handle the error
-      }
-      // From CacheCallback public void close()
-      {
-        // close the output screen for the trades . . .
-      }
-    }
-    ```
-
-    When you install the listener and run the query, your listener will handle all of the CQ results.
-
-4. If you need your CQs to detect whether they are connected to any of the servers that host its subscription queues, implement a `CqStatusListener` instead of a `CqListener`.
-    `CqStatusListener` extends the current `CqListener`, allowing a client to detect when a CQ is connected and/or disconnected from the server(s). The `onCqConnected()` method will be invoked when the CQ is connected, and when the CQ has been reconnected after being disconnected. The `onCqDisconnected()` method will be invoked when the CQ is no longer connected to any servers.
-
-    Taking the example from step 3, we can instead implement a `CqStatusListener`:
-
-    ``` pre
-    public class TradeEventListener implements CqStatusListener
-    {
-      public void onEvent(CqEvent cqEvent)
-      {
-        // org.apache.geode.cache Operation associated with the query op
-        Operation queryOperation = cqEvent.getQueryOperation();
-        // key and new value from the event
-        Object key = cqEvent.getKey();
-        TradeOrder tradeOrder = (TradeOrder)cqEvent.getNewValue();
-        if (queryOperation.isUpdate())
-        {
-          // update data on the screen for the trade order . . .
-        }
-        else if (queryOperation.isCreate())
-        {
-          // add the trade order to the screen . . .
-        }
-        else if (queryOperation.isDestroy())
-        {
-          // remove the trade order from the screen . . .
-        }
-      }
-      public void onError(CqEvent cqEvent)
-      {
-        // handle the error
-      }
-      // From CacheCallback public void close()
-      {
-        // close the output screen for the trades . . .
-      }
-
-      public void onCqConnected() {
-        //Display connected symbol
-      }
-
-      public void onCqDisconnected() {
-        //Display disconnected symbol
-      }
-    }
-    ```
-
-    When you install the `CqStatusListener`, your listener will be able to detect its connection status to the servers that it is querying.
-
-5. Program your client to run the CQ:
-    1. Create a `CqAttributesFactory` and use it to set your `CqListener`s and `CqStatusListener`.
-    2. Pass the attributes factory and the CQ query and its unique name to the `QueryService` to create a new `CqQuery`.
-    3. Start the query running by calling one of the execute methods on the `CqQuery` object.
-        You can execute with or without an initial result set.
-    4. When you are done with the CQ, close it.
-
-## Continuous Query Implementation
-
-``` pre
-// Get cache and queryService - refs to local cache and QueryService
-// Create client /tradeOrder region configured to talk to the server
-
-// Create CqAttribute using CqAttributeFactory
-CqAttributesFactory cqf = new CqAttributesFactory();
-
-// Create a listener and add it to the CQ attributes callback defined below
-CqListener tradeEventListener = new TradeEventListener();
-cqf.addCqListener(tradeEventListener);
-CqAttributes cqa = cqf.create();
-// Name of the CQ and its query
-String cqName = "priceTracker";
-String queryStr = "SELECT * FROM /tradeOrder t where t.price > 100.00";
-
-// Create the CqQuery
-CqQuery priceTracker = queryService.newCq(cqName, queryStr, cqa);
-
-try
-{  // Execute CQ, getting the optional initial result set
-   // Without the initial result set, the call is priceTracker.execute();
-  SelectResults sResults = priceTracker.executeWithInitialResults();
-  for (Object o : sResults) {
-       Struct s = (Struct) o;
-       TradeOrder to = (TradeOrder) s.get("value");
-       System.out.println("Intial result includes: " + to);
-  }
-}
-  catch (Exception ex)
-{
-  ex.printStackTrace();
-}
-// Now the CQ is running on the server, sending CqEvents to the listener
-. . .
-
-// End of life for the CQ - clear up resources by closing
-priceTracker.close();
-```
-
-With continuous queries, you can optionally implement:
-
--   Highly available CQs by configuring your servers for high availability.
--   Durable CQs by configuring your clients for durable messaging and indicating which CQs are durable at creation.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/data_serialization/PDX_Serialization_Features.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/data_serialization/PDX_Serialization_Features.html.md.erb b/developing/data_serialization/PDX_Serialization_Features.html.md.erb
deleted file mode 100644
index 45b154e..0000000
--- a/developing/data_serialization/PDX_Serialization_Features.html.md.erb
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title:  Geode PDX Serialization Features
----
-
-Geode PDX serialization offers several advantages in terms of functionality.
-
-## <a id="concept_F02E40517C4B42F2A75B133BB507C626__section_A0EEB4DA3E9F4EA4B65FE727D3951EA1" class="no-quick-link"></a>Application Versioning of PDX Domain Objects
-
-Domain objects evolve along with your application code. You might create an address object with two address lines, then realize later that a third line is required for some situations. Or you might realize that a particular field is not used and want to get rid of it. With PDX, you can use old and new versions of domain objects together in a distributed system if the versions differ by the addition or removal of fields. This compatibility lets you gradually introduce modified code and data into the system, without bringing the system down.
-
-Geode maintains a central registry of the PDX domain object metadata. Using the registry, Geode preserves fields in each member's cache regardless of whether the field is defined. When a member receives an object with a registered field that the member is not aware of, the member does not access the field, but preserves it and passes it along with the entire object to other members. When a member receives an object that is missing one or more fields according to the member's version, Geode assigns the Java default values for the field types to the missing fields.
-
-## <a id="concept_F02E40517C4B42F2A75B133BB507C626__section_D68A6A9C2C0C4D32AE7DADA2A4C3104D" class="no-quick-link"></a>Portability of PDX Serializable Objects
-
-When you serialize an object using PDX, Geode stores the object's type information in the central registry. The information is passed among clients and servers, peers, and distributed systems.
-
-This centralization of object type information is advantageous for client/server installations in which clients and servers are written in different languages. Clients pass registry information to servers automatically when they store a PDX serialized object. Clients can run queries and functions against the data in the servers without compatibility between server and the stored objects. One client can store data on the server to be retrieved by another client, with no requirements on the part of the server.
-
-## <a id="concept_F02E40517C4B42F2A75B133BB507C626__section_08C901A3CF3E438C8778F09D482B9A63" class="no-quick-link"></a>Reduced Deserialization of Serialized Objects
-
-The access methods of PDX serialized objects allow you to examine specific fields of your domain object without deserializing the entire object. Depending on your object usage, you can reduce serialization and deserialization costs significantly.
-
-Java and other clients can run queries and execute functions against the objects in the server caches without deserializing the entire object on the server side. The query engine automatically recognizes PDX objects, retrieves the `PdxInstance` of the object and uses only the fields it needs. Likewise, peers can access only the necessary fields from the serialized object, keeping the object stored in the cache in serialized form.



[28/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/region_options/region_types.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/region_options/region_types.html.md.erb b/geode-docs/developing/region_options/region_types.html.md.erb
new file mode 100644
index 0000000..45908dd
--- /dev/null
+++ b/geode-docs/developing/region_options/region_types.html.md.erb
@@ -0,0 +1,129 @@
+---
+title:  Region Types
+---
+
+Region types define region behavior within a single distributed system. You have various options for region data storage and distribution.
+
+<a id="region_types__section_E3435ED1D0D142538B99FA69A9E449EF"></a>
+Within a Geode distributed system, you can define distributed regions and non-distributed regions, and you can define regions whose data is spread across the distributed system, and regions whose data is entirely contained in a single member.
+
+Your choice of region type is governed in part by the type of application you are running. In particular, you need to use specific region types for your servers and clients for effective communication between the two tiers:
+
+-   Server regions are created inside a `Cache` by servers and are accessed by clients that connect to the servers from outside the server's distributed system. Server regions must have region type partitioned or replicated. Server region configuration uses the `RegionShortcut` enum settings.
+-   Client regions are created inside a `ClientCache` by clients and are configured to distribute data and events between the client and the server tier. Client regions must have region type `local`. Client region configuration uses the `ClientRegionShortcut` enum settings.
+-   Peer regions are created inside a `Cache`. Peer regions may be server regions, or they may be regions that are not accessed by clients. Peer regions can have any region type. Peer region configuration uses the `RegionShortcut` enum settings.
+
+When you configure a server or peer region using `gfsh` or with the `cache.xml` file, you can use *region shortcuts* to define the basic configuration of your region. A region shortcut provides a set of default configuration attributes that are designed for various types of caching architectures. You can then add additional configuration attributes as needed to customize your application. For more information and a complete reference of these region shortcuts, see [Region Shortcuts Reference](../../reference/topics/region_shortcuts_reference.html#reference_lt4_54c_lk).
+
+<a id="region_types__section_A3449B07598C47A881D9219574DE46C5"></a>
+
+These are the primary configuration choices for each data region.
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="34%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Region Type</th>
+<th>Description</th>
+<th>Best suited for...</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td>Partitioned</td>
+<td>System-wide setting for the data set. Data is divided into buckets across the members that define the region. For high availability, configure redundant copies so each bucket is stored in multiple members with one member holding the primary.</td>
+<td>Server regions and peer regions
+<ul>
+<li>Very large data sets</li>
+<li>High availability</li>
+<li>Write performance</li>
+<li>Partitioned event listeners and data loaders</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td>Replicated (distributed)</td>
+<td>Holds all data from the distributed region. The data from the distributed region is copied into the member replica region. Can be mixed with non-replication, with some members holding replicas and some holding non-replicas.</td>
+<td>Server regions and peer regions
+<ul>
+<li>Read heavy, small datasets</li>
+<li>Asynchronous distribution</li>
+<li>Query performance</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td>Distributed non-replicated</td>
+<td>Data is spread across the members that define the region. Each member holds only the data it has expressed interest in. Can be mixed with replication, with some members holding replicas and some holding non-replicas.</td>
+<td>Peer regions, but not server regions and not client regions
+<ul>
+<li>Asynchronous distribution</li>
+<li>Query performance</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td>Non-distributed (local)</td>
+<td>The region is visible only to the defining member.</td>
+<td>Client regions and peer regions
+<ul>
+<li>Data that is not shared between applications</li>
+</ul></td>
+</tr>
+</tbody>
+</table>
+
+## <a id="region_types__section_C92C7DBD8EF44F1789FCB36281D3F8BF" class="no-quick-link"></a>Partitioned Regions
+
+Partitioning is a good choice for very large server regions. Partitioned regions are ideal for data sets in the hundreds of gigabytes and beyond.
+
+**Note:**
+Partitioned regions generally require more JDBC connections than other region types because each member that hosts data must have a connection.
+
+Partitioned regions group your data into buckets, each of which is stored on a subset of all of the system members. Data location in the buckets does not affect the logical view - all members see the same logical data set.
+
+Use partitioning for:
+
+-   **Large data sets**. Store data sets that are too large to fit into a single member, and all members will see the same logical data set. Partitioned regions divide the data into units of storage called buckets that are split across the members hosting the partitioned region data, so no member needs to host all of the region\u2019s data. Geode provides dynamic redundancy recovery and rebalancing of partitioned regions, making them the choice for large-scale data containers. More members in the system can accommodate more uniform balancing of the data across all host members, allowing system throughput (both gets and puts) to scale as new members are added.
+-   **High availability**. Partitioned regions allow you configure the number of copies of your data that Geode should make. If a member fails, your data will be available without interruption from the remaining members. Partitioned regions can also be persisted to disk for additional high availability.
+-   **Scalability**. Partitioned regions can scale to large amounts of data because the data is divided between the members available to host the region. Increase your data capacity dynamically by simply adding new members. Partitioned regions also allow you to scale your processing capacity. Because your entries are spread out across the members hosting the region, reads and writes to those entries are also spread out across those members.
+-   **Good write performance**. You can configure the number of copies of your data. The amount of data transmitted per write does not increase with the number of members. By contrast, with replicated regions, each write must be sent to every member that has the region replicated, so the amount of data transmitted per write increases with the number of members.
+
+In partitioned regions, you can colocate keys within buckets and across multiple partitioned regions. You can also control which members store which data buckets.
+
+## <a id="region_types__section_iwt_dnj_bm" class="no-quick-link"></a>Replicated Regions
+
+
+Replicated regions provide the highest performance in terms of throughput and latency.
+Replication is a good choice for small to medium size server regions.
+
+Use replicated regions for:
+
+-   **Small amounts of data required by all members of the distributed system**. For example, currency rate information and mortgage rates.
+-   **Data sets that can be contained entirely in a single member**. Each replicated region holds the complete data set for the region
+-   **High performance data access**. Replication guarantees local access from the heap for application threads, providing the lowest possible latency for data access.
+-   **Asynchronous distribution**. All distributed regions, replicated and non-replicated, provide the fastest distribution speeds.
+
+## <a id="region_types__section_2232BEC969F74CDB91B1BB74FEF67EE1" class="no-quick-link"></a>Distributed, Non-Replicated Regions
+
+Distributed regions provide the same performance as replicated regions, but each member stores only  data in which it has expressed an interest, either by subscribing to events from other members or by defining the data entries in its cache.
+
+Use distributed, non-replicated regions for:
+
+-   **Peer regions, but not server regions or client regions**. Server regions must be either replicated or partitioned. Client regions must be local.
+-   **Data sets where individual members need only notification and updates for changes to a subset of the data**. In non-replicated regions, each member receives only update events for the data entries it has defined in the local cache.
+-   **Asynchronous distribution**. All distributed regions, replicated and non-replicated, provide the fastest distribution speeds.
+
+## <a id="region_types__section_A8150BDBC74E4019B1942481877A4370" class="no-quick-link"></a>Local Regions
+
+**Note:**
+When created using the `ClientRegionShortcut` settings, client regions are automatically defined as local, since all client distribution activities go to and come from the server tier.
+
+The local region has no peer-to-peer distribution activity.
+
+Use local regions for:
+
+-   **Client regions**. Distribution is only between the client and server tier.
+-   **Private data sets for the defining member**. The local region is not visible to peer members.
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/region_options/storage_distribution_options.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/region_options/storage_distribution_options.html.md.erb b/geode-docs/developing/region_options/storage_distribution_options.html.md.erb
new file mode 100644
index 0000000..7ed2732
--- /dev/null
+++ b/geode-docs/developing/region_options/storage_distribution_options.html.md.erb
@@ -0,0 +1,23 @@
+---
+title:  Storage and Distribution Options
+---
+
+Geode provides several models for data storage and distribution, including partitioned or replicated regions as well as distributed or non-distributed regions (local cache storage).
+
+## <a id="concept_B18B7754E7C7485BA6D66F2DDB7A11FB__section_787D674A64244871AE49CBB58475088E" class="no-quick-link"></a>Peer-to-Peer Region Storage and Distribution
+
+At its most general, data management means having current data available when and where your applications need it. In a properly configured Geode installation, you store your data in your local members and Geode automatically distributes it to the other members that need it according to your cache configuration settings. You may be storing very large data objects that require special consideration, or you may have a high volume of data requiring careful configuration to safeguard your application's performance or memory use. You may need to be able to explicitly lock some data during particular operations. Most data management features are available as configuration options, which you can specify either using the `gfsh` cluster configuration service, `cache.xml` file or the API. Once configured, Geode manages the data automatically. For example, this is how you manage data distribution, disk storage, data expiration activities, and data partitioning. A few features are managed at ru
 n-time through the API.
+
+At the architectural level, data distribution runs between peers in a single system and between clients and servers.
+
+-   Peer-to-peer provides the core distribution and storage models, which are specified as attributes on the data regions.
+
+-   For client/server, you choose which data regions to share between the client and server tiers. Then, within each region, you can fine-tune the data that the server automatically sends to the client by subscribing to subsets.
+
+Data storage in any type of installation is based on the peer-to-peer configuration for each individual distributed system. Data and event distribution is based on a combination of the peer-to-peer and system-to-system configurations.
+
+Storage and distribution models are configured through cache and region attributes. The main choices are partitioned, replicated, or just distributed. All server regions must be partitioned or replicated. Each region\u2019s `data-policy` and `subscription-attributes`, and its `scope` if it is not a partitioned region, interact for finer control of data distribution.
+
+## <a id="concept_B18B7754E7C7485BA6D66F2DDB7A11FB__section_A364D16DFADA49D1A838A7EAF8E4251C" class="no-quick-link"></a>Storing Data in the Local Cache
+
+To store data in your local cache, use a region `refid` with a `RegionShortcut` or `ClientRegionShortcut` that has local state. These automatically set the region `data-policy` to a non-empty policy. Regions without storage can send and receive event distributions without storing anything in your application heap. With the other settings, all entry operations received are stored locally.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/storing_data_on_disk/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/storing_data_on_disk/chapter_overview.html.md.erb b/geode-docs/developing/storing_data_on_disk/chapter_overview.html.md.erb
new file mode 100644
index 0000000..96c6a3d
--- /dev/null
+++ b/geode-docs/developing/storing_data_on_disk/chapter_overview.html.md.erb
@@ -0,0 +1,24 @@
+---
+title:  Persistence and Overflow
+---
+
+You can persist data on disk for backup purposes and overflow it to disk to free up memory without completely removing the data from your cache.
+
+**Note:**
+This supplements the general steps for managing data regions provided in [Basic Configuration and Programming](../../basic_config/book_intro.html).
+
+All disk storage uses Apache Geode[Disk Storage](../../managing/disk_storage/chapter_overview.html).
+
+-   **[How Persistence and Overflow Work](../../developing/storing_data_on_disk/how_persist_overflow_work.html)**
+
+    To use Geode persistence and overflow, you should understand how they work with your data.
+
+-   **[Configure Region Persistence and Overflow](../../developing/storing_data_on_disk/storing_data_on_disk.html)**
+
+    Plan persistence and overflow for your data regions and configure them accordingly.
+
+-   **[Overflow Configuration Examples](../../developing/storing_data_on_disk/overflow_config_examples.html)**
+
+    The `cache.xml` examples show configuration of region and server subscription queue overflows.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/storing_data_on_disk/how_persist_overflow_work.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/storing_data_on_disk/how_persist_overflow_work.html.md.erb b/geode-docs/developing/storing_data_on_disk/how_persist_overflow_work.html.md.erb
new file mode 100644
index 0000000..2c08c33
--- /dev/null
+++ b/geode-docs/developing/storing_data_on_disk/how_persist_overflow_work.html.md.erb
@@ -0,0 +1,47 @@
+---
+title:  How Persistence and Overflow Work
+---
+
+To use Geode persistence and overflow, you should understand how they work with your data.
+
+<a id="how_persist_overflow_work__section_jzl_wwb_pr"></a>
+Geode persists and overflows several types of data. You can persist or overflow the application data in your regions. In addition, Geode persists and overflows messaging queues between distributed systems, to manage memory consumption and provide high availability.
+
+Persistent data outlives the member where the region resides and can be used to initialize the region at creation. Overflow acts only as an extension of the region in memory.
+
+The data is written to disk according to the configuration of Geode disk stores. For any disk option, you can specify the name of the disk store to use or use the Geode default disk store. See [Disk Storage](../../managing/disk_storage/chapter_overview.html).
+
+## <a id="how_persist_overflow_work__section_78F2D1820B6C48859A0E5411CE360105" class="no-quick-link"></a>How Data Is Persisted and Overflowed
+
+For persistence, the entry keys and values are copied to disk. For overflow, only the entry values are copied. Other data, such as statistics and user attributes, are retained in memory only.
+
+-   Data regions are overflowed to disk by least recently used (LRU) entries because those entries are deemed of least interest to the application and therefore less likely to be accessed.
+-   Server subscription queues overflow most recently used (MRU) entries. These are the messages that are at the end of the queue and so are last in line to be sent to the client.
+
+## <a id="how_persist_overflow_work__section_1A3AE288145749058880D98C699FE124" class="no-quick-link"></a>Persistence
+
+Persistence provides a disk backup of region entry data. The keys and values of all entries are saved to disk, like having a replica of the region on disk. Region entry operations such as put and destroy are carried out in memory and on disk.
+
+<img src="../../images_svg/developing_persistence.svg" id="how_persist_overflow_work__image_B53E1A5A568D437692247A2FD99348A6" class="image" />
+
+When the member stops for any reason, the region data on disk remains. In partitioned regions, where data buckets are divided among members, this can result in some data only on disk and some on disk and in memory. The disk data can be used at member startup to populate the same region.
+
+## <a id="how_persist_overflow_work__section_55A7BBEB48574F649C40EB5D3E9CD0AC" class="no-quick-link"></a>Overflow
+
+Overflow limits region size in memory by moving the values of least recently used (LRU) entries to disk. Overflow basically uses disk as a swap space for entry values. If an entry is requested whose value is only on disk, the value is copied back up into memory, possibly causing the value of a different LRU entry to be moved to disk. As with persisted entries, overflowed entries are maintained on disk just as they are in memory.
+
+In this figure, the value of entry X has been moved to disk to make space in memory. The key for X remains in memory. From the distributed system perspective, the value on disk is as much a part of the region as the data in memory.
+
+<img src="../../images_svg/developing_overflow.svg" id="how_persist_overflow_work__image_1F89C9FBACB54EDA844778EC60F61B8D" class="image" />
+
+## <a id="how_persist_overflow_work__section_9CBEBC0B59554DB49CE4941435793C51" class="no-quick-link"></a>Persistence and Overflow Together
+
+Used together, persistence and overflow keep all entry keys and values on disk and only the most active entry values in memory. The removal of an entry value from memory due to overflow has no effect on the disk copy as all entries are already on disk.
+
+<img src="../../images_svg/developing_persistence_and_overflow.svg" id="how_persist_overflow_work__image_E40D9C2EA238406A991E954477C7EB78" class="image" />
+
+## Persistence and Multi-Site Configurations
+
+Multi-site gateway sender queues overflow most recently used (MRU) entries. These are the messages that are at the end of the queue and so are last in line to be sent to the remote site. You can also configure gateway sender queues to persist for high availability.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/storing_data_on_disk/overflow_config_examples.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/storing_data_on_disk/overflow_config_examples.html.md.erb b/geode-docs/developing/storing_data_on_disk/overflow_config_examples.html.md.erb
new file mode 100644
index 0000000..ca9d7cd
--- /dev/null
+++ b/geode-docs/developing/storing_data_on_disk/overflow_config_examples.html.md.erb
@@ -0,0 +1,36 @@
+---
+title:  Overflow Configuration Examples
+---
+
+The `cache.xml` examples show configuration of region and server subscription queue overflows.
+
+<a id="overflow_config_examples__section_FD38DA72706245C996ACB7B23927F6AF"></a>
+Configure overflow criteria based on one of these factors:
+
+-   Entry count
+-   Absolute memory consumption
+-   Memory consumption as a percentage of the application heap (not available for server subscription queues)
+
+Configuration of region overflow:
+
+``` pre
+<!-- Overflow when the region goes over 10000 entries -->
+<region-attributes>
+  <eviction-attributes>
+    <lru-entry-count maximum="10000" action="overflow-to-disk"/>
+  </eviction-attributes>
+</region-attributes>
+```
+
+Configuration of server's client subscription queue overflow:
+
+``` pre
+<!-- Overflow the server's subscription queues when the queues reach 1 Mb of memory -->
+<cache> 
+  <cache-server> 
+    <client-subscription eviction-policy="mem" capacity="1"/> 
+  </cache-server> 
+</cache>
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/storing_data_on_disk/storing_data_on_disk.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/storing_data_on_disk/storing_data_on_disk.html.md.erb b/geode-docs/developing/storing_data_on_disk/storing_data_on_disk.html.md.erb
new file mode 100644
index 0000000..9aefd7c
--- /dev/null
+++ b/geode-docs/developing/storing_data_on_disk/storing_data_on_disk.html.md.erb
@@ -0,0 +1,62 @@
+---
+title:  Configure Region Persistence and Overflow
+---
+
+Plan persistence and overflow for your data regions and configure them accordingly.
+
+<a id="storing_data_on_disk__section_E253562A46114CF0A4E47048D8143999"></a>
+Use the following steps to configure your data regions for persistence and overflow:
+
+1.  Configure your disk stores as needed. See [Designing and Configuring Disk Stores](../../managing/disk_storage/using_disk_stores.html#defining_disk_stores). The cache disk store defines where and how the data is written to disk.
+
+    ``` pre
+    <disk-store name="myPersistentStore" . . . >
+    <disk-store name="myOverflowStore" . . . >
+    ```
+
+2.  Specify the persistence and overflow criteria for the region. If you are not using the default disk store, provide the disk store name in your region attributes configuration. To write asynchronously to disk, specify `disk-synchronous="false"`.
+    -   For overflow, specify the overflow criteria in the region's `eviction-attributes` and name the disk store to use.
+
+        Example:
+
+        ``` pre
+        <region name="overflowRegion" . . . >
+          <region-attributes disk-store-name="myOverflowStore" disk-synchronous="true">
+            <eviction-attributes>
+              <!-- Overflow to disk when 100 megabytes of data reside in the
+                   region -->
+              <lru-memory-size maximum="100" action="overflow-to-disk"/>
+            </eviction-attributes>
+          </region-attributes>
+        </region>
+        ```
+
+        gfsh:
+
+        You cannot configure `lru-memory-size` using gfsh.
+    -   For persistence, set the `data-policy` to `persistent-replicate` and name the disk store to use.
+
+        Example:
+
+        ``` pre
+        <region name="partitioned_region" refid="PARTITION_PERSISTENT">
+          <region-attributes disk-store-name="myPersistentStore">
+            . . . 
+          </region-attributes>
+        </region> 
+        ```
+
+When you start your members, overflow and persistence will be done automatically, with the disk stores and disk write behaviors.
+
+**Note:**
+You can also configure Regions and Disk Stores using the gfsh command-line interface. See [Region Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_EF03119A40EE492984F3B6248596E1DD) and [Disk Store Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_1ACC91B493EE446E89EC7DBFBBAE00EA).
+
+<a id="storing_data_on_disk__section_0D825566F508444C98DFE57527962FED"></a>
+
+| Related Topics                                                                        |
+|---------------------------------------------------------------------------------------|
+| `org.apache.geode.cache.RegionAttributes` for data region persistence information |
+| `org.apache.geode.cache.EvictionAttributes` for data region overflow information  |
+| `org.apache.geode.cache.server.ClientSubscriptionConfig`                          |
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/JTA_transactions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/JTA_transactions.html.md.erb b/geode-docs/developing/transactions/JTA_transactions.html.md.erb
new file mode 100644
index 0000000..31d0cbb
--- /dev/null
+++ b/geode-docs/developing/transactions/JTA_transactions.html.md.erb
@@ -0,0 +1,226 @@
+---
+title: JTA Global Transactions with Geode
+---
+
+
+Use JTA global transactions to coordinate Geode cache transactions and JDBC transactions.
+
+JTA is a standard Java interface you can use to coordinate Geode cache transactions and JDBC transactions globally under one umbrella. JTA provides direct coordination between the Geode cache and another transactional resource, such as a database. The parties involved in a JTA transaction include:
+
+-   The Java application, responsible for starting the global transaction
+-   The JTA transaction manager, responsible for opening, committing, and rolling back transactions
+-   The transaction resource managers, including the Geode cache transaction manager and the JDBC resource manager, responsible for managing operations in the cache and database respectively
+
+Using JTA, your application controls all transactions in the same standard way, whether the transactions act on the Geode cache, a JDBC resource, or both together. When a JTA global transaction is done, the Geode transaction and the database transaction are both complete.
+
+When using JTA global transactions with Geode, you have three options:
+
+1.  Coordinate with an external JTA transaction manager in a container (such as WebLogic or JBoss)
+2.  Set Geode as the \u201clast resource\u201d while using a container (such as WebLogic or JBoss) as the JTA transaction manager
+3.  Have Geode act as the JTA transaction manager
+
+An application creates a global transaction by using `javax.transaction.UserTransaction` bound to the JNDI context `java:/UserTransaction` to start and terminate transactions. During the transaction, cache operations are done through Geode as usual as described in [Geode Cache Transactions](cache_transactions.html#topic_e15_mr3_5k).
+
+**Note:**
+See the Sun documentation for more information on topics such as JTA, `javax.transaction`, committing and rolling back global transactions, and the related exceptions.
+
+-   **[Coordinating with External JTA Transactions Managers](#concept_cp1_zx1_wk)**
+
+    Geode can work with the JTA transaction managers of several containers like JBoss, WebLogic, GlassFish, and so on.
+
+-   **[Using Geode as the "Last Resource" in a Container-Managed JTA Transaction](#concept_csy_vfb_wk)**
+
+    The "last resource" feature in certain 3rd party containers such as WebLogic allow the use one non-XAResource (such as Geode) in a transaction with multiple XAResources while ensuring consistency.
+
+-   **[Using Geode as the JTA Transaction Manager](#concept_8567sdkbigige)**
+
+    You can also use Geode as the JTA transaction manager.
+
+-   **[Behavior of Geode Cache Writers and Loaders Under JTA](cache_plugins_with_jta.html)**
+
+    When Geode participates in a global transactions, you can still have Geode cache writers and cache loaders operating in the usual way.
+
+-   **[Turning Off JTA Transactions](turning_off_jta.html)**
+
+    You can configure regions to not participate in any JTA global transaction.
+
+<a id="concept_cp1_zx1_wk"></a>
+
+# Coordinating with External JTA Transactions Managers
+
+Geode can work with the JTA transaction managers of several containers like JBoss, WebLogic, GlassFish, and so on.
+
+At startup Geode looks for a TransactionManager (`javax.transaction.TransactionManager`) that has been bound to its JNDI context. When Geode finds such an external transaction manager, all Geode region operations (such as get and put) will participate in global transactions hosted by this external JTA transaction manager.
+
+This figure shows the high-level operation of a JTA global transaction whose resources include a Geode cache and a database.
+
+<img src="../../images/transactions_jta_app_server.png" id="concept_cp1_zx1_wk__image_C2935E48415349659FC39BF5C7E75579" class="image" />
+
+An externally coordinated JTA global transaction is run in the following manner:
+
+1.  Each region operation looks up for presence of a global transaction. If one is detected, then a Geode transaction is started automatically, and we register a `javax.transaction.Synchronization` callback with the external JTA transaction manager.
+2.  At transaction commit, Geode gets a `beforeCommit()` callback from the external JTA transaction manager. Geode does all locking and conflict detection at this time. If this fails, an exception is thrown back to JTA transaction manager, which then aborts the transaction.
+3.  After a successful `beforeCommit()`callback, JTA transaction manager asks other data sources to commit their transaction.
+4.  Geode then gets a `afterCommit()` callback in which changes are applied to the cache and distributed to other members.
+
+You can disable JTA in any region that should not participate in JTA transactions. See [Turning Off JTA Transactions](turning_off_jta.html#concept_nw2_5gs_xk).
+
+## <a id="task_j3g_3mn_1l" class="no-quick-link"></a>How to Run a JTA Transaction Coordinated by an External Transaction Manager
+
+Use the following procedure to run a Geode global JTA transaction coordinated by an external JTA transaction manager.
+
+1.  **Configure the external data sources in the external container.** Do not configure the data sources in cache.xml . They are not guaranteed to get bound to the JNDI tree.
+2.  
+
+    Configure Geode for any necessary transactional behavior in the `cache.xml` file. For example, enable `copy-on-read` and specify a transaction listener, as needed. See [Setting Global Copy on Read](working_with_transactions.html#concept_vx2_gs4_5k) and [Configuring Transaction Plug-In Event Handlers](working_with_transactions.html#concept_ocw_vf1_wk) for details. 
+3.  
+
+    Make sure that JTA transactions are enabled for the regions that will participate in the transaction. See [Turning Off JTA Transactions](turning_off_jta.html#concept_nw2_5gs_xk) for details. 
+4.  
+
+     Start the transaction through the external container. 
+5.  
+
+    Initialize the Geode cache. Geode will automatically join the transaction. 
+6.  
+
+     Execute operations in the cache and the database as usual. 
+7.  
+
+     Commit the transaction through the external container. 
+
+<a id="concept_csy_vfb_wk"></a>
+
+# Using Geode as the "Last Resource" in a Container-Managed JTA Transaction
+
+The "last resource" feature in certain 3rd party containers such as WebLogic allow the use one non-XAResource (such as Geode) in a transaction with multiple XAResources while ensuring consistency.
+
+In the previous two JTA transaction use cases, if the Geode member fails after the other data sources commit but before Geode receives the `afterCommit` callback, Geode and the other data sources may become inconsistent. To prevent this from occurring, you can use the container's "last resource optimization" feature, with Geode set as the "last resource". Using Geode as the last resource ensures that in the event of failure, Geode remains consistent with the other XAResources involved in the transaction.
+
+To accomplish this, the application server container must use a JCA Resource Adapter to accomodate Geode as the transaction's last resource. The transaction manager of the container first issues a "prepare" message to the participating XAResources. If the XAResources all accept the transaction, then the manager issues a "commit" instruction to the non-XAResource (in this case, Geode). The non-XAResource (in this case, Geode) participates as a local transaction resource. If the non-XAResource fails, then the transaction manager can rollback the XAResources.
+
+<img src="../../images/transactions_jca_adapter.png" id="concept_csy_vfb_wk__image_opb_sgb_wk" class="image" />
+
+<a id="task_sln_x3b_wk"></a>
+
+# How to Run JTA Transactions with Geode as a "Last Resource"
+
+1.  Locate the `$GEMFIRE/lib/gemfire-jca.rar` file in your Geode installation. 
+2.  Add your container-specific XML file to the `gemfire-jca.rar` file. 
+<ol>
+<li>Create a container-specific resource adapter XML file named &lt;container&gt;-ra.xml. For example, an XML file for a WebLogic resource adapter XML file might look something like this:
+
+    ``` pre
+    <?xml version="1.0"?>
+    <!DOCTYPE weblogic-connection-factory-dd PUBLIC '-//BEA Systems, Inc.//DTD WebLogic 9.0.0 Connector//EN' 
+    'http://www.bea.com/servers/wls810/dtd/weblogic810-ra.dtd'>
+
+    <weblogic-connection-factory-dd>
+       <connection-factory-name>GFE JCA</connection-factory-name>
+       <jndi-name>gfe/jca</jndi-name>
+    </weblogic-connection-factory-dd>
+    ```
+</li>
+<li>Create a folder named `META-INF`, and place the container-specific XML file inside the directory. For example, the folder structure would look like this:
+
+    ``` pre
+    META-INF/weblogic-ra.xml
+    ```
+</li>
+<li>Navigate to the directory above the `META-INF` folder and execute the following command:
+
+    ``` pre
+    $ jar -uf <GEMFIRE_INSTALL_DIR>/lib/gemfire-jca.rar META-INF/weblogic-ra.xml
+    ```
+</li>
+</ol>
+3.  Make sure that `$GEMFIRE/lib/gemfire.jar` is accessible in the CLASSPATH of the JTA transaction coordinator container.
+4.  Deploy `gemfire-jca.rar` file on the JTA transaction coordinator container . When deploying the file, you specify the JNDI name and so on. 
+5.  Configure Geode for any necessary transactional behavior. Enable `copy-on-read` and specify a transaction listener, if you need one. See [Setting Global Copy on Read](working_with_transactions.html#concept_vx2_gs4_5k) and [Configuring Transaction Plug-In Event Handlers](working_with_transactions.html#concept_ocw_vf1_wk) for details.
+6.  Get an initial context through `com.gemstone.cache.Cache.getJNDIContext`. For example:
+
+    ``` pre
+    Context ctx = cache.getJNDIContext();
+    ```
+
+    This returns `javax.naming.Context` and gives you the JNDI associated with the cache. The context contains the `TransactionManager`, `UserTransaction`, and any configured JDBC resource manager.
+
+7.  Start and commit the global transaction using the `UserTransaction` object rather than with Geode's `CacheTransactionManager`. 
+
+    ``` pre
+    UserTransaction txManager = (UserTransaction)ctx.lookup("java:/UserTransaction");
+    ```
+
+8.  Obtain a Geode connection.
+
+    ``` pre
+    GFConnectionFactory cf = (GFConnectionFactory) ctx.lookup("gfe/jca");
+
+    //This step of obtaining connection is what begins the
+    //LocalTransaction.
+    //If this is absent, GFE operations will not be part of any
+    //transaction
+    GFConnection gemfireConn = (GFConnection)cf.getConnection();
+    ```
+
+See [JCA Resource Adapter Example](jca_adapter_example.html#concept_swv_z2p_wk) for an example of how to set up a transaction using the JCA Resource Adapter.
+
+## <a id="concept_8567sdkbigige" class="no-quick-link"></a>Using Geode as the JTA Transaction Manager
+
+You can also use Geode as the JTA transaction manager.
+
+Geode ships with its own implementation of a JTA transaction manager. However, note that this implementation is not XA-compliant; therefore, it does not persist any state, which could lead to an inconsistent state after recovering a crashed member.
+
+<img src="../../images/transactions_jta.png" id="concept_8567sdkbigige__image_C8D94070E55F4BCC8B5FF3D5BEBA99ED" class="image" />
+
+The Geode JTA transaction manager is initialized when the Geode cache is initialized. Until then, JTA is not available for use. The application starts a JTA transaction by using the `UserTransaction.begin` method. The `UserTransaction` object is the application\u2019s handle to instruct the JTA transaction manager on what to do.
+
+The Geode JTA implementation also supports the J2EE Connector Architecture (JCA) `ManagedConnectionFactory`.
+
+The Geode implementation of JTA has the following limitations:
+
+-   Only one JDBC database instance per transaction is allowed, although you can have multiple connections to that database.
+-   Multiple threads cannot participate in a transaction.
+-   Transaction recovery after a crash is not supported.
+
+In addition, JTA transactions are subject to the limitations of Geode cache transactions such as not being supported on regions with global scope. When a global transaction needs to access the Geode cache, JTA silently starts a Geode cache transaction.
+
+<a id="task_qjv_khb_wk"></a>
+
+# How to Run a JTA Global Transaction Using Geode as the JTA Transaction Manager
+
+This topic describes how to run a JTA global transaction in Geode .
+
+To run a global transaction, perform the following steps:
+
+1. Configure the external data sources in the `cache.xml` file. See [Configuring Database Connections Using JNDI](configuring_db_connections_using_JNDI.html#topic_A5E3A67C808D48C08E1F0DC167C5C494) for examples. 
+2. Include the JAR file for any data sources in your CLASSPATH. 
+3.  Configure Geode for any necessary transactional behavior. Enable `copy-on-read` for your cache and specify a transaction listener, if you need one. See [Setting Global Copy on Read](working_with_transactions.html#concept_vx2_gs4_5k) and [Configuring Transaction Plug-In Event Handlers](working_with_transactions.html#concept_ocw_vf1_wk) for details. 
+4.  Make sure that JTA transactions are not disabled in the `cache.xml` file or the application code. 
+5.  Initialize the Geode cache. 
+6.  Get an initial context through `org.apache.geode.cache.Cache.getJNDIContext`. For example: 
+
+    ``` pre
+    Context ctx = cache.getJNDIContext();
+    ```
+
+    This returns `javax.naming.Context` and gives you the JNDI associated with the cache. The context contains the `TransactionManager`, `UserTransaction`, and any configured JDBC resource manager.
+
+7.  Look up the `UserTransaction` context: 
+
+    ``` pre
+    UserTransaction txManager = (UserTransaction) ctx.lookup("java:/UserTransaction");
+    ```
+
+    With `UserTransaction`, you can begin, commit, and rollback transactions.
+    If a global transaction exists when you use the cache, it automatically joins the transaction. Operations on a region automatically detect and become associated with the existing global transaction through JTA synchronization. If the global transaction has been marked for rollback, however, the Geode cache is not allowed to enlist with that transaction. Any cache operation that causes an attempt to enlist throws a `FailedSynchronizationException`.
+
+    The Geode cache transaction\u2019s commit or rollback is triggered when the global transaction commits or rolls back. When the global transaction is committed using the `UserTransaction` interface, the transactions of any registered JTA resources are committed, including the Geode cache transaction. If the cache or database transaction fails to commit, the `UserTransaction` call throws a `TransactionRolledBackException`. If a commit or rollback is attempted directly on a Geode transaction that is registered with JTA, that action throws an `IllegalStateException`.
+
+See [Geode JTA Transaction Example](transaction_jta_gemfire_example.html#concept_ffg_sj5_1l).
+
+-   **[Configuring Database Connections Using JNDI](configuring_db_connections_using_JNDI.html)**
+
+-   **[Example DataSource Configurations in cache.xml](configuring_db_connections_using_JNDI.html#topic_F67EC20067124A618A8099AB4CBF634C)**
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/about_transactions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/about_transactions.html.md.erb b/geode-docs/developing/transactions/about_transactions.html.md.erb
new file mode 100644
index 0000000..158f5f8
--- /dev/null
+++ b/geode-docs/developing/transactions/about_transactions.html.md.erb
@@ -0,0 +1,30 @@
+---
+title: About Transactions
+---
+
+<a id="topic_jbt_2y4_wk"></a>
+
+
+This section covers the features of Geode transactions.
+
+Geode transactions provide the following features:
+
+-   Basic transaction properties: atomicity, consistency, isolation, and durability
+-   Rollback and commit operations along with standard Geode cache operations
+-   Ability to suspend and resume transactions
+-   High concurrency and high performance
+-   Transaction statistics gathering and archiving
+-   Compatibility with Java Transaction API (JTA) transactions, using either Geode JTA or a third-party implementation
+-   Ability to use Geode as a \u201clast resource\u201d in JTA transactions with multiple data sources to guarantee transactional consistency
+
+## Types of Transactions
+
+Geode supports two kinds of transactions: **Geode cache transactions** and **JTA global transactions**.
+
+Geode cache transactions are used to group the execution of cache operations and to gain the control offered by transactional commit and rollback. Applications create cache transactions by using an instance of the Geode `CacheTransactionManager`. During a transaction, cache operations are performed and distributed through Geode as usual. See [Geode Cache Transactions](cache_transactions.html#topic_e15_mr3_5k) for details on Geode cache transactions and how these transactions work.
+
+JTA global transactions allow you to use the standard JTA interface to coordinate Geode transactions with JDBC transactions. When performing JTA global transactions, you have the option of using Geode\u2019s own implementation of JTA or a third party\u2019s implementation (typically application servers such as WebLogic or JBoss) of JTA. In addition, some third party JTA implementations allow you to set Geode as a \u201clast resource\u201d to ensure transactional consistency across data sources in the event that Geode or another data source becomes unavailable. For global transactions, applications use `java:/UserTransaction` to start and terminate transactions while Geode cache operations are performed in the same manner as regular Geode cache transactions. See [JTA Global Transactions with Geode](JTA_transactions.html) for details on JTA Global transactions.
+
+You can also coordinate a Geode cache transaction with an external database by specifying database operations within cache and transaction application plug-ins (CacheWriters/CacheListeners and TransactionWriters/TransactionListeners.) This is an alternative to using JTA transactions. See [How to Run a Geode Cache Transaction that Coordinates with an External Database](run_a_cache_transaction_with_external_db.html#task_sdn_2qk_2l).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/cache_plugins_with_jta.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/cache_plugins_with_jta.html.md.erb b/geode-docs/developing/transactions/cache_plugins_with_jta.html.md.erb
new file mode 100644
index 0000000..d0199f5
--- /dev/null
+++ b/geode-docs/developing/transactions/cache_plugins_with_jta.html.md.erb
@@ -0,0 +1,11 @@
+---
+title:  Behavior of Geode Cache Writers and Loaders Under JTA
+---
+
+When Geode participates in a global transactions, you can still have Geode cache writers and cache loaders operating in the usual way.
+
+For example, in addition to the transactional connection to the database, the region could also have a cache writer and cache loader configured to exchange data with that same database. As long as the data source is transactional, which means that it can detect the transaction manager, the cache writer and cache loader participate in the transaction. If the JTA rolls back its transaction, the changes made by the cache loader and the cache writer are rolled back. For more on transactional data sources, see the discussion of XAPooledDataSource and ManagedDataSource in[Configuring Database Connections Using JNDI](configuring_db_connections_using_JNDI.html#topic_A5E3A67C808D48C08E1F0DC167C5C494).
+
+If you are using a Geode cache or transaction listener with global transactions, be aware that the EntryEvent returned by a transaction has the Geode transaction ID, not the JTA transaction ID.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/cache_transaction_performance.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/cache_transaction_performance.html.md.erb b/geode-docs/developing/transactions/cache_transaction_performance.html.md.erb
new file mode 100644
index 0000000..f78e21b
--- /dev/null
+++ b/geode-docs/developing/transactions/cache_transaction_performance.html.md.erb
@@ -0,0 +1,12 @@
+---
+title:  Cache Transaction Performance
+---
+
+Cache transaction performance can vary depending on the type of regions you are using.
+
+The most common region configurations for use with transactions are distributed replicated and partitioned:
+
+-   Replicated regions are better suited for running transactions on small to mid-size data sets. To ensure all or nothing behavior, at commit time, distributed transactions use the global reservation system of the Geode distributed lock service. This works well as long as the data set is reasonably small.
+-   Partitioned regions are the right choice for highly-performant, scalable operations. Transactions on partitioned regions use only local locking, and only send messages to the redundant data stores at commit time. Because of this, these transactions perform much better than distributed transactions. There are no global locks, so partitioned transactions are extremely scalable as well.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/cache_transactions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/cache_transactions.html.md.erb b/geode-docs/developing/transactions/cache_transactions.html.md.erb
new file mode 100644
index 0000000..01359cd
--- /dev/null
+++ b/geode-docs/developing/transactions/cache_transactions.html.md.erb
@@ -0,0 +1,34 @@
+---
+title: Geode Cache Transactions
+---
+
+<a id="topic_e15_mr3_5k"></a>
+
+
+Use Geode cache transactions to group the execution of cache operations and to gain the control offered by transactional commit and rollback. Geode cache transactions control operations within the Geode cache while the Geode distributed system handles data distribution in the usual way.
+
+-   **[Cache Transaction Performance](../../developing/transactions/cache_transaction_performance.html)**
+
+    Cache transaction performance can vary depending on the type of regions you are using.
+
+-   **[Data Location for Cache Transactions](../../developing/transactions/data_location_cache_transactions.html)**
+
+    The location where you can run your transaction depends on where you are storing your data.
+
+-   **[How to Run a Geode Cache Transaction](../../developing/transactions/run_a_cache_transaction.html)**
+
+    This topic describes how to run a Geode cache transaction.
+
+-   **[How to Run a Geode Cache Transaction that Coordinates with an External Database](../../developing/transactions/run_a_cache_transaction_with_external_db.html)**
+
+    Coordinate a Geode cache transaction with an external database by using CacheWriter/CacheListener and TransactionWriter/TransactionListener plug-ins, **to provide an alternative to using JTA transactions**.
+
+-   **[Working with Geode Cache Transactions](../../developing/transactions/working_with_transactions.html)**
+
+    This section contains guidelines and additional information on working with Geode and its cache transactions.
+
+-   **[How Geode Cache Transactions Work](../../developing/transactions/how_cache_transactions_work.html#topic_fls_1j1_wk)**
+
+    This section provides an explanation of how transactions work on Geode caches.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/cache_transactions_by_region_type.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/cache_transactions_by_region_type.html.md.erb b/geode-docs/developing/transactions/cache_transactions_by_region_type.html.md.erb
new file mode 100644
index 0000000..a576ded
--- /dev/null
+++ b/geode-docs/developing/transactions/cache_transactions_by_region_type.html.md.erb
@@ -0,0 +1,139 @@
+---
+title: Transactions by Region Type
+---
+<a id="topic_nlq_sk1_wk"></a>
+
+
+A transaction is managed on a per-cache basis, so multiple regions in the cache can participate in a single transaction. The data scope of a Geode cache transaction is the cache that hosts the transactional data. For partitioned regions, this may be a remote host to the one running the transaction application. Any transaction that includes one or more partitioned regions is run on the member storing the primary copy of the partitioned region data. Otherwise, the transaction host is the same one running the application.
+
+-   The client executing the transaction code is called the transaction initiator.
+
+-   The member contacted by the transaction initiator is called the transaction delegate.
+
+-   The member that hosts the data\u2014and the transaction\u2014is called the transaction host.
+
+The transaction host may be the same member or different member from the transaction initiator. In either case, when the transaction commits, data distribution is done from the transaction host in the same way.
+
+**Note:**
+If you have consistency checking enabled in your region, the transaction will generate all necessary version information for the region update when the transaction commits. See [Transactions and Consistent Regions](working_with_transactions.html#transactions_and_consistency) for more details.
+
+-   **[Transactions and Partitioned Regions](../../developing/transactions/cache_transactions_by_region_type.html#concept_ysk_xj1_wk)**
+
+-   **[Transactions and Replicated Regions](../../developing/transactions/cache_transactions_by_region_type.html#concept_nl5_pk1_wk)**
+
+-   **[Transactions and Persistent Regions](../../developing/transactions/cache_transactions_by_region_type.html#concept_omy_341_wk)**
+
+## Transactions and Partitioned Regions
+<a id="concept_ysk_xj1_wk">
+
+In partitioned regions, transaction operations are done first on the primary data store then distributed to other members from there, regardless of which member initiates the cache operation. This is the same as is done for normal cache operations on partitioned regions.
+
+In this figure, M1 runs two transactions.
+
+-   The first transaction, T1, works on data whose primary buckets are stored in M1, so M1 is the transaction host.
+-   The second transaction, T2, works on data whose primary buckets are stored in M2, so M1 is the transaction delegate and M2 is the transaction host.
+
+*Transaction on a Partitioned Region:*
+
+<img src="../../images_svg/transactions_partitioned_1.svg" id="concept_ysk_xj1_wk__image_9BF680072A674BCF9F01958753F02952" class="image imageleft" />
+
+The transaction is managed on the transaction host. This includes the transactional view, all operations, and all local cache event handling. In this example, when T2 is committed, the data on M2 is updated and the transaction events are distributed throughout the system, exactly as if the transaction had originated on M2.
+
+The first region operation within the transaction determines the transaction host. All other operations must also work with that as their transaction host:
+
+-   All partitioned region data managed inside the transaction must use the transaction host as their primary data store. In the example, if transaction T2 tried to work on entry W in addition to entries Y and Z, the `TransactionDataNotColocatedException` would be thrown. For information on partitioning data so it is properly colocated for transactions, see [Understanding Custom Partitioning and Data Colocation](../partitioned_regions/custom_partitioning_and_data_colocation.html#custom_partitioning_and_data_colocation). In addition, the data must not be moved during the transaction. Design partitioned region rebalancing to avoid rebalancing while transactions are running. See [Rebalancing Partitioned Region Data](../partitioned_regions/rebalancing_pr_data.html#rebalancing_pr_data).
+-   All non-partitioned region data managed inside the transaction must be available on the transaction host and must be distributed. Operations on regions with local scope are not allowed in transactions with partitioned regions.
+
+The next figure shows a transaction that operates on two partitioned regions and one replicated region. As with the single region example, all local event handling is done on the transaction host.
+
+For a transaction to work, the first operation must be on one of the partitioned regions, to establish M2 as the transaction host. Running the first operation on a key in the replicated region would set M1 as the transaction host, and subsequent operations on the partitioned region data would fail with a `TransactionDataNotColocatedException` exception.
+
+*Transaction on a Partitioned Region with Other Regions:*
+
+<img src="../../images_svg/transactions_partitioned_2.svg" id="concept_ysk_xj1_wk__image_34496249618F46F8B8F7E2D4F342E1E6" class="image" />
+
+## Transactions and Replicated Regions
+<a id="concept_nl5_pk1_wk">
+
+<a id="concept_nl5_pk1_wk__section_C55E80C7136D4A9A8327563E4B89356D"></a>
+For replicated regions, the transaction and its operations are applied to the local member and the resulting transaction state is distributed to other members according to the attributes of each region.
+
+**Note:**
+If possible, use `distributed-ack` scope for your regions where you will run transactions. The `REPLICATE` region shortcuts use `distributed-ack` scope.
+
+The region\u2019s scope affects how data is distributed during the commit phase. Transactions are supported for these region scopes:
+
+-   `distributed-ack`. Handles transactional conflicts both locally and between members. The `distributed-ack` scope is designed to protect data consistency. This scope provides the highest level of coordination among transactions in different members. When the commit call returns for a transaction run on all distributed-ack regions, you can be sure that the transaction\u2019s changes have already been sent and processed. In addition, any callbacks in the remote member have been invoked.
+-   `distributed-no-ack`. Handles transactional conflicts locally, with less coordination between members. This provides the fastest transactions with distributed regions, but it does not work for all situations. This scope is appropriate for:
+    -   Applications with only one writer
+    -   Applications with multiple writers that write to nonoverlapping data sets
+-   `local`. No distribution, handles transactional conflicts locally. Transactions on regions with local scope have no distribution, but they perform conflict checks in the local member. You can have conflict between two threads when their transactions change the same entry.
+
+Transactions on non-replicated regions (regions that use the old API with DataPolicy EMPTY, NORMAL and PRELOADED) are always transaction initiators, and the transaction data host is always a member with a replicated region. This is similar to the way transactions using the PARTITION\_PROXY shortcut are forwarded to members with primary bucket.
+
+**Note:**
+When you have transactions operating on EMPTY, NORMAL or PARTITION regions, make sure that the Geode property `conserve-sockets` is set to false to avoid distributed deadlocks. An empty region is a region created with the API `RegionShortcut.REPLICATE_PROXY` or a region with that uses the old API of `DataPolicy` set to `EMPTY`.
+
+## Conflicting Transactions in Distributed-Ack Regions
+
+In this series of figures, even after the commit operation is launched, the transaction continues to exist during the data distribution (step 3). The commit does not complete until the changes are made in the remote caches and M1 receives the acknowledgement that verifies that the tasks are complete.
+
+**Step 1:** Before commit, Transactions T1 and T2 each change the same entry in Region B within their local cache. T1 also makes a change to Region A.
+
+<img src="../../images_svg/transactions_replicate_1.svg" id="concept_nl5_pk1_wk__image_cj1_zzj_54" class="image" />
+
+**Step 2:** Conflict detected and eliminated. The distributed system recognizes the potential conflict from Transactions T1 and T2 using the same entry. T1 started to commit first, so it is allowed to continue. T2's commit fails with a conflict.
+
+<img src="../../images_svg/transactions_replicate_2.svg" id="concept_nl5_pk1_wk__image_sbh_21k_54" class="image" />
+
+**Step 3:** Changes are in transit. T1 commits and its changes are merged into the local cache. The commit does not complete until Geode distributes the changes to the remote regions and acknowledgment is received.
+
+<img src="../../images_svg/transactions_replicate_3.svg" id="concept_nl5_pk1_wk__image_qgl_k1k_54" class="image" />
+
+**Step 4:** After commit. Region A in M2 and Region B in M3 reflect the changes from transaction T1 and M1 has received acknowledgment. Results may not be identical in different members if their region attributes (such as expiration) are different.
+
+<img src="../../images_svg/transactions_replicate_4.svg" id="concept_nl5_pk1_wk__image_mkm_q1k_54" class="image" />
+
+## Conflicting Transactions in Distributed-No-Ack Regions
+
+These figures show how using the no-ack scope can produce unexpected results. These two transactions are operating on the same region B entry. Since they use no-ack scope, the conflicting changes cross paths and leave the data in an inconsistent state.
+
+**Step 1:** As in the previous example, Transactions T1 and T2 each change the same entry in Region B within their local cache. T1 also makes a change to Region A. Neither commit fails, and the data becomes inconsistent.
+
+<img src="../../images_svg/transactions_replicate_1.svg" id="concept_nl5_pk1_wk__image_jn2_cbk_54" class="image" />
+
+**Step 2:** Changes are in transit. Transactions T1 and T2 commit and merge their changes into the local cache. Geode then distributes changes to the remote regions.
+
+<img src="../../images_svg/transactions_replicate_no_ack_1.svg" id="concept_nl5_pk1_wk__image_fk1_hbk_54" class="image" />
+
+**Step 3:** Distribution is complete. The non-conflicting changes in Region A have been distributed to M2 as expected. For Region B however, T1 and T2 have traded changes, which is not the intended result.
+
+<img src="../../images_svg/transactions_replicate_no_ack_2.svg" id="concept_nl5_pk1_wk__image_ijc_4bk_54" class="image" />
+
+## <a id="concept_nl5_pk1_wk__section_760DE9F2226B46AD8A025F562CEA4D40" class="no-quick-link"></a>Conflicting Transactions with Local Scope
+
+When encountering conflicts with local scope, the first transaction to start the commit process completes, and the other transaction\u2019s commit fails with a conflict.. In the diagram below, the resulting value for entry Y depends on which transaction commits first.
+<img src="../../images_svg/transactions_replicate_local_1.svg" id="concept_nl5_pk1_wk__image_A37172C328404796AE1F318068C18F43" class="image" />
+
+## Transactions and Persistent Regions
+<a id="concept_omy_341_wk">
+
+By default, Geode does not allow transactions on persistent regions. You can enable the use of transactions on persistent regions by setting the property `gemfire.ALLOW_PERSISTENT_TRANSACTIONS` to true. This may also be accomplished at server startup using gfsh:
+
+``` pre
+gfsh start server --name=server1 --dir=server1_dir \
+--J=-Dgemfire.ALLOW_PERSISTENT_TRANSACTIONS=true 
+```
+
+Since Geode does not provide atomic disk persistence guarantees, the default behavior is to disallow disk-persistent regions from participating in transactions. However, when choosing to enable transactions on persistent regions, consider the following:
+
+-   Geode does ensure atomicity for in-memory updates.
+-   When any failed member is unable to complete the logic triggered by a transaction (including subsequent disk writes), that failed member is removed from the distributed system and, if restarted, must rebuild its state from surviving nodes that successfully complete the updates.
+-   The chances of multiple nodes failing to complete the disk writes that result from a transaction commit due to nodes crashing for unrelated reasons are small. The real risk is that the file system buffers holding the persistent updates do not get written to disk in the case of operating system or hardware failure. If only the Geode process crashes, atomicity still exists. The overall risk of losing disk updates can also be mitigated by enabling synchronized disk file mode for the disk stores, but this incurs a high performance penalty.
+
+To mitigate the risk of data not get fully written to disk on all copies of the participating persistent disk stores:
+
+-   Make sure you have enough redundant copies of the data. The guarantees of multiple/distributed in-memory copies being (each) atomically updated as part of the Transaction commit sequence can help guard against data corruption.
+-   When executing transactions on persistent regions, we recommend using the TransactionWriter to log all transactions along with a time stamp. This will allow you to recover in the event that all nodes fail simultaneously while a transaction is being committed. You can use the log to recover the data manually.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/chapter_overview.html.md.erb b/geode-docs/developing/transactions/chapter_overview.html.md.erb
new file mode 100644
index 0000000..4dd8c5b
--- /dev/null
+++ b/geode-docs/developing/transactions/chapter_overview.html.md.erb
@@ -0,0 +1,31 @@
+---
+title:  Transactions
+---
+
+Geode provides a transactions API, with `begin`, `commit`, and `rollback` methods. These methods are much the same as the familiar relational database transactions methods.
+
+-   **[About Transactions](../../developing/transactions/about_transactions.html)**
+
+    This section covers the features of Geode transactions.
+
+-   **[Types of Transactions](../../developing/transactions/about_transactions.html#concept_w3b_wh3_5k)**
+
+    Geode supports two kinds of transactions: **Geode cache transactions** and **JTA global transactions**.
+
+-   **[Geode Cache Transactions](../../developing/transactions/cache_transactions.html)**
+
+    Use Geode cache transactions to group the execution of cache operations and to gain the control offered by transactional commit and rollback. Geode cache transactions control operations within the Geode cache while the Geode distributed system handles data distribution in the usual way.
+
+-   **[JTA Global Transactions with Geode](../../developing/transactions/JTA_transactions.html)**
+
+    Use JTA global transactions to coordinate Geode cache transactions and JDBC transactions.
+
+-   **[Monitoring and Troubleshooting Transactions](../../developing/transactions/monitor_troubleshoot_transactions.html)**
+
+    This topic covers errors that may occur when running transactions in Geode.
+
+-   **[Transaction Coding Examples](../../developing/transactions/transaction_coding_examples.html)**
+
+    This section provides several code examples for writing and executing transactions.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/client_server_transactions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/client_server_transactions.html.md.erb b/geode-docs/developing/transactions/client_server_transactions.html.md.erb
new file mode 100644
index 0000000..e819c68
--- /dev/null
+++ b/geode-docs/developing/transactions/client_server_transactions.html.md.erb
@@ -0,0 +1,38 @@
+---
+title: Client Transactions
+---
+
+
+The syntax for writing client transactions is the same on the Java client as with any other Geode member, but the underlying behavior in a client-run transaction is different from general transaction behavior.
+
+For general information about running a transaction, refer to [How to Run a Geode Cache Transaction](run_a_cache_transaction.html#task_f15_mr3_5k).
+
+-   **[How Geode Runs Client Transactions](../../developing/transactions/client_server_transactions.html#how_gemfire_runs_clients)**
+
+-   **[Client Cache Access During a Transaction](../../developing/transactions/client_server_transactions.html#client_cache_access)**
+
+-   **[Client Transactions and Client Application Plug-Ins](../../developing/transactions/client_server_transactions.html#client_app_plugins)**
+
+-   **[Client Transaction Failures](../../developing/transactions/client_server_transactions.html#client_transaction_failures)**
+
+## <a id="how_gemfire_runs_clients" class="no-quick-link"></a>How Geode Runs Client Transactions
+
+When a client performs a transaction, the transaction is delegated to a server that acts as the transaction initiator in the server system. As with regular, non-client transactions, this server delegate may or may not be the transaction host.
+
+In this figure, the application code on the client makes changes to data entries Y and Z within a transaction. The delegate performing the transaction (M1) does not host the primary copy of the data being modified. The transaction takes place on the server containing this data (M2).
+
+<img src="../../images/transactions-client-1.png" id="how_gemfire_runs_clients__image_5DCA65F2B88F450299EFD19DAAA93D4F" class="image" />
+
+## <a id="client_cache_access" class="no-quick-link"></a>Client Cache Access During a Transaction
+
+To maintain cache consistency, Geode blocks access to the local client cache during a transaction. The local client cache may reflect information inconsistent with the transaction in progress. When the transaction completes, the local cache is accessible again.
+
+## <a id="client_app_plugins" class="no-quick-link"></a>Client Transactions and Client Application Plug-Ins
+
+Any plug-ins installed in the client are not invoked by the client-run transaction. The client that initiates the transaction receives changes from its server based on transaction operations the same as any other client - through mechanisms like subscriptions and continuous query results. The client transaction is performed by the server delegate, where application plug-ins operate the same as if the server were the sole initiator of the transaction.
+
+## <a id="client_transaction_failures" class="no-quick-link"></a>Client Transaction Failures
+
+In addition to the failure conditions common to all transactions, client transactions can fail if the transaction delegate fails. If the delegate performing the transaction fails, the transaction code throws a transaction exception. See [Transaction Exceptions](monitor_troubleshoot_transactions.html#monitor_troubleshoot_transactions__section_8942ABA6F23C4ED58877C894B13F4F21).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/configuring_db_connections_using_JNDI.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/configuring_db_connections_using_JNDI.html.md.erb b/geode-docs/developing/transactions/configuring_db_connections_using_JNDI.html.md.erb
new file mode 100644
index 0000000..c497608
--- /dev/null
+++ b/geode-docs/developing/transactions/configuring_db_connections_using_JNDI.html.md.erb
@@ -0,0 +1,313 @@
+---
+title: Configuring Database Connections Using JNDI
+---
+
+<a id="topic_A5E3A67C808D48C08E1F0DC167C5C494"></a>
+
+
+When using JTA transactions, you can configure database JNDI data sources in `cache.xml`. The `DataSource` object points to either a JDBC connection or, more commonly, a JDBC connection pool. The connection pool is usually preferred, because a program can use and reuse a connection as long as necessary and then free it for another thread to use.
+
+The following are a list of `DataSource` connection types used in JTA transactions.
+
+-   **XAPooledDataSource**. Pooled SQL connections.
+-   **ManagedDataSource**. JNDI binding type for the J2EE Connector Architecture (JCA) ManagedConnectionFactory.
+-   **PooledDataSource**. Pooled SQL connections.
+-   **SimpleDataSource**. Single SQL connection. No pooling of SQL connections is done. Connections are generated on the fly and cannot be reused.
+
+The `jndi-name` attribute of the `jndi-binding` element is the key binding parameter. If the value of `jndi-name` is a DataSource, it is bound as `java:/`*myDatabase*, where *myDatabase* is the name you assign to your data source. If the data source cannot be bound to JNDI at runtime, Geode logs a warning. For information on the `DataSource` interface, see: [http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html](http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html)
+
+Geode supports JDBC 2.0 and 3.0.
+
+**Note:**
+Include any data source JAR files in your CLASSPATH.
+
+## <a id="topic_F67EC20067124A618A8099AB4CBF634C" class="no-quick-link"></a>Example DataSource Configurations in cache.xml
+
+The following sections show example `cache.xml` files configured for each of the `DataSource` connection types.
+
+## XAPooledDataSource cache.xml Example (Derby)
+
+The example shows a `cache.xml` file configured for a pool of `XAPooledDataSource` connections connected to the data resource `newDB`.
+
+The log-in and blocking timeouts are set lower than the defaults. The connection information, including `user-name` and `password`, is set in the `cache.xml` file, instead of waiting until connection time. The password is encrypted; for details, see [Encrypting Passwords for Use in cache.xml](../../managing/security/encrypting_passwords.html#topic_730CC61BA84F421494956E2B98BDE2A1).
+
+When specifying the configuration properties for JCA-implemented database drivers that support XA transactions (in other words, **XAPooledDataSource**), you must use configuration properties to define the datasource connection instead of the `connection-url` attribute of the `<jndi-binding>` element. Configuration properties differ depending on your database vendor. Specify JNDI binding properties through the `config-property` tag, as shown in this example. You can add as many `config-property` tags as required.
+
+``` pre
+<?xml version="1.0" encoding="UTF-8"?>
+<cache
+    xmlns="http://geode.incubator.apache.org/schema/cache"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://geode.incubator.apache.org/schema/cache http://geode.incubator.apache.org/schema/cache/cache-1.0.xsd"
+    version="1.0"
+    lock-lease="120" lock-timeout="60" search-timeout="300"> 
+   <region name="root">
+      <region-attributes scope="distributed-no-ack" data-policy="cached" initial-capacity="16"
+load-factor="0.75" concurrency-level="16" statistics-enabled="true">
+    . . .
+   </region>
+   <jndi-bindings>
+      <jndi-binding type="XAPooledDataSource" 
+    jndi-name="newDB2trans" 
+    init-pool-size="20" 
+    max-pool-size="100"
+    idle-timeout-seconds="20"
+    blocking-timeout-seconds="5" 
+    login-timeout-seconds="10"
+    xa-datasource-class="org.apache.derby.jdbc.EmbeddedXADataSource"
+    user-name="mitul" 
+    password="encrypted(83f0069202c571faf1ae6c42b4ad46030e4e31c17409e19a)">
+         <config-property>
+          <config-property-name>Description</config-property-name>
+          <config-property-type>java.lang.String</config-property-type>
+          <config-property-value>pooled_transact</config-property-value>
+       </config-property>
+          <config-property>
+             <config-property-name>DatabaseName</config-property-name>
+             <config-property-type>java.lang.String</config-property-type>
+             <config-property-value>newDB</config-property-value>
+          </config-property>
+          <config-property>
+             <config-property-name>CreateDatabase</config-property-name>
+             <config-property-type>java.lang.String</config-property-type>
+             <config-property-value>create</config-property-value>
+          </config-property>       
+       . . .
+      </jndi-binding>
+   </jndi-bindings>
+</cache>
+```
+
+## JNDI Binding Configuration Properties for Different XAPooledDataSource Connections
+
+The following are some example data source configurations for different databases. Consult your vendor database's documentation for additional details.
+
+**MySQL**
+
+``` pre
+...
+<jndi-bindings>
+   <jndi-binding type="XAPooledDataSource" 
+    ...
+    xa-datasource-class="com.mysql.jdbc.jdbc2.optional.MysqlXADataSource">
+    <config-property>
+    <config-property-name>URL</config-property-name>
+    <config-property-type>java.lang.String</config-property-type>
+    <config-property-value>"jdbc:mysql://mysql-servername:3306/databasename"</config-property-value>
+    </config-property>
+    ...
+    </jndi-binding>
+    ...
+</jndi-bindings>
+```
+
+**PostgreSQL**
+
+``` pre
+...
+<jndi-bindings>
+   <jndi-binding type="XAPooledDataSource" 
+    ...
+    xa-datasource-class="org.postgresql.xa.PGXADataSource">
+    <config-property>
+    <config-property-name>ServerName</config-property-name>
+    <config-property-type>java.lang.String</config-property-type>
+    <config-property-value>postgresql-hostname</config-property-value>
+    </config-property>
+    <config-property>
+    <config-property-name>DatabaseName</config-property-name>
+    <config-property-type>java.lang.String</config-property-type>
+    <config-property-value>postgresqldbname</config-property-value>
+    </config-property>
+    ...
+   </jndi-binding>
+    ...
+</jndi-bindings>
+```
+
+**Oracle**
+
+``` pre
+...
+<jndi-bindings>
+   <jndi-binding type="XAPooledDataSource" 
+    ...
+    xa-datasource-class="oracle.jdbc.xa.client.OracleXADataSource">
+    <config-property>
+    <config-property-name>URL</config-property-name>
+    <config-property-type>java.lang.String</config-property-type>
+    <config-property-value>jdbc:oracle:oci8:@tc</config-property-value>
+    </config-property>
+    ...
+    </jndi-binding>
+    ...
+</jndi-bindings>
+```
+
+**Microsoft SQL Server**
+
+``` pre
+...
+<jndi-bindings>
+   <jndi-binding type="XAPooledDataSource" 
+      ...
+    xa-datasource-class="com.microsoft.sqlserver.jdbc.SQLServerXADataSource">
+    <config-property>
+    <config-property-name>ServerName</config-property-name>
+    <config-property-type>java.lang.String</config-property-type>
+    <config-property-value>mysqlserver</config-property-value>
+    </config-property>
+    <config-property>
+    <config-property-name>DatabaseName</config-property-name>
+    <config-property-type>java.lang.String</config-property-type>
+    <config-property-value>databasename</config-property-value>
+    </config-property>
+    <config-property>
+    <config-property-name>SelectMethod</config-property-name>
+    <config-property-type>java.lang.String</config-property-type>
+    <config-property-value>cursor</config-property-value>
+    </config-property>
+    ...
+    </jndi-binding>
+    ...
+</jndi-bindings>
+```
+
+## ManagedDataSource Connection Example (Derby)
+
+`ManagedDataSource` connections for the JCA `ManagedConnectionFactory` are configured as shown in the example. This configuration is similar to `XAPooledDataSource` connections, except the type is `ManagedDataSource`, and you specify a `managed-conn-factory-class` instead of an `xa-datasource-class`.
+
+``` pre
+<?xml version="1.0"?>
+<cache xmlns="http://geode.incubator.apache.org/schema/cache"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://geode.incubator.apache.org/schema/cache http://geode.incubator.apache.org/schema/cache/cache-1.0.xsd"
+    version="1.0"
+    lock-lease="120" 
+    lock-timeout="60"
+    search-timeout="300">
+   <region name="root">
+      <region-attributes scope="distributed-no-ack" data-policy="cached" initial-capacity="16"
+load-factor="0.75" concurrency-level="16" statistics-enabled="true">
+      . . .
+    </region>
+    <jndi-bindings>
+      <jndi-binding type="ManagedDataSource" 
+    jndi-name="DB3managed" 
+    init-pool-size="20" 
+    max-pool-size="100" 
+    idle-timeout-seconds="20" 
+    blocking-timeout-seconds="5" 
+    login-timeout-seconds="10"
+    managed-conn-factory-class="com.myvendor.connection.ConnFactory"
+    user-name="mitul"  
+    password="encrypted(83f0069202c571faf1ae6c42b4ad46030e4e31c17409e19a)">
+          <config-property>
+             <config-property-name>Description</config-property-name>
+             <config-property-type>java.lang.String</config-property-type>
+             <config-property-value>pooled_transact</config-property-value>
+          </config-property>  
+          <config-property>
+             <config-property-name>DatabaseName</config-property-name>
+             <config-property-type>java.lang.String</config-property-type>
+             <config-property-value>newDB</config-property-value>
+          </config-property>
+          <config-property>
+             <config-property-name>CreateDatabase</config-property-name>
+             <config-property-type>java.lang.String</config-property-type>
+             <config-property-value>create</config-property-value>
+          </config-property>           
+           . . .
+     </jndi-binding>
+   </jndi-bindings>
+ </cache>
+ 
+```
+
+## PooledDataSource Example (Derby)
+
+Use the `PooledDataSource` and `SimpleDataSource` connections for operations executed outside of any transaction. This example shows a `cache.xml` file configured for a pool of `PooledDataSource` connections to the data resource `newDB`. For this non-transactional connection pool, the log-in and blocking timeouts are set higher than for the transactional connection pools in the two previous examples. The connection information, including `user-name` and `password`, is set in the `cache.xml` file, instead of waiting until connection time. The password is encrypted; for details, see [Encrypting Passwords for Use in cache.xml](../../managing/security/encrypting_passwords.html#topic_730CC61BA84F421494956E2B98BDE2A1).
+
+``` pre
+<?xml version="1.0"?>
+<cache xmlns="http://geode.incubator.apache.org/schema/cache"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://geode.incubator.apache.org/schema/cache http://geode.incubator.apache.org/schema/cache/cache-1.0.xsd"
+    version="1.0"
+    lock-lease="120"
+    lock-timeout="60"
+    search-timeout="300">
+    <region name="root">
+         <region-attributes scope="distributed-no-ack" data-policy="cached" 
+initial-capacity="16" load-factor="0.75" concurrency-level="16" statistics-enabled="true">
+            . . .
+    </region>
+    <jndi-bindings>
+      <jndi-binding
+    type="PooledDataSource"
+    jndi-name="newDB1" 
+    init-pool-size="2" 
+    max-pool-size="7" 
+    idle-timeout-seconds="20" 
+    blocking-timeout-seconds="20"
+    login-timeout-seconds="30" 
+    conn-pooled-datasource-class="org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource"
+    user-name="mitul"
+    password="encrypted(83f0069202c571faf1ae6c42b4ad46030e4e31c17409e19a)">
+       <config-property>
+          <config-property-name>Description</config-property-name>
+          <config-property-type>java.lang.String</config-property-type>
+          <config-property-value>pooled_transact</config-property-value>
+       </config-property> 
+       <config-property>
+         <config-property-name>DatabaseName</config-property-name>
+         <config-property-type>java.lang.String</config-property-type>
+         <config-property-value>newDB</config-property-value>
+       </config-property>
+       <config-property>
+         <config-property-name>CreateDatabase</config-property-name>
+         <config-property-type>java.lang.String</config-property-type>
+         <config-property-value>create</config-property-value>
+       </config-property>              
+       . . .
+      </jndi-binding>
+   </jndi-bindings>
+</cache>
+      
+```
+
+## SimpleDataSource Connection Example (Derby)
+
+The example below shows a very basic configuration in the `cache.xml` file for a `SimpleDataSource` connection to the data resource `oldDB`. You only need to configure a few properties like a `jndi-name` for this connection pool, `oldDB1`, and the `databaseName`, `oldDB`. This password is in clear text.
+
+A simple data source connection does not generally require vendor-specific property settings. If you need them, add `config-property` tags as shown in the earlier examples.
+
+``` pre
+<?xml version="1.0"?>
+<cache xmlns="http://geode.incubator.apache.org/schema/cache"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://geode.incubator.apache.org/schema/cache http://geode.incubator.apache.org/schema/cache/cache-1.0.xsd"
+    version="1.0"
+    lock-lease="120" 
+    lock-timeout="60" 
+    search-timeout="300">
+   <region name="root">
+      <region-attributes scope="distributed-no-ack" data-policy="cached" initial-capacity="16"
+load-factor="0.75" concurrency-level="16" statistics-enabled="true">
+        . . .
+      </region-attributes>   
+    </region>
+    <jndi-bindings>
+      <jndi-binding type="SimpleDataSource"
+    jndi-name="oldDB1" 
+    jdbc-driver-class="org.apache.derby.jdbc.EmbeddedDriver"
+    user-name="mitul" 
+    password="password" 
+    connection-url="jdbc:derby:newDB;create=true">
+        . . .
+       </jndi-binding>
+   </jndi-bindings>
+</cache>
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/transactions/data_location_cache_transactions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/data_location_cache_transactions.html.md.erb b/geode-docs/developing/transactions/data_location_cache_transactions.html.md.erb
new file mode 100644
index 0000000..de2b149
--- /dev/null
+++ b/geode-docs/developing/transactions/data_location_cache_transactions.html.md.erb
@@ -0,0 +1,15 @@
+---
+title:  Data Location for Cache Transactions
+---
+
+The location where you can run your transaction depends on where you are storing your data.
+
+Transactions must operate on a data set that is hosted entirely by one member.
+
+-   For replicated or other distributed regions, the transaction uses only the data set in the member where the transaction is run.
+-   For partitioned regions, you must colocate all your transactional data in a single member. See [Colocate Data from Different Partitioned Regions](../partitioned_regions/colocating_partitioned_region_data.html).
+-   For transactions run on partitioned and distributed region mixes, you must colocate the partitioned region data and make sure the distributed region data is available in any member hosting the partitioned region data.
+
+For transactions involving partitioned regions, any member with the regions defined can orchestrate the transactional operations, regardless of whether that member hosts data for the regions. If the transactional data resides on a remote member, the transaction is carried out by proxy in the member hosting the data. The member hosting the data is referred to as the transaction host.
+
+


[65/76] [abbrv] incubator-geode git commit: GEODE-1952: Add Apache license to all geode-docs erb files

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/get_region_key_data.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/get_region_key_data.html.md.erb b/geode-docs/rest_apps/get_region_key_data.html.md.erb
index f2df62d..8549ee0 100644
--- a/geode-docs/rest_apps/get_region_key_data.html.md.erb
+++ b/geode-docs/rest_apps/get_region_key_data.html.md.erb
@@ -2,6 +2,23 @@
 title:  GET /gemfire-api/v1/{region}/{key}
 ---
 
+<!--
+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.
+-->
+
 Read data for a specific key in the region.
 
 ## Resource URL

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/get_region_keys.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/get_region_keys.html.md.erb b/geode-docs/rest_apps/get_region_keys.html.md.erb
index 9089121..fa7bbd0 100644
--- a/geode-docs/rest_apps/get_region_keys.html.md.erb
+++ b/geode-docs/rest_apps/get_region_keys.html.md.erb
@@ -2,6 +2,23 @@
 title:  GET /gemfire-api/v1/{region}/keys
 ---
 
+<!--
+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.
+-->
+
 List all keys for the specified region.
 
 ## Resource URL

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/get_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/get_regions.html.md.erb b/geode-docs/rest_apps/get_regions.html.md.erb
index 6633100..b8e6add 100644
--- a/geode-docs/rest_apps/get_regions.html.md.erb
+++ b/geode-docs/rest_apps/get_regions.html.md.erb
@@ -2,6 +2,23 @@
 title:  GET /gemfire-api/v1
 ---
 
+<!--
+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.
+-->
+
 List all available resources (regions) in the Geode cluster.
 
 ## Resource URL

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/get_servers.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/get_servers.html.md.erb b/geode-docs/rest_apps/get_servers.html.md.erb
index ea4a512..1ac585f 100644
--- a/geode-docs/rest_apps/get_servers.html.md.erb
+++ b/geode-docs/rest_apps/get_servers.html.md.erb
@@ -2,6 +2,23 @@
 title:  GET /gemfire-api/v1/servers
 ---
 
+<!--
+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.
+-->
+
 Mechanism to obtain a list of all members in the distributed system that are running the REST API service.
 
 ## Resource URL

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/head_region_size.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/head_region_size.html.md.erb b/geode-docs/rest_apps/head_region_size.html.md.erb
index 37dc8b0..3a83bb6 100644
--- a/geode-docs/rest_apps/head_region_size.html.md.erb
+++ b/geode-docs/rest_apps/head_region_size.html.md.erb
@@ -2,6 +2,23 @@
 title:  HEAD /gemfire-api/v1/{region}
 ---
 
+<!--
+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.
+-->
+
 An HTTP HEAD request that returns region's size (number of entries) within the HEADERS, which is a response without the content-body. Region size is specified in the pre-defined header named "Resource-Count".
 
 ## Resource URL

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/ping_service.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/ping_service.html.md.erb b/geode-docs/rest_apps/ping_service.html.md.erb
index 2467b26..d6339e3 100644
--- a/geode-docs/rest_apps/ping_service.html.md.erb
+++ b/geode-docs/rest_apps/ping_service.html.md.erb
@@ -2,6 +2,23 @@
 title:  \[HEAD | GET\] /gemfire-api/v1/ping
 ---
 
+<!--
+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.
+-->
+
 Mechanism to check for REST API server and service availability.
 
 ## Resource URL

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/post_create_query.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/post_create_query.html.md.erb b/geode-docs/rest_apps/post_create_query.html.md.erb
index 9e4743d..9062948 100644
--- a/geode-docs/rest_apps/post_create_query.html.md.erb
+++ b/geode-docs/rest_apps/post_create_query.html.md.erb
@@ -2,6 +2,23 @@
 title:  POST /gemfire-api/v1/queries?id=&lt;queryId&gt;&q=&lt;OQL-statement&gt;
 ---
 
+<!--
+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.
+-->
+
 Create (prepare) the specified parameterized query and assign the corresponding ID for lookup.
 
 ## Resource URL

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/post_execute_functions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/post_execute_functions.html.md.erb b/geode-docs/rest_apps/post_execute_functions.html.md.erb
index ee7064c..32d8cd7 100644
--- a/geode-docs/rest_apps/post_execute_functions.html.md.erb
+++ b/geode-docs/rest_apps/post_execute_functions.html.md.erb
@@ -2,6 +2,23 @@
 title:  POST /gemfire-api/v1/functions/{functionId}
 ---
 
+<!--
+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.
+-->
+
 Execute Geode function on entire cluster or on a specified region, members and member groups.
 
 ## Resource URL

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/post_execute_query.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/post_execute_query.html.md.erb b/geode-docs/rest_apps/post_execute_query.html.md.erb
index 38d9341..7d0853c 100644
--- a/geode-docs/rest_apps/post_execute_query.html.md.erb
+++ b/geode-docs/rest_apps/post_execute_query.html.md.erb
@@ -2,6 +2,23 @@
 title:  POST /gemfire-api/v1/queries/{queryId}
 ---
 
+<!--
+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.
+-->
+
 Execute the specified named query passing in scalar values for query parameters in the POST body.
 
 ## Resource URL

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/post_if_absent_data.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/post_if_absent_data.html.md.erb b/geode-docs/rest_apps/post_if_absent_data.html.md.erb
index ae1dd52..89925e3 100644
--- a/geode-docs/rest_apps/post_if_absent_data.html.md.erb
+++ b/geode-docs/rest_apps/post_if_absent_data.html.md.erb
@@ -2,6 +2,23 @@
 title:  POST /gemfire-api/v1/{region}?key=&lt;key&gt;
 ---
 
+<!--
+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.
+-->
+
 Create (put-if-absent) data in region.
 
 ## Resource URL

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/put_multiple_values_for_keys.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/put_multiple_values_for_keys.html.md.erb b/geode-docs/rest_apps/put_multiple_values_for_keys.html.md.erb
index 0cb3ed7..fa17580 100644
--- a/geode-docs/rest_apps/put_multiple_values_for_keys.html.md.erb
+++ b/geode-docs/rest_apps/put_multiple_values_for_keys.html.md.erb
@@ -2,6 +2,23 @@
 title:  PUT /gemfire-api/v1/{region}/{key1},{key2},...{keyN}
 ---
 
+<!--
+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.
+-->
+
 Update or insert (put) data for multiple keys in the region.
 
 ## Resource URL

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/put_replace_data.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/put_replace_data.html.md.erb b/geode-docs/rest_apps/put_replace_data.html.md.erb
index 8c03f1f..323ce0c 100644
--- a/geode-docs/rest_apps/put_replace_data.html.md.erb
+++ b/geode-docs/rest_apps/put_replace_data.html.md.erb
@@ -2,6 +2,23 @@
 title:  PUT /gemfire-api/v1/{region}/{key}?op=REPLACE
 ---
 
+<!--
+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.
+-->
+
 Update (replace) data with key(s) if and only if the key(s) exists in region. The Key(s) must be present in the Region for the update to occur.
 
 ## Resource URL

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/put_update_cas_data.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/put_update_cas_data.html.md.erb b/geode-docs/rest_apps/put_update_cas_data.html.md.erb
index 88ea86c..05360af 100644
--- a/geode-docs/rest_apps/put_update_cas_data.html.md.erb
+++ b/geode-docs/rest_apps/put_update_cas_data.html.md.erb
@@ -2,6 +2,23 @@
 title:  PUT /gemfire-api/v1/{region}/{key}?op=CAS
 ---
 
+<!--
+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.
+-->
+
 Update (compare-and-set) value having key with a new value if and only if the "@old" value sent matches the current value having key in region.
 
 ## Resource URL

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/put_update_data.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/put_update_data.html.md.erb b/geode-docs/rest_apps/put_update_data.html.md.erb
index 0f98c25..d6c68c4 100644
--- a/geode-docs/rest_apps/put_update_data.html.md.erb
+++ b/geode-docs/rest_apps/put_update_data.html.md.erb
@@ -2,6 +2,23 @@
 title:  PUT /gemfire-api/v1/{region}/{key}
 ---
 
+<!--
+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.
+-->
+
 Update or insert (put) data for key in region.
 
 ## Resource URL

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/put_update_query.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/put_update_query.html.md.erb b/geode-docs/rest_apps/put_update_query.html.md.erb
index 408d4ce..966154a 100644
--- a/geode-docs/rest_apps/put_update_query.html.md.erb
+++ b/geode-docs/rest_apps/put_update_query.html.md.erb
@@ -2,6 +2,23 @@
 title:  PUT /gemfire-api/v1/queries/{queryId}
 ---
 
+<!--
+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.
+-->
+
 Update a named, parameterized query.
 
 ## Resource URL

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/rest_admin.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/rest_admin.html.md.erb b/geode-docs/rest_apps/rest_admin.html.md.erb
index 7f26be3..527a835 100644
--- a/geode-docs/rest_apps/rest_admin.html.md.erb
+++ b/geode-docs/rest_apps/rest_admin.html.md.erb
@@ -2,6 +2,23 @@
 title:  Administrative Endpoints
 ---
 
+<!--
+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.
+-->
+
 Administrative endpoints provide management and monitoring functionality for the REST API interface.
 
 -   **[\[HEAD | GET\] /gemfire-api/v1/ping](../rest_apps/ping_service.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/rest_api_reference.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/rest_api_reference.html.md.erb b/geode-docs/rest_apps/rest_api_reference.html.md.erb
index 0f0810b..15f75e5 100644
--- a/geode-docs/rest_apps/rest_api_reference.html.md.erb
+++ b/geode-docs/rest_apps/rest_api_reference.html.md.erb
@@ -2,6 +2,23 @@
 title:  Apache Geode REST API Reference
 ---
 
+<!--
+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.
+-->
+
 This section summarizes all available Apache Geode REST API resources and endpoints.
 
 **Note:**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/rest_examples.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/rest_examples.html.md.erb b/geode-docs/rest_apps/rest_examples.html.md.erb
index 3994ff0..afa4f70 100644
--- a/geode-docs/rest_apps/rest_examples.html.md.erb
+++ b/geode-docs/rest_apps/rest_examples.html.md.erb
@@ -2,6 +2,23 @@
 title: Sample REST Applications
 ---
 
+<!--
+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="topic_lvp_cd5_m4"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/rest_functions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/rest_functions.html.md.erb b/geode-docs/rest_apps/rest_functions.html.md.erb
index 0dc001a..f7ad25c 100644
--- a/geode-docs/rest_apps/rest_functions.html.md.erb
+++ b/geode-docs/rest_apps/rest_functions.html.md.erb
@@ -2,6 +2,23 @@
 title:  Function Endpoints
 ---
 
+<!--
+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.
+-->
+
 Geode functions allows you to write and execute server-side transactions and data operations. These may include anything ranging from initializing components or third-party services or aggregating data.
 
 -   **[GET /gemfire-api/v1/functions](../rest_apps/get_functions.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/rest_prereqs.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/rest_prereqs.html.md.erb b/geode-docs/rest_apps/rest_prereqs.html.md.erb
index ecf21b9..935f94b 100644
--- a/geode-docs/rest_apps/rest_prereqs.html.md.erb
+++ b/geode-docs/rest_apps/rest_prereqs.html.md.erb
@@ -2,6 +2,23 @@
 title:  Prerequisites and Limitations for Writing REST Applications
 ---
 
+<!--
+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.
+-->
+
 Before development, understand the prerequisites and limitations of the current REST implementation in Geode.
 
 Geode and REST-enabled applications accessing Geode are subject to the following rules and limitations:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/rest_queries.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/rest_queries.html.md.erb b/geode-docs/rest_apps/rest_queries.html.md.erb
index 0a0aec0..529d5f4 100644
--- a/geode-docs/rest_apps/rest_queries.html.md.erb
+++ b/geode-docs/rest_apps/rest_queries.html.md.erb
@@ -2,6 +2,23 @@
 title:  Query Endpoints
 ---
 
+<!--
+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.
+-->
+
 Geode uses a query syntax based on OQL (Object Query Language) to query region data. Since Geode regions are key-value stores, values can range from simple byte arrays to complex nested objects.
 
 -   **[GET /gemfire-api/v1/queries](../rest_apps/get_queries.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/rest_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/rest_regions.html.md.erb b/geode-docs/rest_apps/rest_regions.html.md.erb
index ea107c8..dd49f6f 100644
--- a/geode-docs/rest_apps/rest_regions.html.md.erb
+++ b/geode-docs/rest_apps/rest_regions.html.md.erb
@@ -2,6 +2,23 @@
 title:  Region Endpoints
 ---
 
+<!--
+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 Geode region is how Geode logically groups data within its cache. Regions stores data as entries, which are key-value pairs. Using the REST APIs you can read, add (or update), and delete region data.
 
 See also [Data Regions](../basic_config/data_regions/chapter_overview.html#data_regions) for more information on working with regions.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/setup_config.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/setup_config.html.md.erb b/geode-docs/rest_apps/setup_config.html.md.erb
index e0daa48..604dd05 100644
--- a/geode-docs/rest_apps/setup_config.html.md.erb
+++ b/geode-docs/rest_apps/setup_config.html.md.erb
@@ -2,6 +2,23 @@
 title:  Setup and Configuration
 ---
 
+<!--
+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.
+-->
+
 The Apache Geode developer REST interface runs as an embedded HTTP or HTTPS service (Jetty server) within a Geode data node.
 
 All Geode REST interface classes and required JAR files are distributed as a WAR file with the Geode product distribution. You can locate the file in the following location:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/troubleshooting.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/troubleshooting.html.md.erb b/geode-docs/rest_apps/troubleshooting.html.md.erb
index c35e051..027e2c6 100644
--- a/geode-docs/rest_apps/troubleshooting.html.md.erb
+++ b/geode-docs/rest_apps/troubleshooting.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: Troubleshooting and FAQ
 ---
+
+<!--
+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="topic_r5z_lj5_m4"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/using_swagger.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/using_swagger.html.md.erb b/geode-docs/rest_apps/using_swagger.html.md.erb
index 6a67635..e9645fe 100644
--- a/geode-docs/rest_apps/using_swagger.html.md.erb
+++ b/geode-docs/rest_apps/using_swagger.html.md.erb
@@ -2,6 +2,23 @@
 title:  Using the Swagger UI to Browse REST APIs
 ---
 
+<!--
+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.
+-->
+
 Apache Geode Developer REST APIs are integrated with the Swagger\u2122 framework. This framework provides a browser-based test client that allows you to visualize and try out Geode REST APIs.
 
 Swagger application JARs are included in the Geode REST application WAR; you do not need to install any additional libraries to use Swagger.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/book_intro.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/book_intro.html.md.erb b/geode-docs/tools_modules/book_intro.html.md.erb
index 962f551..44d3f96 100644
--- a/geode-docs/tools_modules/book_intro.html.md.erb
+++ b/geode-docs/tools_modules/book_intro.html.md.erb
@@ -2,6 +2,23 @@
 title:  Tools and Modules
 ---
 
+<!--
+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.
+-->
+
 *Tools and Modules* describes tools and modules associated with Apache Geode.
 
 <a id="deploy_run__section_tool_intro"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gemcached/about_gemcached.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gemcached/about_gemcached.html.md.erb b/geode-docs/tools_modules/gemcached/about_gemcached.html.md.erb
index 186ce05..3bf9a9e 100644
--- a/geode-docs/tools_modules/gemcached/about_gemcached.html.md.erb
+++ b/geode-docs/tools_modules/gemcached/about_gemcached.html.md.erb
@@ -2,6 +2,23 @@
 title:  How Gemcached Works
 ---
 
+<!--
+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.
+-->
+
 Applications use memcached clients to access data stored in embedded Gemcached servers.
 
 Applications can use memcached clients that are written in Python, C\#, Ruby, PHP, and other programming languages. Each memcached server in a cluster stores data as key/value pairs. A memcached client maintains a list of these servers, determines which server has the required data, and accesses the data directly on that server.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gemcached/advantages.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gemcached/advantages.html.md.erb b/geode-docs/tools_modules/gemcached/advantages.html.md.erb
index dcb93b9..6fbe8fb 100644
--- a/geode-docs/tools_modules/gemcached/advantages.html.md.erb
+++ b/geode-docs/tools_modules/gemcached/advantages.html.md.erb
@@ -2,6 +2,23 @@
 title:  Advantages of Gemcached over Memcached
 ---
 
+<!--
+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.
+-->
+
 The standard memcached architecture has inherent architectural challenges that make memcached applications difficult to write, maintain, and scale. Using Gemcached with Geode addresses these challenges.
 
 **Data consistency**. Memcached clients must maintain a list of servers where the distributed data is stored. Each client must maintain an identical list, with each list ordered in the same way. It is the responsibility of the application logic to maintain and propagate this list. If some clients do not have the correct list, the client can retrieve stale data. In Geode clusters, all members communicate with each other to maintain data consistency, which eliminates the need to code these behaviors in the memcached clients.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gemcached/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gemcached/chapter_overview.html.md.erb b/geode-docs/tools_modules/gemcached/chapter_overview.html.md.erb
index 76d0a1a..5fef3e3 100644
--- a/geode-docs/tools_modules/gemcached/chapter_overview.html.md.erb
+++ b/geode-docs/tools_modules/gemcached/chapter_overview.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: Gemcached
 ---
+
+<!--
+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="topic_3751C8A924884B7F88F993CAD350D4FE"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gemcached/deploying_gemcached.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gemcached/deploying_gemcached.html.md.erb b/geode-docs/tools_modules/gemcached/deploying_gemcached.html.md.erb
index b2fbc00..2c4724e 100644
--- a/geode-docs/tools_modules/gemcached/deploying_gemcached.html.md.erb
+++ b/geode-docs/tools_modules/gemcached/deploying_gemcached.html.md.erb
@@ -2,6 +2,23 @@
 title:  Deploying and Configuring a Gemcached Server
 ---
 
+<!--
+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.
+-->
+
 You can configure and deploy Gemcached servers in a Java class or by using the gfsh command-line interface.
 
 The following sections describe how to configure and deploy an embedded Gemcached server. You can configure and start a GemCached server either by invoking a Java class that calls the cache server's `start()` method, or by starting the cache server using the gfsh command line.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/about_gfsh.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/about_gfsh.html.md.erb b/geode-docs/tools_modules/gfsh/about_gfsh.html.md.erb
index 68e2499..b440bfa 100644
--- a/geode-docs/tools_modules/gfsh/about_gfsh.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/about_gfsh.html.md.erb
@@ -2,6 +2,23 @@
 title:  What You Can Do with gfsh
 ---
 
+<!--
+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.
+-->
+
 `gfsh` supports the administration, debugging, and deployment of Apache Geode processes and applications.
 
 With `gfsh`, you can:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/cache_xml_2_gfsh.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/cache_xml_2_gfsh.html.md.erb b/geode-docs/tools_modules/gfsh/cache_xml_2_gfsh.html.md.erb
index 2724bdc..e4bab4e 100644
--- a/geode-docs/tools_modules/gfsh/cache_xml_2_gfsh.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/cache_xml_2_gfsh.html.md.erb
@@ -2,6 +2,23 @@
 title:  Mapping cache.xml Elements to gfsh Configuration Commands
 ---
 
+<!--
+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.
+-->
+
 You can configure a Geode cluster using either cache.xml files,
 or you can use gfsh and the cluster configuration service
 to configure a cluster.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/chapter_overview.html.md.erb b/geode-docs/tools_modules/gfsh/chapter_overview.html.md.erb
index 08218a6..e88e04b 100644
--- a/geode-docs/tools_modules/gfsh/chapter_overview.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  gfsh (Geode SHell)
 ---
 
+<!--
+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.
+-->
+
 Geode gfsh (pronounced "jee-fish") provides a single, powerful command-line interface from which you can launch, manage, and monitor Geode processes, data, and applications.
 
 -   **[What You Can Do with gfsh](about_gfsh.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/alter.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/alter.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/alter.html.md.erb
index 1bbb070..4601975 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/alter.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/alter.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: alter
 ---
+
+<!--
+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="topic_9323467A645D4F2B82EC236448030D14"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/backup.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/backup.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/backup.html.md.erb
index d1cc911..4cea2c2 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/backup.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/backup.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title:  backup disk-store
 ---
+
+<!--
+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="topic_E74ED23CB60342538B2175C326E7D758"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/change.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/change.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/change.html.md.erb
index a454ae8..1ea2e0d 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/change.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/change.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: change loglevel
 ---
+
+<!--
+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="topic_E74ED23CB60342538B2175C326E7D758"></a>
 
 Changes the logging level on specified members.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/clear.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/clear.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/clear.html.md.erb
index 6146a4d..e716013 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/clear.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/clear.html.md.erb
@@ -2,6 +2,23 @@
 title:  clear defined indexes
 ---
 
+<!--
+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.
+-->
+
 Clears all the defined indexes.
 
 Index definitions are stored locally on the `gfsh` client. If you want to create a new set of indexes or if one or more of the index creations fail, you might want to clear the definitions

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/close.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/close.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/close.html.md.erb
index 0776a7f..f892464 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/close.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/close.html.md.erb
@@ -2,6 +2,23 @@
 title:  close
 ---
 
+<!--
+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.
+-->
+
 Close durable client CQs and durable clients.
 
 -   **[close durable-client](../../../tools_modules/gfsh/command-pages/close.html#topic_4125AAAB9FE44CD787166E48B694C41D)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/compact.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/compact.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/compact.html.md.erb
index 144a21f..54f1141 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/compact.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/compact.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: compact
 ---
+
+<!--
+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="topic_2522766FD5DD45D991A523F84BD54920"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/configure.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/configure.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/configure.html.md.erb
index 76aaddf..c6ce59e 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/configure.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/configure.html.md.erb
@@ -2,6 +2,23 @@
 title: configure
 ---
 
+<!--
+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="concept_C2DCEE6743304549825C9B62E66DBADF"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/connect.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/connect.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/connect.html.md.erb
index cdc8c48..c015cfe 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/connect.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/connect.html.md.erb
@@ -2,6 +2,23 @@
 title:  connect
 ---
 
+<!--
+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.
+-->
+
 Connect to a jmx-manager either directly or via a locator.
 
 <a id="concept_C2DCEE6743304549825C9B62E66DBADF__section_C27BE964CE554180A65968DBEBF50B23"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/create.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/create.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/create.html.md.erb
index 9864fb2..b901bda 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/create.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/create.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: create
 ---
+
+<!--
+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="topic_9663C9448D2745B387FC08F84818DDEC"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/debug.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/debug.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/debug.html.md.erb
index 38cf379..6573c42 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/debug.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/debug.html.md.erb
@@ -2,6 +2,23 @@
 title:  debug
 ---
 
+<!--
+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.
+-->
+
 Enable or disable debugging output in `gfsh`.
 
 **Availability:** Online or offline.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/define.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/define.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/define.html.md.erb
index 32c0df0..b6f961a 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/define.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/define.html.md.erb
@@ -2,6 +2,23 @@
 title:  define index
 ---
 
+<!--
+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.
+-->
+
 Define an index that can be used when executing queries. Then, you can execute a single command to create multiple indexes all at once using `create defined             indexes`.
 
 **Availability:** Online or offline.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/deploy.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/deploy.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/deploy.html.md.erb
index 22eab4e..1e42900 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/deploy.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/deploy.html.md.erb
@@ -2,6 +2,23 @@
 title:  deploy
 ---
 
+<!--
+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.
+-->
+
 Deploy JAR-packaged applications to a member or members.
 
 Only one of either `--jar` or `--dir` may be specified.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/describe.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/describe.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/describe.html.md.erb
index 0d1341f..1c7e7c4 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/describe.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/describe.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: describe
 ---
+
+<!--
+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="concept_B8A3E21674294C65AE9F9A60F37A284E"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/destroy.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/destroy.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/destroy.html.md.erb
index a90c088..5338abc 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/destroy.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/destroy.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: destroy
 ---
+
+<!--
+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="concept_B8A3E21674294C65AE9F9A60F37A284E"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/disconnect.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/disconnect.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/disconnect.html.md.erb
index 874fc54..5249f3e 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/disconnect.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/disconnect.html.md.erb
@@ -2,6 +2,23 @@
 title:  disconnect
 ---
 
+<!--
+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.
+-->
+
 Close any active connection(s).
 
 **Availability:** Online. You must be connected in `gfsh` to a JMX Manager member to use this command.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/echo.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/echo.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/echo.html.md.erb
index 91b775e..a76a33e 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/echo.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/echo.html.md.erb
@@ -2,6 +2,23 @@
 title:  echo
 ---
 
+<!--
+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.
+-->
+
 Echo the given text, which may include system and user variables.
 
 The command can also echo gfsh environment properties (using '[set variable](set.html)' command) if variable name is pre-pended with '$' - like UNIX.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/encrypt.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/encrypt.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/encrypt.html.md.erb
index 1220690..f07db1f 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/encrypt.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/encrypt.html.md.erb
@@ -2,6 +2,23 @@
 title:  encrypt password
 ---
 
+<!--
+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.
+-->
+
 Encrypt a password for later use.
 
 ## <a id="concept_2B834B0AC8EE44C6A7F85CC66B1D6E18__section_F3D0959AF6264A3CB1821383B2AE4407" class="no-quick-link"></a>encrypt password

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/execute.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/execute.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/execute.html.md.erb
index eb29fc1..3e4dbc7 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/execute.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/execute.html.md.erb
@@ -2,6 +2,23 @@
 title:  execute function
 ---
 
+<!--
+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.
+-->
+
 Execute functions on members or regions.
 
 ## <a id="concept_F2ED1987126E4338AEB14A7C8F561A2A__section_FB435A8AC76E4E1A8E72DBEA64BA2E57" class="no-quick-link"></a>execute function

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/exit.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/exit.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/exit.html.md.erb
index 12a6086..3f6c17c 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/exit.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/exit.html.md.erb
@@ -2,6 +2,23 @@
 title:  exit
 ---
 
+<!--
+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.
+-->
+
 Exit the `gfsh` shell. You can also use `quit` to exit the shell.
 
 Exits the gfsh shell and returns to the OS shell.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/export.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/export.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/export.html.md.erb
index a7e1e16..690bf07 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/export.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/export.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: export
 ---
+
+<!--
+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="concept_B8A3E21674294C65AE9F9A60F37A284E"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/gc.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/gc.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/gc.html.md.erb
index 07e15fd..611569f 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/gc.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/gc.html.md.erb
@@ -2,6 +2,23 @@
 title:  gc
 ---
 
+<!--
+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.
+-->
+
 Force GC (Garbage Collection) on a member or members.
 
 The default is for garbage collection to occur on all caching members.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/get.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/get.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/get.html.md.erb
index b1f6ed2..a1886e5 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/get.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/get.html.md.erb
@@ -2,6 +2,23 @@
 title:  get
 ---
 
+<!--
+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.
+-->
+
 Display an entry in a region.
 
 **Availability:** Online. You must be connected in `gfsh` to a JMX Manager member to use this command.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/help.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/help.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/help.html.md.erb
index 85ec036..c2f1ff2 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/help.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/help.html.md.erb
@@ -2,6 +2,23 @@
 title:  help
 ---
 
+<!--
+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.
+-->
+
 Display syntax and usage information for all the available commands.
 
 Typing help without a command as an argument lists all available commands.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/hint.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/hint.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/hint.html.md.erb
index 2ab5206..51c44d0 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/hint.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/hint.html.md.erb
@@ -2,6 +2,23 @@
 title:  hint
 ---
 
+<!--
+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.
+-->
+
 Display information on topics and a list of commands associated with a topic.
 
 Provide hints for a topic or lists all available topics if a topic is not specified.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/history.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/history.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/history.html.md.erb
index 4cd6797..04e4736 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/history.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/history.html.md.erb
@@ -2,6 +2,23 @@
 title:  history
 ---
 
+<!--
+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.
+-->
+
 Show or save the command history.
 
 This history can be saved to a file which can also be used as a script later.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/import.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/import.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/import.html.md.erb
index a088821..f1bce75 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/import.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/import.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: import
 ---
+
+<!--
+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="topic_u55_wkd_2l"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/list.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/list.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/list.html.md.erb
index 9d22b29..e6238da 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/list.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/list.html.md.erb
@@ -2,6 +2,23 @@
 title: list
 ---
 
+<!--
+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="topic_AE5B406FAE7F4152B2919EDF45F4EE80"></a>
 
 



[56/76] [abbrv] incubator-geode git commit: GEODE-1952: removed native client docs, set aside until native client code is merged in (see GEODE-1964)

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/object-lifetimes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/object-lifetimes.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/object-lifetimes.html.md.erb
deleted file mode 100644
index b3acf2d..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/object-lifetimes.html.md.erb
+++ /dev/null
@@ -1,37 +0,0 @@
----
-title:  Object Lifetimes
----
-
-The .NET API provides a managed set of assemblies for the C++ API. The underlying C++ object will stay in memory until the .NET object is garbage-collected.
-
-The underlying C++ API employs reference counting using smart pointers for most classes. This means that all API operations with those objects return a reference to the underlying object and not a copy. Consequently, the underlying object will not be freed as long as the .NET application holds a reference to an object. In other words, the underlying object will stay in memory until the .NET object is garbage-collected. As long as a reference to an object is alive, the artifacts it maintains will also be alive.
-
-For example, as long as a `Region` object is not garbage-collected, then the destructor of the C++ native persistence manager (if any) for the region is not invoked.
-
-In the C++ API, the references to an object are reduced when the object goes out of scope for stack allocation, or is deleted explicitly for heap allocation. The object is destroyed when its reference count reaches zero. In the .NET API, the references are reduced when the object is garbage-collected or is explicitly disposed with the .NET `using` statement.
-
-Because a reference to the object is returned, any change to the object also immediately changes the object as stored internally. For example, if an object is put into the cache using `Region.Put`, a reference of the object is stored in the internal structures. If you modify the object, the internal object also changes. However, it is not distributed to other members of the distributed system until another `Region.Put` is done.
-
-To find out if a class is reference counted, look at the online API documentation for the class. If the class is wrapped by `UMWrap` or `SBWrap`, the class is reference counted.
-
-These are examples of classes that are reference counted:
-
--   `Cache`
--   `CacheStatistics`
--   `DistributedSystem`
--   `Properties`
--   `RegionAttributes`
--   `AttributesMutator`
--   `RegionEntry`
--   `Region`
--   `EntryEvent`
--   `RegionEvent`
-
-These are examples of classes that are not reference counted:
-
--   `AttributesFactory`
--   `DataInput`
--   `DataOutput`
--   `SystemProperties`
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/other-apis.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/other-apis.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/other-apis.html.md.erb
deleted file mode 100644
index 89c34e4..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/other-apis.html.md.erb
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title:  Property Collections and Logging APIs
----
-
-This section describes classes for property collections and logging.
-
--   **Properties** **class**. Provides a collection of properties, each of which is a key/value pair. Each key is a string, and the value can be a string or an integer.
--   **Log class**. Defines methods available to clients that need to write a log message to their Geode system shared log file. Any attempt to use an instance after its connection is disconnected throws a **NotConnectedException**. For any logged message the log file contains:
-    -   The log level of the message.
-    -   The time the message was logged.
-    -   The ID of the connection and thread that logged the message.
-    -   The message itself, possibly with an exception including its stack trace.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/primary-apis-cache-generic.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/primary-apis-cache-generic.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/primary-apis-cache-generic.html.md.erb
deleted file mode 100644
index fa3bbf6..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/primary-apis-cache-generic.html.md.erb
+++ /dev/null
@@ -1,30 +0,0 @@
----
-title:  Primary APIs
----
-
-These are the main APIs within `GemStone::GemFire::Cache::Generic` used for cache, region, and data entry management in Geode .NET. For detailed information about the APIs, see the .NET API documentation included in the product or available online.
-
-**Note:**
-Declarative configuration via XML of application plug-ins such as cache listener, cache writer, cache loader and partition resolver is not supported when clients are operated in the new .NET Generic API.
-
--   **[Cache APIs](../../nativeclient/dotnet-caching-api/cache-apis.html)**
-
-    This section describes the `CacheFactory` and `Cache` classes.
-
--   **[Region and Entry APIs](../../nativeclient/dotnet-caching-api/region-entry-apis.html)**
-
-    This section describes classes for working with Geode regions and region entries.
-
--   **[Data Serialization APIs](../../nativeclient/dotnet-caching-api/data-serialization-apis.html)**
-
-    Use either `IPdxSerializable` or `IGFSerializable` for each region. Do not mix the two.
-
--   **[Event Handling APIs](../../nativeclient/dotnet-caching-api/event-handling-apis.html)**
-
-    Code your event handlers to do minimal work before returning control to Geode.
-
--   **[Property Collections and Logging APIs](../../nativeclient/dotnet-caching-api/other-apis.html)**
-
-    This section describes classes for property collections and logging.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/private-assembly.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/private-assembly.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/private-assembly.html.md.erb
deleted file mode 100644
index e3aa34e..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/private-assembly.html.md.erb
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title:  Using GemStone.GemFire.Cache.dll As a Private Assembly
----
-
-To access `GemStone.GemFire.Cache.dll` as a private assembly, you need to specify a `.config` file for your application.
-
-The file needs to be the same name as your application, with a `.config` suffix. For example, the `.config` file for `main.exe` would be `main.exe.config`. The two files must reside in the same directory.
-
-Follow these steps to create a `.config` file:
-
-1.  Copy `%GFCPP%/docs/default.exe.config` to the appropriate location.
-2.  Rename `default.exe.config` to the name of your application.
-3.  Change the `href` attribute of the `CodeBase` element to point to your `GemStone.GemFire.Cache.dll` file. Any of three path types \u2013 http, relative, or absolute \u2013 will work.
-
-## A Sample .config File
-
-The following example shows an excerpt of a `.config` file. The `PublicKeyToken` value is only an example, and the codebase version value is not set correctly. See `%GFCPP%/docs/default.exe.config` for an actual example for this release.
-
-``` pre
-<configuration>
-   <runtime>
-      <assemblyBinding
-         xmlns="urn:schemas-microsoft-com:asm.v1">
-         <dependentAssembly>
-            <assemblyIdentity name="GemStone.GemFire.Cache"
-               publicKeyToken="126e6338d9f55e0c"
-               culture="neutral" />
-            <codeBase version="0.0.0.0"
-               href="../../bin/GemStone.GemFire.Cache.dll"/>
-         </dependentAssembly>
-      </assemblyBinding>
-   </runtime>
-</configuration>
-```
-
-**Note:**
-If the `.config` file contain errors, no warning or error messages are issued. The application runs as if no `.config` file is present.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/problem-scenarios.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/problem-scenarios.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/problem-scenarios.html.md.erb
deleted file mode 100644
index 4d7c4ec..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/problem-scenarios.html.md.erb
+++ /dev/null
@@ -1,24 +0,0 @@
----
-title:  Problem Scenarios
----
-
-These scenarios describe processes and implementations that should be avoided when using `AppDomains`.
-
-
-## <a id="concept_025AAAF8896C4F4CB4530EE9CEEF4BAE__section_FFC3E18AD8F042DA9EFB42852242AAE0" class="no-quick-link"></a>Using Application Callbacks
-
-**Scenario:** A .NET thread loads the Geode DLL in application domain `AD1`. This thread may have access to the other domains in the application if code access security allows it. This thread can then call `AppDomain.CreateInstance` to create a callback object ( `ICacheListener`, `ICacheLoader`, or `ICacheWriter`) in another domain called `AD2`. If the callback object is marshaled by reference, the callback is executed in the domain where it is created (`AD2`). The thread that loads the Geode DLL in domain `AD1` runs the callback methods in the second domain, `AD2`. An exception is thrown when the callback method is invoked because the native code that invokes the callback is not allowed to cross the `AppDomain` boundary.
-
-**Resolution:** When an application creates and unloads application domains it should ensure that the application domain where the Geode .NET DLL is loaded is the same domain where the application callback and `IGFSerializable` objects are created.
-
-## <a id="concept_025AAAF8896C4F4CB4530EE9CEEF4BAE__section_9FEC4666F4FD467AA57AD70943703F00" class="no-quick-link"></a>Loading an Application DLL in Multiple AppDomains
-
-**Scenario:** the application loads the Geode DLL in one application domain, then reloads the Geode DLL in another application domain (with or without unloading the previous `AppDomain` ). The callbacks, as well as other interface implementations, like `IPdxSerializable` and `IGFSerializable`, throw exceptions because the native C++ code does not know about `AppDomains` and is loaded only once in the initial `AppDomain`.
-
-**Resolution:** The application should always use the first `AppDomain` to load the Geode DLL, or it should not load the Geode DLL multiple times.
-
-## <a id="concept_025AAAF8896C4F4CB4530EE9CEEF4BAE__section_646373554C764DD3A919A906A5F05EE9" class="no-quick-link"></a>Native Client inside IIS
-
-**Scenario:** When you deploy more than one web application inside an Internet Information Service (IIS), the IIS creates an appdomain subprocess for each web application in the single process, but the native client C++ cache instance remains a singleton in the process. Because of this, you can run into conflicts between cache creation and closure by the different appdomains. For example, if one appdomain calls `cache.close`, it closes the cache for the entire process. Any further cache access operations by the other appdomains return cache closed exceptions.
-
-**Resolution:** `Cache create`/`close` provides reference counting of `Cache` `create` and `close`. Each process can use the counter to make sure it creates the `Cache` once and closes it once. To enable this, set the Geode system property, `appdomain-enabled` to true .

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/programming-ipdxinstance.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/programming-ipdxinstance.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/programming-ipdxinstance.html.md.erb
deleted file mode 100644
index 3e6ff68..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/programming-ipdxinstance.html.md.erb
+++ /dev/null
@@ -1,45 +0,0 @@
----
-title:  Program Your Application to Use IPdxInstance
----
-
-An `IPdxInstance` is a lightweight wrapper around PDX serialized bytes. It provides applications with run-time access to fields of a PDX serialized object.
-
-You can configure your cache to return an `IPdxInstance` when a PDX serialized object is deserialized instead of deserializing the object to a domain class. You can then program your application code that reads your entries to handle `IPdxInstances` fetched from the cache.
-
-**Note:**
-This option applies only to entry retrieval that you explicitly code using methods like `EntryEvent.getNewValue` and `Region.get`, as you do inside functions or in cache listener code. This does not apply to querying because the query engine retrieves the entries and handles object access for you.
-
-**Note:**
-`IPdxInstance` overrides any custom implementation you might have coded for your object's `equals` and `hashcode` methods.
-
-**Procedure**
-
-1.  In the `cache.xml` file of the server member where entry fetches are run, set the `<pdx>` read-serialized attribute to true.
-
-    Data is not necessarily accessed on the member that you have coded for it. For example, if a client application runs a function on a server, the actual data access is done on the server, so you set read-serialized to true on the server.
-
-    For example:
-
-    ``` pre
-    // Cache configuration setting PDX read behavior
-                  <cache>
-                    <pdx read-serialized="true" />
-    ... </cache>
-    ```
-
-2.  Write the application code that fetches data from the cache to handle a `IPdxInstance`. If you are sure you will only retrieve `IPdxInstances` from the cache, you can code only for that. In many cases, a `IPdxInstance` or a domain object may be returned from your cache entry retrieval operation, so you should check the object type and handle each possible type.
-
-    See [Creating an IPdxInstance with IPdxInstanceFactory](using-ipdxinstancefactory.html#concept_8FA31D0D022146CE8DE2197006507AFF__example_89B7EDD2BE27423BA0CAB9B0270348B5) for an example of this.
-
-If you configure your cache to allow PDX serialized reads, cache fetches return the data in the form it is found. If the object is not serialized, the fetch returns the domain object. If the object is serialized, the fetch returns the `PdxInstance` for the object.
-
-**Note:**
-If you are using `IPdxInstances`, you cannot use delta propagation to apply changes to PDX serialized objects.
-
-For example, in client/server applications that are programmed and configured to handle all data activity from the client, PDX serialized reads done on the server side will always return the `IPdxInstance`. This is because all of data is serialized for transfer from the client and you are not performing any server-side activities that would deserialize the objects in the server cache.
-
-In mixed situations, such as where a server cache is populated from client operations and also from data loads done on the server side, fetches done on the server can return a mix of `IPdxInstances` and domain objects.
-
-When fetching data in a cache with PDX serialized reads enabled, the safest approach is to code to handle both types, receiving an Object from the fetch operation, checking the type and casting as appropriate.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/region-entry-apis.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/region-entry-apis.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/region-entry-apis.html.md.erb
deleted file mode 100644
index c8cd483..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/region-entry-apis.html.md.erb
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title:  Region and Entry APIs
----
-
-This section describes classes for working with Geode regions and region entries.
-
--   **RegionFactory class**. Creates a `Region` instance based on the provided configuration.
--   **IRegion class**. Provides functions for managing regions and cached data. The `Region` interface implements the generic .NET `IDictionary` interface. In the Geode APIs, `IRegion` implements `IDictionary` and `Region` inherits `IRegion`, giving you access to the full range of .NET `Generic` collection functions. Use the functions in this class to perform the following actions:
-    -   Retrieve information about the region, such as its parent region and region attribute objects.
-    -   Invalidate or destroy the region.
-    -   Add, update, invalidate, and remove region entries.
-    -   Determine, individually or as entire sets, the region's entry keys, entry values, and `RegionEntry` objects.
--   **RegionEntry class**. Contains the key and value for the entry, and provides all non-distributed entry operations. The operations of this object are not distributed and do not affect statistics.
--   **RegionShortcut class**. Holds `enum` definitions for the most common region configurations. Start your region configuration with a shortcut setting in the region attribute, `refid`. Then customize further using the `RegionAttributes`.
--   **RegionAttributes class**. Holds all attribute values for a region and provides functions for retrieving all attribute settings. This class can only be modified by the `AttributesFactory` class before region creation, and the `AttributesMutator` class after region creation.
--   **AttributesMutator class**. Allows modification of an existing region's attributes for application plug-ins and expiration actions. Each region has an `AttributesMutator` instance.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/registering-the-type.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/registering-the-type.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/registering-the-type.html.md.erb
deleted file mode 100644
index 098bb6d..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/registering-the-type.html.md.erb
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title:  Register the Type
----
-
-To use the `BankAccount` type, you must register it with the type system. Then, when an incoming stream contains a `BankAccount`, it can be manufactured from the associated `TypeFactoryMethod.`
-
-``` pre
-Serializable.RegisterType(BankAccount.CreateInstance);
-```
-
-Typically, you would register the type before creating the system.
-
-## <a id="concept_FFFB0AAA131E46D09065F910EFF218CB__section_1B68CDA7392E45CAA413362F42CCF829" class="no-quick-link"></a>Using ClassId
-
-A `ClassId` is an integer that returns the `ClassId` of the instance being serialized. The `ClassId` is used by deserialization to determine what instance type to create and deserialize into.
-
-## <a id="concept_FFFB0AAA131E46D09065F910EFF218CB__section_8A63DBA039744DCCB6840A7F1F5734DA" class="no-quick-link"></a>Using DSFID
-
-A `DSFID` is an integer that returns the data serialization fixed ID type. `DSFID` is used to determine what instance type to create and deserialize into. `DSFID` should not be overridden by custom implementations, and it is reserved only for built-in serializable types.
-
-## <a id="concept_FFFB0AAA131E46D09065F910EFF218CB__section_A02B5E61D03B4B0893DFF3D21F2346F9" class="no-quick-link"></a>Using Custom Key Types
-
-If your application uses its own key types that are too complex to easily force into string, you can probably improve performance by using a custom type and implementing `HashCode` and `Equals` functions. For example, if you have hybrid data types such as floating point numbers, you can implement your own type that encapsulates the floating point number. Comparing floating point numbers in this way provides greater performance than comparing a string representation of the floating point numbers, with such noticeable improvements as faster cache access and smaller payloads.
-
-See [Serialization in Native Client Mode with a Java Server](../cpp-caching-api/serialization_using_serializable.html#concept_696AB5206C3E45898CC1A24CDD93D003__section_AFB685227E4048BF9FB4FD7C55AED274) for information about implementing key types for a native client that is used with a Java cache server.
-
-To extend a type that implements `IPdxSerializable` or `IGFSerializable` for your key, override and implement the `HashCode` and `Equals` methods in the key as needed.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/removing-entry.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/removing-entry.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/removing-entry.html.md.erb
deleted file mode 100644
index f8b6853..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/removing-entry.html.md.erb
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title:  Removing an Entry
----
-
-The standard `Region::Remove` API removes the entry with specified key and provides a user-defined parameter object to any `CacheWriter` or `CacheListener` invoked in the process.
-
-The `Remove` call not only removes the value, but also the key and entry from this region. The remove operation is propagated to the Geode cache server that the native client is connected to. If the destroy operation fails due to an exception on the server (for example, a `CacheServerException` or security exception), then the local entry is still removed.
-
-The `Remove` operation updates `CacheStatistics::LastAccessedTime`, `CacheStatistics::HitCount`, and `CacheStatistics::MissCount` for this region and the entry.
-
-The `Remove` API returns true if the entry (key, value) has been removed or false if the entry (key, value) has not been removed.
-
-## Bulk Remove Operations Using removeAll
-
-You can use the `Region::removeAll` API to remove all entries for a colleciton of specified keys from the region. The effect of this call is equivalent to that of calling `destroy` on this region once for each key in the specified collection. If an entry does not exist, then that key is skipped. Note that an `EntryNotFoundException` is not thrown.
-
-The `RemoveAll` operation updates `CacheStatistics::LastAccessedTime`, `CacheStatistics::HitCount`, and `CacheStatistics::MissCount` for this region and the entries that are removed.
-
-The `RemoveAll` API also supports providing a callback argument to any cache loaders or cache writers that are invoked in the operation. See the Region online API documentation for more information about using `RemoveAll`.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/resolving-the-error.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/resolving-the-error.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/resolving-the-error.html.md.erb
deleted file mode 100644
index 65cc0cc..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/resolving-the-error.html.md.erb
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title:  Resolving the Error
----
-
-Each computer where the common language runtime is installed has a machine-wide code cache called the Global Assembly Cache (GAC). The global assembly cache stores assemblies specifically designated to be shared by several applications on the computer.
-
-As a general guideline, keep assembly dependencies private, and locate assemblies in the application directory unless sharing an assembly is explicitly required. Share assemblies by installing them into the global assembly cache only when necessary.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/serializable-types.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/serializable-types.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/serializable-types.html.md.erb
deleted file mode 100644
index 45826fc..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/serializable-types.html.md.erb
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title:  Generic and Custom Serializable Types
----
-
-All built-in generics are automatically registered at initialization. You have a couple of options for complex key types.
-
-If your application uses more complex key types that you want to make more accessible or easier to handle, you can derive a new class from `IGFSerializable`. Another option is for the application to do its own object serialization using `Byte[]` or a custom type.
-
-## <a id="concept_5D520C87F65B48AFA4240615190B0150__section_DA3BCFFFCB974C65BEE953DF3FAA8442" class="no-quick-link"></a>Blobs
-
-If you have data that is best handled as a blob, such as structs that do not contain pointers, use a `Byte[]` or, if you need something more complex than `Byte[]`, implement a custom type using either `IPdxSerializable` or `IGFSerializable`.
-
-## <a id="concept_5D520C87F65B48AFA4240615190B0150__section_D49865F1CF5F467A9FFAD244D990F3F5" class="no-quick-link"></a>Object Graphs
-
-If you have a graph of objects in which each node can be serializable, the parent node calls `DataOutput.WriteObject` to delegate the serialization responsibility to its child nodes. Similarly, your application calls `DataInput.ReadObject` to deserialize the object graph.
-
-**Note:**
-The Geode `IGFSerializable` interface does not support object graphs with multiple references to the same object. If your application uses these types of circular graphs, you must address this design concern explicitly.
-
-For more information, see the online API documentation for `DataOutput` and `DataInput`.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/serialize-using-igfserializable.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/serialize-using-igfserializable.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/serialize-using-igfserializable.html.md.erb
deleted file mode 100644
index dde87e8..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/serialize-using-igfserializable.html.md.erb
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title:  Serialize with the Geode IGFSerializable Interface
----
-
-The .NET `IGFSerializable` interface provides fast and compact data serialization.
-
--   **[Generic and Custom Serializable Types](serializable-types.html)**
-
-    All built-in generics are automatically registered at initialization. You have a couple of options for complex key types.
-
--   **[How Serialization Works with IGFSerializable](how-igfserializable-works.html)**
-
-    When your application puts an object into the cache for distribution, Geode serializes the data by taking these steps.
-
--   **[Implement the IGFSerializable Interface](implementing-igfserializable.html)**
-
-    To store your own data types in the cache, you implement the Geode `IGFSerializable` interface.
-
--   **[Register the Type](registering-the-type.html)**
-
-    To use the `BankAccount` type, you must register it with the type system. Then, when an incoming stream contains a `BankAccount`, it can be manufactured from the associated `TypeFactoryMethod.`
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/serialize-using-ipdxserializable.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/serialize-using-ipdxserializable.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/serialize-using-ipdxserializable.html.md.erb
deleted file mode 100644
index b582a77..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/serialize-using-ipdxserializable.html.md.erb
+++ /dev/null
@@ -1,103 +0,0 @@
----
-title:  Serialize Using the GemFire IPdxSerializable Interface
----
-
-Use this procedure to program your domain object for PDX serialization using the `IPdxSerializable` Interface. When you write objects using PDX serialization, they are distributed to the server tier in PDX serialized form. When you run queries against the objects on the servers, only the fields you specify are deserialized.
-
-**Procedure**
-
-1.  In your domain class, implement `GemStone::GemFire::Cache::Generic::IPdxSerializable`. Example:
-
-    ``` pre
-    using GemStone.GemFire.Cache.Generic;
-           ...
-           public class PortfolioPdx : IPdxSerializable
-    ```
-
-2.  If your domain class does not have a zero-arg constructor, create one for it.
-
-    If you also use PDX serialization in Java for the object, serialize the object in the same way for each language. Serialize the same fields in the same order and mark the same identify fields.
-
-3.  Program the `IPdxSerializable ToData` function to serialize your object as required by your application.
-    1.  Write your domain class's standard. NET data fields using the `IPdxWriter` write methods. GemFire automatically provides `IPdxWriter` to the `ToData` function for `IPdxSerializable` objects.
-    2.  Call the `ToData markIdentifyField` function for each field GemFire should use to identify your object. This is used to compare objects for operations like `DISTINCT` queries. The `markIdentifyField` call must come after the associated field write methods.
-
-        Example:
-
-        ``` pre
-        // object fields
-        private int m_id;
-        private string m_pkid;
-        private PositionPdx m_position1;
-        private PositionPdx m_position2;
-        private Hashtable m_positions;
-        private string m_type;
-        private string m_status;
-        private string[] m_names;
-        private byte[] m_newVal;
-        private DateTime m_creationDate;
-        private byte[] m_arrayZeroSize;
-        private byte[] m_arrayNull;
-        // ToData
-        public void ToData(IPdxWriter writer)
-        {
-           writer.WriteInt("id", m_id)
-           //identity field
-              .MarkIdentityField("id")
-              .WriteString("pkid", m_pkid)
-              .WriteObject("position1", m_position1)
-              .WriteObject("position2", m_position2)
-        .WriteObject("positions", m_positions)
-        .WriteString("type", m_type)
-        .WriteString("status", m_status)
-        .WriteStringArray("names", m_names)
-        .WriteByteArray("newVal", m_newVal)
-        .WriteDate("creationDate", m_creationDate)
-        .WriteByteArray("arrayNull", m_arrayNull)
-        .WriteByteArray("arrayZeroSize", m_arrayZeroSize);
-        }
-        ```
-
-4.  Program `IPdxSerializable FromData` to read your data fields from the serialized form into the object's fields using the `IPdxReader` read methods. GemFire automatically provides `IPdxReader` to the `FromData` function for `IPdxSerializable` objects.
-
-    Use the same names as you did in `ToData` and call the read operations in the same order as you called the write operations in your `ToData` implementation.
-
-    Example:
-
-    ``` pre
-    public void FromData(IPdxReader reader)
-       {
-          m_id = reader.ReadInt("id");
-     
-          bool isIdentity = reader.IsIdentityField("id");
-     
-          if (isIdentity == false)
-             throw new IllegalStateException("Portfolio id is identity field");
-     
-          bool isId = reader.HasField("id");
-     
-          if (isId == false)
-             throw new IllegalStateException("Portfolio id field not found");
-     
-          bool isNotId = reader.HasField("ID");
-     
-          if (isNotId == true)
-             throw new IllegalStateException("Portfolio isNotId field found");
-     
-          m_pkid = reader.ReadString("pkid");
-          m_position1 = (PositionPdx)reader.ReadObject("position1");
-          m_position2 = (PositionPdx)reader.ReadObject("position2");
-          m_positions = (Hashtable)reader.ReadObject("positions");
-          m_type = reader.ReadString("type");
-          m_status = reader.ReadString("status");
-          m_names = reader.ReadStringArray("names");
-          m_newVal = reader.ReadByteArray("newVal");
-          m_creationDate = reader.ReadDate("creationDate");
-          m_arrayNull = reader.ReadByteArray("arrayNull");
-          m_arrayZeroSize = reader.ReadByteArray("arrayZeroSize");
-    }
-    ```
-
-5.  Optionally, program your domain object's equals and hashcode methods.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/serializing-domain-objects.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/serializing-domain-objects.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/serializing-domain-objects.html.md.erb
deleted file mode 100644
index c25b28f..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/serializing-domain-objects.html.md.erb
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title:  Serialize Your Domain Objects with IPdxSerializer
----
-
-For domain objects that you cannot or do not want to modify, use the `IPdxSerializer` class to serialize and deserialize the object's fields.
-
-You use one `IPdxSerializer` implementation for the entire cache, programming it for all of the domain objects that you handle in this way. This way you do not have to implement the `IPdxSerializable` interface for each domain class.
-
-With `IPdxSerializer`, you leave your domain object as-is and handle the serialization and deserialization in the separate serializer. You register the serializer in your cache PDX configuration. Then program the serializer to handle all of the domain objects you need.
-
-If you write your own `IPdxSerializer` and you also use the `ReflectionBasedAutoSerializer`, then the `IPdxSerializer` needs to own the `ReflectionBasedAutoSerializer` and delegate to it. A cache can only have a single `IPdxSerializer` instance.
-
-**Note:**
-The `IPdxSerializer` `toData` and `fromData` methods differ from those for `IPdxSerializable`. They have different parameters and results.
-
-To register an `IPdxSerializer`, you can use the following code. Note that you can only register the `IPdxSerializer` in the application code. It cannot be configured declaratively in `cache.xml`.
-
-Example:
-
-``` pre
-using GemStone.GemFire.Cache.Generic;
-...
-// Register a PdxSerializer to serialize
-// domain objects using PDX serialization
- 
-Serializable.RegisterPdxSerializer(new MyPdxSerializer());
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/simple-csharp-example.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/simple-csharp-example.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/simple-csharp-example.html.md.erb
deleted file mode 100644
index d9f9949..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/simple-csharp-example.html.md.erb
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title:  A Simple C# Example
----
-
-An example shows how to connect to Geode, create a cache and region, put and get keys and values, and disconnect.
-
-## Simple C\# Code
-
-``` pre
-class BasicOperations
-{
-   public static void Main(string[] args)
-   {
-      try
-      {
-         // 1. Create a cache
-         CacheFactory cacheFactory = CacheFactory.CreateCacheFactory();
-         Cache cache = cacheFactory.Create();
-
-         // 2. Create default region attributes using region factory
-         RegionFactory regionFactory =
-            cache.CreateRegionFactory(RegionShortcut.CACHING_PROXY);
-
-         // 3. Create a region
-         IRegion<int, string> region =
-            regionFactory.Create<int, string>("exampleRegion");
-
-         // 4. Put some entries
-         region[111] = "Value1";
-         region[123] = "123";
-
-         // 5. Get the entries
-         string result1 = region[111];
-         string result2 = region[123];
-
-         // 6. Close cache
-         cache.Close();
-      }
-   }
-}
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/troubleshooting-dotnet-applications.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/troubleshooting-dotnet-applications.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/troubleshooting-dotnet-applications.html.md.erb
deleted file mode 100644
index 74dec75..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/troubleshooting-dotnet-applications.html.md.erb
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title:  Troubleshooting .NET Applications
----
-
-The .NET Framework does not find managed DLLs using the conventional `PATH` environment variable. In order for your assembly to find and load a managed DLL, it must either be loaded as a private assembly using `assemblyBinding`, or it must be installed into the Global Assembly Cache (GAC).
-
-The GAC utility must be run on every machine that runs the .NET code.
-
-If an assembly attempts to load the `GemStone.GemFire.Cache.dll` without meeting this requirement, you receive this `System.IO.FileNotFoundException`:
-
-``` pre
-{{
-
-Unhandled Exception: System.IO.FileNotFoundException: Could not load file
-or assembly 'GemStone.GemFire.Cache, Version=8.0.0.0, Culture=neutral,
-PublicKeyToken= 126e6338d9f55e0c' or one of its dependencies. The system
-cannot find the file specified.
-File name: 'GemStone.GemFire.Cache, Version=8.0.0.0, Culture=neutral,
-PublicKeyT oken=126e6338d9f55e0c'
-at HierarchicalClient.Main()
-
-}}
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/using-ipdxinstancefactory.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/using-ipdxinstancefactory.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/using-ipdxinstancefactory.html.md.erb
deleted file mode 100644
index 04c1297..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/using-ipdxinstancefactory.html.md.erb
+++ /dev/null
@@ -1,111 +0,0 @@
----
-title:  Use the IPdxInstanceFactory to Create IPdxInstances
----
-
-You can use the `IPdxInstanceFactory` to create an `IPdxInstance` from raw data when the domain class is not available on the server.
-
-This option can be useful when you need an instance of a domain class for plug-in code such as a function or a loader. If you have the raw data for the domain object (the class name and each field's type and data), then you can explicitly create a `IPdxInstance`. The `IPdxInstanceFactory` is very similar to the `IPdxWriter` except that after writing each field, you need to call the create method which returns the created `IPdxInstance.`
-
-## Creating an IPdxInstance with IPdxInstanceFactory
-
-``` pre
-/*
-         * The PdxInstance QuickStart Example.
-         * This example takes the following steps:
-         *
-         * This example shows IPdxInstanceFactory and IPdxInstance usage.
-         *
-         * 1. Create a Cache.
-         * 2. Creates the PdxInstanceFactory for Person class.
-         * 3. Then creates instance of PdxInstance
-         * 4. It does put.
-         * 5. Then it does get and access it fields.
-         * 6. Close the Cache.
-         *
-         */
-        // Use standard namespaces
-        using System;
-        using System.Reflection;
-        // Use the GemFire namespace
-        using GemStone.GemFire.Cache.Generic;
-        namespace GemStone.GemFire.Cache.Generic.QuickStart
-        {
-          public class Person
-          {
-            private string name;
-            //this is the only field used on server to create hashcode and use in equals method
-            [PdxIdentityField]
-            private int id;
-            private int age;
-            public Person() { }
-            public Person(string name, int id, int age)
-            {
-              this.name = name;
-              this.id = id;
-              this.age = age;
-            }
-            #region Public Properties
-            public string Name
-            {
-              get { return name; }
-            }
-            public int ID
-            {
-              get { return id; }
-            }
-            public int Age
-            {
-              get { return age; }
-            }
-            #endregion  
-          }
-        // The PdxRemoteQuery QuickStart example.
-class PdxInstance
-  {
-    static void Main(string[] args)
-    {
-      try {
-        CacheFactory cacheFactory = CacheFactory.CreateCacheFactory(null);
-        Console.WriteLine("Connected to the Distributed System");
-        // Create a Cache with the "clientPdxRemoteQuery.xml" Cache XML file.
-        // Set SetPdxReadSerialized to true to access PdxInstance
-        Cache cache = cacheFactory.Set("cache-xml-file", "XMLs/clientPdxInstance.xml").Create();
-        Console.WriteLine("Created the Cache");
-        // Get the example Region from the Cache which is declared in the Cache XML file.
-        IRegion<string, IPdxInstance> region = cache.GetRegion<string, IPdxInstance>("Person");
-        Console.WriteLine("Obtained the Region from the Cache");
-        Person p = new Person("Jack", 7, 21);
-        //PdxInstanceFactory for Person class
-        IPdxInstanceFactory pif = cache.CreatePdxInstanceFactory("Person");
-        pif.WriteString("name", p.Name);
-        pif.WriteInt("id", p.ID);
-        pif.MarkIdentityField("id");
-        pif.WriteInt("age", p.Age);
-        IPdxInstance pdxInstance = pif.Create();
-        Console.WriteLine("Created PdxInstance for Person class");
-        region["Key1"] = pdxInstance;
-        Console.WriteLine("Populated PdxInstance Object");
-        IPdxInstance retPdxInstance = region["Key1"];
-        if((int)retPdxInstance.GetField("id") == p.ID
-             && (int)retPdxInstance.GetField("age") == p.Age
-               && (string)retPdxInstance.GetField("name") == p.Name
-                 && retPdxInstance.IsIdentityField("id") == true)
-           Console.WriteLine("PdxInstance returns all fields value expected");
-        else
-           Console.WriteLine("PdxInstance doesn't returns all fields value expected");
-        // Close the Cache.
-        cache.Close();
-        Console.WriteLine("Closed the Cache");
-        }
-        // An exception should not occur
-        catch (GemFireException gfex)
-        {
-          Console.WriteLine("PdxSerializer Exception: {0}",
-          gfex.Message);
-        }
-     }
-  } 
-}
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/function-execution/data-aware-function-execution.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/function-execution/data-aware-function-execution.html.md.erb b/geode-docs/nativeclient/function-execution/data-aware-function-execution.html.md.erb
deleted file mode 100644
index e0d2004..0000000
--- a/geode-docs/nativeclient/function-execution/data-aware-function-execution.html.md.erb
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title:  Understanding Data-Aware Function Routing
----
-
-Achieving linear scalability is predicated upon being able to horizontally partition the application data such that concurrent operations by distributed applications can be done independently across partitions.
-
-In other words, if the application requirements for transactions can be restricted to a single partition, and all data required for the transaction can be colocated to a single server member or a small subset of server members, then true parallelism can be achieved by vectoring the concurrent accessors to the ever-growing number of partitions.
-
-Most scalable enterprise applications grow in data volume, where the number of data items managed rather than the size of individual items grows over time. If the above logic holds (especially true for OLTP class applications), then we can derive sizable benefits by routing the data-dependent application code to the fabric member hosting the data. This routing of application code to the data of interest is called data-aware function routing, or behavior routing.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/function-execution/executing-functions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/function-execution/executing-functions.html.md.erb b/geode-docs/nativeclient/function-execution/executing-functions.html.md.erb
deleted file mode 100644
index f19939b..0000000
--- a/geode-docs/nativeclient/function-execution/executing-functions.html.md.erb
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title:  Executing Functions
----
-
-Using the Geode function execution service, you can execute application functions on a single server member, in parallel on a subset of server members, or in parallel on all server members of a distributed system.
-
-In these procedures, it is assumed that you have defined your client and server regions, and that you have coded and configured your servers to run your functions. In [Function Execution](../../developing/function_exec/chapter_overview.html), see the function execution information for the server side.
-
--   **[Running the Function](../../nativeclient/function-execution/running-function.html)**
-
-    In this section you create an `Execution` object and use its methods to define and run the function. To run a function with high availability, you call `getResult` from the results collector returned from the `execute` method.
-
--   **[Programming to Get Function Results](../../nativeclient/function-execution/handling-function-results.html)**
-
-    Geode provides a default result collector. If you need special results handling, code a custom `ResultsCollector` implementation to replace the provided default. Use the `Execution::withCollector` method to define your custom collector.
-
--   **[Solutions and Use Cases](../../nativeclient/function-execution/solutions-use-cases.html)**
-
-    The function execution service provides solutions for various application use cases.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/function-execution/function-execution.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/function-execution/function-execution.html.md.erb b/geode-docs/nativeclient/function-execution/function-execution.html.md.erb
deleted file mode 100644
index 57dd024..0000000
--- a/geode-docs/nativeclient/function-execution/function-execution.html.md.erb
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title:  Function Execution
----
-
-*Function Execution* describes how you can execute application functions to achieve linear scalability. It explains how function execution works and lists specific use cases.
-
-**Note:**
-Function execution can be used only along with the pool functionality. For more information about the pool API, see [Using Connection Pools](../connection-pools/connection-pools.html#using-connection-pools). Only C++ versions of Function Execution API interfaces, classes, and methods (like `FunctionService::onRegion`) are shown in text. The code examples show C++ and C\#.
-
--   **[Understanding Data-Aware Function Routing](../../nativeclient/function-execution/data-aware-function-execution.html)**
-
-    Achieving linear scalability is predicated upon being able to horizontally partition the application data such that concurrent operations by distributed applications can be done independently across partitions.
-
--   **[How Functions Execute](../../nativeclient/function-execution/how-functions-execute.html)**
-
-    This section discusses the basic function execution process, how highly available functions execute after a failure, and the execution scenarios for data-dependent and data-independent functions.
-
--   **[Executing Functions](../../nativeclient/function-execution/executing-functions.html)**
-
-    Using the Geode function execution service, you can execute application functions on a single server member, in parallel on a subset of server members, or in parallel on all server members of a distributed system.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/function-execution/handling-function-results.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/function-execution/handling-function-results.html.md.erb b/geode-docs/nativeclient/function-execution/handling-function-results.html.md.erb
deleted file mode 100644
index 8891009..0000000
--- a/geode-docs/nativeclient/function-execution/handling-function-results.html.md.erb
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title:  Programming to Get Function Results
----
-
-Geode provides a default result collector. If you need special results handling, code a custom `ResultsCollector` implementation to replace the provided default. Use the `Execution::withCollector` method to define your custom collector.
-
-**Note:**
-This section applies only to functions that return results.
-
-To program your client to get the results from a function, use the result collector returned from the function execution, like this:
-
-``` pre
-ResultCollectorPtr rc = FunctionService::onRegion(region)
-                    ->withArgs(args)
-                    ->withFilter(keySet)
-                    ->withCollector(new MyCustomResultCollector())
-                    .execute(Function);
-CacheableVectorPtr functionResult = rc.getResult(); 
-```
-
-The `getResult` methods of the Geode default result collector block until all results are received, then return the full result set.
-
-You can handle the results in a custom manner if you wish. To do this:
-
-1.  Write a class that extends `ResultCollector` and code the methods to handle the results as you need. The methods are of two types: one handles data and information from Geode and populates the results set, while the other returns the compiled results to the calling application:
-
-    1.  `addResult` is called by Geode when results arrive from the `Function` methods. Use `addResult` to add a single result to the ResultCollector.
-    2.  `endResults` is called by Geode to signal the end of all results from the function execution.
-    3.  `getResult` is available to your executing application (the one that calls `Execution.execute`) to retrieve the results. This may block until all results are available.
-    4.  `clearResults` is called by Geode to clear partial results from the results collector. This is used only for highly available `onRegion` functions where the calling application waits for the results. If the call fails, before Geode retries the execution, it calls `clearResults` to ready the instance for a clean set of results.
-
-2.  Use the `Execution` object in your executing member to call `withCollector`, passing your custom collector, as shown in the example above.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/function-execution/how-functions-execute.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/function-execution/how-functions-execute.html.md.erb b/geode-docs/nativeclient/function-execution/how-functions-execute.html.md.erb
deleted file mode 100644
index d3bb4be..0000000
--- a/geode-docs/nativeclient/function-execution/how-functions-execute.html.md.erb
+++ /dev/null
@@ -1,60 +0,0 @@
----
-title:  How Functions Execute
----
-
-This section discusses the basic function execution process, how highly available functions execute after a failure, and the execution scenarios for data-dependent and data-independent functions.
-
-## <a id="how-functions-execute__section_B3311A9E6A9243BB8403BFD3B488B840" class="no-quick-link"></a>How Functions Execute
-
-1.  The calling client application runs the `execute` method on the `Execution` object. The object must already be registered on the servers.
-2.  The function is invoked on all servers where it needs to run. The locations are determined by the `FunctionService                         on*` method calls, region configuration, and any filters.
-3.  If the function has results, the result is returned to the `AddResult` method call in a `ResultCollector` object.
-4.  The client collects results using the result collector `getResult`.
-
-## <a id="how-functions-execute__section_08C66E4B3D934ADC8587DF1E3766C9FD" class="no-quick-link"></a>How Highly Available Functions Execute after a Failure
-
-If a failure occurs in function execution, the error is returned to the calling application. You can code for high availability for `onRegion` functions that return a result, so the function is automatically retried. For information on setting this up on the server side, see [Executing a Function in Apache Geode](../../developing/function_exec/function_execution.html). To use a highly available function, the client must call the results collector `getResult` method. When an execution error occurs or a member crashes while executing, the system does the following:
-
-1.  Waits for all calls to return.
-2.  Sets a boolean indicating a reexecution is being done.
-3.  Calls the result collector\u2019s `clearResults` method.
-4.  Executes the function.
-
-The system retries the execution up to the number specified in the server pool\u2019s `retryAttempts` setting. If the function continues to fail, the final exception is returned to the `getResult` method.
-
-## <a id="how-functions-execute__section_CD9A1A997259413EAB4E2A31E773EF3D" class="no-quick-link"></a>Data-Independent Function Execution
-
-The figure shows the sequence of events for a data-independent function executed against all available servers.
-
-<a id="how-functions-execute__fig_542AF21D578C4203B0E412B79AAFCB2B"></a>
-
-<span class="figtitleprefix">Figure: </span>Data-Independent Function Invoked from a Client
-
-<img src="../common/images/data-indep-func-from-client.gif" alt="Data-Independent Function Invoked on All Servers" id="how-functions-execute__image_E0558B648AC0408AA8EBA1B20BBDA6E8" class="image" />
-
-## <a id="how-functions-execute__section_2B8EF74570294EDA9468303E6ABF1589" class="no-quick-link"></a>Data-Dependent Function Execution
-
-The figure shows a data-dependent function run by a client. The specified region is connected to the server system, so the function automatically goes there to run against all servers holding data for the region.
-
-<a id="how-functions-execute__fig_AB2806066EBD4A9A818C1CB96969AAD7"></a>
-
-<span class="figtitleprefix">Figure: </span>Data-Dependent Function Invoked From a Client
-
-<img src="../common/images/data-dep-func-from-client.gif" alt="Data-Dependent Function Invoked from a Client" id="how-functions-execute__image_2FC4D817034841748BA05E2805D0BC21" class="image" />
-
-This shows the same data-dependent function with the added specification of a set of keys on which to run. Servers that don't hold any of the keys are left out of the function execution.
-
-<a id="how-functions-execute__fig_BAD8AB0EC37C4EC1AC78FB47D071AACC"></a>
-
-<span class="figtitleprefix">Figure: </span>Data-Dependent Function with Filter Invoked from a Client
-
-<img src="../common/images/data-dep-func-with-filter.gif" alt="Data-Dependent Function with Filter Invoked From a Client" id="how-functions-execute__image_E2C4F2E946204ED6999504E720EA5825" class="image" />
-
-This scenario demonstrates the steps in a call to a highly available function. The call fails the first time on one of the participating servers and is successfully run a second time on all servers.
-
-<a id="how-functions-execute__fig_8178E71A5AD747C794A336C86BE313B8"></a>
-
-<span class="figtitleprefix">Figure: </span>Highly Available Data-Dependent Function with Failure on First Executions
-
-<img src="../common/images/ha-data-dep-func.gif" alt="Highly Available Data Dependent Function with Failure on First Execution" id="how-functions-execute__image_79E33270ADD147F780E5E20A03D9F3C6" class="image" />
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/function-execution/running-function.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/function-execution/running-function.html.md.erb b/geode-docs/nativeclient/function-execution/running-function.html.md.erb
deleted file mode 100644
index fa5e1ce..0000000
--- a/geode-docs/nativeclient/function-execution/running-function.html.md.erb
+++ /dev/null
@@ -1,122 +0,0 @@
----
-title:  Running the Function
----
-
-In this section you create an `Execution` object and use its methods to define and run the function. To run a function with high availability, you call `getResult` from the results collector returned from the `execute` method.
-
-## <a id="running-function__section_8BC7F999141A40E389B8DC276EAB9F7E" class="no-quick-link"></a>Configuring and Running a Function
-
-You specify the members that run the function and, optionally, the data set over which the functions run.
-
--   **Servers**. Execute the function in a single server or a set of servers, specified by the server pool. To specify data sets for this type of function, pass arguments in to the function.
--   **Data set**. Specify a region and possibly a set of keys on which to run.
-
-In every client where you want to execute the function and process the results:
-
-1.  Use one of the `FunctionService on*` methods to create an `Execution` object. The `on*` methods, `onRegion`, `onServer` and `onServers`, define the highest level where the function is run. If you use `onRegion` you can further narrow your run scope by setting key filters. The function run using `onRegion` is a data dependent function \u2013 the others are data-independent functions.
-
-    You can run a data dependent function against custom partitioned and colocated partitioned regions. From the client, provide the appropriate key sets to the function call.
-
-2.  Use the `Execution` object as needed for additional function configuration. You can:
-    -   Provide a set of data keys to `withFilter` to narrow the execution scope. This works only for `onRegion Execution` objects.
-    -   Provide function arguments to `withArgs`.
-    -   Define a custom `ResultCollector` to `withCollector`. See [Programming to Get Function Results](handling-function-results.html#handling-function-results).
-
-3.  Call the `Execution` object execute method to run the function.
-4.  To run a function with high availability, call `getResult` from the results collector returned from `execute`. Calling a highly available function without using `getResult` disables the high availability functionality.
-
-## Running a Function on a Region (C++)
-
-``` pre
-regPtr0 = initRegion();
-ExecutionPtr exc = FunctionService::onRegion(regPtr0);
-CacheableVectorPtr routingObj = CacheableVector::create();
-char buf[128];
-bool getResult = true;
- 
-sprintf(buf, "VALUE--%d", 10);
-CacheablePtr value(CacheableString::create(buf));
- 
-sprintf(buf, "KEY--%d", 100);
-CacheableKeyPtr key = CacheableKey::create(buf);
-regPtr0->put(key, value);
- 
-sprintf(buf, "KEY--%d", 100);
-CacheableKeyPtr key1 = CacheableKey::create(buf);
-routingObj->push_back(key1);
- 
-CacheablePtr args = routingObj;
-CacheableVectorPtr executeFunctionResult = exc->withFilter(routingObj)->
-    withArgs(args)->execute(func)->getResult();
-```
-
-## Running a Function on a Server Pool (C++)
-
-``` pre
-pptr = PoolManager::find(poolName);
-ExecutionPtr exc = FunctionService::onServer(cache);
-CacheableVectorPtr routingObj = CacheableVector::create();
-char buf[128];
-bool getResult = true;
-sprintf(buf, "VALUE--%d", 10);
-CacheablePtr value(CacheableString::create(buf));
- 
-sprintf(buf, "KEY--%d", 100);
-CacheableKeyPtr key = CacheableKey::create(buf);
-regPtr0->put(key, value);
- 
-sprintf(buf, "KEY--%d", 100);
-CacheableKeyPtr key1 = CacheableKey::create(buf);
-routingObj->push_back(key1);
- 
-CacheablePtr args = routingObj;
-CacheableVectorPtr executeFunctionResult =
-exc->withArgs(args)->execute(func)->getResult();
-```
-
-## Running a Function on a Region (C\# .NET)
-
-``` pre
-IRegion<string, string> fregion =
-    regionFactory.Create<string, string>("exampleRegion");
-for (int i = 0; i < 34; i++)
-{
-  fregion.Put("KEY--" + i, "VALUE--" + i, null);
-}
- 
-object[] routingObj = new object[17];
-int j = 0;
-for (int i = 0; i < 34; i++)
-{
-  if (i % 2 == 0) continue;
-  routingObj[j] = "KEY--" + i;
-  j++;
-}
-object args0 = true;
-Boolean getResult = true;
-// data dependent function execution -- get function with result
-Execution<object> exc =
-    Generic.FunctionService.OnRegion<string, string, object>(fregion);
-Generic.IResultCollector rc =
-    exc.WithArgs((IGFSerializable)args0).WithFilter(
-        (IGFSerializable[])routingObj).Execute(getFuncName);
-object[] executeFunctionResult = rc.GetResult();
-```
-
-## Running a Function on a Server Pool (C\# .NET)
-
-``` pre
-exc = Generic.FunctionService.OnServer<object>(cache);
-List<object> args1 = new List<object>();
-for (int i = 0; i < routingObj.Length; i++)
-{
-  Console.WriteLine("routingObj[{0}]={1}.", i, (routingObj[i] as string));
-  args1.Add(routingObj[i]);
-}
-rc = exc.WithArgs((IGFSerializable)args1).Execute(getFuncIName);
-executeFunctionResult = rc.GetResult();
-Console.WriteLine("on one server: result count= {0}.",
-    executeFunctionResult.Length);
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/function-execution/solutions-use-cases.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/function-execution/solutions-use-cases.html.md.erb b/geode-docs/nativeclient/function-execution/solutions-use-cases.html.md.erb
deleted file mode 100644
index 364d53d..0000000
--- a/geode-docs/nativeclient/function-execution/solutions-use-cases.html.md.erb
+++ /dev/null
@@ -1,13 +0,0 @@
----
-title:  Solutions and Use Cases
----
-
-The function execution service provides solutions for various application use cases.
-
--   An application that executes a server-side transaction or makes data updates using the Geode distributed locking service.
--   An application that initializes some of its components once on each server, which might be used later by executed functions.
--   Initialization and startup of a third-party service, such as a messaging service.
--   Any arbitrary aggregation operation that requires iteration over local data sets that can be done more efficiently through a single call to the cache server.
--   Any kind of external resource provisioning that can be done by executing a function on a server.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/gfcpp.properties/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/gfcpp.properties/chapter_overview.html.md.erb b/geode-docs/nativeclient/gfcpp.properties/chapter_overview.html.md.erb
deleted file mode 100644
index 56782fc..0000000
--- a/geode-docs/nativeclient/gfcpp.properties/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title:  gfcpp.properties Example File
----
-
-Use the gfcpp.properties file to configure distributed system connections for the Apache Geode native client.
-
-The following example shows the format of a gfcpp.properties file. The first two attributes in this example should be set by programmers during application development, while other attributes are set on-site during system integration. The properties and their default settings that can be set in this file are described in detail in [Attributes in gfcpp.properties](../setting-properties/attributes-gfcpp.html#attributes-gfcpp).
-
-## gfcpp.properties File Format
-
-``` pre
-#Tue Feb 14 17:24:02 PDT 2006
-log-level=info
-cache-xml-file=./cache.xml
-stacktrace-enabled=true
-```
-
--   **[Using the Default Sample File](../../nativeclient/gfcpp.properties/default_sample_file.html)**
-
-    A sample gfcpp.properties file is included with the Apache Geode native client installation in the `productDir/defaultSystem` directory.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/gfcpp.properties/default_sample_file.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/gfcpp.properties/default_sample_file.html.md.erb b/geode-docs/nativeclient/gfcpp.properties/default_sample_file.html.md.erb
deleted file mode 100644
index 15b828b..0000000
--- a/geode-docs/nativeclient/gfcpp.properties/default_sample_file.html.md.erb
+++ /dev/null
@@ -1,104 +0,0 @@
----
-title:  Using the Default Sample File
----
-
-A sample gfcpp.properties file is included with the Apache Geode native client installation in the `productDir/defaultSystem` directory.
-
-To use this file:
-
-1.  Copy the file to the directory where you start the application.
-2.  Uncomment the lines you need and edit the settings as shown in this example:
-
-    ``` pre
-    cache-xml-file=test.xml
-    ```
-
-3.  Start the application.
-
-## Default gfcpp.properties File
-
-``` pre
-# Default C++ distributed system properties
-# Copy to current directory and uncomment to override defaults.
-#
-## Debugging support, enables stacktraces in gemfire::Exception.
-#
-# The default is false, uncomment to enable stacktraces in exceptions.
-#stacktrace-enabled=true
-#crash-dump-enabled=true
-#
-#
-## Cache region configurtion
-#
-#cache-xml-file=cache.xml
-#
-## Log file config
-#
-#log-file=gemfire_cpp.log
-#log-level=config
-# zero indicates use no limit.
-#log-file-size-limit=0
-# zero indicates use no limit. 
-#log-disk-space-limit=0 
-#
-## Statistics values
-#
-# the rate is in seconds.
-#statistic-sample-rate=1
-#statistic-sampling-enabled=true
-#statistic-archive-file=statArchive.gfs
-# zero indicates use no limit.
-#archive-file-size-limit=0
-# zero indicates use no limit.
-#archive-disk-space-limit=0
-#enable-time-statistics=false 
-#
-## Heap based eviction configuration
-#
-# maximum amount of memory used by the cache for all regions, 0 disables this feature
-#heap-lru-limit=0
-# percentage over heap-lru-limit when LRU will be called. 
-#heap-lru-delta=10
-#
-## Durable client support
-#
-#durable-client-id=
-#durable-timeout=300
-#
-## SSL socket support
-#
-#ssl-enabled=false
-#ssl-keystore=
-#ssl-truststore=
-#
-## .NET AppDomain support
-#
-#appdomain-enabled=false
-#
-## Misc
-#
-#conflate-events=server
-#disable-shuffling-of-endpoints=false
-#grid-client=false
-#max-fe-threads=
-#max-socket-buffer-size=66560
-# the units are in seconds.
-#connect-timeout=59
-#notify-ack-interval=10
-#notify-dupcheck-life=300
-#ping-interval=10 
-#redundancy-monitor-interval=10
-#auto-ready-for-events=true
-#
-## module name of the initializer pointing to sample
-## implementation from templates/security
-#security-client-auth-library=securityImpl
-## static method name of the library mentioned above
-#security-client-auth-factory=createUserPasswordAuthInitInstance
-## credential for Dummy Authenticator configured in server.
-## note: security-password property will be inserted by the initializer
-## mentioned in the above property.
-#security-username=root
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/gfcpp.properties/gfcpp.properties_search_path.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/gfcpp.properties/gfcpp.properties_search_path.html.md.erb b/geode-docs/nativeclient/gfcpp.properties/gfcpp.properties_search_path.html.md.erb
deleted file mode 100644
index f6e2b97..0000000
--- a/geode-docs/nativeclient/gfcpp.properties/gfcpp.properties_search_path.html.md.erb
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title:  Search Path for Multiple gfcpp.properties Files
----
-
-The native client and cache server processes first look for their properties file in the `productDir/defaultSystem` directory, then in the working directory.
-
-Any properties set in the working directory override settings in the `defaultSystem/gfcpp.properties` file.
-
-If you are running multiple processes on one machine, you can configure the `gfcpp.properties` file in the `defaultSystem` directory as a shared file that all processes can find. If a few processes need a slightly different configuration, you can put individual `gfcpp.properties` files in their home directories to override specific properties.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/gfcpp.properties/overriding_gfcpp.properties.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/gfcpp.properties/overriding_gfcpp.properties.html.md.erb b/geode-docs/nativeclient/gfcpp.properties/overriding_gfcpp.properties.html.md.erb
deleted file mode 100644
index 3303cdb..0000000
--- a/geode-docs/nativeclient/gfcpp.properties/overriding_gfcpp.properties.html.md.erb
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title:  Overriding gfcpp.properties Settings
----
-
-Application developers have the option of configuring system attributes programmatically, rather than using the `gfcpp.properties` file.
-
-Attributes set programmatically override any matching attribute settings in the `gfcpp.properties` file, but additional attributes not set programmatically will be configured using the settings in `gfcpp.properties`.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/glossary.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/glossary.html.md.erb b/geode-docs/nativeclient/glossary.html.md.erb
deleted file mode 100644
index 94eae02..0000000
--- a/geode-docs/nativeclient/glossary.html.md.erb
+++ /dev/null
@@ -1,213 +0,0 @@
----
-title:  Glossary
----
-
-This glossary defines terms used in the documentation.
-
-## API
-
-Application Programming Interface. Geode provides APIs to cached data for C++ and .NET applications.
-
-## application program
-
-A program designed to perform a specific function directly for the user or, in some cases, for another application program. Geode applications use the Geode application programming interfaces (APIs) to modify cached data.
-
-## cache
-
-A cache created by an application or cache server process. For the process, its cache is the point of access to all caching features and the only view of the cache that is available. Cache creation requires membership in the distributed system. See also [local cache](#glossary_local_cache) and [remote cache](#nc_glossary_remote_cache).
-
-## cache configuration file
-
-An XML file that declares the initial configuration of a cache, commonly named `cache.xml`. C++ and .NET applications can configure the cache additionally through the Geode programming APIs.
-
-## cache listener
-
-User-implemented plug-in for receiving and handling region entry events. A region's cache listener is called after an entry in the local cache is modified.
-
-## <a id="nc_glossary_cache_loader" class="no-quick-link"></a>cache loader
-
-User-implemented plug-in for loading data into a region. A region's cache loader is used to load data that is requested of the region but is not available in the distributed system. For a distributed region, the loader that is used can be in a different cache from the one where the data-request operation originated. See also [cache writer](#nc_glossary_cache_writer) and [netSearch](#nc_glossary_netSearch).
-
-## cache server
-
-A long-running, configurable caching process, generally used to serve cached data to the applications. Usually, cache servers are configured to operate as servers in a client-server typology and their regions are configured to be replicates. See also [server](#nc_glossary_server).
-
-## <a id="nc_glossary_cache_writer" class="no-quick-link"></a>cache writer
-
-User-implemented plug-in intended for synchronizing the cache with an outside data source. A region's cache writer is a synchronous listener to cache data events. The cache writer has the ability to abort a data modification. See also [cache loader](#nc_glossary_cache_loader).
-
-## caching enabled
-
-Specifies whether data is cached in the region. Geode gives you the option of running applications without entry caching. For example, you can configure a distributed system as a simple messaging service.
-
-## client
-
-In a client-server topology, clients can connect to cache servers, create new regions on the cache server, and store data in the cache server region. Clients can also connect to existing regions on a cache server and do directed gets and puts on the cache server. Clients do not track membership information about other clients, nor do they share information with other clients.
-
-## concurrency level
-
-An estimate of the number of threads expected to concurrently modify values in the region. The actual concurrency may vary; this value is used to optimize the allocation of system resources.
-
-## connection
-
-What an application uses to access a Geode distributed system. An application can connect to a Geode system by calling the `DistributedSystem::connect` function with the appropriate parameter settings. An application must connect to a distributed system to gain access to Geode functionality.
-
-## destroy
-
-Remove an entry from a region or remove a region from a cache.
-
-## <a id="nc_glossary_disk_policy" class="no-quick-link"></a>disk policy
-
-Determines whether LRU entries exceeding the entries limit for a caching region are destroyed or written to disk.
-
-## <a id="nc_glossary_distributed_scope" class="no-quick-link"></a>distributed scope
-
-Enables a region to automatically send entry value updates to remote caches and incorporate updates received from remote caches. The scope identifies whether distribution operations must wait for acknowledgement from other caches before continuing. A distributed region's **cache loader** and **cache writer** (defined in the local cache) can be invoked for operations originating in remote caches.
-
-## distributed system
-
-One or more Geode system members that have been configured to communicate with each other, forming a single, logical system. Also used for the object that is instantiated to create the connection between the distributed system members.
-
-## DTD
-
-Document Type Definition. A language that describes the contents of a Standard Generalized Markup Language (SGML) document. The DTD is also used with XML. The DTD definitions can be embedded within an XML document or in a separate file.
-
-## <a id="nc_glossary_entry" class="no-quick-link"></a>entry
-
-A data object in a region. A region entry consists of a key and a value. The value is either null (invalid) or an object. A region entry knows what region it is in. See also [region data](#nc_glossary_region_data), [entry key](#nc_glossary_entry_key), and [entry value](#nc_glosssary_entry_value).
-
-## <a id="nc_glossary_entry_key" class="no-quick-link"></a>entry key
-
-The unique identifier for an entry in a region.
-
-## <a id="nc_glosssary_entry_value" class="no-quick-link"></a>entry value
-
-The data contained in an entry.
-
-## expiration
-
-A cached object expires when its time-to-live or idle timeout counters are exhausted. A region has one set of expiration attributes for itself and one set for all region entries.
-
-## <a id="nc_glossary_expiration_action" class="no-quick-link"></a>expiration action
-
-The action to be taken when a cached object expires. The expiration action specifies whether the object is to be invalidated or destroyed, and whether the action is to be performed only in the local cache or throughout the distributed system. A destroyed object is completely removed from the cache. A region is invalidated by invalidating all entries contained in the region. An entry is invalidated by having its value marked as invalid.
-
-Expiration attributes are set at the region level for the region and at the entry level for entries. See also [idle timeout](#nc_glossary_idle_timeout) and [time-to-live](#nc_glossary_time-to-live).
-
-## factory method
-
-An interface for creating an object which at creation time can let its subclasses decide which class to instantiate. The factory method helps instantiate the appropriate subclass by creating the correct object from a group of related classes.
-
-## <a id="nc_glossary_idle_timeout" class="no-quick-link"></a>idle timeout
-
-The amount of time a region or region entry may remain in the cache unaccessed before being expired. Access to an entry includes any `get` operation and any operation that resets the entry's time-to-live counter. Region access includes any operation that resets an entry idle timeout, and any operation that resets the region's time-to-live.
-
-Idle timeout attributes are set at the region level for the region and at the entry level for entries. See also [time-to-live](#nc_glossary_time-to-live) and [expiration action](#nc_glossary_expiration_action).
-
-## interest list
-
-A mechanism that allows a region to maintain information about receivers for a particular key-value pair in the region, and send out updates only to those nodes. Interest lists are particularly useful when you expect a large number of updates on a key as part of the entry life cycle.
-
-## invalid
-
-The state of an object when the cache holding it does not have the current value of the object.
-
-## invalidate
-
-Remove only the value of an entry in a cache, not the entry itself.
-
-## listener
-
-An event handler. The listener registers its interest in one or more events and is notified when the events occur.
-
-## load factor
-
-A region attribute that sets initial parameters on the underlying hashmap used for storing region entries.
-
-## <a id="nc_glossary_local_cache" class="no-quick-link"></a>local cache
-
-The part of the distributed cache that is resident in the current process. This term is used to differentiate the cache where a specific operation is being performed from other caches in the distributed system. See also [remote cache](#nc_glossary_remote_cache).
-
-## <a id="nc_glossary_local_scope" class="no-quick-link"></a>local scope
-
-Enables a region to hold a private data set that is not visible to other caches. See also [scope](#nc_glossary_scope).
-
-## LRU
-
-Least Recently Used. Refers to a region entry or entries most eligible for eviction due to lack of interest by client applications.
-
-## LRU entries limit
-
-A region attribute that sets the maximum number of entries to hold in a caching region. When the capacity of the caching region is exceeded, LRU is used to evict entries.
-
-## membership
-
-Applications and cache servers connect to a Geode distributed system by invoking the static function `DistributedSystem::connect`. Through this connection, the application gains access to the APIs for distributed data caches. When a C++ or .NET application connects to a distributed system, it specifies the system it is connecting to by indicating the communication protocol and address to use to find other system members.
-
-## <a id="nc_glossary_netSearch" class="no-quick-link"></a>netSearch
-
-The method used by Geode to search remote caches for a data entry that is not found in the local cache region. This operates only on distributed regions.
-
-## <a id="nc_glossary_overflows" class="no-quick-link"></a>overflows
-
-An eviction option that causes the values of LRU entries to be moved to disk when the region reaches capacity. See [disk policy](#nc_glossary_disk_policy).
-
-## persistence manager
-
-The persistence manager manages the memory-to-disk and disk-to-memory actions for LRU entries. See [overflows](#nc_glossary_overflows).
-
-## region
-
-A logical grouping of data within a cache. Regions are used to store data entries (see [entry](#nc_glossary_entry)). Each region has a set of attributes governing activities such as expiration, distribution, data loading, events, and eviction control.
-
-## region attributes
-
-The class of attributes governing the creation, location, distribution, and management of a region and its entries.
-
-## <a id="nc_glossary_region_data" class="no-quick-link"></a>region data
-
-All of the entries directly contained in the region.
-
-## region entry
-
-See [entry](#nc_glossary_entry).
-
-## <a id="nc_glossary_remote_cache" class="no-quick-link"></a>remote cache
-
-Any part of the distributed cache that is resident in a process other than the current one. If an application or cache server does not have a data entry in the region in its local cache, it can do a `netSearch` in an attempt to retrieve the entry from the region in a remote cache. See also [local cache](#nc_glossary_local_cache).
-
-## <a id="nc_glossary_scope" class="no-quick-link"></a>scope
-
-Region attribute. Identifies whether a region keeps its entries private or automatically sends entry value updates to remote caches and incorporates updates received from remote caches. The scope also identifies whether distribution operations must wait for acknowledgement from other caches before continuing. See also [distributed scope](#nc_glossary_distributed_scope) and [local scope](#nc_glossary_local_scope).
-
-## serialization
-
-The process of converting an object graph to a stream of bytes.
-
-## <a id="nc_glossary_server" class="no-quick-link"></a>server
-
-In a client-server topology, the server manages membership and allows remote operations. The server maintains membership information for its clients in the distributed system, along with information about peer applications and other servers in the system. See also **cache server**.
-
-## system member
-
-A process that has established a connection to a distributed system.
-
-## <a id="nc_glossary_time-to-live" class="no-quick-link"></a>time-to-live
-
-The amount of time a region or region entry may remain in the cache without being modified before being expired. Entry modification includes creation, update, and removal. Region modification includes creation, update, or removal of the region or any of its entries.
-
-Time-to-live attributes are set at the region level for the region, and at the entry level for entries. See also **idle timeout** and **expiration action**.
-
-## XML
-
-EXtensible Markup Language. An open standard for describing data from the W3C, XML is a markup language similar to HTML. Both are designed to describe and transform data, but where HTML uses predefined tags, XML allows tags to be defined inside the XML document itself. Using XML, virtually any data item can be identified. The XML programmer creates and implements data-appropriate tags whose syntax is defined in a DTD file or an XSD (XML schema definition.)
-
-## <a id="glossary__section_B65D71221D6F4F02B829EE4DB12FFCAB" class="no-quick-link"></a>XML schema definition
-
-The definition of the structure, content, and semantics used in an XML document. The definition can be used to verify that each item of content in a document adheres to the specification of the element in which the content is placed. The XML schema is a superset of DTD. Unlike DTD, XML schemas are written in XML syntax, which, although more verbose than DTD, are more descriptive and can have stronger typing. Files containing XML schema definitions generally have the XSD extension.
-
-## XSD
-
-See XML schema definition.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/introduction/developing-linux.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/introduction/developing-linux.html.md.erb b/geode-docs/nativeclient/introduction/developing-linux.html.md.erb
deleted file mode 100644
index 8d7424b..0000000
--- a/geode-docs/nativeclient/introduction/developing-linux.html.md.erb
+++ /dev/null
@@ -1,86 +0,0 @@
----
-title:  Developing C++ Programs on Linux
----
-
-This section describes how to build and run a native client application on Linux.
-
-**Note:** When compiling external projects or applications that are used or referenced by the Geode native client, make sure that you compile them for the same target architecture as your native client installation. For example, if you installed the 64-bit (x86) version of the native client, compile your external projects for 64-bit (x86) architecture.
-
-## <a id="developing-linux__section_4AD6E18611AE42E9942C77DF91347768" class="no-quick-link"></a>Step 1. Set Environment Variables
-
-Set the native client environment variables on each Linux host. For each case, *&lt;productDir&gt;* is the path to the native client product directory.
-
-**For Bourne and Korn shells (sh, ksh, bash)**
-
-``` pre
-GFCPP=<productDir>;export GFCPP
-PATH=$GFCPP/bin:$PATH;export PATH
-LD_LIBRARY_PATH=$GFCPP/lib:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH
-```
-
-## <a id="developing-linux__section_EFE9D42B05B44F2F958054224BCC5F76" class="no-quick-link"></a>Step 2. Compile C++ Clients and Dynamically Link Them to the GemFire Library
-
-On Linux, the `g++` compiler is supported. To build and link a C++ client to GemFire on Linux, the compilation command line must include the arguments listed in the following table.
-
-<a id="developing-linux__compiler-arguments-linux"></a>
-
-| Argument           | Explanation                                              |
-|--------------------|----------------------------------------------------------|
-| `-D_REENTRANT`     | Required to compile Linux programs in a thread-safe way. |
-| `-m32` or `-m64`   | Enables 32-bit or 64-bit compilation.                    |
-| `-I$GFCPP/include` | Specifies the native client `include` directory.         |
-
-
-The following table lists the linker switches that must be present on the command line when dynamically linking to the GemFire library.
-
-<a id="developing-linux__table_216E9E87FBB44E39BE26388317F3ACE4"></a>
-
-| Argument            | Explanation                                                                                        |
-|---------------------|----------------------------------------------------------------------------------------------------|
-| `-rpath $GFCPP/lib` | Tells the linker to look in `$GFCPP/lib` for libraries on which the native client library depends. |
-| `-L$GFCPP/lib`      | Tells the linker where to find the named libraries.                                                |
-| `-o durableclient`  | Tells the linker to output an object file named 'durableclient'.                                   |
-| `-lgfcppcache`      | Links the native client C++ cache library to the compiled executable.                              |
-
-
-The following examples compile and link the `$GFCPP/SampleCode/quickstart/cpp/DurableClient.cpp` client to the `durableclient` output file.
-
-**Compiling and Dynamically Linking on Linux for 32-bit**
-
-``` pre
-g++ \
--D_REENTRANT \
--03 \
--Wall \
--m32 \
--I$GFCPP/include \
-cpp/DurableClient.cpp \
-cpp/plugins/DurableCacheListener.cpp \
--o cpp/DurableClient \
--L$GFCPP/lib \
--Wl,-rpath,$GFCPP/lib \
--lgfcppcache
-```
-
-**Compiling and Dynamically Linking on Linux for 64-bit**
-
-``` pre
-g++ \
--D_REENTRANT \
--03 \
--Wall \
--m64 \
--I$GFCPP/include \
-cpp/DurableClient.cpp \
-cpp/plugins/DurableCacheListener.cpp \
--o cpp/DurableClient \
--L$GFCPP/lib \
--Wl,-rpath,$GFCPP/lib \
--lgfcppcache
-```
-
-## <a id="developing-linux__section_60711FB51F0546D48C0BE84C1EB1D379" class="no-quick-link"></a>Step 3. Make Sure the Native Client Library Can Be Loaded
-
-When the C++ application is dynamically linked to the native client library, the library must be dynamically loadable.
-
-To ensure that the native client library is available for loading, make sure you have added the path *productDir*`/lib` to the *LD\_LIBRARY\_PATH* environment variable, where *productDir* is the path to the Geode product directory.



[52/76] [abbrv] incubator-geode git commit: GEODE-1952: removed native client docs, set aside until native client code is merged in (see GEODE-1964)

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/sqlite-persistence/windows_install.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/sqlite-persistence/windows_install.html.md.erb b/geode-docs/nativeclient/sqlite-persistence/windows_install.html.md.erb
deleted file mode 100644
index d753366..0000000
--- a/geode-docs/nativeclient/sqlite-persistence/windows_install.html.md.erb
+++ /dev/null
@@ -1,37 +0,0 @@
----
-title:  Windows Installation
----
-
-This topic describes how to install the SQLite Persistence Manager on Windows for use with the Geode native client.
-
-The Geode Native Client has been tested with SQLite v3.7.14.1.
-
-The <code><i>productDir</i></code> directory refers to the native client product directory path.
-
-The following libraries are required. The <code><i>productDir</i>/bin</code> directory containing these libraries must be present in the Windows `PATH` environment variable, and that directory is added to `PATH` during the Geode product installation.
-
--   The `sqliteimpl.dll` and `GemStone.GemFire.Plugins.SQLite.dll` files are provided in <code><i>productDir</i>/bin</code>.
--   For .NET C\# native client application development, you need to obtain the `System.Data.SQLite.dll` SQLite library, as described below. The library can be copied to <code><i>productDir</i>/bin</code>.
--   For C++ native client application development, you need the `SqLite3.dll` SQLite Library. You create this library and make it available in the runtime linking path, or copied to <code><i>productDir</i>/bin</code>, as described below.
-
-## <a id="concept_E097592856274EFABE81426FF7312294__section_270FDD34D5D1460DAF0FD2DD4E8FB31A" class="no-quick-link"></a>Downloading Pre-built System.Data.SQLite.dll Binaries
-
-If you are writing native client applications using the .NET caching API, obtain the SQLite library (version 3.12.2 or later) for Windows as follows:
-
-1.  Access the System.Data.SQLite Download Page at the following URL: [http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki](http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki).
-2.  Download the appropriate setup file for your .NET Framework installation and hardware architecture.
-    -   For 64-bit Windows, under **Precompiled Binaries for 64-bit Windows (.NET Framework 4.5.1)** download `sqlite-netFx451-binary-bundle-x64-2013-1.0.101.0.zip`.
-
-3.  Execute the setup .exe file, and follow the prompts in the installation wizard. Accept all default installation options.
-4.  Copy the `C:\Program                         Files\System.Data.SQLite\2010\bin\System.Data.SQLite.dll` file to your Geode Native Client distribution at `productDir\bin`.
-
-## <a id="concept_E097592856274EFABE81426FF7312294__section_FAB703D706D54311963399A714D466F9" class="no-quick-link"></a>Downloading, Building, and Installing the Library
-
-If you are writing native client applications using the C++ caching API, you need to build the SQLite solution for your Windows platform architecture.
-
-1.  Download the source code `sqlite-autoconf-NNNNNNN.tar.gz` file (where *NNNNNNN* corresponds to the version) for SQLite version 3.12.2 or later from [http://www.sqlite.org/download.html](http://www.sqlite.org/download.html).
-2.  Extract the source code from the .tar.gz file. You may need to use CygWin or a Windows-compatible tar extraction tool.
-3.  Using Visual Studio, build the version-specific SqLite solution either as a release or debug build:
-    -   If you are using 64-bit Windows, use the x64 configuration.
-
-4.  From the built files, copy the `SqLite3.dll` file to your Geode Native Client distribution at <code><i>productDir</i>/bin</code>.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/system-statistics/cache_performance_statistics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/system-statistics/cache_performance_statistics.html.md.erb b/geode-docs/nativeclient/system-statistics/cache_performance_statistics.html.md.erb
deleted file mode 100644
index 0edcb18..0000000
--- a/geode-docs/nativeclient/system-statistics/cache_performance_statistics.html.md.erb
+++ /dev/null
@@ -1,30 +0,0 @@
----
-title:  Cache Performance Statistics
----
-
-Use cache performance statistics to determine the type and number of cache operations being performed and how much time they consume.
-
-These statistics are available if the member creates a cache.
-
-|                                  |                                                                                              |
-|----------------------------------|----------------------------------------------------------------------------------------------|
-| `creates`                        | Total number of cache creates.                                                               |
-| `puts`                           | Total number of cache puts.                                                                  |
-| `gets`                           | Total number of cache gets.                                                                  |
-| `entries`                        | Current number of cache entries.                                                             |
-| `hits`                           | Total number of cache hits.                                                                  |
-| `misses`                         | Total number of cache misses.                                                                |
-| `destroys`                       | Total number of cache destroys.                                                              |
-| `overflows`                      | Total number of cache overflows to persistence backup.                                       |
-| `cacheListenerCallsCompleted`    | Total number of times a cache listener call has completed.                                   |
-| `pdxInstanceDeserializations`    | Total number of times getObject has been called on a PdxInstance.                            |
-| `pdxInstanceDeserializationTime` | Total amount of time, in nanoseconds, spent deserializing PdxInstances by calling getObject. |
-| `pdxInstanceCreations`           | Total number of times a deserialization created a PdxInstance.                               |
-| `pdxSerializations`              | Total number of PDX serializations.                                                          |
-| `pdxSerializedBytes`             | Total number of bytes produced by PDX serialization.                                         |
-| `pdxDeserializations`            | Total number of PDX deserializations.                                                        |
-| `pdxDeserializedBytes`           | Total number of bytes read by PDX deserialization.                                           |
-| `tombstoneCount`                 | Total number of tombstone entries created for performing concurrency checks.                 |
-| `nonReplicatedTombstoneSize`     | Approximate total size (in bytes) of tombstones present in the client cache.                 |
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/system-statistics/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/system-statistics/chapter_overview.html.md.erb b/geode-docs/nativeclient/system-statistics/chapter_overview.html.md.erb
deleted file mode 100644
index 56f47db..0000000
--- a/geode-docs/nativeclient/system-statistics/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title:  System Statistics
----
-
-*System Statistics* provides information on the installation and includes standard statistics for caching and distribution activities.
-
-Statistics that end with "time" are time-based statistics. For performance reasons, by default, the system does not collect these. To enable time-based statistics gathering, set the system property` enable-time-statistics` in [Attributes in gfcpp.properties\u2014Statistics Archiving Properties](../setting-properties/attributes-gfcpp.html#attributes-gfcpp__table_E1A0EDBA67CD41319E1E5FD0A0BB2723).
-
--   **[Sampling Statistics](../../nativeclient/system-statistics/sampling_statistics.html)**
-
-    When applications and cache servers join a distributed system, they indicate whether to enable statistics sampling and whether to archive the statistics that are gathered.
-
--   **[System Performance Statistics](../../nativeclient/system-statistics/system_performance_statistics.html)**
-
-    Performance statistics are collected for each application or cache server that connects to a distributed system.
-
--   **[Operating System Statistics](../../nativeclient/system-statistics/operating_system_statistics.html)**
-
-    Use operating system statistics to determine a member\u2019s CPU, memory, and disk usage.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/system-statistics/continuous_query_statistics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/system-statistics/continuous_query_statistics.html.md.erb b/geode-docs/nativeclient/system-statistics/continuous_query_statistics.html.md.erb
deleted file mode 100644
index 7e463e0..0000000
--- a/geode-docs/nativeclient/system-statistics/continuous_query_statistics.html.md.erb
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title:  Continuous Query Statistics
----
-
-Continuous query statistics give you information about a registered Continuous Query (CQ) represented by the CqQuery object.
-
-|            |                                            |
-|------------|--------------------------------------------|
-| `inserts`  | Total number of inserts for this CQ query. |
-| `updates ` | Total number of updates for this CQ query. |
-| `deletes`  | Total number of deletes for this CQ query. |
-| `events`   | Total number of events for this CQ query.  |
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/system-statistics/cq_service_statistics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/system-statistics/cq_service_statistics.html.md.erb b/geode-docs/nativeclient/system-statistics/cq_service_statistics.html.md.erb
deleted file mode 100644
index 24db7b1..0000000
--- a/geode-docs/nativeclient/system-statistics/cq_service_statistics.html.md.erb
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title:  CQ Service Statistics
----
-
-Use CQ service methods to get aggregate statistical information about the continuous queries of a client.
-
-|                |                                                        |
-|----------------|--------------------------------------------------------|
-| `CqsActive`    | Total number of CQs active for this CQ service.        |
-| `CqsCreated `  | Total number of CQs created for this CQ service.       |
-| `CqsClosed `   | Total number of CQs closed for this CQ service.        |
-| `CqsStopped`   | Total number of CQs stopped for this CQ service.       |
-| `CqsOnClient ` | Total number of CQs on the client for this CQ service. |
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/system-statistics/delta_statistics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/system-statistics/delta_statistics.html.md.erb b/geode-docs/nativeclient/system-statistics/delta_statistics.html.md.erb
deleted file mode 100644
index b9b6b32..0000000
--- a/geode-docs/nativeclient/system-statistics/delta_statistics.html.md.erb
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title:  Delta Statistics
----
-
-Delta statistics provide information about updates to data.
-
-|                              |                                                                                                              |
-|------------------------------|--------------------------------------------------------------------------------------------------------------|
-| `deltaMessageFailures`       | Total number of messages containing delta (received from server) but could not be processed after reception. |
-| `deltaPuts`                  | Total number of puts containing delta that have been sent from client to server.                             |
-| `processedDeltaMessages`     | Total number of messages containing delta received from server and processed after reception.                |
-| `processedDeltaMessagesTime` | Total time spent applying delta (received from server) on existing values at client.                         |
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/system-statistics/linux_os_statistics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/system-statistics/linux_os_statistics.html.md.erb b/geode-docs/nativeclient/system-statistics/linux_os_statistics.html.md.erb
deleted file mode 100644
index ab4d2b3..0000000
--- a/geode-docs/nativeclient/system-statistics/linux_os_statistics.html.md.erb
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title:  Linux Process Statistics
----
-
-Use these methods to get information about a Linux operating system process that is using a Geode system.
-
-|                     |                                                                          |
-|---------------------|--------------------------------------------------------------------------|
-| `imageSize`         | The size of the process's image in megabytes.                            |
-| `rssSize`           | The size of the process's resident set size in megabytes.                |
-| `userTime`          | The operating system statistic for the process CPU usage in user time    |
-| `systemTime`        | The operating system statistic for the process CPU usage in system time. |
-| `hostCpuUsage`      | The operating system statistic for the host CPU usage.                   |
-| `threads`           | Number of threads currently active in this process.                      |
-| `LinuxProcessStats` | Statistics for a Linux process.                                          |
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/system-statistics/operating_system_statistics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/system-statistics/operating_system_statistics.html.md.erb b/geode-docs/nativeclient/system-statistics/operating_system_statistics.html.md.erb
deleted file mode 100644
index eec64a8..0000000
--- a/geode-docs/nativeclient/system-statistics/operating_system_statistics.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  Operating System Statistics
----
-
-Use operating system statistics to determine a member\u2019s CPU, memory, and disk usage.
-
--   **[Linux Process Statistics](../../nativeclient/system-statistics/linux_os_statistics.html)**
-
-    Use these methods to get information about a Linux operating system process that is using a GemFire system.
-
--   **[Solaris Process Statistics](../../nativeclient/system-statistics/solaris_os_statistics.html)**
-
-    Use these methods to get information about a Solaris operating system process that is using a GemFire system
-
--   **[Windows Process Statistics](../../nativeclient/system-statistics/windows_os_statistics.html)**
-
-    Use these methods to get information about a Windows operating system process that is using a GemFire system.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/system-statistics/pool_statistics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/system-statistics/pool_statistics.html.md.erb b/geode-docs/nativeclient/system-statistics/pool_statistics.html.md.erb
deleted file mode 100644
index cc51aa4..0000000
--- a/geode-docs/nativeclient/system-statistics/pool_statistics.html.md.erb
+++ /dev/null
@@ -1,30 +0,0 @@
----
-title:  Pool Statistics
----
-
-Use the pool object to get statistics on connection pools.
-
-|                               |                                                                                                               |
-|-------------------------------|---------------------------------------------------------------------------------------------------------------|
-| `locators`                    | Current number of locators discovered.                                                                        |
-| `servers`                     | Current number of servers discovered.                                                                         |
-| `locatorRequests`             | Number of requests from this connection pool to a locator.                                                    |
-| `locatorResponses`            | Number of responses from the locator to this connection pool.                                                 |
-| `poolConnections`             | Current number of pool connections.                                                                           |
-| `connects`                    | Total number of times a connection has been created.                                                          |
-| `ConnectionWaitTime`          | Total time (nanoseconds) spent waiting for a connection.                                                      |
-| `disconnects`                 | Total number of times a connection has been destroyed.                                                        |
-| `minPoolSizeConnect`          | Total number of connects done to maintain minimum pool size.                                                  |
-| `loadConditioningConnects`    | Total number of connects done due to load conditioning.                                                       |
-| `idleDisconnects`             | Total number of disconnects done due to idle expiration.                                                      |
-| `loadConditioningDisconnects` | Total number of disconnects done due to load conditioning expiration.                                         |
-| `connectionWaitsInProgress`   | Current number of threads waiting for a connection.                                                           |
-| `connectionWaits`             | Total number of times a thread completed waiting for a connection (by timing out or by getting a connection). |
-| `clientOpsInProgress`         | Current number of clientOps being executed.                                                                   |
-| `clientOps`                   | Total number of clientOps completed successfully.                                                             |
-| `clientOpFailures`            | Total number of clientOp attempts that have failed.                                                           |
-| `clientOpTimeouts`            | Total number of clientOp attempts that have timed out.                                                        |
-| `QueryExecutions`             | Total number of queryExecutions.                                                                              |
-| `QueryExecutionTime`          | Total time spent while processing queryExecution.                                                             |
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/system-statistics/region_statistics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/system-statistics/region_statistics.html.md.erb b/geode-docs/nativeclient/system-statistics/region_statistics.html.md.erb
deleted file mode 100644
index 4df1fae..0000000
--- a/geode-docs/nativeclient/system-statistics/region_statistics.html.md.erb
+++ /dev/null
@@ -1,113 +0,0 @@
----
-title:  Region Statistics
----
-
-These methods help you to get the statistics of a region.
-
-<a id="concept_7AA863080074439286F4F51048BC2159__section_8A343C8D6425469DA314D9A96E543A24"></a>
-<table>
-<colgroup>
-<col width="50%" />
-<col width="50%" />
-</colgroup>
-<tbody>
-<tr class="odd">
-<td><code class="ph codeph">creates</code></td>
-<td>Total number of cache creates for this region.</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">puts</code></td>
-<td>Total number of cache put operations for this region.</td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">putTime</code></td>
-<td>Total time spent doing put operations for this region.</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">putAll</code></td>
-<td>Total number of cache putAlls for this region.</td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">putAllTime</code></td>
-<td>Total time spent doing putAll operations for this region.</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">gets</code></td>
-<td>Total number of cache gets for this region.</td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">getTime</code></td>
-<td><p>Total time spent doing get operations for this region.</p></td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">getAll</code></td>
-<td>Total number of cache getAlls for this region.</td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">getAllTime</code></td>
-<td>Total time spent doing getAll operations for this region.</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">hits</code></td>
-<td>Total number of cache hits for this region.</td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">misses</code></td>
-<td>Total number of cache misses for this region.</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">entries</code></td>
-<td>Current number of cache entries for this region.</td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">destroys</code></td>
-<td>Total number of cache destroys for this region.</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">clears</code></td>
-<td>Total number of cache clears for this region.</td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">overflows</code></td>
-<td>Total number of cache overflows to disk for this region.</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">retrieves</code></td>
-<td>Total number of cache entries fetched from disk into the cache region.</td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">nonSingleHopCount</code></td>
-<td>Total number of times client request required multiple hops.</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">metaDataRefreshCount</code></td>
-<td>Total number of times metadata was refreshed due to the observation of multiple hops.</td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">cacheLoaderCallCompleted</code></td>
-<td>Total number of times a load has completed for this region.</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">cacheLoaderCallTime</code></td>
-<td>Total time spent invoking the loaders for this region.</td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">CacheWriterCallsCompleted</code></td>
-<td>Total number of times a cache writer call has completed for this region.</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">CacheWriterCallTime</code></td>
-<td>Total time spent doing cache writer calls.</td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">CacheListenerCallsCompleted</code></td>
-<td>Total number of times a cache listener call has completed for this region.</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">CacheListenerCallTime</code></td>
-<td>Total time spent doing cache listener calls for this region.</td>
-</tr>
-</tbody>
-</table>
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/system-statistics/sampling_statistics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/system-statistics/sampling_statistics.html.md.erb b/geode-docs/nativeclient/system-statistics/sampling_statistics.html.md.erb
deleted file mode 100644
index f8f4b68..0000000
--- a/geode-docs/nativeclient/system-statistics/sampling_statistics.html.md.erb
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title:  Sampling Statistics
----
-
-When applications and cache servers join a distributed system, they indicate whether to enable statistics sampling and whether to archive the statistics that are gathered.
-
-The following statistics are related to the statistic sampler.
-
-|               |                                                |
-|---------------|------------------------------------------------|
-| `sampleCount` | Total number of samples taken by this sampler. |
-| `sampleTime`  | Total amount of time spent taking samples.     |
-| `StatSampler` | Statistics on the statistic sampler.           |
-
-For more information about configuring statistics, see [Attributes in gfcpp.properties](../setting-properties/attributes-gfcpp.html#attributes-gfcpp).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/system-statistics/solaris_os_statistics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/system-statistics/solaris_os_statistics.html.md.erb b/geode-docs/nativeclient/system-statistics/solaris_os_statistics.html.md.erb
deleted file mode 100644
index 4b19b37..0000000
--- a/geode-docs/nativeclient/system-statistics/solaris_os_statistics.html.md.erb
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title:  Solaris Process Statistics
----
-
-Use these methods to get information about a Solaris operating system process that is using a Geode system.
-
-|                   |                                                                      |
-|-------------------|----------------------------------------------------------------------|
-| `imageSize`       | Size of the process image in megabytes.                              |
-| `rssSize`         | Size of the process resident set in megabytes.                       |
-| `userTime`        | Operating system statistic for the process CPU usage in user time.   |
-| `systemTime`      | Operating system statistic for the process CPU usage in system time. |
-| `processCpuUsage` | Operating system statistic for the CPU usage of this process.        |
-| `hostCpuUsage`    | Operating system statistic for the host CPU usage.                   |
-| `threads`         | Number of threads currently active in this process.                  |
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/system-statistics/system_performance_statistics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/system-statistics/system_performance_statistics.html.md.erb b/geode-docs/nativeclient/system-statistics/system_performance_statistics.html.md.erb
deleted file mode 100644
index b7d69e6..0000000
--- a/geode-docs/nativeclient/system-statistics/system_performance_statistics.html.md.erb
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title:  System Performance Statistics
----
-
-Performance statistics are collected for each application or cache server that connects to a distributed system.
-
--   **[Region Statistics](../../nativeclient/system-statistics/region_statistics.html)**
-
-    These methods help you to get the statistics of a region.
-
--   **[Cache Performance Statistics](../../nativeclient/system-statistics/cache_performance_statistics.html)**
-
-    Use cache performance statistics to determine the type and number of cache operations being performed and how much time they consume.
-
--   **[Continuous Query Statistics](../../nativeclient/system-statistics/continuous_query_statistics.html)**
-
-    Continuous query statistics give you information about a registered Continuous Query (CQ) represented by the CqQuery object.
-
--   **[CQ Service Statistics](../../nativeclient/system-statistics/cq_service_statistics.html)**
-
-    Use CQ service methods to get aggregate statistical information about the continuous queries of a client.
-
--   **[Pool Statistics](../../nativeclient/system-statistics/pool_statistics.html)**
-
-    Use the pool object to get statistics on connection pools.
-
--   **[Delta Statistics](../../nativeclient/system-statistics/delta_statistics.html)**
-
-    Delta statistics provide information about updates to data.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/system-statistics/windows_os_statistics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/system-statistics/windows_os_statistics.html.md.erb b/geode-docs/nativeclient/system-statistics/windows_os_statistics.html.md.erb
deleted file mode 100644
index f247cd9..0000000
--- a/geode-docs/nativeclient/system-statistics/windows_os_statistics.html.md.erb
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title:  Windows Process Statistics
----
-
-Use these methods to get information about a Windows operating system process that is using a Geode system.
-
-|                       |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
-|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| `handles`             | Total number of handles currently open by this process. This number is the sum of the handles currently open by each thread in this process.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
-| `priorityBase`        | Current base priority of the process. Threads within a process can raise and lower their own base priority relative to the process's base priority.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
-| `threads`             | Number of threads currently active in this process. An instruction is the basic unit of execution in a processor, and a thread is the object that executes instructions. Every running process has at least one thread.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
-| `activeTime`          | Elapsed time in milliseconds that all threads of this process used the processor to execute instructions. An instruction is the basic unit of execution in a computer, a thread is the object that executes instructions, and a process is the object created when a program is run. Code executed to handle some hardware interrupts and trap conditions are included in this count.                                                                                                                                                                                                                                                                                                                                                                                                          |
-| `pageFaults`          | Total number of page faults by the threads executing in this process. A page fault occurs when a thread refers to a virtual memory page that is not in its working set in main memory. This will not cause the page to be fetched from disk if it is on the standby list and hence already in main memory, or if it is in use by another process with whom the page is shared.                                                                                                                                                                                                                                                                                                                                                                                                                 |
-| `pageFileSize`        | Current number of bytes this process has used in the paging file(s). Paging files are used to store pages of memory used by the process that are not contained in other files. Paging files are shared by all processes, and lack of space in paging files can prevent other processes from allocating memory.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
-| `pageFileSizePeak`    | Maximum number of bytes this process has used in the paging file(s). Paging files are used to store pages of memory used by the process that are not contained in other files. Paging files are shared by all processes, and lack of space in paging files can prevent other processes from allocating memory.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
-| `privateSize`         | Current number of bytes this process has allocated that cannot be shared with other processes.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
-| `systemTime`          | Elapsed time in milliseconds that the threads of the process have spent executing code in privileged mode. When a Windows system service is called, the service often runs in Privileged Mode to gain access to system-private data. Such data is protected from access by threads executing in user mode. Calls to the system can be explicit or implicit, such as page faults or interrupts. Unlike some early operating systems, Windows uses process boundaries for subsystem protection in addition to the traditional protection of user and privileged modes. These subsystem processes provide additional protection. Therefore, some work done by Windows on behalf of your application might appear in other subsystem processes in addition to the privileged time in your process. |
-| `userTime`            | Elapsed time in milliseconds that this process's threads have spent executing code in user mode. Applications, environment subsystems, and integral subsystems execute in user mode. Code executing in User Mode cannot damage the integrity of the Windows Executive, Kernel, and device drivers. Unlike some early operating systems, Windows uses process boundaries for subsystem protection in addition to the traditional protection of user and privileged modes. These subsystem processes provide additional protection. Therefore, some work done by Windows on behalf of your application might appear in other subsystem processes in addition to the privileged time in your process.                                                                                             |
-| `virtualSize`         | Current size in bytes of the virtual address space the process is using. Use of virtual address space does not necessarily imply corresponding use of either disk or main memory pages. Virtual space is finite, and by using too much, the process can limit its ability to load libraries.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
-| `virtualSizePeak`     | Maximum number of bytes of virtual address space the process has used at any one time. Use of virtual address space does not necessarily imply corresponding use of either disk or main memory pages. Virtual space is however finite, and by using too much, the process might limit its ability to load libraries.                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
-| `workingSetSize`      | Current number of bytes in the Working Set of this process. The Working Set is the set of memory pages touched recently by the threads in the process. If free memory in the computer is above a threshold, pages are left in the Working Set of a process even if they are not in use. When free memory falls below a threshold, pages are trimmed from Working Sets. If pages are needed, they are then soft-faulted back into the Working Set before they are paged out to disk.                                                                                                                                                                                                                                                                                                            |
-| `workingSetSizePeak`  | Maximum number of bytes in the Working Set of this process at any point in time. The Working Set is the set of memory pages touched recently by the threads in the process. If free memory in the computer is above a threshold, pages are left in the Working Set of a process even if they are not in use. When free memory falls below a threshold, pages are trimmed from Working Sets. If they are needed they will then be soft faulted back into the Working Set before they leave main memory.                                                                                                                                                                                                                                                                                         |
-| `cpuUsage`            | Percentage CPU used by this process.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
-| `WindowsProcessStats` | Statistics for a Microsoft Windows process.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/transactions/how-native-client-xacts-work.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/transactions/how-native-client-xacts-work.html.md.erb b/geode-docs/nativeclient/transactions/how-native-client-xacts-work.html.md.erb
deleted file mode 100644
index f7104a4..0000000
--- a/geode-docs/nativeclient/transactions/how-native-client-xacts-work.html.md.erb
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title:  How Native Client Transactions Work
----
-
-The syntax for writing client transactions is the same as with server or peer transactions, but when a client performs a transaction, the transaction is delegated to a server that brokers the transaction.
-
-## <a id="how-native-client-xacts-work__section_C804F1FE5BDF49CEA037AA589BBF284E" class="no-quick-link"></a>Role of Server Delegates in Transactions
-
-The Geode native client can run transactions on the Java cache server, using a server delegate to actually run the transaction code.
-
-For information on transaction requirements and activities on the server side, see [Transactions](../../developing/transactions/chapter_overview.html).
-
-**Note:**
-The client cache blocks until the transaction is successfully committed. However, the client cache block is removed if the transaction is suspended.
-
-Depending on where the data resides, the server transaction delegate may or not be the same member that hosts the transaction. This is the same as for transactions run by the servers, but for server-run transactions, there is no delegate. There is just the member that is directly running its own transaction code.
-
-In this figure, the application code on the client makes changes to data entries Y and Z within a transaction. The server delegate that performs the transaction, M1, does not host the primary copy of the data being modified. The transaction takes place on server M2, where the data resides.
-
-<a id="how-native-client-xacts-work__fig_7E408D84E18C452683077528756E31C3"></a>
-<span class="figtitleprefix">Figure: </span>Transaction Run From a Client
-
-<img src="../common/images/xact-run-from-client.gif" id="how-native-client-xacts-work__image_E9ED33166A994014942ABAD9E6F61755" class="image" />
-
-To maintain cache consistency, the local client cache is not accessible during a transaction as it may reflect information inconsistent with the transaction in progress. When the transaction completes, the local cache is accessible again.
-
-In addition to the failure conditions common to all transactions, client transactions can also fail if the transaction delegate fails. If the delegate performing the transaction fails, the transaction code throws a `TransactionException`.
-
-## <a id="how-native-client-xacts-work__section_434BA87403C1449FADC3E7796E30F3C7" class="no-quick-link"></a>Native Client Transaction APIs
-
-The Geode API for distributed transactions has the familiar relational database methods, `begin`, `commit`, and `rollback`. There are also APIs available to suspend and resume transactions.
-
-The .NET classes for executing transactions are:
-
-**GemStone::GemFire::Cache::Generic**
-
--   CacheTransactionManager
--   TransactionId
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/transactions/running-native-client-xact.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/transactions/running-native-client-xact.html.md.erb b/geode-docs/nativeclient/transactions/running-native-client-xact.html.md.erb
deleted file mode 100644
index 879b1cc..0000000
--- a/geode-docs/nativeclient/transactions/running-native-client-xact.html.md.erb
+++ /dev/null
@@ -1,73 +0,0 @@
----
-title:  Running a Native Client Transaction
----
-
-Before you can run a native client transaction, you must configure your clients and servers; define your server regions for your transactions; and define your client regions.
-
-1.  Retrieve the Geode cache transaction manager.
-
-    **C++ example**
-
-    ``` pre
-    CacheTransactionManagerPtr txManager = 
-          cache->getCacheTransactionManager(); 
-    ```
-
-    **C\# .NET example**
-
-    ``` pre
-    CacheTransactionManager txManager =
-          cache.CacheTransactionManager;
-    ```
-
-2.  Run your transaction. (Detailed steps follow the examples.)
-
-    **C++ example**
-
-    ``` pre
-    TransactionIdPtr tid;
-    txManager->begin();
-    // ..do work
-    tid = txManager->suspend();
-    // following code can be run from another
-    // thread that has access to tid
-    try {
-      txManager->resume(tid);
-      // ..do work
-      tid = txManager->commit();
-    }  catch (const CommitConflictException& e) {
-      // ..on exception 
-    }
-    ```
-
-    **C\# .NET example**
-
-    ``` pre
-    TransactionId tid;
-    txManager.Begin();
-    // ..do work
-    tid = txManager.Suspend();
-    // following code can be run from another
-    // thread that has access to tid
-    try {
-      txManager.Resume(tid);
-      // ..do work
-      txManager.Commit();
-    } catch (CommitConflictException e)
-    ```
-    -   Start each transaction with a `begin` operation.
-    -   If your transaction runs on server regions that are a mix of partitioned and replicated regions, perform your first transaction operation on a partitioned region. This sets the server data host for the entire transaction. If you are using PR single-hop, single-hop will be applied as usual to this first operation.
-    -   Run the Geode operations and other operations that you want included in the transaction.
-    -   End each transaction with a `commit` or a `rollback`.
-        **Note:**
-        Do not leave any transaction in an uncommitted and unrolled back state unless you have suspended the transaction. Transactions that have not been explicitly suspended do not time out, so will remain in the system for the life of your application.
-
-3.  Review all of your client code for compatibility with transactions.
-
-When you commit a transaction, while the commit is taking place, the changes are visible in the cache. This is also known as transition commits. This provides better performance than locking everything to do the transaction updates, but it means that another process accessing data used in the transaction might get some data in the pre-transaction state and some in the post-transaction state.
-
-For example, keys 1 and 2 are written to in a transaction so both of their values change from A to B. In another thread, it is possible to read key 1 with value B and key 2 with value A, while the transaction is being committed. This can happen because of how Geode performs reads. This choice sacrifices atomic visibility in favor of performance. Reads do not block writes. Writes do not block reads.
-
-Because the client cache waits during transaction execution, and client regions are not distributed, the only activities that interact with a client transaction are those that occur on the server.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/transactions/suspend-resume-xacts.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/transactions/suspend-resume-xacts.html.md.erb b/geode-docs/nativeclient/transactions/suspend-resume-xacts.html.md.erb
deleted file mode 100644
index 64d7915..0000000
--- a/geode-docs/nativeclient/transactions/suspend-resume-xacts.html.md.erb
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title:  Suspending and Resuming Transactions
----
-
-The ability to suspend and resume transactions is useful when a thread must perform operations that should not be part of the transaction before the transaction can complete.
-
-When a transaction is suspended, it loses the transactional view of the cache. None of the previous operations (before calling suspend) are visible to the thread. Subsequently any operations that are performed by the thread do not participate in the suspended transaction.
-
-When a transaction is resumed, the resuming thread assumes the transactional view. A transaction that is suspending on a member must be resumed on the same member. Before resuming a transaction, you may want to check if the transaction exists on the member and whether it is suspended. You may optionally use the `tryResume` method.
-
-If the member with the primary copy of the data crashes, the transactional view that applied to that data is lost. The secondary member for the data cannot resume transactions suspended on the crashed member. You need to take remedial steps to retry the transaction on a new primary copy of the data.
-
-If a suspended transaction is not touched for a period of time, Geode cleans it up automatically. By default, the timeout for a suspended transaction is 30 minutes and can be configured by using the `suspended-tx-timeout` property of the `gfcpp.properties` file. The suspended transaction timeout value is specified in milliseconds.
-
-See [Running a Native Client Transaction](running-native-client-xact.html) for code examples of how to suspend and resume a transaction.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/transactions/transactions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/transactions/transactions.html.md.erb b/geode-docs/nativeclient/transactions/transactions.html.md.erb
deleted file mode 100644
index 9d40356..0000000
--- a/geode-docs/nativeclient/transactions/transactions.html.md.erb
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title:  Transactions
----
-
-*Transactions* describes how transactions work on the client side. It provides examples for running, suspending, and resuming transactions.
-
-Geode client transactions run on the server tier. The client uses a server delegate that runs the transaction as it would a local transaction. Thus, the key to running client transactions lies in making sure the server is properly configured and programmed. For complete information about Geode transactions in the Java server, see [Transactions](../../developing/transactions/chapter_overview.html). It provides detailed information including server data requirements, interactions of Geode transactions with other operations running on the server tier, server-side application plug-ins with transactions, and querying with transactions.
-
--   **[How Native Client Transactions Work](../../nativeclient/transactions/how-native-client-xacts-work.html)**
-
-    The syntax for writing client transactions is the same as with server or peer transactions, but when a client performs a transaction, the transaction is delegated to a server that brokers the transaction.
-
--   **[Running a Native Client Transaction](../../nativeclient/transactions/running-native-client-xact.html)**
-
-    Before you can run a native client transaction, you must configure your clients and servers; define your server regions for your transactions; and define your client regions.
-
--   **[Suspending and Resuming Transactions](../../nativeclient/transactions/suspend-resume-xacts.html)**
-
-    The ability to suspend and resume transactions is useful when a thread must perform operations that should not be part of the transaction before the transaction can complete.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/type_mappings/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/type_mappings/chapter_overview.html.md.erb b/geode-docs/nativeclient/type_mappings/chapter_overview.html.md.erb
deleted file mode 100644
index fbb15ac..0000000
--- a/geode-docs/nativeclient/type_mappings/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,13 +0,0 @@
----
-title:  Interoperability of Language Classes and Types
----
-
-*Interoperability of Language Classes and Types* provides a table that maps C++ class methods to corresponding .NET class methods and a table that maps Java types to .NET types.
-
--   **[C++ Class to .NET Class Mappings](../../nativeclient/type_mappings/cpp-class-to-dotnet-class-mappings.html)**
-
--   **[Java to .NET Type Mapping Table](../../nativeclient/type_mappings/java-to-dotnet-type-mapping.html)**
-
-
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/type_mappings/cpp-class-to-dotnet-class-mappings.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/type_mappings/cpp-class-to-dotnet-class-mappings.html.md.erb b/geode-docs/nativeclient/type_mappings/cpp-class-to-dotnet-class-mappings.html.md.erb
deleted file mode 100644
index 366154e..0000000
--- a/geode-docs/nativeclient/type_mappings/cpp-class-to-dotnet-class-mappings.html.md.erb
+++ /dev/null
@@ -1,169 +0,0 @@
----
-title:  C++ Class to .NET Class Mappings
----
-
-Wherever the native C++ class methods use pass-by-reference semantics to return data, the corresponding .NET methods shown in the following table return the object instead of using pass-by-reference semantics.
-
-<a id="concept_FD847E19497C4985ACB247C0FA2C2AD5__table_8D8D228E223E4E89A313A17DB5C38652"></a>
-
-<table>
-<caption><span class="tablecap">Table 1. C++ Class to .NET Class Mappings</span></caption>
-<colgroup>
-<col width="50%" />
-<col width="50%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th><p>C++ Class</p></th>
-<th><p>.NET Class</p></th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td>class <code class="ph codeph">gemfire::AttributesFactory</code></td>
-<td>Sealed class <code class="ph codeph">AttributesFactory</code></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire::AttributesMutator</code></p></td>
-<td>Sealed class <code class="ph codeph">AttributesMutator</code></td>
-</tr>
-<tr class="odd">
-<td>class <code class="ph codeph">gemfire::Cache</code></td>
-<td>Sealed class <code class="ph codeph">Cache</code></td>
-</tr>
-<tr class="even">
-<td><p>abstract class <code class="ph codeph">gemfire:: Cacheable</code></p></td>
-<td><p>Interface <code class="ph codeph">IPdxSerializable</code> or interface <code class="ph codeph">IGFSerializable</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">gemfire::CacheableBytes</code></p></td>
-<td><p><code class="ph codeph">Byte[]</code> or <code class="ph codeph">ArrayList&lt;Byte&gt;</code></p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire::Cacheableint32</code></p></td>
-<td><p><code class="ph codeph">Int32</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">gemfire:: CacheableString</code></p></td>
-<td><p><code class="ph codeph">String</code></p></td>
-</tr>
-<tr class="even">
-<td><p>abstract class <code class="ph codeph">gemfire:: CacheableKey</code></p></td>
-<td><p>You can use any type that implements <code class="ph codeph">hashcode</code> and <code class="ph codeph">equals</code>. The generic .NET built-in types are all suitable.</p></td>
-</tr>
-<tr class="odd">
-<td><p>abstract class <code class="ph codeph">gemfire::CacheListener</code></p></td>
-<td><p>Interface <code class="ph codeph">ICacheListener</code></p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire:: CacheLoader</code></p></td>
-<td><p>Interface <code class="ph codeph">ICacheLoader</code> plus static class <code class="ph codeph">CacheLoader</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">gemfire:: CacheWriter</code></p></td>
-<td><p>Interface class <code class="ph codeph">ICacheWriter</code></p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire::CacheFactory</code></p></td>
-<td><p>Sealed class <code class="ph codeph">CacheFactory</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">gemfire::DataInput</code></p></td>
-<td><p>With <code class="ph codeph">IPdxSerializable</code>, <code class="ph codeph">IPdxReader.</code></p>
-<p>With <code class="ph codeph">IGFSerializable</code>, sealed class <code class="ph codeph">DataInput</code>.</p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire:: DataOutput</code></p></td>
-<td><p>With <code class="ph codeph">IPdxSerializable</code>, <code class="ph codeph">IPdxWriter.</code></p>
-<p>With <code class="ph codeph">IGFSerializable</code>, sealed class <code class="ph codeph">DataOutput</code>.</p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">gemfire:: DiskPolicyType</code></p></td>
-<td><p>enum <code class="ph codeph">DiskPolicyType</code> plus static class <code class="ph codeph">DiskPolicy</code> containing convenience methods for <code class="ph codeph">DiskPolicyType</code> enumeration</p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire:: DistributedSystem</code></p></td>
-<td><p>Sealed class <code class="ph codeph">DistributedSystem</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">gemfire:: EntryEvent</code></p></td>
-<td><p>Sealed class <code class="ph codeph">EntryEvent</code></p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire:: Exception</code></p></td>
-<td><p>Class <code class="ph codeph">GemfireException</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>all other exceptions deriving from <code class="ph codeph">gemfire::                                     Exception</code></p></td>
-<td><p>Corresponding exceptions deriving from <code class="ph codeph">GemfireException</code></p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire:: ExpirationAction</code></p></td>
-<td><p>enum <code class="ph codeph">ExpirationAction</code> plus static class <code class="ph codeph">Expiration</code> containing convenience methods for <code class="ph codeph">ExpirationAction</code> enumeration</p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">gemfire:: Log</code></p></td>
-<td><p>Static class <code class="ph codeph">Log</code>. The native <code class="ph codeph">Log::log</code> method is mapped to <code class="ph codeph">Log.Write</code> to avoid the conflict with the class name which is reserved for the constructors of Log class. The various loglevel <code class="ph codeph">Throw</code> or <code class="ph codeph">Catch</code> methods are not implemented, since they are redundant to <code class="ph codeph">Log::Log</code> , <code class="ph codeph">Log::LogThrow</code>, and <code class="ph codeph">Log::LogCatch</code> methods that take <code class="ph codeph">LogLevel</code> as a parameter.</p></td>
-</tr>
-<tr class="even">
-<td><p>enum <code class="ph codeph">gemfire:: MemberType</code></p></td>
-<td><p>enum <code class="ph codeph">MemberType</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>abstract class <code class="ph codeph">gemfire:: PersistanceManager</code></p></td>
-<td><p>Not provided. You can register a C++ implementation using <code class="ph codeph">AttributesFactory.SetPersistenceManager</code> but you cannot implement a new one in .NET</p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire:: Properties</code></p></td>
-<td><p>Sealed class <code class="ph codeph">Properties</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">gemfire:: Properties::Visitor</code></p></td>
-<td><p>Delegate <code class="ph codeph">PropertiesVisitor</code></p></td>
-</tr>
-<tr class="even">
-<td><p>abstract class <code class="ph codeph">gemfire:: Region</code></p></td>
-<td><p>Class <code class="ph codeph">IRegion</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">gemfire:: RegionAttributes</code></p></td>
-<td><p>Sealed class <code class="ph codeph">RegionAttributes</code></p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire:: ScopeType</code></p></td>
-<td><p>enum <code class="ph codeph">ScopeType</code> plus static class <code class="ph codeph">Scope</code> containing convenience methods for <code class="ph codeph">ScopeType</code> enumeration+</p></td>
-</tr>
-<tr class="odd">
-<td><p>abstract class <code class="ph codeph">gemfire::                                     Serializable</code></p></td>
-<td><p>Two options:</p>
-<ul>
-<li><p>Interface <code class="ph codeph">IPdxSerializable</code></p></li>
-<li><p>Interface <code class="ph codeph">IGFSerializable</code> plus wrapper <code class="ph codeph">Serializable</code> class for native <code class="ph codeph">Serializable</code> and <code class="ph codeph">UserData</code> objects. The native <code class="ph codeph">toString</code> method is not provided, since the <code class="ph codeph">ToString</code> method of the base object class provides the same functionality.</p></li>
-</ul></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire:: SystemProperties</code></p></td>
-<td><p>Sealed class <code class="ph codeph">SystemProperties</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">gemfire:: UserData</code></p></td>
-<td><p>Two options:</p>
-<ul>
-<li><p>Interface <code class="ph codeph">IPdxSerializable</code></p></li>
-<li><p>Interface <code class="ph codeph">IGFSerializable</code></p></li>
-</ul></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire:: VectorT&lt;T&gt;</code></p></td>
-<td><p>Array of the given type, such as T[]</p></td>
-</tr>
-</tbody>
-</table>
-
-: <span class="tablecap">Table 1. C++ Class to .NET Class Mappings</span>
-
--   **[Interoperability of C++ Types When Using PDX Serialization](../../nativeclient/cpp-caching-api/type_interoperability.html)**
-
-    This topic table lists the mapping between C++ types and other language types when using PDX serialization.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/type_mappings/java-to-dotnet-type-mapping.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/type_mappings/java-to-dotnet-type-mapping.html.md.erb b/geode-docs/nativeclient/type_mappings/java-to-dotnet-type-mapping.html.md.erb
deleted file mode 100644
index 9eff179..0000000
--- a/geode-docs/nativeclient/type_mappings/java-to-dotnet-type-mapping.html.md.erb
+++ /dev/null
@@ -1,147 +0,0 @@
----
-title:  Java to .NET Type Mapping Table
----
-
-The following table provides a mapping between Java and .NET types.
-
-<a id="concept_24D0AAC71FF1483AB47A7772DA018966__table_F85EC7AA1E1140E9888B753E812E65E4"></a>
-
-<table>
-<caption><span class="tablecap">Table 1. Java types and .NET types</span></caption>
-<colgroup>
-<col width="50%" />
-<col width="50%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th>Java Type</th>
-<th>.NET Type</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td><p>instances of <code class="ph codeph">PdxSerializable</code></p></td>
-<td><p>.NET class of same name</p></td>
-</tr>
-<tr class="even">
-<td><p>instances of <code class="ph codeph">PdxInstance</code></p></td>
-<td><p>.NET class of same name</p></td>
-</tr>
-<tr class="odd">
-<td><p>instances serialized by a <code class="ph codeph">PdxSerializer</code></p></td>
-<td><p>.NET class of same name</p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">java.lang.Byte </code></p></td>
-<td><p><code class="ph codeph">System.SByte </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">java.lang.Boolean </code></p></td>
-<td><p><code class="ph codeph">System.Boolean </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">java.lang.Character </code></p></td>
-<td><p><code class="ph codeph">System.Char </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">java.lang.Short </code></p></td>
-<td><p><code class="ph codeph">System.Int16 </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">java.lang.Integer </code></p></td>
-<td><p><code class="ph codeph">System.Int32 </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">java.lang.Long </code></p></td>
-<td><p><code class="ph codeph">System.Int64 </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">java.lang.Float </code></p></td>
-<td><p><code class="ph codeph">System.Float </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">java.lang.Double </code></p></td>
-<td><p><code class="ph codeph">System.Double </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">java.lang.String </code></p></td>
-<td><p><code class="ph codeph">System.String </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">java.util.Date </code></p></td>
-<td><p><code class="ph codeph">System.DateTime </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">byte[] </code></p></td>
-<td><p><code class="ph codeph">System.Byte[] </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">boolean[] </code></p></td>
-<td><p><code class="ph codeph">System.Boolean[] </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">char[] </code></p></td>
-<td><p><code class="ph codeph">System.Char[] </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">short[] </code></p></td>
-<td><p><code class="ph codeph">System.Int16[] </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">int[] </code></p></td>
-<td><p><code class="ph codeph">System.Int32[] </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">long[] </code></p></td>
-<td><p><code class="ph codeph">System.Int64[] </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">float[] </code></p></td>
-<td><p><code class="ph codeph">System.Float[] </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">double[] </code></p></td>
-<td><p><code class="ph codeph">System.Double[] </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">String[] </code></p></td>
-<td><p><code class="ph codeph">System.String[] </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">byte[][] </code></p></td>
-<td><p><code class="ph codeph">System.Byte[][] </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">Object[] </code></p></td>
-<td><p><code class="ph codeph">system.Collections.Generic.List&lt;Object&gt; </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">java.util.HashMap </code></p></td>
-<td><p><code class="ph codeph">System.Collections.Generics.IDictionary&lt;Object,                                     Object&gt; </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">java.util.Hashtable </code></p></td>
-<td><p><code class="ph codeph">System.Collections.Hashtable </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">java.util.ArrayList </code></p></td>
-<td><p><code class="ph codeph">System.Collections.Generic.IList&lt;Object&gt; </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">java.util.Vector </code></p></td>
-<td><p><code class="ph codeph">Collections.ArrayList </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">java.util.HashSet </code></p></td>
-<td><p><code class="ph codeph">CacheableHashSet </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">java.util.LinkedHashSet </code></p></td>
-<td><p><code class="ph codeph">CacheableLinkedHashSet </code></p></td>
-</tr>
-</tbody>
-</table>
-
-<span class="tablecap">**Table 1.** Java types and .NET types</span>
-
-


[76/76] [abbrv] incubator-geode git commit: Merge branch 'feature/GEODE-1952' into feature/GEODE-1952-2

Posted by km...@apache.org.
Merge branch 'feature/GEODE-1952' into feature/GEODE-1952-2


Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/40c1ed59
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/40c1ed59
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/40c1ed59

Branch: refs/heads/feature/GEODE-1952-2
Commit: 40c1ed590fcc5d22a9b82cbb87fa89cc99aa49e3
Parents: e15657e fd8927c
Author: Karen Miller <km...@pivotal.io>
Authored: Wed Oct 12 10:10:10 2016 -0700
Committer: Karen Miller <km...@pivotal.io>
Committed: Wed Oct 12 10:10:10 2016 -0700

----------------------------------------------------------------------
 geode-docs/.gitignore                           |    6 +
 geode-docs/CONTRIBUTE.md                        |   63 +
 geode-docs/README.md                            |   93 +
 geode-docs/about_geode.html.md.erb              |   26 +
 geode-docs/basic_config/book_intro.html.md.erb  |   40 +
 .../chapter_overview.html.md.erb                |   40 +
 ...uted_system_member_configuration.html.md.erb |   51 +
 .../config_concepts/local_vs_remote.html.md.erb |   29 +
 .../chapter_overview.html.md.erb                |   32 +
 .../managing_data_entries.html.md.erb           |  146 +
 .../using_custom_classes.html.md.erb            |   51 +
 .../data_regions/chapter_overview.html.md.erb   |   65 +
 .../create_a_region_with_API.html.md.erb        |   80 +
 .../create_a_region_with_cacheXML.html.md.erb   |   85 +
 .../create_a_region_with_gfsh.html.md.erb       |   55 +
 .../creating_custom_attributes.html.md.erb      |   64 +
 .../managing_data_regions.html.md.erb           |  222 ++
 .../managing_region_attributes.html.md.erb      |  113 +
 .../new_region_existing_data.html.md.erb        |   28 +
 .../data_regions/region_naming.html.md.erb      |   31 +
 .../data_regions/region_shortcuts.html.md.erb   |  115 +
 .../store_retrieve_region_shortcuts.html.md.erb |   77 +
 .../setting_distributed_properties.html.md.erb  |   81 +
 .../the_cache/chapter_overview.html.md.erb      |   48 +
 .../intro_cache_management.html.md.erb          |   96 +
 .../managing_a_client_cache.html.md.erb         |   84 +
 .../managing_a_multiuser_cache.html.md.erb      |   66 +
 .../managing_a_peer_server_cache.html.md.erb    |   81 +
 .../managing_a_secure_cache.html.md.erb         |   67 +
 .../setting_cache_initializer.html.md.erb       |   76 +
 .../setting_cache_properties.html.md.erb        |   39 +
 .../configuring/chapter_overview.html.md.erb    |   84 +
 .../deploying_application_jars.html.md.erb      |  131 +
 .../cluster_config/export-import.html.md.erb    |   56 +
 .../gfsh_config_troubleshooting.html.md.erb     |   75 +
 .../gfsh_load_from_shared_dir.html.md.erb       |   44 +
 .../cluster_config/gfsh_persist.html.md.erb     |  125 +
 .../cluster_config/gfsh_remote.html.md.erb      |   78 +
 .../persisting_configurations.html.md.erb       |  337 ++
 .../using_member_groups.html.md.erb             |   44 +
 .../running/change_file_spec.html.md.erb        |   57 +
 .../running/default_file_specs.html.md.erb      |   76 +
 .../deploy_config_files_intro.html.md.erb       |   34 +
 .../running/deploying_config_files.html.md.erb  |   45 +
 .../deploying_config_jar_files.html.md.erb      |   52 +
 .../running/firewall_ports_config.html.md.erb   |   32 +
 .../running/firewalls_connections.html.md.erb   |   35 +
 .../running/firewalls_multisite.html.md.erb     |   87 +
 .../running/firewalls_ports.html.md.erb         |  246 ++
 .../running/managing_output_files.html.md.erb   |   33 +
 .../running/running_the_cacheserver.html.md.erb |  199 +
 .../running/running_the_locator.html.md.erb     |  257 ++
 .../starting_up_shutting_down.html.md.erb       |  146 +
 geode-docs/developing/book_intro.html.md.erb    |   74 +
 .../chapter_overview.html.md.erb                |   38 +
 .../continuous_querying_whats_next.html.md.erb  |   88 +
 .../how_continuous_querying_works.html.md.erb   |   98 +
 ...implementing_continuous_querying.html.md.erb |  202 ++
 .../PDX_Serialization_Features.html.md.erb      |   40 +
 .../auto_serialization.html.md.erb              |  141 +
 ...ation_with_class_pattern_strings.html.md.erb |   85 +
 .../chapter_overview.html.md.erb                |   40 +
 .../data_serialization_options.html.md.erb      |   68 +
 .../extending_the_autoserializer.html.md.erb    |  123 +
 .../gemfire_data_serialization.html.md.erb      |   52 +
 .../gemfire_pdx_serialization.html.md.erb       |   64 +
 .../java_serialization.html.md.erb              |   29 +
 .../jsonformatter_pdxinstances.html.md.erb      |   46 +
 .../persist_pdx_metadata_to_disk.html.md.erb    |   53 +
 .../program_application_for_pdx.html.md.erb     |  107 +
 .../use_pdx_high_level_steps.html.md.erb        |   49 +
 .../use_pdx_serializable.html.md.erb            |  115 +
 .../use_pdx_serializer.html.md.erb              |  145 +
 .../using_PdxInstanceFactory.html.md.erb        |   51 +
 .../using_pdx_region_entry_keys.html.md.erb     |   31 +
 .../chapter_overview.html.md.erb                |   48 +
 .../delta_propagation_example.html.md.erb       |  130 +
 .../delta_propagation_properties.html.md.erb    |   96 +
 .../errors_in_delta_propagation.html.md.erb     |   35 +
 .../how_delta_propagation_works.html.md.erb     |   69 +
 .../implementing_delta_propagation.html.md.erb  |   41 +
 .../when_to_use_delta_prop.html.md.erb          |   34 +
 .../chapter_overview.html.md.erb                |   44 +
 .../choosing_level_of_dist.html.md.erb          |   36 +
 .../how_distribution_works.html.md.erb          |   48 +
 .../how_region_versioning_works.html.md.erb     |  127 +
 .../how_region_versioning_works_wan.html.md.erb |   42 +
 .../how_replication_works.html.md.erb           |   51 +
 .../locking_in_global_regions.html.md.erb       |  109 +
 .../managing_distributed_regions.html.md.erb    |   64 +
 .../region_entry_versions.html.md.erb           |   51 +
 .../cache_event_handler_examples.html.md.erb    |  155 +
 .../events/chapter_overview.html.md.erb         |   44 +
 ...re_client_server_event_messaging.html.md.erb |   81 +
 ...figure_multisite_event_messaging.html.md.erb |   39 +
 .../configure_p2p_event_messaging.html.md.erb   |   50 +
 ...uring_gateway_concurrency_levels.html.md.erb |  158 +
 ..._highly_available_gateway_queues.html.md.erb |  119 +
 ...iguring_highly_available_servers.html.md.erb |   55 +
 ...conflate_multisite_gateway_queue.html.md.erb |  130 +
 ...nflate_server_subscription_queue.html.md.erb |   53 +
 .../events/event_handler_overview.html.md.erb   |   40 +
 .../filtering_multisite_events.html.md.erb      |  126 +
 .../ha_event_messaging_whats_next.html.md.erb   |   95 +
 .../events/how_cache_events_work.html.md.erb    |   71 +
 ...client_server_distribution_works.html.md.erb |  137 +
 .../events/how_events_work.html.md.erb          |  111 +
 ...how_multisite_distribution_works.html.md.erb |   68 +
 ...mplementing_cache_event_handlers.html.md.erb |  153 +
 ..._durable_client_server_messaging.html.md.erb |  199 +
 ...nting_write_behind_event_handler.html.md.erb |  245 ++
 ...t_server_subscription_queue_size.html.md.erb |   74 +
 ...ist_of_event_handlers_and_events.html.md.erb |  181 +
 .../resolving_multisite_conflicts.html.md.erb   |   80 +
 ..._client_message_tracking_timeout.html.md.erb |   43 +
 ...ne_client_server_event_messaging.html.md.erb |   37 +
 ..._callbacks_that_modify_the_cache.html.md.erb |   65 +
 .../eviction/chapter_overview.html.md.erb       |   34 +
 .../configuring_data_eviction.html.md.erb       |   88 +
 .../eviction/how_eviction_works.html.md.erb     |   36 +
 .../expiration/chapter_overview.html.md.erb     |   32 +
 .../configuring_data_expiration.html.md.erb     |   83 +
 .../expiration/how_expiration_works.html.md.erb |   70 +
 .../function_exec/chapter_overview.html.md.erb  |   36 +
 .../function_execution.html.md.erb              |  254 ++
 .../how_function_execution_works.html.md.erb    |  131 +
 .../chapter_overview.html.md.erb                |   40 +
 .../chapter_overview.html.md.erb                |   34 +
 .../how_data_loaders_work.html.md.erb           |   52 +
 .../implementing_data_loaders.html.md.erb       |   88 +
 .../sync_outside_data.html.md.erb               |   36 +
 .../chapter_overview.html.md.erb                |   60 +
 .../checking_region_redundancy.html.md.erb      |   55 +
 ...locating_partitioned_region_data.html.md.erb |  128 +
 .../configure_pr_single_hop.html.md.erb         |   39 +
 .../configuring_bucket_for_pr.html.md.erb       |   70 +
 .../configuring_ha_for_pr.html.md.erb           |   58 +
 ...partitioning_and_data_colocation.html.md.erb |   58 +
 .../how_partitioning_works.html.md.erb          |   58 +
 .../how_pr_ha_works.html.md.erb                 |   61 +
 .../how_pr_single_hop_works.html.md.erb         |   48 +
 .../join_query_partitioned_regions.html.md.erb  |   97 +
 .../managing_partitioned_regions.html.md.erb    |   42 +
 .../moving_partitioned_data.html.md.erb         |   76 +
 ...partitioning_and_data_colocation.html.md.erb |   36 +
 .../overview_how_pr_ha_works.html.md.erb        |   32 +
 ...overview_how_pr_single_hop_works.html.md.erb |   32 +
 .../rebalancing_pr_data.html.md.erb             |  106 +
 .../set_crash_redundancy_recovery.html.md.erb   |   60 +
 .../set_enforce_unique_host.html.md.erb         |   34 +
 .../set_join_redundancy_recovery.html.md.erb    |   66 +
 .../set_pr_redundancy.html.md.erb               |   51 +
 .../set_redundancy_zones.html.md.erb            |   40 +
 ...using_custom_partition_resolvers.html.md.erb |  221 ++
 .../advanced_querying.html.md.erb               |   48 +
 .../case_sensitivity.html.md.erb                |   36 +
 .../query_additional/literals.html.md.erb       |   82 +
 .../query_additional/operators.html.md.erb      |   57 +
 .../order_by_on_partitioned_regions.html.md.erb |   35 +
 ...tioned_region_key_or_field_value.html.md.erb |   83 +
 ...tioned_region_query_restrictions.html.md.erb |   50 +
 .../query_debugging.html.md.erb                 |  104 +
 .../query_language_features.html.md.erb         |   41 +
 .../query_on_a_single_node.html.md.erb          |  172 +
 .../supported_keywords.html.md.erb              |   48 +
 .../using_query_bind_parameters.html.md.erb     |   65 +
 .../create_multiple_indexes.html.md.erb         |   78 +
 .../query_index/creating_an_index.html.md.erb   |  111 +
 .../creating_hash_indexes.html.md.erb           |   68 +
 .../creating_key_indexes.html.md.erb            |   66 +
 .../creating_map_indexes.html.md.erb            |   61 +
 .../query_index/index_samples.html.md.erb       |   80 +
 ...indexes_on_single_region_queries.html.md.erb |   50 +
 .../indexes_with_overflow_regions.html.md.erb   |   58 +
 .../query_index/indexing_guidelines.html.md.erb |   41 +
 .../query_index/maintaining_indexes.html.md.erb |   69 +
 .../query_index/query_index.html.md.erb         |   79 +
 .../query_index/query_index_hints.html.md.erb   |   40 +
 ...ng_indexes_with_equijoin_queries.html.md.erb |   69 +
 ...quijoin_queries_multiple_regions.html.md.erb |   79 +
 .../query_select/aggregates.html.md.erb         |  109 +
 .../query_select/the_from_clause.html.md.erb    |  103 +
 .../the_import_statement.html.md.erb            |   31 +
 .../the_select_statement.html.md.erb            |  220 ++
 .../query_select/the_where_clause.html.md.erb   |  353 ++
 .../chapter_overview.html.md.erb                |   38 +
 .../comments_in_query_strings.html.md.erb       |   30 +
 .../monitor_queries_for_low_memory.html.md.erb  |   41 +
 .../oql_compared_to_sql.html.md.erb             |   31 +
 .../performance_considerations.html.md.erb      |   33 +
 .../querying_basics/query_basics.html.md.erb    |   57 +
 ...query_grammar_and_reserved_words.html.md.erb |  163 +
 .../querying_partitioned_regions.html.md.erb    |   41 +
 .../querying_basics/reserved_words.html.md.erb  |  129 +
 ...ictions_and_unsupported_features.html.md.erb |   35 +
 .../querying_basics/running_a_query.html.md.erb |   87 +
 .../supported_character_sets.html.md.erb        |   24 +
 .../what_is_a_query_string.html.md.erb          |   50 +
 .../region_options/chapter_overview.html.md.erb |   40 +
 .../data_hosts_and_accessors.html.md.erb        |   31 +
 .../dynamic_region_creation.html.md.erb         |  197 +
 .../region_options/region_types.html.md.erb     |  146 +
 .../storage_distribution_options.html.md.erb    |   40 +
 .../chapter_overview.html.md.erb                |   41 +
 .../how_persist_overflow_work.html.md.erb       |   64 +
 .../overflow_config_examples.html.md.erb        |   53 +
 .../storing_data_on_disk.html.md.erb            |   79 +
 .../transactions/JTA_transactions.html.md.erb   |  243 ++
 .../transactions/about_transactions.html.md.erb |   47 +
 .../cache_plugins_with_jta.html.md.erb          |   28 +
 .../cache_transaction_performance.html.md.erb   |   29 +
 .../transactions/cache_transactions.html.md.erb |   51 +
 ...ache_transactions_by_region_type.html.md.erb |  156 +
 .../transactions/chapter_overview.html.md.erb   |   48 +
 .../client_server_transactions.html.md.erb      |   55 +
 ...guring_db_connections_using_JNDI.html.md.erb |  330 ++
 ...data_location_cache_transactions.html.md.erb |   32 +
 .../how_cache_transactions_work.html.md.erb     |   73 +
 .../jca_adapter_example.html.md.erb             |   51 +
 ...onitor_troubleshoot_transactions.html.md.erb |   56 +
 .../run_a_cache_transaction.html.md.erb         |   90 +
 ...che_transaction_with_external_db.html.md.erb |   54 +
 .../transaction_coding_examples.html.md.erb     |   44 +
 .../transaction_event_management.html.md.erb    |   56 +
 .../transaction_jta_gemfire_example.html.md.erb |   48 +
 .../transaction_semantics.html.md.erb           |   54 +
 ...ansaction_suspend_resume_example.html.md.erb |   38 +
 ...ctional_and_nontransactional_ops.html.md.erb |  117 +
 .../transactional_function_example.html.md.erb  |   72 +
 .../transactions_overview.html.md.erb           |   67 +
 .../transactions/turning_off_jta.html.md.erb    |   40 +
 .../working_with_transactions.html.md.erb       |  229 ++
 .../15_minute_quickstart_gfsh.html.md.erb       |  516 +++
 .../getting_started/book_intro.html.md.erb      |   40 +
 .../getting_started/geode_overview.html.md.erb  |   37 +
 .../installation/install_standalone.html.md.erb |  138 +
 .../getting_started/product_intro.html.md.erb   |  101 +
 .../querying_quick_reference.html.md.erb        |  711 ++++
 .../getting_started/setup_classpath.html.md.erb |  122 +
 .../host_machine.html.md.erb                    |   49 +
 .../uninstall_gemfire.html.md.erb               |   26 +
 .../images/ClientServerAdvancedTopics-5.gif     |  Bin 0 -> 10798 bytes
 .../images/ClientServerAdvancedTopics-6.gif     |  Bin 0 -> 12056 bytes
 .../images/ClientServerAdvancedTopics-7.gif     |  Bin 0 -> 5000 bytes
 geode-docs/images/ContinuousQuerying-1.gif      |  Bin 0 -> 6955 bytes
 geode-docs/images/ContinuousQuerying-3.gif      |  Bin 0 -> 9141 bytes
 geode-docs/images/DataManagement-9.png          |  Bin 0 -> 48188 bytes
 geode-docs/images/DeltaPropagation-1.gif        |  Bin 0 -> 7593 bytes
 geode-docs/images/DeltaPropagation-3.gif        |  Bin 0 -> 6843 bytes
 geode-docs/images/Events-2.gif                  |  Bin 0 -> 8793 bytes
 geode-docs/images/Events-3.gif                  |  Bin 0 -> 6432 bytes
 geode-docs/images/FuncExecOnMembers.png         |  Bin 0 -> 64959 bytes
 .../images/FuncExecOnRegionHAWithFilter.png     |  Bin 0 -> 80141 bytes
 .../images/FuncExecOnRegionNoMetadata.png       |  Bin 0 -> 70177 bytes
 .../images/FuncExecOnRegionPeersWithFilter.png  |  Bin 0 -> 86576 bytes
 .../images/FuncExecOnRegionWithFilter.png       |  Bin 0 -> 60773 bytes
 .../images/FuncExecOnRegionWithMetadata.png     |  Bin 0 -> 59576 bytes
 geode-docs/images/FuncExecOnServers.png         |  Bin 0 -> 57470 bytes
 geode-docs/images/Gemcached.png                 |  Bin 0 -> 87366 bytes
 geode-docs/images/JConsole.png                  |  Bin 0 -> 64272 bytes
 geode-docs/images/MultiSite-4.gif               |  Bin 0 -> 4991 bytes
 .../images/MultisiteConcurrency_WAN_Gateway.png |  Bin 0 -> 103701 bytes
 geode-docs/images/SQLite_Persistence_Mgr.png    |  Bin 0 -> 58388 bytes
 geode-docs/images/Transaction-simple.png        |  Bin 0 -> 119831 bytes
 geode-docs/images/consistent_multisite.png      |  Bin 0 -> 39442 bytes
 geode-docs/images/diskStores-1.gif              |  Bin 0 -> 7292 bytes
 geode-docs/images/diskStores-3.gif              |  Bin 0 -> 5898 bytes
 geode-docs/images/jconsole_mbeans.png           |  Bin 0 -> 211394 bytes
 geode-docs/images/jvisualvm.png                 |  Bin 0 -> 90153 bytes
 geode-docs/images/logging-1.gif                 |  Bin 0 -> 2778 bytes
 geode-docs/images/member_view_list.png          |  Bin 0 -> 107811 bytes
 .../images/multisite-topology-avoid-3.png       |  Bin 0 -> 9794 bytes
 .../images/multisite-topology-hybrid-1.png      |  Bin 0 -> 7627 bytes
 .../images/multisite-topology-hybrid-2.png      |  Bin 0 -> 7631 bytes
 .../images/multisite-topology-parallel.png      |  Bin 0 -> 7838 bytes
 geode-docs/images/multisite-topology-serial.png |  Bin 0 -> 6886 bytes
 geode-docs/images/parallel_sender.png           |  Bin 0 -> 36089 bytes
 geode-docs/images/pulse-data-browser.png        |  Bin 0 -> 99987 bytes
 geode-docs/images/pulse-region-detail.png       |  Bin 0 -> 61149 bytes
 geode-docs/images/pulse_alerts_widget.png       |  Bin 0 -> 137883 bytes
 geode-docs/images/pulse_cluster_view.png        |  Bin 0 -> 154531 bytes
 geode-docs/images/pulse_data_view.png           |  Bin 0 -> 138140 bytes
 geode-docs/images/pulse_locator.png             |  Bin 0 -> 228513 bytes
 geode-docs/images/pulse_member_view.png         |  Bin 0 -> 132309 bytes
 .../images/rest_example_java_packages.png       |  Bin 0 -> 30206 bytes
 geode-docs/images/security-1.gif                |  Bin 0 -> 8343 bytes
 geode-docs/images/security-3.gif                |  Bin 0 -> 8287 bytes
 geode-docs/images/security-4.gif                |  Bin 0 -> 7028 bytes
 geode-docs/images/security-5.gif                |  Bin 0 -> 7408 bytes
 geode-docs/images/serial_sender.png             |  Bin 0 -> 32385 bytes
 geode-docs/images/statistics-1.gif              |  Bin 0 -> 8644 bytes
 geode-docs/images/swagger_home.png              |  Bin 0 -> 187378 bytes
 geode-docs/images/swagger_post_region.png       |  Bin 0 -> 170963 bytes
 .../images/swagger_post_region_response.png     |  Bin 0 -> 176783 bytes
 geode-docs/images/swagger_v1.png                |  Bin 0 -> 149806 bytes
 geode-docs/images/swagger_v1_response.png       |  Bin 0 -> 143134 bytes
 geode-docs/images/transactions-client-1.png     |  Bin 0 -> 113816 bytes
 geode-docs/images/transactions_jca_adapter.png  |  Bin 0 -> 104775 bytes
 geode-docs/images/transactions_jta.png          |  Bin 0 -> 104780 bytes
 .../images/transactions_jta_app_server.png      |  Bin 0 -> 91885 bytes
 geode-docs/images_svg/JMX_Architecture.svg      |    3 +
 geode-docs/images_svg/MBeans.svg                |    3 +
 .../async_system_queue_conflation.svg           |    3 +
 geode-docs/images_svg/cache_data_loader.svg     |    3 +
 geode-docs/images_svg/cache_data_loader_2.svg   |    3 +
 .../images_svg/client_server_deployment.svg     |    3 +
 .../images_svg/client_server_event_dist.svg     |    3 +
 .../client_server_message_tracking.svg          |    3 +
 geode-docs/images_svg/cluster-group-config.svg  |    3 +
 .../images_svg/cluster_config_overview.svg      |    3 +
 .../colocated_partitioned_regions.svg           |    3 +
 geode-docs/images_svg/cs_connection_pool.svg    |    3 +
 geode-docs/images_svg/cs_locator_discovery.svg  |    3 +
 geode-docs/images_svg/cs_subscriptions.svg      |    3 +
 geode-docs/images_svg/cs_topology.svg           |    3 +
 geode-docs/images_svg/custom_partitioned.svg    |    3 +
 geode-docs/images_svg/developing_overflow.svg   |    3 +
 .../images_svg/developing_persistence.svg       |    3 +
 .../developing_persistence_and_overflow.svg     |    3 +
 geode-docs/images_svg/distributed_how_1.svg     |    3 +
 geode-docs/images_svg/distributed_how_2.svg     |    3 +
 geode-docs/images_svg/distributed_how_3.svg     |    3 +
 geode-docs/images_svg/distributed_preload.svg   |    3 +
 geode-docs/images_svg/distributed_replica.svg   |    3 +
 .../images_svg/distributed_replica_preload.svg  |    3 +
 geode-docs/images_svg/expiration.svg            |    3 +
 .../images_svg/how_partitioning_works_1.svg     |    3 +
 .../images_svg/how_partitioning_works_2.svg     |    3 +
 .../images_svg/http_module_cs_with_locator.svg  |    3 +
 .../images_svg/http_module_p2p_with_locator.svg |    3 +
 geode-docs/images_svg/locator_discovery.svg     |    3 +
 geode-docs/images_svg/member_severe_alert.svg   |    3 +
 .../images_svg/network_partition_scenario.svg   |    3 +
 geode-docs/images_svg/p2p_topology.svg          |    3 +
 geode-docs/images_svg/partitioned_data_HA.svg   |    3 +
 .../images_svg/partitioned_data_buckets_1.svg   |    3 +
 .../images_svg/partitioned_data_buckets_2.svg   |    3 +
 .../images_svg/region_entry_versions_1.svg      |    3 +
 .../images_svg/region_entry_versions_2.svg      |    3 +
 .../images_svg/region_entry_versions_3.svg      |    3 +
 .../images_svg/server_client_event_dist.svg     |    3 +
 geode-docs/images_svg/server_discovery.svg      |    3 +
 geode-docs/images_svg/server_grouping.svg       |    3 +
 .../images_svg/transactions_partitioned_1.svg   |    3 +
 .../images_svg/transactions_partitioned_2.svg   |    3 +
 .../images_svg/transactions_replicate_1.svg     |    3 +
 .../images_svg/transactions_replicate_2.svg     |    3 +
 .../images_svg/transactions_replicate_3.svg     |    3 +
 .../images_svg/transactions_replicate_4.svg     |    3 +
 .../transactions_replicate_local_1.svg          |    3 +
 .../transactions_replicate_no_ack_1.svg         |    3 +
 .../transactions_replicate_no_ack_2.svg         |    3 +
 .../images_svg/tune_cs_event_messaging.svg      |    3 +
 .../unbalanced_network_capacity_probs.svg       |    3 +
 .../autoreconnect/member-reconnect.html.md.erb  |   59 +
 geode-docs/managing/book_intro.html.md.erb      |   69 +
 .../chapter_overview.html.md.erb                |   51 +
 .../exporting_a_snapshot.html.md.erb            |   74 +
 .../filtering_snapshot_entries.html.md.erb      |   46 +
 .../importing_a_snapshot.html.md.erb            |   81 +
 .../read_snapshots_programmatically.html.md.erb |   43 +
 ...using_cache_and_region_snapshots.html.md.erb |   40 +
 .../backup_restore_disk_store.html.md.erb       |  189 +
 .../disk_storage/chapter_overview.html.md.erb   |   56 +
 .../compacting_disk_stores.html.md.erb          |  133 +
 .../disk_free_space_monitoring.html.md.erb      |   57 +
 .../disk_store_configuration_params.html.md.erb |  123 +
 .../file_names_and_extensions.html.md.erb       |   96 +
 .../handling_missing_disk_stores.html.md.erb    |   72 +
 .../how_disk_stores_work.html.md.erb            |   60 +
 ...eping_offline_disk_store_in_sync.html.md.erb |   65 +
 .../managing_disk_buffer_flushes.html.md.erb    |   44 +
 .../managing_disk_stores.html.md.erb            |   42 +
 .../managing_disk_stores_cmds.html.md.erb       |   62 +
 .../disk_storage/operation_logs.html.md.erb     |   69 +
 ...ize_availability_and_performance.html.md.erb |   32 +
 .../overview_using_disk_stores.html.md.erb      |   36 +
 ...starting_system_with_disk_stores.html.md.erb |  128 +
 .../disk_storage/using_disk_stores.html.md.erb  |  216 ++
 .../using_the_default_disk_store.html.md.erb    |   70 +
 .../validating_disk_store.html.md.erb           |   37 +
 .../heap_use/heap_management.html.md.erb        |  225 ++
 .../managing/heap_use/lock_memory.html.md.erb   |   52 +
 .../heap_use/off_heap_management.html.md.erb    |  209 ++
 .../logging/configuring_log4j2.html.md.erb      |   68 +
 .../logging/how_logging_works.html.md.erb       |   39 +
 .../logging/log_collection_utility.html.md.erb  |   71 +
 geode-docs/managing/logging/logging.html.md.erb |   48 +
 .../logging/logging_categories.html.md.erb      |  247 ++
 .../logging/logging_whats_next.html.md.erb      |   56 +
 .../logging/setting_up_logging.html.md.erb      |   76 +
 .../configuring_rmi_connector.html.md.erb       |   34 +
 .../gfsh_and_management_api.html.md.erb         |   69 +
 .../management/jmx_manager_node.html.md.erb     |   37 +
 .../jmx_manager_operations.html.md.erb          |  212 ++
 .../list_of_mbean_notifications.html.md.erb     |   82 +
 .../management/list_of_mbeans.html.md.erb       |   38 +
 .../management/list_of_mbeans_full.html.md.erb  |  227 ++
 .../management_and_monitoring.html.md.erb       |   52 +
 ...nagement_and_monitoring_features.html.md.erb |   41 +
 .../management_system_overview.html.md.erb      |  112 +
 .../management/mbean_architecture.html.md.erb   |   76 +
 .../management/mbean_notifications.html.md.erb  |   34 +
 .../management/mbeans_jconsole.html.md.erb      |   53 +
 .../managing/management/mm_overview.html.md.erb |   94 +
 ...tification_federation_and_alerts.html.md.erb |   54 +
 .../management/programming_example.html.md.erb  |  237 ++
 .../monitor_tune/cache_consistency.html.md.erb  |   80 +
 .../monitor_tune/chapter_overview.html.md.erb   |   60 +
 .../gemfire_performance_on_vsphere.html.md.erb  |   64 +
 ...erformance_on_vsphere_guidelines.html.md.erb |  136 +
 .../multicast_communication.html.md.erb         |   46 +
 ...ication_configuring_speed_limits.html.md.erb |   51 +
 ...unication_provisioning_bandwidth.html.md.erb |   60 +
 ...unication_runtime_considerations.html.md.erb |   47 +
 ...n_testing_multicast_speed_limits.html.md.erb |  145 +
 ...st_communication_troubleshooting.html.md.erb |   38 +
 .../performance_controls.html.md.erb            |   46 +
 ..._controls_controlling_socket_use.html.md.erb |   51 +
 ...ance_controls_data_serialization.html.md.erb |   26 +
 ...e_controls_increasing_cache_hits.html.md.erb |   28 +
 ...controls_managing_slow_receivers.html.md.erb |   73 +
 ..._controls_setting_cache_timeouts.html.md.erb |   41 +
 .../monitor_tune/slow_messages.html.md.erb      |   38 +
 .../monitor_tune/slow_receivers.html.md.erb     |   34 +
 .../slow_receivers_managing.html.md.erb         |  116 +
 ...ow_receivers_preventing_problems.html.md.erb |   45 +
 .../socket_communication.html.md.erb            |   48 +
 ...cation_ephemeral_tcp_port_limits.html.md.erb |   58 +
 ...ommunication_have_enough_sockets.html.md.erb |  185 +
 ...tion_setting_socket_buffer_sizes.html.md.erb |  144 +
 ...ion_tcpip_p2p_handshake_timeouts.html.md.erb |   38 +
 .../socket_tcp_keepalive.html.md.erb            |   31 +
 .../sockets_and_gateways.html.md.erb            |  122 +
 .../system_member_performance.html.md.erb       |   42 +
 ...mance_connection_thread_settings.html.md.erb |   32 +
 ...rmance_distributed_system_member.html.md.erb |   28 +
 ...ystem_member_performance_garbage.html.md.erb |   53 +
 ...ber_performance_jvm_mem_settings.html.md.erb |   78 +
 .../monitor_tune/udp_communication.html.md.erb  |   50 +
 .../chapter_overview.html.md.erb                |   48 +
 .../failure_detection.html.md.erb               |   62 +
 .../handling_network_partitioning.html.md.erb   |   63 +
 ...rk_partitioning_management_works.html.md.erb |   59 +
 ...ators_lead_members_and_weighting.html.md.erb |   79 +
 .../network_partitioning_scenarios.html.md.erb  |   53 +
 .../preventing_network_partitions.html.md.erb   |   28 +
 .../region_compression.html.md.erb              |  226 ++
 .../authentication_examples.html.md.erb         |   70 +
 .../authentication_overview.html.md.erb         |   43 +
 .../security/authorization_example.html.md.erb  |   70 +
 .../security/authorization_overview.html.md.erb |   34 +
 .../security/chapter_overview.html.md.erb       |   47 +
 .../security/enable_security.html.md.erb        |   73 +
 .../security/encrypting_passwords.html.md.erb   |   49 +
 .../encrypting_with_diffie_helman.html.md.erb   |   66 +
 .../implementing_authentication.html.md.erb     |  142 +
 .../implementing_authorization.html.md.erb      |  265 ++
 .../security/implementing_security.html.md.erb  |   80 +
 .../security/implementing_ssl.html.md.erb       |  226 ++
 .../security/post_processing.html.md.erb        |   67 +
 .../security/properties_file.html.md.erb        |   34 +
 .../security/security-audit.html.md.erb         |   64 +
 .../security_audit_overview.html.md.erb         |   39 +
 .../security/security_intro.html.md.erb         |   38 +
 .../managing/security/ssl_example.html.md.erb   |  105 +
 .../managing/security/ssl_overview.html.md.erb  |   45 +
 .../application_defined_statistics.html.md.erb  |   39 +
 .../statistics/chapter_overview.html.md.erb     |   42 +
 .../statistics/how_statistics_work.html.md.erb  |   34 +
 .../setting_up_statistics.html.md.erb           |  151 +
 ...ient_region_and_entry_statistics.html.md.erb |   42 +
 .../statistics/viewing_statistics.html.md.erb   |   24 +
 .../chapter_overview.html.md.erb                |   60 +
 .../diagnosing_system_probs.html.md.erb         |  437 +++
 ...ent_and_recover_disk_full_errors.html.md.erb |   45 +
 ...ducing_troubleshooting_artifacts.html.md.erb |   92 +
 ...ring_conflicting_data_exceptions.html.md.erb |   75 +
 .../recovering_from_app_crashes.html.md.erb     |   32 +
 .../recovering_from_cs_crashes.html.md.erb      |   54 +
 .../recovering_from_machine_crashes.html.md.erb |   62 +
 .../recovering_from_network_outages.html.md.erb |   73 +
 .../recovering_from_p2p_crashes.html.md.erb     |  231 ++
 .../system_failure_and_recovery.html.md.erb     |  283 ++
 geode-docs/prereq_and_install.html.md.erb       |   40 +
 geode-docs/reference/book_intro.html.md.erb     |   48 +
 .../statistics/statistics_list.html.md.erb      | 1293 +++++++
 .../topics/cache-elements-list.html.md.erb      |  185 +
 .../reference/topics/cache_xml.html.md.erb      | 3107 ++++++++++++++++
 .../chapter_overview_cache_xml.html.md.erb      |   47 +
 ...chapter_overview_regionshortcuts.html.md.erb |  107 +
 .../client-cache-elements-list.html.md.erb      |  137 +
 .../reference/topics/client-cache.html.md.erb   | 2683 ++++++++++++++
 .../reference/topics/elements_ref.html.md.erb   |  117 +
 .../topics/gemfire_properties.html.md.erb       |  640 ++++
 .../reference/topics/gfe_cache_xml.html.md.erb  | 3414 ++++++++++++++++++
 .../reference/topics/glossary.html.md.erb       |  618 ++++
 ...handling_exceptions_and_failures.html.md.erb |   32 +
 ...mory_requirements_for_cache_data.html.md.erb |  301 ++
 ...on-ascii_strings_in_config_files.html.md.erb |   43 +
 .../region_shortcuts_reference.html.md.erb      | 1499 ++++++++
 .../topics/region_shortcuts_table.html.md.erb   |  519 +++
 geode-docs/rest_apps/book_intro.html.md.erb     |   59 +
 .../rest_apps/chapter_overview.html.md.erb      |   32 +
 .../rest_apps/delete_all_data.html.md.erb       |   56 +
 .../rest_apps/delete_data_for_key.html.md.erb   |   56 +
 .../delete_data_for_multiple_keys.html.md.erb   |   56 +
 .../rest_apps/delete_named_query.html.md.erb    |   60 +
 .../rest_apps/develop_rest_apps.html.md.erb     |  683 ++++
 .../get_execute_adhoc_query.html.md.erb         |  120 +
 geode-docs/rest_apps/get_functions.html.md.erb  |   67 +
 geode-docs/rest_apps/get_queries.html.md.erb    |   72 +
 .../rest_apps/get_region_data.html.md.erb       |  132 +
 ...et_region_data_for_multiple_keys.html.md.erb |  238 ++
 .../rest_apps/get_region_key_data.html.md.erb   |   87 +
 .../rest_apps/get_region_keys.html.md.erb       |   67 +
 geode-docs/rest_apps/get_regions.html.md.erb    |   95 +
 geode-docs/rest_apps/get_servers.html.md.erb    |   64 +
 .../rest_apps/head_region_size.html.md.erb      |   62 +
 geode-docs/rest_apps/ping_service.html.md.erb   |   54 +
 .../rest_apps/post_create_query.html.md.erb     |  106 +
 .../post_execute_functions.html.md.erb          |  142 +
 .../rest_apps/post_execute_query.html.md.erb    |  172 +
 .../rest_apps/post_if_absent_data.html.md.erb   |  144 +
 .../put_multiple_values_for_keys.html.md.erb    |  103 +
 .../rest_apps/put_replace_data.html.md.erb      |   83 +
 .../rest_apps/put_update_cas_data.html.md.erb   |  215 ++
 .../rest_apps/put_update_data.html.md.erb       |   82 +
 .../rest_apps/put_update_query.html.md.erb      |   85 +
 geode-docs/rest_apps/rest_admin.html.md.erb     |   32 +
 .../rest_apps/rest_api_reference.html.md.erb    |   43 +
 geode-docs/rest_apps/rest_examples.html.md.erb  |  708 ++++
 geode-docs/rest_apps/rest_functions.html.md.erb |   32 +
 geode-docs/rest_apps/rest_prereqs.html.md.erb   |   37 +
 geode-docs/rest_apps/rest_queries.html.md.erb   |   48 +
 geode-docs/rest_apps/rest_regions.html.md.erb   |   82 +
 geode-docs/rest_apps/setup_config.html.md.erb   |  179 +
 .../rest_apps/troubleshooting.html.md.erb       |  169 +
 geode-docs/rest_apps/using_swagger.html.md.erb  |   71 +
 geode-docs/tools_modules/book_intro.html.md.erb |   47 +
 .../gemcached/about_gemcached.html.md.erb       |   46 +
 .../gemcached/advantages.html.md.erb            |   36 +
 .../gemcached/chapter_overview.html.md.erb      |   40 +
 .../gemcached/deploying_gemcached.html.md.erb   |   97 +
 .../tools_modules/gfsh/about_gfsh.html.md.erb   |   42 +
 .../gfsh/cache_xml_2_gfsh.html.md.erb           |  105 +
 .../gfsh/chapter_overview.html.md.erb           |   66 +
 .../gfsh/command-pages/alter.html.md.erb        |  520 +++
 .../gfsh/command-pages/backup.html.md.erb       |   85 +
 .../gfsh/command-pages/change.html.md.erb       |   98 +
 .../gfsh/command-pages/clear.html.md.erb        |   50 +
 .../gfsh/command-pages/close.html.md.erb        |  141 +
 .../gfsh/command-pages/compact.html.md.erb      |  114 +
 .../gfsh/command-pages/configure.html.md.erb    |   85 +
 .../gfsh/command-pages/connect.html.md.erb      |  172 +
 .../gfsh/command-pages/create.html.md.erb       |  954 +++++
 .../gfsh/command-pages/debug.html.md.erb        |   54 +
 .../gfsh/command-pages/define.html.md.erb       |   68 +
 .../gfsh/command-pages/deploy.html.md.erb       |   78 +
 .../gfsh/command-pages/describe.html.md.erb     |  409 +++
 .../gfsh/command-pages/destroy.html.md.erb      |  178 +
 .../gfsh/command-pages/disconnect.html.md.erb   |   56 +
 .../gfsh/command-pages/echo.html.md.erb         |   66 +
 .../gfsh/command-pages/encrypt.html.md.erb      |   57 +
 .../gfsh/command-pages/execute.html.md.erb      |   59 +
 .../gfsh/command-pages/exit.html.md.erb         |   40 +
 .../gfsh/command-pages/export.html.md.erb       |  271 ++
 .../gfsh/command-pages/gc.html.md.erb           |   58 +
 .../gfsh/command-pages/get.html.md.erb          |   67 +
 .../gfsh/command-pages/help.html.md.erb         |   77 +
 .../gfsh/command-pages/hint.html.md.erb         |   78 +
 .../gfsh/command-pages/history.html.md.erb      |   59 +
 .../gfsh/command-pages/import.html.md.erb       |  100 +
 .../gfsh/command-pages/list.html.md.erb         |  474 +++
 .../gfsh/command-pages/load-balance.html.md.erb |   64 +
 .../gfsh/command-pages/locate.html.md.erb       |   72 +
 .../gfsh/command-pages/netstat.html.md.erb      |  139 +
 .../gfsh/command-pages/pause.html.md.erb        |   51 +
 .../gfsh/command-pages/pdx.html.md.erb          |   90 +
 .../gfsh/command-pages/put.html.md.erb          |   78 +
 .../gfsh/command-pages/query.html.md.erb        |   69 +
 .../gfsh/command-pages/rebalance.html.md.erb    |   73 +
 .../gfsh/command-pages/remove.html.md.erb       |   63 +
 .../gfsh/command-pages/resume.html.md.erb       |   51 +
 .../gfsh/command-pages/revoke.html.md.erb       |   65 +
 .../gfsh/command-pages/run.html.md.erb          |  105 +
 .../gfsh/command-pages/set.html.md.erb          |   70 +
 .../gfsh/command-pages/sh.html.md.erb           |   63 +
 .../gfsh/command-pages/show.html.md.erb         |  302 ++
 .../gfsh/command-pages/shutdown.html.md.erb     |   62 +
 .../gfsh/command-pages/sleep.html.md.erb        |   57 +
 .../gfsh/command-pages/start.html.md.erb        |  776 ++++
 .../gfsh/command-pages/status.html.md.erb       |  298 ++
 .../gfsh/command-pages/stop.html.md.erb         |  227 ++
 .../gfsh/command-pages/undeploy.html.md.erb     |   77 +
 .../gfsh/command-pages/validate.html.md.erb     |   48 +
 .../gfsh/command-pages/version.html.md.erb      |   60 +
 .../gfsh/command_scripting.html.md.erb          |   37 +
 .../gfsh/configuring_gfsh.html.md.erb           |  129 +
 .../gfsh/getting_started_gfsh.html.md.erb       |  156 +
 .../gfsh/gfsh_command_index.html.md.erb         |  224 ++
 .../gfsh/gfsh_quick_reference.html.md.erb       |   58 +
 .../gfsh/os_command_line_execution.html.md.erb  |   50 +
 .../gfsh/quick_ref_commands_by_area.html.md.erb |  318 ++
 .../gfsh/starting_gfsh.html.md.erb              |   75 +
 .../tools_modules/gfsh/tour_of_gfsh.html.md.erb |  457 +++
 .../useful_gfsh_shell_variables.html.md.erb     |   72 +
 .../chapter_overview.html.md.erb                |   60 +
 .../common_gemfire_topologies.html.md.erb       |   36 +
 .../http_why_use_gemfire.html.md.erb            |   56 +
 .../interactive_mode_ref.html.md.erb            |  142 +
 .../http_session_mgmt/quick_start.html.md.erb   |  118 +
 .../session_mgmt_tcserver.html.md.erb           |   38 +
 .../session_mgmt_tomcat.html.md.erb             |   38 +
 .../session_mgmt_weblogic.html.md.erb           |   34 +
 .../session_state_log_files.html.md.erb         |  111 +
 .../tc_additional_info.html.md.erb              |   52 +
 .../tc_changing_gf_default_cfg.html.md.erb      |   98 +
 .../tc_installing_the_module.html.md.erb        |   38 +
 .../tc_setting_up_the_module.html.md.erb        |  139 +
 .../tomcat_changing_gf_default_cfg.html.md.erb  |  170 +
 .../tomcat_installing_the_module.html.md.erb    |   38 +
 .../tomcat_setting_up_the_module.html.md.erb    |  120 +
 ...weblogic_changing_gf_default_cfg.html.md.erb |  179 +
 ...gic_common_configuration_changes.html.md.erb |   52 +
 .../weblogic_setting_up_the_module.html.md.erb  |  213 ++
 .../pulse/chapter_overview.html.md.erb          |   49 +
 .../tools_modules/pulse/quickstart.html.md.erb  |  827 +++++
 .../pulse/system_requirements.html.md.erb       |   35 +
 .../tools_modules/redis_adapter.html.md.erb     |   90 +
 .../topologies_and_comm/book_intro.html.md.erb  |   42 +
 .../chapter_overview.html.md.erb                |   52 +
 ...nt_server_example_configurations.html.md.erb |  164 +
 .../client_server_whats_next.html.md.erb        |   56 +
 ...gure_servers_into_logical_groups.html.md.erb |   54 +
 ...etting_up_a_client_server_system.html.md.erb |   87 +
 ...tandard_client_server_deployment.html.md.erb |   35 +
 .../chapter_overview.html.md.erb                |   44 +
 .../multisite_topologies.html.md.erb            |   67 +
 .../setting_up_a_multisite_system.html.md.erb   |  381 ++
 .../chapter_overview.html.md.erb                |   36 +
 .../configuring_peer_member_groups.html.md.erb  |   60 +
 .../setting_up_a_p2p_system.html.md.erb         |   42 +
 .../setting_up_peer_communication.html.md.erb   |   64 +
 .../topology_concepts/IPv4_and_IPv6.html.md.erb |   49 +
 .../chapter_overview.html.md.erb                |   48 +
 .../how_communication_works.html.md.erb         |   62 +
 .../how_member_discovery_works.html.md.erb      |   60 +
 .../how_multisite_systems_work.html.md.erb      |   44 +
 .../how_server_discovery_works.html.md.erb      |   77 +
 ...how_the_pool_manages_connections.html.md.erb |   78 +
 .../member_communication.html.md.erb            |   46 +
 .../multisite_overview.html.md.erb              |  122 +
 .../topology_types.html.md.erb                  |   48 +
 .../using_bind_addresses.html.md.erb            |  112 +
 655 files changed, 64631 insertions(+)
----------------------------------------------------------------------




[53/76] [abbrv] incubator-geode git commit: GEODE-1952: removed native client docs, set aside until native client code is merged in (see GEODE-1964)

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/96-progexamples/3-query-code-examples-structset.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/96-progexamples/3-query-code-examples-structset.html.md.erb b/geode-docs/nativeclient/remote-querying/96-progexamples/3-query-code-examples-structset.html.md.erb
deleted file mode 100644
index d4c2ba3..0000000
--- a/geode-docs/nativeclient/remote-querying/96-progexamples/3-query-code-examples-structset.html.md.erb
+++ /dev/null
@@ -1,192 +0,0 @@
----
-title:  Query Code Samples Returning StructSet
----
-
-These examples return a `StructSet` for built-in and user-defined data types, `Struct` objects, and collections.
-
-## Query Returning a StructSet for a Built-In Data Type
-
-``` pre
-QueryServicePtr qrySvcPtr = cachePtr->getQueryService("examplePool");
-const char * querystring =
-   "SELECT DISTINCT ID, pkid, status, getType FROM /portfolios";
-QueryPtr query = qrySvcPtr->newQuery(querystring);
-//specify 10 seconds for the query timeout period
-SelectResultsPtr results = query->execute(10);
-if (results == NULLPTR)
-{
-   printf( "\nNo results returned from the server");
-}
-//obtaining a handle to resultset
-StructSetPtr ss(dynamic_cast<StructSet*> (results.ptr()));
-if (ss == NULLPTR)
-{
-   printf ("\nStructSet is not obtained \n");
-   return;
-}
-//iterating through the resultset using indexes.
-for ( int32_t row=0; row < ss->size(); row++)
-{
-   Struct * siptr = (Struct*) dynamic_cast<Struct*> ( ((*ss)[row]).ptr() );
-   if (siptr == NULL)
-   {
-      printf("\nstruct is empty \n");
-      continue;
- 
-    }
-    //iterate through fields now
-    for( int32_t field=0; field < siptr->length(); field++)
-    {
-       SerializablePtr fieldptr((*siptr)[field]);
-       if(fieldptr == NULLPTR )
-       {
-          printf("\nnull data received\n");
-       }
-       CacheableStringPtr
-          str(dynamic_cast<CacheableString*>(fieldptr.ptr()));
-       if (str == NULLPTR)
-       {
-          printf("\n field is of some other type \n");
-       }
-       else
-       {
-          printf("\n Data for %s is %s ", siptr->getFieldName(field), str->asChar() );
-       }
-    } //end of columns
- } // end of rows
-```
-
-## Returning Struct Objects
-
-``` pre
-QueryServicePtr qrySvcPtr = cachePtr->getQueryService("examplePool");
-const char * querystring =
-   "SELECT DISTINCT derivedProjAttrbts, key: p.key FROM "
-   "/Portfolios.entries p, (SELECT DISTINCT x.ID, myPos.secId FROM "
-   "/Portfolios x, x.positions.values AS myPos) derivedProjAttrbts WHERE "
-   "p.value.ID = derivedProjAttrbts.ID AND derivedProjAttrbts.secId = 'IBM'";
-QueryPtr query = qrySvcPtr->newQuery(querystring);
-//specify 10 seconds for the query timeout period
-SelectResultsPtr results = query->execute(10);
-if (results == NULLPTR)
-{
-   printf( "\nNo results returned from the server");
-}
-//obtaining a handle to resultset
-StructSetPtr ss(dynamic_cast<StructSet*> (results.ptr()));
-if (ss == NULLPTR)
-{
-   printf ("\nStructSet is not obtained \n");
-   return;
-}
-//iterating through the resultset using indexes.
-for (int32_t row=0; row < ss->size(); row++)
-{
-   Struct * siptr = (Struct*) dynamic_cast<Struct*> ( ((*ss)[row]).ptr() );
-   if (siptr == NULL) { printf("\nstruct is empty \n"); }
-   //iterate through fields now
-   for (int32_t field=0; field < siptr->length(); field++) {
-       SerializablePtr fieldptr((*siptr)[field]);
-       if (fieldptr == NULLPTR )
-       {
-          printf("\nnull data received\n");
-       }
-       CacheableStringPtr
-          str(dynamic_cast<CacheableString*>(fieldptr.ptr()));
-       if (str != NULLPTR) {
-          printf("\n Data for %s is %s ", siptr->getFieldName(field),
-              str->asChar() );
-       }
-       else
-       {
-          StructPtr simpl(dynamic_cast<Struct*> (fieldptr.ptr()));
-          if (simpl == NULLPTR)
-          {
-              printf("\n field is of some other type \n"); continue;
-          }
-          printf( "\n struct received %s \n", siptr->getFieldName(field) );
-          for (int32_t inner_field=0; inner_field < simpl->length(); inner_field++)
-          {
-              SerializablePtr innerfieldptr((*simpl)[inner_field]);
-              if (innerfieldptr == NULLPTR)
-              {
-                  printf("\nfield of struct is NULL\n");
-              }
-              CacheableStringPtr str(dynamic_cast<CacheableString*>
-                 (innerfieldptr.ptr()));
-              if (str != NULLPTR)
-              {
-                  printf("\n Data for %s is %s ",
-                      simpl->getFieldName(inner_field),str->asChar() );
-              }
-              else
-              {
-                  printf("\n some other object type inside struct\n");
-              }
-           }
-        }
-    } //end of columns
- }//end of rows
-```
-
-## Returning Collections
-
-``` pre
-QueryServicePtr qrySvcPtr = cachePtr->getQueryService("examplePool");
-const char * querystring = "select distinct ID, names from /portfolios";
-QueryPtr query = qrySvcPtr->newQuery(querystring);
-SelectResultsPtr results = query->execute(10);
-if (results == NULLPTR) {
-   printf( "\nNo results returned from the server");
-}
-//obtain a handle to resultset
-StructSetPtr ss(dynamic_cast<StructSet*> (results.ptr()));
-if (ss == NULLPTR) {
-   printf ("\nStructSet is not obtained \n");
-   return;
-}
-//iterate through the resultset using indexes.
-for (int32_t row=0; row < ss->size(); row++)
-{
-   Struct * siptr = dynamic_cast<Struct*> ( ((*ss)[row]).ptr() );
-   if (siptr == NULL)
-   {
-      printf("\nstruct is empty \n");
-      continue;
-    }
-    //iterate through fields now
-    for (int32_t field=0; field < siptr->length(); field++)
-    {
-       SerializablePtr fieldptr((*siptr)[field]);
-       if (fieldptr == NULLPTR)
-       {
-          printf("\nnull data received\n");
-       }
-       CacheableStringPtr
-          str(dynamic_cast<CacheableString*>(fieldptr.ptr()));
-       if (str != NULLPTR)
-       {
-          printf("\n Data for %s is %s ", siptr->getFieldName(field),
-              str->asChar() );
-       }
-       else
-       {
-          CacheableObjectArrayPtr
-              coa(dynamic_cast<CacheableObjectArray*>(fieldptr.ptr()));
-         if (coa == NULLPTR)
-          {
-              printf("\n field is of some other type\n"); continue;
-          }
-          printf( "\n objectArray received %s \n", 
-                 siptr->getFieldName(field) );
-          for (unsigned arrlen=0; arrlen < (uint32_t)coa->length(); arrlen++)
-          {
-              printf("\n Data for %s is %s ",siptr->getFieldName(field),
-                  coa->operator[](arrlen)->toString()->asChar());
-          }
-       }
-    } //end of columns
- }//end of rows
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/remote-querying.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/remote-querying.html.md.erb b/geode-docs/nativeclient/remote-querying/remote-querying.html.md.erb
deleted file mode 100644
index 1aebffc..0000000
--- a/geode-docs/nativeclient/remote-querying/remote-querying.html.md.erb
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title:  Remote Querying
----
-
-*Remote Querying* documents remote querying from the native client to the Geode cache server. Using examples and procedures, it describes how to use the APIs to run queries against cached data; work with query strings in the native client; create and manage queries; and create indexes.
-
--   **[Remote Querying Basics](../../nativeclient/remote-querying/91-quickintro/1-quickintro-overview.html)**
-
-    Use the Geode native client query API to query your cached data stored on a Geode cache server. The query is evaluated and executed on the cache server, and the results are returned to the native client.
-
--   **[Using Query Strings in the Native Client](../../nativeclient/remote-querying/93-querystrings/1-querystring-overview.html)**
-
-    To use a query string in a native client, specify the string as a parameter in a `QueryService::newQuery` method, then execute the query using `Query::execute`, passing in the required parameters.
-
--   **[Accessing Cached Data](../../nativeclient/remote-querying/92-querylanguage/2-accessingdata.html)**
-
-    Accessing your cached data through the querying service is similar to accessing database contents through SQL queries. How you specify your regions and region contents is particular to the native client.
-
--   **[Query Language Elements](../../nativeclient/remote-querying/93-querystrings/8-query-language-elements.html)**
-
-    This section discusses various aspects and tools of the native client query engine.
-
--   **[Remote Query API](../../nativeclient/remote-querying/95-remotequeryapi/1-remote-query-api-overview.html)**
-
-    You use the native client querying API to access all the querying functionality discussed in the previous sections.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/security/LDAPserverauth.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/security/LDAPserverauth.html.md.erb b/geode-docs/nativeclient/security/LDAPserverauth.html.md.erb
deleted file mode 100644
index 3587c92..0000000
--- a/geode-docs/nativeclient/security/LDAPserverauth.html.md.erb
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title:  Using an LDAP Server for Client Authentication
----
-
-An LDAP server can be used by a Geode cache server using the sample LDAP implementation provided in Geode server product.
-
-See the [Security](../../managing/security/chapter_overview.html#security) to verify authentication credentials for native clients attempting to connect to the Geode servers and sending user name and passwords using the sample UserPassword scheme.
-
-**Note:**
-The user name and password with this sample implementation is sent out in plaintext. For better security, either turn on credential encryption using Diffie-Hellman key exchange, or use a scheme like PKCS.
-
-When a client initiates a connection to a cache server, the client submits its credentials to the server and the server submits those credentials to the LDAP server. To be authenticated, the credentials for the client need to match one of the valid entries in the LDAP server. The credentials can consist of the entry name and the corresponding password. If the submitted credentials result in a connection to the LDAP server because the credentials match the appropriate LDAP entries, then the client is authenticated and granted a connection to the server. If the server fails to connect to the LDAP server with the supplied credentials then an `AuthenticationFailedException` is sent to the client and its connection with the cache server is closed.
-
-**Configuration Settings**
-
-In the `gfcpp.properties` file for the client, specify the `UserPasswordAuthInit` callback, the user name, and the password, like this:
-
-``` pre
-security-client-auth-library=securityImpl
-security-client-auth-factory=createUserPasswordAuthInitInstance
-security-username=<username>
-security-password=<password>
-```
-
-For server side settings and LDAP server configuration, see [Security](../../managing/security/chapter_overview.html#security).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/security/PKCS.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/security/PKCS.html.md.erb b/geode-docs/nativeclient/security/PKCS.html.md.erb
deleted file mode 100644
index 970ca54..0000000
--- a/geode-docs/nativeclient/security/PKCS.html.md.erb
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title:  Using PKCS for Encrypted Authentication
----
-
-This section discusses the concepts and configurations for the sample UserPassword and PKCS implementations. Descriptions of their interfaces, classes, and methods are available in the API.
-
-**Note:**
-Native client samples are provided in source form only in the "templates" directory within the product directory.
-
-With PKCS, clients send encrypted authentication credentials in the form of standard PKCS signatures to a Geode cache server when they connect to the server. The credentials consist of the alias name and digital signature created using the private key that is retrieved from the provided keystore. The server uses a corresponding public key to decrypt the credentials. If decryption is successful then the client is authenticated and it connects to the cache server. For unsuccessful decryption, the server sends an `AuthenticationFailedException` to the client, and the client connection to the cache server is closed.
-
-When clients require authentication to connect to a cache server, they use the `PKCSAuthInit` class implementing the `AuthInitialize` interface to obtain their credentials. For the PKCS sample provided by Geode, the credentials consist of an alias and an encrypted byte array. The private key is obtained from the PKCS\#12 keystore file. To accomplish this,` PKCSAuthInit` gets the alias retrieved from the `security-alias `property, and the keystore path from the `security-keystorepath` property. `PKCSAuthInit` also gets the password for the password-protected keystore file from the `security-keystorepass` property so the keystore can be opened.
-
-**Building the securityImpl Library**
-
-To use the PKCS sample implementation, you need to build OpenSSL and then build the securityImpl library. In the `gfcpp.properties `file for the client, specify the `PKCSAuthInit` callback, the keystore path, the security alias, and the keystore password, like this:
-
-``` pre
-security-client-auth-library=securityImpl
-security-client-auth-factory=createPKCSAuthInitInstance
-security-keystorepath=<PKCS#12 keystore path>
-security-alias=<alias>
-security-keystorepass=<keystore password>
-```
-
-For server side settings, see the description of PKCS sample in [Security](../../managing/security/chapter_overview.html#security).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/security/authentication-levels.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/security/authentication-levels.html.md.erb b/geode-docs/nativeclient/security/authentication-levels.html.md.erb
deleted file mode 100644
index 0e37060..0000000
--- a/geode-docs/nativeclient/security/authentication-levels.html.md.erb
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title:  Process and Multiuser Authentication
----
-
-Client connections can be authenticated at two levels, process and multiuser.
-
--   **Process**. Each pool creates a configured minimum number of connections across the server group. The pool accesses the least-loaded server for each cache operation.
-
-    Process-level connections represent the overall client process and are the standard way a client accesses the server cache.
-
--   **Multi-user**. Each user/pool pair creates a connection to one server and then sticks with it for operations. If the server is unable to respond to a request, the pool selects a new one for the user.
-
-    Typically, application servers or web servers that act as clients to Geode servers make multi-user connections. Multi-user allows a single application or web server process to service a large number of users with varied access permissions.
-
-By default, server pools use process-level authentication. Enable multi-user authentication by setting a pool's `multi-user-secure-mode-enabled` attribute to `true`.
-
-<img src="../common/images/security-client-connections.gif" id="security__image_85B98E185AD84C59AC22974A63080559" class="image" />
-
-Credentials can be sent in encrypted form using the Diffie-Hellman key exchange algorithm. See [Encrypt Credentials with Diffe-Hellman](overviewencryptcred.html#security) for more information.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/security/authforcacheserver.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/security/authforcacheserver.html.md.erb b/geode-docs/nativeclient/security/authforcacheserver.html.md.erb
deleted file mode 100644
index f878b55..0000000
--- a/geode-docs/nativeclient/security/authforcacheserver.html.md.erb
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title:  Configuring Authentication by the Cache Server
----
-
-When the cache server receives client credentials during the handshake operation, the server authenticates the client with the callback configured in the `security-client-authenticator` system property. The handshake succeeds or fails depending on the results of the authentication process.
-
-Here is an example of how you could configure `security-client-authenticator` in the `gfcpp.properties` file:
-
-``` pre
-security-client-authenticator=templates.security.PKCSAuthenticator.create
-```
-
-In the preceding configuration sample, `PKCSAuthenticator` is the callback class implementing the `Authenticator` interface and `create` is its factory method.
-
-The following example shows an implementation of the static `create` method:
-
-``` pre
-public static Authenticator create() {
-  return new PKCSAuthenticator();
-}
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/security/caveatregionservice.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/security/caveatregionservice.html.md.erb b/geode-docs/nativeclient/security/caveatregionservice.html.md.erb
deleted file mode 100644
index 719209f..0000000
--- a/geode-docs/nativeclient/security/caveatregionservice.html.md.erb
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title:  Requirements and Caveats for RegionService
----
-
-For each region, you can perform operations through the `Cache` instance or the `RegionService` instances, but not both.
-
-**Note:**
-Through the `Cache` you can create a region that uses a pool configured for multi-user authentication, then access and do work on the region using your `RegionService` instances.
-
-To use `RegionService`:
-
--   Configure regions as EMPTY. Depending on your data access requirements, this configuration might affect performance, because the client goes to the server for every `get`.
--   If you are running durable CQs through the region services, stop and start the offline event storage for the client as a whole. The server manages one queue for the entire client process, so you need to request the stop and start of durable client queue (CQ) event messaging for the cache as a whole, through the ClientCache instance. If you closed the `RegionService` instances, event processing would stop, but the events from the server would continue, and would be lost.
-
-    Stop with:
-
-    ``` pre
-    cachePtr->close(true);
-    ```
-
-    Start up again in this order:
-    1.  Create the cache.
-    2.  Create all region service instances. Initialize CQ listeners.
-    3.  Call the cache `readyForEvents` method.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/security/config-clientauthorization.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/security/config-clientauthorization.html.md.erb b/geode-docs/nativeclient/security/config-clientauthorization.html.md.erb
deleted file mode 100644
index b8811e2..0000000
--- a/geode-docs/nativeclient/security/config-clientauthorization.html.md.erb
+++ /dev/null
@@ -1,13 +0,0 @@
----
-title:  Configuring Client Authorization
----
-
-You can configure authorization on a per-client basis for various cache operations such as create, get, put, query invalidations, interest registration, and region destroys. On the server side, the `securityclient-accessor` system property in the server\u2019s `gemfire.properties` file specifies the authorization callback.
-
-For example:
-
-`security-client-accessor=templates.security.XmlAuthorization.create`
-
-In this system property setting, `XmlAuthorization` is the callback class that implements the `AccessControl` interface. The `XmlAuthorization` sample implementation provided with Geode expects an XML file that defines authorization privileges for the clients. For details of this sample implementation and the `AccessControl` interface, see the [Authorization Example](../../managing/security/authorization_example.html#authorization_example).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/security/createsecureconnregionservice.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/security/createsecureconnregionservice.html.md.erb b/geode-docs/nativeclient/security/createsecureconnregionservice.html.md.erb
deleted file mode 100644
index 4c8f64b..0000000
--- a/geode-docs/nativeclient/security/createsecureconnregionservice.html.md.erb
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title:  Creating Multiple Secure User Connections
----
-
-To create multiple, secure connections to your servers from a single client, so the client can service different user types, you create an authenticated `RegionService` for each user.
-
-Typically, a Geode client embedded in an application server supports data requests from many users. Each user can be authorized to access a subset of data on the servers. For example, customer users are allowed only to see and update their own orders and shipments.
-
-The authenticated users all access the same Cache through instances of the `RegionService` interface. See [RegionService](../client-cache/caching-apis.html#caching-apis__section_8F81996678B64BBE94EF352527F7F006).
-
-To implement multiple user connections in your client cache, create your Cache as usual, with these additions:
-
-1.  Configure your client\u2019s server pool for multiple secure user authentication. Example:
-
-    ``` pre
-    <pool name="serverPool" multiuser-authentication="true">
-         <locator host="host1" port="44444"/>
-    </pool>
-    ```
-
-    This enables access through the pool for the `RegionService` instances and disables it for the Cache instance.
-
-2.  After you create your cache, for each user, call your Cache instance `createAuthenticatedView` method, providing the user\u2019s particular credentials. These are create method calls for two users:
-
-    ``` pre
-    PropertiesPtr credentials1 = Properties::create();
-    credentials1->insert("security-username", "root1");
-    credentials1->insert("security-password", "root1");
-    RegionServicePtr userCache1 = cachePtr->createAuthenticatedView(credentials1);
-
-    PropertiesPtr credentials2 = Properties::create();
-    credentials2->insert("security-username", "root2");
-    credentials2->insert("security-password", "root2");
-    RegionServicePtr userCache2 = cachePtr->createAuthenticatedView(credentials2);
-    ```
-
-    For each user, do all of your caching and region work through the assigned region service pointer. Use the region service to get your regions, and the query service, if you need that, and then do your work with them. Access to the server cache will be governed by the server\u2019s configured authorization rules for each individual user.
-
-3.  To close your cache, close the Cache instance.
-
--   **[Requirements and Caveats for RegionService](../../nativeclient/security/caveatregionservice.html)**
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/security/encrypted-auth.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/security/encrypted-auth.html.md.erb b/geode-docs/nativeclient/security/encrypted-auth.html.md.erb
deleted file mode 100644
index d9f8bf1..0000000
--- a/geode-docs/nativeclient/security/encrypted-auth.html.md.erb
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title:  Encrypted Authentication
----
-
-You can set up encrypted authentication using Diffe-Hellman or the sample PKCS implementation.
-
--   **[Encrypt Credentials with Diffe-Hellman](../../nativeclient/security/overviewencryptcred.html)**
-
-    For secure transmission of sensitive credentials like passwords, encrypt credentials using the Diffie-Hellman key exchange algorithm. With Diffie-Hellman enabled, you can have your client authenticate its servers.
-
--   **[Using PKCS for Encrypted Authentication](../../nativeclient/security/PKCS.html)**
-
-    This section discusses the concepts and configurations for the sample UserPassword and PKCS implementations. Descriptions of their interfaces, classes, and methods are available in the API.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/security/handling-serv-auth-errors.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/security/handling-serv-auth-errors.html.md.erb b/geode-docs/nativeclient/security/handling-serv-auth-errors.html.md.erb
deleted file mode 100644
index 244c35a..0000000
--- a/geode-docs/nativeclient/security/handling-serv-auth-errors.html.md.erb
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title:  Server Authentication Errors
----
-
-An `AuthenticationRequiredException` is thrown when the server is configured with security and the client does not present its credentials while attempting to connect. This can occur if the `securityclient-auth-factory` and `security-client-auth-library` properties are not configured on the client.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/security/limitations.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/security/limitations.html.md.erb b/geode-docs/nativeclient/security/limitations.html.md.erb
deleted file mode 100644
index ee64cf6..0000000
--- a/geode-docs/nativeclient/security/limitations.html.md.erb
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title:  Limitations
----
-
-Currently the native client only supports the NULL cipher with mutual authentication for SSL socket communications.
-
-The keys and keystores need to be in the JKS (Java KeyStore) format for the Geode server and in the clear PEM format for the native client.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/security/overviewauthentication.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/security/overviewauthentication.html.md.erb b/geode-docs/nativeclient/security/overviewauthentication.html.md.erb
deleted file mode 100644
index 29e1072..0000000
--- a/geode-docs/nativeclient/security/overviewauthentication.html.md.erb
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title:  Authentication
----
-
-A client is authenticated when it connects, with valid credentials, to a Geode cache server that is configured with the client `Authenticator` callback.
-
-Once the client is authenticated, the server assigns the client a unique ID and principal, used to authorize operations. The client must trust all cache servers in the server system as it may connect to any one of them. For information on configuring client/server , see [Client/Server Configuration](../../topologies_and_comm/cs_configuration/chapter_overview.html).
-
--   **[Process and Multiuser Authentication](../../nativeclient/security/authentication-levels.html)**
-
-    Client connections can be authenticated at two levels, process and multiuser.
-
--   **[Configuring Credentials for Authentication](../../nativeclient/security/systempropsforauth.html)**
-
-    The native client uses system properties to acquire valid credentials for authentication by the server. You define these properties in the `gfcpp.properties` file, which the native client accesses during startup.
-
--   **[Configuring Authentication by the Cache Server](../../nativeclient/security/authforcacheserver.html)**
-
-    When the cache server receives client credentials during the handshake operation, the server authenticates the client with the callback configured in the `security-client-authenticator` system property. The handshake succeeds or fails depending on the results of the authentication process.
-
--   **[Server Authentication Errors](../../nativeclient/security/handling-serv-auth-errors.html)**
-
--   **[Creating Multiple Secure User Connections](../../nativeclient/security/createsecureconnregionservice.html)**
-
-    To create multiple, secure connections to your servers from a single client, so the client can service different user types, you create an authenticated `RegionService` for each user.
-
--   **[Using an LDAP Server for Client Authentication](../../nativeclient/security/LDAPserverauth.html)**
-
-    An LDAP server can be used by a Geode cache server using the sample LDAP implementation provided in Geode server product.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/security/overviewclientauthorization.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/security/overviewclientauthorization.html.md.erb b/geode-docs/nativeclient/security/overviewclientauthorization.html.md.erb
deleted file mode 100644
index 76cdaac..0000000
--- a/geode-docs/nativeclient/security/overviewclientauthorization.html.md.erb
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title:  Client Authorization
----
-
-Using a provided callback that implements the `AccessControl` interface, you can configure each server to authorize some or all cache operations.
-
-The callback can also modify or even disallow the data being provided by the client in the operation, such as a put or a `putAll` operation. The callback can also register itself as a post-processing filter that is passed operation results like `get`, `getAll`, and `query`.
-
--   **[Configuring Client Authorization](../../nativeclient/security/config-clientauthorization.html)**
-
-    You can configure authorization on a per-client basis for various cache operations such as create, get, put, query invalidations, interest registration, and region destroys. On the server side, the `securityclient-accessor` system property in the server\u2019s `gemfire.properties` file specifies the authorization callback.
-
--   **[Post-Operative Authorization](../../nativeclient/security/postopauthorization.html)**
-
-    Authorization in the post-operation phase occurs on the server after the operation is complete and before the results are sent to the client.
-
--   **[Determining Pre- or Post-Operation Authorization](../../nativeclient/security/usingoperationcontext.html)**
-
-    The `OperationContext` object that is passed to the `authorizeOperation` method of the callback as the second argument provides an `isPostOperation` method that returns true when the callback is invoked in the post-operation phase.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/security/overviewencryptcred.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/security/overviewencryptcred.html.md.erb b/geode-docs/nativeclient/security/overviewencryptcred.html.md.erb
deleted file mode 100644
index bf41b50..0000000
--- a/geode-docs/nativeclient/security/overviewencryptcred.html.md.erb
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title:  Encrypt Credentials with Diffe-Hellman
----
-
-For secure transmission of sensitive credentials like passwords, encrypt credentials using the Diffie-Hellman key exchange algorithm. With Diffie-Hellman enabled, you can have your client authenticate its servers.
-
-## <a id="security__section_1BB8F13C7ACB44668FF337F59A3BA5AE" class="no-quick-link"></a>Enabling Diffe-Hellman
-
-Set the `security-client-dhalgo` system property in the `gfcpp.properties` file to the password for the public key file store on the client (the name of a valid symmetric key cipher supported by the JDK).
-
-Valid `security-client-dhalgo` property values are `DESede`, `AES`, and `Blowfish`, which enable the Diffie-Hellman algorithm with the specified cipher to encrypt the credentials.
-
-For the `AES` and `Blowfish` algorithms, optionally specify the key size for the `security-client-dhalgo` property. Valid key size settings for the `AES` algorithm are `AES:128`, `AES:192`, and `AES:256`. The colon separates the algorithm name and the key size. For the `Blowfish` algorithm, key sizes from 128 to 448 bits are supported. For example:
-
-``` pre
-security-client-dhalgo=Blowfish:128
-```
-
-For `AES` algorithms, you may need Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files from Sun or equivalent for your JDK.
-
-Adding settings for Diffie-Hellman on clients also enables challenge response from server to client in addition to encryption of credentials using the exchanged key to avoid replay attacks from clients to servers. Clients can also enable authentication of servers, with challenge-response from client to server to avoid server-side replay attacks.
-
-## <a id="security__section_F881653044EC4AB5BE88F673890F2A40" class="no-quick-link"></a>Client Authentication of Server
-
-With Diffie-Hellman enabled, you can have your client authenticate its servers.
-
-1.  Generate a `.pem` file for each pkcs12 keystore:
-
-    1.  Enter this command from a pkcs12 file or a pkcs keystore: <a id="security__fig_3CAFDE3CB29348A19AF3BE3591AFA2F7"></a>
-
-        ``` pre
-        user@host: ~> openssl pkcs12 -nokeys -in <keystore/pkcs12 file> -out <outputfilename.pem >
-        ```
-
-    2.  Concatenate the generated .pem files into a single .pem file. You will use this file name in the next step.
-
-2.  In the `gfcpp.properties` file:
-
-    1.  Set `security-client-kspath` to the file name of the `.pem` file password for the public key file store on the client.
-    2.  Set `security-client-kspasswd` to the password for the public key file store on the client.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/security/overviewsecurity.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/security/overviewsecurity.html.md.erb b/geode-docs/nativeclient/security/overviewsecurity.html.md.erb
deleted file mode 100644
index 17acd3f..0000000
--- a/geode-docs/nativeclient/security/overviewsecurity.html.md.erb
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title:  Security
----
-
-*Security* describes how to implement the security framework for the Geode native client, including authentication, authorization, ecryption, and SSL client/server communication.
-
-The security framework authenticates clients that attempt to connect to a Geode cache server, and authorizes client cache operations. You can also configure it for client authentication of servers, and you can plug in your own implementations for authentication and authorization.
-
--   **[Authentication](../../nativeclient/security/overviewauthentication.html)**
-
-    A client is authenticated when it connects, with valid credentials, to a Geode cache server that is configured with the client `Authenticator` callback.
-
--   **[Encrypted Authentication](../../nativeclient/security/encrypted-auth.html)**
-
-    You can set up encrypted authentication using Diffe-Hellman or the sample PKCS implementation.
-
--   **[Client Authorization](../../nativeclient/security/overviewclientauthorization.html)**
-
-    Using a provided callback that implements the `AccessControl` interface, you can configure each server to authorize some or all cache operations.
-
--   **[Security-Related System Properties (gfcpp.properties)](../../nativeclient/security/security-systemprops.html)**
-
-    The table describes the security-related system properties in the `gfcpp.properties` file for native client authentication and authorization.
-
--   **[SSL Client/Server Communication](../../nativeclient/security/overviewsslclientserver.html)**
-
-    This section describes how to configure OpenSSL; implement SSL-based communication between your clients and servers; and run clients and servers with SSL enabled.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/security/overviewsslclientserver.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/security/overviewsslclientserver.html.md.erb b/geode-docs/nativeclient/security/overviewsslclientserver.html.md.erb
deleted file mode 100644
index 5875a03..0000000
--- a/geode-docs/nativeclient/security/overviewsslclientserver.html.md.erb
+++ /dev/null
@@ -1,13 +0,0 @@
----
-title:  SSL Client/Server Communication
----
-
-This section describes how to configure OpenSSL, implement SSL-based communication between your clients and servers, and run clients and servers with SSL enabled.
-
--   **[Set Up OpenSSL](../../nativeclient/security/ssl-setup.html)**
-
--   **[Limitations](../../nativeclient/security/limitations.html)**
-
-    Currently the native client only supports the NULL cipher with mutual authentication for SSL socket communications.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/security/postopauthorization.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/security/postopauthorization.html.md.erb b/geode-docs/nativeclient/security/postopauthorization.html.md.erb
deleted file mode 100644
index 37d2bc8..0000000
--- a/geode-docs/nativeclient/security/postopauthorization.html.md.erb
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title:  Post-Operative Authorization
----
-
-Authorization in the post-operation phase occurs on the server after the operation is complete and before the results are sent to the client.
-
-The callback can modify the results of certain operations, such as `query`, `get` and `keySet`, or even completely disallow the operation. For example, a post-operation callback for a query operation can filter out sensitive data or data that the client should not receive, or even completely fail the operation.
-
-The `security-client-accessor-pp` system property in the server\u2019s `gemfire.properties` file specifies the callback to invoke in the post-operation phase. For example:
-
-``` pre
-security-client-accessor-pp=templates.security.XmlAuthorization.create
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/security/security-systemprops.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/security/security-systemprops.html.md.erb b/geode-docs/nativeclient/security/security-systemprops.html.md.erb
deleted file mode 100644
index 115919e..0000000
--- a/geode-docs/nativeclient/security/security-systemprops.html.md.erb
+++ /dev/null
@@ -1,68 +0,0 @@
----
-title:  Security-Related System Properties (gfcpp.properties)
----
-
-The table describes the security-related system properties in the `gfcpp.properties` file for native client authentication and authorization.
-
-<a id="security__section_6DC4C72A2EEB432AA40DE97D438FD1E7"></a><a id="security__table_92A6A66523764199A19BCD66BA189921"></a>
-
-<table>
-<caption><span class="tablecap">Table 1. System Properties for Client Authentication and Authorization</span></caption>
-<colgroup>
-<col width="50%" />
-<col width="50%" />
-</colgroup>
-<tbody>
-<tr class="odd">
-<td><code class="ph codeph">security-client-auth-factory</code></td>
-<td>Sets the key for the <code class="ph codeph">AuthInitialize</code> factory function.</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">security-client-auth-library</code></td>
-<td>Registers the path to the <code class="ph codeph">securityImpl.dll</code> library.</td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">security-client-dhalgo</code></td>
-<td>Returns the Diffie-Hellman secret key cipher algorithm.</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">security-client-kspath</code></td>
-<td>Path to a .pem file, which contains the public certificates for all Geode cache servers to which the client can connect through specified endpoints.</td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">security-client-kspasswd</code></td>
-<td>Password for the public key file store on the client.</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">security-keystorepath</code></td>
-<td>Path to the public keystore.</td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">security-alias</code></td>
-<td>Alias name for the key in the keystore.</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">security-keystorepass</code></td>
-<td>Sets the password for the password-protected keystore.</td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">ssl-enabled</code></td>
-<td>Enables SSL-based client/server communication when set to true. When true, the other ssl-* settings are required. The default is false, which causes communication to use plain socket connections.</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">ssl-keystore</code></td>
-<td>Name of the .PEM keystore file, containing the client\u2019s private key. Not set by default. Required if <code class="ph codeph">ssl-enabled</code> is true.</td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">ssl-keystore-password</code></td>
-<td>Sets the password for the private key PEM file for SSL.</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">ssl-truststore</code></td>
-<td><p>Name of the .PEM truststore file, containing the servers\u2019 public certificate. Not set by default. Required if <code class="ph codeph">ssl-enabled</code> is true.</p></td>
-</tr>
-</tbody>
-</table>
-
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/security/ssl-setup.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/security/ssl-setup.html.md.erb b/geode-docs/nativeclient/security/ssl-setup.html.md.erb
deleted file mode 100644
index 832ca68..0000000
--- a/geode-docs/nativeclient/security/ssl-setup.html.md.erb
+++ /dev/null
@@ -1,122 +0,0 @@
----
-title:  Set Up OpenSSL
----
-
-## Step 1. Download and install OpenSSL
-The open-source OpenSSL toolkit provides a full-strength general purpose cryptography library to operate along with the PKCS sample implementation for encrypted authentication of native client credentials.
-
-Follow these instructions to download and install OpenSSL for your specific operating system.
-
-The native client requires OpenSSL 1.0.1h or later. For Windows platforms, you can use either the regular or the OpenSSL 1.0.1h "Light" version.
-
-**Note:**
-If you use Cygwin, it is recommended that you do not use the OpenSSL library that comes with Cygwin because it is built with `cygwin.dll` as a dependency.
-
-### <a id="security__section_5C95C2E4D9244B27BF8FD178E402D993" class="no-quick-link"></a>Linux
-
-Download the OpenSSL tarball archive from the OpenSSL web site at [http://www.openssl.org/source/](http://www.openssl.org/source/). Copy the downloaded tarball file into `NativeClient_xxxx/templates/security/openssl/Linux` and run `buildit.sh`.
-
-### <a id="security__section_93651F296C1A4EA5A3FA045EC15FB506" class="no-quick-link"></a>Solaris
-
-Download the OpenSSL tarball archive from the OpenSSL web site at [http://www.openssl.org/source/](http://www.openssl.org/source/). Copy the downloaded tarball file into `NativeClient_xxxx/templates/security/openssl/SunOS` and run `buildit.sh`.
-
-### <a id="security__section_68961A8829D44BFB8F542F3317464E5E" class="no-quick-link"></a>Windows
-
-Download the installer for OpenSSL from [http://www.openssl.org/related/binaries.html](http://www.openssl.org/related/binaries.html). You can also use the OpenSSL "Light" version.
-
-Use the downloaded OpenSSL installer to install it on Windows. You can usually accept the default installation path (`C:\OpenSSL`).
-
-
-## Step 2. Create keystores
-
-The Geode server requires keys and keystores in the Java Key Store (JKS) format while the native client requires them in the clear PEM format. Thus you need to be able to generate private/public keypairs in either format and convert between the two using the `keytool` utility and the `openssl` command.
-
-There are public third party free tools and source code available to download such as the "KeyTool IUI" tool.
-
-
-## Step 3. Configure environment variables
-
-Configure your system environment to build and run OpenSSL. Follow the environment setup that applies to your operating system.
-
-For all references to the Pivotal\_GemFire\_NativeClient\_*64bit*\_*xxxx* directory, replace *64bit* with the appropriate architecture and *xxxx* with the actual four-digit product build number.
-
-### <a id="security__section_6C173D0D8C8343EA92961C954032E2CA" class="no-quick-link"></a>Bourne and Korn shells (sh, ksh, bash)
-
-``` pre
-% OPENSSL=<parent folder for OpenSSL binaries>; export OPENSSL
-% GFCPP=<path to installation, typically C:\Pivotal_GemFire_NativeClient_64bit_xxxx>; export GFCPP
-% LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GFCPP/lib:$GFCPP/ssl_libs:$OPENSSL/lib
-% export LD_LIBRARY_PATH
-% CLASSPATH=$GEMFIRE/lib/gfSecurityImpl.jar:$CLASSPATH
-```
-
-### <a id="security__section_76CF86EDC2234BA6BF7DA6E253C71F61" class="no-quick-link"></a>Windows
-
-``` pre
-> set GFCPP=<path to installation, typically C:\Pivotal_GemFire_NativeClient_32or64bit_xxxx>
-> set OPENSSL=<path to installed OpenSSL, typically C:\OpenSSL>
-> set PATH=<path to Java JDK or JRE>\bin;%GFCPP%\bin;%GFCPP%\ssl_libs;%OPENSSL%\bin;%PATH%
-> set CLASSPATH=<path to GemFire installation>\lib\gfSecurityImpl.jar;%CLASSPATH%
-```
-
-
-## Step 4. Configure SSL properties in gfcpp.properties and gemfire.properties
-
-Configure SSL properties.
-
-1.  In `gfcpp.properties`, set `ssl-enabled` to true and set `ssl-keystore` and `ssl-truststore` to point to your keystore files. See [Security-Related System Properties (gfcpp.properties)](security-systemprops.html#security) for a description of these properties.
-2.  On each locator, set the following SSL properties in the locator\u2019s `gemfire.properties` file:
-
-    ``` pre
-    server-ssl-enabled=true
-    server-ssl-protocols=any
-    server-ssl-require-authentication=true
-    server-ssl-ciphers=SSL_RSA_WITH_NULL_SHA
-    ```
-
-
-## Step 5. Start and stop the client and server
-
-Before you start and stop the client and server, make sure you configure the native client with the SSL properties as described and with the servers or locators specified as usual.
-
-Specifically, ensure that:
-
--   OpenSSL and ACE\_SSL `DLL`s locations are in the right environment variables for your system: `PATH` for Windows, and `LD_LIBRARY_PATH` for Unix.
--   You have generated the keys and keystores.
--   You have set the system properties.
-
-For details on stopping and starting locators and cache servers with SSL, see [Starting Up and Shutting Down Your System](../../configuring/running/starting_up_shutting_down.html).
-
-**Example locator start command**
-
-Ensure that all required SSL properties are configured in your server's `gfsecurity.properties` file. Then start your locator as follows:
-
-``` pre
-gfsh>start locator --name=my_locator --port=12345 --dir=. \
---security-properties-file=/path/to/your/gfsecurity.properties
-```
-
-**Example locator stop command**
-
-``` pre
-gfsh>stop locator --port=12345 \
---security-properties-file=/path/to/your/gfsecurity.properties
-```
-
-**Example server start command**
-
-Again, ensure that all required SSL properties are configured in `gfsecurity.properties`. Then start the server with:
-
-``` pre
-gfsh>start server --name=my_server --locators=hostname[12345] \
---cache-xml-file=server.xml --log-level=fine \
---security-properties-file=/path/to/your/gfsecurity.properties
-```
-
-**Example server stop command**
-
-``` pre
-gfsh>stop server --name=my_server
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/security/systempropsforauth.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/security/systempropsforauth.html.md.erb b/geode-docs/nativeclient/security/systempropsforauth.html.md.erb
deleted file mode 100644
index bbfae31..0000000
--- a/geode-docs/nativeclient/security/systempropsforauth.html.md.erb
+++ /dev/null
@@ -1,68 +0,0 @@
----
-title:  Configuring Credentials for Authentication
----
-
-The native client uses system properties to acquire valid credentials for authentication by the server. You define these properties in the `gfcpp.properties` file, which the native client accesses during startup.
-
-## <a id="security__section_E1835A3B22D44D47A4C9DB54A3590B71" class="no-quick-link"></a>security-client-auth-factory
-
-System property for the factory function of the class implementing the `AuthInitialize` interface (`IAuthInitialize` in .NET). The .NET clients can load both C++ and .NET implementations. For .NET implementations, this property is the fully qualified name of the static factory function (including the namespace and class).
-
-## <a id="security__section_15C6689C363B469B947B177E1DE73208" class="no-quick-link"></a>security-client-auth-library
-
-System property for the library where the factory methods reside. The library is loaded explicitly and the factory functions are invoked dynamically, returning an object of the class implementing the `AuthInitialize` interface.
-
-Other implementations of the `AuthInitialize` interface may be required to build credentials using properties that are also passed as system properties. These properties also start with the security- prefix. For example, the PKCS implementation requires an alias name and the corresponding keystore path, which are specified as `security-alias` and `security-keystorepath`, respectively. Similarly, `UserPasswordAuthInit `requires a username specified in `security-username`, and the corresponding password is specified in the `security-password` system property.
-
-The `getCredentials` function for the `AuthInitialize` interface is called to obtain the credentials. All system properties starting with security- are passed to this callback as the first argument to the `getCredentials` function, using this prototype:
-
-`PropertiesPtr getCredentials(PropertiesPtr& securityprops, const char                     *server);`
-
-## <a id="security__section_869DD42F1B23450D9425712EBBD5CB1C" class="no-quick-link"></a>Implementing the Factory Method for Authentication (C++ and .NET)
-
-The following examples show how to implement the factory method in both C++ and .NET. **C++ Implementation**
-
-``` pre
-LIBEXP AuthInitialize* createPKCSAuthInitInstance()
-{
-    return new PKCSAuthInit( );
-}
-```
-
-**.NET Implementation**
-
-``` pre
-public static IAuthInitialize Create()
-{
-    return new UserPasswordAuthInit();
-}
-```
-
-Implementations of the factory method are user-provided. Credentials in the form of properties returned by this function are sent by the client to the server for authentication during the client\u2019s handshake process with the server.
-
-The Geode native client installation provides sample security implementations in its `templates/security` folder.
-
-## <a id="security__section_9DEC6B55C76D446FB0821AF3B3922BD6" class="no-quick-link"></a>Acquiring Credentials Programmatically (C++ and .NET)
-
-This example shows a C++ client connecting with credentials.
-
-``` pre
-PropertiesPtr secProp = Properties::create();
-secProp->insert("security-client-auth-factory", "createPKCSAuthInitInstance");
-secProp->insert("security-client-auth-library", "securityImpl");
-secProp->insert("security-keystorepath", "keystore/gemfire6.keystore");
-secProp->insert("security-alias", "gemfire6");
-secProp->insert("security-zkeystorepass", "gemfire");
-CacheFactoryPtr cacheFactoryPtr = CacheFactory::createCacheFactory(secProp);
-```
-
-This example shows a .NET client.
-
-``` pre
-Properties secProp = Properties.Create();
-secProp.Insert("security-client-auth-factory", 
-   "GemStone.GemFire.Templates.Cache.Security.UserPasswordAuthInit.Create");
-secProp.Insert("security-client-auth-library", "securityImpl");
-secProp.Insert("security-username"," gemfire6");
-secProp.Insert("security-password"," gemfire6Pass);
-```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/security/usingoperationcontext.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/security/usingoperationcontext.html.md.erb b/geode-docs/nativeclient/security/usingoperationcontext.html.md.erb
deleted file mode 100644
index 75bb22a..0000000
--- a/geode-docs/nativeclient/security/usingoperationcontext.html.md.erb
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title:  Determining Pre- or Post-Operation Authorization
----
-
-The `OperationContext` object that is passed to the `authorizeOperation` method of the callback as the second argument provides an `isPostOperation` method that returns true when the callback is invoked in the post-operation phase.
-
-For example:
-
-``` pre
-bool authorizeOperation(Region region, OperationContext context) {
-    if (context.isPostOperation()) {
-        //it's a post-operation
-    } else {
-        //it's a pre-operation
-    }
-}
-```
-
-If an authorization failure occurs in a pre-operation or post-operation callback on the server, the operation throws a `NotAuthorizedException` on the client.
-
-For more information, see [Authorization](../../managing/security/authorization_overview.html).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/setting-properties/attribute-def-priority.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/setting-properties/attribute-def-priority.html.md.erb b/geode-docs/nativeclient/setting-properties/attribute-def-priority.html.md.erb
deleted file mode 100644
index 953c92c..0000000
--- a/geode-docs/nativeclient/setting-properties/attribute-def-priority.html.md.erb
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title:  Attribute Definition Priority
----
-
-You can specify attributes in different ways, which can cause conflicting definitions. Applications can be configured programmatically, and that has priority over other settings.
-
-Check your application documentation to see whether this applies in your case.
-
--   Programmatic configuration
--   Properties set at the command line
--   `currentWorkingDirectory/gfcpp.properties` file
--   `productDir/defaultSystem/gfcpp.properties` file
--   Geode defaults
-
-In case an attribute is defined in more than one place, the first source in this list is used:
-
-The `gfcpp.properties` files and programmatic configuration are optional. If they are not present, no warnings or errors occur. For details on programmatic configuration through the `Properties` object, see [Defining Properties Programmatically](define-programmatically.html#define-programmatically).
-
-For information on the cache server configuration, see the *User's Guide*.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/setting-properties/attributes-gfcpp.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/setting-properties/attributes-gfcpp.html.md.erb b/geode-docs/nativeclient/setting-properties/attributes-gfcpp.html.md.erb
deleted file mode 100644
index 4e5a8c6..0000000
--- a/geode-docs/nativeclient/setting-properties/attributes-gfcpp.html.md.erb
+++ /dev/null
@@ -1,264 +0,0 @@
----
-title:  Attributes in gfcpp.properties
----
-
-A variety of `gfcpp.properties` settings can be used when a native client connects to a distributed system.
-
-The following settings can be configured:
-
--   **[General Properties](attributes-gfcpp.html#attributes-gfcpp__table_21004C9E93294F03BE3469C13EA33262)** Basic information for the process, such as cache creation parameters.
--   **[Logging Properties](attributes-gfcpp.html#attributes-gfcpp__table_D42627049FD6432494BDE5170AF1BCCF)** How and where to log system messages.
--   **[Statistics Archiving Properties](attributes-gfcpp.html#attributes-gfcpp__table_E1A0EDBA67CD41319E1E5FD0A0BB2723)** How to collect and archive statistics information.
--   **[Durable Client Properties](attributes-gfcpp.html#attributes-gfcpp__table_BA6DAF27947B4A9488787E6BDCFC15B9)** Information about the durable clients connected to the system.
--   **[Security Properties](attributes-gfcpp.html#attributes-gfcpp__table_B3A8E9EB44A94557A97BB700E2BA1EF1)** Information about various security parameters.
-
-## <a id="attributes-gfcpp__section_655789BCC46642789F91CDA8AE03CD9B" class="no-quick-link"></a>Attribute Definitions
-
-The following tables list Geode configuration attributes that can be stored in the `gfcpp.properties` file to be read by a native client.
-
-For the system properties that relate to high availability, see [Sending Periodic Acknowledgement](../preserving-data/sending-periodic-ack.html#concept_868B8082463846DE9F35BBEA56105C82). For a list of security-related system properties and their descriptions, see the table [System Properties for Client Authentication and Authorization](../security/security-systemprops.html#security__table_92A6A66523764199A19BCD66BA189921).
-
-<a id="attributes-gfcpp__table_21004C9E93294F03BE3469C13EA33262"></a>
-
-<table>
-<caption><span class="tablecap">Table 1. Attributes in gfcpp.properties\u2014General Properties</span></caption>
-<colgroup>
-<col width="33%" />
-<col width="33%" />
-<col width="34%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th>gfcpp.properties Attribute</th>
-<th>Description</th>
-<th>Default</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td>appdomain-enabled</td>
-<td>If <code class="ph codeph">true</code>, allows native client to work when multiple .NET appdomains are in use.</td>
-<td>false</td>
-</tr>
-<tr class="even">
-<td>cache-xml-file</td>
-<td>Name and path of the file whose contents are used by default to initialize a cache if one is created. If not specified, the native client starts with an empty cache, which is populated at runtime.
-<p>See <a href="../cache-init-file/chapter-overview.html#chapter-overview">Cache Initialization File</a> for more information on the cache initialization file.</p></td>
-<td>no default</td>
-</tr>
-<tr class="odd">
-<td>heap-lru-delta</td>
-<td>When heap LRU is triggered, this is the amount that gets added to the percentage that is above the <code class="ph codeph">heap-lru-limit</code> amount. LRU continues until the memory usage is below <code class="ph codeph">heap-lru-limit</code> minus this percentage. This property is only used if <code class="ph codeph">heap-lru-limit</code> is greater than 0 .</td>
-<td>10</td>
-</tr>
-<tr class="even">
-<td>heap-lru-limit</td>
-<td>Maximum amount of memory, in megabytes, used by the cache for all regions. If this limit is exceeded by <code class="ph codeph">heap-lru-delta</code> percent, LRU reduces the memory footprint as necessary. If not specified, or set to 0, memory usage is governed by each region's LRU entries limit, if any.</td>
-<td>0</td>
-</tr>
-<tr class="odd">
-<td>conflate-events</td>
-<td>Client side conflation setting, which is sent to the server.</td>
-<td>server</td>
-</tr>
-<tr class="even">
-<td>connect-timeout</td>
-<td>Amount of time (in seconds) to wait for a response after a socket connection attempt.</td>
-<td>59</td>
-</tr>
-<tr class="odd">
-<td>connection-pool-size</td>
-<td>Number of connections per endpoint</td>
-<td>5</td>
-</tr>
-<tr class="even">
-<td>crash-dump-enabled</td>
-<td>Whether crash dump generation for unhandled fatal errors is enabled. True is enabled, false otherwise.</td>
-<td>true</td>
-</tr>
-<tr class="odd">
-<td>disable-chunk-handler-thread</td>
-<td>When set to false, each application thread processes its own response. If set to true, the chunk-handler-thread processes the response for each application thread.</td>
-<td>false</td>
-</tr>
-<tr class="even">
-<td>disable-shuffling-of-endpoints</td>
-<td>If true, prevents server endpoints that are configured in pools from being shuffled before use.</td>
-<td>false</td>
-</tr>
-<tr class="odd">
-<td>grid-client</td>
-<td>If true, the client does not start various internal threads, so that startup and shutdown time is reduced.</td>
-<td>false</td>
-</tr>
-<tr class="even">
-<td>max-fe-threads</td>
-<td>Thread pool size for parallel function execution. An example of this is the GetAll operations.</td>
-<td>2 * number of CPU cores</td>
-</tr>
-<tr class="odd">
-<td>max-socket-buffer-size</td>
-<td>Maximum size of the socket buffers, in bytes, that the native client will try to set for client-server connections.</td>
-<td>65 * 1024</td>
-</tr>
-<tr class="even">
-<td>notify-ack-interval</td>
-<td>Interval, in seconds, in which client sends acknowledgments for subscription notifications.</td>
-<td>1</td>
-</tr>
-<tr class="odd">
-<td>notify-dupcheck-life</td>
-<td>Amount of time, in seconds, the client tracks subscription notifications before dropping the duplicates.</td>
-<td>300</td>
-</tr>
-<tr class="even">
-<td>ping-interval</td>
-<td>Interval, in seconds, between communication attempts with the server to show the client is alive. Pings are only sent when the <code class="ph codeph">ping-interval</code> elapses between normal client messages. This must be set lower than the server's <code class="ph codeph">maximum-time-between-pings</code>.</td>
-<td>10</td>
-</tr>
-<tr class="odd">
-<td>redundancy-monitor-interval</td>
-<td>Interval, in seconds, at which the subscription HA maintenance thread checks for the configured redundancy of subscription servers.</td>
-<td>10</td>
-</tr>
-<tr class="even">
-<td>stacktrace-enabled</td>
-<td>If <code class="ph codeph">true</code>, the exception classes capture a stack trace that can be printed with their <code class="ph codeph">printStackTrace</code> function. If false, the function prints a message that the trace is unavailable.</td>
-<td>false</td>
-</tr>
-<tr class="odd">
-<td>tombstone-timeout</td>
-<td>Time in milliseconds before a tombstone entry goes away, when region consistency checking is enabled.
-<div class="note note">
-**Note:**
-<p>This timeout's default has been determined heuristically through experience with many systems. Careful consideration should be applied before changing the value away from the default.</p>
-</div></td>
-<td>480000</td>
-</tr>
-</tbody>
-</table>
-
-
-<a id="attributes-gfcpp__table_D42627049FD6432494BDE5170AF1BCCF"></a>
-
-<table>
-<caption><span class="tablecap">Table 2. Attributes in gfcpp.properties\u2014Logging Properties</span></caption>
-<colgroup>
-<col width="34%" />
-<col width="33%" />
-<col width="33%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th>gfcpp.properties Attribute</th>
-<th>Description</th>
-<th>Default</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td>log-disk-space-limit</td>
-<td>Maximum amount of disk space, in megabytes, allowed for all log files, current, and rolled. If set to 0, the space is unlimited.</td>
-<td>0</td>
-</tr>
-<tr class="even">
-<td>log-file</td>
-<td>Name and full path of the file where a running client writes log messages. If not specified, logging goes to <code class="ph codeph">stdout</code>.</td>
-<td>no default file</td>
-</tr>
-<tr class="odd">
-<td>log-file-size-limit</td>
-<td>Maximum size, in megabytes, of a single log file. Once this limit is exceeded, a new log file is created and the current log file becomes inactive. If set to 0, the file size is unlimited.</td>
-<td>0</td>
-</tr>
-<tr class="even">
-<td>log-level</td>
-<td>Controls the types of messages that are written to the application's log. These are the levels, in descending order of severity and the types of message they provide:
-<ul>
-<li><strong>Error</strong> (highest severity) is a serious failure that will probably prevent program execution.</li>
-<li><strong>Warning</strong> is a potential problem in the system.</li>
-<li><strong>Info</strong> is an informational message of interest to the end user and system administrator.</li>
-<li><strong>Config</strong> is a static configuration message, often used to debug problems with particular configurations.</li>
-<li><strong>Fine, Finer, Finest, and Debug</strong> provide tracing information. Only use these with guidance from technical support.</li>
-</ul>
-<p>Enabling logging at any level enables logging for all higher levels.</p></td>
-<td>config</td>
-</tr>
-</tbody>
-</table>
-
-
-<a id="attributes-gfcpp__table_E1A0EDBA67CD41319E1E5FD0A0BB2723"></a>
-
-<table>
-<caption><span class="tablecap">Table 3. Attributes in gfcpp.properties\u2014Statistics Archiving Properties</span></caption>
-<colgroup>
-<col width="33%" />
-<col width="33%" />
-<col width="34%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th>gfcpp.properties Attribute</th>
-<th>Description</th>
-<th>Default</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td>statistic-sampling-enabled</td>
-<td>Controls whether the process creates a statistic archive file.</td>
-<td>true</td>
-</tr>
-<tr class="even">
-<td>statistic-archive-file</td>
-<td>Name and full path of the file where a running system member writes archives statistics. If <code class="ph codeph">archive-disk-space-limit</code> is not set, the native client appends the process ID to the configured file name, like <code class="ph codeph">statArchive-PID.gfs</code>. If the space limit is set, the process ID is not appended but each rolled file name is renamed to statArchive-ID.gfs, where ID is the rolled number of the file.</td>
-<td>./statArchive.gfs</td>
-</tr>
-<tr class="odd">
-<td>archive-disk-space-limit</td>
-<td>Maximum amount of disk space, in megabytes, allowed for all archive files, current, and rolled. If set to 0, the space is unlimited.</td>
-<td>0</td>
-</tr>
-<tr class="even">
-<td>archive-file-size-limit</td>
-<td>Maximum size, in bytes, of a single statistic archive file. Once this limit is exceeded, a new statistic archive file is created and the current archive file becomes inactive. If set to 0, the file size is unlimited.</td>
-<td>0</td>
-</tr>
-<tr class="odd">
-<td>statistic-sample-rate</td>
-<td>Rate, in seconds, that statistics are sampled. Operating system statistics are updated only when a sample is taken. If statistic archival is enabled, then these samples are written to the archive.
-<p>Lowering the sample rate for statistics reduces system resource use while still providing some statistics for system tuning and failure analysis.</p>
-<p>You can view archived statistics with the optional VSD utility.</p></td>
-<td>1</td>
-</tr>
-<tr class="even">
-<td>enable-time-statistics</td>
-<td>Enables time-based statistics for the distributed system and caching. For performance reasons, time-based statistics are disabled by default. See <a href="../system-statistics/chapter_overview.html#concept_3BE5237AF2D34371883453E6A9474A79">System Statistics</a>. </td>
-<td>false</td>
-</tr>
-</tbody>
-</table>
-
-
-### <a id="attributes-gfcpp__table_BA6DAF27947B4A9488787E6BDCFC15B9" class="no-quick-link"></a>Table 4. Attributes in gfcpp.properties\u2014Durable Client Properties
-
-| gfcpp.properties Attribute | Description                                                                                                                                                                                                                                                                    | Default |
-|----------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|
-| auto-ready-for-events      | Whether client subscriptions automatically receive events when declaratively configured via XML. If set to `false`, event startup is not automatic and you need to call the `Cache.ReadyForEvents()` method API after subscriptions for the server to start delivering events. | true    |
-| durable-client-id          | Identifier to specify if you want the client to be durable.                                                                                                                                                                                                                    | empty   |
-| durable-timeout            | Time, in seconds, a durable client's subscription is maintained when it is not connected to the server before being dropped.                                                                                                                                                   | 300     |
-
-
-### <a id="attributes-gfcpp__table_B3A8E9EB44A94557A97BB700E2BA1EF1" class="no-quick-link"></a>Table 5. Attributes in gfcpp.properties\u2014Security Properties
-
-| gfcpp.properties Attribute   | Description                                                          | Default |
-|------------------------------|----------------------------------------------------------------------|---------|
-| security-client-dhalgo       | Diffie-Hellman secret key algorithm.                                 | null    |
-| security-client-kspath       | keystore (.pem file ) path.                                          | null    |
-| security-client-auth-factory | Factory method for the security `AuthInitialize` module.             | empty   |
-| security-client-auth-library | Path to the client security library for the `AuthInitialize` module. | empty   |
-| ssl-keystore-password        | Keystore password.                                                   | null    |
-
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/setting-properties/cache-server-config.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/setting-properties/cache-server-config.html.md.erb b/geode-docs/nativeclient/setting-properties/cache-server-config.html.md.erb
deleted file mode 100644
index de5de3b..0000000
--- a/geode-docs/nativeclient/setting-properties/cache-server-config.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  Cache Server Configuration
----
-
-You configure the cache server in two files: `gemfire.properties` for server system-level configuration and `cache.xml` for cache-level configuration.
-
-The configuration of the caches is part of the application development process. See [Cache Initialization File](../cache-init-file/chapter-overview.html#chapter-overview). (The cache-level configuration file is generally referred to as `cache.xml`, but you can use any name.)
-
-## <a id="cache-server-config__section_FED30097F6C246DE843EBD8B5292D86C" class="no-quick-link"></a>Configuration File Locations
-
-For the GemFire cache server, the `gemfire.properties` file is usually stored in the current working directory. For more information, see the *User's Guide*.
-
-For the `cache.xml` cache configuration file, a native client looks for the path specified by the `cache-xml-file` attribute in `gfcpp.properties` (see [Attributes in gfcpp.properties](attributes-gfcpp.html#attributes-gfcpp)). If the `cache.xml` is not found, the process starts with an unconfigured cache.
-
-## <a id="cache-server-config__section_F47DE4D858B04244956B91360AD8967E" class="no-quick-link"></a>Modifying Attributes Outside the gemfire.properties File
-
-In addition to the `gemfire.properties file`, you can pass attributes to the cache server on the gfsh command line. These override any settings found in the `gemfire.properties` file when starting the cache server.
-
-For more information, see *Configuring a Cluster* in the *User's Guide*.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/setting-properties/chapter-overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/setting-properties/chapter-overview.html.md.erb b/geode-docs/nativeclient/setting-properties/chapter-overview.html.md.erb
deleted file mode 100644
index 899989d..0000000
--- a/geode-docs/nativeclient/setting-properties/chapter-overview.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  Setting System Properties
----
-
-*Setting System Properties* describes how to configure Apache Geode native clients and cache servers to participate in a distributed system.
-
--   **[Configuring the Native Client and Cache Server](../../nativeclient/setting-properties/config-overview.html)**
-
-    You can configure clients through files and API calls. The servers are configured through command-line input and configuration files.
-
--   **[Attributes in gfcpp.properties](../../nativeclient/setting-properties/attributes-gfcpp.html)**
-
-    A variety of `gfcpp.properties` settings can be used when a native client connects to a distributed system.
-
--   **[gfcpp.properties Example File](../../nativeclient/gfcpp.properties/chapter_overview.html)**
-
-    Use the gfcpp.properties file to configure distributed system connections for the Apache Geode native client.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/setting-properties/config-overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/setting-properties/config-overview.html.md.erb b/geode-docs/nativeclient/setting-properties/config-overview.html.md.erb
deleted file mode 100644
index 212d9d8..0000000
--- a/geode-docs/nativeclient/setting-properties/config-overview.html.md.erb
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title:  Configuring the Native Client and Cache Server
----
-
-You can configure clients through files and API calls. The servers are configured through command-line input and configuration files.
-
--   **[Native Client Configuration](../../nativeclient/setting-properties/native-client-config.html)**
-
-    You configure the native client in two files: `gfcpp.properties` for native client system-level configuration and `cache.xml` for cache-level configuration.
-
--   **[Cache Server Configuration](../../nativeclient/setting-properties/cache-server-config.html)**
-
-    You configure the cache server in two files: `gemfire.properties` for server system-level configuration and `cache.xml` for cache-level configuration.
-
--   **[Attribute Definition Priority](../../nativeclient/setting-properties/attribute-def-priority.html)**
-
-    You can specify attributes in different ways, which can cause conflicting definitions. Applications can be configured programmatically, and that has priority over other settings.
-
--   **[Search Path for Multiple gfcpp.properties Files](../../nativeclient/gfcpp.properties/gfcpp.properties_search_path.html)**
-
-    The native client and cache server processes first look for their properties file in the `productDir/defaultSystem` directory, then in the working directory.
-
--   **[Overriding gfcpp.properties Settings](../../nativeclient/gfcpp.properties/overriding_gfcpp.properties.html)**
-
-    Application developers have the option of configuring system attributes programmatically, rather than using the `gfcpp.properties` file.
-
--   **[Defining Properties Programmatically](../../nativeclient/setting-properties/define-programmatically.html)**
-
-    You can pass in specific gfcpp properties programmatically by using a `Properties` object to define the non-default properties.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/setting-properties/define-programmatically.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/setting-properties/define-programmatically.html.md.erb b/geode-docs/nativeclient/setting-properties/define-programmatically.html.md.erb
deleted file mode 100644
index 94141d6..0000000
--- a/geode-docs/nativeclient/setting-properties/define-programmatically.html.md.erb
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title:  Defining Properties Programmatically
----
-
-You can pass in specific gfcpp properties programmatically by using a `Properties` object to define the non-default properties.
-
-Example:
-
-``` pre
-PropertiesPtr systemProps = Properties::create();
-systemProps->insert( "statistic-archive-file", "stats.gfs" );
-systemProps->insert( "cache-xml-file", "./myapp-cache.xml" );
-systemProps->insert( "stacktrace-enabled", "true" );
-CacheFactoryPtr systemPtr = CacheFactory::createCacheFactory(systemProps);
-    
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/setting-properties/native-client-config.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/setting-properties/native-client-config.html.md.erb b/geode-docs/nativeclient/setting-properties/native-client-config.html.md.erb
deleted file mode 100644
index 3c272a2..0000000
--- a/geode-docs/nativeclient/setting-properties/native-client-config.html.md.erb
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title:  Native Client Configuration
----
-
-You configure the native client in two files: `gfcpp.properties` for native client system-level configuration and `cache.xml` for cache-level configuration.
-
-The configuration of the caches is part of the application development process. See [Cache Initialization File](../cache-init-file/chapter-overview.html#chapter-overview). (The cache-level configuration file is generally referred to as `cache.xml`, but you can use any name.)
-
-## <a id="native-client-config__section_67D24B8F8C6C46CDA3474E6E42963D04" class="no-quick-link"></a>About gfcpp.properties Configuration File
-
-The `gfcpp.properties` file provides local settings required to connect a client to a distributed system, along with settings for licensing, logging, and statistics. See [Attributes in gfcpp.properties](attributes-gfcpp.html#attributes-gfcpp).
-
-The application software may include a set of `gfcpp.properties` files. You set any attributes needed for the application design in these files, then you can add any attributes needed for the local site.
-
-If you do not have `gfcpp.properties` files, use any text editor to create them. See [gfcpp.properties Example File](../gfcpp.properties/chapter_overview.html#concept_41DADD6F4E41495A89CCBB8A790ED9DF) for a sample of the file format and contents.
-
-## <a id="native-client-config__section_88780874FD6C4BBD9B1B993758A985BB" class="no-quick-link"></a>Configuration File Locations
-
-A native client looks for `gfcpp.properties` first in the working directory where the process runs, then in `productDir/defaultSystem`. Use the `defaultSystem` directory to group configuration files or to share them among processes for more convenient administration. If `gfcpp.properties` is not found, the process starts up with the default settings.
-
-For the `cache.xml` cache configuration file, a native client looks for the path specified by the `cache-xml-file` attribute in `gfcpp.properties` (see [Attributes in gfcpp.properties](attributes-gfcpp.html#attributes-gfcpp)). If the `cache.xml` is not found, the process starts with an unconfigured cache.
-
-## <a id="native-client-config__section_6EBE269F15A1497BB4ABBF659F978DA1" class="no-quick-link"></a>Configuring System Properties for the Native Client
-
-The typical configuration procedure for a native client includes the high-level steps listed below. The rest of this chapter provides the details.
-
-1.  Place the `gfcpp.properties` file for the application in the working directory or in `productDir/defaultSystem`. Use the configuration file that came with the application software if there is one, or create your own. See [gfcpp.properties Example File](../gfcpp.properties/chapter_overview.html#concept_41DADD6F4E41495A89CCBB8A790ED9DF) for a sample of the file format and contents.
-2.  Place the `cache.xml` file for the application in the desired location and specify its path in the `gfcpp.properties` file.
-3.  Add other attributes to the `gfcpp.properties` file as needed for the local system architecture. See [Attributes in gfcpp.properties](attributes-gfcpp.html#attributes-gfcpp) for the configurable attributes, and [gfcpp.properties Example File](../gfcpp.properties/chapter_overview.html#concept_41DADD6F4E41495A89CCBB8A790ED9DF) for a sample of the file format.
-
-## <a id="native-client-config__section_7F09E85DD0144972AAA7028D81780129" class="no-quick-link"></a>Running a Native Client Out of the Box
-
-If you start a native client without any configurations, it uses any attributes set programmatically plus any hard-coded defaults (listed in [Attributes in gfcpp.properties](attributes-gfcpp.html#attributes-gfcpp)). Running with the defaults is a convenient way to learn the operation of the distributed system and to test which attributes need to be reconfigured for your environment.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/sqlite-persistence/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/sqlite-persistence/chapter_overview.html.md.erb b/geode-docs/nativeclient/sqlite-persistence/chapter_overview.html.md.erb
deleted file mode 100644
index ed01b0f..0000000
--- a/geode-docs/nativeclient/sqlite-persistence/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title:  Installing the SQLite Persistence Manager
----
-
-This section describes how to download, build and install the SQLite database libraries for use with disk overflow.
-
-See [PersistenceManager](../client-cache/persistence-manager.html#persistence-manager) for additional information about the SQLite database libraries.
-
--   **[Linux Installation](../../nativeclient/sqlite-persistence/linux_install.html)**
-
-    This topic describes how to install the SQLite Persistence Manager on Linux for use with the Geode native client.
-
--   **[Solaris Installation](../../nativeclient/sqlite-persistence/solaris_install.html)**
-
-    This topic describes how to install the SQLite Persistence Manager on Solaris for use with the Geode native client.
-
--   **[Windows Installation](../../nativeclient/sqlite-persistence/windows_install.html)**
-
-    This topic describes how to install the SQLite Persistence Manager on Windows for use with the Geode native client.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/sqlite-persistence/linux_install.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/sqlite-persistence/linux_install.html.md.erb b/geode-docs/nativeclient/sqlite-persistence/linux_install.html.md.erb
deleted file mode 100644
index b75b6e4..0000000
--- a/geode-docs/nativeclient/sqlite-persistence/linux_install.html.md.erb
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title:  Linux Installation
----
-
-This topic describes how to install the SQLite Persistence Manager on Linux for use with the Geode native client.
-
-The *`productDir`* directory refers to the path to the native client product directory.
-
-The following libraries must be present in the runtime linking path:
-
--   `libSqLiteImpl.so` is provided in <code><i>productDir</i>/lib</code>, so it is already present in the runtime linking path.
--   `libsqlite3.so` is the SQLite Library. You need to create this library and make available in the runtime linking path, or copied to <code><i>productDir</i>/lib</code>, as described below.
-
-The Geode Native Client has been tested with SQLite v3.7.14.1.
-
-## <a id="concept_CC9BD47B46DE4281BBB789FABE6ABEA9__section_FAB703D706D54311963399A714D466F9" class="no-quick-link"></a>Downloading, Building and Installing the Library
-
-You create the SQLite database library by downloading the latest .zip file and compiling the source code.
-
-1.  Download the source code `sqlite-autoconf-NNNNNNN.tar.gz` file (where *NNNNNNN* corresponds to the version) for SQLite v3.7.14.1 or later from [http://www.sqlite.org/download.html](http://www.sqlite.org/download.html).
-2.  Extract the source code from the .tar.gz file. For example:
-
-    ``` pre
-    tar -xvf sqlite-autoconf-3071401.tar.gz
-    ```
-
-3.  Change directories to the extracted source files, and follow the install instructions located in the "INSTALL" file.
-    1.  Run the `configure` command for 32-bit or 64-bit with the following options, all entered on a single command line. Change the` --prefix` directory specification to the location where you want the libraries:
-        -   **32-bit:**
-
-            ``` pre
-            CFLAGS="-m32" ./configure --prefix=/desired_binary_location/sqlite-binaries
-            ```
-        -   **64-bit:**
-
-            ``` pre
-            ./configure --prefix=/desired_binary_location/sqlite-binaries
-            ```
-
-    2.  Run `gmake                                     install` as described in the build instructions. The libraries will be available in the `sqlite-binaries` directory that you specified.
-
-4.  Copy `/desired_binary_location/sqlite-binaries/lib/libsqlite3.so` file to <code><i>productDir</i>/lib</code>.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/sqlite-persistence/solaris_install.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/sqlite-persistence/solaris_install.html.md.erb b/geode-docs/nativeclient/sqlite-persistence/solaris_install.html.md.erb
deleted file mode 100644
index 5c90278..0000000
--- a/geode-docs/nativeclient/sqlite-persistence/solaris_install.html.md.erb
+++ /dev/null
@@ -1,54 +0,0 @@
----
-title:  Solaris Installation
----
-
-This topic describes how to install the SQLite Persistence Manager on Solaris for use with the Geode native client.
-
-The *`productDir`* directory refers to the path to the native client product directory.
-
-The following libraries must be present in the runtime linking path:
-
--   `libSqLiteImpl.so` is provided in <code><i>productDir</i>/lib</code>, so it is already present in the runtime linking path.
--   `libsqlite3.so` is the SQLite Library. You need to create this library and make available in the runtime linking path, or copied to <code><i>productDir</i>/lib</code>, as described below.
-
-The Geode Native Client has been tested with SQLite v3.7.14.1.
-
-## <a id="concept_613BCAD15D9C4B3C94BBA3C1A26B6166__section_FAB703D706D54311963399A714D466F9" class="no-quick-link"></a>Downloading, Building, and Installing the Library
-
-You create the SQLite database library by downloading the latest .zip file and compiling the source code.
-
-1.  Download the source code `sqlite-autoconf-NNNNNNN.tar.gz` file (where *NNNNNNN* corresponds to the version) for SQLite v3.7.14.1 or later from [http://www.sqlite.org/download.html](http://www.sqlite.org/download.html).
-2.  Update your PATH environment variable to include the location of the Solaris `ar` command.
-
-    ``` pre
-    export PATH=/usr/css/bin:$PATH
-    ```
-
-3.  Extract the source code from the .tar.gz file. First unzip:
-
-    ``` pre
-    gzip -d sqlite-autoconf-3071401.tar.gz
-    ```
-
-    Then untar the file:
-
-    ``` pre
-    tar -xvf sqlite-autoconf-3071401.tar
-    ```
-
-4.  Change directories to the extracted source files, and follow the install instructions located in the "INSTALL" file.
-    1.  Run the `configure` command for 32-bit or 64-bit Solaris systems with the following options, all entered on a single command line. Change the` --prefix` directory specification to the location where you want the libraries:
-        -   **32-bit:**
-
-            ``` pre
-            CC=cc CFLAGS="-xarch=v8plus -code=pic32" ./configure --prefix=/desired_binary_location/sqlite-binaries
-            ```
-        -   **64-bit:**
-
-            ``` pre
-            CC=cc CFLAGS="-xarch=v9 -code=pic32" ./configure --prefix=/desired_binary_location/sqlite-binaries     CFLAGS="-m64"
-            ```
-
-    2.  Run `gmake install`. The libraries will be available in the `sqlite-binaries` directory that you specified.
-
-5.  Copy `/desired_binary_location/sqlite-binaries/lib/libsqlite3.so` file to <code><i>productDir</i>/lib</code>.



[31/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/partitioned_regions/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/chapter_overview.html.md.erb b/geode-docs/developing/partitioned_regions/chapter_overview.html.md.erb
new file mode 100644
index 0000000..56e65e1
--- /dev/null
+++ b/geode-docs/developing/partitioned_regions/chapter_overview.html.md.erb
@@ -0,0 +1,43 @@
+---
+title:  Partitioned Regions
+---
+
+In addition to basic region management, partitioned regions include options for high availability, data location control, and data balancing across the distributed system.
+
+-   **[Understanding Partitioning](../../developing/partitioned_regions/how_partitioning_works.html)**
+
+    To use partitioned regions, you should understand how they work and your options for managing them.
+
+-   **[Configuring Partitioned Regions](../../developing/partitioned_regions/managing_partitioned_regions.html)**
+
+    Plan the configuration and ongoing management of your partitioned region for host and accessor members and configure the regions for startup.
+
+-   **[Configuring the Number of Buckets for a Partitioned Region](../../developing/partitioned_regions/configuring_bucket_for_pr.html)**
+
+    Decide how many buckets to assign to your partitioned region and set the configuration accordingly.
+
+-   **[Custom-Partitioning and Colocating Data](../../developing/partitioned_regions/overview_custom_partitioning_and_data_colocation.html)**
+
+    You can customize how Apache Geode groups your partitioned region data with custom partitioning and data colocation.
+
+-   **[Configuring High Availability for Partitioned Regions](../../developing/partitioned_regions/overview_how_pr_ha_works.html)**
+
+    By default, Apache Geode stores only a single copy of your partitioned region data among the region's data stores. You can configure Geode to maintain redundant copies of your partitioned region data for high availability.
+
+-   **[Configuring Single-Hop Client Access to Server-Partitioned Regions](../../developing/partitioned_regions/overview_how_pr_single_hop_works.html)**
+
+    Single-hop data access enables the client pool to track where a partitioned region\u2019s data is hosted in the servers. To access a single entry, the client directly contacts the server that hosts the key, in a single hop.
+
+-   **[Rebalancing Partitioned Region Data](../../developing/partitioned_regions/rebalancing_pr_data.html)**
+
+    In a distributed system with minimal contention to the concurrent threads reading or updating from the members, you can use rebalancing to dynamically increase or decrease your data and processing capacity.
+
+-   **[Checking Redundancy in Partitioned Regions](../../developing/partitioned_regions/checking_region_redundancy.html)**
+
+    Under some circumstances, it can be important to verify that your partitioned region data is redundant and that upon member restart, redundancy has been recovered properly across partitioned region members.
+
+-   **[Moving Partitioned Region Data to Another Member](../../developing/partitioned_regions/moving_partitioned_data.html)**
+
+    You can use the `PartitionRegionHelper` `moveBucketByKey` and `moveData` methods to explicitly move partitioned region data from one member to another.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/partitioned_regions/checking_region_redundancy.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/checking_region_redundancy.html.md.erb b/geode-docs/developing/partitioned_regions/checking_region_redundancy.html.md.erb
new file mode 100644
index 0000000..a35de98
--- /dev/null
+++ b/geode-docs/developing/partitioned_regions/checking_region_redundancy.html.md.erb
@@ -0,0 +1,38 @@
+---
+title:  Checking Redundancy in Partitioned Regions
+---
+
+Under some circumstances, it can be important to verify that your partitioned region data is redundant and that upon member restart, redundancy has been recovered properly across partitioned region members.
+
+You can verify partitioned region redundancy by making sure that the `numBucketsWithoutRedundancy` statistic is **zero** for all your partitioned regions. To check this statistic, use the following `gfsh` command:
+
+``` pre
+gfsh>show metrics --categories=partition --region=region_name
+```
+
+For example:
+
+``` pre
+gfsh>show metrics --categories=partition --region=posts
+
+Cluster-wide Region Metrics
+--------- | --------------------------- | -----
+partition | putLocalRate                | 0
+          | putRemoteRate               | 0
+          | putRemoteLatency            | 0
+          | putRemoteAvgLatency         | 0
+          | bucketCount                 | 1
+          | primaryBucketCount          | 1
+          | numBucketsWithoutRedundancy | 1
+          | minBucketSize               | 1
+          | maxBucketSize               | 0
+          | totalBucketSize             | 1
+          | averageBucketSize           | 1
+      
+```
+
+If you have `start-recovery-delay=-1` configured for your partitioned region, you will need to perform a rebalance on your region after you restart any members in your cluster in order to recover redundancy.
+
+If you have `start-recovery-delay` set to a low number, you may need to wait extra time until the region has recovered redundancy.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/partitioned_regions/colocating_partitioned_region_data.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/colocating_partitioned_region_data.html.md.erb b/geode-docs/developing/partitioned_regions/colocating_partitioned_region_data.html.md.erb
new file mode 100644
index 0000000..f8f13a6
--- /dev/null
+++ b/geode-docs/developing/partitioned_regions/colocating_partitioned_region_data.html.md.erb
@@ -0,0 +1,111 @@
+---
+title:  Colocate Data from Different Partitioned Regions
+---
+
+By default, Geode allocates the data locations for a partitioned region independent of the data locations for any other partitioned region. You can change this policy for any group of partitioned regions, so that cross-region, related data is all hosted by the same member. This colocation speeds queries and other operations that access data from the regions.
+
+<a id="colocating_partitioned_region_data__section_131EC040055E48A6B35E981B5C845A65"></a>
+**Note:**
+If you are colocating data between regions and custom partitioning the data in the regions, all colocated regions must use partitioning mechanisms that return the same routing object. The most common approach, though not the only one, is for all colocated regions to use the same custom PartitionResolver. See [Custom-Partition Your Region Data](using_custom_partition_resolvers.html).
+
+Data colocation between partitioned regions generally improves the performance of data-intensive operations. You can reduce network hops for iterative operations on related data sets. Compute-heavy applications that are data-intensive can significantly increase overall throughput. For example, a query run on a patient's health records, insurance, and billing information is more efficient if all data is grouped in a single member. Similarly, a financial risk analytical application runs faster if all trades, risk sensitivities, and reference data associated with a single instrument are together.
+
+**Prerequisites**
+
+<a id="colocating_partitioned_region_data__section_5A8D752F02834146A37D9430F1CA32DA"></a>
+
+-   Understand how to configure and create your partitioned regions. See [Understanding Partitioning](how_partitioning_works.html) and [Configuring Partitioned Regions](managing_partitioned_regions.html#configure_partitioned_regions).
+-   (Optional) Understand how to custom-partition your data. See [Custom-Partition Your Region Data](using_custom_partition_resolvers.html).
+-   (Optional) If you want your colocated regions to be highly available, understand how high availability for partitioned regions works. See [Understanding High Availability for Partitioned Regions](how_pr_ha_works.html#how_pr_ha_works).
+-   (Optional) Understand how to persist your region data. See [Configure Region Persistence and Overflow](../storing_data_on_disk/storing_data_on_disk.html).
+
+**Procedure**
+
+1.  Identify one region as the central region, with which data in the other regions is explicitly colocated. If you use persistence for any of the regions, you must persist the central region.
+    1.  Create the central region before you create the others, either in the cache.xml or your code. Regions in the XML are created before regions in the code, so if you create any of your colocated regions in the XML, you must create the central region in the XML before the others. Geode will verify its existence when the others are created and return `IllegalStateException` if the central region is not there. Do not add any colocation specifications to this central region.
+    2.  For all other regions, in the region partition attributes, provide the central region's name in the `colocated-with` attribute. Use one of these methods:
+        -   XML:
+
+            ``` pre
+            <cache> 
+                <region name="trades"> 
+                    <region-attributes> 
+                        <partition-attributes>  
+                            ...
+                        <partition-attributes> 
+                    </region-attributes> 
+                </region> 
+                <region name="trade_history"> 
+                    <region-attributes> 
+                        <partition-attributes colocated-with="trades">   
+                            ...
+                        <partition-attributes> 
+                    </region-attributes> 
+                </region> 
+            </cache> 
+            ```
+        -   Java:
+
+            ``` pre
+            PartitionAttributes attrs = ...
+            Region trades = new RegionFactory().setPartitionAttributes(attrs).create("trades");
+            ...
+            attrs = new PartitionAttributesFactory().setColocatedWith(trades.getFullPath()).create();
+            Region trade_history = new RegionFactory().setPartitionAttributes(attrs).create("trade_history");
+            ```
+        -   gfsh:
+
+            ``` pre
+            gfsh>create region --name="trades" type=PARTITION
+            gfsh> create region --name="trade_history" --colocated-with="trades"
+            ```
+
+2.  For each of the colocated regions, use the same values for these partition attributes related to bucket management:
+    -   `recovery-delay`
+    -   `redundant-copies`
+    -   `startup-recovery-delay`
+    -   `total-num-buckets`
+
+3.  If you custom partition your region data, provide the same custom resolver to all colocated regions:
+    -   XML:
+
+        ``` pre
+        <cache> 
+            <region name="trades"> 
+                <region-attributes> 
+                    <partition-attributes>  
+                    <partition-resolver name="TradesPartitionResolver"> 
+                        <class-name>myPackage.TradesPartitionResolver
+                        </class-name>
+                    <partition-attributes> 
+                </region-attributes> 
+            </region> 
+            <region name="trade_history"> 
+                <region-attributes> 
+                    <partition-attributes colocated-with="trades">   
+                    <partition-resolver name="TradesPartitionResolver"> 
+                        <class-name>myPackage.TradesPartitionResolver
+                        </class-name>
+                    <partition-attributes> 
+                </region-attributes> 
+            </region> 
+        </cache> 
+        ```
+    -   Java:
+
+        ``` pre
+        PartitionResolver resolver = new TradesPartitionResolver();
+        PartitionAttributes attrs = 
+            new PartitionAttributesFactory()
+            .setPartitionResolver(resolver).create();
+        Region trades = new RegionFactory().setPartitionAttributes(attrs).create("trades");
+        attrs = new PartitionAttributesFactory()
+            .setColocatedWith(trades.getFullPath()).setPartitionResolver(resolver).create();
+        Region trade_history = new RegionFactory().setPartitionAttributes(attrs).create("trade_history");
+        ```
+    -   gfsh:
+
+        You cannot specify a partition resolver using gfsh.
+
+4.  If you want to persist data in the colocated regions, persist the central region and then persist the other regions as needed. Use the same disk store for all of the colocated regions that you persist.
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/partitioned_regions/configure_pr_single_hop.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/configure_pr_single_hop.html.md.erb b/geode-docs/developing/partitioned_regions/configure_pr_single_hop.html.md.erb
new file mode 100644
index 0000000..5518905
--- /dev/null
+++ b/geode-docs/developing/partitioned_regions/configure_pr_single_hop.html.md.erb
@@ -0,0 +1,22 @@
+---
+title:  Configure Client Single-Hop Access to Server-Partitioned Regions
+---
+
+Configure your client/server system for direct, single-hop access to partitioned region data in the servers.
+
+This requires a client/server installation that uses one or more partitioned regions on the server.
+
+1.  
+
+    Verify the client's pool attribute, `pr-single-hop-enabled` is not set or is set to true. It is true by default. 
+2.  
+
+    If possible, leave the pool\u2019s `max-connections` at the default unlimited setting (-1). 
+3.  
+
+    If possible, use a custom data resolver to partition your server region data according to your clients' data use patterns. See [Custom-Partition Your Region Data](using_custom_partition_resolvers.html). Include the server\u2019s partition resolver implementation in the client\u2019s `CLASSPATH`. The server passes the name of the resolver for each custom partitioned region, so the client uses the proper one. If the server does not use a partition resolver, the default partitioning between server and client matches, so single hop works. 
+4.  
+
+    Add single-hop considerations to your overall server load balancing plan. Single-hop uses data location rather than least loaded server to pick the servers for single-key operations. Poorly balanced single-hop data access can affect overall client/server load balancing. Some counterbalancing is done automatically because the servers with more single-key operations become more loaded and are less likely to be picked for other operations. 
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/partitioned_regions/configuring_bucket_for_pr.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/configuring_bucket_for_pr.html.md.erb b/geode-docs/developing/partitioned_regions/configuring_bucket_for_pr.html.md.erb
new file mode 100644
index 0000000..7ee7133
--- /dev/null
+++ b/geode-docs/developing/partitioned_regions/configuring_bucket_for_pr.html.md.erb
@@ -0,0 +1,53 @@
+---
+title:  Configuring the Number of Buckets for a Partitioned Region
+---
+
+Decide how many buckets to assign to your partitioned region and set the configuration accordingly.
+
+<a id="configuring_total_buckets__section_DF52B2BF467F4DB4B8B3D16A79EFCA39"></a>
+The total number of buckets for the partitioned region determines the granularity of data storage and thus how evenly the data can be distributed. Geode distributes the buckets as evenly as possible across the data stores. The number of buckets is fixed after region creation.
+
+The partition attribute `total-num-buckets` sets the number for the entire partitioned region across all participating members. Set it using one of the following:
+
+-   XML:
+
+    ``` pre
+    <region name="PR1"> 
+      <region-attributes refid="PARTITION"> 
+        <partition-attributes total-num-buckets="7"/> 
+      </region-attributes> 
+    </region> 
+    ```
+
+-   Java:
+
+    ``` pre
+    RegionFactory rf = 
+        cache.createRegionFactory(RegionShortcut.PARTITION);
+    rf.setPartitionAttributes(new PartitionAttributesFactory().setTotalNumBuckets(7).create());
+    custRegion = rf.create("customer");
+    ```
+
+-   gfsh:
+
+    Use the <span class="keyword parmname">--total-num-buckets</span> parameter of the `create region` command. For example:
+
+    ``` pre
+    gfsh>create region --name="PR1" --type=PARTITION --total-num-buckets=7
+    ```
+
+## <a id="configuring_total_buckets__section_C956D9BA41C546F89D07DCFE901E539F" class="no-quick-link"></a>Calculate the Total Number of Buckets for a Partitioned Region
+
+Follow these guidelines to calculate the total number of buckets for the partitioned region:
+
+-   Use a prime number. This provides the most even distribution.
+-   Make it at least four times as large as the number of data stores you expect to have for the region. The larger the ratio of buckets to data stores, the more evenly the load can be spread across the members. Note that there is a trade-off between load balancing and overhead, however. Managing a bucket introduces significant overhead, especially with higher levels of redundancy.
+
+You are trying to avoid the situation where some members have significantly more data entries than others. For example, compare the next two figures. This figure shows a region with three data stores and seven buckets. If all the entries are accessed at about the same rate, this configuration creates a hot spot in member M3, which has about fifty percent more data than the other data stores. M3 is likely to be a slow receiver and potential point of failure.
+
+<img src="../../images_svg/partitioned_data_buckets_1.svg" id="configuring_total_buckets__image_04B05CE3C732430C84D967A062D9EDDA" class="image" />
+
+Configuring more buckets gives you fewer entries in a bucket and a more balanced data distribution. This figure uses the same data as before but increases the number of buckets to 13. Now the data entries are distributed more evenly.
+
+<img src="../../images_svg/partitioned_data_buckets_2.svg" id="configuring_total_buckets__image_326202046D07414391BA5CBA474920CA" class="image" />
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/partitioned_regions/configuring_ha_for_pr.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/configuring_ha_for_pr.html.md.erb b/geode-docs/developing/partitioned_regions/configuring_ha_for_pr.html.md.erb
new file mode 100644
index 0000000..a9a98fb
--- /dev/null
+++ b/geode-docs/developing/partitioned_regions/configuring_ha_for_pr.html.md.erb
@@ -0,0 +1,41 @@
+---
+title:  Configure High Availability for a Partitioned Region
+---
+
+Configure in-memory high availability for your partitioned region. Set other high-availability options, like redundancy zones and redundancy recovery strategies.
+
+Here are the main steps for configuring high availability for a partitioned region. See later sections for details.
+
+1.  Set the number of redundant copies the system should maintain of the region data. See [Set the Number of Redundant Copies](set_pr_redundancy.html#set_pr_redundancy). 
+2.  (Optional) If you want to group your data store members into redundancy zones, configure them accordingly. See [Configure Redundancy Zones for Members](set_redundancy_zones.html#set_redundancy_zones). 
+3.  (Optional) If you want Geode to only place redundant copies on different physical machines, configure for that. See [Set Enforce Unique Host](set_enforce_unique_host.html#set_pr_redundancy). 
+4.  Decide how to manage redundancy recovery and change Geode's default behavior as needed. 
+    - **After a member crashes**. If you want automatic redundancy recovery, change the configuration for that. See [Configure Member Crash Redundancy Recovery for a Partitioned Region](set_crash_redundancy_recovery.html#set_crash_redundancy_recovery). 
+    - **After a member joins**. If you do *not* want immediate, automatic redundancy recovery, change the configuration for that. See [Configure Member Join Redundancy Recovery for a Partitioned Region](set_join_redundancy_recovery.html#set_join_redundancy_recovery). 
+
+5.  Decide how many buckets Geode should attempt to recover in parallel when performing redundancy recovery. By default, the system recovers up to 8 buckets in parallel. Use the `gemfire.MAX_PARALLEL_BUCKET_RECOVERIES` system property to increase or decrease the maximum number of buckets to recover in parallel any time redundancy recovery is performed.
+6.  For all but fixed partitioned regions, review the points at which you kick off rebalancing. Redundancy recovery is done automatically at the start of any rebalancing. This is most important if you run with no automated recovery after member crashes or joins. See [Rebalancing Partitioned Region Data](rebalancing_pr_data.html#rebalancing_pr_data). 
+
+During runtime, you can add capacity by adding new members for the region. For regions that do not use fixed partitioning, you can also kick off a rebalancing operation to spread the region buckets among all members.
+
+-   **[Set the Number of Redundant Copies](../../developing/partitioned_regions/set_pr_redundancy.html)**
+
+    Configure in-memory high availability for your partitioned region by specifying the number of secondary copies you want to maintain in the region's data stores.
+
+-   **[Configure Redundancy Zones for Members](../../developing/partitioned_regions/set_redundancy_zones.html)**
+
+    Group members into redundancy zones so Geode will separate redundant data copies into different zones.
+
+-   **[Set Enforce Unique Host](../../developing/partitioned_regions/set_enforce_unique_host.html)**
+
+    Configure Geode to use only unique physical machines for redundant copies of partitioned region data.
+
+-   **[Configure Member Crash Redundancy Recovery for a Partitioned Region](../../developing/partitioned_regions/set_crash_redundancy_recovery.html)**
+
+    Configure whether and how redundancy is recovered in a partition region after a member crashes.
+
+-   **[Configure Member Join Redundancy Recovery for a Partitioned Region](../../developing/partitioned_regions/set_join_redundancy_recovery.html)**
+
+    Configure whether and how redundancy is recovered in a partition region after a member joins.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/partitioned_regions/custom_partitioning_and_data_colocation.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/custom_partitioning_and_data_colocation.html.md.erb b/geode-docs/developing/partitioned_regions/custom_partitioning_and_data_colocation.html.md.erb
new file mode 100644
index 0000000..0cd5f63
--- /dev/null
+++ b/geode-docs/developing/partitioned_regions/custom_partitioning_and_data_colocation.html.md.erb
@@ -0,0 +1,41 @@
+---
+title:  Understanding Custom Partitioning and Data Colocation
+---
+
+Custom partitioning and data colocation can be used separately or in conjunction with one another.
+
+## <a id="custom_partitioning_and_data_colocation__section_ABFEE9CB17AF44F1AE252AC10FB5E999" class="no-quick-link"></a>Custom Partitioning
+
+Use custom partitioning to group like entries into region buckets within a region. By default, Geode assigns new entries to buckets based on the entry key contents. With custom partitioning, you can assign your entries to buckets in whatever way you want.
+
+You can generally get better performance if you use custom partitioning to group similar data within a region. For example, a query run on all accounts created in January runs faster if all January account data is hosted by a single member. Grouping all data for a single customer can improve performance of data operations that work on customer data. Data aware function execution takes advantage of custom partitioning.
+
+This figure shows a region with customer data that is grouped into buckets by customer.
+
+<img src="../../images_svg/custom_partitioned.svg" id="custom_partitioning_and_data_colocation__image_1D37D547D3244171BB9CADAEC88E7649" class="image" />
+
+With custom partitioning, you have two choices:
+
+-   **Standard custom partitioning**. With standard partitioning, you group entries into buckets, but you do not specify where the buckets reside. Geode always keeps the entries in the buckets you have specified, but may move the buckets around for load balancing.
+-   **Fixed custom partitioning**. With fixed partitioning, you provide standard partitioning plus you specify the exact member where each data entry resides. You do this by assigning the data entry to a bucket and to a partition and by naming specific members as primary and secondary hosts of each partition.
+
+    This gives you complete control over the locations of your primary and any secondary buckets for the region. This can be useful when you want to store specific data on specific physical machines or when you need to keep data close to certain hardware elements.
+
+    Fixed partitioning has these requirements and caveats:
+
+    -   Geode cannot rebalance fixed partition region data because it cannot move the buckets around among the host members. You must carefully consider your expected data loads for the partitions you create.
+    -   With fixed partitioning, the region configuration is different between host members. Each member identifies the named partitions it hosts, and whether it is hosting the primary copy or a secondary copy. You then program fixed partition resolver to return the partition id, so the entry is placed on the right members. Only one member can be primary for a particular partition name and that member cannot be the partition's secondary.
+
+## <a id="custom_partitioning_and_data_colocation__section_D2C66951FE38426F9C05050D2B9028D8" class="no-quick-link"></a>Data Colocation Between Regions
+
+With data colocation, Geode stores entries that are related across multiple data regions in a single member. Geode does this by storing all of the regions' buckets with the same ID together in the same member. During rebalancing operations, Geode moves these bucket groups together or not at all.
+
+So, for example, if you have one region with customer contact information and another region with customer orders, you can use colocation to keep all contact information and all orders for a single customer in a single member. This way, any operation done for a single customer uses the cache of only a single member.
+
+This figure shows two regions with data colocation where the data is partitioned by customer type.
+
+<img src="../../images_svg/colocated_partitioned_regions.svg" id="custom_partitioning_and_data_colocation__image_525AC474950F473ABCDE8E372583C5DF" class="image" />
+
+Data colocation requires the same data partitioning mechanism for all of the colocated regions. You can use the default partitioning provided by Geode or custom partitioning.
+
+You must use the same high availability settings across your colocated regions.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/partitioned_regions/how_partitioning_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/how_partitioning_works.html.md.erb b/geode-docs/developing/partitioned_regions/how_partitioning_works.html.md.erb
new file mode 100644
index 0000000..68e8dd2
--- /dev/null
+++ b/geode-docs/developing/partitioned_regions/how_partitioning_works.html.md.erb
@@ -0,0 +1,41 @@
+---
+title:  Understanding Partitioning
+---
+
+To use partitioned regions, you should understand how they work and your options for managing them.
+
+<a id="how_partitioning_works__section_B540C49A80124551853AFCE2DE6BCFE8"></a>
+During operation, a partitioned region looks like one large virtual region, with the same logical view held by all of the members where the region is defined.
+<img src="../../images_svg/how_partitioning_works_1.svg" id="how_partitioning_works__image_305566EA091A4CBBB108BE0EA7658C0A" class="image" />
+
+For each member where you define the region, you can choose how much space to allow for region data storage, including no local storage at all. The member can access all region data regardless of how much is stored locally.
+<img src="../../images_svg/how_partitioning_works_2.svg" id="how_partitioning_works__image_773C91B76D5E4739A1F81D9DF918BCDB" class="image" />
+
+A distributed system can have multiple partitioned regions, and it can mix partitioned regions with distributed regions and local regions. The usual requirement for unique region names, except for regions with local scope, still applies. A single member can host multiple partitioned regions.
+
+## <a id="how_partitioning_works__section_260C2455FC8C40A094B39BF585D06B7D" class="no-quick-link"></a>Data Partitioning
+
+Geode automatically determines the physical location of data in the members that host a partitioned region's data. Geode breaks partitioned region data into units of storage known as buckets and stores each bucket in a region host member. Buckets are distributed in accordance to the member\u2019s region attribute settings.
+
+When an entry is created, it is assigned to a bucket. Keys are grouped together in a bucket and always remain there. If the configuration allows, the buckets may be moved between members to balance the load.
+
+You must run the data stores needed to accommodate storage for the partitioned region\u2019s buckets. You can start new data stores on the fly. When a new data store creates the region, it takes responsibility for as many buckets as allowed by the partitioned region and member configuration.
+
+You can customize how Geode groups your partitioned region data with custom partitioning and data colocation.
+
+## <a id="how_partitioning_works__section_155F9D4AB539473F848FD05E413B21B3" class="no-quick-link"></a>Partitioned Region Operation
+
+A partitioned region operates much like a non-partitioned region with distributed scope. Most of the standard `Region` methods are available, although some methods that are normally local operations become distributed operations, because they work on the partitioned region as a whole instead of the local cache. For example, a `put` or `create` into a partitioned region may not actually be stored into the cache of the member that called the operation. The retrieval of any entry requires no more than one hop between members.
+
+Partitioned regions support the client/server model, just like other regions. If you need to connect dozens of clients to a single partitioned region, using servers greatly improves performance.
+
+## <a id="how_partitioning_works__section_3B47A291ADAB4988AF9D0DF34BC2CDAC" class="no-quick-link"></a>Additional Information About Partitioned Regions
+
+Keep the following in mind about partitioned regions:
+
+-   Partitioned regions never run asynchronously. Operations in partitioned regions always wait for acknowledgement from the caches containing the original data entry and any redundant copies.
+-   A partitioned region needs a cache loader in every region data store (`local-max-memory` &gt; 0).
+-   Geode distributes the data buckets as evenly as possible across all members storing the partitioned region data, within the limits of any custom partitioning or data colocation that you use. The number of buckets allotted for the partitioned region determines the granularity of data storage and thus how evenly the data can be distributed. The number of buckets is a total for the entire region across the distributed system.
+-   In rebalancing data for the region, Geode moves buckets, but does not move data around inside the buckets.
+-   You can query partitioned regions, but there are certain limitations. See [Querying Partitioned Regions](../querying_basics/querying_partitioned_regions.html#querying_partitioned_regions) for more information.
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/partitioned_regions/how_pr_ha_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/how_pr_ha_works.html.md.erb b/geode-docs/developing/partitioned_regions/how_pr_ha_works.html.md.erb
new file mode 100644
index 0000000..5082cc4
--- /dev/null
+++ b/geode-docs/developing/partitioned_regions/how_pr_ha_works.html.md.erb
@@ -0,0 +1,44 @@
+---
+title:  Understanding High Availability for Partitioned Regions
+---
+
+With high availability, each member that hosts data for the partitioned region gets some primary copies and some redundant (secondary) copies.
+
+<a id="how_pr_ha_works__section_04FDCC6C2130496F8B33B9DF5CDED362"></a>
+
+With redundancy, if one member fails, operations continue on the partitioned region with no interruption of service:
+
+-   If the member hosting the primary copy is lost, Geode makes a secondary copy the primary. This might cause a temporary loss of redundancy, but not a loss of data.
+-   Whenever there are not enough secondary copies to satisfy redundancy, the system works to recover redundancy by assigning another member as secondary and copying the data to it.
+
+**Note:**
+You can still lose cached data when you are using redundancy if enough members go down in a short enough time span.
+
+You can configure how the system works to recover redundancy when it is not satisfied. You can configure recovery to take place immediately or, if you want to give replacement members a chance to start up, you can configure a wait period. Redundancy recovery is also automatically attempted during any partitioned data rebalancing operation. Use the `gemfire.MAX_PARALLEL_BUCKET_RECOVERIES` system property to configure the maximum number of buckets that are recovered in parallel. By default, up to 8 buckets are recovered in parallel any time the system attempts to recover redundancy.
+
+Without redundancy, the loss of any of the region's data stores causes the loss of some of the region's cached data. Generally, you should not use redundancy when your applications can directly read from another data source, or when write performance is more important than read performance.
+
+## <a id="how_pr_ha_works__section_7045530D601F4C65A062B5FDD0DD9206" class="no-quick-link"></a>Controlling Where Your Primaries and Secondaries Reside
+
+By default, Geode places your primary and secondary data copies for you, avoiding placement of two copies on the same physical machine. If there are not enough machines to keep different copies separate, Geode places copies on the same physical machine. You can change this behavior, so Geode only places copies on separate machines.
+
+You can also control which members store your primary and secondary data copies. Geode provides two options:
+
+-   **Fixed custom partitioning**. This option is set for the region. Fixed partitioning gives you absolute control over where your region data is hosted. With fixed partitioning, you provide Geode with the code that specifies the bucket and data store for each data entry in the region. When you use this option with redundancy, you specify the primary and secondary data stores. Fixed partitioning does not participate in rebalancing because all bucket locations are fixed by you.
+-   **Redundancy zones**. This option is set at the member level. Redundancy zones let you separate primary and secondary copies by member groups, or zones. You assign each data host to a zone. Then Geode places redundant copies in different redundancy zones, the same as it places redundant copies on different physical machines. You can use this to split data copies across different machine racks or networks, This option allows you to add members on the fly and use rebalancing to redistribute the data load, with redundant data maintained in separate zones. When you use redundancy zones, Geode will not place two copies of the data in the same zone, so make sure you have enough zones.
+
+## <a id="how_pr_ha_works__section_87A2429B6277497184926E08E64B81C6" class="no-quick-link"></a>Running Processes in Virtual Machines
+
+By default, Geode stores redundant copies on different machines. When you run your processes in virtual machines, the normal view of the machine becomes the VM and not the physical machine. If you run multiple VMs on the same physical machine, you could end up storing partitioned region primary buckets in separate VMs, but on the same physical machine as your secondaries. If the physical machine fails, you can lose data. When you run in VMs, you can configure Geode to identify the physical machine and store redundant copies on different physical machines.
+
+## <a id="how_pr_ha_works__section_CAB9440BABD6484D99525766E937CB55" class="no-quick-link"></a>Reads and Writes in Highly-Available Partitioned Regions
+
+Geode treats reads and writes differently in highly-available partitioned regions than in other regions because the data is available in multiple members:
+
+-   Write operations (like `put` and `create`) go to the primary for the data keys and then are distributed synchronously to the redundant copies. Events are sent to the members configured with `subscription-attributes` `interest-policy` set to `all`.
+-   Read operations go to any member holding a copy of the data, with the local cache favored, so a read intensive system can scale much better and handle higher loads.
+
+In this figure, M1 is reading W, Y, and Z. It gets W directly from its local copy. Since it doesn't have a local copy of Y or Z, it goes to a cache that does, picking the source cache at random.
+
+<img src="../../images_svg/partitioned_data_HA.svg" id="how_pr_ha_works__image_574D1A1E641944D2A2DE68C4618D84B4" class="image" />
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/partitioned_regions/how_pr_single_hop_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/how_pr_single_hop_works.html.md.erb b/geode-docs/developing/partitioned_regions/how_pr_single_hop_works.html.md.erb
new file mode 100644
index 0000000..9002719
--- /dev/null
+++ b/geode-docs/developing/partitioned_regions/how_pr_single_hop_works.html.md.erb
@@ -0,0 +1,31 @@
+---
+title:  Understanding Client Single-Hop Access to Server-Partitioned Regions
+---
+
+With single-hop access the client connects to every server, so more connections are generally used. This works fine for smaller installations, but is a barrier to scaling.
+
+If you have a large installation with many clients, you may want to disable single hop by setting the pool attribute, `pr-single-hop-enabled` to false in your pool declarations.
+
+Without single hop, the client uses whatever server connection is available, the same as with all other operations. The server that receives the request determines the data location and contacts the host, which might be a different server. So more multiple-hop requests are made to the server system.
+
+**Note:**
+Single hop is used for the following operations: `put`, `get`, `destroy`, `putAll`, `getAll`, `removeAll` and `onRegion` function execution.
+
+Even with single hop access enabled, you will occasionally see some multiple-hop behavior. To perform single-hop data access, clients automatically get metadata from the servers about where the entry buckets are hosted. The metadata is maintained lazily. It is only updated after a single-hop operation ends up needing multiple hops, an indicator of stale metadata in the client.
+
+## <a id="how_pr_single_hop_works__section_AE4A6DA0064C4D5280336DD65CB107CC" class="no-quick-link"></a>Single Hop and the Pool max-connections Setting
+
+Do not set the pool's `max-connections` setting with single hop enabled. Limiting the pool's connections with single hop can cause connection thrashing, throughput loss, and server log bloat.
+
+If you need to limit the pool\u2019s connections, either disable single hop or keep a close watch on your system for these negative effects.
+
+Setting no limit on connections, however, can result in too many connections to your servers, possibly causing you to run up against your system\u2019s file handle limits. Review your anticipated connection use and make sure your servers are able to accommodate it.
+
+## <a id="how_pr_single_hop_works__section_99F27B724E5F4008BC8878D1CB4B9821" class="no-quick-link"></a>Balancing Single-Hop Server Connection Use
+
+Single-hop gives the biggest benefits when data access is well balanced across your servers. In particular, the loads for client/server connections can get out of balance if you have these in combination:
+
+-   Servers that are empty data accessors or that do not host the data the clients access through single-key operations
+-   Many single-key operations from the clients
+
+If data access is greatly out of balance, clients can thrash trying to get to the data servers. In this case, it might be faster to disable single hop and go through servers that do not host the data.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/partitioned_regions/join_query_partitioned_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/join_query_partitioned_regions.html.md.erb b/geode-docs/developing/partitioned_regions/join_query_partitioned_regions.html.md.erb
new file mode 100644
index 0000000..b8399e2
--- /dev/null
+++ b/geode-docs/developing/partitioned_regions/join_query_partitioned_regions.html.md.erb
@@ -0,0 +1,80 @@
+---
+title:  Performing an Equi-Join Query on Partitioned Regions
+---
+
+In order to perform equi-join operations on partitioned regions or partitioned regions and replicated regions, you need to use the `query.execute` method and supply it with a function execution context. You need to use Geode's FunctionService executor because join operations are not yet directly supported for partitioned regions without providing a function execution context.
+
+See [Partitioned Region Query Restrictions](../query_additional/partitioned_region_query_restrictions.html#concept_5353476380D44CC1A7F586E5AE1CE7E8) for more information on partitioned region query limitations.
+
+For example, let's say your equi-join query is the following:
+
+``` pre
+SELECT DISTINCT * FROM /QueryRegion1 r1,
+/QueryRegion2 r2 WHERE r1.ID = r2.ID
+```
+
+In this example QueryRegion2 is colocated with QueryRegion1, and both regions have same type of data objects.
+
+On the server side:
+
+``` pre
+ Function prQueryFunction1 = new QueryFunction();
+ FunctionService.registerFunction(prQueryFunction1);
+
+ public class QueryFunction extends FunctionAdapter {
+    @Override
+    public void execute(FunctionContext context) {
+      Cache cache = CacheFactory.getAnyInstance();
+      QueryService queryService = cache.getQueryService();
+      ArrayList allQueryResults = new ArrayList();
+      ArrayList arguments = (ArrayList)(context.getArguments());
+      String qstr = (String)arguments.get(0);
+      try {
+           Query query = queryService.newQuery(qstr);
+           SelectResults result = (SelectResults)query
+             .execute((RegionFunctionContext)context);
+           ArrayList arrayResult = (ArrayList)result.asList();
+           context.getResultSender().sendResult((ArrayList)result.asList());
+           context.getResultSender().lastResult(null);
+              } catch (Exception e) {
+               // handle exception
+             }
+       }
+} 
+     
+```
+
+On the server side, `Query.execute()` operates on the local data of the partitioned region.
+
+On the client side:
+
+``` pre
+ 
+Function function = new QueryFunction();
+String queryString = "SELECT DISTINCT * FROM /QueryRegion1 r1,
+        /QueryRegion2 r2 WHERE r1.ID = r2.ID";
+ArrayList argList = new ArrayList();
+argList.add(queryString);
+Object result = FunctionService.onRegion(CacheFactory.getAnyInstance()
+     .getRegion("QueryRegion1" ))
+     .withArgs(argList).execute(function).getResult();
+ArrayList resultList = (ArrayList)result;
+resultList.trimToSize();
+List queryResults = null;
+if (resultList.size() != 0) {
+   queryResults = new ArrayList();
+   for (Object obj : resultList) {
+      if (obj != null ) {
+      queryResults.addAll((ArrayList)obj);
+         }
+   }
+}
+```
+
+On the client side, note that you can specify a bucket filter while invoking FunctionService.onRegion(). In this case, the query engine relies on FunctionService to direct the query to specific nodes.
+
+**Additional Notes on Using the Query.execute and RegionFunctionContext APIs**
+
+You can also pass multiple parameters (besides the query itself) to the query function by specifying the parameters in the client-side code (`FunctionService.onRegion(..).withArgs()`). Then you can handle the parameters inside the function on the server side using `context.getArguments`. Note that it does not matter which order you specify the parameters as long as you match the parameter handling order on the server with the order specified in the client.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/partitioned_regions/managing_partitioned_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/managing_partitioned_regions.html.md.erb b/geode-docs/developing/partitioned_regions/managing_partitioned_regions.html.md.erb
new file mode 100644
index 0000000..fd7494f
--- /dev/null
+++ b/geode-docs/developing/partitioned_regions/managing_partitioned_regions.html.md.erb
@@ -0,0 +1,25 @@
+---
+title:  Configuring Partitioned Regions
+---
+
+Plan the configuration and ongoing management of your partitioned region for host and accessor members and configure the regions for startup.
+
+<a id="configure_partitioned_regions__section_241583D88E244AB6AB5CD05BF55F6A0A"></a>
+Before you begin, understand [Basic Configuration and Programming](../../basic_config/book_intro.html).
+
+1.  Start your region configuration using one of the `PARTITION` region shortcut settings. See [Region Shortcuts and Custom Named Region Attributes](../../basic_config/data_regions/region_shortcuts.html).
+2.  If you need high availability for your partitioned region, configure for that. See [Configure High Availability for a Partitioned Region](configuring_ha_for_pr.html).
+3.  Estimate the amount of space needed for the region. If you use redundancy, this is the max for all primary and secondary copies stored in the member. For example, with redundancy of one, each region data entry requires twice the space than with no redundancy, because the entry is stored twice. See [Memory Requirements for Cached Data](../../reference/topics/memory_requirements_for_cache_data.html#calculating_memory_requirements).
+4.  Configure the total number of buckets for the region. This number must be the same for colocated regions. See [Configuring the Number of Buckets for a Partitioned Region](configuring_bucket_for_pr.html#configuring_total_buckets).
+5.  Configure your members' data storage and data loading for the region:
+    1.  You can have members with no local data storage and members with varying amounts of storage. Determine the max memory available in your different member types for this region. These will be set in the `partition-attributes` `local-max-memory`. This is the only setting in `partition-attributes` that can vary between members. Use these max values and your estimates for region memory requirements to help you figure how many members to start out with for the region.
+    2.  For members that store data for the region (`local-max-memory` greater than 0), define a data loader. See [Implement a Data Loader](../outside_data_sources/implementing_data_loaders.html#implementing_data_loaders).
+    3.  If you have members with no local data storage (`local-max-memory` set to 0), review your system startup/shutdown procedures. Make sure there is always at least one member with local data storage running when any members with no storage are running.
+
+6.  If you want to custom partition the data in your region or colocate data between multiple regions, code and configure accordingly. See [Understanding Custom Partitioning and Data Colocation](custom_partitioning_and_data_colocation.html#custom_partitioning_and_data_colocation).
+7.  Plan your partition rebalancing strategy and configure and program for that. See [Rebalancing Partitioned Region Data](rebalancing_pr_data.html#rebalancing_pr_data).
+
+**Note:**
+To configure a partitioned region using gfsh, see [gfsh Command Help](../../tools_modules/gfsh/gfsh_command_index.html#concept_C291647179C5407A876CC7FCF91CF756).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/partitioned_regions/moving_partitioned_data.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/moving_partitioned_data.html.md.erb b/geode-docs/developing/partitioned_regions/moving_partitioned_data.html.md.erb
new file mode 100644
index 0000000..054f7fe
--- /dev/null
+++ b/geode-docs/developing/partitioned_regions/moving_partitioned_data.html.md.erb
@@ -0,0 +1,59 @@
+---
+title:  Moving Partitioned Region Data to Another Member
+---
+
+You can use the `PartitionRegionHelper` `moveBucketByKey` and `moveData` methods to explicitly move partitioned region data from one member to another.
+
+The `moveBucketByKey` method moves the bucket that contains the specified key from a source member to a destination member. For example, you could use the method to move a popular product item to a new, empty member to reduce load on the source member.
+
+For example:
+
+``` pre
+Object product = ...
+Region r = ...
+DistributedSystem ds = ...
+String memberName = ...
+
+//Find the member that is currently hosting the product.
+Set<DistributedMember> sourceMembers =
+PartitionRegionHelper.getAllMembersForKey(r, product);
+
+//Find the member to move the product to.
+DistributedMember destination = ds.findDistributedMember(memberName);
+
+//In this example we assume there is always at least one source.
+//In practice, you should check that at least one source
+//for the data is available.
+source = sourceMembers.iterator().next();
+
+//Move the bucket to the new node. The bucket will
+//be moved when this method completes. It throws an exception
+//if there is a problem or invalid arguments.
+PartitionRegionHelper.moveBucketByKey(r, source, destination, product);
+```
+
+See the Java API documentation for `org.apache.geode.cache.partition.PartitionRegionHelper.moveBucketByKey` for more details.
+
+The `moveData` method moves data up to a given percentage (measured in bytes) from a source member to a destination member. For example, you could use this method to move a specified percentage of data from an overloaded member to another member to improve distribution.
+
+For example:
+
+``` pre
+Region r = ...
+DistributedSystem ds = ...
+String sourceName = ...
+String destName = ...
+
+//Find the source member.
+DistributedMember source = ds.findDistributedMember(sourceName);
+DistributedMember destination = ds.findDistributedMember(destName);
+
+//Move up to 20% of the data from the source to the destination node.
+PartitionRegionHelper.moveData(r, source, destination, 20);
+```
+
+See the Java API documentation for `org.apache.geode.cache.partition.PartitionRegionHelper.moveData` for more details.
+
+For more information on partitioned regions and rebalancing, see [Partitioned Regions](chapter_overview.html).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/partitioned_regions/overview_custom_partitioning_and_data_colocation.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/overview_custom_partitioning_and_data_colocation.html.md.erb b/geode-docs/developing/partitioned_regions/overview_custom_partitioning_and_data_colocation.html.md.erb
new file mode 100644
index 0000000..3cf5c10
--- /dev/null
+++ b/geode-docs/developing/partitioned_regions/overview_custom_partitioning_and_data_colocation.html.md.erb
@@ -0,0 +1,19 @@
+---
+title:  Custom-Partitioning and Colocating Data
+---
+
+You can customize how Apache Geode groups your partitioned region data with custom partitioning and data colocation.
+
+-   **[Understanding Custom Partitioning and Data Colocation](../../developing/partitioned_regions/custom_partitioning_and_data_colocation.html)**
+
+    Custom partitioning and data colocation can be used separately or in conjunction with one another.
+
+-   **[Custom-Partition Your Region Data](../../developing/partitioned_regions/using_custom_partition_resolvers.html)**
+
+    By default, Geode partitions each data entry into a bucket using a hashing policy on the key. Additionally, the physical location of the key-value pair is abstracted away from the application. You can change these policies for a partitioned region. You can provide your own data partitioning resolver and you can additionally specify which members host which data buckets.
+
+-   **[Colocate Data from Different Partitioned Regions](../../developing/partitioned_regions/colocating_partitioned_region_data.html)**
+
+    By default, Geode allocates the data locations for a partitioned region independent of the data locations for any other partitioned region. You can change this policy for any group of partitioned regions, so that cross-region, related data is all hosted by the same member. This colocation speeds queries and other operations that access data from the regions.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/partitioned_regions/overview_how_pr_ha_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/overview_how_pr_ha_works.html.md.erb b/geode-docs/developing/partitioned_regions/overview_how_pr_ha_works.html.md.erb
new file mode 100644
index 0000000..7b182c5
--- /dev/null
+++ b/geode-docs/developing/partitioned_regions/overview_how_pr_ha_works.html.md.erb
@@ -0,0 +1,15 @@
+---
+title:  Configuring High Availability for Partitioned Regions
+---
+
+By default, Apache Geode stores only a single copy of your partitioned region data among the region's data stores. You can configure Geode to maintain redundant copies of your partitioned region data for high availability.
+
+-   **[Understanding High Availability for Partitioned Regions](../../developing/partitioned_regions/how_pr_ha_works.html)**
+
+    With high availability, each member that hosts data for the partitioned region gets some primary copies and some redundant (secondary) copies.
+
+-   **[Configure High Availability for a Partitioned Region](../../developing/partitioned_regions/configuring_ha_for_pr.html)**
+
+    Configure in-memory high availability for your partitioned region. Set other high-availability options, like redundancy zones and redundancy recovery strategies.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/partitioned_regions/overview_how_pr_single_hop_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/overview_how_pr_single_hop_works.html.md.erb b/geode-docs/developing/partitioned_regions/overview_how_pr_single_hop_works.html.md.erb
new file mode 100644
index 0000000..651c851
--- /dev/null
+++ b/geode-docs/developing/partitioned_regions/overview_how_pr_single_hop_works.html.md.erb
@@ -0,0 +1,15 @@
+---
+title:  Configuring Single-Hop Client Access to Server-Partitioned Regions
+---
+
+Single-hop data access enables the client pool to track where a partitioned region\u2019s data is hosted in the servers. To access a single entry, the client directly contacts the server that hosts the key, in a single hop.
+
+-   **[Understanding Client Single-Hop Access to Server-Partitioned Regions](../../developing/partitioned_regions/how_pr_single_hop_works.html)**
+
+    With single-hop access the client connects to every server, so more connections are generally used. This works fine for smaller installations, but is a barrier to scaling.
+
+-   **[Configure Client Single-Hop Access to Server-Partitioned Regions](../../developing/partitioned_regions/configure_pr_single_hop.html)**
+
+    Configure your client/server system for direct, single-hop access to partitioned region data in the servers.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/partitioned_regions/rebalancing_pr_data.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/rebalancing_pr_data.html.md.erb b/geode-docs/developing/partitioned_regions/rebalancing_pr_data.html.md.erb
new file mode 100644
index 0000000..93c31e7
--- /dev/null
+++ b/geode-docs/developing/partitioned_regions/rebalancing_pr_data.html.md.erb
@@ -0,0 +1,89 @@
+---
+title:  Rebalancing Partitioned Region Data
+---
+
+In a distributed system with minimal contention to the concurrent threads reading or updating from the members, you can use rebalancing to dynamically increase or decrease your data and processing capacity.
+
+<a id="rebalancing_pr_data__section_D3649ADD28DB4FF78C47A3E428C80510"></a>
+Rebalancing is a member operation. It affects all partitioned regions defined by the member, regardless of whether the member hosts data for the regions. The rebalancing operation performs two tasks:
+
+1.  If the configured partition region redundancy is not satisfied, rebalancing does what it can to recover redundancy. See [Configure High Availability for a Partitioned Region](configuring_ha_for_pr.html).
+2.  Rebalancing moves the partitioned region data buckets between host members as needed to establish the most fair balance of data and behavior across the distributed system.
+
+For efficiency, when starting multiple members, trigger the rebalance a single time, after you have added all members.
+
+**Note:**
+If you have transactions running in your system, be careful in planning your rebalancing operations. Rebalancing may move data between members, which could cause a running transaction to fail with a `TransactionDataRebalancedException`. Fixed custom partitioning prevents rebalancing altogether. All other data partitioning strategies allow rebalancing and can result in this exception unless you run your transactions and your rebalancing operations at different times.
+
+Kick off a rebalance using one of the following:
+
+-   `gfsh` command. First, starting a `gfsh` prompt and connect to the Geode distributed system. Then type the following command:
+
+    ``` pre
+    gfsh>rebalance
+    ```
+
+    Optionally, you can specify regions to include or exclude from rebalancing, specify a time-out for the rebalance operation or just [simulate a rebalance operation](rebalancing_pr_data.html#rebalancing_pr_data__section_495FEE48ED60433BADB7D36C73279C89). Type `help rebalance` or see [rebalance](../../tools_modules/gfsh/command-pages/rebalance.html) for more information.
+
+-   API call:
+
+    ``` pre
+    ResourceManager manager = cache.getResourceManager(); 
+    RebalanceOperation op = manager.createRebalanceFactory().start(); 
+    //Wait until the rebalance is complete and then get the results
+    RebalanceResults results = op.getResults(); 
+    //These are some of the details we can get about the run from the API
+    System.out.println("Took " + results.getTotalTime() + " milliseconds\n"); 
+    System.out.println("Transfered " + results.getTotalBucketTransferBytes()+ "bytes\n");
+    ```
+
+You can also just simulate a rebalance through the API, to see if it's worth it to run:
+
+``` pre
+ResourceManager manager = cache.getResourceManager(); 
+RebalanceOperation op = manager.createRebalanceFactory().simulate(); 
+RebalanceResults results = op.getResults(); 
+System.out.println("Rebalance would transfer " + results.getTotalBucketTransferBytes() +" bytes "); 
+System.out.println(" and create " + results.getTotalBucketCreatesCompleted() + " buckets.\n");
+```
+
+## <a id="rebalancing_pr_data__section_1592413D533D454D9E5ACFCDC4685DD1" class="no-quick-link"></a>How Partitioned Region Rebalancing Works
+
+The rebalancing operation runs asynchronously.
+
+By default, rebalancing is performed on one partitioned region at a time. For regions that have colocated data, the rebalancing works on the regions as a group, maintaining the data colocation between the regions.
+
+You can optionally rebalance multiple regions in parallel by setting the `gemfire.resource.manager.threads` system property. Setting this property to a value greater than 1 enables Geode to rebalance multiple regions in parallel, any time a rebalance operation is initiated using the API.
+
+You can continue to use your partitioned regions normally while rebalancing is in progress. Read operations, write operations, and function executions continue while data is moving. If a function is executing on a local data set, you may see a performance degradation if that data moves to another host during function execution. Future function invocations are routed to the correct member.
+
+Geode tries to ensure that each member has the same percentage of its available space used for each partitioned region. The percentage is configured in the `partition-attributes` `local-max-memory` setting.
+
+Partitioned region rebalancing:
+
+-   Does not allow the `local-max-memory` setting to be exceeded unless LRU eviction is enabled with overflow to disk.
+-   Places multiple copies of the same bucket on different host IP addresses whenever possible.
+-   Resets entry time to live and idle time statistics during bucket migration.
+-   Replaces offline members.
+
+## <a id="rebalancing_pr_data__section_BE71EE52DE1A4275BC7854CA597797F4" class="no-quick-link"></a>When to Rebalance a Partitioned Region
+
+You typically want to trigger rebalancing when capacity is increased or reduced through member startup, shut down or failure.
+
+You may also need to rebalance when:
+
+-   You use redundancy for high availability and have configured your region to not automatically recover redundancy after a loss. In this case, Geode only restores redundancy when you invoke a rebalance. See [Configure High Availability for a Partitioned Region](configuring_ha_for_pr.html).
+-   You have uneven hashing of data. Uneven hashing can occur if your keys do not have a hash code method, which ensures uniform distribution, or if you use a `PartitionResolver` to colocate your partitioned region data (see [Colocate Data from Different Partitioned Regions](colocating_partitioned_region_data.html#colocating_partitioned_region_data)). In either case, some buckets may receive more data than others. Rebalancing can be used to even out the load between data stores by putting fewer buckets on members that are hosting large buckets.
+
+## <a id="rebalancing_pr_data__section_495FEE48ED60433BADB7D36C73279C89" class="no-quick-link"></a>How to Simulate Region Rebalancing
+
+You can simulate the rebalance operation before moving any actual data around by executing the `rebalance` command with the following option:
+
+``` pre
+gfsh>rebalance --simulate
+```
+
+**Note:**
+If you are using `heap_lru` for data eviction, you may notice a difference between your simulated results and your actual rebalancing results. This discrepancy can be due to the VM starting to evict entries after you execute the simulation. Then when you perform an actual rebalance operation, the operation will make different decisions based on the newer heap size.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/partitioned_regions/set_crash_redundancy_recovery.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/set_crash_redundancy_recovery.html.md.erb b/geode-docs/developing/partitioned_regions/set_crash_redundancy_recovery.html.md.erb
new file mode 100644
index 0000000..4c7311e
--- /dev/null
+++ b/geode-docs/developing/partitioned_regions/set_crash_redundancy_recovery.html.md.erb
@@ -0,0 +1,43 @@
+---
+title:  Configure Member Crash Redundancy Recovery for a Partitioned Region
+---
+
+Configure whether and how redundancy is recovered in a partition region after a member crashes.
+
+<a id="set_crash_redundancy_recovery__section_86CF741758E54DA29519E9CDDF1BC393"></a>
+Use the partition attribute `recovery-delay` to specify member crash redundancy recovery.
+
+| recovery-delay partition attribute | Effect following a member failure                                                    |
+|------------------------------------|--------------------------------------------------------------------------------------|
+| -1                                 | No automatic recovery of redundancy following a member failure. This is the default. |
+| long greater than or equal to 0    | Number of milliseconds to wait after a member failure before recovering redundancy.  |
+
+By default, redundancy is not recovered after a member crashes. If you expect to quickly restart most crashed members, combining this default setting with member join redundancy recovery can help you avoid unnecessary data shuffling while members are down. By waiting for lost members to rejoin, redundancy recovery is done using the newly started members and partitioning is better balanced with less processing.
+
+Set crash redundancy recovery using one of the following:
+
+-   XML:
+
+    ``` pre
+    // Give a crashed member 10 seconds to restart 
+    // before recovering redundancy
+    <region name="PR1"> 
+      <region-attributes refid="PARTITION"> 
+        <partition-attributes recovery-delay="10000"/> 
+      </region-attributes> 
+    </region> 
+    ```
+
+-   Java:
+
+    ``` pre
+    PartitionAttributes pa = new PartitionAttributesFactory().setRecoveryDelay(10000).create(); 
+    ```
+
+-   gfsh:
+
+    ``` pre
+    gfsh>create region --name="PR1" type=PARTITION --recovery-delay=10000
+    ```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/partitioned_regions/set_enforce_unique_host.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/set_enforce_unique_host.html.md.erb b/geode-docs/developing/partitioned_regions/set_enforce_unique_host.html.md.erb
new file mode 100644
index 0000000..19cc1ec
--- /dev/null
+++ b/geode-docs/developing/partitioned_regions/set_enforce_unique_host.html.md.erb
@@ -0,0 +1,17 @@
+---
+title:  Set Enforce Unique Host
+---
+
+Configure Geode to use only unique physical machines for redundant copies of partitioned region data.
+
+Understand how to set a member's `gemfire.properties` settings. See [Reference](../../reference/book_intro.html#reference).
+
+Configure your members so Geode always uses different physical machines for redundant copies of partitioned region data using the `gemfire.properties` setting `enforce-unique-host`. The default for this setting is false. 
+
+Example:
+
+``` pre
+enforce-unique-host=true
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/partitioned_regions/set_join_redundancy_recovery.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/set_join_redundancy_recovery.html.md.erb b/geode-docs/developing/partitioned_regions/set_join_redundancy_recovery.html.md.erb
new file mode 100644
index 0000000..4fe790e
--- /dev/null
+++ b/geode-docs/developing/partitioned_regions/set_join_redundancy_recovery.html.md.erb
@@ -0,0 +1,49 @@
+---
+title:  Configure Member Join Redundancy Recovery for a Partitioned Region
+---
+
+Configure whether and how redundancy is recovered in a partition region after a member joins.
+
+<a id="set_join_redundancy_recovery__section_D6FB0D69CC454B53B9CF1E656A44465C"></a>
+Use the partition attribute `startup-recovery-delay` to specify member join redundancy recovery.
+
+| startup-recovery-delay partition attribute | Effect following a member join                                                                                                                                                                                               |
+|--------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| -1                                         | No automatic recovery of redundancy after a new member comes online. If you use this and the default `recovery-delay` setting, you can only recover redundancy by kicking off rebalancing through a cacheserver or API call. |
+| long greater than or equal to **0**        | Number of milliseconds to wait after a member joins before before recovering redundancy. The default is 0 (zero), which causes immediate redundancy recovery whenever a new partitioned region host joins.                   |
+
+Setting this to a value higher than the default of 0 allows multiple new members to join before redundancy recovery kicks in. With the multiple members present during recovery, the system will spread redundancy recovery among them. With no delay, if multiple members are started in close succession, the system may choose only the first member started for most or all of the redundancy recovery.
+
+**Note:**
+Satisfying redundancy is not the same as adding capacity. If redundancy is satisfied, new members do not take buckets until you invoke a rebalance.
+
+**Note:**
+With parallel recovery introduced in version 8.2, redundancy may be recovered more quickly than in previous versions. For this reason, it is even more important to configure `startup-recovery-delay` to an appropriate value if you intend to restart multiple members at once. Set `startup-recovery-delay` to a value that ensures all members are up and available *before* redundancy recovery kicks in.
+
+Set join redundancy recovery using one of the following:
+
+-   XML:
+
+    ``` pre
+    // Wait 5 seconds after a new member joins before  
+    // recovering redundancy
+    <region name="PR1"> 
+      <region-attributes refid="PARTITION"> 
+        <partition-attributes startup-recovery-delay="5000"/> 
+      </region-attributes> 
+    </region> 
+    ```
+
+-   Java:
+
+    ``` pre
+    PartitionAttributes pa = new PartitionAttributesFactory().setStartupRecoveryDelay(5000).create(); 
+    ```
+
+-   gfsh:
+
+    ``` pre
+    gfsh>create region --name="PR1" --type=PARTITION --startup-recovery-delay=5000
+    ```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/partitioned_regions/set_pr_redundancy.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/set_pr_redundancy.html.md.erb b/geode-docs/developing/partitioned_regions/set_pr_redundancy.html.md.erb
new file mode 100644
index 0000000..ae12721
--- /dev/null
+++ b/geode-docs/developing/partitioned_regions/set_pr_redundancy.html.md.erb
@@ -0,0 +1,34 @@
+---
+title:  Set the Number of Redundant Copies
+---
+
+Configure in-memory high availability for your partitioned region by specifying the number of secondary copies you want to maintain in the region's data stores.
+
+Specify the number of redundant copies you want for your partitioned region data in the partition attribute `redundant-copies` setting. The default setting is 0. 
+
+For example:
+
+-   XML:
+
+    ``` pre
+    <region name="PR1"> 
+      <region-attributes refid="PARTITION"> 
+        <partition-attributes redundant-copies="1"/> 
+      </region-attributes> 
+    </region> 
+    ```
+
+-   Java:
+
+    ``` pre
+    PartitionAttributes pa = 
+        new PartitionAttributesFactory().setRedundantCopies(1).create(); 
+    ```
+
+-   gfsh:
+
+    ``` pre
+    gfsh>create region --name="PR1" --type=PARTITION --redundant-copies=1
+    ```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/partitioned_regions/set_redundancy_zones.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/set_redundancy_zones.html.md.erb b/geode-docs/developing/partitioned_regions/set_redundancy_zones.html.md.erb
new file mode 100644
index 0000000..f5a0a10
--- /dev/null
+++ b/geode-docs/developing/partitioned_regions/set_redundancy_zones.html.md.erb
@@ -0,0 +1,23 @@
+---
+title:  Configure Redundancy Zones for Members
+---
+
+Group members into redundancy zones so Geode will separate redundant data copies into different zones.
+
+Understand how to set a member's `gemfire.properties` settings. See [Reference](../../reference/book_intro.html#reference).
+
+Group your partition region hosts into redundancy zones with the `gemfire.properties` setting `redundancy-zone`. 
+
+For example, if you had redundancy set to 1, so you have one primary and one secondary copy of each data entry, you could split primary and secondary data copies between two machine racks by defining one redundancy zone for each rack. To do this, you set this zone in the `gemfire.properties` for all members that run on one rack:
+``` pre
+redundancy-zone=rack1
+```
+
+You would set this zone `gemfire.properties` for all members on the other rack:
+``` pre
+redundancy-zone=rack2
+```
+
+Each secondary copy would be hosted on the rack opposite the rack where its primary copy is hosted.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/partitioned_regions/using_custom_partition_resolvers.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/using_custom_partition_resolvers.html.md.erb b/geode-docs/developing/partitioned_regions/using_custom_partition_resolvers.html.md.erb
new file mode 100644
index 0000000..df9e4b3
--- /dev/null
+++ b/geode-docs/developing/partitioned_regions/using_custom_partition_resolvers.html.md.erb
@@ -0,0 +1,204 @@
+---
+title:  Custom-Partition Your Region Data
+---
+
+By default, Geode partitions each data entry into a bucket using a hashing policy on the key. Additionally, the physical location of the key-value pair is abstracted away from the application. You can change these policies for a partitioned region. You can provide your own data partitioning resolver and you can additionally specify which members host which data buckets.
+
+<a id="custom_partition_region_data__section_CF05CE974C9C4AF78430DA55601D2158"></a>
+**Note:**
+If you are colocating data between regions and custom partitioning the data in the regions, all colocated regions must use the same custom partitioning mechanism. See [Colocate Data from Different Partitioned Regions](colocating_partitioned_region_data.html#colocating_partitioned_region_data).
+
+<a id="custom_partition_region_data__section_1D7043815DF24308ABE4C78BFDFEE686"></a>
+
+For standard partitioning, use `org.apache.geode.cache.PartitionResolver`. To implement fixed partitioning, use `org.apache.geode.cache.FixedPartitionResolver`.
+
+<a id="custom_partition_region_data__section_5A8D752F02834146A37D9430F1CA32DA"></a>
+
+**Prerequisites**
+
+-   Create partitioned regions. See [Understanding Partitioning](how_partitioning_works.html) and [Configuring Partitioned Regions](managing_partitioned_regions.html#configure_partitioned_regions).
+-   Decide whether to use standard custom partitioning or fixed custom partitioning. See [Understanding Custom Partitioning and Data Colocation](custom_partitioning_and_data_colocation.html#custom_partitioning_and_data_colocation).
+-   If you also want to colocate data from multiple regions, understand how to colocate. See [Colocate Data from Different Partitioned Regions](colocating_partitioned_region_data.html#colocating_partitioned_region_data).
+
+**Procedure**
+
+1.  Using `org.apache.geode.cache.PartitionResolver` (standard partitioning) or `org.apache.geode.cache.FixedPartitionResolver` (fixed partitioning), implement the standard partitioning resolver or the fixed partitioning resolver in one of the following locations, listed here in the search order used by Geode:
+    -   **Custom class**. You provide this class as the partition resolver to the region creation.
+    -   **Entry key**. You use the implementing key object for every operation on the region entries.
+    -   **Cache callback argument**. This implementation restricts you to using methods that accept a cache callback argument to manage the region entries. For a full list of the methods that take a callback argument, see the `Region` Javadocs.
+
+2.  If you need the resolver's `getName` method, program that.
+3.  Program the resolver's `getRoutingObject` method to return the routing object for each entry, based on how you want to group the entries. Give the same routing object to entries you want to group together. Geode will place the entries in the same bucket.
+
+    **Note:**
+    Only fields on the key should be used when creating the routing object. Do not use the value or additional metadata for this purpose.
+
+    For example, here is an implementation on a region key object that groups the entries by month and year:
+
+    ``` pre
+    Public class TradeKey implements PartitionResolver 
+    { 
+        private String tradeID; 
+        private Month month; 
+        private Year year; 
+        public TradingKey(){ } 
+        public TradingKey(Month month, Year year)
+        { 
+            this.month = month; 
+            this.year = year; 
+        } 
+        public Serializable getRoutingObject(EntryOperation opDetails)
+        { 
+            return this.month + this.year; 
+        }
+    }
+    ```
+
+4.  For fixed partitioning only, program and configure additional fixed partitioning pieces:
+    1.  Set the fixed partition attributes for each member.
+
+        These attributes define the data stored for the region by the member and must be different for different members. See `org.apache.geode.cache.FixedPartitionAttributes` for definitions of the attributes. Define each `partition-name` in your data host members for the region. For each partition name, in the member you want to host the primary copy, define it with `is-primary` set to `true`. In every member you want to host the secondary copy, define it with `is-primary` set to `false` (the default). The number of secondaries must match the number of redundant copies you have defined for the region. See [Configure High Availability for a Partitioned Region](configuring_ha_for_pr.html).
+
+        **Note:**
+        Buckets for a partition are hosted only by the members that have defined the partition name in their `FixedPartitionAttributes`.
+
+        These examples set the partition attributes for a member to be the primary host for the "Q1" partition data and a secondary host for "Q3" partition data.
+        -   XML:
+
+            ``` pre
+            <cache>
+               <region name="Trades">
+                  <region-attributes>
+                     <partition-attributes redundant-copies="1">
+                       <partition-resolver name="QuarterFixedPartitionResolver">
+                          <class-name>myPackage.QuarterFixedPartitionResolver</class-name>
+                       </partition-resolver>
+                       <fixed-partition-attributes partition-name="Q1" is-primary="true"/>
+                       <fixed-partition-attributes partition-name="Q3" is-primary="false" num-buckets="6"/>
+                     </partition-attributes> 
+                  </region-attributes>
+               </region>
+            </cache>
+            ```
+        -   Java:
+
+
+            ``` pre
+            FixedPartitionAttribute fpa1 = FixedPartitionAttributes.createFixedPartition("Q1", true);
+            FixedPartitionAttribute fpa3 = FixedPartitionAttributes.createFixedPartition("Q3", false, 6);
+
+            PartitionAttributesFactory paf = new PartitionAttributesFactory()
+                 .setPartitionResolver(new QuarterFixedPartitionResolver())
+                 .setTotalNumBuckets(12)
+                 .setRedundantCopies(2)
+                 .addFixedPartitionAttribute(fpa1)
+                 .addFixedPartitionAttribute(fpa3);
+
+            Cache c = new CacheFactory().create();
+
+            Region r = c.createRegionFactory()
+                .setPartitionAttributes(paf.create())
+                .create("Trades");
+            ```
+        -   gfsh:
+
+            You cannot specify a partition resolver using gfsh.
+
+    2.  Program the `FixedPartitionResolver` `getPartitionName` method to return the name of the partition for each entry, based on where you want the entries to reside. Geode uses `getPartitionName` and `getRoutingObject` to determine where an entry is placed.
+
+        **Note:**
+        To group entries, assign every entry in the group the same routing object and the same partition name.
+
+        This example places the data based on date, with a different partition name for each quarter-year and a different routing object for each month.
+
+        ``` pre
+        /**
+         * Returns one of four different partition names
+         * (Q1, Q2, Q3, Q4) depending on the entry's date
+         */
+        class QuarterFixedPartitionResolver implements
+            FixedPartitionResolver<String, String> {
+
+          @Override
+          public String getPartitionName(EntryOperation<String, String> opDetails,
+              Set<String> targetPartitions) {
+
+             Date date = (Date)opDetails.getKey();
+             Calendar cal = Calendar.getInstance();
+             cal.setTime(date);
+             int month = cal.get(Calendar.MONTH);
+             if (month >= 0 && month < 3) {
+                if (targetPartitions.contains("Q1")) return "Q1";
+             }
+             else if (month >= 3 && month < 6) {
+                if (targetPartitions.contains("Q2")) return "Q2";
+             }
+             else if (month >= 6 && month < 9) {
+                if (targetPartitions.contains("Q3")) return "Q3";
+             }
+             else if (month >= 9 && month < 12) {
+                if (targetPartitions.contains("Q4")) return "Q4";
+             }
+             return "Invalid Quarter";
+          }
+
+          @Override
+          public String getName() {
+             return "QuarterFixedPartitionResolver";
+          }
+
+          @Override
+          public Serializable getRoutingObject(EntryOperation<String, String> opDetails) {
+             Date date = (Date)opDetails.getKey();
+             Calendar cal = Calendar.getInstance();
+             cal.setTime(date);
+             int month = cal.get(Calendar.MONTH);
+             return month;
+          }
+
+          @Override
+          public void close() {
+          }
+        }
+        ```
+
+5.  Configure or program the region so Geode finds your resolver for every operation that you perform on the region's entries. How you do this depends on where you chose to program your custom partitioning implementation (step 1).
+    1.  **Custom class**. Define the class for the region at creation. The resolver will be used for every entry operation. Use one of these methods:
+        -   XML:
+
+            ``` pre
+            <region name="trades">
+                <region-attributes>
+                    <partition-attributes>
+                        <partition-resolver name="TradesPartitionResolver"> 
+                            <class-name>myPackage.TradesPartitionResolver
+                            </class-name>
+                        </partition-resolver>
+                    <partition-attributes>
+                </region-attributes>
+            </region>
+            ```
+        -   Java:
+
+
+            ``` pre
+            PartitionResolver resolver = new TradesPartitionResolver();
+            PartitionAttributes attrs = 
+                new PartitionAttributesFactory()
+                .setPartitionResolver(resolver).create();
+
+            Cache c = new CacheFactory().create();
+
+            Region r = c.createRegionFactory()
+                .setPartitionAttributes(attrs)
+                .create("trades");
+            ```
+        -   gfsh:
+
+            You cannot specify a partition resolver using gfsh.
+
+    2.  **Entry key**. Use the key object with the resolver implementation for every entry operation.
+    3.  **Cache callback argument**. Provide the argument to every call that accesses an entry. This restricts you to calls that take a callback argument.
+
+6.  If your colocated data is in a server system, add the `PartitionResolver` implementation class to the `CLASSPATH` of your Java clients. The resolver is used for single hop access to partitioned region data in the servers.
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_additional/advanced_querying.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/advanced_querying.html.md.erb b/geode-docs/developing/query_additional/advanced_querying.html.md.erb
new file mode 100644
index 0000000..d94da69
--- /dev/null
+++ b/geode-docs/developing/query_additional/advanced_querying.html.md.erb
@@ -0,0 +1,31 @@
+---
+title:  Advanced Querying
+---
+
+This section includes advanced querying topics such as using query indexes, using query bind parameters, querying partitioned regions and query debugging.
+
+-   **[Performance Considerations](../../developing/querying_basics/performance_considerations.html)**
+
+    This topic covers considerations for improving query performance.
+
+-   **[Monitoring Queries for Low Memory](../../developing/querying_basics/monitor_queries_for_low_memory.html)**
+
+    The query monitoring feature prevents out-of-memory exceptions from occurring when you execute queries or create indexes.
+
+-   **[Using Query Bind Parameters](../../developing/query_additional/using_query_bind_parameters.html)**
+
+    Using query bind parameters in Geode queries is similar to using prepared statements in SQL where parameters can be set during query execution. This allows user to build a query once and execute it multiple times by passing the query conditions during run time.
+
+-   **[Working with Indexes](../../developing/query_index/query_index.html)**
+
+    The Geode query engine supports indexing. An index can provide significant performance gains for query execution.
+
+-   **[Querying Partitioned Regions](../../developing/querying_basics/querying_partitioned_regions.html)**
+
+    Geode allows you to manage and store large amounts of data across distributed nodes using partitioned regions. The basic unit of storage for a partitioned region is a bucket, which resides on a Geode node and contains all the entries that map to a single hashcode. In a typical partitioned region query, the system distributes the query to all buckets across all nodes, then merges the result sets and sends back the query results.
+
+-   **[Query Debugging](../../developing/query_additional/query_debugging.html)**
+
+    You can debug a specific query at the query level by adding the `<trace>` keyword before the query string that you want to debug.
+
+



[06/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/multicast_communication_runtime_considerations.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/multicast_communication_runtime_considerations.html.md.erb b/geode-docs/managing/monitor_tune/multicast_communication_runtime_considerations.html.md.erb
new file mode 100644
index 0000000..b8445f2
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/multicast_communication_runtime_considerations.html.md.erb
@@ -0,0 +1,30 @@
+---
+title:  Run-time Considerations for Multicast
+---
+
+When you use multicast for messaging and data distribution, you need to understand how the health monitoring setting works and how to control memory use.
+
+**Multicast Health Monitor**
+
+The Geode management and monitoring system is supplemented by a maxRetransmissionRatio health monitoring setting for distributed system members. This ratio is the number of retransmission requests received divided by the number of multicast datagrams written. If the ratio is at 1.0, the member is retransmitting as many packets as it originally sent. Retransmissions are point-to-point, and many processes may request retransmission, so this number can get quite high if problems occur. The default value for maxRetransmissionRatio is 0.2.
+
+For example, consider a distributed system with one producer and two consumers of cache events using multicast to transmit cache updates. The new member is added, which is running on a machine without multicast enabled. As a result, there is a retransmission request for every cache update, and the maxRetransmissionRatio changes to 1.0.
+
+**Controlling Memory Use on Geode Hosts with Multicast**
+
+Running out of memory can impede a member\u2019s performance and eventually lead to severe errors.
+
+When data is distributed over multicast, Geode incurs a fixed overhead of memory reserved for transmission buffers. A specified amount of memory is reserved for each distributed region. These producer-side buffers are used only when a receiver is not getting enough CPU to read from its own receiving buffer as quickly as the producer is sending. In this case, the receiver complains of lost data. The producer then retrieves the data, if it still exists in its buffer, and resends to the receiver.
+
+Tuning the transmission buffers requires a careful balance. Larger buffers mean that more data remains available for retransmission, providing more protection in case of a problem. On the other hand, a larger amount of reserved memory means that less memory is available for caching.
+
+You can adjust the transmission buffer size by resetting the mcast-send-buffer-size parameter in the `gemfire.properties` file:
+
+``` pre
+mcast-send-buffer-size=45000
+```
+
+**Note:**
+The maximum buffer size is constrained only by the limits of your system. If you are not seeing problems that could be related to lack of memory then do not change the default, since it provides greater protection in case of network problems.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/multicast_communication_testing_multicast_speed_limits.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/multicast_communication_testing_multicast_speed_limits.html.md.erb b/geode-docs/managing/monitor_tune/multicast_communication_testing_multicast_speed_limits.html.md.erb
new file mode 100644
index 0000000..d339a55
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/multicast_communication_testing_multicast_speed_limits.html.md.erb
@@ -0,0 +1,128 @@
+---
+title:  Testing Multicast Speed Limits
+---
+
+TCP automatically adjusts its speed to the capability of the processes using it and enforces bandwidth sharing so that every process gets a turn. With multicast, you must determine and explicitly set those limits.
+
+<a id="multicast__section_AB06591284DB4E9785EE79FBE1C59554"></a>
+Without the proper configuration, multicast delivers its traffic as fast as possible, overrunning the ability of consumers to process the data and locking out other processes that are waiting for the bandwidth. You can tune your multicast and unicast behavior using mcast-flow-control in `gemfire.properties`.
+
+**Using Iperf**
+
+Iperf is an open-source TCP/UDP performance tool that you can use to find your site\u2019s maximum rate for data distribution over multicast. Iperf can be downloaded from web sites such as the National Laboratory for Applied Network Research (NLANR).
+
+Iperf measures maximum bandwidth, allowing you to tune parameters and UDP characteristics. Iperf reports statistics on bandwidth, delay jitter, and datagram loss. On Linux, you can redirect this output to a file; on Windows, use the -o filename parameter.
+
+Run each test for ten minutes to make sure any potential problems have a chance to develop. Use the following command lines to start the sender and receivers.
+
+**Sender**:
+
+``` pre
+iperf -c 192.0.2.0 -u -T 1 -t 100 -i 1 -b 1000000000
+```
+
+where:
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<tbody>
+<tr class="odd">
+<td>-c address</td>
+<td><p>Run in client mode and connect to a multicast address</p></td>
+</tr>
+<tr class="even">
+<td>-u</td>
+<td><p>Use UDP</p></td>
+</tr>
+<tr class="odd">
+<td>-T #</td>
+<td><p>Multicast time-to-live: number of subnets across which a multicast packet can travel before the routers drop the packet</p></td>
+</tr>
+</tbody>
+</table>
+
+**Note:**
+Do not set the -T parameter above 1 without consulting your network administrator. If this number is too high then the iperf traffic could interfere with production applications or continue out onto the internet.
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<tbody>
+<tr class="odd">
+<td>-t</td>
+<td><p>Length of time to transmit, in seconds</p></td>
+</tr>
+<tr class="even">
+<td>-i</td>
+<td><p>Time between periodic bandwidth reports, in seconds</p></td>
+</tr>
+<tr class="odd">
+<td>-b</td>
+<td>Sending bandwidth, in bits per second</td>
+</tr>
+</tbody>
+</table>
+
+**Receiver**:
+
+``` pre
+iperf -s -u -B 192.0.2.0 -i 1
+```
+
+where:
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<tbody>
+<tr class="odd">
+<td><p>-s</p></td>
+<td><p>Run in server mode</p></td>
+</tr>
+<tr class="even">
+<td><p>-u</p></td>
+<td><p>Use UDP</p></td>
+</tr>
+<tr class="odd">
+<td><p>-B address</p></td>
+<td><p>Bind to a multicast address</p></td>
+</tr>
+<tr class="even">
+<td>-i #</td>
+<td>Time between periodic bandwidth reports, in seconds</td>
+</tr>
+</tbody>
+</table>
+
+**Note:**
+If your Geode distributed system runs across several subnets, start a receiver on each subnet.
+
+In the receiver\u2019s output, look at the Lost/Total Datagrams columns for the number and percentage of lost packets out of the total sent.
+
+**Output From Iperf Testing**:
+
+``` pre
+[    ID] Interval     Transfer    Bandwidth   Jitter  Lost/Total Datagrams
+[    3] 0.0- 1.0 sec     129 KBytes  1.0 Mbits/sec  0.778 ms     61/    151 (40%)
+[    3] 1.0- 2.0 sec     128 KBytes  1.0 Mbits/sec  0.236 ms     0/  89 (0%)
+[    3] 2.0- 3.0 sec     128 KBytes  1.0 Mbits/sec  0.264 ms     0/  89 (0%)
+[    3] 3.0- 4.0 sec     128 KBytes  1.0 Mbits/sec  0.248 ms     0/  89 (0%)
+[    3] 0.0- 4.3 sec     554 KBytes  1.0 Mbits/sec  0.298 ms     61/    447 (14%)
+```
+
+Rerun the test at different bandwidths until you find the maximum useful multicast rate. Start high, then gradually decrease the send rate until the test runs consistently with no packet loss. For example, you might need to run five tests in a row, changing the -b (bits per second) parameter each time until there is no loss:
+
+1.  -b 1000000000 (loss)
+2.  -b 900000000 (no loss)
+3.  -b 950000000 (no loss)
+4.  -b 980000000 (a bit of loss)
+5.  -b 960000000 (no loss)
+
+Enter iperf -h to see all of the command-line options. For more information, see the Iperf user manual.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/multicast_communication_troubleshooting.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/multicast_communication_troubleshooting.html.md.erb b/geode-docs/managing/monitor_tune/multicast_communication_troubleshooting.html.md.erb
new file mode 100644
index 0000000..9e99981
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/multicast_communication_troubleshooting.html.md.erb
@@ -0,0 +1,21 @@
+---
+title:  Troubleshooting the Multicast Tuning Process
+---
+
+Several problems may arise during the initial testing and tuning process for multicasting.
+
+**Some or All Members Cannot Communicate**
+
+If your applications and cache servers cannot talk to each other, even though they are configured correctly, you may not have multicast connectivity on your network. It\u2019s common to have unicast connectivity, but not multicast connectivity. See your network administrator.
+
+**Multicast Is Slower Than Expected**
+
+Look for an Ethernet flow control limit. If you have mixed-speed networks that result in a multicast flooding problem, the Ethernet hardware may be trying to slow down the fast traffic.
+
+Make sure your network hardware can deal with multicast traffic and route it efficiently. Some network hardware designed to handle multicast does not perform well enough to support a full-scale production system.
+
+**Multicast Fails Unexpectedly**
+
+If you find through testing that multicast fails above a round number, for example, it works up to 100 Mbps and fails at all rates over that, suspect that it is failing because it exceeds the network rate. This problem often arises at sites where one of the secondary LANs is slower than the main network
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/performance_controls.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/performance_controls.html.md.erb b/geode-docs/managing/monitor_tune/performance_controls.html.md.erb
new file mode 100644
index 0000000..79269a0
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/performance_controls.html.md.erb
@@ -0,0 +1,29 @@
+---
+title:  Performance Controls
+---
+
+This topic provides tuning suggestions of particular interest to developers, primarily programming techniques and cache configuration.
+
+Before you begin, you should understand Apache Geode [Basic Configuration and Programming](../../basic_config/book_intro.html).
+
+-   **[Data Serialization](../../managing/monitor_tune/performance_controls_data_serialization.html)**
+
+    In addition to standard Java serialization, Geode offers serialization options that give you higher performance and greater flexibility for data storage, transfers, and language types.
+
+-   **[Setting Cache Timeouts](../../managing/monitor_tune/performance_controls_setting_cache_timeouts.html)**
+
+    Cache timeout properties can modified through the gfsh `alter runtime` command (or declared in the `cache.xml` file) and can also be set through methods of the interface, `org.apache.geode.cache.Cache`.
+
+-   **[Controlling Socket Use](../../managing/monitor_tune/performance_controls_controlling_socket_use.html)**
+
+    For peer-to-peer communication, you can manage socket use at the system member level and at the thread level.
+
+-   **[Management of Slow Receivers](../../managing/monitor_tune/performance_controls_managing_slow_receivers.html)**
+
+    You have several options for handling slow members that receive data distribution. The slow receiver options control only to peer-to-peer communication between distributed regions using TCP/IP. This topic does not apply to client/server or multi-site communication, or to communication using the UDP unicast or IP multicast protocols.
+
+-   **[Increasing the Ratio of Cache Hits](../../managing/monitor_tune/performance_controls_increasing_cache_hits.html)**
+
+    The more frequently a get fails to find a valid value in the first cache and has to try a second cache, the more the overall performance is affected.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/performance_controls_controlling_socket_use.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/performance_controls_controlling_socket_use.html.md.erb b/geode-docs/managing/monitor_tune/performance_controls_controlling_socket_use.html.md.erb
new file mode 100644
index 0000000..4e04445
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/performance_controls_controlling_socket_use.html.md.erb
@@ -0,0 +1,34 @@
+---
+title:  Controlling Socket Use
+---
+
+For peer-to-peer communication, you can manage socket use at the system member level and at the thread level.
+
+The conserve-sockets setting indicates whether application threads share sockets with other threads or use their own sockets for distributed system member communication. This setting has no effect on communication between a server and its clients, but it does control the server\u2019s communication with its peers or a gateway sender's communication with a gateway receiver. In client/server settings in particular, where there can be a large number of clients for each server, controlling peer-to-peer socket use is an important part of tuning server performance.
+
+You configure conserve-sockets for the member as a whole in `gemfire.properties`. Additionally, you can change the sockets conservation policy for the individual thread through the API.
+
+When conserve-sockets is set to false, each application thread uses a dedicated thread to send to each of its peers and a dedicated thread to receive from each peer. Disabling socket conservation requires more system resources, but can potentially improve performance by removing socket contention between threads and optimizing distributed ACK operations. For distributed regions, the put operation, and destroy and invalidate for regions and entries, can all be optimized with conserve-sockets set to false. For partitioned regions, setting conserve-sockets to false can improve general throughput.
+
+**Note:**
+When you have transactions operating on EMPTY, NORMAL or PARTITION regions, make sure that `conserve-sockets` is set to false to avoid distributed deadlocks.
+
+You can override the `conserve-sockets` setting for individual threads. These methods are in `org.apache.geode.distributed.DistributedSystem`:
+
+-   `setThreadsSocketPolicy`. Sets the calling thread\u2019s individual socket policy, overriding the policy set for the application as a whole. If set to true, the calling thread shares socket connections with other threads. If false, the calling thread has its own sockets.
+-   `releaseThreadsSockets`. Frees any sockets held by the calling thread. Threads hold their own sockets only when conserve-sockets is false. Threads holding their own sockets can call this method to avoid holding the sockets until the socket-lease-time has expired.
+
+A typical implementation might set conserve-sockets to true at the application level and then override the setting for the specific application threads that perform the bulk of the distributed operations. The example below shows an implementation of the two API calls in a thread that performs benchmark tests. The example assumes the class implements Runnable. Note that the invocation, setThreadsSocketPolicy(false), is only meaningful if conserve-sockets is set to true at the application level.
+
+``` pre
+public void run() {
+    DistributedSystem.setThreadsSocketPolicy(false);
+    try {
+        // do your benchmark work
+    } finally {
+        DistributedSystem.releaseThreadsSockets();
+    }
+}
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/performance_controls_data_serialization.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/performance_controls_data_serialization.html.md.erb b/geode-docs/managing/monitor_tune/performance_controls_data_serialization.html.md.erb
new file mode 100644
index 0000000..d393eb3
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/performance_controls_data_serialization.html.md.erb
@@ -0,0 +1,9 @@
+---
+title:  Data Serialization
+---
+
+In addition to standard Java serialization, Geode offers serialization options that give you higher performance and greater flexibility for data storage, transfers, and language types.
+
+Under *Developing with Apache Geode*, see [Data Serialization](../../developing/data_serialization/chapter_overview.html#data_serialization).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/performance_controls_increasing_cache_hits.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/performance_controls_increasing_cache_hits.html.md.erb b/geode-docs/managing/monitor_tune/performance_controls_increasing_cache_hits.html.md.erb
new file mode 100644
index 0000000..58fcb27
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/performance_controls_increasing_cache_hits.html.md.erb
@@ -0,0 +1,11 @@
+---
+title:  Increasing the Ratio of Cache Hits
+---
+
+The more frequently a get fails to find a valid value in the first cache and has to try a second cache, the more the overall performance is affected.
+
+A common cause of misses is expiration or eviction of the entry. If you have a region\u2019s entry expiration or eviction enabled, monitor the region and entry statistics.
+
+If you see a high ratio of misses to hits on the entries, consider increasing the expiration times or the maximum values for eviction, if possible. See [Eviction](../../developing/eviction/chapter_overview.html) for more information.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/performance_controls_managing_slow_receivers.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/performance_controls_managing_slow_receivers.html.md.erb b/geode-docs/managing/monitor_tune/performance_controls_managing_slow_receivers.html.md.erb
new file mode 100644
index 0000000..fbbd329
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/performance_controls_managing_slow_receivers.html.md.erb
@@ -0,0 +1,56 @@
+---
+title:  Management of Slow Receivers
+---
+
+You have several options for handling slow members that receive data distribution. The slow receiver options control only to peer-to-peer communication between distributed regions using TCP/IP. This topic does not apply to client/server or multi-site communication, or to communication using the UDP unicast or IP multicast protocols.
+
+Most of the options for handling slow members are related to on-site configuration during system integration and tuning. For this information, see [Slow Receivers with TCP/IP](slow_receivers.html).
+
+Slowing is more likely to occur when applications run many threads, send large messages (due to large entry values), or have a mix of region configurations.
+
+**Note:**
+If you are experiencing slow performance and are sending large objects (multiple megabytes), before implementing these slow receiver options make sure your socket buffer sizes are large enough for the objects you distribute. The socket buffer size is set using gemfire.socket-buffer-size.
+
+By default, distribution between system members is performed synchronously. With synchronous communication, when one member is slow to receive, it can cause its producer members to slow down as well. This can lead to general performance problems in the distributed system.
+
+The specifications for handling slow receipt primarily affect how your members manage distribution for regions with distributed-no-ack scope, but it can affect other distributed scopes as well. If no regions have distributed-no-ack scope, this mechanism is unlikely to kick in at all. When slow receipt handling does kick in, however, it affects all distribution between the producer and consumer, regardless of scope. Partitioned regions ignore the scope attribute, but for the purposes of this discussion you should think of them as having an implicit distributed-ack scope.
+
+**Configuration Options**
+
+The slow receiver options are set in the producer member\u2019s region attribute, enable-async-conflation, and in the consumer member\u2019s async\* `gemfire.properties` settings.
+
+**Delivery Retries**
+
+If the receiver fails to receive a message, the sender continues to attempt to deliver the message as long as the receiving member is still in the distributed system. During the retry cycle, throws warnings that include this string:
+
+``` pre
+will reattempt
+```
+
+The warnings are followed by an info message when the delivery finally succeeds.
+
+**Asynchronous Queueing For Slow Receivers**
+
+Your consumer members can be configured so that their producers switch to asynchronous messaging if the consumers are slow to respond to cache message distribution.
+
+When a producer switches, it creates a queue to hold and manage that consumer\u2019s cache messages. When the queue empties, the producer switches back to synchronous messaging for the consumer. The settings that cause the producers to switch are specified on the consumer side in `gemfire.properties` file settings.
+
+If you configure your consumers for slow receipt queuing, and your region scope is distributed-no-ack, you can also configure the producer to conflate entry update messages in its queues. This configuration option is set as the region attribute enable-async-conflation. By default distributed-no-ack entry update messages are not conflated.
+
+Depending on the application, conflation can greatly reduce the number of messages the producer needs to send to the consumer. With conflation, when an entry update is added to the queue, if the last operation queued for that key is also an update operation, the previously enqueued update is removed, leaving only the latest update to be sent to the consumer. Only entry update messages originating in a region with distributed-no-ack scope are conflated. Region operations and entry operations other than updates are not conflated.
+
+<img src="../../images_svg/async_system_queue_conflation.svg" id="perf__image_0FD90F27762F4440B9ECC40803988038" class="image" />
+
+Some conflation may not occur because entry updates are sent to the consumer before they can be conflated. For this example, assume no messages are sent while the update for Key A is added.
+
+**Note:**
+This method of conflation behaves the same as server-to-client conflation.
+
+You can enable queue conflation on a region-by-region basis. You should always enable it unless it is incompatible with your application needs. Conflation reduces the amount of data queued and distributed.
+
+These are reasons why conflation might not work for your application:
+
+-   With conflation, earlier entry updates are removed from the queue and replaced by updates sent later in the queue. This is problematic for applications that depend on a specific ordering of entry modifications. For example, if your receiver has a CacheListener that needs to know about every state change, you should disable conflation.
+-   If your queue remains in use for a significant period and you have entries that are updated frequently, you could have a series of update message replacements resulting in a notable delay in the arrival of any update for some entries. Imagine that update 1, before it is sent, is removed in favor of a later update 2. Then, before update 2 can be sent, it is removed in favor of update 3, and so on. This could result in unacceptably stale data on the receiver.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/performance_controls_setting_cache_timeouts.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/performance_controls_setting_cache_timeouts.html.md.erb b/geode-docs/managing/monitor_tune/performance_controls_setting_cache_timeouts.html.md.erb
new file mode 100644
index 0000000..bb84a5f
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/performance_controls_setting_cache_timeouts.html.md.erb
@@ -0,0 +1,24 @@
+---
+title:  Setting Cache Timeouts
+---
+
+Cache timeout properties can modified through the gfsh `alter runtime` command (or declared in the `cache.xml` file) and can also be set through methods of the interface, `org.apache.geode.cache.Cache`.
+
+To modify cache timeout properties, you can issue the following `gfsh alter             runtime` command. For example:
+
+``` pre
+gfsh>alter runtime --search-timeout=150
+```
+
+The `--search-timeout` parameter specifies how long a netSearch operation can wait for data before timing out. The default is 5 minutes. You may want to change this based on your knowledge of the network load or other factors.
+
+The next two configurations describe timeout settings for locking in regions with global scope. Locking operations can time out in two places: when waiting to obtain a lock (lock time out); and when holding a lock (lock lease time). Operations that modify objects in a global region use automatic locking. In addition, you can manually lock a global region and its entries through `org.apache.geode.cache.Region`. The explicit lock methods provided by the APIs allow you to specify a lock timeout parameter. The lock time out for implicit operations and the lock lease time for implicit and explicit operations are governed by these cache-wide settings:
+
+``` pre
+gfsh>alter runtime --lock-timeout=30 --lock-lease=60
+```
+
+-   `--lock-timeout`. Timeout for object lock requests, specified in seconds. The setting affects automatic locking only, and does not apply to manual locking. The default is 1 minute. If a lock request does not return before the specified timeout period, it is cancelled and returns with a failure.
+-   `--lock-lease`. Timeout for object lock leases, specified in seconds. The setting affects both automatic locking and manual locking. The default is 2 minutes. Once a lock is obtained, it may remain in force for the lock lease time period before being automatically cleared by the system.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/slow_messages.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/slow_messages.html.md.erb b/geode-docs/managing/monitor_tune/slow_messages.html.md.erb
new file mode 100644
index 0000000..481c396
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/slow_messages.html.md.erb
@@ -0,0 +1,21 @@
+---
+title:  Slow distributed-ack Messages
+---
+
+In systems with distributed-ack regions, a sudden large number of distributed-no-ack operations can cause distributed-ack operations to take a long time to complete.
+
+The `distributed-no-ack` operations can come from anywhere. They may be updates to `distributed-no-ack` regions or they may be other `distributed-no-ack` operations, like destroys, performed on any region in the cache, including the `distributed-ack` regions.
+
+The main reasons why a large number of `distributed-no-ack` messages may delay `distributed-ack` operations are:
+
+-   For any single socket connection, all operations are executed serially. If there are any other operations buffered for transmission when a `distributed-ack` is sent, the `distributed-ack` operation must wait to get to the front of the line before being transmitted. Of course, the operation\u2019s calling process is also left waiting.
+-   The `distributed-no-ack` messages are buffered by their threads before transmission. If many messages are buffered and then sent to the socket at once, the line for transmission might be very long.
+
+You can take these steps to reduce the impact of this problem:
+
+1.  If you\u2019re using TCP, check whether you have socket conservation enabled for your members. It is configured by setting the Geode property `conserve-sockets` to true. If enabled, each application\u2019s threads will share sockets unless you override the setting at the thread level. Work with your application programmers to see whether you might disable sharing entirely or at least for the threads that perform `distributed-ack` operations. These include operations on `distributed-ack` regions and also `netSearches` performed on regions of any distributed scope. (Note: `netSearch` is only performed on regions with a data-policy of empty, normal and preloaded.) If you give each thread that performs `distributed-ack` operations its own socket, you effectively let it scoot to the front of the line ahead of the `distributed-no-ack` operations that are being performed by other threads. The thread-level override is done by calling the `DistributedSystem.setThreadsSocketPolicy(false)` metho
 d.
+2.  Reduce your buffer sizes to slow down the distributed-no-ack operations. These changes slow down the threads performing distributed-no-ack operations and allow the thread doing the distributed-ack operations to be sent in a more timely manner.
+    -   If you're using UDP (you either have multicast enabled regions or have set `disable-tcp` to true in gemfire.properties), consider reducing the byteAllowance of mcast-flow-control to something smaller than the default of 3.5 megabytes.
+    -   If you're using TCP/IP, reduce the `socket-buffer-size` in gemfire.properties.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/slow_receivers.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/slow_receivers.html.md.erb b/geode-docs/managing/monitor_tune/slow_receivers.html.md.erb
new file mode 100644
index 0000000..8960d913
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/slow_receivers.html.md.erb
@@ -0,0 +1,17 @@
+---
+title:  Slow Receivers with TCP/IP
+---
+
+You have several options for preventing situations that can cause slow receivers of data distributions. The slow receiver options control only peer-to-peer communication using TCP/IP. This discussion does not apply to client/server or multi-site communication, or to communication using the UDP unicast or multicast protocols.
+
+Before you begin, you should understand Geode [Basic Configuration and Programming](../../basic_config/book_intro.html).
+
+-   **[Preventing Slow Receivers](../../managing/monitor_tune/slow_receivers_preventing_problems.html)**
+
+    During system integration, you can identify and eliminate potential causes of slow receivers in peer-to-peer communication.
+
+-   **[Managing Slow Receivers](../../managing/monitor_tune/slow_receivers_managing.html)**
+
+    If the receiver fails to receive a message, the sender continues to attempt to deliver the message as long as the receiving member is still in the distributed system.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/slow_receivers_managing.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/slow_receivers_managing.html.md.erb b/geode-docs/managing/monitor_tune/slow_receivers_managing.html.md.erb
new file mode 100644
index 0000000..9bc4302
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/slow_receivers_managing.html.md.erb
@@ -0,0 +1,99 @@
+---
+title:  Managing Slow Receivers
+---
+
+If the receiver fails to receive a message, the sender continues to attempt to deliver the message as long as the receiving member is still in the distributed system.
+
+During the retry cycle, Geode throws warnings that include this string:
+
+``` pre
+will reattempt
+```
+
+The warnings are followed by an informational message when the delivery finally succeeds.
+
+For distributed regions, the scope of a region determines whether distribution acknowledgments and distributed synchronization are required. Partitioned regions ignore the scope attribute, but for the purposes of this discussion you should think of them as having an implicit distributed-ack scope.
+
+By default, distribution between system members is performed synchronously. With synchronous communication, when one member is slow to receive, it can cause its producers to slow down as well. This, of course, can lead to general performance problems in the distributed system.
+
+If you are experiencing slow performance and are sending large objects (multiple megabytes), before implementing these slow receiver options make sure your socket buffer sizes are appropriate for the size of the objects you distribute. The socket buffer size is set using socket-buffer-size in the `gemfire.properties` file.
+
+**Managing Slow distributed-no-ack Receivers**
+
+You can configure your consumer members so their messages are queued separately when they are slow to respond. The queueing happens in the producer members when the producers detect slow receipt and allows the producers to keep sending to other consumers at a normal rate. Any member that receives data distribution can be configured as described in this section.
+
+The specifications for handling slow receipt primarily affect how your members manage distribution for regions with distributed-no-ack scope, where distribution is asynchronous, but the specifications can affect other distributed scopes as well. If no regions have distributed-no-ack scope, the mechanism is unlikely to kick in at all. When slow receipt handling does kick in, however, it affects all distribution between the producer and that consumer, regardless of scope.
+
+**Note:**
+These slow receiver options are disabled in systems using SSL. See [SSL](../security/ssl_overview.html).
+
+Each consumer member determines how its own slow behavior is to be handled by its producers. The settings are specified as distributed system connection properties. This section describes the settings and lists the associated properties.
+
+-   async-distribution-timeout\u2014The distribution timeout specifies how long producers are to wait for the consumer to respond to synchronous messaging before switching to asynchronous messaging with that consumer. When a producer switches to asynchronous messaging, it creates a queue for that consumer\u2019s messages and a separate thread to handle the communication. When the queue empties, the producer automatically switches back to synchronous communication with the consumer. These settings affect how long your producer\u2019s cache operations might block. The sum of the timeouts for all consumers is the longest time your producer might block on a cache operation.
+-   async-queue-timeout\u2014The queue timeout sets a limit on the length of time the asynchronous messaging queue can exist without a successful distribution to the slow receiver. When the timeout is reached, the producer asks the consumer to leave the distributed system.
+-   async-max-queue-size\u2014The maximum queue size limits the amount of memory the asynchronous messaging queue can consume. When the maximum is reached, the producer asks the consumer to leave the distributed system.
+
+**Configuring Async Queue Conflation**
+
+When the scope is distributed-no-ack scope, you can configure the producer to conflate entry update messages in its queues, which may further speed communication. By default, distributed-no-ack entry update messages are not conflated. The configuration is set in the producer at the region level.
+
+**Forcing the Slow Receiver to Disconnect**
+
+If either of the queue timeout or maximum queue size limits is reached, the producer sends the consumer a high-priority message (on a different TCP connection than the connection used for cache messaging) telling it to disconnect from the distributed system. This prevents growing memory consumption by the other processes that are queuing changes for the slow receiver while they wait for that receiver to catch up. It also allows the slow member to start fresh, possibly clearing up the issues that were causing it to run slowly.
+
+When a producer gives up on a slow receiver, it logs one of these types of warnings:
+
+-   Blocked for time ms which is longer than the max of asyncQueueTimeout ms so asking slow receiver slow\_receiver\_ID to disconnect.
+-   Queued bytes exceed max of asyncMaxQueueSize so asking slow receiver slow\_receiver\_ID to disconnect.
+
+When a process disconnects after receiving a request to do so by a producer, it logs a warning message of this type:
+
+-   Disconnect forced by producer because we were too slow.
+
+These messages only appear in your logs if logging is enabled and the log level is set to a level that includes warning (which it does by default). See [Logging](../logging/logging.html#concept_30DB86B12B454E168B80BB5A71268865).
+
+If your consumer is unable to receive even high priority messages, only the producer\u2019s warnings will appear in the logs. If you see only producer warnings, you can restart the consumer process. Otherwise, the Geode failure detection code will eventually cause the member to leave the distributed system on its own.
+
+**Use Cases**
+
+These are the main use cases for the slow receiver specifications:
+
+-   Message bursts\u2014With message bursts, the socket buffer can overflow and cause the producer to block. To keep from blocking, first make sure your socket buffer is large enough to handle a normal number of messages (using the socket-buffer-size property), then set the async distribution timeout to 1. With this very low distribution timeout, when your socket buffer does fill up, the producer quickly switches to async queueing. Use the distribution statistics, asyncQueueTimeoutExceeded and asyncQueueSizeExceeded, to make sure your queue settings are high enough to avoid forcing unwanted disconnects during message bursts.
+-   Unhealthy or dead members\u2014When members are dead or very unhealthy, they may not be able to communicate with other distributed system members. The slow receiver specifications allow you to force crippled members to disconnect, freeing up resources and possibly allowing the members to restart fresh. To configure for this, set the distribution timeout high (one minute), and set the queue timeout low. This is the best way to avoid queueing for momentary slowness, while still quickly telling very unhealthy members to leave the distributed system.
+-   Combination message bursts and unhealthy members\u2014To configure for both of the above situations, set the distribution timeout low and the queue timeout high, as for the message bursts scenario.
+
+**Managing Slow distributed-ack Receivers**
+
+When using a distribution scope other than distributed-no-ack, alerts are issued for slow receivers. A member that isn\u2019t responding to messages may be sick, slow, or missing. Sick or slow members are detected in message transmission and reply-wait processing code, triggering a warning alert first. If a member still isn\u2019t responding, a severe warning alert is issued, indicating that the member may be disconnected from the distributed system. This alert sequence is enabled by setting the ack-wait-threshold and the ack-severe-alert-threshold to some number of seconds.
+
+When ack-severe-alert-threshold is set, regions are configured to use ether distributed-ack or global scope, or use the partition data policy. Geode will wait for a total of ack-wait-threshold seconds for a response to a cache operation, then it logs a warning alert ("Membership: requesting removal of entry(\#). Disconnected as a slow-receiver"). After waiting an additional ack-severe-alert-threshold seconds after the first threshold is reached, the system also informs the failure detection mechanism that the receiver is suspect and may be disconnected, as shown in the following figure.
+
+<img src="../../images_svg/member_severe_alert.svg" id="slow_recv__image_BA474143B16744F28DE0AB1CAD00FB48" class="image" />
+The events occur in this order:
+
+1.  CACHE\_OPERATION - transmission of cache operation is initiated.
+2.  SUSPECT - identified as a suspect by ack-wait-threshold, which is the maximum time to wait for an acknowledge before initiating failure detection.
+3.  I AM ALIVE - notification to the system in response to failure detection queries, if the process is still alive. A new membership view is sent to all members if the suspect process fails to answer with I AM ALIVE.
+4.  SEVERE ALERT- the result of ack-severe-wait-threshold elapsing without receiving a reply.
+
+When a member fails suspect processing, its cache is closed and its CacheListeners are notified with the afterRegionDestroyed notification. The RegionEvent passed with this notification has a CACHE\_CLOSED operation and a FORCED\_DISCONNECT operation, as shown in the FORCED\_DISCONNECT example.
+
+``` pre
+public static final Operation FORCED_DISCONNECT 
+= new Operation("FORCED_DISCONNECT",
+        true, // isLocal
+        true, // isRegion
+        OP_TYPE_DESTROY,
+        OP_DETAILS_NONE
+        );
+            
+```
+
+A cache closes due to being expelled from the distributed system by other members. Typically, this happens when a member becomes unresponsive and does not respond to heartbeat requests within the member-timeout period, or when ack-severe-alert-threshold has expired without a response from the member.
+
+**Note:**
+This is marked as a region operation.
+
+Other members see the normal membership notifications for the departing member. For instance, RegionMembershipListeners receive the afterRemoteRegionCrashed notification, and SystemMembershipListeners receive the memberCrashed notification.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/slow_receivers_preventing_problems.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/slow_receivers_preventing_problems.html.md.erb b/geode-docs/managing/monitor_tune/slow_receivers_preventing_problems.html.md.erb
new file mode 100644
index 0000000..1a6d256
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/slow_receivers_preventing_problems.html.md.erb
@@ -0,0 +1,28 @@
+---
+title:  Preventing Slow Receivers
+---
+
+During system integration, you can identify and eliminate potential causes of slow receivers in peer-to-peer communication.
+
+Work with your network administrator to eliminate any problems you identify.
+
+Slowing is more likely to occur when applications run many threads, send large messages (due to large entry values), or have a mix of region configurations. The problem can also arise from message delivery retries caused by intermittent connection problems.
+
+**Host Resources**
+
+Make sure that the machines that run Geode members have enough CPU available to them. Do not run any other heavyweight processes on the same machine.
+
+The machines that host Geode application and cache server processes should have comparable computing power and memory capacity. Otherwise, members on the less powerful machines tend to have trouble keeping up with the rest of the group.
+
+**Network Capacity**
+
+Eliminate congested areas on the network by rebalancing the traffic load. Work with your network administrator to identify and eliminate traffic bottlenecks, whether caused by the architecture of the distributed Geode system or by contention between the Geode traffic and other traffic on your network. Consider whether more subnets are needed to separate the Geode administrative traffic from Geode data transport and to separate all the Geode traffic from the rest of your network load.
+
+The network connections between hosts need to have equal bandwidth. If not, you can end up with a configuration like the multicast example in the following figure, which creates conflicts among the members. For example, if app1 sends out data at 7Mbps, app3 and app4 would be fine, but app2 would miss some data. In that case, app2 contacts app1 on the TCP channel and sends a log message that it\u2019s dropping data.
+<img src="../../images_svg/unbalanced_network_capacity_probs.svg" id="slow_recv__image_F8C424AB97C444298993294000676150" class="image" />
+
+**Plan for Growth**
+
+Upgrade the infrastructure to the level required for acceptable performance. Analyze the expected Geode traffic in comparison to the network\u2019s capacity. Build in extra capacity for growth and high-traffic spikes. Similarly, evaluate whether the machines that host Geode application and cache server processes can handle the expected load.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/socket_communication.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/socket_communication.html.md.erb b/geode-docs/managing/monitor_tune/socket_communication.html.md.erb
new file mode 100644
index 0000000..99d2117
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/socket_communication.html.md.erb
@@ -0,0 +1,31 @@
+---
+title:  Socket Communication
+---
+
+Geode processes communicate using TCP/IP and UDP unicast and multicast protocols. In all cases, communication uses sockets that you can tune to optimize performance.
+
+The adjustments you make to tune your Geode communication may run up against operating system limits. If this happens, check with your system administrator about adjusting the operating system settings.
+
+All of the settings discussed here are listed as `gemfire.properties` and `cache.xml` settings. They can also be configured through the API and some can be configured at the command line. Before you begin, you should understand Geode [Basic Configuration and Programming](../../basic_config/book_intro.html).
+
+-   **[Setting Socket Buffer Sizes](../../managing/monitor_tune/socket_communication_setting_socket_buffer_sizes.html)**
+
+    When you determine buffer size settings, you try to strike a balance between communication needs and other processing.
+
+-   **[Ephemeral TCP Port Limits](../../managing/monitor_tune/socket_communication_ephemeral_tcp_port_limits.html)**
+
+    By default, Windows\u2019 ephemeral ports are within the range 1024-4999, inclusive.You can increase the range.
+
+-   **[Making Sure You Have Enough Sockets](../../managing/monitor_tune/socket_communication_have_enough_sockets.html)**
+
+    The number of sockets available to your applications is governed by operating system limits.
+
+-   **[TCP/IP KeepAlive Configuration](../../managing/monitor_tune/socket_tcp_keepalive.html)**
+
+    Geode supports TCP KeepAlive to prevent socket connections from being timed out.
+
+-   **[TCP/IP Peer-to-Peer Handshake Timeouts](../../managing/monitor_tune/socket_communication_tcpip_p2p_handshake_timeouts.html)**
+
+    You can alleviate connection handshake timeouts for TCP/IP connections by increasing the connection handshake timeout interval with the system property p2p.handshakeTimeoutMs.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/socket_communication_ephemeral_tcp_port_limits.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/socket_communication_ephemeral_tcp_port_limits.html.md.erb b/geode-docs/managing/monitor_tune/socket_communication_ephemeral_tcp_port_limits.html.md.erb
new file mode 100644
index 0000000..e0dc158
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/socket_communication_ephemeral_tcp_port_limits.html.md.erb
@@ -0,0 +1,41 @@
+---
+title:  Ephemeral TCP Port Limits
+---
+
+By default, Windows\u2019 ephemeral ports are within the range 1024-4999, inclusive.You can increase the range.
+
+<a id="socket_comm__section_F535D5D99206498DBBD5A6CC3230F25B"></a>
+If you are repeatedly receiving the following exception:
+
+``` pre
+java.net.BindException: Address already in use: connect
+```
+
+and if your system is experiencing a high degree of network activity, such as numerous short-lived client connections, this could be related to a limit on the number of ephemeral TCP ports. While this issue could occur with other operating systems, typically, it is only seen with Windows due to a low default limit.
+
+Perform this procedure to increase the limit:
+
+1.  Open the Windows Registry Editor.
+2.  Navigate to the following key:
+
+    ``` pre
+    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameter
+    ```
+
+3.  From the Edit menu, click New, and then add the following registry entry:
+
+    ``` pre
+    Value Name: MaxUserPort 
+    Value Type: DWORD  
+    Value data: 36863
+    ```
+
+4.  Exit the Registry Editor, and then restart the computer.
+
+This affects all versions of the Windows operating system.
+
+**Note for UDP on Unix Systems**
+
+Unix systems have a default maximum socket buffer size for receiving UDP multicast and unicast transmissions that is lower than the default settings for mcast-recv-buffer-size and udp-recv-buffer-size. To achieve high-volume multicast messaging, you should increase the maximum Unix buffer size to at least one megabyte.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/socket_communication_have_enough_sockets.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/socket_communication_have_enough_sockets.html.md.erb b/geode-docs/managing/monitor_tune/socket_communication_have_enough_sockets.html.md.erb
new file mode 100644
index 0000000..fcc2416
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/socket_communication_have_enough_sockets.html.md.erb
@@ -0,0 +1,168 @@
+---
+title:  Making Sure You Have Enough Sockets
+---
+
+The number of sockets available to your applications is governed by operating system limits.
+
+Sockets use file descriptors and the operating system\u2019s view of your application\u2019s socket use is expressed in terms of file descriptors. There are two limits, one on the maximum descriptors available to a single application and the other on the total number of descriptors available in the system. If you get error messages telling you that you have too many files open, you might be hitting the operating system limits with your use of sockets. Your system administrator might be able to increase the system limits so that you have more available. You can also tune your members to use fewer sockets for their outgoing connections. This section discusses socket use in Geode and ways to limit socket consumption in your Geode members.
+
+## <a id="socket_comm__section_31B4EFAD6F384AB1BEBCF148D3DEA514" class="no-quick-link"></a>Socket Sharing
+
+You can configure socket sharing for peer-to-peer and client-to-server connections:
+
+-   **Peer-to-peer**. You can configure whether your members share sockets both at the application level and at the thread level. To enable sharing at the application level, set the `gemfire.properties` `conserve-sockets` to true. To achieve maximum throughput, however, we recommend that you set `conserve-sockets` to `false`.
+
+    At the thread level, developers can override this setting by using the DistributedSystem API method `setThreadsSocketPolicy`. You might want to enable socket sharing at the application level and then have threads that do a lot of cache work take sole ownership of their sockets. Make sure to program these threads to release their sockets as soon as possible using the `releaseThreadsSockets` method, rather than waiting for a timeout or thread death.
+
+-   **Client**. You can configure whether your clients share their socket connections to servers with the pool setting `thread-local-connections`. There is no thread override for this setting. All threads either have their own socket or they all share.
+
+## <a id="socket_comm__section_6189D4E5E14F47E7882354603FBCE471" class="no-quick-link"></a>Socket Lease Time
+
+You can force the release of an idle socket connection for peer-to-peer and client-to-server connections:
+
+-   **Peer-to-peer**. For peer-to-peer threads that do not share sockets, you can use the `socket-lease-time` to make sure that no socket sits idle for too long. When a socket that belongs to an individual thread remains unused for this time period, the system automatically returns it to the pool. The next time the thread needs a socket, it creates a new socket.
+-   **Client**. For client connections, you can affect the same lease-time behavior by setting the pool `idle-timeout`.
+
+## <a id="socket_comm__section_936C6562C0034A2EAC9A63FFE9FDAC36" class="no-quick-link"></a>Calculating Connection Requirements
+
+Each type of member has its own connection requirements. Clients need connections to their servers, peers need connections to peers, and so on. Many members have compound roles. Use these guidelines to figure each member\u2019s socket needs and to calculate the combined needs of members that run on a single host system.
+
+A member\u2019s socket use is governed by a number of factors, including:
+
+-   How many peer members it connects to
+-   How many threads it has that update the cache and whether the threads share sockets
+-   Whether it is a server or a client,
+-   How many connections come in from other processes
+
+The socket requirements described here are worst-case. Generally, it is not practical to calculate exact socket use for your applications. Socket use varies depending a number of factors including how many members are running, what their threads are doing, and whether threads share sockets.
+
+To calculate any member\u2019s socket requirements, add up the requirements for every category that applies to the member. For example, a cache server running in a distributed system with clients connected to it has both peer-to-peer and server socket requirements.
+
+## <a id="socket_comm__section_DF64BDE7B6AA47A9B08E0540CAD6DA3A" class="no-quick-link"></a>Peer-to-Peer Socket Requirements Per Member
+
+Every member of a distributed system maintains two outgoing and two incoming connections to every peer. If threads share sockets, these fixed sockets are the sockets they share.
+
+For every thread that does not share sockets, additional sockets, one in and one out, are added for each peer. This affects not only the member\u2019s socket count, but the socket count for every member the member thread connects to.
+
+In this table:
+
+-   M is the total number of members in the distributed system.
+-   T is the number of threads in a member that own their own sockets and do not share.
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Peer Member Socket Description</th>
+<th>Number Used</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p>Membership failure detection</p></td>
+<td>2</td>
+</tr>
+<tr class="even">
+<td><p>Listener for incoming peer connections (server P2P)</p></td>
+<td><p>1</p></td>
+</tr>
+<tr class="odd">
+<td><p>Shared sockets (2 in and 2 out)</p>
+<p>Threads that share sockets use these.</p></td>
+<td><p>4 * (M-1)</p></td>
+</tr>
+<tr class="even">
+<td>This member\u2019s thread-owned sockets (1 in and 1 out for each thread, for each peer member).</td>
+<td><p>(T * 2) * (M-1)</p></td>
+</tr>
+<tr class="odd">
+<td><p>Other member\u2019s thread-owned sockets that connect to this member (1 in and 1 out for each). Note that this might include server threads if any of the other members are servers (see Server).</p></td>
+<td><p>Summation over (M-1) other members of (T*2)</p></td>
+</tr>
+</tbody>
+</table>
+
+**Note:**
+The threads servicing client requests add to the total count of thread-owned sockets both for this member connecting to its peers and for peers that connect to this member.
+
+## <a id="socket_comm__section_0497E07414CC4E0B968B4F3A7AFD3690" class="no-quick-link"></a>Server Socket Requirements Per Server
+
+Servers use one connection for each incoming client connection. By default, each connection is serviced by a server thread. These threads that service client requests communicate with the rest of the server distributed system to satisfy the requests and distributed update operations. Each of these threads uses its own thread-owned sockets for peer-to-peer communication. So this adds to the server\u2019s group of thread-owned sockets.
+
+The thread and connection count in the server may be limited by server configuration settings. These are max-connections and max-threads settings in the &lt;cache-server&gt; element of the `cache.xml`. These settings limit the number of connections the server accepts and the maximum number of threads that can service client requests. Both of these limit the server's overall connection requirements:
+
+-   When the connection limit is reached, the server refuses additional connections. This limits the number of connections the server uses for clients.
+-   When the thread limit is reached, threads start servicing multiple connections. This does not limit the number of client connections, but does limit the number of peer connections required to service client requests. Each server thread used for clients uses its own sockets, so it requires 2 connections to each of the server\u2019s peers. The max-threads setting puts a cap on the number of this type of peer connection that your server needs.
+
+The server uses one socket for each incoming client pool connection. If client subscriptions are used, the server creates an additional connection to each client that enables subscriptions.
+
+In this table, M is the total number of members in the distributed system.
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Server Socket Description</th>
+<th>Number Used</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td>Listener for incoming client connections</td>
+<td><p>1</p></td>
+</tr>
+<tr class="even">
+<td>Client pool connections to server</td>
+<td>Number of pool connections to this server</td>
+</tr>
+<tr class="odd">
+<td><p>Threads servicing client requests (the lesser of the client pool connection count and the server\u2019s max-threads setting). These connections are to the server\u2019s peers.</p></td>
+<td><p>(2 * number of threads in a server that service client pool connections)</p>
+<p>* (M-1)</p>
+<p>These threads do not share sockets.</p></td>
+</tr>
+<tr class="even">
+<td>Subscription connections</td>
+<td><p>2 * number of client subscription connections to this server</p></td>
+</tr>
+</tbody>
+</table>
+
+With client/server installations, the number of client connections to any single server is undetermined, but Geode\u2019s server load balancing and conditioning keeps the connections fairly evenly distributed among servers.
+
+Servers are peers in their own distributed system and have the additional socket requirements as noted in the Peer-to-Peer section above.
+
+## <a id="socket_comm__section_0D46E55422D24BA1B0CD888E14FD5182" class="no-quick-link"></a>Client Socket Requirements per Client
+
+Client connection requirements are compounded by how many pools they use. The use varies according to runtime client connection needs, but will usually have maximum and minimum settings. Look for the &lt;pool&gt; element in the `cache.xml` for the configuration properties.
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Client Socket Description</th>
+<th>Number Used</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p>Pool connection</p></td>
+<td><p>summation over the client pools of max-connections</p></td>
+</tr>
+<tr class="even">
+<td><p>Subscription connections</p></td>
+<td><p>2 * summation over the client pools of subscription-enabled</p></td>
+</tr>
+</tbody>
+</table>
+
+If your client acts as a peer in its own distributed system, it has the additional socket requirements as noted in the Peer-to-Peer section of this topic.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/socket_communication_setting_socket_buffer_sizes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/socket_communication_setting_socket_buffer_sizes.html.md.erb b/geode-docs/managing/monitor_tune/socket_communication_setting_socket_buffer_sizes.html.md.erb
new file mode 100644
index 0000000..8af18c8
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/socket_communication_setting_socket_buffer_sizes.html.md.erb
@@ -0,0 +1,127 @@
+---
+title:  Setting Socket Buffer Sizes
+---
+
+When you determine buffer size settings, you try to strike a balance between communication needs and other processing.
+
+Larger socket buffers allow your members to distribute data and events more quickly, but they also take memory away from other things. If you store very large data objects in your cache, finding the right sizing for your buffers while leaving enough memory for the cached data can become critical to system performance.
+
+Ideally, you should have buffers large enough for the distribution of any single data object so you don\u2019t get message fragmentation, which lowers performance. Your buffers should be at least as large as your largest stored objects and their keys plus some overhead for message headers. The overhead varies depending on the who is sending and receiving, but 100 bytes should be sufficient. You can also look at the statistics for the communication between your processes to see how many bytes are being sent and received.
+
+If you see performance problems and logging messages indicating blocked writers, increasing your buffer sizes may help.
+
+This table lists the settings for the various member relationships and protocols, and tells where to set them.
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="34%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Protocol / Area Affected</th>
+<th>Configuration Location</th>
+<th>Property Name</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><strong>TCP / IP</strong></td>
+<td>---</td>
+<td>---</td>
+</tr>
+<tr class="even">
+<td>Peer-to-peer send/receive</td>
+<td><p>gemfire.properties</p></td>
+<td>socket-buffer-size</td>
+</tr>
+<tr class="odd">
+<td>Client send/receive</td>
+<td><p>cache.xml &lt;pool&gt;</p></td>
+<td>socket-buffer-size</td>
+</tr>
+<tr class="even">
+<td>Server send/receive</td>
+<td><code class="ph codeph">gfsh start server</code> or
+<p>cache.xml &lt;CacheServer&gt;</p></td>
+<td>socket-buffer-size</td>
+</tr>
+<tr class="odd">
+<td><strong>UDP Multicast</strong></td>
+<td>---</td>
+<td>---</td>
+</tr>
+<tr class="even">
+<td>Peer-to-peer send</td>
+<td>gemfire.properties</td>
+<td>mcast-send-buffer-size</td>
+</tr>
+<tr class="odd">
+<td>Peer-to-peer receive</td>
+<td>gemfire.properties</td>
+<td>mcast-recv-buffer-size</td>
+</tr>
+<tr class="even">
+<td><strong>UDP Unicast</strong></td>
+<td>---</td>
+<td>---</td>
+</tr>
+<tr class="odd">
+<td>Peer-to-peer send</td>
+<td>gemfire.properties</td>
+<td>udp-send-buffer-size</td>
+</tr>
+<tr class="even">
+<td>Peer-to-peer receive</td>
+<td>gemfire.properties</td>
+<td>udp-recv-buffer-size</td>
+</tr>
+</tbody>
+</table>
+
+**TCP/IP Buffer Sizes**
+
+If possible, your TCP/IP buffer size settings should match across your Geode installation. At a minimum, follow the guidelines listed here.
+
+-   **Peer-to-peer**. The socket-buffer-size setting in `gemfire.properties` should be the same throughout your distributed system.
+-   **Client/server**. The client\u2019s pool socket-buffer size-should match the setting for the servers the pool uses, as in these example `cache.xml` snippets:
+
+    ``` pre
+    Client Socket Buffer Size cache.xml Configuration:
+    <pool>name="PoolA" server-group="dataSetA" socket-buffer-size="42000"...
+
+    Server Socket Buffer Size cache.xml Configuration:
+    <cache-server port="40404" socket-buffer-size="42000">
+        <group>dataSetA</group>
+    </cache-server>
+    ```
+
+**UDP Multicast and Unicast Buffer Sizes**
+
+With UDP communication, one receiver can have many senders sending to it at once. To accommodate all of the transmissions, the receiving buffer should be larger than the sum of the sending buffers. If you have a system with at most five members running at any time, in which all members update their data regions, you would set the receiving buffer to at least five times the size of the sending buffer. If you have a system with producer and consumer members, where only two producer members ever run at once, the receiving buffer sizes should be set at over two times the sending buffer sizes, as shown in this example:
+
+``` pre
+mcast-send-buffer-size=42000
+mcast-recv-buffer-size=90000
+udp-send-buffer-size=42000
+udp-recv-buffer-size=90000
+```
+
+**Operating System Limits**
+
+Your operating system sets limits on the buffer sizes it allows. If you request a size larger than the allowed, you may get warnings or exceptions about the setting during startup. These are two examples of the type of message you may see:
+
+``` pre
+[warning 2008/06/24 16:32:20.286 PDT CacheRunner <main> tid=0x1]
+requested multicast send buffer size of 9999999 but got 262144: see 
+system administration guide for how to adjust your OS 
+
+Exception in thread "main" java.lang.IllegalArgumentException: Could not 
+set "socket-buffer-size" to "99262144" because its value can not be 
+greater than "20000000".
+```
+
+If you think you are requesting more space for your buffer sizes than your system allows, check with your system administrator about adjusting the operating system limits.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/socket_communication_tcpip_p2p_handshake_timeouts.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/socket_communication_tcpip_p2p_handshake_timeouts.html.md.erb b/geode-docs/managing/monitor_tune/socket_communication_tcpip_p2p_handshake_timeouts.html.md.erb
new file mode 100644
index 0000000..e33dd9c
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/socket_communication_tcpip_p2p_handshake_timeouts.html.md.erb
@@ -0,0 +1,21 @@
+---
+title:  TCP/IP Peer-to-Peer Handshake Timeouts
+---
+
+You can alleviate connection handshake timeouts for TCP/IP connections by increasing the connection handshake timeout interval with the system property p2p.handshakeTimeoutMs.
+
+The default setting is 59000 milliseconds.
+
+This sets the handshake timeout to 75000 milliseconds for a Java application:
+
+``` pre
+-Dp2p.handshakeTimeoutMs=75000
+```
+
+The properties are passed to the cache server on the `gfsh` command line:
+
+``` pre
+gfsh>start server --name=server_name --J=-Dp2p.handshakeTimeoutMs=75000
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/socket_tcp_keepalive.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/socket_tcp_keepalive.html.md.erb b/geode-docs/managing/monitor_tune/socket_tcp_keepalive.html.md.erb
new file mode 100644
index 0000000..b960fd4
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/socket_tcp_keepalive.html.md.erb
@@ -0,0 +1,14 @@
+---
+title:  TCP/IP KeepAlive Configuration
+---
+
+Geode supports TCP KeepAlive to prevent socket connections from being timed out.
+
+The `gemfire.enableTcpKeepAlive` system property prevents connections that appear idle from being timed out (for example, by a firewall.) When configured to true, Geode enables the SO\_KEEPALIVE option for individual sockets. This operating system-level setting allows the socket to send verification checks (ACK requests) to remote systems in order to determine whether or not to keep the socket connection alive.
+
+**Note:**
+The time intervals for sending the first ACK KeepAlive request, the subsequent ACK requests and the number of requests to send before closing the socket is configured on the operating system level.
+
+By default, this system property is set to true.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/sockets_and_gateways.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/sockets_and_gateways.html.md.erb b/geode-docs/managing/monitor_tune/sockets_and_gateways.html.md.erb
new file mode 100644
index 0000000..4910453
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/sockets_and_gateways.html.md.erb
@@ -0,0 +1,105 @@
+---
+title:  Configuring Sockets in Multi-Site (WAN) Deployments
+---
+
+When you determine buffer size settings, you try to strike a balance between communication needs and other processing.
+
+This table lists the settings for gateway relationships and protocols, and tells where to set them.
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Protocol / Area Affected</th>
+<th>Configuration Location</th>
+<th>Property Name</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><strong>TCP / IP</strong></td>
+<td>---</td>
+<td>---</td>
+</tr>
+<tr class="even">
+<td>Gateway sender</td>
+<td><code class="ph codeph">gfsh create gateway-sender</code> or
+<p>cache.xml &lt;gateway-sender&gt;</p></td>
+<td>socket-buffer-size</td>
+</tr>
+<tr class="odd">
+<td>Gateway receiver</td>
+<td><code class="ph codeph">gfsh create gateway-receiver</code> or cache.xml &lt;gateway-receiver&gt;</td>
+<td>socket-buffer-size</td>
+</tr>
+</tbody>
+</table>
+
+**TCP/IP Buffer Sizes**
+
+If possible, your TCP/IP buffer size settings should match across your GemFire installation. At a minimum, follow the guidelines listed here.
+
+-   **Multisite (WAN)**. In a multi-site installation using gateways, if the link between sites is not tuned for optimum throughput, it could cause messages to back up in the cache queues. If a receiving queue overflows because of inadequate buffer sizes, it will become out of sync with the sender and the receiver will be unaware of the condition.
+
+    The gateway sender's socket-buffer-size attribute should match the gateway receiver\u2019s socket-buffer-size attribute for all gateway receivers that the sender connects to, as in these example `cache.xml` snippets:
+
+    ``` pre
+    Gateway Sender Socket Buffer Size cache.xml Configuration: 
+
+    <gateway-sender id="sender2" parallel="true"
+     remote-distributed-system-id="2"
+     socket-buffer-size="42000"
+     maximum-queue-memory="150"/>
+
+    Gateway Receiver Socket Buffer Size cache.xml Configuration:
+    <gateway-receiver start-port="1530" end-port="1551"
+     socket-buffer-size="42000"/>  
+    ```
+
+**Note:**
+WAN deployments increase the messaging demands on a Geode system. To avoid hangs related to WAN messaging, always set `conserve-sockets=false` for GemFire members that participate in a WAN deployment.
+
+## <a id="socket_comm__section_4A7C60D4471A4339884AA5AAC97B4DAA" class="no-quick-link"></a>Multi-site (WAN) Socket Requirements
+
+Each gateway sender and gateway receiver uses a socket to distribute events or to listen for incoming connections from remote sites.
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Multi-site Socket Description</th>
+<th>Number Used</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p>Listener for incoming connections</p></td>
+<td><p>summation of the number of gateway-receivers defined for the member</p></td>
+</tr>
+<tr class="even">
+<td><p>Incoming connection</p></td>
+<td><p>summation of the total number of remote gateway senders configured to connect to the gateway receiver</p></td>
+</tr>
+<tr class="odd">
+<td><p>Outgoing connection</p></td>
+<td><p>summation of the number of gateway senders defined for the member</p></td>
+</tr>
+</tbody>
+</table>
+
+Servers are peers in their own distributed system and have the additional socket requirements as noted in the Peer-to-Peer section above.
+
+## <a id="socket_comm__section_66D11C8E84F941B58800EDB52194B087" class="no-quick-link"></a>Member produces SocketTimeoutException
+
+A client, server, gateway sender, or gateway receiver produces a SocketTimeoutException when it stops waiting for a response from the other side of the connection and closes the socket. This exception typically happens on the handshake or when establishing a callback connection.
+
+Response:
+
+Increase the default socket timeout setting for the member. This timeout is set separately for the client Pool and for the gateway sender and gateway receiver, either in the `cache.xml` file or through the API. For a client/server configuration, adjust the "read-timeout" value as described in [&lt;pool&gt;](../../reference/topics/client-cache.html#cc-pool) or use the `org.apache.geode.cache.client.PoolFactory.setReadTimeout` method. For a gateway sender or gateway receiver, see [WAN Configuration](../../reference/topics/elements_ref.html#topic_7B1CABCAD056499AA57AF3CFDBF8ABE3).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/system_member_performance.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/system_member_performance.html.md.erb b/geode-docs/managing/monitor_tune/system_member_performance.html.md.erb
new file mode 100644
index 0000000..72cfe8a
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/system_member_performance.html.md.erb
@@ -0,0 +1,25 @@
+---
+title:  System Member Performance
+---
+
+You can modify some configuration parameters to improve system member performance.
+
+Before doing so, you should understand [Basic Configuration and Programming](../../basic_config/book_intro.html).
+
+-   **[Distributed System Member Properties](../../managing/monitor_tune/system_member_performance_distributed_system_member.html)**
+
+    Several performance-related properties apply to a cache server or application that connects to the distributed system.
+
+-   **[JVM Memory Settings and System Performance](../../managing/monitor_tune/system_member_performance_jvm_mem_settings.html)**
+
+    You configure JVM memory settings for the Java application by adding parameters to the java invocation. For the cache server, you add them to the command-line parameters for the gfsh `start server` command.
+
+-   **[Garbage Collection and System Performance](../../managing/monitor_tune/system_member_performance_garbage.html)**
+
+    If your application exhibits unacceptably high latencies, you might improve performance by modifying your JVM\u2019s garbage collection behavior.
+
+-   **[Connection Thread Settings and Performance](../../managing/monitor_tune/system_member_performance_connection_thread_settings.html)**
+
+    When many peer processes are started concurrently, you can improve the distributed system connect time can by setting the p2p.HANDSHAKE\_POOL\_SIZE system property value to the expected number of members.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/system_member_performance_connection_thread_settings.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/system_member_performance_connection_thread_settings.html.md.erb b/geode-docs/managing/monitor_tune/system_member_performance_connection_thread_settings.html.md.erb
new file mode 100644
index 0000000..0c13022
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/system_member_performance_connection_thread_settings.html.md.erb
@@ -0,0 +1,15 @@
+---
+title:  Connection Thread Settings and Performance
+---
+
+When many peer processes are started concurrently, you can improve the distributed system connect time can by setting the p2p.HANDSHAKE\_POOL\_SIZE system property value to the expected number of members.
+
+This property controls the number of threads that can be used to establish new TCP/IP connections between peer caches. The threads are discarded if they are idle for 60 seconds.
+
+The default value for p2p.HANDSHAKE\_POOL\_SIZE is 10. This command-line specification sets the number of threads to 100:
+
+``` pre
+-Dp2p.HANDSHAKE_POOL_SIZE=100
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/system_member_performance_distributed_system_member.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/system_member_performance_distributed_system_member.html.md.erb b/geode-docs/managing/monitor_tune/system_member_performance_distributed_system_member.html.md.erb
new file mode 100644
index 0000000..6b885b9
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/system_member_performance_distributed_system_member.html.md.erb
@@ -0,0 +1,11 @@
+---
+title:  Distributed System Member Properties
+---
+
+Several performance-related properties apply to a cache server or application that connects to the distributed system.
+
+-   **statistic-sampling-enabled**.Turning off statistics sampling saves resources, but it also takes away potentially valuable information for ongoing system tuning and unexpected system problems. If LRU eviction is configured, then statistics sampling must be on.
+-   **statistic-sample-rate**. Increasing the sample rate for statistics reduces system resource use while still providing some statistics for system tuning and failure analysis.
+-   **log-level**. As with the statistic sample rate, lowering this setting reduces system resource consumption. See [Logging](../logging/logging.html#concept_30DB86B12B454E168B80BB5A71268865).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/system_member_performance_garbage.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/system_member_performance_garbage.html.md.erb b/geode-docs/managing/monitor_tune/system_member_performance_garbage.html.md.erb
new file mode 100644
index 0000000..b9231ce
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/system_member_performance_garbage.html.md.erb
@@ -0,0 +1,36 @@
+---
+title:  Garbage Collection and System Performance
+---
+
+If your application exhibits unacceptably high latencies, you might improve performance by modifying your JVM\u2019s garbage collection behavior.
+
+Garbage collection, while necessary, introduces latency into your system by consuming resources that would otherwise be available to your application. You can reduce the impact of garbage collection in two ways:
+
+-   Optimize garbage collection in the JVM heap.
+-   Reduce the amount of data exposed to garbage collection by storing values in off-heap memory.
+
+**Note:**
+Garbage collection tuning options depend on the JVM you are using. Suggestions given here apply to the Sun HotSpot JVM. If you use a different JVM, check with your vendor to see if these or comparable options are available to you.
+
+**Note:**
+Modifications to garbage collection sometimes produce unexpected results. Always test your system before and after making changes to verify that the system\u2019s performance has improved.
+
+**Optimizing Garbage Collection**
+
+The two options suggested here are likely to expedite garbage collecting activities by introducing parallelism and by focusing on the data that is most likely to be ready for cleanup. The first parameter causes the garbage collector to run concurrent to your application processes. The second parameter causes it to run multiple, parallel threads for the "young generation" garbage collection (that is, garbage collection performed on the most recent objects in memory\u2014where the greatest benefits are expected):
+
+``` pre
+-XX:+UseConcMarkSweepGC -XX:+UseParNewGC
+```
+
+For applications, if you are using remote method invocation (RMI) Java APIs, you might also be able to reduce latency by disabling explicit calls to the garbage collector. The RMI internals automatically invoke garbage collection every sixty seconds to ensure that objects introduced by RMI activities are cleaned up. Your JVM may be able to handle these additional garbage collection needs. If so, your application may run faster with explicit garbage collection disabled. You can try adding the following command-line parameter to your application invocation and test to see if your garbage collector is able to keep up with demand:
+
+``` pre
+-XX:+DisableExplicitGC
+```
+
+**Using Off-heap Memory**
+
+You can improve the performance of some applications by storing data values in off-heap memory. Certain objects, such as keys, must remain in the JVM heap. See [Managing Off-Heap Memory](../heap_use/off_heap_management.html) for more information.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/system_member_performance_jvm_mem_settings.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/system_member_performance_jvm_mem_settings.html.md.erb b/geode-docs/managing/monitor_tune/system_member_performance_jvm_mem_settings.html.md.erb
new file mode 100644
index 0000000..08d5700
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/system_member_performance_jvm_mem_settings.html.md.erb
@@ -0,0 +1,61 @@
+---
+title:  JVM Memory Settings and System Performance
+---
+
+You configure JVM memory settings for the Java application by adding parameters to the java invocation. For the cache server, you add them to the command-line parameters for the gfsh `start server` command.
+
+-   JVM heap size\u2014Your JVM may require more memory than is allocated by default. For example, you may need to increase heap size for an application that stores a lot of data. You can set a maximum size and an initial size, so if you know you will be using the maximum (or close to it) for the life of the member, you can speed memory allocation time by setting the initial size to the maximum. This sets both the maximum and initial memory sizes to 1024 megabytes for a Java application:
+
+    ``` pre
+    -Xmx1024m -Xms1024m
+    ```
+
+    Properties can be passed to the cache server on the `gfsh` command line:
+
+    ``` pre
+    gfsh>start server --name=server-name --J=-Xmx1024m --J=-Xms1024m
+    ```
+
+-   MaxDirectMemorySize\u2014The JVM has a kind of memory called direct memory, which is distinct from normal JVM heap memory, that can run out. You can increase the direct buffer memory either by increasing the maximum heap size (see previous JVM Heap Size), which increases both the maximum heap and the maximum direct memory, or by only increasing the maximum direct memory using -XX:MaxDirectMemorySize. The following parameter added to the Java application startup increases the maximum direct memory size to 256 megabytes:
+
+    ``` pre
+    -XX:MaxDirectMemorySize=256M
+    ```
+
+    The same effect for the cache server:
+
+    ``` pre
+    gfsh>start server --name=server-name --J=-XX:MaxDirectMemorySize=256M
+    ```
+
+-   JVM stack size\u2014Each thread in a Java application has its own stack. The stack is used to hold return addresses, arguments to functions and method calls, and so on. Since Geode is a highly multi-threaded system, at any given point in time there are multiple thread pools and threads that are in use. The default stack size setting for a thread in Java is 1MB. Stack size has to be allocated in contiguous blocks and if the machine is being used actively and there are many threads running in the system (Task Manager shows the number of active threads), you may encounter an `OutOfMemory error: unable to create new native thread`, even though your process has enough available heap. If this happens, consider reducing the stack size requirement for threads on the cache server. The following parameter added to the Java application startup limits the maximum size of the stack.
+
+    ``` pre
+    -Xss384k
+    ```
+
+    In particular, we recommend starting the cache servers with a stack size of 384k or 512k in such cases. For example:
+
+    ``` pre
+    gfsh>start server --name=server-name --J=-Xss384k
+
+    gfsh>start server --name=server-name --J=-Xss512k
+    ```
+
+-   Off-heap memory size\u2014For applications that use off-heap memory, specifies how much off-heap memory to allocate. Setting `off-heap-memory-size` is prerequisite to enabling the off-heap capability for individual regions. For example:
+
+    ``` pre
+    gfsh>start server --name=server-name --off-heap-memory-size=200G
+    ```
+
+    See [Using Off-heap Memory](../heap_use/off_heap_management.html#managing-off-heap-memory) for additional considerations regarding this parameter.
+
+-   Lock memory\u2014On Linux systems, you can prevent heap and off-heap memory from being paged out by setting the `lock-memory` parameter to `true`. For example:
+
+    ``` pre
+    gfsh>start server --name=server-name --off-heap-memory-size=200G --lock-memory=true
+    ```
+
+    See [Locking Memory](../heap_use/lock_memory.html) for additional considerations regarding this parameter.
+
+


[61/76] [abbrv] incubator-geode git commit: GEODE-1952: removed native client docs, set aside until native client code is merged in (see GEODE-1964)

Posted by km...@apache.org.
GEODE-1952: removed native client docs, set aside until native client code is merged in (see GEODE-1964)


Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/381d0faa
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/381d0faa
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/381d0faa

Branch: refs/heads/feature/GEODE-1952-2
Commit: 381d0faaedeba3c8079a03a4da971615d9762da5
Parents: ccc2fbd
Author: Dave Barnes <db...@pivotal.io>
Authored: Tue Oct 4 17:15:37 2016 -0700
Committer: Dave Barnes <db...@pivotal.io>
Committed: Tue Oct 4 17:15:37 2016 -0700

----------------------------------------------------------------------
 .../about_native_client_users_guide.html.md.erb |  83 -----
 .../cache-init-file/cache-dtd.html.md.erb       | 267 --------------
 .../chapter-overview.html.md.erb                |  21 --
 .../example-cache-file.html.md.erb              |  48 ---
 .../cache-init-file/file-basics.html.md.erb     |  18 -
 .../client-cache/accessing-entries.html.md.erb  |  38 --
 .../adding-entries-to-cache.html.md.erb         |  32 --
 .../application-plugins.html.md.erb             | 262 --------------
 .../client-cache/cache-management.html.md.erb   |  29 --
 .../client-cache/cache-ownership.html.md.erb    |  11 -
 .../client-cache/caches.html.md.erb             |  27 --
 .../client-cache/caching-apis.html.md.erb       |  28 --
 .../client-cache/caching-enabled.html.md.erb    |  27 --
 .../client-cache/chapter-overview.html.md.erb   |  37 --
 .../client-to-server-connection.html.md.erb     |  39 --
 .../client-cache/closing-cache.html.md.erb      |  11 -
 .../concurrency-checks-enabled.html.md.erb      |  18 -
 .../client-cache/concurrency-level.html.md.erb  |  18 -
 .../consistency_checking_in_regions.html.md.erb |  19 -
 .../controlling-cache-size.html.md.erb          |  20 --
 .../create-access-cache.html.md.erb             |  53 ---
 .../declarative-region-creation.html.md.erb     |  38 --
 .../client-cache/disk-policy.html.md.erb        |  34 --
 .../client-cache/entries.html.md.erb            |  20 --
 .../expiration-attributes.html.md.erb           |  65 ----
 .../getting-the-region-size.html.md.erb         |  11 -
 .../client-cache/initial-capacity.html.md.erb   |  15 -
 .../invalidating-cached-entries.html.md.erb     |  16 -
 .../invalidating-region.html.md.erb             |  25 --
 .../client-cache/load-factor.html.md.erb        |  15 -
 .../client-cache/lru-entries-limit.html.md.erb  |  31 --
 .../managing-lifetime-cached-object.html.md.erb |  48 ---
 .../notification-for-operations.html.md.erb     |  16 -
 .../overview-client-cache.html.md.erb           |  24 --
 .../persistence-manager.html.md.erb             | 224 ------------
 .../programmatic-region-creation.html.md.erb    |  24 --
 .../client-cache/region-access.html.md.erb      |  21 --
 .../region-attributes-desc.html.md.erb          |  39 --
 .../client-cache/region-attributes.html.md.erb  |  35 --
 .../client-cache/region-shortcuts.html.md.erb   |  63 ----
 .../client-cache/regions.html.md.erb            |  32 --
 ...registering-interest-for-entries.html.md.erb |  93 -----
 .../requirements-for-distrib.html.md.erb        |  11 -
 .../specify-region-attributes.html.md.erb       |   9 -
 .../client-cache/troubleshooting.html.md.erb    |  41 ---
 .../client-cache/updating-entries.html.md.erb   |  16 -
 .../using-serverkeys-to-retrieve.html.md.erb    |  32 --
 .../using-thread-safety.html.md.erb             |  13 -
 .../common/images/10-Continuous_Querying-1.gif  | Bin 7411 -> 0 bytes
 .../common/images/10-Continuous_Querying-3.gif  | Bin 8611 -> 0 bytes
 .../common/images/6-DotNet_API-1.gif            | Bin 4218 -> 0 bytes
 .../common/images/7-Preserving_Data-2.gif       | Bin 13146 -> 0 bytes
 .../common/images/client-cache-data-flow.gif    | Bin 4422 -> 0 bytes
 .../common/images/client-cache-plugins-run.gif  | Bin 4340 -> 0 bytes
 .../common/images/client-server-arch.gif        | Bin 7198 -> 0 bytes
 .../common/images/data-dep-func-from-client.gif | Bin 10336 -> 0 bytes
 .../common/images/data-dep-func-with-filter.gif | Bin 11062 -> 0 bytes
 .../images/data-indep-func-from-client.gif      | Bin 8105 -> 0 bytes
 .../delta-propagation-in-client-server.gif      | Bin 7115 -> 0 bytes
 .../common/images/delta-propagation.gif         | Bin 8817 -> 0 bytes
 .../common/images/ha-data-dep-func.gif          | Bin 14684 -> 0 bytes
 .../common/images/native-client-overview.gif    | Bin 6421 -> 0 bytes
 .../images/security-client-connections.gif      | Bin 8300 -> 0 bytes
 .../common/images/xact-run-from-client.gif      | Bin 9928 -> 0 bytes
 .../about-connection-pools.html.md.erb          |  20 --
 .../about-server-locators.html.md.erb           |  17 -
 .../client-load-balancing.html.md.erb           |  21 --
 ...iguring-pools-attributes-example.html.md.erb | 156 --------
 .../configuring-pools.html.md.erb               |  25 --
 .../connection-pools.html.md.erb                |  15 -
 ...discovering-locators-dynamically.html.md.erb |  17 -
 .../native-client-pool-api.html.md.erb          |  22 --
 .../running-connection-pool-code.html.md.erb    |  59 ---
 .../subscription-properties.html.md.erb         |  24 --
 .../1-how-cont-query-works.html.md.erb          |  59 ---
 ...2-config-for-continuous-querying.html.md.erb |  15 -
 .../3-native-client-cq-api.html.md.erb          |  41 ---
 .../5-implementing-cq.html.md.erb               |  47 ---
 .../5a-writing-cq.html.md.erb                   |  26 --
 .../5b-writing-cq-listener.html.md.erb          | 280 ---------------
 .../5c-cq-event-object.html.md.erb              |  60 ----
 .../5d-when-error-occurs.html.md.erb            |  17 -
 .../5e-running-cq-code.html.md.erb              |  67 ----
 .../5f-cq-execution-options.html.md.erb         |  13 -
 .../6-managing-cqs.html.md.erb                  |  35 --
 .../continuous-querying.html.md.erb             |  23 --
 .../cpp-caching-api/accessing-entry.html.md.erb |  28 --
 .../add-entry-to-cache.html.md.erb              |  43 ---
 .../cpp-caching-api/cpp-caching-api.html.md.erb |  51 ---
 .../cpp-caching-api/creating-cache.html.md.erb  |  22 --
 .../creating-new-statistics.html.md.erb         |  53 ---
 .../cpp-caching-api/creating-region.html.md.erb |  34 --
 .../cpp-caching-api/data-as-blob.html.md.erb    |  11 -
 .../cpp-caching-api/gfe-cpp-api.html.md.erb     |  61 ----
 .../cpp-caching-api/object-graphs.html.md.erb   |   9 -
 .../pdx_auto_serialization.html.md.erb          | 355 -------------------
 .../pdx_ignore_unread_fields.html.md.erb        |  20 --
 .../pdx_serialization.html.md.erb               |  43 ---
 .../pdx_with_delta_propagation.html.md.erb      |  28 --
 .../pdxserializable_interface.html.md.erb       | 100 ------
 .../performing_ops_with_pdx_object.html.md.erb  |  43 ---
 ...ion_data_requiring_serialization.html.md.erb |  19 -
 .../cpp-caching-api/removing-entry.html.md.erb  |  19 -
 .../serialization_options.html.md.erb           |  65 ----
 .../serialization_overview.html.md.erb          |  31 --
 ...serialization_using_serializable.html.md.erb | 246 -------------
 .../type_interoperability.html.md.erb           |  46 ---
 .../user-defined-objects.html.md.erb            |  31 --
 .../using-custom-class.html.md.erb              |  68 ----
 .../using_enum_type_with_pdx.html.md.erb        | 113 ------
 .../using_pdxinstance.html.md.erb               |  42 ---
 .../using_pdxinstancefactory.html.md.erb        | 117 ------
 .../using_pdxserializer.html.md.erb             | 102 ------
 .../delta-propagation-api.html.md.erb           |  27 --
 .../delta-propagation-examples.html.md.erb      | 335 -----------------
 .../delta-propagation-properties.html.md.erb    |  42 ---
 .../delta-propagation.html.md.erb               |  31 --
 .../how-delta-propagation-works.html.md.erb     |  19 -
 .../implementing-delta-propagation.html.md.erb  |  41 ---
 .../delta-propagation/performance.html.md.erb   |  48 ---
 .../application-callbacks.html.md.erb           |  81 -----
 .../dotnet-caching-api/cache-apis.html.md.erb   |  10 -
 ...p-class-to-dotnet-class-mappings.html.md.erb | 164 ---------
 .../creating-a-cache.html.md.erb                |  33 --
 .../creating-a-region.html.md.erb               |  37 --
 .../csharp-dotnet-api.html.md.erb               |  38 --
 ...csharp-dotnet-naming-conventions.html.md.erb |  15 -
 .../custom-class-igfserializable.html.md.erb    | 136 -------
 .../data-serialization-apis.html.md.erb         |  23 --
 .../dotnet-accessing-an-entry.html.md.erb       |  34 --
 .../dotnet-adding-entry-to-cache.html.md.erb    |  29 --
 .../dotnet-application-domains.html.md.erb      |  16 -
 .../dotnet-caching-api.html.md.erb              |  63 ----
 ...otnet-data-serialization-options.html.md.erb |  64 ----
 .../dotnet-data-serialization.html.md.erb       |  35 --
 .../dotnet-pdx-autoserializer.html.md.erb       |  57 ---
 ...otnet-pdx-serialization-features.html.md.erb |  27 --
 .../dotnet-pdx-serialization.html.md.erb        |  11 -
 .../event-handling-apis.html.md.erb             |  15 -
 .../extending-pdx-autoserializer.html.md.erb    |  59 ---
 .../how-igfserializable-works.html.md.erb       |  19 -
 .../implementing-igfserializable.html.md.erb    | 122 -------
 .../implementing-shared-assembly.html.md.erb    |  21 --
 .../java-to-dotnet-type-mapping.html.md.erb     | 146 --------
 ...mapping-dotnet-domain-type-names.html.md.erb |  25 --
 .../object-lifetimes.html.md.erb                |  37 --
 .../dotnet-caching-api/other-apis.html.md.erb   |  14 -
 .../primary-apis-cache-generic.html.md.erb      |  30 --
 .../private-assembly.html.md.erb                |  39 --
 .../problem-scenarios.html.md.erb               |  24 --
 .../programming-ipdxinstance.html.md.erb        |  45 ---
 .../region-entry-apis.html.md.erb               |  18 -
 .../registering-the-type.html.md.erb            |  27 --
 .../removing-entry.html.md.erb                  |  21 --
 .../resolving-the-error.html.md.erb             |   9 -
 .../serializable-types.html.md.erb              |  20 --
 .../serialize-using-igfserializable.html.md.erb |  23 --
 ...serialize-using-ipdxserializable.html.md.erb | 103 ------
 .../serializing-domain-objects.html.md.erb      |  29 --
 .../simple-csharp-example.html.md.erb           |  43 ---
 ...ubleshooting-dotnet-applications.html.md.erb |  25 --
 .../using-ipdxinstancefactory.html.md.erb       | 111 ------
 .../data-aware-function-execution.html.md.erb   |  11 -
 .../executing-functions.html.md.erb             |  21 --
 .../function-execution.html.md.erb              |  22 --
 .../handling-function-results.html.md.erb       |  34 --
 .../how-functions-execute.html.md.erb           |  60 ----
 .../running-function.html.md.erb                | 122 -------
 .../solutions-use-cases.html.md.erb             |  13 -
 .../chapter_overview.html.md.erb                |  22 --
 .../default_sample_file.html.md.erb             | 104 ------
 .../gfcpp.properties_search_path.html.md.erb    |  11 -
 .../overriding_gfcpp.properties.html.md.erb     |   9 -
 geode-docs/nativeclient/glossary.html.md.erb    | 213 -----------
 .../introduction/developing-linux.html.md.erb   |  86 -----
 .../introduction/developing-solaris.html.md.erb |  44 ---
 .../introduction/developing-windows.html.md.erb |  56 ---
 .../examples-quickstart.html.md.erb             |  15 -
 .../introduction/install-overview.html.md.erb   |   7 -
 .../native-client-intro.html.md.erb             |  25 --
 .../native-client-overview.html.md.erb          |  20 --
 .../introduction/product-examples.html.md.erb   |  19 -
 .../introduction/quickstart.html.md.erb         |  11 -
 .../introduction/runnng-client-apps.html.md.erb |  19 -
 .../app-ops-during-int-reg.html.md.erb          |  17 -
 .../client-side-config.html.md.erb              |  19 -
 .../config-durable-interest-keys.html.md.erb    |  33 --
 .../config-durable-reconnect.html.md.erb        |  42 ---
 .../configuring-durable-nc.html.md.erb          |  38 --
 .../configuring-nc-ha.html.md.erb               |  49 ---
 .../disconnecting-from-server.html.md.erb       |  21 --
 .../preserving-data/disconnection.html.md.erb   |  27 --
 .../durable-client-life-cycle.html.md.erb       |  27 --
 .../durable-client-messaging-req.html.md.erb    |  21 --
 .../durable-client-messaging.html.md.erb        |  31 --
 .../durable-message-replay.html.md.erb          |  27 --
 .../high-availability-client-server.html.md.erb |  20 --
 ...-cache-listeners-durable-clients.html.md.erb |  19 -
 .../initial-operation.html.md.erb               |   9 -
 .../preserving-data/preserving-data.html.md.erb |  21 --
 .../preserving-data/reconnection.html.md.erb    |  32 --
 .../sending-cache-ready-message.html.md.erb     |  19 -
 .../sending-periodic-ack.html.md.erb            |  31 --
 .../using-queue-conflation.html.md.erb          |  25 --
 .../cpp-example.html.md.erb                     |  33 --
 .../csharp-example.html.md.erb                  |  85 -----
 .../native-client-region.html.md.erb            |  29 --
 .../programming-examples.html.md.erb            |  19 -
 .../serialization-cpp.html.md.erb               | 296 ----------------
 .../serialization-csharp.html.md.erb            |  98 -----
 .../serialization-java.html.md.erb              | 210 -----------
 .../serialization-overview.html.md.erb          |  15 -
 .../1-quickintro-overview.html.md.erb           |  19 -
 .../2-quickintro-querycodeexamples.html.md.erb  |  40 ---
 .../3-quickintro-requirements.html.md.erb       |  43 ---
 ...uickintro-exampleportfolioregion.html.md.erb |  60 ----
 ...quickintro-query-portfolioregion.html.md.erb |  97 -----
 ...-quickintro-modify-cachecontents.html.md.erb |  25 --
 .../2-accessingdata.html.md.erb                 |  14 -
 .../21-basic-region-access.html.md.erb          |  31 --
 .../22-drilldown-modify-query-scope.html.md.erb |  29 --
 .../23-attribute-visibility.html.md.erb         |  49 ---
 .../24-nested-query-scope.html.md.erb           |  38 --
 .../25-when-names-cant-resolve.html.md.erb      |   5 -
 .../1-querystring-overview.html.md.erb          |  11 -
 .../93-querystrings/3-from-clause.html.md.erb   |  58 ---
 .../3a-iterator-variables.html.md.erb           |  16 -
 ...b-importing-using-object-classes.html.md.erb |  32 --
 .../3c-predefined-class-types.html.md.erb       |  29 --
 .../3d-specify-object-types.html.md.erb         |  53 ---
 .../93-querystrings/4-where-clause.html.md.erb  |  23 --
 .../93-querystrings/5-joins.html.md.erb         |  15 -
 .../6-select-projection-list.html.md.erb        |  19 -
 ...7-select-statement-query-results.html.md.erb | 113 ------
 .../8-query-language-elements.html.md.erb       |  19 -
 .../8a-method-invocation.html.md.erb            |  18 -
 .../8b-query-lang-literals.html.md.erb          |  19 -
 .../8c-type-conversions.html.md.erb             |  31 --
 .../94-indexes/indexes-overview.html.md.erb     |  31 --
 .../1-remote-query-api-overview.html.md.erb     |  23 --
 .../2-create-manage-queries.html.md.erb         |  46 ---
 .../3-query-result-sets.html.md.erb             |  10 -
 .../2-query-code-examples-resultset.html.md.erb |  68 ----
 .../3-query-code-examples-structset.html.md.erb | 192 ----------
 .../remote-querying/remote-querying.html.md.erb |  27 --
 .../security/LDAPserverauth.html.md.erb         |  27 --
 .../nativeclient/security/PKCS.html.md.erb      |  28 --
 .../security/authentication-levels.html.md.erb  |  21 --
 .../security/authforcacheserver.html.md.erb     |  23 --
 .../security/caveatregionservice.html.md.erb    |  26 --
 .../config-clientauthorization.html.md.erb      |  13 -
 .../createsecureconnregionservice.html.md.erb   |  43 ---
 .../security/encrypted-auth.html.md.erb         |  15 -
 .../handling-serv-auth-errors.html.md.erb       |   7 -
 .../security/limitations.html.md.erb            |   9 -
 .../security/overviewauthentication.html.md.erb |  31 --
 .../overviewclientauthorization.html.md.erb     |  21 --
 .../security/overviewencryptcred.html.md.erb    |  42 ---
 .../security/overviewsecurity.html.md.erb       |  29 --
 .../overviewsslclientserver.html.md.erb         |  13 -
 .../security/postopauthorization.html.md.erb    |  15 -
 .../security/security-systemprops.html.md.erb   |  68 ----
 .../nativeclient/security/ssl-setup.html.md.erb | 122 -------
 .../security/systempropsforauth.html.md.erb     |  68 ----
 .../security/usingoperationcontext.html.md.erb  |  23 --
 .../attribute-def-priority.html.md.erb          |  21 --
 .../attributes-gfcpp.html.md.erb                | 264 --------------
 .../cache-server-config.html.md.erb             |  19 -
 .../chapter-overview.html.md.erb                |  19 -
 .../config-overview.html.md.erb                 |  31 --
 .../define-programmatically.html.md.erb         |  18 -
 .../native-client-config.html.md.erb            |  33 --
 .../chapter_overview.html.md.erb                |  21 --
 .../linux_install.html.md.erb                   |  42 ---
 .../solaris_install.html.md.erb                 |  54 ---
 .../windows_install.html.md.erb                 |  37 --
 .../cache_performance_statistics.html.md.erb    |  30 --
 .../chapter_overview.html.md.erb                |  21 --
 .../continuous_query_statistics.html.md.erb     |  14 -
 .../cq_service_statistics.html.md.erb           |  15 -
 .../delta_statistics.html.md.erb                |  14 -
 .../linux_os_statistics.html.md.erb             |  17 -
 .../operating_system_statistics.html.md.erb     |  19 -
 .../pool_statistics.html.md.erb                 |  30 --
 .../region_statistics.html.md.erb               | 113 ------
 .../sampling_statistics.html.md.erb             |  17 -
 .../solaris_os_statistics.html.md.erb           |  17 -
 .../system_performance_statistics.html.md.erb   |  31 --
 .../windows_os_statistics.html.md.erb           |  26 --
 .../how-native-client-xacts-work.html.md.erb    |  39 --
 .../running-native-client-xact.html.md.erb      |  73 ----
 .../suspend-resume-xacts.html.md.erb            |  17 -
 .../transactions/transactions.html.md.erb       |  21 --
 .../type_mappings/chapter_overview.html.md.erb  |  13 -
 ...p-class-to-dotnet-class-mappings.html.md.erb | 169 ---------
 .../java-to-dotnet-type-mapping.html.md.erb     | 147 --------
 296 files changed, 13023 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/about_native_client_users_guide.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/about_native_client_users_guide.html.md.erb b/geode-docs/nativeclient/about_native_client_users_guide.html.md.erb
deleted file mode 100644
index e346f14..0000000
--- a/geode-docs/nativeclient/about_native_client_users_guide.html.md.erb
+++ /dev/null
@@ -1,83 +0,0 @@
----
-title:  Native Client User's Guide
----
-
-This Native Client User's Guide provides step-by-step procedures for installation, configuration, and development of native clients.
-
-## <a id="concept_95BBEBEF16B2481BA1850C0A5C893607__section_0D0A91D84CA44446A3973F1AE4CD3ABA" class="no-quick-link"></a>Intended Audience
-
-This guide is intended for anyone who wants to use a native client, including C++ and .NET developers programming their applications to use Geode. This guide assumes experience developing with C++ and .NET.
-
--   **[Getting Started with a Native Client](../nativeclient/introduction/native-client-intro.html)**
-
-    This section gives you a conceptual overview of the native client. It shows you how to install the product, build native client applications on various platforms, and run the product examples.
-
--   **[Setting System Properties](../nativeclient/setting-properties/chapter-overview.html)**
-
-    *Setting System Properties* describes how to configure Apache Geode native clients and cache servers to participate in a distributed system.
-
--   **[Configuring the Native Client Cache](../nativeclient/client-cache/chapter-overview.html)**
-
-    *Configuring the Native Client Cache* describes the native client cache functionality, initialization file, and APIs. It provides information about creating and working with caches, cache regions, and region entries.
-
--   **[Working with the C++ API](../nativeclient/cpp-caching-api/cpp-caching-api.html)**
-
-    This sectiondescribes the primary classes, and usage conventions for the native client C++ API. It demonstrates how to use the API to create caches and perform data serialization.
-
--   **[Working with the .NET API](../nativeclient/dotnet-caching-api/dotnet-caching-api.html)**
-
-    This section describes the primary classes, usage conventions, and C++ to .NET class mappings of the native client .NET API. It demonstrates how to use the API to create caches and perform data serialization.
-
--   **[Preserving Data](../nativeclient/preserving-data/preserving-data.html)**
-
-    A server may preserve the data queued and intended to be sent to a native client, such that the data is not discarded if communication between the server and native client is disrupted. Preservation prevents message loss, which can cause a native client to have inconsistent data. Redundant queues and a high availability server implementation may further ensure that queued data is not lost.
-
--   **[Security](../nativeclient/security/overviewsecurity.html)**
-
-    *Security* describes how to implement the security framework for the Geode native client, including authentication, authorization, ecryption, and SSL client/server communication.
-
--   **[Remote Querying](../nativeclient/remote-querying/remote-querying.html)**
-
-    *Remote Querying* documents remote querying from the native client to the Geode cache server. Using examples and procedures, it describes how to use the APIs to run queries against cached data; work with query strings in the native client; create and manage queries; and create indexes.
-
--   **[Continuous Querying](../nativeclient/continuous-querying/continuous-querying.html)**
-
-    *Continuous Querying* describes how to implement continuous querying in the Apache Geode native client so that C++ and C\# .NET clients can run queries against events in the Geode cache server region. It also describes main features and the native client CQ API.
-
--   **[Using Connection Pools](../nativeclient/connection-pools/connection-pools.html)**
-
-    *Using Connection Pools* describes how connection pools achieve load balancing for the client and describes how to configure connection pools as server locators or as a list of servers.
-
--   **[Transactions](../nativeclient/transactions/transactions.html)**
-
-    *Transactions* describes how transactions work on the client side. It provides examples for running, suspending, and resuming transactions.
-
--   **[Function Execution](../nativeclient/function-execution/function-execution.html)**
-
-    *Function Execution* describes how you can execute application functions to achieve linear scalability. It explains how function execution works and lists specific use cases.
-
--   **[Delta Propagation](../nativeclient/delta-propagation/delta-propagation.html)**
-
-    *Delta Propagation* describes how deltas (updates to data) are propagated and how to implement delta propagation. It also analyzes performance limitations.
-
--   **[Programming Examples](../nativeclient/programming-examples/programming-examples.html)**
-
-    This chapter provides a set of programming examples to help you understand the Geode native client API.
-
--   **[Interoperability of Language Classes and Types](../nativeclient/type_mappings/chapter_overview.html)**
-
-    *Interoperability of Language Classes and Types* provides a table that maps C++ class methods to corresponding .NET class methods and a table that maps Java types to .NET types.
-
--   **[System Statistics](../nativeclient/system-statistics/chapter_overview.html)**
-
-    *System Statistics* provides information on the installation and includes standard statistics for caching and distribution activities.
-
--   **[Installing the SQLite Persistence Manager](../nativeclient/sqlite-persistence/chapter_overview.html)**
-
-    *Installing the SQLite Persistence Manager* describes how to download, build and install the SQLite database libraries for use with disk overflow.
-
--   **[Glossary](../nativeclient/glossary.html)**
-
-    This glossary defines terms used in the documentation.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cache-init-file/cache-dtd.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cache-init-file/cache-dtd.html.md.erb b/geode-docs/nativeclient/cache-init-file/cache-dtd.html.md.erb
deleted file mode 100644
index edf11ba..0000000
--- a/geode-docs/nativeclient/cache-init-file/cache-dtd.html.md.erb
+++ /dev/null
@@ -1,267 +0,0 @@
----
-title:  Native Client Cache XML DTD
----
-
-The contents of the cache initialization file must conform to the data type definitions in `gfcpp-cache8000.dtd`.
-
-The `gfcpp-cache8000.dtd` file is in the `productDir/dtd` directory of your native client installation.
-
-The following example presents the file `gfcpp-cache8000.dtd`, which defines the XML used by the native client for declarative caching. The DTD file identifies the valid element tags that may be present in your XML file, the attributes that correspond to each element, and the valid values for the elements and attributes.
-
-``` pre
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-
-This is the XML DTD for the GemFire Native Client declarative caching XML file.  
-
-The contents of a declarative XML file correspond to APIs found in the
-Gemfire Native Client product, more specifically in the
-Cache.hpp and Region.hpp files in the product include directory
-
-A declarative caching XML file is used to populate a Cache
-when it is created.
-
--->
-
-
-<!--
-The "client-cache" element is the root element of the declarative cache file.
-This element configures a GemFire Native Client Cache and describes the 
-root regions it contains, if any.
--->
-
-<!ELEMENT client-cache (pool*, root-region*, region*, pdx?)>
-<!ATTLIST client-cache
-  endpoints CDATA #IMPLIED
-  redundancy-level CDATA #IMPLIED
->
-
-<!--
-A "locator" element specifies the host and port that a server locator is listening on
--->
-<!ELEMENT locator EMPTY>
-<!ATTLIST locator
-  host  CDATA #REQUIRED
-  port  CDATA #REQUIRED
->
-
-<!--
-A "server" element specifies the host and port that a cache server is listening on
--->
-<!ELEMENT server EMPTY>
-<!ATTLIST server
-  host  CDATA #REQUIRED
-  port  CDATA #REQUIRED
->
-
-<!-- A "pdx" element specifies the properties related to pdx types -->
-<!ELEMENT pdx EMPTY>
-<!ATTLIST 
-  ignore-unread-fields  (false | true) #IMPLIED
-  read-serialized (false | true) #IMPLIED
-  >
-
-<!--
-A "pool" element specifies a client-server connection pool.
--->
-<!ELEMENT pool (locator+|server+)>
-<!ATTLIST pool
-  free-connection-timeout        CDATA #IMPLIED
-  load-conditioning-interval     CDATA #IMPLIED
-  min-connections                CDATA #IMPLIED
-  max-connections                CDATA #IMPLIED
-  retry-attempts                 CDATA #IMPLIED
-  idle-timeout                   CDATA #IMPLIED
-  ping-interval                  CDATA #IMPLIED
-  name                           CDATA #REQUIRED
-  read-timeout                   CDATA #IMPLIED
-  server-group                   CDATA #IMPLIED
-  socket-buffer-size             CDATA #IMPLIED
-  subscription-enabled                  (false | true) #IMPLIED
-  subscription-message-tracking-timeout CDATA #IMPLIED
-  subscription-ack-interval             CDATA #IMPLIED
-  subscription-redundancy        CDATA #IMPLIED
-  statistic-interval             CDATA #IMPLIED
-  pr-single-hop-enabled          (true | false) #IMPLIED
-  thread-local-connections       (false | true) #IMPLIED
-  multiuser-authentication          (false | true) #IMPLIED
->
-
-<!--
-A root-region" element describes a root region whose entries and
-subregions will be stored in memory.
-Note that the "name" attribute specifies the simple name of the region;
-it cannot contain a "/".
--->
-
-<!ELEMENT root-region (region-attributes?, region*)>
-<!ATTLIST root-region
-  name CDATA #REQUIRED
->
-
-
-<!--
-A "region" element describes a region (and its entries) in GemFire
-Native Client cache. Note that the "name" attribute specifies the simple
-name of the region; it cannot contain a "/".
--->
-
-<!ELEMENT region (region-attributes?, region*)>
-<!ATTLIST region
-  name CDATA #REQUIRED
-  refid CDATA #IMPLIED
->
-
-
-
-<!--
-A "region-attributes" element describes the attributes of a region to
-be created. For more details see the RegionFactory header in the
-product include directory
--->
-
-<!ELEMENT region-attributes ((region-time-to-live |
-  region-idle-time | entry-time-to-live | entry-idle-time |
-  partition-resolver |
-  cache-loader | cache-listener | cache-writer | persistence-manager)*)>
-<!ATTLIST region-attributes
-  caching-enabled (true | TRUE | false | FALSE) #IMPLIED
-  cloning-enabled (true | TRUE | false | FALSE) #IMPLIED
-  scope (local | distributed-no-ack | distributed-ack ) #IMPLIED
-  initial-capacity CDATA #IMPLIED
-  load-factor CDATA #IMPLIED
-  concurrency-level CDATA #IMPLIED
-  lru-entries-limit CDATA #IMPLIED
-  disk-policy (none | overflows | persist ) #IMPLIED
-  endpoints CDATA #IMPLIED
-  client-notification (true | TRUE | false | FALSE) #IMPLIED
-  pool-name CDATA #IMPLIED
-  concurrency-checks-enabled (true | TRUE | false | FALSE) #IMPLIED
-  id CDATA #IMPLIED
-  refid CDATA #IMPLIED
->
-
-
-
-
-
-
-<!--
-A "region-time-to-live" element specifies a Region's time to live
--->
-
-<!ELEMENT region-time-to-live (expiration-attributes)>
-
-
-
-<!--
-A "region-idle-time" element specifies a Region's idle time
--->
-
-<!ELEMENT region-idle-time (expiration-attributes)>
-
-
-
-<!--
-A "entry-time-to-live" element specifies a Region's entries' time to
-live
--->
-
-<!ELEMENT entry-time-to-live (expiration-attributes)>
-
-
-
-<!--
-A "entry-idle-time" element specifies a Region's entries' idle time
--->
-
-<!ELEMENT entry-idle-time (expiration-attributes)>
-
-
-<!--
-A "properties" element specifies a persistence properties 
--->
-
-<!ELEMENT properties (property*)>
-
-<!-- 
-An "expiration-attributes" element describes expiration 
--->
-
-<!ELEMENT expiration-attributes EMPTY>
-<!ATTLIST expiration-attributes
-  timeout CDATA #REQUIRED
-  action (invalidate | destroy | local-invalidate | local-destroy) #IMPLIED
->
-
-
-
-<!--
-A "cache-loader" element describes a region's CacheLoader
--->
-
-<!ELEMENT cache-loader  EMPTY >
-<!ATTLIST cache-loader 
- library-name CDATA #IMPLIED
- library-function-name CDATA #REQUIRED
->
-
-
-
-<!--
-A "cache-listener" element describes a region's CacheListener
--->
-
-<!ELEMENT cache-listener EMPTY>
-<!ATTLIST cache-listener 
- library-name CDATA #IMPLIED
- library-function-name CDATA #REQUIRED
->
-
-
-
-<!--
-A "cache-writer" element describes a region's CacheListener
--->
-
-<!ELEMENT cache-writer EMPTY>
-<!ATTLIST cache-writer 
- library-name CDATA #IMPLIED
- library-function-name CDATA #REQUIRED
->
-
-<!--
-A "partition-resolver" element describes a region's PartitionResolver
--->
-
-<!ELEMENT partition-resolver EMPTY>
-<!ATTLIST partition-resolver 
- library-name CDATA #IMPLIED
- library-function-name CDATA #REQUIRED
->
-
-<!--
-A "persistence-manager" element describes a region's persistence feature
--->
-
-<!ELEMENT persistence-manager (properties)>
-<!ATTLIST persistence-manager 
- library-name CDATA #IMPLIED
- library-function-name CDATA #REQUIRED
->
-
-
-
-<!--
-A "property" element describes a persistence property
--->
-
-<!ELEMENT property EMPTY>
-<!ATTLIST property 
- name CDATA #REQUIRED
- value CDATA #REQUIRED
->
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cache-init-file/chapter-overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cache-init-file/chapter-overview.html.md.erb b/geode-docs/nativeclient/cache-init-file/chapter-overview.html.md.erb
deleted file mode 100644
index 5c55033..0000000
--- a/geode-docs/nativeclient/cache-init-file/chapter-overview.html.md.erb
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title:  Cache Initialization File (cache.xml)
----
-
-To ease the task of managing the structure of the cache, you can define the default Geode cache structure in an XML-based initialization file.
-
-This section describes the file format of the `cache.xml` file and discusses its contents.
-
--   **[Cache Initialization File Basics](../../nativeclient/cache-init-file/file-basics.html)**
-
-    The contents of the cache initialization file are used to populate or update a cache.
-
--   **[Example cache.xml File](../../nativeclient/cache-init-file/example-cache-file.html)**
-
-    An example `cache.xml` file shows cache and region initialization for a client, presenting a subset of the possible data configurations.
-
--   **[Native Client Cache XML DTD](../../nativeclient/cache-init-file/cache-dtd.html)**
-
-    The contents of the cache initialization file must conform to the data type definitions in `gfcpp-cache8000.dtd`.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cache-init-file/example-cache-file.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cache-init-file/example-cache-file.html.md.erb b/geode-docs/nativeclient/cache-init-file/example-cache-file.html.md.erb
deleted file mode 100644
index 2ad56b0..0000000
--- a/geode-docs/nativeclient/cache-init-file/example-cache-file.html.md.erb
+++ /dev/null
@@ -1,48 +0,0 @@
----
-title:  Example cache.xml File
----
-
-An example `cache.xml` file shows cache and region initialization for a client, presenting a subset of the possible data configurations.
-
-For detailed information about cache and region configuration, including the default attribute settings, see [The Native Client Cache](../client-cache/chapter-overview.html#native-client-cache). Also see the online API documentation for `Cache` and `RegionAttributes`.
-
-For information a cache with server pool, see [Using Connection Pools](../connection-pools/connection-pools.html#using-connection-pools). The example below shows a `cache.xml` file that creates two regions.
-
--   Region `region1` is defined with a full set of region attributes and application plug-ins. The region's entries have `RegionTimeToLive` and `RegionIdleTimeout` expiration attributes set ([Expiration Attributes](../client-cache/expiration-attributes.html#expiration-attributes)).
--   Region `region2` uses mostly default values.
-
-``` pre
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE cache PUBLIC
-    "-//Example Systems, Inc.//Example Declarative Caching 8.0//EN"
-    "http://www.example.com/dtd/gfcpp-cache8000.dtd">
-<!-- Sample cache.xml file -->
-<!-- Example Declarative Cache Initialization with cache.xml -->
-<cache>
-    <pool name="examplePool" subscription-enabled="true">
-        <server host="localhost" port="24680" />
-    </pool>
-    <region name="root1" refid="CACHING_PROXY">
-        <region-attributes pool-name="examplePool"
-            initial-capacity="25"
-            load-factor="0.32"
-            concurrency-level="10"
-            lru-entries-limit="35">
-            <region-idle-time>
-                <expiration-attributes timeout="20" action="destroy"/>
-            </region-idle-time>
-            <entry-idle-time>
-                <expiration-attributes timeout="10" action="invalidate"/>
-            </entry-idle-time>
-            <region-time-to-live>
-                <expiration-attributes timeout="5" action="local-destroy"/>
-            </region-time-to-live>
-            <entry-time-to-live>
-                <expiration-attributes timeout="10" action="local-invalidate"/>
-            </entry-time-to-live>
-        </region-attributes>
-    </region>
-</cache>
-```
-
-For details about the individual region attributes, see [Region Attributes](../client-cache/region-attributes.html#region-attributes).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cache-init-file/file-basics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cache-init-file/file-basics.html.md.erb b/geode-docs/nativeclient/cache-init-file/file-basics.html.md.erb
deleted file mode 100644
index ca6fcca..0000000
--- a/geode-docs/nativeclient/cache-init-file/file-basics.html.md.erb
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title:  Cache Initialization File Basics
----
-
-The contents of the cache initialization file are used to populate or update a cache.
-
-This occurs when a cache server starts up, when a client application explicitly creates its cache, or when a client explicitly loads a new structure into an existing cache.
-
-The initialization file can have any name, but is generally referred to as `cache.xml`. Both client applications and cache servers can use an optional `cache.xml` file to ease the initialization process.
-
-## <a id="file-basics__section_E54BF7911C224016B822768B537FA464" class="no-quick-link"></a>File Contents
-
-The contents of a declarative XML file correspond to APIs declared in the `Cache.hpp` and `Region.hpp` header files. The cache initialization file allows you to accomplish declaratively many of the cache management activities that you can program through the API.
-
--   The contents of the cache initialization file must conform to the XML definition in `productDir/dtd/gfcpp-cache8000.dtd` (see [Native Client Cache XML DTD](cache-dtd.html#cache-dtd)).
--   The name of the declarative XML file is specified when establishing a connection to the distributed system. You can define it by setting the `cache-xml-file` configuration attribute in the `gfcpp.properties` file for the native client. For details about the `gfcpp.properties` file, see [Setting System and Cache Properties](../setting-properties/chapter-overview.html#system_and_cache_properties).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/accessing-entries.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/accessing-entries.html.md.erb b/geode-docs/nativeclient/client-cache/accessing-entries.html.md.erb
deleted file mode 100644
index 6506e54..0000000
--- a/geode-docs/nativeclient/client-cache/accessing-entries.html.md.erb
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title:  Accessing Entries
----
-
-<a id="accessing-entries__section_310C0BE952BC489C9E97811DAE8736E4"></a>
-Use the API to retrieve the entry key, entry value, and the `RegionEntry` object itself. A variety of functions provide information for individual entries and for the set of all entries resident in the region. The online API documentation lists all available access functions.
-
-A region's entry keys and `RegionEntry` objects are directly available from the local cache. Applications can directly access the local cache's stored entry value through the `RegionEntry::getValue` function. The `getValue` function either returns the value if a valid value is present in the local cache, or `NULL` if the value is not valid locally. This function does no data loading, nor does it look elsewhere in the distributed system for a valid value.
-
-**Note:** Direct access through `RegionEntry::getValue` does not reset an entry's timestamp for LRU expiration. See [Specifying Expiration Attributes](expiration-attributes.html#expiration-attributes) for more information about LRU expiration.
-
-In comparison, the standard `Region::get` functions consider all caches and all applicable loaders in the distributed system in an attempt to return a valid entry value to the calling application. The primary attribute setting affecting entry retrieval is `CacheLoader`. See [Specifying Application Plug-In Attributes](application-plugins.html#application-plugins).
-
-The standard `Region::get` functions may implement a number of operations in order to retrieve a valid entry value. The operations used depend on the region's attribute settings and on the state of the entry itself. By default, the client retrieves entry values through calls to the `get` function. The client can override this behavior for any region by defining a cache loader for the region.
-
-The following sections discuss the `get` function and special considerations for entry retrieval.
-
-## <a id="accessing-entries__section_AD6AFD842C144C128FA1C7F0B9283372" class="no-quick-link"></a>Entry Retrieval
-
-You retrieve entry values with the `Region::get` function.
-
-When an entry value is requested from a region, it is either retrieved from the cache server or fetched by the region's locally-defined cache loader in this sequence:
-
-1.  local cache search
-2.  server cache
-3.  local load (For distributed regions, the local load is fetched before remote cache values)
-
-## <a id="accessing-entries__section_82B624FE364F4034AF010D20A8D0DF68" class="no-quick-link"></a>How the get Operation Affects the Local Entry Value
-
-If a `get` operation retrieves an entry value from outside the local cache through a local load, it automatically `put`s the value into the cache for future reference.
-
-Note that these load operations do not invoke a cache writer. Because the loader and writer operate against the same data source, you do not need to perform a cache write for entries that were just fetched from that data source. For descriptions of these processes, see [Specifying Application Plug-In Attributes](application-plugins.html#application-plugins).
-
-**Note:** Access through a `get` operation resets an entry's timestamp for LRU expiration.
-
-## <a id="accessing-entries__section_F636614605C84513B2B7F4A674FD6E38" class="no-quick-link"></a>Getting Multiple Entries Using getAll
-
-You can use the `getAll` Region API to get all values for an array of keys from the local cache or cache server. Under [Bulk Put Operations Using putAll](../cpp-caching-api/add-entry-to-cache.html#concept_26D4E6C6BC6F4AB8884E33119999656D__section_748916759F0246619CD27E7456DCA365) for more information.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/adding-entries-to-cache.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/adding-entries-to-cache.html.md.erb b/geode-docs/nativeclient/client-cache/adding-entries-to-cache.html.md.erb
deleted file mode 100644
index 6b7aa78..0000000
--- a/geode-docs/nativeclient/client-cache/adding-entries-to-cache.html.md.erb
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title:  Adding Entries to the Cache
----
-
-<a id="adding-entries-to-cache__section_57CE90DC5C694CB79F05C943DE6F5E4B"></a>
-A region is populated with cached entries in several ways:
-
--   Explicitly, when an application executes a `create` or a `put` operation for a single entry or for multiple entries that do not already exist in the cache.
--   Implicitly, when a client does a get on a single entry or on multiple entries that do not already exist in the cache. In this case, the entry is retrieved from a remote cache or through a cache loader. Under [Specifying Application Plug-In Attributes](application-plugins.html#application-plugins), see the portion on a cache loader. A client can also use `getAll` to populate a region with all values for an array of keys. See [Accessing Entries](accessing-entries.html#accessing-entries).
--   Automatically, when entries are created in remote caches.
-
-If any cache writer is available in the distributed region, it is called before the entry is created and it can abort the creation process.
-
-**Note:**
-For more information on how to create entries, see [Working with the C++ API](../cpp-caching-api/cpp-caching-api.html#concept_CEC658A999414AC3A494578C214BF64E), [Working with the .NET API](../dotnet-caching-api/dotnet-caching-api.html#concept_FC6776DCE6ED48B887A6137761104AA4), and the native client API reference.
-
-## <a id="adding-entries-to-cache__section_873FFF2CAC804B8E9676AB8098CF2434" class="no-quick-link"></a>Adding Entries to the Local Cache
-
-If just the local cache is to be populated, you can either `create` an entry using the `localCreate` Region API, or `put` an entry using `localPut`. See the C++ and .NET online API documentation for details about `localCreate` and `localPut`.
-
-`DateTime` objects must be stored in the cache in UTC, so that times correspond between client and server. If you use a date with a different time zone, convert it when storing into and retrieving from the cache. This example converts a local time to UTC for a put operation:
-
-``` pre
-DateTime t1( 2009, 8, 13, 4, 11, 0, DateTimeKind.Local);
-region0.Put( 1, t1.ToUniversalTime() );
-```
-
-## <a id="adding-entries-to-cache__section_7CFEB263E2FE4775A3C9A29351A33911" class="no-quick-link"></a>Adding Multiple Entries Using PutAll
-
-If you need to add many cache entries to a region at one time, you can improve cache performance by using the `putAll` function to add them in a single distributed operation. Multiple key/value pairs are stored in a hashmap, then the hashmap contents are processed on the server as either new entries, updates, or invalidates for existing entries.
-
-Under [Adding an Entry to the Cache](../cpp-caching-api/add-entry-to-cache.html#concept_26D4E6C6BC6F4AB8884E33119999656D) see "Bulk Put Operations Using putAll" for more information about the `putAll` API. Additional details are available in the online API documentation for `Region::putAll` (C++), or `Region.PutAll` (.NET).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/application-plugins.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/application-plugins.html.md.erb b/geode-docs/nativeclient/client-cache/application-plugins.html.md.erb
deleted file mode 100644
index 8d23295..0000000
--- a/geode-docs/nativeclient/client-cache/application-plugins.html.md.erb
+++ /dev/null
@@ -1,262 +0,0 @@
----
-title:  Specifying Application Plug-In Attributes
----
-
-<a id="application-plugins__section_E81DB00AE0784BA2819DB3683C257647"></a>
-The plug-in attributes allow you to customize client region behavior for loading, updating, deleting, and overflowing region data and for accessing data in server partitioned regions. All client plug-ins are available through the C++ and .NET API.
-
-Application plug-ins for cache regions in clients can be declared either programmatically or in the `cache.xml` file.
-
-
-<a id="application-plugins__fig_630074710E134805A96B50AA5373866F"></a>
-<span class="figtitleprefix">Figure: </span>Where Application Plug-Ins Run
-
-<img src="../common/images/client-cache-plugins-run.gif" alt="Where Application Plug-Ins Run" id="application-plugins__image_23F82DD7DCD543239F3A75F112282C46" class="image" />
-
-## <a id="application-plugins__section_8FEB62EEC7A042E0A85E0FEDC9F71597" class="no-quick-link"></a>Overview of Application Plug-ins
-
-The API provides the framework for application plug-ins with callback functions for the appropriate events. Your classes and functions can customize these for your application's needs. When creating a region, specify these as part of the region's attributes settings. For regions already in the cache, you can specify new `CacheLoader`, `CacheWriter`, and `CacheListener` using the region's `AttributesMutator`. The `PartitionResolver` is not mutable.
-
--   `CacheLoader`: A data loader called when an entry get operation fails to find a value for a given key. A cache loader is generally used to retrieve data from an outside source such as a database, but it may perform any operation defined by the user. Loaders are invoked as part of the distributed loading activities for entry retrieval, described in [Entry Retrieval](accessing-entries.html#accessing-entries__section_AD6AFD842C144C128FA1C7F0B9283372).
--   `CacheWriter`: A synchronous event listener that receives callbacks before region events occur and has the ability to abort the operations. Writers are generally used to keep a back-end data source synchronized with the cache.
--   `CacheListener`: An asynchronous event listener for region events in the local cache.
--   `PartitionResolver`: Used for single-hop access to partitioned region entries on the server side. This resolver implementation must match that of the `PartitionResolver` on the server side.
-
-The following XML declaration specifies a cache loader for a region when the region is created.
-
-``` pre
-<region-attributes>
-    <cache-loader library-name="appl-lib"
-        library-function-name ="createCacheLoader">
-    </cache-loader>
-</region-attributes>
-```
-
-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 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 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 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.
-
-This declarative XML example establishes a cache listener when a region is created:
-
-``` pre
-<region name="region11">
-    <region-attributes>
-        <cache-listener library-name="appl-lib"
-            library-function-name ="createCacheListener" />
-    </region-attributes>
-</region>
-```
-
-Unlike cache loaders and cache writers, cache listeners only receive events for entries to which the client has performed operations or registered interest.
-
-When the listener is attached to a region with caching disabled, the old value is always `NULL`.
-
-**Note:**
-Do not perform region operations inside the cache listener. Once you have configured a cache listener, the event supplies the new entry values to the application. Performing a get with a key from the `EntryEvent` can result in distributed deadlock. For more about this, see the online API documentation for `EntryEvent`.
-
-When a region disconnects from a cache listener, you can implement the `afterRegionDisconnected` callback event. This callback event is only be invoked when using the `pool` API and `subscription` is enabled on the pool. For example:
-
-``` pre
-class DisconnectCacheListener : public CacheListener
-{
-    void afterRegionDisconnected( const RegionPtr& region )
-    {
-        printf("After Region Disconnected event received");
-    }
-};
-```
-
-## <a id="application-plugins__section_348E00A84F274D4B9DBA9ECFEB2F012E" 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 that hosts the key--in a single hop.
-
-**Note:**
-Single hop is used for the following operations: `put`, `get`, `destroy`, `putAll`, `getAll`, `removeAll` and `onRegion` function execution.
-
-**Implementing Single-Hop on a Partitioned Region**
-
-1.  Make sure the pool attribute, `pr-single-hop-enabled`, is set to `true` or not set. It is `true` by default.
-2.  If the server uses a custom `PartitionResolver` install an implementation of `PartitionResolver` in the client region that returns, entry for entry, the same value as the server's Java `PartitionResolver` implementation. The server uses the resolver to colocate like data within a partitioned region.
-
-    If the server does not use a custom resolver, the default resolvers in client and server match, so single hop will work there by default.
-
-Disable single hop behavior for a region by setting its pool attribute `pr-single-hop-enabled` to `false`.
-
-See [&lt;client-cache&gt; Element Reference](../../reference/topics/client-cache.html) for information on setting `pr-single-hop-enabled`.
-
-See [Partitioned Regions](../../developing/partitioned_regions/chapter_overview.html) for more information, including colocating like data within a partitioned region and how to get the best performance with PR single hop.
-
-**Implementing a PartitionResolver**
-
-See [Custom-Partitioning and Colocating Data](../../developing/partitioned_regions/overview_custom_partitioning_and_data_colocation.html) for information on custom-partitioning the server partitioned regions.
-
-1.  Implement `PartitionResolver` in the same place that you did in the server--custom class, key, or cache callback argument.
-2.  Program the resolver's functions the same way you programmed them in the Java implementation. Your implementation must match the server's.
-
-    Example of programming the `PartitionResolver` in C++:
-
-    ``` pre
-    class TradeKeyResolver : public PartitionResolver
-    {
-    private:
-        string m_tradeID;
-        int m_month;
-        int m_year;
-    public:
-        TradeKeyResolver() { }
-        TradeKeyResolver(int month, int year) {
-            m_month = month;
-            m_year = year;
-        }
-
-        ~TradeKeyResolver() { }
-
-        static PartitionResolverPtr createTradeKeyResolver() {
-            PartitionResolverPtr tradeKeyResolver( new TradeKeyResolver());
-        return tradeKeyResolver;
-        }
-        const char* getName() {
-            return "TradeKey";
-        }
-        CacheableKeyPtr getRoutingObject(const EntryEvent& opDetails) {
-            return CacheableKey::create(m_month + m_year);
-        }
-    };
-    ```
-
-    Example of programming the `PartitionResolver` in C\#:
-
-    ``` pre
-    using System;
-    using System.Threading;
-    // Use the GemFire namespace
-    using GemStone.GemFire.Cache;
-    class TradeKeyResolver : IPartitionResolver
-    {
-        private int m_month = 0;
-        private int m_year = 0;
-
-        public static TradeKeyResolver CreateTradeKeyResolver()
-        {
-            return new TradeKeyResolver();
-        }
-
-        public virtual ICacheableKey GetRoutingObject(EntryEvent entry)
-        {
-            return new CacheableInt32(m_month + m_year);
-        }
-
-        public virtual String GetName()
-        {
-            return "TradeKeyResolver";
-        }
-    }
-    ```
-
-3.  Install the resolver in the region. Use one of these methods:
-
-    XML partition resolver declaration:
-
-    ``` pre
-    <region name="trades" refid="CACHING_PROXY">
-        <region-attributes>
-            <partition-resolver library-name="appl-lib" library-function-name=
-            "createTradeKeyResolver"/>
-        </region-attributes>
-    </region>
-    <pool free-connection-timeout="12345" idle-timeout="5555"
-            load-conditioning-interval="23456" max-connections="7"
-            min-connections="3" name="test_pool_1" ping-interval="12345"
-            read-timeout="23456" retry-attempts="3" server-group="ServerGroup1"
-            socket-buffer-size="32768" statistic-interval="10123"
-            subscription-ack-interval="567" subscription-enabled="true"
-            subscription-message-tracking-timeout="900123"
-            subscription-redundancy="0" thread-local-connections="5"
-            pr-single-hop-enabled="true" >
-        <locator host="localhost" port="34756"/>
-    </pool>
-    ```
-
-    Programmatic partition resolver installation:
-
-    ``` pre
-    void setPartitionResolver()
-    {
-        CachePtr cachePtr = CacheFactory::createCacheFactory()->create();
-        PartitionResolverPtr resolver( new TradeKeyResolver());
-        RegionFactoryPtr regionFactory =
-            cachePtr->createRegionFactory(PROXY)
-            ->setClientNotificationEnabled(true)
-            ->setPartitionResolver(resolver);
-        RegionPtr regionPtr = regionFactory->create( "Trades" );
-    }
-    ```
-
-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 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.
-
-This example shows how to use `AttributesMutator` to dynamically add a cache listener to an existing region.
-
-``` pre
-void setListener(RegionPtr& region)
-{
-    CacheListenerPtr regionListener = new TestCacheListener();
-    AttributesMutatorPtr regionAttributesMutator =
-        region->getAttributesMutator();
- 
-    // Change cache listener for region.
-    regionAttributesMutator->setCacheListener(regionListener);
-}
-```
-
-The plug-ins can also be implemented using a dynamically linked library. The class is not available to the application code in this case, so a `factory` method is required by the `set` function along with the name of the library.
-
-This example shows how to use `AttributesMutator` along with the `setCacheListener` function to obtain a new cache listener object using the `factory` function provided by the library. Next, the listener is set for the region.
-
-``` pre
-void setListenerUsingFactory(RegionPtr& region)
-{
-    AttributesMutatorPtr regionAttributesMutator =
-    region->getAttributesMutator();
-
-    // Change cache listener for region.
-    regionAttributesMutator->setCacheListener("Library", "createTestCacheListener");
-}
-```
-
-To use `AttributesMutator` to remove a plug-in from a region, set the plug-in's value to `NULLPTR`, as shown in the following example.
-
-``` pre
-void removeListener(RegionPtr& region)
-{
-    CacheListenerPtr nullListener = NULLPTR;
-    AttributesMutatorPtr regionAttributesMutator =
-        region->getAttributesMutator();
-
-    // Change cache listener for region to NULLPTR
-    regionAttributesMutator->setCacheListener(nullListener);
-}
-```
-
-## <a id="application-plugins__section_428DCC57B6344603AA19DCAFCE483A10" class="no-quick-link"></a>Considerations for Implementing Callbacks
-
-Keep your callback implementations lightweight and prevent situations that might cause them to hang. For example, do not perform distribution operations or disconnects inside events.
-
-Your code should handle any exceptions that it generates. If not, Geode handles them as well as possible. Because C++ has no standard for exceptions, in many cases Geode can only print an `unknown error` message.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/cache-management.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/cache-management.html.md.erb b/geode-docs/nativeclient/client-cache/cache-management.html.md.erb
deleted file mode 100644
index 1f9004d..0000000
--- a/geode-docs/nativeclient/client-cache/cache-management.html.md.erb
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title:  Cache Management
----
-
-This section covers cache management.
-
-<a id="using-thread-safety__section_165DAD3CE6CA44D9A883FC91D4F09343"></a>
-
--   **[Client-to-Server Connection Process](../../nativeclient/client-cache/client-to-server-connection.html)**
-
-    It is important to understand the sequence of events that occur when the native client connects with a Geode cache server.
-
--   **[Controlling Cache Size](../../nativeclient/client-cache/controlling-cache-size.html)**
-
-    You can control cache size through region size limits, cache size limits, or a combination of the two.
-
--   **[Managing the Lifetime of a Cached Object](../../nativeclient/client-cache/managing-lifetime-cached-object.html)**
-
-    All cacheable objects derive from `SharedBase` , which provides reference counting. Cacheable objects are referenced using `SharedPtr` types.
-
--   **[Using Thread Safety in Cache Management](../../nativeclient/client-cache/using-thread-safety.html)**
-
-    When you perform structural changes on your cache, such as creating or closing a `Cache`, `Pool`, or `Region`, synchronize your operations or do them in a single thread.
-
--   **[Troubleshooting](../../nativeclient/client-cache/troubleshooting.html)**
-
-    This section provides troubleshooting information for the native client.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/cache-ownership.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/cache-ownership.html.md.erb b/geode-docs/nativeclient/client-cache/cache-ownership.html.md.erb
deleted file mode 100644
index 37f010c..0000000
--- a/geode-docs/nativeclient/client-cache/cache-ownership.html.md.erb
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title:  Local, Remote, and Distributed Caches
----
-
-The *distributed system* defines how native client and cache server processes find each other.
-
-The distributed system keeps track of its membership list and makes its members aware of the identities of the other members in the distributed system.
-
-A cache for a native client is referred to as its *local cache*. All other caches in the distributed system are considered *remote caches* to the application. Every cache server and application process has its own cache. The term *distributed cache* is used to describe the union of all caches in a Geode distributed system.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/caches.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/caches.html.md.erb b/geode-docs/nativeclient/client-cache/caches.html.md.erb
deleted file mode 100644
index cfc456c..0000000
--- a/geode-docs/nativeclient/client-cache/caches.html.md.erb
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title:  Caches
----
-
-The cache is the entry point to native client data caching in Geode. Through the cache, native clients gain access to the Geode caching framework for data loading, distribution, and maintenance.
-
--   **[About the Native Client Cache](../../nativeclient/client-cache/overview-client-cache.html)**
-
-    The cache consists of data regions, each of which can contain any number of entries. Region entries hold the cached data. Every entry has a key that uniquely identifies it within the region and a value where the data object is stored.
-
--   **[Cache APIs](../../nativeclient/client-cache/caching-apis.html)**
-
-    The native client has two cache APIs, `RegionService` and `Cache`.
-
--   **[Local, Remote, and Distributed Caches](../../nativeclient/client-cache/cache-ownership.html)**
-
-    The *distributed system* defines how native client and cache server processes find each other.
-
--   **[Creating and Accessing a Cache](../../nativeclient/client-cache/create-access-cache.html)**
-
-    When you create a native client cache, you are creating a native client cache instance. You must provide some basic configuration information such as a connection name and cache initialization parameters for the native client's cache instance.
-
--   **[Closing the Cache](../../nativeclient/client-cache/closing-cache.html)**
-
-    Use the `Cache::close` function to release system resources when you finish using the cache.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/caching-apis.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/caching-apis.html.md.erb b/geode-docs/nativeclient/client-cache/caching-apis.html.md.erb
deleted file mode 100644
index 455fbf0..0000000
--- a/geode-docs/nativeclient/client-cache/caching-apis.html.md.erb
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title:  Cache APIs
----
-
-The native client has two cache APIs, `RegionService` and `Cache`.
-
-## <a id="caching-apis__section_8F81996678B64BBE94EF352527F7F006" class="no-quick-link"></a>RegionService API
-
-`RegionService` provides:
-
--   Access to existing cache regions.
--   Access to the standard query service for the cache, which sends queries to the servers. See [Remote Querying](../remote-querying/remote-querying.html#security) and [Continuous Querying](../continuous-querying/continuous-querying.html#security).
-
-`RegionService` is inherited by `Cache`.
-
-You do not use instances of `RegionService` except for secure client applications with many users. See [Creating Multiple Secure User Connections with RegionService](../security/createsecureconnregionservice.html#security).
-
-## <a id="caching-apis__section_403383B9B5044A939A89A5BBB4915452" class="no-quick-link"></a>Cache API
-
-Use the `Cache` to manage your client caches. You have one `Cache` per client.
-
-The `Cache` inherits `RegionService` and adds management of these client caching features:
-
--   Region creation.
--   Subscription keepalive management for durable clients.
--   Access to the underlying distributed system.
--   `RegionService` creation for secure access by multiple users.
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/caching-enabled.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/caching-enabled.html.md.erb b/geode-docs/nativeclient/client-cache/caching-enabled.html.md.erb
deleted file mode 100644
index 1ce9960..0000000
--- a/geode-docs/nativeclient/client-cache/caching-enabled.html.md.erb
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title:  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 [RegionShortcuts](region-shortcuts.html#region-shortcuts) and the Javadocs for `RegionShortcut`.
-
-If `CachingEnabled` is false (no caching), an `IllegalStateException` is thrown if any of these attributes are set:
-
--   [InitialCapacity](initial-capacity.html#initial-capacity)
--   `EntryTimeToLive` under [Specifying Expiration Attributes](expiration-attributes.html#expiration-attributes)
--   `EntryIdleTimeout` under [Specifying Expiration Attributes](expiration-attributes.html#expiration-attributes)
--   [LoadFactor](load-factor.html#load-factor)
--   [ConcurrencyLevel](concurrency-level.html#concurrency-level)
--   [LruEntriesLimit](lru-entries-limit.html#concept_75D723D60E044FF9AE97C939699AB10A)
--   [DiskPolicy](disk-policy.html#disk-policy)
-
-The following declaration enables caching for the region:
-
-``` pre
-<region-attributes caching-enabled="true"> 
-</region-attributes>
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/chapter-overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/chapter-overview.html.md.erb b/geode-docs/nativeclient/client-cache/chapter-overview.html.md.erb
deleted file mode 100644
index d898928..0000000
--- a/geode-docs/nativeclient/client-cache/chapter-overview.html.md.erb
+++ /dev/null
@@ -1,37 +0,0 @@
----
-title:  Configuring the Native Client Cache
----
-
-*Configuring the Native Client Cache* describes the native client cache functionality, initialization file, and APIs. It provides information about creating and working with caches, cache regions, and region entries.
-
-The native client cache provides a framework for native clients to store, manage, and distribute application data.
-
--   **[Caches](../../nativeclient/client-cache/caches.html)**
-
-    The cache is the entry point to native client data caching in Geode. Through the cache, native clients gain access to the Geode caching framework for data loading, distribution, and maintenance.
-
--   **[Cache Initialization File (cache.xml)](../../nativeclient/cache-init-file/chapter-overview.html)**
-
-    To ease the task of managing the structure of the cache, you can define the default Geode cache structure in an XML-based initialization file.
-
--   **[Regions](../../nativeclient/client-cache/regions.html)**
-
-    You create cache regions either programmatically or through declarative statements in the `cache.xml` file. Generally, a cache is organized and populated through a combination of the two approaches.
-
--   **[Region Entries](../../nativeclient/client-cache/entries.html)**
-
-    Region entries hold cached application data. Entries are automatically managed according to region attribute settings.
-
--   **[Region Consistency](../../nativeclient/client-cache/consistency_checking_in_regions.html)**
-
-    Geode ensures that all copies of a region eventually reach a consistent state on all members and clients that host the region.
-
--   **[Region Attributes](../../nativeclient/client-cache/region-attributes.html)**
-
-    Region attributes govern the automated management of a region and its entries.
-
--   **[Cache Management](../../nativeclient/client-cache/cache-management.html)**
-
-    This section covers cache management.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/client-to-server-connection.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/client-to-server-connection.html.md.erb b/geode-docs/nativeclient/client-cache/client-to-server-connection.html.md.erb
deleted file mode 100644
index e2008a5..0000000
--- a/geode-docs/nativeclient/client-cache/client-to-server-connection.html.md.erb
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title:  Client-to-Server Connection Process
----
-
-It is important to understand the sequence of events that occur when the native client connects with a Geode cache server.
-
-<a id="client-to-server-connection__section_C1E805D842FD44B984041C2ED1D4C2EF"></a>
-
-1.  A native client region is configured in `cache.xml` or programmatically with a set of server connection endpoints. Server endpoints identify each cache server by specifying the server's name and port number.
-
-    Client threads obtain, use, and release a connection to a connection pool that maintains new connections. The number of connections that a client can establish is governed by the pool's `min-connections` and `max-connections` settings, either using client XML configuration or programmatically through the `CacheFactory::setMinConnections()` and `CacheFactory::setMaxConnections()` APIs. The defaults for `min-connections` is 1 and `max-connections` is -1 meaning the connection count can grow to accommodate the number of active threads performing region operations.
-
-    This example shows how to use `cache.xml` to configure a native client region with endpoints set to two cache servers:
-
-    ``` pre
-    <pool name="examplePool" subscription-enabled="true" >
-        <server host="java_servername1" port="java_port1" />
-        <server host="java_servername2" port="java_port2" />
-    </pool>
-    <region name="NativeClientRegion" refid="CACHING_PROXY">
-        <region-attributes pool-name="examplePool"/>
-    </region>
-    ```
-    TCP connections on the native client are specified at the cache level, or by overriding endpoints for specific regions. The connections are created as the regions are created. In addition, connections can also get created for querying without having any created regions. In this case, when endpoints are defined at the cache level no regions are yet created and a query is fired.
-
-    You can configure client-server connections in two ways. Use either the region/cache endpoints or the Pool API. For more information about the pool API, see [Using Connection Pools](../connection-pools/connection-pools.html#using-connection-pools).
-
-2.  The client announces to the server which entries it wishes to have updated by programmatically registering interest in those entries. See [Registering Interest for Entries](registering-interest-for-entries.html#registering-interest-for-entries) for more information.
-
-3.  The client `cache.xml` file should have the following parameters configured so the client can update the server and the client can receive updates from the server:
-    -   Caching enabled in the client region, by using the `CACHING_PROXY RegionShortcut` setting in the region attribute `refid`. A listener could also be defined so event notification occurs. You can use both, but at least one of the two methods must be used by the client to receive event notifications.
-    -   Set `subscription-enabled` to `true` so the client receives update notifications from the server for entries to which it has registered interest.
-
-4.  A native client application calls the C++ or .NET API to connect to a cache server.
-5.  The client and the cache server exchange a handshake over a configured endpoint to create a connection.
-6.  Any `create`, `put`, `invalidate`, and `destroy` events sent to the server are propagated across the distributed cache so the client can receive the events.
-
-**Note:**
-You may be able to improve system performance by making adjustments to the cache server.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/closing-cache.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/closing-cache.html.md.erb b/geode-docs/nativeclient/client-cache/closing-cache.html.md.erb
deleted file mode 100644
index fcd53e2..0000000
--- a/geode-docs/nativeclient/client-cache/closing-cache.html.md.erb
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title:  Closing the Cache
----
-
-Use the `Cache::close` function to release system resources when you finish using the cache.
-
-After the cache is closed, any further method calls on the cache or any region object result in a `CacheClosedException` .
-
-If the cache is in a durable client, you need to use the `keepalive` version of the close method. See [Disconnecting From the Server](../preserving-data/disconnecting-from-server.html#concept_3A9AC62F96FA44DBBB5CCBFD3EA19B56).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/concurrency-checks-enabled.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/concurrency-checks-enabled.html.md.erb b/geode-docs/nativeclient/client-cache/concurrency-checks-enabled.html.md.erb
deleted file mode 100644
index 5c81fa6..0000000
--- a/geode-docs/nativeclient/client-cache/concurrency-checks-enabled.html.md.erb
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title:  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#concept_77340A4999AC4861972A0EE10303E557) for more information.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/concurrency-level.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/concurrency-level.html.md.erb b/geode-docs/nativeclient/client-cache/concurrency-level.html.md.erb
deleted file mode 100644
index 08e0582..0000000
--- a/geode-docs/nativeclient/client-cache/concurrency-level.html.md.erb
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title:  ConcurrencyLevel
----
-
-<a id="concurrency-level__section_20FB0B9EEE9442BAAD87E3C488610866"></a>
-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.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/consistency_checking_in_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/consistency_checking_in_regions.html.md.erb b/geode-docs/nativeclient/client-cache/consistency_checking_in_regions.html.md.erb
deleted file mode 100644
index 87c3303..0000000
--- a/geode-docs/nativeclient/client-cache/consistency_checking_in_regions.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  Region Consistency
----
-
-Geode ensures that all copies of a region eventually reach a consistent state on all members and clients that host the region.
-
-By default Geode members perform consistency checks when they apply updates to a distributed region, in order to ensure that all copies of the region eventually become consistent on all Geode members and client caches that host the region. Different types of region ensure consistency using different techniques. However, when consistency checking is enabled (the default) all entries in a region require additional overhead in order to store version and timestamp information.
-
-Although a region must have the same consistency checking configuration on all Geode members that host the region, you can optionally disable consistency checking in a client cache region while leaving consistency checking enabled for the region on Geode members. This configuration may be necessary in certain cases where the client must view all updates to a given region, even when Geode members discards an update in order to preserve region consistency.
-
-See [Consistency for Region Updates](../../developing/distributed_regions/region_entry_versions.html#topic_CF2798D3E12647F182C2CEC4A46E2045) for more information.
-
-## <a id="concept_77340A4999AC4861972A0EE10303E557__section_167CD194A5374C64B4064783490F3EA8" class="no-quick-link"></a>Native Client Overhead for Consistency Checks
-
-In the native client regions, the overhead for performing consistency check is an additional 11 bytes per region entry. This overhead is slightly smaller than the overhead required to provide consistency checking on server-side region entries.
-
-If you cannot support the additional overhead in your deployment, you can disable consistency checks by setting the region attribute `concurrency-checks-enabled` to false for each region hosted by your client.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/controlling-cache-size.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/controlling-cache-size.html.md.erb b/geode-docs/nativeclient/client-cache/controlling-cache-size.html.md.erb
deleted file mode 100644
index e67b5ac..0000000
--- a/geode-docs/nativeclient/client-cache/controlling-cache-size.html.md.erb
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title:  Controlling Cache Size
----
-
-You can control cache size through region size limits, cache size limits, or a combination of the two.
-
-<a id="controlling-cache-size__section_A0C25D6D1D5243778800AE67CAD8CB2C"></a>
-Geode controls region size by moving least recently used (LRU) entries from the region or from all cache regions.
-
-## <a id="controlling-cache-size__section_3C7994A4C9D9468F860D99C0ED086D74" class="no-quick-link"></a>Controlling Region Size
-
-You can cap the size of any region with the region attribute [LruEntriesLimit](lru-entries-limit.html#concept_75D723D60E044FF9AE97C939699AB10A). You can specify whether to destroy the entries or overflow them to disk in the attribute [DiskPolicy](disk-policy.html#disk-policy). If you overflow entries to disk, you must also specify the attribute [PersistenceManager](persistence-manager.html#persistence-manager).
-
-## <a id="controlling-cache-size__section_E59CA4D5724147DC83E8991E654AC155" class="no-quick-link"></a>Controlling Cache Size
-
-You can control overall cache size with the [heap-lru-limit](../setting-properties/attributes-gfcpp.html#attributes-gfcpp), which is set in `gfcpp.properties`. This property sets the maximum amount of memory used for the cache, in megabytes. If a new entry causes memory to grow past this limit, the LRU algorithm is called to evict entries. Heap LRU causes eviction to occur on all regions in the cache, overriding region-level [LruEntriesLimit](lru-entries-limit.html#concept_75D723D60E044FF9AE97C939699AB10A) settings when it needs to reclaim memory.
-
-For each region, evictions are performed according to the region's `DiskPolicy` and `PersistenceManager` settings. If you use `heap-lru-limit`, review these region attributes for all your caching regions, to be sure you are evicting the way you want to.
-
-The related [heap-lru-delta](../setting-properties/attributes-gfcpp.html#attributes-gfcpp) property, also set in `gfcpp.properties`, is the amount of memory to free up once the LRU evictions have begun. Memory is reclaimed until the amount of memory used is below `heap-lru-limit` minus `heap-lru-delta`.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/create-access-cache.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/create-access-cache.html.md.erb b/geode-docs/nativeclient/client-cache/create-access-cache.html.md.erb
deleted file mode 100644
index b0fde6f..0000000
--- a/geode-docs/nativeclient/client-cache/create-access-cache.html.md.erb
+++ /dev/null
@@ -1,53 +0,0 @@
----
-title:  Creating and Accessing a Cache
----
-
-When you create a native client cache, you are creating a native client cache instance. You must provide some basic configuration information such as a connection name and cache initialization parameters for the native client's cache instance.
-
-When you create a cache, you provide the following input:
-
--   **Connection name**. Used in logging to identify both the distributed system connection and the cache instance. If you do not specify a connection name, a unique (but non-descriptive) default name is assigned.
--   **`cache.xml` to initialize the cache (if the initialization is not done programmatically)**. To modify the cache structure, edit `cache.xml` in your preferred text editor. No changes to the application code are required. If you do not specify a cache initialization file, you need to initialize the cache programmatically.
-
-The `cache.xml` file contains XML declarations for cache, region, and region entry configuration.
-
-This XML declares server connection pools and regions:
-
-``` pre
-<cache>
-  <region name="clientRegion1" refid="PROXY">
-    <region-attributes pool-name="serverPool1"/>
-  </region>
-  <region name="clientRegion2" refid="PROXY">
-    <region-attributes pool-name="serverPool2"/>
-  </region>
-  <region name="localRegion3" refid="LOCAL"/>
-  <pool name="serverPool1">
-    <locator host="host1" port="40404"/>
-  </pool>
-  <pool name="serverPool2">
-    <locator host="host2" port="40404"/>
-  </pool>
-</cache>
-    
-```
-
-When you use the regions, the client regions connect to the servers through the pools named in their configurations.
-
-This file can have any name, but is generally referred to as `cache.xml` .
-
-For a list of the parameters in the `cache.xml` file, including the DTD, see [Cache Initialization File](../cache-init-file/chapter-overview.html#chapter-overview).
-
-To create your cache, call the `CacheFactory create` function.
-
-The `cache` object it returns gives access to the native client caching API. For example:
-
-``` pre
-CacheFactoryPtr cacheFactory = CacheFactory::createCacheFactory();
-CachePtr cachePtr = cacheFactory->create();
-    
-```
-
-**Note:** For more information on how to create a cache, see [Pivotal GemFire Native Client C++ API](../cpp-caching-api/cpp-caching-api.html#concept_CEC658A999414AC3A494578C214BF64E) or [Pivotal GemFire Native Client .NET API](../dotnet-caching-api/dotnet-caching-api.html#concept_FC6776DCE6ED48B887A6137761104AA4).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/client-cache/declarative-region-creation.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/declarative-region-creation.html.md.erb b/geode-docs/nativeclient/client-cache/declarative-region-creation.html.md.erb
deleted file mode 100644
index 5c018c1..0000000
--- a/geode-docs/nativeclient/client-cache/declarative-region-creation.html.md.erb
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title:  Declarative Region Creation
----
-
-Declarative region creation involves placing the region's XML declaration, with the appropriate attribute settings, in the `cache.xml` file that is loaded at cache creation.
-
-**Note:**
-Before creating a region, specify region attributes. See [Region Attributes](region-attributes.html#region-attributes).
-
-Regions are placed inside the cache declaration in `region` elements. For example:
-
-``` pre
-<cache>
-  <pool name="examplePool" subscription-enabled="true" >
-    <server host="localhost" port="40404" />
-  </pool>
-  <region name="A" refid="PROXY">
-    <region-attributes pool-name="examplePool"/>
-  </region>
-  <region name="A1">
-    <region-attributes refid="PROXY" pool-name="examplePool"/>
-  </region>
-  <region name="A2" refid="CACHING_PROXY">
-    <region-attributes pool-name="examplePool">
-      <region-time-to-live>
-        <expiration-attributes timeout="120" action="invalidate"/>
-      </region-time-to-live>
-    </region-attributes>
-  </region>
-</cache>
-    
-```
-
-The `cache.xml` file contents must conform to the DTD provided in the `productDir/dtd/gfcpp-cache8000.dtd` file. For details, see [Cache Initialization File](../cache-init-file/chapter-overview.html#chapter-overview).
-
-**Note:** For more information on how to create a region, see [Working with the C++ API](../cpp-caching-api/cpp-caching-api.html#concept_CEC658A999414AC3A494578C214BF64E), [Working with the .NET API](../dotnet-caching-api/dotnet-caching-api.html#concept_FC6776DCE6ED48B887A6137761104AA4), and the native client API reference.
-
-



[54/76] [abbrv] incubator-geode git commit: GEODE-1952: removed native client docs, set aside until native client code is merged in (see GEODE-1964)

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/programming-examples/serialization-java.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/programming-examples/serialization-java.html.md.erb b/geode-docs/nativeclient/programming-examples/serialization-java.html.md.erb
deleted file mode 100644
index ac11128..0000000
--- a/geode-docs/nativeclient/programming-examples/serialization-java.html.md.erb
+++ /dev/null
@@ -1,210 +0,0 @@
----
-title:  Java Serialization Example
----
-
-## Implementing an Embedded Object (Java)
-
-``` pre
-public class User implements DataSerializable
-{
-    private String name;
-    private int userId;
-    private ExampleObject eo;
-    static {
-        Instantiator.register(
-                       new Instantiator(User.class, (byte)45)
-                       {
-                            public DataSerializable newInstance() {
-                                return new User();
-                            }
-                        } );
-    }
-    /**
-     * Creates an "empty" User whose contents are filled in by
-     * invoking its toData() method
-     */
-    
-    private User() {
-        this.name = "";
-        this.userId = 0;
-        this.eo = new ExampleObject(0);
-    }
-    
-    public User(String name, int userId) {
-        this.name = name;
-        this.userId = userId;
-        this.eo = new ExampleObject(userId);
-    }
-    
-    public void setEO(ExampleObject eo) {
-        this.eo = eo;
-    }
-    
-    public ExampleObject getEO() {
-        return eo;
-    }
-    
-    public void toData(DataOutput out) throws IOException {
-        out.writeUTF(this.name);
-        out.writeInt(this.userId);
-        eo.toData(out);
-    }
-    
-    public void fromData(DataInput in) throws IOException,
-                                         ClassNotFoundException {
-        this.name = in.readUTF();
-        this.userId = in.readInt();
-        this.eo.fromData(in);
-    }
-    
-    public int getUserId() {
-        return userId;
-    }
-    
-    public String getName() {
-        return name;
-    }
-    
-    public boolean equals(User o) {
-        if (!this.name.equals(o.name)) return false;
-        if (this.userId != o.userId) return false;
-        if (!this.eo.equals(o.eo)) return false;
-        return true;
-    }
-}
-```
-
-## Implementing Complex Data Types (Java)
-
-``` pre
-public class ExampleObject implements DataSerializable {
-    private double double_field;
-    private long long_field;
-    private float float_field;
-    private int int_field;
-    private short short_field;
-    private java.lang.String string_field;
-    private Vector string_vector;
-    static {
-        Instantiator.register(new Instantiator(ExampleObject.class, (byte) 46) {
-            public DataSerializable newInstance() {
-                return new ExampleObject();
-            }
-        });
-    }
-    public ExampleObject( ) {
-        this.double_field = 0.0D;
-        this.long_field = 0L;
-        this.float_field = 0.0F;
-        this.int_field = 0;
-        this.short_field = 0;
-        this.string_field = null;
-        this.string_vector = null;
-    }
-    public ExampleObject(int id) {
-        this.int_field = id;
-        this.string_field = String.valueOf(id);
-        this.short_field = Short.parseShort(string_field);
-        this.double_field = Double.parseDouble(string_field);
-        this.float_field = Float.parseFloat(string_field);
-        this.long_field = Long.parseLong(string_field);
-        this.string_vector = new Vector();
-        for (int i=0; i<3; i++) {
-            this.string_vector.addElement(string_field);
-        }
-    }
-    public ExampleObject(String id_str) {
-        this.int_field = Integer.parseInt(id_str);
-        this.string_field = id_str;
-        this.short_field = Short.parseShort(string_field);
-        this.double_field = Double.parseDouble(string_field);
-        this.float_field = Float.parseFloat(string_field);
-        this.long_field = Long.parseLong(string_field);
-        this.string_vector = new Vector();
-        for (int i=0; i<3; i++) {
-            this.string_vector.addElement(string_field);
-        }
-    }
-    public double getDouble_field( ) {
-        return this.double_field;
-    }
-    public void setDouble_field( double double_field ) {
-        this.double_field = double_field;
-    }
-    public long getLong_field( ) {
-        return this.long_field;
-    }
-    public void setLong_field( long long_field ) {
-        this.long_field = long_field;
-    }
-    public float getFloat_field( ) {
-        return this.float_field;
-    }
-    public void setFloat_field( float float_field ) {
-        this.float_field = float_field;
-    }
-    public int getInt_field( ) {
-        return this.int_field;
-    }
-    public void setInt_field( int int_field ) {
-        this.int_field = int_field;
-    }
-    public short getShort_field( ) {
-        return this.short_field;
-    }
-    public void setShort_field( short short_field ) {
-        this.short_field = short_field;
-    }
-    public java.lang.String getString_field( ) {
-        return this.string_field;
-    }
-    public void setString_field( java.lang.String string_field ) {
-        this.string_field = string_field;
-    }
-    public Vector getString_vector( ) {
-        return this.string_vector;
-    }
-    public void setString_vector( Vector string_vector ) {
-        this.string_vector = string_vector;
-    }
-    public void toData(DataOutput out) throws IOException {
-        out.writeDouble(double_field);
-        out.writeFloat(float_field);
-        out.writeLong(long_field);
-        out.writeInt(int_field);
-        out.writeShort(short_field);
-        out.writeUTF(string_field);
-        out.writeInt(string_vector.size());
-        for (int i = 0; i < string_vector.size(); i++) {
-            out.writeUTF((String)string_vector.elementAt(i));
-        }
-    }
-    public void fromData(DataInput in) throws IOException,
-                                              ClassNotFoundException {
-        this.double_field = in.readDouble();
-        this.float_field = in.readFloat();
-        this.long_field = in.readLong();
-        this.int_field = in.readInt();
-        this.short_field = in.readShort();
-        this.string_field = in.readUTF();
-        this.string_vector = new Vector();
-        int size = in.readInt();
-        for (int i = 0; i < size; i++) {
-            String s = in.readUTF();
-            string_vector.add(i, s);
-        }
-    }
-    public boolean equals(ExampleObject o) {
-        if (this.double_field != o.double_field) return false;
-        if (this.float_field != o.float_field) return false;
-        if (this.long_field != o.long_field) return false;
-        if (this.int_field != o.int_field) return false;
-        if (this.short_field != o.short_field) return false;
-        if (!this.string_field.equals(o.string_field)) return false;
-        if (!this.string_vector.equals(o.string_vector)) return false;
-        return true;
-    }
-}
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/programming-examples/serialization-overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/programming-examples/serialization-overview.html.md.erb b/geode-docs/nativeclient/programming-examples/serialization-overview.html.md.erb
deleted file mode 100644
index 31e7570..0000000
--- a/geode-docs/nativeclient/programming-examples/serialization-overview.html.md.erb
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title:  Data Serialization Examples
----
-
-This section contains data serialization examples for C++, C\#, and Java.
-
--   **[C++ Serialization Example](../../nativeclient/programming-examples/serialization-cpp.html)**
-
--   **[C\# Serialization Example](../../nativeclient/programming-examples/serialization-csharp.html)**
-
-    This example shows how to implement a user-defined Serializable object.
-
--   **[Java Serialization Example](../../nativeclient/programming-examples/serialization-java.html)**
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/91-quickintro/1-quickintro-overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/91-quickintro/1-quickintro-overview.html.md.erb b/geode-docs/nativeclient/remote-querying/91-quickintro/1-quickintro-overview.html.md.erb
deleted file mode 100644
index 4a49c22..0000000
--- a/geode-docs/nativeclient/remote-querying/91-quickintro/1-quickintro-overview.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  Remote Querying Basics
----
-
-Use the Geode native client query API to query your cached data stored on a Geode cache server. The query is evaluated and executed on the cache server, and the results are returned to the native client.
-
-You can also optimize your queries by defining indexes on the cache server.
-
-The query language for the native client is essentially a subset of OQL (ODMG 3.0 Object Data Management Group, [http://www.odmg.org](http://www.odmg.org).), which is based on SQL-92. OQL is a SQL-like language with extended functionality for querying complex objects, object attributes, and methods.
-
-It is assumed that you have general familiarity with SQL querying and indexing, and with the information on the native client cache.
-
-The online C++ and .NET API documentation for the native client provides extensive details for all of the querying interfaces, classes and methods.
-
-Query language features and grammar are described at [Querying](../../../developing/querying_basics/chapter_overview.html). This section describes areas that are unique to the native client.
-
-If you are using the pool API, you should obtain the QueryService from the pool . For information about the pool API, see [Native Client Pool API](../../connection-pools/native-client-pool-api.html#native-client-pool-api).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/91-quickintro/2-quickintro-querycodeexamples.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/91-quickintro/2-quickintro-querycodeexamples.html.md.erb b/geode-docs/nativeclient/remote-querying/91-quickintro/2-quickintro-querycodeexamples.html.md.erb
deleted file mode 100644
index 8f93c9d..0000000
--- a/geode-docs/nativeclient/remote-querying/91-quickintro/2-quickintro-querycodeexamples.html.md.erb
+++ /dev/null
@@ -1,40 +0,0 @@
----
-title:  Executing a Query from the Native Client
----
-
-C\# .NET and C++ examples show how to execute a query from the native client.
-
-**Note:**
-In all queries that use the example data, it is assumed that the `portfolios` region has `javaobject.Portfolio` objects on the cache server.
-
-1.  If you are using the C++ native client, get a pointer to the `QueryService` method.
-2.  Create a `QueryPtr` to a query (C++) or create a query instance (C\# .NET) that is compatible with the OQL specification.
-3.  Use the `execute` method for the `Query` interface to submit the query string to the cache server. The server remotely evaluates the query string and returns the results to the client.
-4.  You can iterate through the returned objects as part of the query process.
-
-## <a id="security__section_15C6689C363B469B947B177E1DE73208" class="no-quick-link"></a>C\# .NET Example
-
-``` pre
-Query<Portfolio> qry = qrySvc.NewQuery("SELECT DISTINCT * FROM /portfolios");
-ISelectResults<Portfolio> results = qry.Execute();
-SelectResultsIterator<Portfolio> iter = results.GetIterator(); 
-while (iter.MoveNext()) {
-    Console.WriteLine( iter.Current.ToString());
-}
-```
-
-## <a id="security__section_79FEE9FE8530496A8FD984C6D6D03894" class="no-quick-link"></a>C++ Example
-
-**Note:**
-The C++ examples in this chapter all assume that you have already obtained a pointer to the `QueryService`.
-
-``` pre
-QueryServicePtr qrySvcPtr = cachePtr->getQueryService("examplePool");
-QueryPtr qry = qrySvcPtr->newQuery(
-               "SELECT DISTINCT * FROM /Portfolios WHERE status = \u2018active\u2019");
-SelectResultsPtr resultsPtr = qry->execute(10);
-SelectResultsIterator iter = resultsPtr->getIterator();
-while (iter.hasNext()) {
-    PortfolioPtr portfolio = dynCast<PortfolioPtr > (iter.next());
-}
-```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/91-quickintro/3-quickintro-requirements.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/91-quickintro/3-quickintro-requirements.html.md.erb b/geode-docs/nativeclient/remote-querying/91-quickintro/3-quickintro-requirements.html.md.erb
deleted file mode 100644
index 40f7fa0..0000000
--- a/geode-docs/nativeclient/remote-querying/91-quickintro/3-quickintro-requirements.html.md.erb
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title:  Remote Querying Requirements
----
-
-Note the particular requirements for using region endpoints; setting server region data policy and scope; implementing equals and hashcode methods; and setting object type constraints.
-
-## <a id="security__section_AB5CC1F7CA1949FEA8A35687BC486F10" class="no-quick-link"></a>Using Region Endpoints
-
-When you are using region endpoints, at least one region must exist on the native client before a query can be executed through the client. All objects in the region belong to the same class hierarchy (homogenous types).
-
-## <a id="security__section_A619799378B14214AF922D819907FF38" class="no-quick-link"></a>Setting Server Region Data Policy and Scope
-
-Native client remote querying only accesses the data that is available in the remote cache server region, so no local cache loading operations are performed. Depending on the cache server region's scope and data-policy attribute settings, this could mean that your queries and indexes only see a part of the data available for the server region in the distributed cache.
-
-To ensure a complete data set for your queries and indexes, your cache server region must use one of the REPLICATE region shortcut settings in the region attribute refid or it must explicitly have its data policy set to replicate or persistent-replicate .
-
-For a cache server region, setting its data policy to replicate or `persistent-replicate` ensures that it reflects the state of the entire distributed region. Without replication, some server cache entries may not be available.
-
-Depending on your use of the server cache, the non-global distributed scopes `distributed-ack` and `distributed-no-ack `may encounter race conditions during entry distribution that cause the data set to be out of sync with the distributed region. The global scope guarantees data consistency across the distributed system, but at the cost of reduced performance.
-
-The following table summarizes the effects of cache server region scope and data policy settings on the data available to your querying and indexing operations. For more information, see the [Distributed and Replicated Regions](../../../developing/distributed_regions/chapter_overview.html).
-
-<a id="security__table_92A6A66523764199A19BCD66BA189921"></a>
-
-|                                           |                    |                                        |
-|-------------------------------------------|--------------------|----------------------------------------|
-| **Region Scope**                          | **Not replicated** | **Replicated**                         |
-| `distributed-ack or distributed-no-ack` | N/A                | FULL data set (if no race conditions). |
-| `global`                                  | N/A                | FULL data set.                         |
-
-## <a id="security__section_18C174BB0B2A4F23B9A78F872FA220C4" class="no-quick-link"></a>Implementing the equals and hashcode Methods
-
-The `Portfolio` and `Position` query objects for the cache server must have the `equals` and `hashCode` methods implemented, and those methods must provide the properties and behavior mentioned in the online documentation for `Object.equals` and `Object.hashCode`. Inconsistent query results can occur if these methods are absent.
-
-See the `Object` class description in the Java API documentation for more information about the equals and hashCode methods.
-
-## <a id="security__section_407A315F22014CD8A0BC622454789888" class="no-quick-link"></a>Setting Object Type Constraints
-
-Performing queries on cache server regions containing heterogeneous objects, which are objects of different data types, may produce undesirable results. Queries should be performed only on regions that contain homogeneous objects of the same object type, although subtypes are allowed.
-
-So your queries will address homogeneous data types, you need to be aware of the values that the client adds to the server. You can set the `key-constraint` and value-constraint region attributes to restrict region entry keys and values to a specific object type. However, because objects put from the client remain in serialized form in the server cache and do not get deserialized until a query is executed, it is still possible to put heterogeneous objects from the client.
-
-See [Specifying the object types of FROM clause collections](../93-querystrings/3d-specify-object-types.html#security) for more information on associating object types with queries.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/91-quickintro/4-quickintro-exampleportfolioregion.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/91-quickintro/4-quickintro-exampleportfolioregion.html.md.erb b/geode-docs/nativeclient/remote-querying/91-quickintro/4-quickintro-exampleportfolioregion.html.md.erb
deleted file mode 100644
index 1fc4091..0000000
--- a/geode-docs/nativeclient/remote-querying/91-quickintro/4-quickintro-exampleportfolioregion.html.md.erb
+++ /dev/null
@@ -1,60 +0,0 @@
----
-title:  Examples Data and Class Definitions
----
-
-Examples show C++ and corresponding Java class definitions and sample data for the example `portfolios` region. The region's keys are the portfolio ID.
-
-User-defined data types must implement the `Serializable` interface on the native client side, while corresponding Java classes must implement the `DataSerializable` interface. The C++ objects for the native client must correspond to the Java objects for the Geode cache server. This means that an object on one side should deserialize correctly at the other side.
-
-**Sample C++ class definition**
-
-``` pre
-class Portfolio : public Serializable {
-   int ID;
-   char * type;
-   char * status;
-   Map<Position> positions;
-}
-class Position : public Serializable {
-   char * secId;
-   double mktValue;
-   double qty;
-}
-```
-
-**Corresponding Java class definition**
-
-``` pre
-class Portfolio implements DataSerializable {
-    int ID;
-    String type;
-    String status;
-    Map positions;
-}
-class Position implements DataSerializable {
-    String secId;
-    double mktValue;
-    double qty;
-}
-```
-
-The following table lists the sample data in the portfolios region.
-
-<a id="running-native-client-xact__table_92A6A66523764199A19BCD66BA189921"></a>
-
-|        |          |               |                     |                        |                   |
-|--------|----------|---------------|---------------------|------------------------|-------------------|
-| **id** | **type** | **Statusted** | **Position: secID** | **Position: mktValue** | **Position: qty** |
-| 111    | xyz      | active        | xxx                 | 27.34                  | 1000.00           |
-|        |          |               | xxy                 | 26.31                  | 1200.00           |
-|        |          |               | xxz                 | 24.30                  | 1500.00           |
-| 222    | xyz      | active        | yyy                 | 18.29                  | 5000.00           |
-| 333    | abc      | active        | aaa                 | 24.30                  | 10.00             |
-| 333    | abc      | active        | aab                 | 23.10                  | 15.00             |
-| 444    | abc      | inactive      | bbb                 | 50.41                  | 100.00            |
-| 444    | abc      | inactive      | bbc                 | 55.00                  | 90.00             |
-
-
-Because the client cache waits during transaction execution, and client regions are not distributed, the only activities that interact with a client transaction are those that occur on the server.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/91-quickintro/41-quickintro-query-portfolioregion.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/91-quickintro/41-quickintro-query-portfolioregion.html.md.erb b/geode-docs/nativeclient/remote-querying/91-quickintro/41-quickintro-query-portfolioregion.html.md.erb
deleted file mode 100644
index b11bd11..0000000
--- a/geode-docs/nativeclient/remote-querying/91-quickintro/41-quickintro-query-portfolioregion.html.md.erb
+++ /dev/null
@@ -1,97 +0,0 @@
----
-title:  Querying the Portfolios Region
----
-
-Examples show a sampling of specific queries that you can run against `portfolios` on the server.
-
-The query results for the data are listed in the table. For the first several, the coding examples are included as well to show how you can execute the queries using the API.
-
-## <a id="running-native-client-xact__section_2EA54E860ACB48259484B555CA065E98" class="no-quick-link"></a>Get distinct positions from portfolios with at least a $25.00 market value
-
-This query assigns iterator variable names to the collections in the FROM clause. For example, the variable `qryP` is the iterator for the entry values in the `portfolios` region. This variable is used in the second part of the FROM clause to access the values of the positions map for each entry value.
-
-``` pre
-Query string: 
-SELECT DISTINCT posnVal
-FROM /portfolios, positions.values posnVal TYPE Position
-WHERE posnVal.mktValue >= 25.00
-
-Results: 
-Collection of Position instances with secId: xxx, xxy, bbb, bbc
-
-```
-
-## <a id="running-native-client-xact__section_F9C4640459F0406A922818B717D3EDB9" class="no-quick-link"></a>Retrieve all active portfolios
-
-In the following example, a query response timeout parameter of 10 seconds is specified for the execute method to allow sufficient time for the operation to succeed.
-
-``` pre
-Query string: 
-SELECT DISTINCT * FROM /portfolios WHERE status = \u2018active\u2019
-
-Results: 
-A collection of Portfolio objects for IDs 111, 222, and 333
-
-Code: 
-QueryServicePtr qrySvcPtr = cachePtr->getQueryService("examplePool");
-QueryPtr qry = qrySvcPtr->newQuery(
-               "SELECT DISTINCT * FROM /portfolios WHERE status = \u2018active\u2019");
-SelectResultsPtr resultsPtr = qry->execute(10);
-SelectResultsIterator iter = resultsPtr->getIterator();
-while (iter.hasNext()) {
-    PortfolioPtr portfolio = dynCast<PortfolioPtr >(iter.next());
-}
-```
-
-## <a id="running-native-client-xact__section_71ED0337A0964501A6AE552B758058FC" class="no-quick-link"></a>Retrieve all active portfolios that have type xyz
-
-The `type` attribute is passed to the query engine in double quotes to distinguish it from the query keyword of the same name. A query response timeout parameter of 10 seconds is specified for the execute method to allow sufficient time for the operation to succeed.
-
-``` pre
-Query string: 
-SELECT DISTINCT * FROM /portfolios
-WHERE status = 'active' AND "type" = 'xyz'
-
-Results: 
-A collection of Portfolio objects for IDs 111 and 222
-
-Code: 
-QueryServicePtr qrySvcPtr = cachePtr->getQueryService("examplePool");
-QueryPtr qry = qrySvcPtr->newQuery("SELECT DISTINCT * FROM
-               /portfolios WHERE status = 'active' and \"type\"='xyz'");
-SelectResultsPtr results = qry->execute(10);
-SelectResultsIterator iter = results->getIterator();
-while (iter.hasNext()) {
-    PortfolioPtr portfolio = dynCast<PortfolioPtr >(iter.next());
-}
-```
-
-## <a id="running-native-client-xact__section_4F13C92EDBCA4F04BE37C87D44AD7D49" class="no-quick-link"></a>Get the ID and status of all portfolios with positions in secId 'yyy'
-
-``` pre
-Query string: 
-SELECT DISTINCT id, status FROM /portfolios
-WHERE NOT (SELECT DISTINCT * FROM positions.values posnVal TYPE
-Position WHERE posnVal.secId='yyy').isEmpty
-
-Results: 
-A collection of Struct instances, each containing an id field and a status field. 
-For this data, the collection length is 1 and the Struct contains data
-from the entry with id 222.
-
-
-Code: 
-QueryServicePtr qrySrvPtr = cachePtr->getQueryService("examplePool");
-QueryPtr qry = qrySvcPtr->newQuery(
-   "import javaobject.Position; SELECT DISTINCT ID, status FROM "
-   "/portfolios WHERE NOT (SELECT DISTINCT * FROM positions.values"
-   "posnVal TYPE Position WHERE posnVal.secId='DELL').isEmpty");
-SelectResultsPtr results = qry->execute(10);
-SelectResultsIterator iter = results->getIterator();
-while (iter.hasNext()) {
-    Struct * si = (Struct *) iter.next().ptr();
-    SerializablePtr id = si->operator[]("ID");
-    SerializablePtr status = si->operator[]("status");
-    printf("\nID=%s, status=%s", id->toString()->asChar(), status->toString()->asChar());
-}
-```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/91-quickintro/42-quickintro-modify-cachecontents.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/91-quickintro/42-quickintro-modify-cachecontents.html.md.erb b/geode-docs/nativeclient/remote-querying/91-quickintro/42-quickintro-modify-cachecontents.html.md.erb
deleted file mode 100644
index f05929d..0000000
--- a/geode-docs/nativeclient/remote-querying/91-quickintro/42-quickintro-modify-cachecontents.html.md.erb
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title:  Modifying Cache Contents
----
-
-To modify the cache based on information retrieved through querying, retrieve the entry keys and use them in the standard entry update methods.
-
-The query service is a data access tool, so it does not provide any cache update functionality.
-
-The next example shows entry key retrieval.
-
-## Get distinct entry keys and positions from active portfolios with at least a $25.00 market value
-
-In the following example, retrieving the entry keys allows you to access the cached region entries for update. You cannot update the cache through the query engine.
-
-``` pre
-Query string: 
-SELECT DISTINCT key, posnVal
-FROM /portfolios.entrySet, value.positions.values posnVal TYPE Position
-WHERE posnVal.mktValue >= 25.00
-
-Results: 
-A SelectResults of Struct instances containing key, Position pairs.
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/92-querylanguage/2-accessingdata.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/92-querylanguage/2-accessingdata.html.md.erb b/geode-docs/nativeclient/remote-querying/92-querylanguage/2-accessingdata.html.md.erb
deleted file mode 100644
index b0e6df5..0000000
--- a/geode-docs/nativeclient/remote-querying/92-querylanguage/2-accessingdata.html.md.erb
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title:  Accessing Cached Data
----
-
-Accessing your cached data through the querying service is similar to accessing database contents through SQL queries. How you specify your regions and region contents is particular to the native client.
-
-The query language supports drilling down into nested object structures. Regions can contain nested data collections that are unavailable until referenced in the FROM clause.
-
-This discussion describes how to navigate to your cached data through the native client query service.
-
-**Note:**
-Querying and indexing only operate on remote cache server contents.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/92-querylanguage/21-basic-region-access.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/92-querylanguage/21-basic-region-access.html.md.erb b/geode-docs/nativeclient/remote-querying/92-querylanguage/21-basic-region-access.html.md.erb
deleted file mode 100644
index b5945a3..0000000
--- a/geode-docs/nativeclient/remote-querying/92-querylanguage/21-basic-region-access.html.md.erb
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title:  Basic Region Access
----
-
-In the context of a query, you specify the name of a region by its full path, starting with a forward slash (/ ).
-
-## <a id="security__section_789E081192A74B00B0E726EDC1C574C4" class="no-quick-link"></a>Object Attributes
-
-You can access the Region object's public fields and methods from a region path, referred to as the region's attributes. Using this method, `/portfolios.name` returns "`portfolios`" and `/portfolios.name.length` returns `10` . An attribute is mapped to a Java class member in three possible ways with the following priority until a match is found. If the attribute is named x, then:
-
-``` pre
-public method getX()
-public method x()
-public field x
-```
-
-**Note:**
-The term *attribute* in this context is not the same as a region attribute.
-
-## <a id="security__section_D64CB943612640D6B899023E5D997DB2" class="no-quick-link"></a>Region Data
-
-You can also access entry keys and entry data through the region:
-
--   `/portfolios.keySet` returns the `Set` of entry keys in the region
--   `/portfolios.entrySet` returns the `Set` of `Region.Entry` objects
--   `/portfolios.values` returns the Collection of entry values
--   `/portfolios` return the Collection of entry values
-    **Note:**
-    These collections are immutable. Invoking modifier methods on them, such as `add` and `remove`, result in an `UnsupportedOperationException`.
-
-For the last two bullets, the FROM clause `/portfolios.values` and `/portfolios` return the same thing.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/92-querylanguage/22-drilldown-modify-query-scope.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/92-querylanguage/22-drilldown-modify-query-scope.html.md.erb b/geode-docs/nativeclient/remote-querying/92-querylanguage/22-drilldown-modify-query-scope.html.md.erb
deleted file mode 100644
index ee11e15..0000000
--- a/geode-docs/nativeclient/remote-querying/92-querylanguage/22-drilldown-modify-query-scope.html.md.erb
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title:  Modifying Query Scope
----
-
-The query engine resolves names and path expressions according to the name space that is currently in scope in the query. This is not the region scope attribute, but the scope of the query statement.
-
-The initial name space for any query is composed of the region paths of the cache on the cache server and the attributes of those paths. New name spaces are brought into scope based on the `FROM` clause in the `SELECT` statement. For example, in this query the `FROM` expression evaluates to the collection of entry values in `/portfolios`. This is added to the initial scope of the query and status is resolved within the new scope.
-
-``` pre
-SELECT DISTINCT *
-FROM /portfolios
-WHERE status = 'active'
-```
-
-Each `FROM` clause expression must resolve to a collection of objects available for iteration in the query expressions that follow. In the example above, `/portfolios` resolves to the Collection of entry values in the region. The entry value collection is iterated by the `WHERE` clause, comparing the status field to the string active. When a match is found, the value object is added to the return set.
-
-In the following query, the collection specified in the first FROM clause expression is used by the second FROM clause expression and by the projections of the SELECT statement.
-
-``` pre
-IMPORT cacheRunner.Position;
-SELECT DISTINCT "type"
-FROM /portfolios, positions.values posnVal TYPE Position
-WHERE posnVal.qty > 1000.00
-```
-
-**Note:**
-You cannot change the order of the expressions in this FROM clause. The second expression depends on the scope created by the first expression.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/92-querylanguage/23-attribute-visibility.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/92-querylanguage/23-attribute-visibility.html.md.erb b/geode-docs/nativeclient/remote-querying/92-querylanguage/23-attribute-visibility.html.md.erb
deleted file mode 100644
index 11656c8..0000000
--- a/geode-docs/nativeclient/remote-querying/92-querylanguage/23-attribute-visibility.html.md.erb
+++ /dev/null
@@ -1,49 +0,0 @@
----
-title:  Attribute Visibility
----
-
-Within the current query scope, you can access any available object or object attribute.
-
-In querying, an object's attribute is any identifier that can be mapped to a public field or method in the object.
-
-In the `FROM` specification, any object that is in scope is valid, so at the beginning of a query all cached regions and their attributes on the cache server are in scope.
-
-This query is valid because name resolves to the Region method `getName`:
-
-``` pre
-/portfolios.name
-```
-
-This query is valid because `toArray` resolves to the `Collection` method with the same name:
-
-``` pre
-SELECT DISTINCT * FROM /portfolios.toArray
-```
-
-<a id="security__section_611591AEA6084A5ABB00DE3E19984498"> </a>
-
-You cannot, however, refer to the attribute of a collection object in the region path expression where the collection itself is specified. The following statement is invalid because neither <code class="ph codeph">Collection</code> nor <code class="ph codeph">Region</code> contain an attribute named <code class="ph codeph">positions</code>. The entry values collection (specified by <code class="ph codeph">/portfolios</code>) that does contain an attribute named positions is not yet part of the query name space.
-
-``` pre
-/* INCORRECT: positions is not an attribute of Region or of Collection */
-SELECT DISTINCT * FROM /portfolios.positions
-```
-
-The following `SELECT` statement is valid, because `positions` is an element of the entry value collection that is specified by `/portfolios`. The entry value collection is in scope as soon as the specification in the FROM expression is complete (before `WHERE` or `SELECT` are evaluated).
-
-``` pre
-SELECT DISTINCT positions FROM /portfolios
-```
-
-You can also refer to positions inside the FROM clause after the `/portfolios` entry value collection is created. In this example, positions is an element of the `/portfolios` entry value collection and values is an attribute of positions:
-
-``` pre
-IMPORT javaobject.Position;
-SELECT DISTINCT posnVal
-FROM /portfolios, positions.values posnVal TYPE Position
-WHERE posnVal.mktValue >= 25.00
-```
-
-After the comma in the FROM clause, `/portfolios` is in scope, so its value collection can be iterated. In this case, this is done with the second FROM clause specification, `positions.values`.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/92-querylanguage/24-nested-query-scope.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/92-querylanguage/24-nested-query-scope.html.md.erb b/geode-docs/nativeclient/remote-querying/92-querylanguage/24-nested-query-scope.html.md.erb
deleted file mode 100644
index 4b82eda..0000000
--- a/geode-docs/nativeclient/remote-querying/92-querylanguage/24-nested-query-scope.html.md.erb
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title:  Nested Query Scopes
----
-
-You can nest scopes by using nested `SELECT` statements. Names in an inner scope hide identical names in an outer scope.
-
-In the query below, the inner `SELECT` creates a new scope, the positions of the current portfolio, inside the outer `SELECT` 's scope, `/portfolios`. This inner scope (the collection of entry values from the `/portfolios` region) is first searched for the `secId` element. The outer scope is searched only if the `secId` element is not found in the inner scope.
-
-``` pre
-IMPORT javaobject.Position;
-SELECT DISTINCT * FROM /portfolios
-   WHERE NOT
-    (SELECT DISTINCT * FROM positions.values TYPE Position
-       WHERE secId='YYY').isEmpty
-```
-
-This statement shows the outer scope in bold. The outer scope has all the attributes of a Portfolio in it.
-
-<pre>
-IMPORT javaobject.Position;
-<b>SELECT DISTINCT * FROM /portfolios</b>
-      <b>WHERE NOT</b>
-        (SELECT DISTINCT * FROM positions.values TYPE Position
-            WHERE secId='YYY')<b>.isEmpty</b>
-</pre>
-
-<a id="security__section_611591AEA6084A5ABB00DE3E19984498"></a>
-Now the statement with the inner scope is shown in bold. The inner scope has all the attributes of a `Portfolio` in it (inherited from the outer scope), and all the attributes of a `Position` as well.
-
-<pre>
-IMPORT javaobject.Position;
-SELECT DISTINCT * FROM /portfolios
-   WHERE NOT
-     (<b>SELECT DISTINCT * FROM positions.values TYPE Position
-         WHERE secId='YYY</b>).isEmpty
-</pre>
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/92-querylanguage/25-when-names-cant-resolve.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/92-querylanguage/25-when-names-cant-resolve.html.md.erb b/geode-docs/nativeclient/remote-querying/92-querylanguage/25-when-names-cant-resolve.html.md.erb
deleted file mode 100644
index 4b148a4..0000000
--- a/geode-docs/nativeclient/remote-querying/92-querylanguage/25-when-names-cant-resolve.html.md.erb
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title:  When Names Cannot Be Resolved
----
-
-When a query is executed and a name or path expression resolves to more than one region name in the scope, or if the name cannot be resolved at all, the client receives a `QueryException`. The `QueryException` contains the message that is generated for the exception that occurs on the server.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/93-querystrings/1-querystring-overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/1-querystring-overview.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/1-querystring-overview.html.md.erb
deleted file mode 100644
index 14996c5..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/1-querystring-overview.html.md.erb
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title:  Using Query Strings in the Native Client
----
-
-To use a query string in a native client, specify the string as a parameter in a `QueryService::newQuery` method, then execute the query using `Query::execute`, passing in the required parameters.
-
-Alternatively, if an expression evaluates to a boolean value, you can specify it using the region shortcut methods `Region::existsValue`, `Region::selectValue`, and `Region::query`. These shortcut methods evaluate whether given expressions return any entries and return a single value entry, respectively. See [Region Shortcut Query Methods](../95-remotequeryapi/2-create-manage-queries.html#running-native-client-xact__section_0F92AD1BDB29426BB24CD41F5A0FAB78) for more information about these shortcut methods.
-
-If your query requires any `IMPORT` statements, you must include these before the `SELECT` statement in the query string that is passed to the query engine. It should be a fully qualified package name relative to the cache server. The Java class definition must exist and have the exact footprint as the native client C++ class.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/93-querystrings/3-from-clause.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/3-from-clause.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/3-from-clause.html.md.erb
deleted file mode 100644
index c2dd1cb..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/3-from-clause.html.md.erb
+++ /dev/null
@@ -1,58 +0,0 @@
----
-title:  FROM Clause
----
-
-The `FROM` clause establishes collections of objects that are iterated over by the remainder of the query.
-
-The attributes of the objects in these collections are added to the name space scope for the remainder of the `FROM` clause as well as for the `WHERE` clause and the `SELECT` projection list.
-
-Each `FROM` clause expression must evaluate to a collection. The expression `/portfolios.keySet` is valid because it evaluates to a `Collection`, but `/portfolios.name`, which evaluates to a `String` , causes an exception to be thrown.
-
-Like the SQL query, which iterates over the tables named in its `FROM` clause, the `OQL` query iterates over the `Collections` established in its `FROM` clause.
-
-In the following query, `positions.values` evaluates to a `Collection` because `positions` is a Map, and the method values on `Map` returns a `Collection`.
-
-``` pre
-IMPORT javaobject.Position;
-SELECT DISTINCT "type"
-FROM /portfolios, positions.values posnVal TYPE Position
-WHERE posnVal.qty > 1000.00
-```
-
-Every expression in the `FROM` clause must evaluate to a `Collection`. For a Map, the values method returns a `Collection`.
-
-If positions were a List instead of a Map , this query could be used to retrieve the data:
-
-``` pre
-IMPORT javaobject.Position;
-SELECT DISTINCT "type"
-FROM /portfolios, positions posnVal TYPE Position
-WHERE posnVal.qty >= 1000.00
-```
-
-A List is a `Collection`, so you can access it directly or through its `toArray` method.
-
-For each object type accessed in your `FROM` clause, use the method that returns a `Collection` for that object.
-
-Each expression in the `FROM` clause can be any expression that evaluates to a `Collection`. An expression in the `FROM` clause is typically a path expression that resolves to a region in the cache so that the values in the region become the collection of objects to filter.
-
-For example, this is a simple `SELECT` statement that evaluates to a set of all the entry value objects of the region `/portfolios` with active status. The collection of entry values provided by the `FROM` clause is traversed by the `WHERE` clause, which accesses each element\u2019s status attribute for comparison.
-
-``` pre
-SELECT DISTINCT * FROM /portfolios WHERE status = 'active'
-```
-
-If the `FROM` clause has only one expression in it, the result of the clause is the single collection that the expression evaluates to. If the clause has more than one expression in it, the result is a collection of structs that contain a member for each of those collection expressions. For example, if the `FROM` clause contains three expressions that evaluate to collections `C1`, `C2,` and `C3`, the `FROM` clause generates a set of `struct(x1, x2, x3)` where `x1`, `x2`, and `x3` represent nested iterations over the collections specified.
-
-If the collections are independent of each other, this `struct` represents their cartesian product.
-
-In this query, the `FROM` clause produces a `struct` of `portfolio` and position pairs to be iterated. Each element in the struct contains the portfolio and one of its contained positions.
-
-``` pre
-IMPORT javaobject.Position;
-SELECT DISTINCT "type" FROM /portfolios, positions TYPE Position
-WHERE qty > 1000.00
-```
-
-To understand the effects of `FROM` expressions on query scope, see [Drilling Down for Modifying Query Scope](../92-querylanguage/22-drilldown-modify-query-scope.html#security).
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/93-querystrings/3a-iterator-variables.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/3a-iterator-variables.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/3a-iterator-variables.html.md.erb
deleted file mode 100644
index 89de4e7..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/3a-iterator-variables.html.md.erb
+++ /dev/null
@@ -1,16 +0,0 @@
----
-title:  Using Iterator Variables
----
-
-For each collection expressed in the `FROM` clause, you can associate an explicit variable. The variable is added to the current scope and becomes the iterator variable bound to the elements of the collection as they are iterated over. In this example, `pflo` and `posnVal` are both explicit iterator variables.
-
-**Query Using Explicit Iterator Variables**
-
-``` pre
-IMPORT javaobject.Position;
-SELECT DISTINCT pflo."type", posnVal.qty
-FROM /portfolios pflo, positions.values posnVal TYPE Position
-WHERE pflo.status = 'active' and posnVal.mktValue > 25.00
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/93-querystrings/3b-importing-using-object-classes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/3b-importing-using-object-classes.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/3b-importing-using-object-classes.html.md.erb
deleted file mode 100644
index 3108ac4..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/3b-importing-using-object-classes.html.md.erb
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title:  Importing and Using Object Classes
----
-
-To facilitate the specification of type in variable type declarations and in typecasting expressions, a query string can have `IMPORT` statements preceding the declarations. By using `IMPORT` in the query string, the client can tell the cache server about the class definition of the serialized object that is present in the cache server region.
-
-The only place you can have a package name in a query is in an import statement. These are valid:
-
-``` pre
-IMPORT com.myFolder.Portfolio;
-IMPORT com.myFolder.Portfolio AS MyPortfolio;
-```
-
-The first form of the import statement allows Portfolio to be used as the name of the class, `com.myFolder.Portfolio`. The second form provides an alternative class name, MyPortfolio, to be used. This is useful when a class name is not unique across packages and classes in a single query.
-
-## Using Imported Classes
-
-The following example uses imported classes:
-
-``` pre
-IMPORT com.commonFolder.Portfolio;
-IMPORT com.myFolder.Portfolio AS MyPortfolio;
-SELECT DISTINCT mpflo.status
-FROM /portfolios pflo TYPE Portfolio,
-/myPortfolios mpflo TYPE MyPortfolio,
-WHERE pflo.status = 'active' and mpflo.id = pflo.id
-```
-
-This entire query string must be passed to the query engine, including the `IMPORT` statements.
-Common type names do not require an `IMPORT` statement. The following table lists the types that are defined by the system and the Java types they represent.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/93-querystrings/3c-predefined-class-types.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/3c-predefined-class-types.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/3c-predefined-class-types.html.md.erb
deleted file mode 100644
index f243552..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/3c-predefined-class-types.html.md.erb
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title:  Predefined Class Types
----
-
-The `FROM` clause establishes collections of objects that are iterated over by the remainder of the query. The attributes of the objects in these collections are added to the name space scope for the remainder of the `FROM` clause as well as for the `WHERE` clause and the `SELECT` projection list.
-
-The type specification can be an imported type or any of these predefined types.
-
-|                                                     |                      |                   |                                           |
-|-----------------------------------------------------|----------------------|-------------------|-------------------------------------------|
-| **Type**                                            | **Java**             | **C++**           | **.NET**                                  |
-| short                                               | short                | CacheableInt16    | Int16                                     |
-| long                                                | long                 | CacheableInt64    | Int64                                     |
-| int                                                 | int                  | CacheableInt32    | Int32                                     |
-| float                                               | float                | CacheableFloat    | Single                                    |
-| double                                              | double               | CacheableDouble   | Double                                    |
-| char                                                | char                 | CacheableWideChar | Char                                      |
-| string                                              | java.lang.String     | CacheableString   | String                                    |
-| boolean                                             | boolean              | CacheableBoolean  | Boolean                                   |
-| byte or octet                                       | byte                 | CacheableByte     | Byte                                      |
-| date                                                | java.sql.Date        | CacheableDate     | DateTime                                  |
-| time                                                | java.sql.Time        | Unsupported       | Unsupported                               |
-| timestamp                                           | java.sql.Timestamp   | Unsupported       | Unsupported                               |
-| set&lt;type&gt;                                     | java.util.Set        | CacheableHashSet  | HashSet&lt;type&gt;                       |
-| list&lt;type&gt;                                    | java.util.List       | CacheableVector   | List&lt;type&gt;                          |
-| array&lt;type&gt;                                   | java.lang.Object\[\] | CacheableArray    | ArrayList&lt;type&gt;                     |
-| map&lt;type,type&gt; or dictionary&lt;type,type&gt; | java.lang.Map        | CacheableHashMapp | Dictionary&lt;type, type&gt; or HashTable |
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/93-querystrings/3d-specify-object-types.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/3d-specify-object-types.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/3d-specify-object-types.html.md.erb
deleted file mode 100644
index 66afcef..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/3d-specify-object-types.html.md.erb
+++ /dev/null
@@ -1,53 +0,0 @@
----
-title:  Specifying the Object Types of FROM Clause Collections
----
-
-To resolve implicit attribute names, the query engine must be able to associate each attribute or method name to a single iterator expression in the `FROM` clause.
-
-Depending on the complexity of the query, the engine may be able to discover the proper associations on its own, but providing the specifications described here increases the chances for success.
-
-The server region being queried should contain only homogeneous objects of the same type. See [Setting Object Type Constraints](../91-quickintro/3-quickintro-requirements.html#security__section_407A315F22014CD8A0BC622454789888) for more information.
-
-The object type information must be available when the query is created. To provide the appropriate information to the query engine, specify the type for each of your `FROM` clause collection objects by importing the object's class before running the query and typing the object inside the query. For the example region, this query is valid (all of the examples in this section assume that this `IMPORT` statement is provided):
-
-**Query Using IMPORT and TYPE for Object Typing**
-
-``` pre
-IMPORT javaobject.Position;
-SELECT DISTINCT mktValue
-FROM /portfolios, positions.values TYPE Position
-WHERE mktValue > 25.00
-```
-
-This entire query string must be passed to the query engine, including the IMPORT statement. Import the object\u2019s class before running the query and typecast the object inside the query. For the example region, both of these queries are valid:
-
-**Query Using IMPORT and Typecasting for Object Typing**
-
-``` pre
-IMPORT javaobject.Position;
-SELECT DISTINCT value.mktValue
-  FROM /portfolios, (map<string,Position>)positions
-  WHERE value.mktValue > 25.00
-IMPORT cacheRunner.Position;
-SELECT DISTINCT mktValue
-  FROM /portfolios, (collection<Position>)positions.values
-  WHERE mktValue > 25.00
-```
-
-This entire query string must be passed to the query engine, including the `IMPORT` statement. Use named iterators in the `FROM` clause and explicitly prefix the path expression with iterator names.
-
-**Query Using Named Iterators for Object Typing**
-
-``` pre
-SELECT DISTINCT posnVal
-
-FROM /portfolios pflo, pflo.positions.values posnVal
-
-WHERE posnVal.mktValue >= 25.00
-```
-
-The `IMPORT` statements in these examples assume that the `classes` directory of the examples is in the `CLASSPATH`. This is required so the cache server can process `IMPORT` statements. The class's package name cannot be used in the `FROM` clause. The package name must be specified in an `IMPORT` statement.
-
-There is one exception to these typing guidelines. If one `FROM` expression lacks explicit typing, the query engine associates all unresolved attributes with that expression and creates the query. An exception is thrown if any of these attributes are not found at execution time.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/93-querystrings/4-where-clause.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/4-where-clause.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/4-where-clause.html.md.erb
deleted file mode 100644
index 1c0fca0..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/4-where-clause.html.md.erb
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title:  WHERE Clause
----
-
-The optional WHERE clause defines the search criteria for the selection, filtering the set of elements specified by the FROM clause.
-
-Without a WHERE clause, the SELECT projection list receives the entire collection or set of collections as specified in the FROM clause.
-
-The query processor searches the collection for elements that match the conditions specified in the WHERE clause conditions. If there is an index on an expression matched by the WHERE clause, then the query processor may use the index to optimize the search and avoid iterating over the entire collection. For more information on indexes, see [Advanced Querying](../../../developing/query_additional/advanced_querying.html).
-
-A WHERE clause expression is a boolean condition that is evaluated for each element in the collection. If the expression evaluates to true for an element, the query processor passes that element on to the SELECT projection list. This example uses the WHERE clause to return the portfolio objects in the region that have a type xyz .
-
-``` pre
-SELECT DISTINCT * FROM /portfolios WHERE "type" = 'xyz'
-```
-
-The next query returns the set of all portfolios with a type of xyz and active status.
-
-``` pre
-SELECT DISTINCT * FROM /portfolios WHERE "type" = 'xyz' AND status = 'active'
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/93-querystrings/5-joins.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/5-joins.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/5-joins.html.md.erb
deleted file mode 100644
index 4fc2318..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/5-joins.html.md.erb
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title:  Joins
----
-
-If collections in the `FROM` clause are not related to each other, you can use the `WHERE` clause to join them.
-
-The statement below returns all the persons from the `/Persons` region with the same name as a flower in the `/Flowers` region.
-
-``` pre
-SELECT DISTINCT p FROM /Persons p, /Flowers f WHERE p.name = f.name
-```
-
-Indexes are supported for region joins. To create indexes for region joins, you create single-region indexes for both sides of the join condition. These are used during query execution for the join condition.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/93-querystrings/6-select-projection-list.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/6-select-projection-list.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/6-select-projection-list.html.md.erb
deleted file mode 100644
index 0e93844..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/6-select-projection-list.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  SELECT Projection List
----
-
-The projections in the SELECT projection list are used to transform the results of the WHERE search operation.
-
-You specify the projection list either as \* or as a comma delimited list of expressions. For \*, the interim results of the WHERE clause are returned from the query. Otherwise, the set of objects in the interim results are iterated and the projections applied to each of the objects. During the application of the projection list, the attributes of the objects being traversed are in scope for name resolution.
-
-You can also specify retrieval of the entry keys in your projection list. This allows you to access the associated cached entries for modification and other purposes. The following example shows how the Region entry key can be obtained by using the region entries in the FROM clause and using appropriate projections. This query runs on the /portfolios region, returning a set of `struct<key:string, id:string,                 secId:string>` where `key` is the key of the region entry, `id` is an entry ID, and `secId` is a secId of a `positionsmap` for the entry.
-
-``` pre
-SELECT DISTINCT key, entry.value.id, posnVal.secId
-
-FROM /portfolios.entrySet entry, entry.value.positions.values posnVal
-
-WHERE entry.value."type" = 'xyz' AND posnVal.secId = 'XXX'
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/93-querystrings/7-select-statement-query-results.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/7-select-statement-query-results.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/7-select-statement-query-results.html.md.erb
deleted file mode 100644
index eef7f7f..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/7-select-statement-query-results.html.md.erb
+++ /dev/null
@@ -1,113 +0,0 @@
----
-title:  SELECT Statement Query Results
----
-
-The result of a `SELECT` statement is a collection that implements the `SelectResults` interface or it is `UNDEFINED`.
-
-The `SelectResults` returned from the `SELECT` statement is either a collection of objects or a `Struct` collection containing the objects. (See also the API documentation for Query.)
-
-Because a `SELECT` statement returns a result, it can be composed with other expressions like the following example:
-
-``` pre
-(SELECT DISTINCT * FROM /portfolios WHERE status = 'active').iterator
-```
-
-A collection of objects is returned in two cases:
-
--   When only one expression is specified by the projection list and that expression is not explicitly specified using the `fieldname:expression` syntax
-
--   When the `SELECT` list is \* and a single collection is specified in the FROM clause
-
-<a id="security__table_D501DA045E684E00AEBD5FED5ED24853"></a>
-
-<table>
-<caption><span class="tablecap">Table 1. Matrix of SelectResults Contents Based on SELECT and FROM Clause Specifications</span></caption>
-<colgroup>
-<col width="25%" />
-<col width="25%" />
-<col width="25%" />
-<col width="25%" />
-</colgroup>
-<tbody>
-<tr class="odd">
-<td><p><strong>SELECT</strong></p>
-<p><strong>FROM</strong></p></td>
-<td><strong>*</strong></td>
-<td><strong>Single Expressions</strong></td>
-<td><strong>Multiple Expressions</strong></td>
-</tr>
-<tr class="even">
-<td><strong>single expression</strong></td>
-<td>Objects</td>
-<td><p>Objects. (<code class="ph codeph">Struct</code> if the projection specifies a field name.)</p></td>
-<td><code class="ph codeph">Struct</code></td>
-</tr>
-<tr class="odd">
-<td><strong>multiple expressions</strong></td>
-<td><code class="ph codeph">Struct</code></td>
-<td><p>Objects. (<code class="ph codeph">Struct</code> if the projection specifies a field name.)</p></td>
-<td><code class="ph codeph">Struct</code></td>
-</tr>
-</tbody>
-</table>
-
-When a `Struct` is returned, the name of each field in the `Struct             `is determined as follows:
-
--   If a field is specified explicitly using the `fieldname:expression` syntax, the fieldname is used.
--   If the `SELECT` projection list is \* and an explicit iterator expression is used in the `FROM` clause, the iterator variable name is used as the field name.
--   If the field is associated with a region or attribute path expression, the last attribute name in the expression is used.
-
-If names can not be decided based on these rules, arbitrary unique names are generated by the query processor.
-
-These examples show how the projections and FROM clause expressions are applied.
-
-<table>
-<colgroup>
-<col width="33%" />
-<col width="33%" />
-<col width="33%" />
-</colgroup>
-<tbody>
-<tr class="odd">
-<td><code class="ph codeph">SELECT &lt;*&gt; FROM &lt;single expression&gt;</code></td>
-<td><code class="ph codeph">SELECT DISTINCT *</code>
-<p><code class="ph codeph">FROM /portfolios</code></p>
-<p><code class="ph codeph">WHERE status ='active'</code></p></td>
-<td>Returns the <code class="ph codeph">Collection</code> of active portfolios objects.</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">SELECT &lt;single expression&gt; FROM                                 &lt;multiple expression&gt; </code>(without <code class="ph codeph">fieldName</code> mentioned)</td>
-<td><code class="ph codeph">IMPORT javaobject.Position; </code> <code class="ph codeph">SELECT DISTINCT secId</code>
-<p><code class="ph codeph">FROM /portfolios,</code></p>
-<p>positions.values TYPE Position</p>
-<p>WHERE status ='active'</p></td>
-<td>Returns the <code class="ph codeph">Collection</code> of <code class="ph codeph">secIds</code> (<code class="ph codeph">CacheableString</code>
-<p>objects) from the positions of active portfolios.</p></td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">SELECT &lt;single expression&gt; FROM</code>
-<p><code class="ph codeph">&lt;multiple expression&gt;</code> (with <code class="ph codeph">fieldName</code> mentioned)</p></td>
-<td><code class="ph codeph">IMPORT javaobject.Position;SELECT DISTINCT                                 secIdFieldName:secId</code>
-<p><code class="ph codeph">FROM /portfolios, positions.values TYPE Position </code></p>
-<p><code class="ph codeph">WHERE status ='active'</code></p></td>
-<td>Returns <code class="ph codeph">struct&lt;secIdField:                                 CacheableString&gt;</code> for the active portfolios. (Compare to the results for the prior query.)</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">SELECT &lt;*&gt; FROM &lt;multiple expression&gt;</code></td>
-<td><p><code class="ph codeph">IMPORT javaobject.Position; SELECT DISTINCT *</code></p>
-<p><code class="ph codeph">FROM /portfolios, positions.values TYPE Position </code></p>
-<p><code class="ph codeph">WHERE status = 'active'</code></p></td>
-<td><p>Returns a <code class="ph codeph">Collection</code> of <code class="ph codeph">struct&lt;portfolios: Portfolio, values:                                     Position&gt;</code> for the active portfolios.</p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">SELECT &lt;multiple expression&gt; FROM &lt;multiple                                     expression&gt;</code></p></td>
-<td><p><code class="ph codeph">IMPORT javaobject.Position;</code></p>
-<p><code class="ph codeph">SELECT DISTINCT pflo, posn</code></p>
-<p><code class="ph codeph">FROM /portfolios pflo, positions posn TYPE Position</code></p>
-<p><code class="ph codeph">WHERE pflo.status = 'active'</code></p></td>
-<td><p>Returns a <code class="ph codeph">Collection</code> of <code class="ph codeph">struct&lt;pflo:                                     Portfolio, posn: Position&gt;</code> for the active portfolios.</p></td>
-</tr>
-</tbody>
-</table>
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/93-querystrings/8-query-language-elements.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/8-query-language-elements.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/8-query-language-elements.html.md.erb
deleted file mode 100644
index d2f5545..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/8-query-language-elements.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  Query Language Elements
----
-
-This section discusses various aspects and tools of the native client query engine.
-
--   **[Method Invocation](../../../nativeclient/remote-querying/93-querystrings/8a-method-invocation.html)**
-
-    The query language supports method invocation inside query expressions.
-
--   **[Query Language Literals Supported by Native Client](../../../nativeclient/remote-querying/93-querystrings/8b-query-lang-literals.html)**
-
-    Query language expressions can contain literals as well as operators and attribute names. The native client supports many types of literals.
-
--   **[Type Conversions](../../../nativeclient/remote-querying/93-querystrings/8c-type-conversions.html)**
-
-    Java rules within a query string require the query processor to perform implicit conversions and promotions under certain cases in order to evaluate expressions that contain different types.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/93-querystrings/8a-method-invocation.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/8a-method-invocation.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/8a-method-invocation.html.md.erb
deleted file mode 100644
index 0853001..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/8a-method-invocation.html.md.erb
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title:  Method Invocation
----
-
-The query language supports method invocation inside query expressions.
-
-<a id="security__section_9EB15A373E8C41E1A1C40981588A4DFB"></a>
-
-The query processor maps attributes in query strings using the attribute rules described in [Object Attributes](../92-querylanguage/21-basic-region-access.html#security__section_789E081192A74B00B0E726EDC1C574C4). Methods declared to return `void` evaluate to `null` when invoked through the query processor.
-If you know that the attribute name maps to a public method that takes no parameters, you can simply include the method name in the query string as an attribute. For example, `emps.isEmpty` is equivalent to `emps.isEmpty`() . In the following example, the query invokes `isEmpty` on positions, and returns the set of all portfolios with no positions.
-
-``` pre
-SELECT DISTINCT * FROM /portfolios WHERE positions.isEmpty
-```
-
-The native client also supports the invocation of public methods with parameters. To invoke methods with parameters, include the method name as an attribute in the query string and provide the method arguments between parentheses. You can only use constants in the query strings.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/93-querystrings/8b-query-lang-literals.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/8b-query-lang-literals.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/8b-query-lang-literals.html.md.erb
deleted file mode 100644
index 4f91f5f..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/8b-query-lang-literals.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  Query Language Literals Supported by Native Client
----
-
-Query language expressions can contain literals as well as operators and attribute names. The native client supports many types of literals.
-
--   `boolean`. Boolean value, either `TRUE` or `FALSE`.
--   `integer` and `long`. Type `long` if it is suffixed with the ASCII letter L. Otherwise it is of type `int`.
--   `floating point`.Type float if it is suffixed with an ASCII letter F. Otherwise its type is double and it can optionally be suffixed with an ASCII letter D . A double or floating point literal can optionally include an exponent suffix of E or e, followed by a signed or unsigned number.
--   `string`. Delimited by single quotation marks. Embedded single quotation marks are doubled. For example, the character string `'Hello'` evaluates to the value `Hello`, while the character string `'He said,                     ''Hello'''` evaluates to `He said, 'Hello'`. Embedded newlines are kept as part of the string literal.
--   `char`. Type `char` if it is a string literal prefixed by the keyword `CHAR`; otherwise it is of type `string `. The CHAR literal for the single quotation mark character is `CHAR ''''` (four single quotation marks).
--   `date`. `java.sql.Date` object that uses the JDBC format prefixed with the `DATE` keyword: `DATE yyyy-mm-dd`. In the Date, `yyyy` represents the year, `mm` represents the month, and `dd` represents the day. The year must be represented by four digits; a two-digit shorthand for the year is not allowed.
--   `time`. Not supported.
--   `timestamp`. Not supported.
--   `NIL`. Equivalent alternative of `NULL`.
--   `NULL`. Same as `null` in Java.
--   `UNDEFINED`. Special literal that is a valid value for any data type. An `UNDEFINED` value is the result of accessing an attribute of a null-valued attribute. If you access an attribute that has an explicit value of null, then it is not undefined. For example, if a query accesses the attribute `address.city` and address is null, then the result is undefined. If the query accesses `address`, then the result is not undefined, it is null.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/93-querystrings/8c-type-conversions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/8c-type-conversions.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/8c-type-conversions.html.md.erb
deleted file mode 100644
index 8b2a060..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/8c-type-conversions.html.md.erb
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title:  Type Conversions
----
-
-Java rules within a query string require the query processor to perform implicit conversions and promotions under certain cases in order to evaluate expressions that contain different types.
-
-The query processor performs binary numeric promotion, method invocation conversion, and temporal type conversion.
-
-## <a id="security__section_A445225717A646478C656DA8AB8334CD" class="no-quick-link"></a>Binary numeric promotion
-
-Binary numeric promotion widens all operands in a numeric expression to the widest representation used by any of the operands. In each expression, the query processor applies the following rules in order:
-
--   If either operand is of type double, the other is converted to double.
--   If either operand is of type float, the other is converted to float.
--   If either operand is of type long, the other is converted to long.
--   Both operands are converted to type int.
-
-The query processor performs binary numeric promotion on the operands of the following operators:
-
--   comparison operators &lt;, &lt;=, &gt;, and &gt;=
--   equality operators = and &lt;&gt;
-
-This is essentially the same behavior as in Java, except that chars are not considered to be numeric in the native client query language.
-
-## <a id="security__section_ED0CF17A3119452D8A6FCB95FEEBF3B3" class="no-quick-link"></a>Method invocation conversion
-
-Method invocation conversion in the query language follows the same rules as Java method invocation conversion, except that the query language uses runtime types instead of compile time types, and handles null arguments differently than in Java. One aspect of using runtime types is that an argument with a null value has no typing information, and so can be matched with any type parameter. When a null argument is used, if the query processor cannot determine the proper method to invoke based on the non-null arguments, it throws an `AmbiguousNameException`. For more information on method invocation in query strings, see [Method Invocation](8a-method-invocation.html#security).
-
-## <a id="security__section_940BA11A53204B3985B955102CB52681" class="no-quick-link"></a>Temporal type conversion
-
-The temporal types that the query language supports on the cache server include the Java types `java.util.Date` and `java.sql.Date`, which are treated the same and can be freely compared and used in indexes. When compared with each other, these types are all treated as nanosecond quantities.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/94-indexes/indexes-overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/94-indexes/indexes-overview.html.md.erb b/geode-docs/nativeclient/remote-querying/94-indexes/indexes-overview.html.md.erb
deleted file mode 100644
index ea85945..0000000
--- a/geode-docs/nativeclient/remote-querying/94-indexes/indexes-overview.html.md.erb
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title:  Creating Indexes
----
-
-An index can provide significant performance gains for query execution. You create and maintain indexes on the cache server.
-
-A query run without an index iterates through every object in the collection on the cache server. If an index is available that matches part or all of the query specification, the query iterates only over the indexed set, and query processing time can be reduced.
-
-When you create your indexes on the cache server, remember that indexes incur maintenance costs as they must be updated when the indexed data changes. An index that requires many updates and is not used very often may require more system resources than no index at all. Indexes also consume memory. For information on the amount of memory used for indexes, see the system configuration information.
-
-You can create an index for remote querying declaratively on the cache server in a `cache.xml` file, as shown in this example.
-
-**Creating an Index on a Cache Server Using a Server XML File**
-
-``` pre
-<region name="portfolios">
-   <region-attributes . . . >
-     <value-constraint>cacheRunner.Portfolio</value-constraint>
-   </region-attributes>
-   <index name="myFuncIndex">
-      <functional from-clause="/portfolios" expression="status"/>
-   </index>
-   <index name="myPrimIndex">
-      <primary-key field="id"/>
-   </index>
-   <entry> . . . 
-```
-
-For detailed information about working with indexes configured on a cache server, see the section [Working with Indexes](../../../developing/query_index/query_index.html).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/95-remotequeryapi/1-remote-query-api-overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/95-remotequeryapi/1-remote-query-api-overview.html.md.erb b/geode-docs/nativeclient/remote-querying/95-remotequeryapi/1-remote-query-api-overview.html.md.erb
deleted file mode 100644
index 7756b95..0000000
--- a/geode-docs/nativeclient/remote-querying/95-remotequeryapi/1-remote-query-api-overview.html.md.erb
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title:  Remote Query API
----
-
-You use the native client querying API to access all the querying functionality discussed in the previous sections.
-
-This section gives a general overview of the interfaces and classes that are provided by the Query package API, and the shortcut methods provided in the Region interface. For complete, current information on the classes and interfaces discussed here, see the native client API documentation.
-
--   **[Creating and Managing Queries](../../../nativeclient/remote-querying/95-remotequeryapi/2-create-manage-queries.html)**
-
-    You create queries on the cache server by obtaining a `QueryService` method and manage them through the resulting `Query` object. The `Region` interface has several shortcut query methods.
-
--   **[Query Result Sets](../../../nativeclient/remote-querying/95-remotequeryapi/3-query-result-sets.html)**
-
--   **[Query Code Samples Returning ResultSet](../../../nativeclient/remote-querying/96-progexamples/2-query-code-examples-resultset.html)**
-
-    API examples demonstrate methods for returning `ResultSet` for both built-in and user-fined data types.
-
--   **[Query Code Samples Returning StructSet](../../../nativeclient/remote-querying/96-progexamples/3-query-code-examples-structset.html)**
-
-    These examples return a `StructSet` for built-in and user-defined data types, `Struct` objects, and collections.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/95-remotequeryapi/2-create-manage-queries.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/95-remotequeryapi/2-create-manage-queries.html.md.erb b/geode-docs/nativeclient/remote-querying/95-remotequeryapi/2-create-manage-queries.html.md.erb
deleted file mode 100644
index e685182..0000000
--- a/geode-docs/nativeclient/remote-querying/95-remotequeryapi/2-create-manage-queries.html.md.erb
+++ /dev/null
@@ -1,46 +0,0 @@
----
-title:  Creating and Managing Queries
----
-
-You create queries on the cache server by obtaining a `QueryService` method and manage them through the resulting `Query` object. The `Region` interface has several shortcut query methods.
-
-The `newQuery` method for the `Query` interface binds a query string. By invoking the `execute` method, the query is submitted to the cache server and returns` SelectResults`, which is either a `ResultSet` or a `StructSet`.
-
-The `QueryService` method is the entry point to the query package. It is retrieved from the Cache instance through `Cache::getQueryService`. If you are using the Pool API you must obtain the `QueryService` from the pools and not from the cache.
-
-## <a id="running-native-client-xact__section_41564A36A1DE4EEDA8F3E00992F8D02B" class="no-quick-link"></a>Query
-
-A `Query` is obtained from a `QueryService` method, which is obtained from the cache. The `Query` interface provides methods for managing the compilation and execution of queries, and for retrieving an existing query string.
-
-You must obtain a `Query` object for each new query. The following example demonstrates the method used to obtain a new instance of `Query`:
-
-``` pre
-QueryPtr newQuery(const char * querystr); 
-```
-
-## <a id="running-native-client-xact__section_0F92AD1BDB29426BB24CD41F5A0FAB78" class="no-quick-link"></a>Region Shortcut Query Methods
-
-The `Region` interface has several shortcut query methods. All take a `query` predicate which is used in the `WHERE` clause of a standard query. See [WHERE Clause](../93-querystrings/4-where-clause.html#security) for more information. Each of the following examples also set the query response timeout to 10 seconds to allow sufficient time for the operation to succeed.
-
--   The `query` method retrieves a collection of values satisfying the query predicate. This call retrieves active portfolios, which in the sample data are the portfolios with keys `111`, `222`, and `333`:
-
-    ``` pre
-    SelectResultsPtr
-    results = regionPtr->query("status 'active' ");
-    ```
-
--   The `selectValue` method retrieves one value object. In this call, you request the portfolio with `ID ABC-1` :
-
-    ``` pre
-    SerializablePtr
-    port = region->selectValue("ID='ABC-1'");
-    ```
-
--   The `existsValue` method returns a boolean indicating if any entry exists that satisfies the predicate. This call returns false because there is no entry with the indicated type:
-
-    ``` pre
-    bool entryExists
-    = region->existsValue("'type' = 'QQQ' ");
-    ```
-
-For more information about these shortcut query methods, see the Region class description in the native client API documentation.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/95-remotequeryapi/3-query-result-sets.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/95-remotequeryapi/3-query-result-sets.html.md.erb b/geode-docs/nativeclient/remote-querying/95-remotequeryapi/3-query-result-sets.html.md.erb
deleted file mode 100644
index 379837c..0000000
--- a/geode-docs/nativeclient/remote-querying/95-remotequeryapi/3-query-result-sets.html.md.erb
+++ /dev/null
@@ -1,10 +0,0 @@
----
-title:  Query Result Sets
----
-
--   **SelectResults**. Executes the query on the cache server and returns the results as either a `ResultSet` or a StructSet.
--   **SelectResultsIterator**. Iterates over the items available in a `ResultSet` or `StructSet`.
--   **ResultSet**. Obtained after executing a `Query`, which is obtained from a `QueryService` that is obtained from a Cache class.
--   **StructSet**. Used when a `SELECT` statement returns more than one set of results. This is accompanied by a `Struct`, which provides the `StructSet` definition and contains its field values.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/remote-querying/96-progexamples/2-query-code-examples-resultset.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/96-progexamples/2-query-code-examples-resultset.html.md.erb b/geode-docs/nativeclient/remote-querying/96-progexamples/2-query-code-examples-resultset.html.md.erb
deleted file mode 100644
index e0aeb63..0000000
--- a/geode-docs/nativeclient/remote-querying/96-progexamples/2-query-code-examples-resultset.html.md.erb
+++ /dev/null
@@ -1,68 +0,0 @@
----
-title:  Query Code Samples Returning ResultSet
----
-
-API examples demonstrate methods for returning `ResultSet` for both built-in and user-fined data types.
-
-**Query Returns a ResultSet for a Built-In Data Type**
-
-``` pre
-QueryServicePtr qrySvcPtr = cachePtr->getQueryService("examplePool");
-QueryPtr query = qrySvcPtr->newQuery("select distinct pkid from /portfolios");
-//specify 10 seconds for the query timeout period
-SelectResultsPtr results = query->execute(10);
-if (results == NULLPTR)
-{
-   printf( "\nNo results returned from the server");
-}
-
-//obtaining a handle to resultset
-ResultSetPtr rs(dynamic_cast<ResultSet*> (results.ptr()));
-if (rs == NULLPTR)
-{
-   printf ("\nResultSet is not obtained \n"); return;
-}
-//iterating through the resultset using row index.
-for (int32_t row=0; row < rs->size(); row++)
-{
-   SerializablePtr ser((*rs)[row]);
-   CacheableStringPtr str(dynamic_cast<CacheableString*> (ser.ptr()));
-   if (str != NULLPTR)
-   {
-      printf("\n string column contains - %s \n", str->asChar() );
-   }
-}
-```
-
-**Query Returns a ResultSet for a User-Defined Data Type**
-
-``` pre
-QueryServicePtr qrySvcPtr = cachePtr->getQueryService("examplePool");
-const char * querystring = "select distinct * from /portfolios";
-QueryPtr query = qrySvcPtr->newQuery(querystring);
-//specify 10 seconds for the query timeout period
-SelectResultsPtr results = query->execute(10);
-if (results == NULLPTR)
-{
-   printf( "\nNo results returned from the server");
-}
-//obtaining a handle to resultset
-ResultSetPtr rs(dynamic_cast<ResultSet*> (results.ptr()));
-if (rs == NULLPTR)
-{
-   printf ("\nResultSet is not obtained \n"); return;
-}
-//iterating through the resultset using iterators.
-SelectResultsIterator iter = rs->getIterator();
-while (iter.hasNext())
-{
-   SerializablePtr ser = iter.next();
-   PortfolioPtr port(dynamic_cast<Portfolio*> (ser.ptr()));
-   if (port != NULLPTR)
-   {
-      printf("\nPortfolio object is - %s \n", port->toString()->asChar() );
-   }
-} // end of rows
-```
-
-


[69/76] [abbrv] incubator-geode git commit: GEODE-1952: Add Apache license to all geode-docs erb files

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/querying_basics/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/chapter_overview.html.md.erb b/geode-docs/developing/querying_basics/chapter_overview.html.md.erb
index 27611d0..328cc46 100644
--- a/geode-docs/developing/querying_basics/chapter_overview.html.md.erb
+++ b/geode-docs/developing/querying_basics/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Querying
 ---
 
+<!--
+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.
+-->
+
 Geode provides a SQL-like querying language called OQL that allows you to access data stored in Geode regions.
 
 Since Geode regions are key-value stores where values can range from simple byte arrays to complex nested objects, Geode uses a query syntax based on OQL (Object Query Language) to query region data. OQL is very similar to SQL, but OQL allows you to query complex objects, object attributes, and methods.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/querying_basics/comments_in_query_strings.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/comments_in_query_strings.html.md.erb b/geode-docs/developing/querying_basics/comments_in_query_strings.html.md.erb
index 5125609..d55bb3f 100644
--- a/geode-docs/developing/querying_basics/comments_in_query_strings.html.md.erb
+++ b/geode-docs/developing/querying_basics/comments_in_query_strings.html.md.erb
@@ -2,6 +2,23 @@
 title:  Comments in Query Strings
 ---
 
+<!--
+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.
+-->
+
 Comment lines being with `--` (double dash). Comment blocks begin with `/*` and end with `*/`. For example:
 
 ``` pre

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/querying_basics/monitor_queries_for_low_memory.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/monitor_queries_for_low_memory.html.md.erb b/geode-docs/developing/querying_basics/monitor_queries_for_low_memory.html.md.erb
index 3064b70..6d065c0 100644
--- a/geode-docs/developing/querying_basics/monitor_queries_for_low_memory.html.md.erb
+++ b/geode-docs/developing/querying_basics/monitor_queries_for_low_memory.html.md.erb
@@ -2,6 +2,23 @@
 title: Monitoring Queries for Low Memory
 ---
 
+<!--
+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="topic_685CED6DE7D0449DB8816E8ABC1A6E6F"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/querying_basics/oql_compared_to_sql.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/oql_compared_to_sql.html.md.erb b/geode-docs/developing/querying_basics/oql_compared_to_sql.html.md.erb
index df13209..8b4d7f9 100644
--- a/geode-docs/developing/querying_basics/oql_compared_to_sql.html.md.erb
+++ b/geode-docs/developing/querying_basics/oql_compared_to_sql.html.md.erb
@@ -2,6 +2,23 @@
 title:  Advantages of OQL
 ---
 
+<!--
+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.
+-->
+
 The following list describes some of the advantages of using an OQL-based querying language:
 
 -   You can query on any arbitrary object

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/querying_basics/performance_considerations.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/performance_considerations.html.md.erb b/geode-docs/developing/querying_basics/performance_considerations.html.md.erb
index b37e529..4e19250 100644
--- a/geode-docs/developing/querying_basics/performance_considerations.html.md.erb
+++ b/geode-docs/developing/querying_basics/performance_considerations.html.md.erb
@@ -2,6 +2,23 @@
 title:  Performance Considerations
 ---
 
+<!--
+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.
+-->
+
 This topic covers considerations for improving query performance.
 
 <a id="performance_considerations__section_2DA52BD8C72A4D01982CA8A44954ADAF"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/querying_basics/query_basics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/query_basics.html.md.erb b/geode-docs/developing/querying_basics/query_basics.html.md.erb
index 89324f7..4121140 100644
--- a/geode-docs/developing/querying_basics/query_basics.html.md.erb
+++ b/geode-docs/developing/querying_basics/query_basics.html.md.erb
@@ -2,6 +2,23 @@
 title:  Basic Querying
 ---
 
+<!--
+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.
+-->
+
 This section provides a high-level introduction to Geode querying such as building a query string and describes query language features.
 
 <a id="querying_with_oql__section_828A9660B5014DCAA883A58A45E6B51A"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/querying_basics/query_grammar_and_reserved_words.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/query_grammar_and_reserved_words.html.md.erb b/geode-docs/developing/querying_basics/query_grammar_and_reserved_words.html.md.erb
index bf5b564..b653a07 100644
--- a/geode-docs/developing/querying_basics/query_grammar_and_reserved_words.html.md.erb
+++ b/geode-docs/developing/querying_basics/query_grammar_and_reserved_words.html.md.erb
@@ -2,6 +2,23 @@
 title:  Query Language Grammar
 ---
 
+<!--
+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="query_grammar_and_reserved_words__section_F6DF7EBA0201463F9F19645849748D54" class="no-quick-link"></a>Language Grammar
 
 Notation used in the grammar:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/querying_basics/querying_partitioned_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/querying_partitioned_regions.html.md.erb b/geode-docs/developing/querying_basics/querying_partitioned_regions.html.md.erb
index 14e7f09..0105d82 100644
--- a/geode-docs/developing/querying_basics/querying_partitioned_regions.html.md.erb
+++ b/geode-docs/developing/querying_basics/querying_partitioned_regions.html.md.erb
@@ -2,6 +2,23 @@
 title:  Querying Partitioned Regions
 ---
 
+<!--
+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.
+-->
+
 Geode allows you to manage and store large amounts of data across distributed nodes using partitioned regions. The basic unit of storage for a partitioned region is a bucket, which resides on a Geode node and contains all the entries that map to a single hashcode. In a typical partitioned region query, the system distributes the query to all buckets across all nodes, then merges the result sets and sends back the query results.
 
 <a id="querying_partitioned_regions__section_4C603563DEDC4303818FB8F894470457"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/querying_basics/reserved_words.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/reserved_words.html.md.erb b/geode-docs/developing/querying_basics/reserved_words.html.md.erb
index 3da8b33..7a23f91 100644
--- a/geode-docs/developing/querying_basics/reserved_words.html.md.erb
+++ b/geode-docs/developing/querying_basics/reserved_words.html.md.erb
@@ -2,6 +2,23 @@
 title:  Reserved Words
 ---
 
+<!--
+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="concept_4F288B1F9579422FA481FBE2C3ADD007__section_3415163C3EFB46A6BE873E2606C9DE0F" class="no-quick-link"></a>Reserved Words
 
 These words are reserved for the query language and may not be used as identifiers. The words with asterisk (`*`) after them are not currently used by Geode, but are reserved for future implementation.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/querying_basics/restrictions_and_unsupported_features.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/restrictions_and_unsupported_features.html.md.erb b/geode-docs/developing/querying_basics/restrictions_and_unsupported_features.html.md.erb
index 44a5e73..d315461 100644
--- a/geode-docs/developing/querying_basics/restrictions_and_unsupported_features.html.md.erb
+++ b/geode-docs/developing/querying_basics/restrictions_and_unsupported_features.html.md.erb
@@ -2,6 +2,23 @@
 title:  Query Language Restrictions and Unsupported Features
 ---
 
+<!--
+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.
+-->
+
 At a high level, Geode does not support the following querying features:
 
 -   Indexes targeted for joins across more than one region are not supported

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/querying_basics/running_a_query.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/running_a_query.html.md.erb b/geode-docs/developing/querying_basics/running_a_query.html.md.erb
index 83b9d1d..6ddb1de 100644
--- a/geode-docs/developing/querying_basics/running_a_query.html.md.erb
+++ b/geode-docs/developing/querying_basics/running_a_query.html.md.erb
@@ -2,6 +2,23 @@
 title:  Writing and Executing a Query in Geode
 ---
 
+<!--
+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="running_a_querying__section_C285160AF91C4486A39444C3A22D6475"></a>
 The Geode QueryService provides methods to create the Query object. You can then use the Query object to perform query-related operations.
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/querying_basics/supported_character_sets.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/supported_character_sets.html.md.erb b/geode-docs/developing/querying_basics/supported_character_sets.html.md.erb
index 1383ee9..50b9c87 100644
--- a/geode-docs/developing/querying_basics/supported_character_sets.html.md.erb
+++ b/geode-docs/developing/querying_basics/supported_character_sets.html.md.erb
@@ -2,6 +2,23 @@
 title:  Supported Character Sets
 ---
 
+<!--
+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.
+-->
+
 Geode query language supports the full ASCII and Unicode character sets.
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/querying_basics/what_is_a_query_string.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/what_is_a_query_string.html.md.erb b/geode-docs/developing/querying_basics/what_is_a_query_string.html.md.erb
index c2999bb..eb79645 100644
--- a/geode-docs/developing/querying_basics/what_is_a_query_string.html.md.erb
+++ b/geode-docs/developing/querying_basics/what_is_a_query_string.html.md.erb
@@ -2,6 +2,23 @@
 title:  Building a Query String
 ---
 
+<!--
+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="what_is_a_query_string__section_1866AE6026DE4D66A2CD2363C1BC0406"></a>
 A query string is a fully formed OQL statement that can be passed to a query engine and executed against a data set. To build a query string, you combine supported keywords, expressions, and operators to create an expression that returns the information you require.
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/region_options/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/region_options/chapter_overview.html.md.erb b/geode-docs/developing/region_options/chapter_overview.html.md.erb
index 53ad2fb..e48ac79 100644
--- a/geode-docs/developing/region_options/chapter_overview.html.md.erb
+++ b/geode-docs/developing/region_options/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Region Data Storage and Distribution
 ---
 
+<!--
+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.
+-->
+
 The Apache Geode data storage and distribution models put your data in the right place at the right time. You should understand all the options for data storage in Geode before you configure your data regions.
 
 -   **[Storage and Distribution Options](../../developing/region_options/storage_distribution_options.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/region_options/data_hosts_and_accessors.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/region_options/data_hosts_and_accessors.html.md.erb b/geode-docs/developing/region_options/data_hosts_and_accessors.html.md.erb
index ed167b6..9e35009 100644
--- a/geode-docs/developing/region_options/data_hosts_and_accessors.html.md.erb
+++ b/geode-docs/developing/region_options/data_hosts_and_accessors.html.md.erb
@@ -2,6 +2,23 @@
 title:  Region Data Stores and Data Accessors
 ---
 
+<!--
+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.
+-->
+
 Understand the difference between members that store data for a region and members that act only as data accessors to the region.
 
 <a id="data_hosts_and_accessors__section_0EF33633F97B4C63AC34F523259AD310"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/region_options/dynamic_region_creation.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/region_options/dynamic_region_creation.html.md.erb b/geode-docs/developing/region_options/dynamic_region_creation.html.md.erb
index 2974f22..2652e3d 100644
--- a/geode-docs/developing/region_options/dynamic_region_creation.html.md.erb
+++ b/geode-docs/developing/region_options/dynamic_region_creation.html.md.erb
@@ -2,6 +2,23 @@
 title:  Creating Regions Dynamically
 ---
 
+<!--
+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.
+-->
+
 You can dynamically create regions in your application code and automatically instantiate them on members of a distributed system.
 
 If your application does not require partitioned regions, you can use the <span class="keyword apiname">org.apache.geode.cache.DynamicRegionFactory</span> class to dynamically create regions, or you can create them using the `<dynamic-region-factory>` element in the cache.xml file that defines the region. See [&lt;dynamic-region-factory&gt;](../../reference/topics/cache_xml.html#dynamic-region-factory).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/region_options/region_types.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/region_options/region_types.html.md.erb b/geode-docs/developing/region_options/region_types.html.md.erb
index 45908dd..57e565e 100644
--- a/geode-docs/developing/region_options/region_types.html.md.erb
+++ b/geode-docs/developing/region_options/region_types.html.md.erb
@@ -2,6 +2,23 @@
 title:  Region Types
 ---
 
+<!--
+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 types define region behavior within a single distributed system. You have various options for region data storage and distribution.
 
 <a id="region_types__section_E3435ED1D0D142538B99FA69A9E449EF"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/region_options/storage_distribution_options.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/region_options/storage_distribution_options.html.md.erb b/geode-docs/developing/region_options/storage_distribution_options.html.md.erb
index 7ed2732..f30135e 100644
--- a/geode-docs/developing/region_options/storage_distribution_options.html.md.erb
+++ b/geode-docs/developing/region_options/storage_distribution_options.html.md.erb
@@ -2,6 +2,23 @@
 title:  Storage and Distribution Options
 ---
 
+<!--
+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.
+-->
+
 Geode provides several models for data storage and distribution, including partitioned or replicated regions as well as distributed or non-distributed regions (local cache storage).
 
 ## <a id="concept_B18B7754E7C7485BA6D66F2DDB7A11FB__section_787D674A64244871AE49CBB58475088E" class="no-quick-link"></a>Peer-to-Peer Region Storage and Distribution

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/storing_data_on_disk/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/storing_data_on_disk/chapter_overview.html.md.erb b/geode-docs/developing/storing_data_on_disk/chapter_overview.html.md.erb
index 96c6a3d..002fb53 100644
--- a/geode-docs/developing/storing_data_on_disk/chapter_overview.html.md.erb
+++ b/geode-docs/developing/storing_data_on_disk/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Persistence and Overflow
 ---
 
+<!--
+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.
+-->
+
 You can persist data on disk for backup purposes and overflow it to disk to free up memory without completely removing the data from your cache.
 
 **Note:**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/storing_data_on_disk/how_persist_overflow_work.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/storing_data_on_disk/how_persist_overflow_work.html.md.erb b/geode-docs/developing/storing_data_on_disk/how_persist_overflow_work.html.md.erb
index 2c08c33..1a1cc10 100644
--- a/geode-docs/developing/storing_data_on_disk/how_persist_overflow_work.html.md.erb
+++ b/geode-docs/developing/storing_data_on_disk/how_persist_overflow_work.html.md.erb
@@ -2,6 +2,23 @@
 title:  How Persistence and Overflow Work
 ---
 
+<!--
+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.
+-->
+
 To use Geode persistence and overflow, you should understand how they work with your data.
 
 <a id="how_persist_overflow_work__section_jzl_wwb_pr"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/storing_data_on_disk/overflow_config_examples.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/storing_data_on_disk/overflow_config_examples.html.md.erb b/geode-docs/developing/storing_data_on_disk/overflow_config_examples.html.md.erb
index ca9d7cd..092ffee 100644
--- a/geode-docs/developing/storing_data_on_disk/overflow_config_examples.html.md.erb
+++ b/geode-docs/developing/storing_data_on_disk/overflow_config_examples.html.md.erb
@@ -2,6 +2,23 @@
 title:  Overflow Configuration Examples
 ---
 
+<!--
+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.
+-->
+
 The `cache.xml` examples show configuration of region and server subscription queue overflows.
 
 <a id="overflow_config_examples__section_FD38DA72706245C996ACB7B23927F6AF"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/storing_data_on_disk/storing_data_on_disk.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/storing_data_on_disk/storing_data_on_disk.html.md.erb b/geode-docs/developing/storing_data_on_disk/storing_data_on_disk.html.md.erb
index 9aefd7c..5da2f19 100644
--- a/geode-docs/developing/storing_data_on_disk/storing_data_on_disk.html.md.erb
+++ b/geode-docs/developing/storing_data_on_disk/storing_data_on_disk.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configure Region Persistence and Overflow
 ---
 
+<!--
+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.
+-->
+
 Plan persistence and overflow for your data regions and configure them accordingly.
 
 <a id="storing_data_on_disk__section_E253562A46114CF0A4E47048D8143999"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/JTA_transactions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/JTA_transactions.html.md.erb b/geode-docs/developing/transactions/JTA_transactions.html.md.erb
index 31d0cbb..e218684 100644
--- a/geode-docs/developing/transactions/JTA_transactions.html.md.erb
+++ b/geode-docs/developing/transactions/JTA_transactions.html.md.erb
@@ -2,6 +2,23 @@
 title: JTA Global Transactions with Geode
 ---
 
+<!--
+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.
+-->
+
 
 Use JTA global transactions to coordinate Geode cache transactions and JDBC transactions.
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/about_transactions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/about_transactions.html.md.erb b/geode-docs/developing/transactions/about_transactions.html.md.erb
index 158f5f8..c0e3261 100644
--- a/geode-docs/developing/transactions/about_transactions.html.md.erb
+++ b/geode-docs/developing/transactions/about_transactions.html.md.erb
@@ -2,6 +2,23 @@
 title: About Transactions
 ---
 
+<!--
+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="topic_jbt_2y4_wk"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/cache_plugins_with_jta.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/cache_plugins_with_jta.html.md.erb b/geode-docs/developing/transactions/cache_plugins_with_jta.html.md.erb
index d0199f5..7735bf0 100644
--- a/geode-docs/developing/transactions/cache_plugins_with_jta.html.md.erb
+++ b/geode-docs/developing/transactions/cache_plugins_with_jta.html.md.erb
@@ -2,6 +2,23 @@
 title:  Behavior of Geode Cache Writers and Loaders Under JTA
 ---
 
+<!--
+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.
+-->
+
 When Geode participates in a global transactions, you can still have Geode cache writers and cache loaders operating in the usual way.
 
 For example, in addition to the transactional connection to the database, the region could also have a cache writer and cache loader configured to exchange data with that same database. As long as the data source is transactional, which means that it can detect the transaction manager, the cache writer and cache loader participate in the transaction. If the JTA rolls back its transaction, the changes made by the cache loader and the cache writer are rolled back. For more on transactional data sources, see the discussion of XAPooledDataSource and ManagedDataSource in[Configuring Database Connections Using JNDI](configuring_db_connections_using_JNDI.html#topic_A5E3A67C808D48C08E1F0DC167C5C494).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/cache_transaction_performance.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/cache_transaction_performance.html.md.erb b/geode-docs/developing/transactions/cache_transaction_performance.html.md.erb
index f78e21b..5f25453 100644
--- a/geode-docs/developing/transactions/cache_transaction_performance.html.md.erb
+++ b/geode-docs/developing/transactions/cache_transaction_performance.html.md.erb
@@ -2,6 +2,23 @@
 title:  Cache Transaction Performance
 ---
 
+<!--
+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.
+-->
+
 Cache transaction performance can vary depending on the type of regions you are using.
 
 The most common region configurations for use with transactions are distributed replicated and partitioned:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/cache_transactions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/cache_transactions.html.md.erb b/geode-docs/developing/transactions/cache_transactions.html.md.erb
index 01359cd..7e00e42 100644
--- a/geode-docs/developing/transactions/cache_transactions.html.md.erb
+++ b/geode-docs/developing/transactions/cache_transactions.html.md.erb
@@ -2,6 +2,23 @@
 title: Geode Cache Transactions
 ---
 
+<!--
+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="topic_e15_mr3_5k"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/cache_transactions_by_region_type.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/cache_transactions_by_region_type.html.md.erb b/geode-docs/developing/transactions/cache_transactions_by_region_type.html.md.erb
index a576ded..fa3318a 100644
--- a/geode-docs/developing/transactions/cache_transactions_by_region_type.html.md.erb
+++ b/geode-docs/developing/transactions/cache_transactions_by_region_type.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: Transactions by Region Type
 ---
+
+<!--
+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="topic_nlq_sk1_wk"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/chapter_overview.html.md.erb b/geode-docs/developing/transactions/chapter_overview.html.md.erb
index 4dd8c5b..b5e84a4 100644
--- a/geode-docs/developing/transactions/chapter_overview.html.md.erb
+++ b/geode-docs/developing/transactions/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Transactions
 ---
 
+<!--
+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.
+-->
+
 Geode provides a transactions API, with `begin`, `commit`, and `rollback` methods. These methods are much the same as the familiar relational database transactions methods.
 
 -   **[About Transactions](../../developing/transactions/about_transactions.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/client_server_transactions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/client_server_transactions.html.md.erb b/geode-docs/developing/transactions/client_server_transactions.html.md.erb
index e819c68..727683a 100644
--- a/geode-docs/developing/transactions/client_server_transactions.html.md.erb
+++ b/geode-docs/developing/transactions/client_server_transactions.html.md.erb
@@ -2,6 +2,23 @@
 title: Client Transactions
 ---
 
+<!--
+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.
+-->
+
 
 The syntax for writing client transactions is the same on the Java client as with any other Geode member, but the underlying behavior in a client-run transaction is different from general transaction behavior.
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/configuring_db_connections_using_JNDI.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/configuring_db_connections_using_JNDI.html.md.erb b/geode-docs/developing/transactions/configuring_db_connections_using_JNDI.html.md.erb
index c497608..55ad402 100644
--- a/geode-docs/developing/transactions/configuring_db_connections_using_JNDI.html.md.erb
+++ b/geode-docs/developing/transactions/configuring_db_connections_using_JNDI.html.md.erb
@@ -2,6 +2,23 @@
 title: Configuring Database Connections Using JNDI
 ---
 
+<!--
+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="topic_A5E3A67C808D48C08E1F0DC167C5C494"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/data_location_cache_transactions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/data_location_cache_transactions.html.md.erb b/geode-docs/developing/transactions/data_location_cache_transactions.html.md.erb
index de2b149..d96de82 100644
--- a/geode-docs/developing/transactions/data_location_cache_transactions.html.md.erb
+++ b/geode-docs/developing/transactions/data_location_cache_transactions.html.md.erb
@@ -2,6 +2,23 @@
 title:  Data Location for Cache Transactions
 ---
 
+<!--
+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.
+-->
+
 The location where you can run your transaction depends on where you are storing your data.
 
 Transactions must operate on a data set that is hosted entirely by one member.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/how_cache_transactions_work.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/how_cache_transactions_work.html.md.erb b/geode-docs/developing/transactions/how_cache_transactions_work.html.md.erb
index fb914be..4cb0473 100644
--- a/geode-docs/developing/transactions/how_cache_transactions_work.html.md.erb
+++ b/geode-docs/developing/transactions/how_cache_transactions_work.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: How Geode Cache Transactions Work
 ---
+
+<!--
+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="topic_fls_1j1_wk"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/jca_adapter_example.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/jca_adapter_example.html.md.erb b/geode-docs/developing/transactions/jca_adapter_example.html.md.erb
index 1e562cd..409b93e 100644
--- a/geode-docs/developing/transactions/jca_adapter_example.html.md.erb
+++ b/geode-docs/developing/transactions/jca_adapter_example.html.md.erb
@@ -2,6 +2,23 @@
 title:  JCA Resource Adapter Example
 ---
 
+<!--
+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.
+-->
+
 This example shows how to use the JCA Resource Adapter in Geode .
 
 ``` pre

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/monitor_troubleshoot_transactions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/monitor_troubleshoot_transactions.html.md.erb b/geode-docs/developing/transactions/monitor_troubleshoot_transactions.html.md.erb
index 6cb1b6c..7956cac 100644
--- a/geode-docs/developing/transactions/monitor_troubleshoot_transactions.html.md.erb
+++ b/geode-docs/developing/transactions/monitor_troubleshoot_transactions.html.md.erb
@@ -2,6 +2,23 @@
 title:  Monitoring and Troubleshooting Transactions
 ---
 
+<!--
+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.
+-->
+
 This topic covers errors that may occur when running transactions in Geode.
 
 <a id="monitor_troubleshoot_transactions__section_881D2FF6761B4D689DDB46C650E2A2E1"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/run_a_cache_transaction.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/run_a_cache_transaction.html.md.erb b/geode-docs/developing/transactions/run_a_cache_transaction.html.md.erb
index 35ae027..7ec2be6 100644
--- a/geode-docs/developing/transactions/run_a_cache_transaction.html.md.erb
+++ b/geode-docs/developing/transactions/run_a_cache_transaction.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: How to Run a Geode Cache Transaction
 ---
+
+<!--
+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="task_f15_mr3_5k"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/run_a_cache_transaction_with_external_db.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/run_a_cache_transaction_with_external_db.html.md.erb b/geode-docs/developing/transactions/run_a_cache_transaction_with_external_db.html.md.erb
index 474c139..16a1397 100644
--- a/geode-docs/developing/transactions/run_a_cache_transaction_with_external_db.html.md.erb
+++ b/geode-docs/developing/transactions/run_a_cache_transaction_with_external_db.html.md.erb
@@ -2,6 +2,23 @@
 title:  How to Run a Geode Cache Transaction that Coordinates with an External Database
 ---
 
+<!--
+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.
+-->
+
 Coordinate a Geode cache transaction with an external database by using CacheWriter/CacheListener and TransactionWriter/TransactionListener plug-ins, **to provide an alternative to using JTA transactions**.
 
 There are a few things you should be careful about while working with Geode cache transactions and external databases:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/transaction_coding_examples.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/transaction_coding_examples.html.md.erb b/geode-docs/developing/transactions/transaction_coding_examples.html.md.erb
index f442e06..26aac45 100644
--- a/geode-docs/developing/transactions/transaction_coding_examples.html.md.erb
+++ b/geode-docs/developing/transactions/transaction_coding_examples.html.md.erb
@@ -2,6 +2,23 @@
 title:  Transaction Coding Examples
 ---
 
+<!--
+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.
+-->
+
 This section provides several code examples for writing and executing transactions.
 
 -   **[Basic Transaction Example](../../developing/transactions/transactions_overview.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/transaction_event_management.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/transaction_event_management.html.md.erb b/geode-docs/developing/transactions/transaction_event_management.html.md.erb
index 9506f3d..9ec6b82 100644
--- a/geode-docs/developing/transactions/transaction_event_management.html.md.erb
+++ b/geode-docs/developing/transactions/transaction_event_management.html.md.erb
@@ -2,6 +2,23 @@
 title:  How Transaction Events Are Managed
 ---
 
+<!--
+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.
+-->
+
 Transactional cache operations are handled somewhat differently inside transactions than out.
 
 #  During the Transaction

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/transaction_jta_gemfire_example.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/transaction_jta_gemfire_example.html.md.erb b/geode-docs/developing/transactions/transaction_jta_gemfire_example.html.md.erb
index 6795158..131d164 100644
--- a/geode-docs/developing/transactions/transaction_jta_gemfire_example.html.md.erb
+++ b/geode-docs/developing/transactions/transaction_jta_gemfire_example.html.md.erb
@@ -2,6 +2,23 @@
 title:  Geode JTA Transaction Example
 ---
 
+<!--
+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.
+-->
+
 An example code fragment shows how to run a JTA global transaction using Geode as the JTA transaction manager.
 
 The external data sources used in this transaction are configured in the `cache.xml` file. See [Configuring Database Connections Using JNDI](configuring_db_connections_using_JNDI.html#topic_A5E3A67C808D48C08E1F0DC167C5C494) for a configuration example.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/transaction_semantics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/transaction_semantics.html.md.erb b/geode-docs/developing/transactions/transaction_semantics.html.md.erb
index 58b3e47..9a2e21e 100644
--- a/geode-docs/developing/transactions/transaction_semantics.html.md.erb
+++ b/geode-docs/developing/transactions/transaction_semantics.html.md.erb
@@ -2,6 +2,23 @@
 title:  Geode Cache Transaction Semantics
 ---
 
+<!--
+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.
+-->
+
 Geode transaction semantics differ in some ways from the Atomicity-Consistency-Isolation-Durability (ACID) semantics of traditional relational databases. For performance reasons, Geode transactions do not adhere to ACID constraints by default, but can be configured for ACID support as described in this section.
 
 ## <a id="transaction_semantics__section_8362ACD06C784B5BBB0B7E986F760169" class="no-quick-link"></a>Atomicity

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/transaction_suspend_resume_example.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/transaction_suspend_resume_example.html.md.erb b/geode-docs/developing/transactions/transaction_suspend_resume_example.html.md.erb
index 40bc772..7944cde 100644
--- a/geode-docs/developing/transactions/transaction_suspend_resume_example.html.md.erb
+++ b/geode-docs/developing/transactions/transaction_suspend_resume_example.html.md.erb
@@ -2,6 +2,23 @@
 title:  Basic Suspend and Resume Transaction Example
 ---
 
+<!--
+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.
+-->
+
 This example suspends and resumes a transaction.
 
 ``` pre

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/transactional_and_nontransactional_ops.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/transactional_and_nontransactional_ops.html.md.erb b/geode-docs/developing/transactions/transactional_and_nontransactional_ops.html.md.erb
index c2dd84b..dc9f198 100644
--- a/geode-docs/developing/transactions/transactional_and_nontransactional_ops.html.md.erb
+++ b/geode-docs/developing/transactions/transactional_and_nontransactional_ops.html.md.erb
@@ -2,6 +2,23 @@
 title: Comparing Transactional and Non-Transactional Operations
 ---
 
+<!--
+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.
+-->
+
 
 Between the begin operation and the commit or rollback operation are a series of ordinary Geode operations. When they are launched from within a transaction, the Geode operations can be classified into two types:
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/transactional_function_example.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/transactional_function_example.html.md.erb b/geode-docs/developing/transactions/transactional_function_example.html.md.erb
index 6539131..2b8a8c6 100644
--- a/geode-docs/developing/transactions/transactional_function_example.html.md.erb
+++ b/geode-docs/developing/transactions/transactional_function_example.html.md.erb
@@ -2,6 +2,23 @@
 title:  Transaction Embedded within a Function Example
 ---
 
+<!--
+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.
+-->
+
 This example demonstrates a function that does transactional updates to Customer and Order regions.
 
 <a id="concept_22331B3DBFAB4C0BA95EF103BFB71257__section_73662C16E0BF4E4780F737C45DBD3137"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/transactions_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/transactions_overview.html.md.erb b/geode-docs/developing/transactions/transactions_overview.html.md.erb
index bef97d7..3daa989 100644
--- a/geode-docs/developing/transactions/transactions_overview.html.md.erb
+++ b/geode-docs/developing/transactions/transactions_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Basic Transaction Example
 ---
 
+<!--
+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.
+-->
+
 This example operates on two replicated regions. It begins a transaction, updates one entry in each region, and commits the result.
 
 <a id="concept_F8D96C21C8444F99B47909CDEB86E60A__section_B6818C348224456387DEC5C9D3B5F250"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/turning_off_jta.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/turning_off_jta.html.md.erb b/geode-docs/developing/transactions/turning_off_jta.html.md.erb
index 2ca75da..883ac68 100644
--- a/geode-docs/developing/transactions/turning_off_jta.html.md.erb
+++ b/geode-docs/developing/transactions/turning_off_jta.html.md.erb
@@ -2,6 +2,23 @@
 title:  Turning Off JTA Transactions
 ---
 
+<!--
+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.
+-->
+
 You can configure regions to not participate in any JTA global transaction.
 
 The `ignore-jta` region attribute is a boolean that tells the cache to ignore any in-progress JTA transactions when performing cache operations. It is primarily used for cache loaders, cache writers, and cache listeners that need to perform non-transactional operations on a region, such as caching a result set. It is set per region, so some regions can participate in JTA transactions, while others avoid participating in them. This example sets the `ignore-jta` region attribute in the `cache.xml` file.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/transactions/working_with_transactions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/transactions/working_with_transactions.html.md.erb b/geode-docs/developing/transactions/working_with_transactions.html.md.erb
index 6b30c66..4a26d4c 100644
--- a/geode-docs/developing/transactions/working_with_transactions.html.md.erb
+++ b/geode-docs/developing/transactions/working_with_transactions.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: Working with Geode Cache Transactions
 ---
+
+<!--
+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="topic_tx2_gs4_5k"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/getting_started/15_minute_quickstart_gfsh.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/getting_started/15_minute_quickstart_gfsh.html.md.erb b/geode-docs/getting_started/15_minute_quickstart_gfsh.html.md.erb
index 6b8bff8..ec1606a 100644
--- a/geode-docs/getting_started/15_minute_quickstart_gfsh.html.md.erb
+++ b/geode-docs/getting_started/15_minute_quickstart_gfsh.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: Apache Geode in 15 Minutes or Less
 ---
+
+<!--
+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="topic_FE3F28ED18E145F787431EC87B676A76"></a>
 
 Need a quick introduction to Apache Geode? Take this brief tour to try out basic features and functionality.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/getting_started/book_intro.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/getting_started/book_intro.html.md.erb b/geode-docs/getting_started/book_intro.html.md.erb
index 05c946c..95d9f67 100644
--- a/geode-docs/getting_started/book_intro.html.md.erb
+++ b/geode-docs/getting_started/book_intro.html.md.erb
@@ -2,6 +2,23 @@
 title:  Getting Started with Apache Geode
 ---
 
+<!--
+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 tutorial demonstrates features, and a main features section describes key functionality.
 
 -   **[About Apache Geode](geode_overview.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/getting_started/geode_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/getting_started/geode_overview.html.md.erb b/geode-docs/getting_started/geode_overview.html.md.erb
index dca502c..6f5c31f 100644
--- a/geode-docs/getting_started/geode_overview.html.md.erb
+++ b/geode-docs/getting_started/geode_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  About Apache Geode
 ---
 
+<!--
+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.
+-->
+
 Apache Geode is a data management platform that provides real-time, consistent access to data-intensive applications throughout widely distributed cloud architectures.
 
 <a id="concept_3B5E445B19884680900161BDF25E32C9__section_itx_b41_mr"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/getting_started/installation/install_standalone.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/getting_started/installation/install_standalone.html.md.erb b/geode-docs/getting_started/installation/install_standalone.html.md.erb
index 22936c7..04b347a 100644
--- a/geode-docs/getting_started/installation/install_standalone.html.md.erb
+++ b/geode-docs/getting_started/installation/install_standalone.html.md.erb
@@ -2,6 +2,23 @@
 title:  How to Install
 ---
 
+<!--
+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.
+-->
+
 Build from source or use the ZIP or TAR distribution to install Apache Geode on every physical and virtual machine that will run Apache Geode.
 
 ## Build from Source on Unix

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/getting_started/product_intro.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/getting_started/product_intro.html.md.erb b/geode-docs/getting_started/product_intro.html.md.erb
index c5ccb60..471bd42 100644
--- a/geode-docs/getting_started/product_intro.html.md.erb
+++ b/geode-docs/getting_started/product_intro.html.md.erb
@@ -2,6 +2,23 @@
 title:  Main Features of Apache Geode
 ---
 
+<!--
+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.
+-->
+
 This section summarizes the main features and key functionality of Apache Geode.
 
 -   [High Read-and-Write Throughput](product_intro.html#concept_3B5E445B19884680900161BDF25E32C9__section_CF0E3E5C4F884374B8F2F536DD2A375C)

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/getting_started/querying_quick_reference.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/getting_started/querying_quick_reference.html.md.erb b/geode-docs/getting_started/querying_quick_reference.html.md.erb
index 9a06d1f..7c684d9 100644
--- a/geode-docs/getting_started/querying_quick_reference.html.md.erb
+++ b/geode-docs/getting_started/querying_quick_reference.html.md.erb
@@ -2,6 +2,23 @@
 title:  Geode Querying FAQ and Examples
 ---
 
+<!--
+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.
+-->
+
 This topic answers some frequently asked questions on querying functionality. It provides examples to help you get started with Geode querying.
 
 <a id="reference_D5CE64F5FD6F4A808AEFB748C867189E__section_AFAD97A4BA2D45CF91ED1525A54DDFD6"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/getting_started/setup_classpath.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/getting_started/setup_classpath.html.md.erb b/geode-docs/getting_started/setup_classpath.html.md.erb
index c994d70..b12ba12 100644
--- a/geode-docs/getting_started/setup_classpath.html.md.erb
+++ b/geode-docs/getting_started/setup_classpath.html.md.erb
@@ -2,6 +2,23 @@
 title:  Setting Up the CLASSPATH
 ---
 
+<!--
+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.
+-->
+
 This topic describes how Geode processes set their CLASSPATH.
 
 To simplify CLASSPATH environment settings, Geode has organized all application libraries required by Geode processes into `*-dependencies.jar` files. All dependency JAR files are located in the `path_to_product/lib` directory. When starting a server or locator process using `gfsh`, the required application JAR files are automatically loaded into the process's CLASSPATH for you.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/getting_started/system_requirements/host_machine.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/getting_started/system_requirements/host_machine.html.md.erb b/geode-docs/getting_started/system_requirements/host_machine.html.md.erb
index 621a3b5..b2379a9 100644
--- a/geode-docs/getting_started/system_requirements/host_machine.html.md.erb
+++ b/geode-docs/getting_started/system_requirements/host_machine.html.md.erb
@@ -2,6 +2,23 @@
 title:  Host Machine Requirements
 ---
 
+<!--
+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.
+-->
+
 Host machines must meet a set of requirements for Apache Geode.
 
 <a id="system_requirements__section_1E1F206FBC8B4A898A449E0699907A7A"></a>



[74/76] [abbrv] incubator-geode git commit: GEODE-1968 - set aside Hibernate Cache docs until feature is mainstreamed.

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/fd8927cb/geode-docs/tools_modules/hibernate_cache/installing_gemfire_and_module.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/hibernate_cache/installing_gemfire_and_module.html.md.erb b/geode-docs/tools_modules/hibernate_cache/installing_gemfire_and_module.html.md.erb
deleted file mode 100644
index a3bc6b9..0000000
--- a/geode-docs/tools_modules/hibernate_cache/installing_gemfire_and_module.html.md.erb
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title:  Installing the Hibernate Cache Module
----
-
-<!--
-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.
--->
-
-The Hibernate module is included in the Apache Geode installation package.
-
-1.  If you have not done so, download and install [Hibernate](http://www.hibernate.org/). Apache Geode supports Hibernate 3.3 and later (up to version 3.6.10) for use with the Hibernate Cache module. Apache Geode does not currently support Hibernate 4.x for use with the Hibernate Cache module.
-2.  The Hibernate module is included in the Apache Geode installation package. You can find the module in the `<product_dir>/tools/Modules` directory, in a zip file that includes the version and the string `Hibernate`. `<product_dir>` is the location where you installed Geode.
-3.  Make sure that `<product_dir>/lib/geode-dependencies.jar` is part of the CLASSPATH when you run Hibernate. Alternatively, you can place the `geode-dependencies.jar` in a location that is accessible to your Hibernate application.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/fd8927cb/geode-docs/tools_modules/hibernate_cache/setting_up_the_module.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/hibernate_cache/setting_up_the_module.html.md.erb b/geode-docs/tools_modules/hibernate_cache/setting_up_the_module.html.md.erb
deleted file mode 100644
index 8d00c34..0000000
--- a/geode-docs/tools_modules/hibernate_cache/setting_up_the_module.html.md.erb
+++ /dev/null
@@ -1,110 +0,0 @@
----
-title:  Setting Up the Geode Hibernate Cache Module
----
-
-<!--
-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.
--->
-
-Edit the `hibernate.cfg.xml` file to use the Hibernate Cache module.
-
-1.  **Turn on L2 Cache**
-
-    In the `hibernate.cfg.xml` file, turn on the L2 cache and identify the Geode locator(s):
-
-    ``` pre
-    <property name="hibernate.cache.use_second_level_cache">true</property>
-    <property name="gemfire.locators">host1[port1],host2[port2]</property>
-    ```
-
-    Change `host1` and `host2 ` to the hostnames (or IP addresses) for each of the locators; `port1` and `port2                     `are the ports for each of the locators.
-
-2.  **Set Region Factory or Cache Provider**
-
-    Associate the region factory class with GemFireRegionFactory:
-
-    ``` pre
-    <property name="hibernate.cache.region.factory_class">
-      org.apache.geode.modules.hibernate.GemFireRegionFactory
-    </property> 
-    ```
-
-3.  **Determine Cache Usage Mode**
-
-    Determine the cache usage mode for the entities in each region. There are four types of usage modes:
-
-    | Mode                   | Description                                                                                                                                                     |
-    |------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|
-    | `read-only`            | This mode is used when you do not plan on modifying the data already stored in your persistent storage.                                                         |
-    | `read-write`           | This mode is used when you plan to both read from and write to your data.                                                                                       |
-    | `nonstrict-read-write` | This mode is a special read/write mode that has faster write performance; however, only use this mode if no more than one client will update content at a time. |
-    | `transactional`        | This mode allows for transaction-based data access.                                                                                                             |
-
-4.  **Set Cache Usage Mode**
-
-    The usage mode can either be set using the hibernate-mapping file or through Java annotations.
-    -   To set the mode with the hibernate-mapping file, refer to this example:
-
-        ``` pre
-            
-            <hibernate-mapping package="PACKAGE">
-              <class name="ENTITY_NAME" ...>
-                <cache usage="USAGE_MODE"/>
-                ...
-              </class>
-            </hibernate-mapping>
-         
-        ```
-
-        In this example, `PACKAGE` is the name of the entity package, `ENTITY_NAME` is the name of your entity, and `USAGE_MODE` is the chosen usage mode from the table given above. Refer to the [Hibernate documentation](http://hibernate.org/docs) for further information.
-    -   To set the mode using annotations, your class definition should look something like this example which specifies the `read-only` usage mode:
-
-        ``` pre
-        import org.hibernate.annotations.Cache; 
-        import org.hibernate.annotations.CacheConcurrencyStrategy; 
-
-        @Entity 
-        @Cacheable
-        @Cache(
-           region = 'REGION_NAME',
-           usage = CacheConcurrencyStrategy.READ_ONLY
-        )
-
-        public class MyClass implements Serializable { ... }
-        ```
-
-5.  **Start a Locator**
-
-    ``` pre
-    $ gfsh start locator \u2013-name=locator1
-    ```
-
-6.  **Start Hibernate**
-
-    You are now ready to build, deploy, and run your Hibernate application, which will also launch Geode. See the [Hibernate website documentation](http://hibernate.org/docs) for further information about performing these actions.
-
-7.  **Verify that Geode Started Successfully**
-
-    Similar to Hibernate, Geode uses Simple Logging Facade for Java (SLF4J) to log messages. Upon successful startup, Geode will log the following message:
-
-    ``` pre
-    2010-11-15 INFO [org.apache.geode.modules.hibernate.GemFireRegionFactory] - 
-        <Initializing Apache Geode Modules Version 1.1>
-    ```
-
-    SLF4J can send this and other Geode log messages to several logging frameworks. Refer to the [SLF4J](http://www.slf4j.org/) website for additional information.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/fd8927cb/geode-docs/tools_modules/hibernate_cache/using_hibernate_with_http_session.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/hibernate_cache/using_hibernate_with_http_session.html.md.erb b/geode-docs/tools_modules/hibernate_cache/using_hibernate_with_http_session.html.md.erb
deleted file mode 100644
index d6a3719..0000000
--- a/geode-docs/tools_modules/hibernate_cache/using_hibernate_with_http_session.html.md.erb
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title:  Using Hibernate Cache Module with HTTP Session Management Module
----
-
-<!--
-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.
--->
-
-This section describes how to set up the Hibernate Cache module if you are also using the HTTP Session Management module.
-
-If you have already configured your tc Server or Tomcat application server to use the HTTP Session Management Module, follow these steps to configure Hibernate module for your application:
-
-1.  Install and configure the Hibernate Cache Module as described in [Installing the Hibernate Cache Module](installing_gemfire_and_module.html#installing_gemfire_and_module) and [Setting Up the Geode Hibernate Cache Module](setting_up_the_module.html#settup_up_the_module).
-2.  Make sure that your Hibernate application is using the same Geode topology as your application server.
-3.  Include gemfire-modules-&lt;version&gt;.jar in your application .war file. This is typically done by putting the .jar file under the `WEB-INF/lib` directory.
-    **Note:**
-    Even though both modules include a gemfire-modules-&lt;version&gt;.jar file in their distribution, you only need to put one gemfire-modules-&lt;version&gt;.jar file in your .war file. It does not matter which one you use. You can even be using different versions of the HTTP Session Management and Hibernate Cache modules.
-
-4.  Make sure that gemfire.jar is not included in your application .war file.
-5.  Deploy your application .war file.
-6.  These configuration steps will work with the default gemfire properties configurations that ship with the Geode modules. If you have added or modified Gemfire properties for the HTTP Session Management Module (for example, as described in[Changing the Default Geode Configuration in the Tomcat Module](../http_session_mgmt/tomcat_changing_gf_default_cfg.html#tomcat_changing_gf_default_cfg) or [Changing the Default Geode Configuration in the tc Server Module](../http_session_mgmt/tc_changing_gf_default_cfg.html#tc_changing_gf_default_cfg)), then you must make the same changes for the Hibernate Cache module. See [Changing Default Configuration of the Hibernate Cache Module](changing_gemfire_default_cfg.html#changing_gemfire_default_cfg) for instructions on how to modify the default Hibernate Cache configuration.
-
-**Note:**
-Using the Hibernate Cache Module with the HTTP Session Management Module creates a single Geode cache in your application server. This cache will be shared by all applications deployed on the application server. Therefore, if two applications use the same entity objects (specified by fully qualified class names) or are configured to use the same cache region, all instances of these entities will end up in the single Geode cache region. If this is not the desired behavior, then include gemfire.jar in the application war file. A Geode cache will be created in the application's class loader.
-
-


[66/76] [abbrv] incubator-geode git commit: GEODE-1952: Add Apache license to all geode-docs erb files

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/security/implementing_security.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/implementing_security.html.md.erb b/geode-docs/managing/security/implementing_security.html.md.erb
index a38dd03..c0afc5c 100644
--- a/geode-docs/managing/security/implementing_security.html.md.erb
+++ b/geode-docs/managing/security/implementing_security.html.md.erb
@@ -2,6 +2,23 @@
 title:  Security Implementation Introduction and Overview
 ---
 
+<!--
+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.
+-->
+
 ## Security Features
 
 Encryption, SSL secure communication, authentication, and authorization 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/security/implementing_ssl.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/implementing_ssl.html.md.erb b/geode-docs/managing/security/implementing_ssl.html.md.erb
index 73bbf49..c19b6d9 100644
--- a/geode-docs/managing/security/implementing_ssl.html.md.erb
+++ b/geode-docs/managing/security/implementing_ssl.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configuring SSL
 ---
 
+<!--
+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.
+-->
+
 You can configure SSL for authentication between members and to protect your data during
 distribution. You can use SSL alone or in conjunction with the other Geode security options.
 Geode SSL connections use the Java Secure Sockets Extension (JSSE) package.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/security/post_processing.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/post_processing.html.md.erb b/geode-docs/managing/security/post_processing.html.md.erb
index 2a6dc50..f0ce32e 100644
--- a/geode-docs/managing/security/post_processing.html.md.erb
+++ b/geode-docs/managing/security/post_processing.html.md.erb
@@ -2,6 +2,23 @@
 title:  Post Processing of Region Data
 ---
 
+<!--
+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.
+-->
+
 The  `PostProcessor` interface allows the definition of a callback
 that is invoked after any and all client and `gfsh` operations that get data,
 but before the data is returned.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/security/properties_file.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/properties_file.html.md.erb b/geode-docs/managing/security/properties_file.html.md.erb
index d4758c1..e9ba1d6 100644
--- a/geode-docs/managing/security/properties_file.html.md.erb
+++ b/geode-docs/managing/security/properties_file.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: Where to Place Security Configuration Settings 
 ---
+
+<!--
+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="implementing_security__section_155ED414321E4D4ABBD7ED3508E7BD62"></a>
 
 Any security-related (properties that begin with `security-*`) configuration properties that are normally configured in `gemfire.properties` can be moved to a separate `gfsecurity.properties` file. Placing these configuration settings in a separate file allows you to restrict access to security configuration data. This way, you can still allow read or write access for your `gemfire.properties` file.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/security/security-audit.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/security-audit.html.md.erb b/geode-docs/managing/security/security-audit.html.md.erb
index f35a29a..0a6c410 100644
--- a/geode-docs/managing/security/security-audit.html.md.erb
+++ b/geode-docs/managing/security/security-audit.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: External Interfaces, Ports, and Services
 ---
+
+<!--
+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="topic_686158E9AFBD47518BE1B4BEB232C190"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/security/security_audit_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/security_audit_overview.html.md.erb b/geode-docs/managing/security/security_audit_overview.html.md.erb
index 307dc2c..7f1c374 100644
--- a/geode-docs/managing/security/security_audit_overview.html.md.erb
+++ b/geode-docs/managing/security/security_audit_overview.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: Security Detail Considerations
 ---
+
+<!--
+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="topic_36C918B4202D45F3AC225FFD23B11D7C"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/security/security_intro.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/security_intro.html.md.erb b/geode-docs/managing/security/security_intro.html.md.erb
index 1ebf105..7b70a7f 100644
--- a/geode-docs/managing/security/security_intro.html.md.erb
+++ b/geode-docs/managing/security/security_intro.html.md.erb
@@ -2,6 +2,23 @@
 title:  Security Features
 ---
 
+<!--
+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.
+-->
+
 Encryption, SSL secure communication, authentication, and authorization 
 features help to secure the distributed system.
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/security/ssl_example.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/ssl_example.html.md.erb b/geode-docs/managing/security/ssl_example.html.md.erb
index 8cde042..bb567ed 100644
--- a/geode-docs/managing/security/ssl_example.html.md.erb
+++ b/geode-docs/managing/security/ssl_example.html.md.erb
@@ -2,6 +2,23 @@
 title:  SSL Sample Implementation
 ---
 
+<!--
+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 simple example demonstrates the configuration and startup of Geode system components with SSL.
 
 ## <a id="ssl_example__section_A8817FA8EF654CFB862F2375C0DD6770" class="no-quick-link"></a>Provider-Specific Configuration File

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/security/ssl_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/ssl_overview.html.md.erb b/geode-docs/managing/security/ssl_overview.html.md.erb
index 8d975b9..b038a28 100644
--- a/geode-docs/managing/security/ssl_overview.html.md.erb
+++ b/geode-docs/managing/security/ssl_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  SSL
 ---
 
+<!--
+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.
+-->
+
 SSL protects your data in transit between applications by ensuring
 that only the applications identified by you can share distributed system data.
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/statistics/application_defined_statistics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/statistics/application_defined_statistics.html.md.erb b/geode-docs/managing/statistics/application_defined_statistics.html.md.erb
index 8a4743b..2ae5068 100644
--- a/geode-docs/managing/statistics/application_defined_statistics.html.md.erb
+++ b/geode-docs/managing/statistics/application_defined_statistics.html.md.erb
@@ -2,6 +2,23 @@
 title:  Application-Defined and Custom Statistics
 ---
 
+<!--
+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.
+-->
+
 Geode includes interfaces for defining and maintaining your own statistics.
 
 <a id="application_defined_statistics__section_88C31FA62A194947BF71AD54B5F9BAB3"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/statistics/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/statistics/chapter_overview.html.md.erb b/geode-docs/managing/statistics/chapter_overview.html.md.erb
index 3bfee25..87cf5f4 100644
--- a/geode-docs/managing/statistics/chapter_overview.html.md.erb
+++ b/geode-docs/managing/statistics/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Statistics
 ---
 
+<!--
+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.
+-->
+
 Every application and server in a distributed system can access statistical data about Apache Geode operations. You can configure the gathering of statistics by using the `alter runtime` command of `gfsh` or in the `gemfire.properties` file to facilitate system analysis and troubleshooting.
 
 -   **[How Statistics Work](../../managing/statistics/how_statistics_work.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/statistics/how_statistics_work.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/statistics/how_statistics_work.html.md.erb b/geode-docs/managing/statistics/how_statistics_work.html.md.erb
index 08d3cf2..461c3e8 100644
--- a/geode-docs/managing/statistics/how_statistics_work.html.md.erb
+++ b/geode-docs/managing/statistics/how_statistics_work.html.md.erb
@@ -2,6 +2,23 @@
 title:  How Statistics Work
 ---
 
+<!--
+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.
+-->
+
 Each application or cache server that joins the distributed system can collect and archive statistical data for analyzing system performance.
 
 <a id="how_statistics_work__section_C12B3CDFF04743688BA5F8FB374899D5"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/statistics/setting_up_statistics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/statistics/setting_up_statistics.html.md.erb b/geode-docs/managing/statistics/setting_up_statistics.html.md.erb
index 53b8c97..2ec1f23 100644
--- a/geode-docs/managing/statistics/setting_up_statistics.html.md.erb
+++ b/geode-docs/managing/statistics/setting_up_statistics.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configuring and Using Statistics
 ---
 
+<!--
+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.
+-->
+
 You configure statistics and statistics archiving in gemfire.properties
 
 ## <a id="setting_up_statistics__section_215BB4074BD64834BAADA87BE84C34DE" class="no-quick-link"></a>Configure Statistics

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/statistics/transient_region_and_entry_statistics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/statistics/transient_region_and_entry_statistics.html.md.erb b/geode-docs/managing/statistics/transient_region_and_entry_statistics.html.md.erb
index 74453a8..a10cfd5 100644
--- a/geode-docs/managing/statistics/transient_region_and_entry_statistics.html.md.erb
+++ b/geode-docs/managing/statistics/transient_region_and_entry_statistics.html.md.erb
@@ -2,6 +2,23 @@
 title:  Transient Region and Entry Statistics
 ---
 
+<!--
+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.
+-->
+
 For replicated, distributed, and local regions, Geode provides a standard set of statistics for the region and its entries.
 
 Geode gathers these statistics when the `--enable-statistics` parameter of the `create region` command of `gfsh` is set to true or in cache.xml the region attribute `statistics-enabled` is set to true.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/statistics/viewing_statistics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/statistics/viewing_statistics.html.md.erb b/geode-docs/managing/statistics/viewing_statistics.html.md.erb
index eba7f3a..a65ea0d 100644
--- a/geode-docs/managing/statistics/viewing_statistics.html.md.erb
+++ b/geode-docs/managing/statistics/viewing_statistics.html.md.erb
@@ -2,6 +2,23 @@
 title:  Viewing Archived Statistics
 ---
 
+<!--
+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.
+-->
+
 When sampling and archiving are enabled, you can examine archived historical data to help diagnose performance problems. Study statistics in archive files by using the gfsh `show metrics` command. You may also wish to use a separate statistics display utility.
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/troubleshooting/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/troubleshooting/chapter_overview.html.md.erb b/geode-docs/managing/troubleshooting/chapter_overview.html.md.erb
index ed45895..e3c0705 100644
--- a/geode-docs/managing/troubleshooting/chapter_overview.html.md.erb
+++ b/geode-docs/managing/troubleshooting/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Troubleshooting and System Recovery
 ---
 
+<!--
+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.
+-->
+
 This section provides strategies for handling common errors and failure situations.
 
 -   **[Producing Artifacts for Troubleshooting](../../managing/troubleshooting/producing_troubleshooting_artifacts.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/troubleshooting/diagnosing_system_probs.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/troubleshooting/diagnosing_system_probs.html.md.erb b/geode-docs/managing/troubleshooting/diagnosing_system_probs.html.md.erb
index 1e71ace..fcb7926 100644
--- a/geode-docs/managing/troubleshooting/diagnosing_system_probs.html.md.erb
+++ b/geode-docs/managing/troubleshooting/diagnosing_system_probs.html.md.erb
@@ -2,6 +2,23 @@
 title:  Diagnosing System Problems
 ---
 
+<!--
+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.
+-->
+
 This section provides possible causes and suggested responses for system problems.
 
 -   [Locator does not start](diagnosing_system_probs.html#diagnosing_system_probs__section_7BC1FF8CE0FC492CB49235FC4BC4060B)

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/troubleshooting/prevent_and_recover_disk_full_errors.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/troubleshooting/prevent_and_recover_disk_full_errors.html.md.erb b/geode-docs/managing/troubleshooting/prevent_and_recover_disk_full_errors.html.md.erb
index 7dc9a19..ca1e64d 100644
--- a/geode-docs/managing/troubleshooting/prevent_and_recover_disk_full_errors.html.md.erb
+++ b/geode-docs/managing/troubleshooting/prevent_and_recover_disk_full_errors.html.md.erb
@@ -2,6 +2,23 @@
 title:  Preventing and Recovering from Disk Full Errors
 ---
 
+<!--
+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.
+-->
+
 It is important to monitor the disk usage of Geode members. If a member lacks sufficient disk space for a disk store, the member attempts to shut down the disk store and its associated cache, and logs an error message. A shutdown due to a member running out of disk space can cause loss of data, data file corruption, log file corruption and other error conditions that can negatively impact your applications.
 
 After you make sufficient disk space available to the member, you can restart the member.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/troubleshooting/producing_troubleshooting_artifacts.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/troubleshooting/producing_troubleshooting_artifacts.html.md.erb b/geode-docs/managing/troubleshooting/producing_troubleshooting_artifacts.html.md.erb
index 50f97b6..1c5cf0a 100644
--- a/geode-docs/managing/troubleshooting/producing_troubleshooting_artifacts.html.md.erb
+++ b/geode-docs/managing/troubleshooting/producing_troubleshooting_artifacts.html.md.erb
@@ -2,6 +2,23 @@
 title:  Producing Artifacts for Troubleshooting
 ---
 
+<!--
+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.
+-->
+
 There are several types of files that are critical for troubleshooting.
 
 Geode logs and statistics are the two most important artifacts used in troubleshooting. In addition, they are required for Geode system health verification and performance analysis. For these reasons, logging and statistics should always be enabled, especially in production. Save the following files for troubleshooting purposes:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/troubleshooting/recovering_conflicting_data_exceptions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/troubleshooting/recovering_conflicting_data_exceptions.html.md.erb b/geode-docs/managing/troubleshooting/recovering_conflicting_data_exceptions.html.md.erb
index 6c65227..38375ae 100644
--- a/geode-docs/managing/troubleshooting/recovering_conflicting_data_exceptions.html.md.erb
+++ b/geode-docs/managing/troubleshooting/recovering_conflicting_data_exceptions.html.md.erb
@@ -2,6 +2,23 @@
 title:  Recovering from ConfictingPersistentDataExceptions
 ---
 
+<!--
+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 `ConflictingPersistentDataException` while starting up persistent members indicates that you have multiple copies of some persistent data, and Geode cannot determine which copy to use.
 
 Normally Geode uses metadata to determine automatically which copy of persistent data to use. Along with the region data, each member persists a list of other members that are hosting the region and whether their data is up to date. A `ConflictingPersistentDataException` happens when two members compare their metadata and find that it is inconsistent. The members either don\u2019t know about each other, or they both think the other member has stale data.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/troubleshooting/recovering_from_app_crashes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/troubleshooting/recovering_from_app_crashes.html.md.erb b/geode-docs/managing/troubleshooting/recovering_from_app_crashes.html.md.erb
index 4ba24b8..01397af 100644
--- a/geode-docs/managing/troubleshooting/recovering_from_app_crashes.html.md.erb
+++ b/geode-docs/managing/troubleshooting/recovering_from_app_crashes.html.md.erb
@@ -2,6 +2,23 @@
 title:  Recovering from Application and Cache Server Crashes
 ---
 
+<!--
+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.
+-->
+
 When the application or cache server crashes, its local cache is lost, and any resources it owned (for example, distributed locks) are released. The member must recreate its local cache upon recovery.
 
 -   **[Recovering from Crashes with a Peer-to-Peer Configuration](../../managing/troubleshooting/recovering_from_p2p_crashes.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/troubleshooting/recovering_from_cs_crashes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/troubleshooting/recovering_from_cs_crashes.html.md.erb b/geode-docs/managing/troubleshooting/recovering_from_cs_crashes.html.md.erb
index c53f28c..3475556 100644
--- a/geode-docs/managing/troubleshooting/recovering_from_cs_crashes.html.md.erb
+++ b/geode-docs/managing/troubleshooting/recovering_from_cs_crashes.html.md.erb
@@ -2,6 +2,23 @@
 title:  Recovering from Crashes with a Client/Server Configuration
 ---
 
+<!--
+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.
+-->
+
 In a client/server configuration, you first make the server available as a member of a distributed system again, and then restart clients as quickly as possible. The client recovers its data from its servers through normal operation.
 
 <a id="rec_app_cs_crash__section_777D28109D6141929297F36681F83249"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/troubleshooting/recovering_from_machine_crashes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/troubleshooting/recovering_from_machine_crashes.html.md.erb b/geode-docs/managing/troubleshooting/recovering_from_machine_crashes.html.md.erb
index a983782..cacb935 100644
--- a/geode-docs/managing/troubleshooting/recovering_from_machine_crashes.html.md.erb
+++ b/geode-docs/managing/troubleshooting/recovering_from_machine_crashes.html.md.erb
@@ -2,6 +2,23 @@
 title:  Recovering from Machine Crashes
 ---
 
+<!--
+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.
+-->
+
 When a machine crashes because of a shutdown, power loss, hardware failure, or operating system failure, all of its applications and cache servers and their local caches are lost.
 
 System members on other machines are notified that this machine\u2019s members have left the distributed system unexpectedly.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/troubleshooting/recovering_from_network_outages.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/troubleshooting/recovering_from_network_outages.html.md.erb b/geode-docs/managing/troubleshooting/recovering_from_network_outages.html.md.erb
index 9ef5de7..8c23bea 100644
--- a/geode-docs/managing/troubleshooting/recovering_from_network_outages.html.md.erb
+++ b/geode-docs/managing/troubleshooting/recovering_from_network_outages.html.md.erb
@@ -2,6 +2,23 @@
 title:  Understanding and Recovering from Network Outages
 ---
 
+<!--
+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.
+-->
+
 The safest response to a network outage is to restart all the processes and bring up a fresh data set.
 
 However, if you know the architecture of your system well, and you are sure you won\u2019t be resurrecting old data, you can do a selective restart. At the very least, you must restart all the members on one side of the network failure, because a network outage causes separate distributed systems that can\u2019t rejoin automatically.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/troubleshooting/recovering_from_p2p_crashes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/troubleshooting/recovering_from_p2p_crashes.html.md.erb b/geode-docs/managing/troubleshooting/recovering_from_p2p_crashes.html.md.erb
index 47e55df..5b7751f 100644
--- a/geode-docs/managing/troubleshooting/recovering_from_p2p_crashes.html.md.erb
+++ b/geode-docs/managing/troubleshooting/recovering_from_p2p_crashes.html.md.erb
@@ -2,6 +2,23 @@
 title:  Recovering from Crashes with a Peer-to-Peer Configuration
 ---
 
+<!--
+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.
+-->
+
 When a member crashes, the remaining members continue operation as though the missing application or cache server had never existed. The recovery process differs according to region type and scope, as well as data redundancy configuration.
 
 <a id="rec_app_p2p_crash__section_1C54E03359AB4775A9211899A63362A4"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/troubleshooting/system_failure_and_recovery.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/troubleshooting/system_failure_and_recovery.html.md.erb b/geode-docs/managing/troubleshooting/system_failure_and_recovery.html.md.erb
index 603fd5f..d94ea60 100644
--- a/geode-docs/managing/troubleshooting/system_failure_and_recovery.html.md.erb
+++ b/geode-docs/managing/troubleshooting/system_failure_and_recovery.html.md.erb
@@ -2,6 +2,23 @@
 title:  System Failure and Recovery
 ---
 
+<!--
+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.
+-->
+
 This section describes alerts for and appropriate responses to various kinds of system failures. It also helps you plan a strategy for data recovery.
 
 If a system member withdraws from the distributed system involuntarily because the member, host, or network fails, the other members automatically adapt to the loss and continue to operate. The distributed system does not experience any disturbance such as timeouts.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/prereq_and_install.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/prereq_and_install.html.md.erb b/geode-docs/prereq_and_install.html.md.erb
index eab0af3..0e04e37 100644
--- a/geode-docs/prereq_and_install.html.md.erb
+++ b/geode-docs/prereq_and_install.html.md.erb
@@ -2,6 +2,23 @@
 title:  Prerequisites and Installation Instructions
 ---
 
+<!--
+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.
+-->
+
 Each host of Apache Geode 1.0.0-incubating that meets a small set of prerequisites may follow the provided installation instructions.
 
 -   **[Host Machine Requirements](getting_started/system_requirements/host_machine.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/reference/book_intro.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/reference/book_intro.html.md.erb b/geode-docs/reference/book_intro.html.md.erb
index ce584c2..e05e618 100644
--- a/geode-docs/reference/book_intro.html.md.erb
+++ b/geode-docs/reference/book_intro.html.md.erb
@@ -2,6 +2,23 @@
 title:  Reference
 ---
 
+<!--
+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.
+-->
+
 *Reference* documents Apache Geode properties, region attributes, the `cache.xml` file, cache memory requirements, and statistics.
 
 -   **[gemfire.properties and gfsecurity.properties (Geode Properties)](../reference/topics/gemfire_properties.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/reference/statistics/statistics_list.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/reference/statistics/statistics_list.html.md.erb b/geode-docs/reference/statistics/statistics_list.html.md.erb
index f366faf..227f8df 100644
--- a/geode-docs/reference/statistics/statistics_list.html.md.erb
+++ b/geode-docs/reference/statistics/statistics_list.html.md.erb
@@ -2,6 +2,23 @@
 title: Geode Statistics List
 ---
 
+<!--
+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="statistics_list"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/reference/topics/cache-elements-list.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/reference/topics/cache-elements-list.html.md.erb b/geode-docs/reference/topics/cache-elements-list.html.md.erb
index e643a84..71e092b 100644
--- a/geode-docs/reference/topics/cache-elements-list.html.md.erb
+++ b/geode-docs/reference/topics/cache-elements-list.html.md.erb
@@ -2,6 +2,23 @@
 title: "&lt;cache&gt; Element Hierarchy"
 ---
 
+<!--
+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.
+-->
+
 This section shows the hierarchy of `<cache>` element sub-elements that you use to configure Geode caches and servers.
 
 For details, see [&lt;cache&gt; Element Reference](cache_xml.html#cache_xml_cache).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/reference/topics/cache_xml.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/reference/topics/cache_xml.html.md.erb b/geode-docs/reference/topics/cache_xml.html.md.erb
index a1969d4..8d3187b 100644
--- a/geode-docs/reference/topics/cache_xml.html.md.erb
+++ b/geode-docs/reference/topics/cache_xml.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: "&lt;cache&gt; Element Reference"
 ---
+
+<!--
+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="cache_xml_cache"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/reference/topics/chapter_overview_cache_xml.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/reference/topics/chapter_overview_cache_xml.html.md.erb b/geode-docs/reference/topics/chapter_overview_cache_xml.html.md.erb
index 02e54f1..2e47eb9 100644
--- a/geode-docs/reference/topics/chapter_overview_cache_xml.html.md.erb
+++ b/geode-docs/reference/topics/chapter_overview_cache_xml.html.md.erb
@@ -2,6 +2,23 @@
 title:  cache.xml
 ---
 
+<!--
+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.
+-->
+
 Use the cache.xml file to set up general cache facilities and behavior and to create and initialize cached data regions. These sections document cache.xml requirements; provide hierarchical diagrams of `<cache>` and `<client-cache>         `elements; and describe the function of each element.
 
 **Note:**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/reference/topics/chapter_overview_regionshortcuts.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/reference/topics/chapter_overview_regionshortcuts.html.md.erb b/geode-docs/reference/topics/chapter_overview_regionshortcuts.html.md.erb
index dec958d..85c69e7 100644
--- a/geode-docs/reference/topics/chapter_overview_regionshortcuts.html.md.erb
+++ b/geode-docs/reference/topics/chapter_overview_regionshortcuts.html.md.erb
@@ -2,6 +2,23 @@
 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.
+-->
+
 This topic describes the various region shortcuts you can use to configure Geode regions.
 
 Region shortcuts are groupings of pre-configured attributes that define the characteristics of a region. You can use a region shortcut as a starting point when configuring regions and you can add additional configurations to customize your application. To reference a region shortcut in a Geode `cache.xml` file, use the `refid` attribute of the `<region>` element. For example:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/reference/topics/client-cache-elements-list.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/reference/topics/client-cache-elements-list.html.md.erb b/geode-docs/reference/topics/client-cache-elements-list.html.md.erb
index ee986b3..cd99f65 100644
--- a/geode-docs/reference/topics/client-cache-elements-list.html.md.erb
+++ b/geode-docs/reference/topics/client-cache-elements-list.html.md.erb
@@ -2,6 +2,23 @@
 title:  "&lt;client-cache&gt; Element Hierarchy"
 ---
 
+<!--
+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.
+-->
+
 This section shows the hierarchy of `<client-cache>` element sub-elements that you use to configure Geode caches and clients.
 
 For details, see [&lt;client-cache&gt; Element Reference.](client-cache.html)

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/reference/topics/client-cache.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/reference/topics/client-cache.html.md.erb b/geode-docs/reference/topics/client-cache.html.md.erb
index 8c42c16..963f574 100644
--- a/geode-docs/reference/topics/client-cache.html.md.erb
+++ b/geode-docs/reference/topics/client-cache.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: "&lt;client-cache&gt; Element Reference"
 ---
+
+<!--
+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="cc-client-cache"></a>
 
 This section documents all `cache.xml` elements that you use to configure Geode clients. All elements are sub-elements of the `<client-cache>` element.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/reference/topics/elements_ref.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/reference/topics/elements_ref.html.md.erb b/geode-docs/reference/topics/elements_ref.html.md.erb
index 9b13fab..9351bdf 100644
--- a/geode-docs/reference/topics/elements_ref.html.md.erb
+++ b/geode-docs/reference/topics/elements_ref.html.md.erb
@@ -2,6 +2,23 @@
 title:  cache.xml Quick Reference
 ---
 
+<!--
+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.
+-->
+
 This section documents cache.xml file requirements and variables. It also points you to specific element sections for server, client, and WAN configuration.
 
 -   [Cache XML Requirements](#topic_7B1CABCAD056499AA57AF3CFDBF8ABE3__section_A6B050113DCC4D12A6A9C0F250527AF8)

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/reference/topics/gemfire_properties.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/reference/topics/gemfire_properties.html.md.erb b/geode-docs/reference/topics/gemfire_properties.html.md.erb
index 06c72a2..9882568 100644
--- a/geode-docs/reference/topics/gemfire_properties.html.md.erb
+++ b/geode-docs/reference/topics/gemfire_properties.html.md.erb
@@ -2,6 +2,23 @@
 title:  gemfire.properties and gfsecurity.properties (Geode Properties)
 ---
 
+<!--
+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.
+-->
+
 You use the `gemfire.properties` settings to join a distributed system and configure system member behavior. Distributed system members include applications, the cache server, the locator, and other Geode processes.
 
 You can place any security-related (properties that begin with `security-*`) configuration properties in `gemfire.properties` into a separate `gfsecurity.properties` file. Placing these configuration settings in a separate file allows you to restrict access to security configuration data. This way, you can still allow read or write access for your `gemfire.properties` file.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/reference/topics/gfe_cache_xml.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/reference/topics/gfe_cache_xml.html.md.erb b/geode-docs/reference/topics/gfe_cache_xml.html.md.erb
index 03b0956..2cd78ec 100644
--- a/geode-docs/reference/topics/gfe_cache_xml.html.md.erb
+++ b/geode-docs/reference/topics/gfe_cache_xml.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: "&lt;cache&gt; Element Reference"
 ---
+
+<!--
+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="id_zn4_qbq_rr"></a>
 
 # &lt;cache&gt; Element Reference

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/reference/topics/glossary.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/reference/topics/glossary.html.md.erb b/geode-docs/reference/topics/glossary.html.md.erb
index f039066..a38fa24 100644
--- a/geode-docs/reference/topics/glossary.html.md.erb
+++ b/geode-docs/reference/topics/glossary.html.md.erb
@@ -2,6 +2,23 @@
 title:  Glossary
 ---
 
+<!--
+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.
+-->
+
 This glossary defines terms used in Apache Geode documentation.
 
 ## <a id="glossary__section_DAFADE21D316465481B71C795FF77AD5" class="no-quick-link"></a>ACK wait threshold

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/reference/topics/handling_exceptions_and_failures.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/reference/topics/handling_exceptions_and_failures.html.md.erb b/geode-docs/reference/topics/handling_exceptions_and_failures.html.md.erb
index 0fd854c..8d46db5 100644
--- a/geode-docs/reference/topics/handling_exceptions_and_failures.html.md.erb
+++ b/geode-docs/reference/topics/handling_exceptions_and_failures.html.md.erb
@@ -2,6 +2,23 @@
 title:  Exceptions and System Failures
 ---
 
+<!--
+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.
+-->
+
 Your application needs to catch certain classes to handle all the exceptions and system failures thrown by Apache Geode.
 
 -   `GemFireCheckedException`. This class is the abstract superclass of exceptions that are thrown and declared. Wherever possible, GemFire exceptions are checked exceptions. `GemFireCheckedException` is a Geode version of `java.lang.Exception`.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/reference/topics/memory_requirements_for_cache_data.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/reference/topics/memory_requirements_for_cache_data.html.md.erb b/geode-docs/reference/topics/memory_requirements_for_cache_data.html.md.erb
index 2111573..1509a40 100644
--- a/geode-docs/reference/topics/memory_requirements_for_cache_data.html.md.erb
+++ b/geode-docs/reference/topics/memory_requirements_for_cache_data.html.md.erb
@@ -2,6 +2,23 @@
 title:  Memory Requirements for Cached Data
 ---
 
+<!--
+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.
+-->
+
 Geode solutions architects need to estimate resource requirements for meeting application performance, scalability and availability goals.
 
 These requirements include estimates for the following resources:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/reference/topics/non-ascii_strings_in_config_files.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/reference/topics/non-ascii_strings_in_config_files.html.md.erb b/geode-docs/reference/topics/non-ascii_strings_in_config_files.html.md.erb
index 0e2ce3f..1f4e091 100644
--- a/geode-docs/reference/topics/non-ascii_strings_in_config_files.html.md.erb
+++ b/geode-docs/reference/topics/non-ascii_strings_in_config_files.html.md.erb
@@ -2,6 +2,23 @@
 title:  Using Non-ASCII Strings in Apache Geode Property Files
 ---
 
+<!--
+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.
+-->
+
 You can specify Unicode (non-ASCII) characters in Apache Geode property files by using a `\uXXXX` escape sequence.
 
 For a supplementary character, you need two escape sequences, one for each of the two UTF-16 code units. The XXXX denotes the 4 hexadecimal digits for the value of the UTF-16 code unit. For example, a properties file might have the following entries:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/reference/topics/region_shortcuts_reference.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/reference/topics/region_shortcuts_reference.html.md.erb b/geode-docs/reference/topics/region_shortcuts_reference.html.md.erb
index f3d9ca9..d5cb2fa 100644
--- a/geode-docs/reference/topics/region_shortcuts_reference.html.md.erb
+++ b/geode-docs/reference/topics/region_shortcuts_reference.html.md.erb
@@ -2,6 +2,23 @@
 title:  Region Shortcuts Reference
 ---
 
+<!--
+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.
+-->
+
 This topic describes the various region shortcuts you can use to configure Geode regions.
 
 ## <span class="keyword parmname">LOCAL</span>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/reference/topics/region_shortcuts_table.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/reference/topics/region_shortcuts_table.html.md.erb b/geode-docs/reference/topics/region_shortcuts_table.html.md.erb
index b73f9af..c0ead67 100644
--- a/geode-docs/reference/topics/region_shortcuts_table.html.md.erb
+++ b/geode-docs/reference/topics/region_shortcuts_table.html.md.erb
@@ -2,6 +2,23 @@
 title:  Region Shortcuts Quick Reference
 ---
 
+<!--
+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.
+-->
+
 This section provides a quick reference for all region shortcuts.
 
 <a id="reference_ufj_5kz_4k__section_6B142E06F22C4B0EACE7CA369F9C2618"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/book_intro.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/book_intro.html.md.erb b/geode-docs/rest_apps/book_intro.html.md.erb
index a1cf48a..c909dc7 100644
--- a/geode-docs/rest_apps/book_intro.html.md.erb
+++ b/geode-docs/rest_apps/book_intro.html.md.erb
@@ -2,6 +2,23 @@
 title:  Developing REST Applications for Apache Geode
 ---
 
+<!--
+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.
+-->
+
 *Developing REST Applications for Apache Geode* provides background and instructions on how to program REST applications with Apache Geode. Geode REST APIs allow you to access region data, queries and functions in your Geode deployment in wide variety of programming languages.
 
 **Note:**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/chapter_overview.html.md.erb b/geode-docs/rest_apps/chapter_overview.html.md.erb
index 10dfe77..5e48675 100644
--- a/geode-docs/rest_apps/chapter_overview.html.md.erb
+++ b/geode-docs/rest_apps/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Geode REST API Overview
 ---
 
+<!--
+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.
+-->
+
 By using the Geode REST application interface, you can immediately access Geode's data management capabilities in languages other than the natively supported Java language.
 
 You can write REST-enabled client applications for Geode in a variety of languages that use the open and standard HTTP protocol-- for example, Ruby, Python, JavaScript and Scala, as well as already supported languages such as Java.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/delete_all_data.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/delete_all_data.html.md.erb b/geode-docs/rest_apps/delete_all_data.html.md.erb
index af2f2be..a7a7e1a 100644
--- a/geode-docs/rest_apps/delete_all_data.html.md.erb
+++ b/geode-docs/rest_apps/delete_all_data.html.md.erb
@@ -2,6 +2,23 @@
 title:  DELETE /gemfire-api/v1/{region}
 ---
 
+<!--
+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.
+-->
+
 Delete all entries in the region.
 
 ## Resource URL

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/delete_data_for_key.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/delete_data_for_key.html.md.erb b/geode-docs/rest_apps/delete_data_for_key.html.md.erb
index 4be5fa8..339942e 100644
--- a/geode-docs/rest_apps/delete_data_for_key.html.md.erb
+++ b/geode-docs/rest_apps/delete_data_for_key.html.md.erb
@@ -2,6 +2,23 @@
 title:  DELETE /gemfire-api/v1/{region}/{key}
 ---
 
+<!--
+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.
+-->
+
 Delete entry for specified key in the region.
 
 ## Resource URL

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/delete_data_for_multiple_keys.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/delete_data_for_multiple_keys.html.md.erb b/geode-docs/rest_apps/delete_data_for_multiple_keys.html.md.erb
index 7a2ec38..8a7071d 100644
--- a/geode-docs/rest_apps/delete_data_for_multiple_keys.html.md.erb
+++ b/geode-docs/rest_apps/delete_data_for_multiple_keys.html.md.erb
@@ -2,6 +2,23 @@
 title:  DELETE /gemfire-api/v1/{region}/{key1},{key2},...{keyN}
 ---
 
+<!--
+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.
+-->
+
 Delete entries for multiple keys in the region.
 
 ## Resource URL

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/delete_named_query.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/delete_named_query.html.md.erb b/geode-docs/rest_apps/delete_named_query.html.md.erb
index e8b520f..ae109d6 100644
--- a/geode-docs/rest_apps/delete_named_query.html.md.erb
+++ b/geode-docs/rest_apps/delete_named_query.html.md.erb
@@ -2,6 +2,23 @@
 title:  DELETE /gemfire-api/v1/queries/{queryId}
 ---
 
+<!--
+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.
+-->
+
 Delete the specified named query.
 
 ## Resource URL

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/develop_rest_apps.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/develop_rest_apps.html.md.erb b/geode-docs/rest_apps/develop_rest_apps.html.md.erb
index fff34d5..d48dcb1 100644
--- a/geode-docs/rest_apps/develop_rest_apps.html.md.erb
+++ b/geode-docs/rest_apps/develop_rest_apps.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: Developing REST Applications
 ---
+
+<!--
+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="topic_lvp_cd5_m4"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/get_execute_adhoc_query.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/get_execute_adhoc_query.html.md.erb b/geode-docs/rest_apps/get_execute_adhoc_query.html.md.erb
index 3fb4981..0a70c82 100644
--- a/geode-docs/rest_apps/get_execute_adhoc_query.html.md.erb
+++ b/geode-docs/rest_apps/get_execute_adhoc_query.html.md.erb
@@ -2,6 +2,23 @@
 title:  GET /gemfire-api/v1/queries/adhoc?q=&lt;OQL-statement&gt;
 ---
 
+<!--
+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.
+-->
+
 Run an unnamed (unidentified), ad-hoc query passed as a URL parameter.
 
 ## Resource URL

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/get_functions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/get_functions.html.md.erb b/geode-docs/rest_apps/get_functions.html.md.erb
index a0d03c7..9ae6867 100644
--- a/geode-docs/rest_apps/get_functions.html.md.erb
+++ b/geode-docs/rest_apps/get_functions.html.md.erb
@@ -2,6 +2,23 @@
 title:  GET /gemfire-api/v1/functions
 ---
 
+<!--
+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.
+-->
+
 List all registered Geode functions in the cluster.
 
 ## Resource URL

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/get_queries.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/get_queries.html.md.erb b/geode-docs/rest_apps/get_queries.html.md.erb
index db020ec..71e0219 100644
--- a/geode-docs/rest_apps/get_queries.html.md.erb
+++ b/geode-docs/rest_apps/get_queries.html.md.erb
@@ -2,6 +2,23 @@
 title:  GET /gemfire-api/v1/queries
 ---
 
+<!--
+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.
+-->
+
 List all parameterized queries by ID or name.
 
 ## Resource URL

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/get_region_data.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/get_region_data.html.md.erb b/geode-docs/rest_apps/get_region_data.html.md.erb
index 54dd26b..7e7dd1a 100644
--- a/geode-docs/rest_apps/get_region_data.html.md.erb
+++ b/geode-docs/rest_apps/get_region_data.html.md.erb
@@ -2,6 +2,23 @@
 title:  GET /gemfire-api/v1/{region}
 ---
 
+<!--
+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.
+-->
+
 Read data for the region. The optional limit URL query parameter specifies the number of values from the Region that will be returned. The default limit is 50. If the user specifies a limit of \u201cALL\u201d, then all entry values for the region will be returned.
 
 ## Resource URL

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/rest_apps/get_region_data_for_multiple_keys.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/rest_apps/get_region_data_for_multiple_keys.html.md.erb b/geode-docs/rest_apps/get_region_data_for_multiple_keys.html.md.erb
index a855dfa..4252ac2 100644
--- a/geode-docs/rest_apps/get_region_data_for_multiple_keys.html.md.erb
+++ b/geode-docs/rest_apps/get_region_data_for_multiple_keys.html.md.erb
@@ -2,6 +2,23 @@
 title:  GET /gemfire-api/v1/{region}/{key1},{key2},...,{keyN}
 ---
 
+<!--
+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.
+-->
+
 Read data for multiple keys in the region.
 
 ## Resource URL



[15/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/region_entry_versions_2.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/region_entry_versions_2.svg b/geode-docs/images_svg/region_entry_versions_2.svg
new file mode 100644
index 0000000..0efcc23
--- /dev/null
+++ b/geode-docs/images_svg/region_entry_versions_2.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="17 33 535 193" width="535pt" height="193pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-03 01:12Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.1600001" dy="2.1600001"/><feFlood flood-color="#626262" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#8db7cf" stop-opacity=".65"/><stop offset="1" stop-color="#b6d0e0" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(534.5 208) scale(162.56153)"/><font-face font-family="Corbel" font-size="14" panose-1="2 11 5 3 
 2 2 4 2 2 4" units-per-em="1000" underline-position="-92.77344" underline-thickness="58.59375" slope="0" x-height="463.8672" cap-height="653.3203" ascent="952.14844" descent="-268.55469" font-weight="500"><font-face-src><font-face-name name="Corbel"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#c9dde9" stop-opacity=".65"/><stop offset="1" stop-color="#b6d0e0" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(516.5 127) scale(218.62082)"/><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(516.5 127) scale(87.75)"/><font-face font-family="Corbel" font-size="10" panose-1="2 11 5 3 2 2 4 2 2 4" units-per-em="1000" underline-position="-92.77344" underline-thickness="58.59375" slope="0" x-height="463.8672" cap-height="653.3203" ascent="952.14844" descent="-268.55469" font-weight="500"><fo
 nt-face-src><font-face-name name="Corbel"/></font-face-src></font-face><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(174.5 208) scale(162.56153)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(354.5 208) scale(162.56153)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(336.5 127) scale(218.62082)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient" gradientTransform="translate(156.5 127) scale(87.75)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(109.5 122.5) scale(26.503906)"/><font-face font-family="Corbel" font-size="9" panose-1="2 11 5 3 2 2 4 2 2 4" units-per-em="1000" underline-position="-92.77344" underline-thickness="58.59375" slope="0" x-height="463.8672" cap-height="653.3203" ascent="952.14844" descent="-268.55469" font-weight="500"><font-face-src><font-face-name name="Corbel"/></font-face-src></font-face><radi
 alGradient id="Obj_Gradient_9" xl:href="#Gradient" gradientTransform="translate(336.5 127) scale(87.75)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_2" gradientTransform="translate(296.125 122.5) scale(26.503906)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient_2" gradientTransform="translate(476.125 122.5) scale(26.503906)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-9 -4 10 8" markerWidth="10" markerHeight="8" color="black"><g><path d="M -8 0 L 0 3 L 0 -3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_c" xl:href="#Gradient_2" gradientTransform="translate(386.125 159.5) scale(26.503906)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient_2" gradientTransform="translate(206.125 132) scale(26.503906)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0
 " x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>Canvas 9</title><g><title>Layer 1</title><g><xl:use xl:href="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id16_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id21_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id22_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id27_Graphic" filter="url(#Shadow)"/><xl:use xl:href
 ="#id37_Graphic" filter="url(#Shadow)"/></g><g id="id15_Graphic"><path d="M 397.16 46 L 527.84 46 C 531.51822 46 534.5 48.981783 534.5 52.66 L 534.5 201.34 C 534.5 205.01822 531.51822 208 527.84 208 L 397.16 208 C 393.48178 208 390.5 205.01822 390.5 201.34 L 390.5 52.66 C 390.5 48.981783 393.48178 46 397.16 46 Z" fill="url(#Obj_Gradient)"/><path d="M 397.16 46 L 527.84 46 C 531.51822 46 534.5 48.981783 534.5 52.66 L 534.5 201.34 C 534.5 205.01822 531.51822 208 527.84 208 L 397.16 208 C 393.48178 208 390.5 205.01822 390.5 201.34 L 390.5 52.66 C 390.5 48.981783 393.48178 46 397.16 46 Z" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(394.5 50)" fill="black"><tspan font-family="Corbel" font-size="14" font-weight="500" x="76.26758" y="13" textLength="52.02832">Member </tspan><tspan font-family="Corbel" font-size="14" font-weight="500" x="127.74902" y="13" textLength="8.2509766">C</tspan></text></g><g id="id14_Graphic">
 <path d="M 235.16 82 L 509.84 82 C 513.51822 82 516.5 84.981783 516.5 88.66 L 516.5 120.34 C 516.5 124.01822 513.51822 127 509.84 127 L 235.16 127 C 231.48178 127 228.5 124.01822 228.5 120.34 L 228.5 88.66 C 228.5 84.981783 231.48178 82 235.16 82 Z" fill="url(#Obj_Gradient_2)"/></g><g id="id16_Graphic"><path d="M 415.16 82 L 509.84 82 C 513.51822 82 516.5 84.981783 516.5 88.66 L 516.5 120.34 C 516.5 124.01822 513.51822 127 509.84 127 L 415.16 127 C 411.48178 127 408.5 124.01822 408.5 120.34 L 408.5 88.66 C 408.5 84.981783 411.48178 82 415.16 82 Z" fill="url(#Obj_Gradient_3)"/><path d="M 415.16 82 L 509.84 82 C 513.51822 82 516.5 84.981783 516.5 88.66 L 516.5 120.34 C 516.5 124.01822 513.51822 127 509.84 127 L 415.16 127 C 411.48178 127 408.5 124.01822 408.5 120.34 L 408.5 88.66 C 408.5 84.981783 411.48178 82 415.16 82 Z" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(410.5 84)" fill="black"><tspan font-family="Cor
 bel" font-size="10" font-weight="500" x="15.668457" y="10" textLength="5.9179688">R</tspan><tspan font-family="Corbel" font-size="10" font-weight="500" x="21.391113" y="10" textLength="45.927734">eplicated R</tspan><tspan font-family="Corbel" font-size="10" font-weight="500" x="67.123535" y="10" textLength="23.208008">egion</tspan></text></g><g id="id3_Graphic"><path d="M 37.16 46 L 167.84 46 C 171.51822 46 174.5 48.981783 174.5 52.66 L 174.5 201.34 C 174.5 205.01822 171.51822 208 167.84 208 L 37.16 208 C 33.481783 208 30.5 205.01822 30.5 201.34 L 30.5 52.66 C 30.5 48.981783 33.481783 46 37.16 46 Z" fill="url(#Obj_Gradient_4)"/><path d="M 37.16 46 L 167.84 46 C 171.51822 46 174.5 48.981783 174.5 52.66 L 174.5 201.34 C 174.5 205.01822 171.51822 208 167.84 208 L 37.16 208 C 33.481783 208 30.5 205.01822 30.5 201.34 L 30.5 52.66 C 30.5 48.981783 33.481783 46 37.16 46 Z" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(3
 4.5 50)" fill="black"><tspan font-family="Corbel" font-size="14" font-weight="500" x="75.69336" y="13" textLength="52.02832">Member </tspan><tspan font-family="Corbel" font-size="14" font-weight="500" x="127.106445" y="13" textLength="8.8935547">A</tspan></text></g><g id="id4_Graphic"><path d="M 217.16 46 L 347.84 46 C 351.51822 46 354.5 48.981783 354.5 52.66 L 354.5 201.34 C 354.5 205.01822 351.51822 208 347.84 208 L 217.16 208 C 213.48178 208 210.5 205.01822 210.5 201.34 L 210.5 52.66 C 210.5 48.981783 213.48178 46 217.16 46 Z" fill="url(#Obj_Gradient_5)"/><path d="M 217.16 46 L 347.84 46 C 351.51822 46 354.5 48.981783 354.5 52.66 L 354.5 201.34 C 354.5 205.01822 351.51822 208 347.84 208 L 217.16 208 C 213.48178 208 210.5 205.01822 210.5 201.34 L 210.5 52.66 C 210.5 48.981783 213.48178 46 217.16 46 Z" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(214.5 50)" fill="black"><tspan font-family="Corbel" font-size="14
 " font-weight="500" x="75.666016" y="13" textLength="60.333984">Member B</tspan></text></g><rect x="48.5" y="171.99997" width="108" height="17.76375" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(50.5 173.99997)" fill="black"><tspan font-family="Corbel" font-size="10" font-weight="500" x="29.357422" y="10" textLength="47.285156">Application</tspan></text><g id="id6_Graphic"><path d="M 55.16 82 L 329.84 82 C 333.51822 82 336.5 84.981783 336.5 88.66 L 336.5 120.34 C 336.5 124.01822 333.51822 127 329.84 127 L 55.16 127 C 51.481783 127 48.5 124.01822 48.5 120.34 L 48.5 88.66 C 48.5 84.981783 51.481783 82 55.16 82 Z" fill="url(#Obj_Gradient_6)"/></g><g id="id7_Graphic"><path d="M 55.16 82 L 149.84 82 C 153.51822 82 156.5 84.981783 156.5 88.66 L 156.5 120.34 C 156.5 124.01822 153.51822 127 149.84 127 L 55.16 127 C 51.481783 127 48.5 124.01822 48.5 120.34 L 48.5 88.66 C 48.5 84.981783 51.481783 82 55.16 82 Z" fill="url(
 #Obj_Gradient_7)"/><path d="M 55.16 82 L 149.84 82 C 153.51822 82 156.5 84.981783 156.5 88.66 L 156.5 120.34 C 156.5 124.01822 153.51822 127 149.84 127 L 55.16 127 C 51.481783 127 48.5 124.01822 48.5 120.34 L 48.5 88.66 C 48.5 84.981783 51.481783 82 55.16 82 Z" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(50.5 84)" fill="black"><tspan font-family="Corbel" font-size="10" font-weight="500" x="15.668457" y="10" textLength="5.9179688">R</tspan><tspan font-family="Corbel" font-size="10" font-weight="500" x="21.391113" y="10" textLength="45.927734">eplicated R</tspan><tspan font-family="Corbel" font-size="10" font-weight="500" x="67.123535" y="10" textLength="23.208008">egion</tspan></text></g><g id="id8_Graphic"><path d="M 88.91 100 L 102.84 100 C 106.518217 100 109.5 102.981783 109.5 106.66 L 109.5 115.84 C 109.5 119.51822 106.518217 122.5 102.84 122.5 L 88.91 122.5 C 85.231783 122.5 82.25 119.51822 82.25 115.84 L 8
 2.25 106.66 C 82.25 102.981783 85.231783 100 88.91 100 Z" fill="url(#Obj_Gradient_8)"/><path d="M 88.91 100 L 102.84 100 C 106.518217 100 109.5 102.981783 109.5 106.66 L 109.5 115.84 C 109.5 119.51822 106.518217 122.5 102.84 122.5 L 88.91 122.5 C 85.231783 122.5 82.25 119.51822 82.25 115.84 L 82.25 106.66 C 82.25 102.981783 85.231783 100 88.91 100 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(86.25 100.25)" fill="black"><tspan font-family="Corbel" font-size="9" font-weight="500" x="6.9970703" y="9" textLength="7.057617">X </tspan><tspan font-family="Corbel" font-size="9" font-weight="500" x="2.0290527" y="20" textLength="15.1918945">(A3)</tspan></text></g><g id="id9_Graphic"><path d="M 235.16 82 L 329.84 82 C 333.51822 82 336.5 84.981783 336.5 88.66 L 336.5 120.34 C 336.5 124.01822 333.51822 127 329.84 127 L 235.16 127 C 231.48178 127 228.5 124.01822 228.5 120.34 L 228.5 88.66 C 228.5 84.981783 231.48178 82 235
 .16 82 Z" fill="url(#Obj_Gradient_9)"/><path d="M 235.16 82 L 329.84 82 C 333.51822 82 336.5 84.981783 336.5 88.66 L 336.5 120.34 C 336.5 124.01822 333.51822 127 329.84 127 L 235.16 127 C 231.48178 127 228.5 124.01822 228.5 120.34 L 228.5 88.66 C 228.5 84.981783 231.48178 82 235.16 82 Z" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(230.5 84)" fill="black"><tspan font-family="Corbel" font-size="10" font-weight="500" x="15.668457" y="10" textLength="5.9179688">R</tspan><tspan font-family="Corbel" font-size="10" font-weight="500" x="21.391113" y="10" textLength="45.927734">eplicated R</tspan><tspan font-family="Corbel" font-size="10" font-weight="500" x="67.123535" y="10" textLength="23.208008">egion</tspan></text></g><rect x="228.5" y="171.99997" width="108" height="17.76375" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(230.5 173.99997)" fill=
 "black"><tspan font-family="Corbel" font-size="10" font-weight="500" x="29.357422" y="10" textLength="47.285156">Application</tspan></text><rect x="408.5" y="171.99997" width="108" height="17.76375" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(410.5 173.99997)" fill="black"><tspan font-family="Corbel" font-size="10" font-weight="500" x="29.357422" y="10" textLength="47.285156">Application</tspan></text><g id="id21_Graphic"><path d="M 275.535 100 L 289.465 100 C 293.14322 100 296.125 102.981783 296.125 106.66 L 296.125 115.84 C 296.125 119.51822 293.14322 122.5 289.465 122.5 L 275.535 122.5 C 271.85678 122.5 268.875 119.51822 268.875 115.84 L 268.875 106.66 C 268.875 102.981783 271.85678 100 275.535 100 Z" fill="url(#Obj_Gradient_a)"/><path d="M 275.535 100 L 289.465 100 C 293.14322 100 296.125 102.981783 296.125 106.66 L 296.125 115.84 C 296.125 119.51822 293.14322 122.5 289.465 122.5 L 275.535 122.5 C 271.85678
  122.5 268.875 119.51822 268.875 115.84 L 268.875 106.66 C 268.875 102.981783 271.85678 100 275.535 100 Z" stroke="red" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(272.875 100.25)" fill="black"><tspan font-family="Corbel" font-size="9" font-weight="500" x="6.9970703" y="9" textLength="7.057617">X </tspan><tspan font-family="Corbel" font-size="9" font-weight="500" x="2.0290527" y="20" textLength="15.1918945">(A3)</tspan></text></g><g id="id22_Graphic"><path d="M 455.535 100 L 469.465 100 C 473.14322 100 476.125 102.981783 476.125 106.66 L 476.125 115.84 C 476.125 119.51822 473.14322 122.5 469.465 122.5 L 455.535 122.5 C 451.85678 122.5 448.875 119.51822 448.875 115.84 L 448.875 106.66 C 448.875 102.981783 451.85678 100 455.535 100 Z" fill="url(#Obj_Gradient_b)"/><path d="M 455.535 100 L 469.465 100 C 473.14322 100 476.125 102.981783 476.125 106.66 L 476.125 115.84 C 476.125 119.51822 473.14322 122.5 469.465 122.5 L 455.535 122.
 5 C 451.85678 122.5 448.875 119.51822 448.875 115.84 L 448.875 106.66 C 448.875 102.981783 451.85678 100 455.535 100 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(452.875 100.25)" fill="black"><tspan font-family="Corbel" font-size="9" font-weight="500" x="6.9970703" y="9" textLength="7.057617">X </tspan><tspan font-family="Corbel" font-size="9" font-weight="500" x="2.411377" y="20" textLength="2.6982422">(</tspan><tspan font-family="Corbel" font-size="9" font-weight="500" x="4.7580566" y="20" textLength="12.0805664">C3)</tspan></text></g><path d="M 400.12962 109.7799 C 317.7832 159.64286 237 148.5 237 148.5 C 237 148.5 178 147.5 156.65039 116.84903" marker-start="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><g id="id27_Graphic"><path d="M 365.535 137 L 379.465 137 C 383.14322 137 386.125 139.98178 386.125 143.66 L 386.125 152.84 C 386.125 156.51822 38
 3.14322 159.5 379.465 159.5 L 365.535 159.5 C 361.85678 159.5 358.875 156.51822 358.875 152.84 L 358.875 143.66 C 358.875 139.98178 361.85678 137 365.535 137 Z" fill="url(#Obj_Gradient_c)"/><path d="M 365.535 137 L 379.465 137 C 383.14322 137 386.125 139.98178 386.125 143.66 L 386.125 152.84 C 386.125 156.51822 383.14322 159.5 379.465 159.5 L 365.535 159.5 C 361.85678 159.5 358.875 156.51822 358.875 152.84 L 358.875 143.66 C 358.875 139.98178 361.85678 137 365.535 137 Z" stroke="red" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(362.875 137.25)" fill="black"><tspan font-family="Corbel" font-size="9" font-weight="500" x="6.9970703" y="9" textLength="7.057617">X </tspan><tspan font-family="Corbel" font-size="9" font-weight="500" x="2.0290527" y="20" textLength="15.1918945">(A3)</tspan></text></g><line x1="218.24" y1="104.5" x2="156.5" y2="104.5" marker-start="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-l
 inejoin="round" stroke-width="1"/><g id="id37_Graphic"><path d="M 185.535 109.5 L 199.465 109.5 C 203.14322 109.5 206.125 112.481783 206.125 116.16 L 206.125 125.34 C 206.125 129.01822 203.14322 132 199.465 132 L 185.535 132 C 181.85678 132 178.875 129.01822 178.875 125.34 L 178.875 116.16 C 178.875 112.481783 181.85678 109.5 185.535 109.5 Z" fill="url(#Obj_Gradient_d)"/><path d="M 185.535 109.5 L 199.465 109.5 C 203.14322 109.5 206.125 112.481783 206.125 116.16 L 206.125 125.34 C 206.125 129.01822 203.14322 132 199.465 132 L 185.535 132 C 181.85678 132 178.875 129.01822 178.875 125.34 L 178.875 116.16 C 178.875 112.481783 181.85678 109.5 185.535 109.5 Z" stroke="red" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(182.875 109.75)" fill="black"><tspan font-family="Corbel" font-size="9" font-weight="500" x="6.9970703" y="9" textLength="7.057617">X </tspan><tspan font-family="Corbel" font-size="9" font-weight="500" x="2.0290527" y="
 20" textLength="15.1918945">(A3)</tspan></text></g><text transform="translate(345.25 159.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" x="9.241211" y="9" textLength="36.017578">(ignored)</tspan></text></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/region_entry_versions_3.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/region_entry_versions_3.svg b/geode-docs/images_svg/region_entry_versions_3.svg
new file mode 100644
index 0000000..105db57
--- /dev/null
+++ b/geode-docs/images_svg/region_entry_versions_3.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="26 101 535 193" width="535pt" height="193pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-03 01:12Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.1600001" dy="2.1600001"/><feFlood flood-color="#626262" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#8db7cf" stop-opacity=".65"/><stop offset="1" stop-color="#b6d0e0" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(543 276) scale(162.56153)"/><font-face font-family="Corbel" font-size="14" panose-1="2 11 5 3 2
  2 4 2 2 4" units-per-em="1000" underline-position="-92.77344" underline-thickness="58.59375" slope="0" x-height="463.8672" cap-height="653.3203" ascent="952.14844" descent="-268.55469" font-weight="500"><font-face-src><font-face-name name="Corbel"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#c9dde9" stop-opacity=".65"/><stop offset="1" stop-color="#b6d0e0" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(525 195) scale(218.62082)"/><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(525 195) scale(87.75)"/><font-face font-family="Corbel" font-size="10" panose-1="2 11 5 3 2 2 4 2 2 4" units-per-em="1000" underline-position="-92.77344" underline-thickness="58.59375" slope="0" x-height="463.8672" cap-height="653.3203" ascent="952.14844" descent="-268.55469" font-weight="500"><font-fa
 ce-src><font-face-name name="Corbel"/></font-face-src></font-face><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(183 276) scale(162.56153)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(363 276) scale(162.56153)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(345 195) scale(218.62082)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient" gradientTransform="translate(165 195) scale(87.75)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(118 190.5) scale(26.503906)"/><font-face font-family="Corbel" font-size="9" panose-1="2 11 5 3 2 2 4 2 2 4" units-per-em="1000" underline-position="-92.77344" underline-thickness="58.59375" slope="0" x-height="463.8672" cap-height="653.3203" ascent="952.14844" descent="-268.55469" font-weight="500"><font-face-src><font-face-name name="Corbel"/></font-face-src></font-face><radialGradient id="
 Obj_Gradient_9" xl:href="#Gradient" gradientTransform="translate(345 195) scale(87.75)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_2" gradientTransform="translate(304.625 190.5) scale(26.503906)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient_2" gradientTransform="translate(484.625 190.5) scale(26.503906)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-9 -4 10 8" markerWidth="10" markerHeight="8" color="black"><g><path d="M -8 0 L 0 3 L 0 -3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_c" xl:href="#Gradient_2" gradientTransform="translate(214.625 224) scale(26.503906)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient_2" gradientTransform="translate(394.2754 193) scale(26.503906)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>Canvas 8</title><g><title>Layer 1</title><g><xl:use xl:h
 ref="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id16_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id21_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id22_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id27_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id25_Graphic" filter="url(#Shadow)"/></g><g id="id15_Graphic"><path d="M 405.66 114 L 536.34 114 C 540.01822 114 543 116.981783 543 120.66 L 543 269.34 C 543 273.01822 540.01822 276 536.34 276 L 405.66 276 C 401.98178 276 399 273.01822 399 269.34 L 399 120.66 C 399 116.981783 401.98178 114 405.66 114 Z" fill="url(#Obj_Gradient)"/><path
  d="M 405.66 114 L 536.34 114 C 540.01822 114 543 116.981783 543 120.66 L 543 269.34 C 543 273.01822 540.01822 276 536.34 276 L 405.66 276 C 401.98178 276 399 273.01822 399 269.34 L 399 120.66 C 399 116.981783 401.98178 114 405.66 114 Z" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(403 118)" fill="black"><tspan font-family="Corbel" font-size="14" font-weight="500" x="76.26758" y="13" textLength="52.02832">Member </tspan><tspan font-family="Corbel" font-size="14" font-weight="500" x="127.74902" y="13" textLength="8.2509766">C</tspan></text></g><g id="id14_Graphic"><path d="M 243.66 150 L 518.34 150 C 522.01822 150 525 152.98178 525 156.66 L 525 188.34 C 525 192.01822 522.01822 195 518.34 195 L 243.66 195 C 239.98178 195 237 192.01822 237 188.34 L 237 156.66 C 237 152.98178 239.98178 150 243.66 150 Z" fill="url(#Obj_Gradient_2)"/></g><g id="id16_Graphic"><path d="M 423.66 150 L 518.34 150 C 522.01822 150 525 152.9
 8178 525 156.66 L 525 188.34 C 525 192.01822 522.01822 195 518.34 195 L 423.66 195 C 419.98178 195 417 192.01822 417 188.34 L 417 156.66 C 417 152.98178 419.98178 150 423.66 150 Z" fill="url(#Obj_Gradient_3)"/><path d="M 423.66 150 L 518.34 150 C 522.01822 150 525 152.98178 525 156.66 L 525 188.34 C 525 192.01822 522.01822 195 518.34 195 L 423.66 195 C 419.98178 195 417 192.01822 417 188.34 L 417 156.66 C 417 152.98178 419.98178 150 423.66 150 Z" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(419 152)" fill="black"><tspan font-family="Corbel" font-size="10" font-weight="500" x="15.668457" y="10" textLength="5.9179688">R</tspan><tspan font-family="Corbel" font-size="10" font-weight="500" x="21.391113" y="10" textLength="45.927734">eplicated R</tspan><tspan font-family="Corbel" font-size="10" font-weight="500" x="67.123535" y="10" textLength="23.208008">egion</tspan></text></g><g id="id3_Graphic"><path d="M 45.66 11
 4 L 176.34 114 C 180.01822 114 183 116.981783 183 120.66 L 183 269.34 C 183 273.01822 180.01822 276 176.34 276 L 45.66 276 C 41.981783 276 39 273.01822 39 269.34 L 39 120.66 C 39 116.981783 41.981783 114 45.66 114 Z" fill="url(#Obj_Gradient_4)"/><path d="M 45.66 114 L 176.34 114 C 180.01822 114 183 116.981783 183 120.66 L 183 269.34 C 183 273.01822 180.01822 276 176.34 276 L 45.66 276 C 41.981783 276 39 273.01822 39 269.34 L 39 120.66 C 39 116.981783 41.981783 114 45.66 114 Z" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(43 118)" fill="black"><tspan font-family="Corbel" font-size="14" font-weight="500" x="75.69336" y="13" textLength="52.02832">Member </tspan><tspan font-family="Corbel" font-size="14" font-weight="500" x="127.106445" y="13" textLength="8.8935547">A</tspan></text></g><g id="id4_Graphic"><path d="M 225.66 114 L 356.34 114 C 360.01822 114 363 116.981783 363 120.66 L 363 269.34 C 363 273.01822 360.01
 822 276 356.34 276 L 225.66 276 C 221.98178 276 219 273.01822 219 269.34 L 219 120.66 C 219 116.981783 221.98178 114 225.66 114 Z" fill="url(#Obj_Gradient_5)"/><path d="M 225.66 114 L 356.34 114 C 360.01822 114 363 116.981783 363 120.66 L 363 269.34 C 363 273.01822 360.01822 276 356.34 276 L 225.66 276 C 221.98178 276 219 273.01822 219 269.34 L 219 120.66 C 219 116.981783 221.98178 114 225.66 114 Z" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(223 118)" fill="black"><tspan font-family="Corbel" font-size="14" font-weight="500" x="72.86328" y="13" textLength="63.13672"> Member B</tspan></text></g><rect x="57" y="239.99997" width="108" height="17.76375" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(59 241.99997)" fill="black"><tspan font-family="Corbel" font-size="10" font-weight="500" x="29.357422" y="10" textLength="47.285156">Application</tsp
 an></text><g id="id6_Graphic"><path d="M 63.66 150 L 338.34 150 C 342.01822 150 345 152.98178 345 156.66 L 345 188.34 C 345 192.01822 342.01822 195 338.34 195 L 63.66 195 C 59.981783 195 57 192.01822 57 188.34 L 57 156.66 C 57 152.98178 59.981783 150 63.66 150 Z" fill="url(#Obj_Gradient_6)"/></g><g id="id7_Graphic"><path d="M 63.66 150 L 158.34 150 C 162.01822 150 165 152.98178 165 156.66 L 165 188.34 C 165 192.01822 162.01822 195 158.34 195 L 63.66 195 C 59.981783 195 57 192.01822 57 188.34 L 57 156.66 C 57 152.98178 59.981783 150 63.66 150 Z" fill="url(#Obj_Gradient_7)"/><path d="M 63.66 150 L 158.34 150 C 162.01822 150 165 152.98178 165 156.66 L 165 188.34 C 165 192.01822 162.01822 195 158.34 195 L 63.66 195 C 59.981783 195 57 192.01822 57 188.34 L 57 156.66 C 57 152.98178 59.981783 150 63.66 150 Z" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(59 152)" fill="black"><tspan font-family="Corbel" font-size="10" f
 ont-weight="500" x="15.668457" y="10" textLength="5.9179688">R</tspan><tspan font-family="Corbel" font-size="10" font-weight="500" x="21.391113" y="10" textLength="45.927734">eplicated R</tspan><tspan font-family="Corbel" font-size="10" font-weight="500" x="67.123535" y="10" textLength="23.208008">egion</tspan></text></g><g id="id8_Graphic"><path d="M 97.41 168 L 111.34 168 C 115.018217 168 118 170.98178 118 174.66 L 118 183.84 C 118 187.51822 115.018217 190.5 111.34 190.5 L 97.41 190.5 C 93.731783 190.5 90.75 187.51822 90.75 183.84 L 90.75 174.66 C 90.75 170.98178 93.731783 168 97.41 168 Z" fill="url(#Obj_Gradient_8)"/><path d="M 97.41 168 L 111.34 168 C 115.018217 168 118 170.98178 118 174.66 L 118 183.84 C 118 187.51822 115.018217 190.5 111.34 190.5 L 97.41 190.5 C 93.731783 190.5 90.75 187.51822 90.75 183.84 L 90.75 174.66 C 90.75 170.98178 93.731783 168 97.41 168 Z" stroke="red" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate
 (94.75 168.25)" fill="black"><tspan font-family="Corbel" font-size="9" font-weight="500" x="6.9970703" y="9" textLength="7.057617">X </tspan><tspan font-family="Corbel" font-size="9" font-weight="500" x="2.411377" y="20" textLength="2.6982422">(</tspan><tspan font-family="Corbel" font-size="9" font-weight="500" x="4.7580566" y="20" textLength="12.0805664">C3)</tspan></text></g><g id="id9_Graphic"><path d="M 243.66 150 L 338.34 150 C 342.01822 150 345 152.98178 345 156.66 L 345 188.34 C 345 192.01822 342.01822 195 338.34 195 L 243.66 195 C 239.98178 195 237 192.01822 237 188.34 L 237 156.66 C 237 152.98178 239.98178 150 243.66 150 Z" fill="url(#Obj_Gradient_9)"/><path d="M 243.66 150 L 338.34 150 C 342.01822 150 345 152.98178 345 156.66 L 345 188.34 C 345 192.01822 342.01822 195 338.34 195 L 243.66 195 C 239.98178 195 237 192.01822 237 188.34 L 237 156.66 C 237 152.98178 239.98178 150 243.66 150 Z" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".7200000
 3"/><text transform="translate(239 152)" fill="black"><tspan font-family="Corbel" font-size="10" font-weight="500" x="15.668457" y="10" textLength="5.9179688">R</tspan><tspan font-family="Corbel" font-size="10" font-weight="500" x="21.391113" y="10" textLength="45.927734">eplicated R</tspan><tspan font-family="Corbel" font-size="10" font-weight="500" x="67.123535" y="10" textLength="23.208008">egion</tspan></text></g><rect x="237" y="239.99997" width="108" height="17.76375" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(239 241.99997)" fill="black"><tspan font-family="Corbel" font-size="10" font-weight="500" x="29.357422" y="10" textLength="47.285156">Application</tspan></text><rect x="417" y="239.99997" width="108" height="17.76375" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(419 241.99997)" fill="black"><tspan font-family="Corbel" font-size
 ="10" font-weight="500" x="29.357422" y="10" textLength="47.285156">Application</tspan></text><g id="id21_Graphic"><path d="M 284.035 168 L 297.965 168 C 301.64322 168 304.625 170.98178 304.625 174.66 L 304.625 183.84 C 304.625 187.51822 301.64322 190.5 297.965 190.5 L 284.035 190.5 C 280.35678 190.5 277.375 187.51822 277.375 183.84 L 277.375 174.66 C 277.375 170.98178 280.35678 168 284.035 168 Z" fill="url(#Obj_Gradient_a)"/><path d="M 284.035 168 L 297.965 168 C 301.64322 168 304.625 170.98178 304.625 174.66 L 304.625 183.84 C 304.625 187.51822 301.64322 190.5 297.965 190.5 L 284.035 190.5 C 280.35678 190.5 277.375 187.51822 277.375 183.84 L 277.375 174.66 C 277.375 170.98178 280.35678 168 284.035 168 Z" stroke="red" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(281.375 168.25)" fill="black"><tspan font-family="Corbel" font-size="9" font-weight="500" x="6.9970703" y="9" textLength="7.057617">X </tspan><tspan font-family="Corbe
 l" font-size="9" font-weight="500" x="2.411377" y="20" textLength="2.6982422">(</tspan><tspan font-family="Corbel" font-size="9" font-weight="500" x="4.7580566" y="20" textLength="12.0805664">C3)</tspan></text></g><g id="id22_Graphic"><path d="M 464.035 168 L 477.965 168 C 481.64322 168 484.625 170.98178 484.625 174.66 L 484.625 183.84 C 484.625 187.51822 481.64322 190.5 477.965 190.5 L 464.035 190.5 C 460.35678 190.5 457.375 187.51822 457.375 183.84 L 457.375 174.66 C 457.375 170.98178 460.35678 168 464.035 168 Z" fill="url(#Obj_Gradient_b)"/><path d="M 464.035 168 L 477.965 168 C 481.64322 168 484.625 170.98178 484.625 174.66 L 484.625 183.84 C 484.625 187.51822 481.64322 190.5 477.965 190.5 L 464.035 190.5 C 460.35678 190.5 457.375 187.51822 457.375 183.84 L 457.375 174.66 C 457.375 170.98178 460.35678 168 464.035 168 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(461.375 168.25)" fill="black"><tspan font-fam
 ily="Corbel" font-size="9" font-weight="500" x="6.9970703" y="9" textLength="7.057617">X </tspan><tspan font-family="Corbel" font-size="9" font-weight="500" x="2.411377" y="20" textLength="2.6982422">(</tspan><tspan font-family="Corbel" font-size="9" font-weight="500" x="4.7580566" y="20" textLength="12.0805664">C3)</tspan></text></g><path d="M 173.67425 178.27001 C 235.65884 210.9368 300 215.5 300 215.5 C 300 215.5 391 231.5 416.6504 186.84903" marker-start="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><g id="id27_Graphic"><path d="M 194.035 201.5 L 207.965 201.5 C 211.64322 201.5 214.625 204.48178 214.625 208.16 L 214.625 217.34 C 214.625 221.01822 211.64322 224 207.965 224 L 194.035 224 C 190.35678 224 187.375 221.01822 187.375 217.34 L 187.375 208.16 C 187.375 204.48178 190.35678 201.5 194.035 201.5 Z" fill="url(#Obj_Gradient_c)"/><path d="M 194.035 201.5 L 207.965 201.5 C 211.64322 201.5 214.625 204.48178 214.625 208.
 16 L 214.625 217.34 C 214.625 221.01822 211.64322 224 207.965 224 L 194.035 224 C 190.35678 224 187.375 221.01822 187.375 217.34 L 187.375 208.16 C 187.375 204.48178 190.35678 201.5 194.035 201.5 Z" stroke="red" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(191.375 201.75)" fill="black"><tspan font-family="Corbel" font-size="9" font-weight="500" x="6.9970703" y="9" textLength="7.057617">X </tspan><tspan font-family="Corbel" font-size="9" font-weight="500" x="2.411377" y="20" textLength="2.6982422">(</tspan><tspan font-family="Corbel" font-size="9" font-weight="500" x="4.7580566" y="20" textLength="12.0805664">C3)</tspan></text></g><line x1="354.5504" y1="168" x2="416.6504" y2="168" marker-start="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><g id="id25_Graphic"><path d="M 373.6854 170.5 L 387.6154 170.5 C 391.2936 170.5 394.2754 173.48178 394.2754 177.16 L 394.2754 186.
 34 C 394.2754 190.01822 391.2936 193 387.6154 193 L 373.6854 193 C 370.00717 193 367.0254 190.01822 367.0254 186.34 L 367.0254 177.16 C 367.0254 173.48178 370.00717 170.5 373.6854 170.5 Z" fill="url(#Obj_Gradient_d)"/><path d="M 373.6854 170.5 L 387.6154 170.5 C 391.2936 170.5 394.2754 173.48178 394.2754 177.16 L 394.2754 186.34 C 394.2754 190.01822 391.2936 193 387.6154 193 L 373.6854 193 C 370.00717 193 367.0254 190.01822 367.0254 186.34 L 367.0254 177.16 C 367.0254 173.48178 370.00717 170.5 373.6854 170.5 Z" stroke="red" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(371.0254 170.75)" fill="black"><tspan font-family="Corbel" font-size="9" font-weight="500" x="6.9970703" y="9" textLength="7.057617">X </tspan><tspan font-family="Corbel" font-size="9" font-weight="500" x="2.411377" y="20" textLength="2.6982422">(</tspan><tspan font-family="Corbel" font-size="9" font-weight="500" x="4.7580566" y="20" textLength="12.0805664">C3)</t
 span></text></g></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/server_client_event_dist.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/server_client_event_dist.svg b/geode-docs/images_svg/server_client_event_dist.svg
new file mode 100644
index 0000000..2d726cd
--- /dev/null
+++ b/geode-docs/images_svg/server_client_event_dist.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="27 275 293 301" width="293pt" height="301pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-06 22:51Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(166.5 558) scale(124.46385)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" under
 line-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(157.5 535.5) scale(92.11957)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="8" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src>
 </font-face><font-face font-family="Helvetica" font-size="8" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="532.22656" cap-height="719.72656" ascent="770.01953" descent="-229.98047" font-weight="bold"><font-face-src><font-face-name name="Helvetica-Bold"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(234 405) scale(128.95857)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(225 360) scale(87.75)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_5" xl:href="#Gradient_2" gradientTransform="translate(180 351) scale(19.091883)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" und
 erline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(225 393.75) scale(82.73914)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient" gradientTransform="translate(301.5 558) scale(124.46385)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M 11.7222214 0 L 0 -4.395833 L 0 4.395833 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(272.25 337.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient" gradientTransform="translate(292.5 535.5) scale(92.11957)"/><radialGradient id=
 "Obj_Gradient_a" xl:href="#Gradient" gradientTransform="translate(162 461.25) scale(89.357865)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient" gradientTransform="translate(297 461.25) scale(89.357865)"/><radialGradient id="Obj_Gradient_c" xl:href="#Gradient_2" gradientTransform="translate(148.5 526.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient_2" gradientTransform="translate(288 526.5) scale(19.091883)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>cs-event-distribution</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use x
 l:href="#id12_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id17_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id18_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id21_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id22_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 47.16 450 L 159.84 450 C 163.51822 450 166.5 452.98178 166.5 456.66 L 166.5 551.34 C 166.5 555.0182 163.51822 558 159.84 558 L 47.16 558 C 43.481783 558 40.5 555.0182 40.5 551.34 L 40.5 456.66 C 40.5 452.98178 43.481783 450 47.16 450 Z" fill="url(#Obj_Gradient)"/><path d="M 47.16 450 L 159.84 450 C 163.51822 450 166.5 452.98178 166.5 456.66 L 166.5 551.34 C 166.5 555.0182 163.51822 558 159.84 558 L 47.16 558 C 43.481783 558 40.5 555.0182 40.5 551.34 L 40.5 456.66 C 40.5 452.98178 43.481783 450 47.16 450 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(44.5 540.5)"
  fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="38.65625" y="11" textLength="40.6875">Client 1</tspan></text></g><g id="id4_Graphic"><path d="M 56.16 477 L 150.84 477 C 154.51822 477 157.5 479.98178 157.5 483.66 L 157.5 528.84 C 157.5 532.51822 154.51822 535.5 150.84 535.5 L 56.16 535.5 C 52.481783 535.5 49.5 532.51822 49.5 528.84 L 49.5 483.66 C 49.5 479.98178 52.481783 477 56.16 477 Z" fill="url(#Obj_Gradient_2)"/><path d="M 56.16 477 L 150.84 477 C 154.51822 477 157.5 479.98178 157.5 483.66 L 157.5 528.84 C 157.5 532.51822 154.51822 535.5 150.84 535.5 L 56.16 535.5 C 52.481783 535.5 49.5 532.51822 49.5 528.84 L 49.5 483.66 C 49.5 479.98178 52.481783 477 56.16 477 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(51.5 479)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="2" y="10" textLength="34.467773">Region </tspan><tsp
 an font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="35.920898" y="10" textLength="6.669922">A</tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="2" y="20" textLength="86.49219">pool-name = ServerPool</tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="2" y="30" textLength="42.242188">interest in X</tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="2" y="40" textLength="31.125">receiveV</tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="32.535156" y="40" textLength="28.242188">alues = </tspan><tspan font-family="Helvetica" font-size="8" font-weight="bold" fill="black" x="60.777344" y="40" textLength="15.113281">true</tspan></text></g><g id="id5_Graphic"><path d="M 114.66 288 L 227.34 288 C 231.01822 288 234 290.98178 234 294.66 L 234 398.34 C 234 402.01822 231.01822 405 227.34 405 L 114.66 405 C 110.981783 405 108 402.01822
  108 398.34 L 108 294.66 C 108 290.98178 110.981783 288 114.66 288 Z" fill="url(#Obj_Gradient_3)"/><path d="M 114.66 288 L 227.34 288 C 231.01822 288 234 290.98178 234 294.66 L 234 398.34 C 234 402.01822 231.01822 405 227.34 405 L 114.66 405 C 110.981783 405 108 402.01822 108 398.34 L 108 294.66 C 108 290.98178 110.981783 288 114.66 288 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(112 292)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="41.328125" y="11" textLength="35.34375">Server</tspan></text></g><g id="id6_Graphic"><path d="M 123.66 315 L 218.34 315 C 222.01822 315 225 317.98178 225 321.66 L 225 353.34 C 225 357.01822 222.01822 360 218.34 360 L 123.66 360 C 119.98178 360 117 357.01822 117 353.34 L 117 321.66 C 117 317.98178 119.98178 315 123.66 315 Z" fill="url(#Obj_Gradient_4)"/><path d="M 123.66 315 L 218.34 315 C 222.01822 315 225 317.98178 225 321.66 L 22
 5 353.34 C 225 357.01822 222.01822 360 218.34 360 L 123.66 360 C 119.98178 360 117 357.01822 117 353.34 L 117 321.66 C 117 317.98178 119.98178 315 123.66 315 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(119 317)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="32.70459" y="10" textLength="34.467773">Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="66.62549" y="10" textLength="6.669922">A</tspan></text></g><g id="id7_Graphic"><path d="M 168.66 333 L 173.34 333 C 177.01822 333 180 335.98178 180 339.66 L 180 344.34 C 180 348.01822 177.01822 351 173.34 351 L 168.66 351 C 164.98178 351 162 348.01822 162 344.34 L 162 339.66 C 162 335.98178 164.98178 333 168.66 333 Z" fill="url(#Obj_Gradient_5)"/><path d="M 168.66 333 L 173.34 333 C 177.01822 333 180 335.98178 180 339.66 L 180 344.34 C 180 348.01822 177.01822 351 173.34 351 L 
 168.66 351 C 164.98178 351 162 348.01822 162 344.34 L 162 339.66 C 162 335.98178 164.98178 333 168.66 333 Z" stroke="#b00003" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(166 336.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id8_Graphic"><path d="M 128.25 371.25 L 213.75 371.25 C 219.9632 371.25 225 376.2868 225 382.5 L 225 382.5 C 225 388.7132 219.9632 393.75 213.75 393.75 L 128.25 393.75 C 122.0368 393.75 117 388.7132 117 382.5 L 117 382.5 C 117 376.2868 122.0368 371.25 128.25 371.25 Z" fill="url(#Obj_Gradient_6)"/><path d="M 128.25 371.25 L 213.75 371.25 C 219.9632 371.25 225 376.2868 225 382.5 L 225 382.5 C 225 388.7132 219.9632 393.75 213.75 393.75 L 128.25 393.75 C 122.0368 393.75 117 388.7132 117 382.5 L 117 382.5 C 117 376.2868 122.0368 371.25 128.25 371.25 Z" stroke="#252525" stroke-linecap="round" strok
 e-linejoin="round" stroke-width=".72000003"/><text transform="translate(119 377)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="25.488037" y="9" textLength="55.023926">Cache Server</tspan></text></g><path d="M 171 371.25 L 171 363.09 L 171 365.625 L 171 368.16 L 171 360" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.1600001"/><g id="id10_Graphic"><path d="M 182.16 450 L 294.84 450 C 298.51822 450 301.5 452.98178 301.5 456.66 L 301.5 551.34 C 301.5 555.0182 298.51822 558 294.84 558 L 182.16 558 C 178.48178 558 175.5 555.0182 175.5 551.34 L 175.5 456.66 C 175.5 452.98178 178.48178 450 182.16 450 Z" fill="url(#Obj_Gradient_7)"/><path d="M 182.16 450 L 294.84 450 C 298.51822 450 301.5 452.98178 301.5 456.66 L 301.5 551.34 C 301.5 555.0182 298.51822 558 294.84 558 L 182.16 558 C 178.48178 558 175.5 555.0182 175.5 551.34 L 175.5 456.66 C 175.5 452.98178 178.48178 450 182.16 450 Z" stroke="#252525" stroke-linec
 ap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(179.5 540.5)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="38.65625" y="11" textLength="40.6875">Client 2</tspan></text></g><path d="M 272.25 342 C 271.97308 342 271.43086 342 198.95159 342" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id12_Graphic"><path d="M 260.91 319.5 L 265.59 319.5 C 269.26822 319.5 272.25 322.48178 272.25 326.16 L 272.25 330.84 C 272.25 334.51822 269.26822 337.5 265.59 337.5 L 260.91 337.5 C 257.23178 337.5 254.25 334.51822 254.25 330.84 L 254.25 326.16 C 254.25 322.48178 257.23178 319.5 260.91 319.5 Z" fill="url(#Obj_Gradient_8)"/><path d="M 260.91 319.5 L 265.59 319.5 C 269.26822 319.5 272.25 322.48178 272.25 326.16 L 272.25 330.84 C 272.25 334.51822 269.26822 337.5 265.59 337.5 L 260.91 337.5 C 257.23178 337.5 254.25 334.51822 254.25 
 330.84 L 254.25 326.16 C 254.25 322.48178 257.23178 319.5 260.91 319.5 Z" stroke="#b00003" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(258.25 323)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><text transform="translate(231.25 345.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="8.357422" y="9" textLength="58.535156">Update/Create</tspan></text><g id="id14_Graphic"><path d="M 191.16 477 L 285.84 477 C 289.51822 477 292.5 479.98178 292.5 483.66 L 292.5 528.84 C 292.5 532.51822 289.51822 535.5 285.84 535.5 L 191.16 535.5 C 187.48178 535.5 184.5 532.51822 184.5 528.84 L 184.5 483.66 C 184.5 479.98178 187.48178 477 191.16 477 Z" fill="url(#Obj_Gradient_9)"/><path d="M 191.16 477 L 285.84 477 C 289.51822 477 292.5 479.98178 292.5 483.66 L 292.5 528.84 C 292.5 532.51822 289.51822 5
 35.5 285.84 535.5 L 191.16 535.5 C 187.48178 535.5 184.5 532.51822 184.5 528.84 L 184.5 483.66 C 184.5 479.98178 187.48178 477 191.16 477 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(186.5 479)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="2" y="10" textLength="34.467773">Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="35.920898" y="10" textLength="6.669922">A</tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="2" y="20" textLength="86.49219">pool-name = ServerPool</tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="2" y="30" textLength="42.242188">interest in X</tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="2" y="40" textLength="31.125">receiveV</tspan><tspan font-family="Helvetica" font-size="8" font-weight="
 500" fill="black" x="32.535156" y="40" textLength="28.242188">alues = </tspan><tspan font-family="Helvetica" font-size="8" font-weight="bold" fill="black" x="60.777344" y="40" textLength="18.234375">false</tspan></text></g><line x1="141.75" y1="393.75" x2="139.69502" y2="498.5539" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="214.86942" y1="393.69416" x2="274.14863" y2="499.81513" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id17_Graphic"><path d="M 56.25 438.75 L 150.75 438.75 C 156.9632 438.75 162 443.7868 162 450 L 162 450 C 162 456.2132 156.9632 461.25 150.75 461.25 L 56.25 461.25 C 50.036797 461.25 45 456.2132 45 450 L 45 450 C 45 443.7868 50.036797 438.75 56.25 438.75 Z" fill="url(#Obj_Gradient_a)"/><path d="M 56.25 438.75 L 150.75 438.75 C 156.9632 438.75 162 443.7868 162 450 L 162 450 C 162 456.2
 132 156.9632 461.25 150.75 461.25 L 56.25 461.25 C 50.036797 461.25 45 456.2132 45 450 L 45 450 C 45 443.7868 50.036797 438.75 56.25 438.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(47 439.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="22.484375" y="9" textLength="70.03125">pool \u201cServerPool\u201d</tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="7.919922" y="19" textLength="99.160156">(with subscriptions enabled)</tspan></text></g><g id="id18_Graphic"><path d="M 191.25 438.75 L 285.75 438.75 C 291.9632 438.75 297 443.7868 297 450 L 297 450 C 297 456.2132 291.9632 461.25 285.75 461.25 L 191.25 461.25 C 185.0368 461.25 180 456.2132 180 450 L 180 450 C 180 443.7868 185.0368 438.75 191.25 438.75 Z" fill="url(#Obj_Gradient_b)"/><path d="M 191.25 438.75 L 285.75 438.75 C 291.9632 438.75 297 443.7868 297 450 L 297 450 C 297 456.21
 32 291.9632 461.25 285.75 461.25 L 191.25 461.25 C 185.0368 461.25 180 456.2132 180 450 L 180 450 C 180 443.7868 185.0368 438.75 191.25 438.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(182 439.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="22.484375" y="9" textLength="70.03125">pool \u201cServerPool\u201d</tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="7.919922" y="19" textLength="99.160156">(with subscriptions enabled)</tspan></text></g><text transform="translate(73.75 417.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="8.357422" y="9" textLength="58.535156">Update/Create</tspan></text><text transform="translate(216.625 417.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="18.361572" y="9" textLength="38.526855">Invalidate</tspan></t
 ext><g id="id21_Graphic"><path d="M 137.16 508.5 L 141.84 508.5 C 145.51822 508.5 148.5 511.48178 148.5 515.16 L 148.5 519.84 C 148.5 523.51822 145.51822 526.5 141.84 526.5 L 137.16 526.5 C 133.48178 526.5 130.5 523.51822 130.5 519.84 L 130.5 515.16 C 130.5 511.48178 133.48178 508.5 137.16 508.5 Z" fill="url(#Obj_Gradient_c)"/><path d="M 137.16 508.5 L 141.84 508.5 C 145.51822 508.5 148.5 511.48178 148.5 515.16 L 148.5 519.84 C 148.5 523.51822 145.51822 526.5 141.84 526.5 L 137.16 526.5 C 133.48178 526.5 130.5 523.51822 130.5 519.84 L 130.5 515.16 C 130.5 511.48178 133.48178 508.5 137.16 508.5 Z" stroke="#b00003" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(134.5 512)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id22_Graphic"><path d="M 276.66 508.5 L 281.34 508.5 C 285.01822 508.5 288 511.48178 288 515.16 L 288 51
 9.84 C 288 523.51822 285.01822 526.5 281.34 526.5 L 276.66 526.5 C 272.98178 526.5 270 523.51822 270 519.84 L 270 515.16 C 270 511.48178 272.98178 508.5 276.66 508.5 Z" fill="url(#Obj_Gradient_d)"/><text transform="translate(274 512)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/server_discovery.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/server_discovery.svg b/geode-docs/images_svg/server_discovery.svg
new file mode 100644
index 0000000..661b66f
--- /dev/null
+++ b/geode-docs/images_svg/server_discovery.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="176 248 373 341" width="373pt" height="341pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 09:31Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".3" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(400.5 571.5) scale(90.442486)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnU
 se"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(288 340.73424) scale(90.17966)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(405 567.36914) scale(90.442486)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(387 544.5) scale(43.35671)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.2851
 6" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(397.125 491.60742) scale(56.0951)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(414 405) scale(87.75)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M 8.9444437 0 L 0 -3.3541664 L 0 3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-10 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M -8.9444437 0 L 0 3.3541664 L 0 -3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_
 7" xl:href="#Gradient_2" gradientTransform="translate(522 340.52344) scale(90.0749)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient" gradientTransform="translate(531 335.10924) scale(257.17079)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient" gradientTransform="translate(508.5 333) scale(46.524938)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient" gradientTransform="translate(274.5 333.2108) scale(46.524938)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="-1333.3333" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-style="italic" font-weight="500"><font-face-src><font-face-name name="Helvetica-Oblique"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="77
 0.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>how_server_discovery_works</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id16_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id17_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 317.16 491.23828 L 393.84 491.23828 C 397.51822 491.23828 400.5 494.22006 400.5 497.89828 L 400.5 564.84 C 400.5 568.5182 397.51
 822 571.5 393.84 571.5 L 317.16 571.5 C 313.48178 571.5 310.5 568.5182 310.5 564.84 L 310.5 497.89828 C 310.5 494.22006 313.48178 491.23828 317.16 491.23828 Z" fill="url(#Obj_Gradient)"/><path d="M 317.16 491.23828 L 393.84 491.23828 C 397.51822 491.23828 400.5 494.22006 400.5 497.89828 L 400.5 564.84 C 400.5 568.5182 397.51822 571.5 393.84 571.5 L 317.16 571.5 C 313.48178 571.5 310.5 568.5182 310.5 564.84 L 310.5 497.89828 C 310.5 494.22006 313.48178 491.23828 317.16 491.23828 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id4_Graphic"><path d="M 204.66 261 L 281.34 261 C 285.01822 261 288 263.98178 288 267.66 L 288 334.07424 C 288 337.75246 285.01822 340.73424 281.34 340.73424 L 204.66 340.73424 C 200.98178 340.73424 198 337.75246 198 334.07424 L 198 267.66 C 198 263.98178 200.98178 261 204.66 261 Z" fill="url(#Obj_Gradient_2)"/><path d="M 204.66 261 L 281.34 261 C 285.01822 261 288 263.98178 288 267.66 L 288 334.07424 C 288
  337.75246 285.01822 340.73424 281.34 340.73424 L 204.66 340.73424 C 200.98178 340.73424 198 337.75246 198 334.07424 L 198 267.66 C 198 263.98178 200.98178 261 204.66 261 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(202 265)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="14.987305" y="11" textLength="52.02539">Server #1</tspan></text></g><g id="id5_Graphic"><path d="M 321.66 487.10742 L 398.34 487.10742 C 402.01822 487.10742 405 490.0892 405 493.76742 L 405 560.70914 C 405 564.38736 402.01822 567.36914 398.34 567.36914 L 321.66 567.36914 C 317.98178 567.36914 315 564.38736 315 560.70914 L 315 493.76742 C 315 490.0892 317.98178 487.10742 321.66 487.10742 Z" fill="url(#Obj_Gradient_3)"/><path d="M 321.66 487.10742 L 398.34 487.10742 C 402.01822 487.10742 405 490.0892 405 493.76742 L 405 560.70914 C 405 564.38736 402.01822 567.36914 398.34 567.36914 L 321.66 567.369
 14 C 317.98178 567.36914 315 564.38736 315 560.70914 L 315 493.76742 C 315 490.0892 317.98178 487.10742 321.66 487.10742 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(319 549.86914)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="25.660156" y="11" textLength="30.679688">Client</tspan></text></g><g id="id6_Graphic"><path d="M 339.66 523.86328 L 380.34 523.86328 C 384.01822 523.86328 387 526.84506 387 530.52328 L 387 537.84 C 387 541.51822 384.01822 544.5 380.34 544.5 L 339.66 544.5 C 335.98178 544.5 333 541.51822 333 537.84 L 333 530.52328 C 333 526.84506 335.98178 523.86328 339.66 523.86328 Z" fill="url(#Obj_Gradient_4)"/><path d="M 339.66 523.86328 L 380.34 523.86328 C 384.01822 523.86328 387 526.84506 387 530.52328 L 387 537.84 C 387 541.51822 384.01822 544.5 380.34 544.5 L 339.66 544.5 C 335.98178 544.5 333 541.51822 333 537.84 L 333 530.52328 C 333 526.84506 33
 5.98178 523.86328 339.66 523.86328 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(337 523.18164)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="12.2421875" y="9" textLength="24.016113">Local </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.9921875" y="20" textLength="26.015625">Cache</tspan></text></g><g id="id7_Graphic"><path d="M 327.375 482.60742 L 392.625 482.60742 C 395.11028 482.60742 397.125 484.62214 397.125 487.10742 L 397.125 487.10742 C 397.125 489.5927 395.11028 491.60742 392.625 491.60742 L 327.375 491.60742 C 324.88972 491.60742 322.875 489.5927 322.875 487.10742 L 322.875 487.10742 C 322.875 484.62214 324.88972 482.60742 327.375 482.60742 Z" fill="url(#Obj_Gradient_5)"/><path d="M 327.375 482.60742 L 392.625 482.60742 C 395.11028 482.60742 397.125 484.62214 397.125 487.10742 L 397.125 487.10742 C 397.125 489.592
 7 395.11028 491.60742 392.625 491.60742 L 327.375 491.60742 C 324.88972 491.60742 322.875 489.5927 322.875 487.10742 L 322.875 487.10742 C 322.875 484.62214 324.88972 482.60742 327.375 482.60742 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(326.875 481.60742)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.6008301" y="9" textLength="63.04834">connection pool</tspan></text></g><g id="id8_Graphic"><path d="M 312.66 360 L 407.34 360 C 411.01822 360 414 362.98178 414 366.66 L 414 398.34 C 414 402.01822 411.01822 405 407.34 405 L 312.66 405 C 308.98178 405 306 402.01822 306 398.34 L 306 366.66 C 306 362.98178 308.98178 360 312.66 360 Z" fill="url(#Obj_Gradient_6)"/><path d="M 312.66 360 L 407.34 360 C 411.01822 360 414 362.98178 414 366.66 L 414 398.34 C 414 402.01822 411.01822 405 407.34 405 L 312.66 405 C 308.98178 405 306 402.01822 306 398.34 L 306 366.66 C 306 362.
 98178 308.98178 360 312.66 360 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(310 364)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="29.987305" y="11" textLength="40.02539">Locator</tspan></text></g><line x1="333" y1="482.60742" x2="332.4951" y2="412.9478" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="391.77933" y1="476.25693" x2="467.72067" y2="375.3505" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(274 344.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="31.96045" y="9" textLength="108.0791">send address and load info</tspan></text><line x1="342" y1="405" x2="342" y2="474.65942
 " marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(260.5 432.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="6.475586" y="9" textLength="57.524414">request server</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="20.467773" y="20" textLength="43.532227">connection</tspan></text><g id="id14_Graphic"><path d="M 438.66 261 L 515.34 261 C 519.01822 261 522 263.98178 522 267.66 L 522 333.86344 C 522 337.54166 519.01822 340.52344 515.34 340.52344 L 438.66 340.52344 C 434.98178 340.52344 432 337.54166 432 333.86344 L 432 267.66 C 432 263.98178 434.98178 261 438.66 261 Z" fill="url(#Obj_Gradient_7)"/><path d="M 438.66 261 L 515.34 261 C 519.01822 261 522 263.98178 522 267.66 L 522 333.86344 C 522 337.54166 519.01822 340.52344 515.34 340.52344 L 438.66 340.52344 C 434.98178 340.52344 432 337.54166 432 33
 3.86344 L 432 267.66 C 432 263.98178 434.98178 261 438.66 261 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(436 265)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="14.987305" y="11" textLength="52.02539">Server #2</tspan></text></g><g id="id15_Graphic"><path d="M 195.66 310.35924 L 524.34 310.35924 C 528.01822 310.35924 531 313.34102 531 317.01924 L 531 328.44924 C 531 332.12746 528.01822 335.10924 524.34 335.10924 L 195.66 335.10924 C 191.98178 335.10924 189 332.12746 189 328.44924 L 189 317.01924 C 189 313.34102 191.98178 310.35924 195.66 310.35924 Z" fill="url(#Obj_Gradient_8)"/><path d="M 195.66 310.35924 L 524.34 310.35924 C 528.01822 310.35924 531 313.34102 531 317.01924 L 531 328.44924 C 531 332.12746 528.01822 335.10924 524.34 335.10924 L 195.66 335.10924 C 191.98178 335.10924 189 332.12746 189 328.44924 L 189 317.01924 C 189 313.34102 191.98178 310.35924 
 195.66 310.35924 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id16_Graphic"><path d="M 456.66 312.36328 L 501.84 312.36328 C 505.51822 312.36328 508.5 315.34506 508.5 319.02328 L 508.5 326.34 C 508.5 330.01822 505.51822 333 501.84 333 L 456.66 333 C 452.98178 333 450 330.01822 450 326.34 L 450 319.02328 C 450 315.34506 452.98178 312.36328 456.66 312.36328 Z" fill="url(#Obj_Gradient_9)"/><path d="M 456.66 312.36328 L 501.84 312.36328 C 505.51822 312.36328 508.5 315.34506 508.5 319.02328 L 508.5 326.34 C 508.5 330.01822 505.51822 333 501.84 333 L 456.66 333 C 452.98178 333 450 330.01822 450 326.34 L 450 319.02328 C 450 315.34506 452.98178 312.36328 456.66 312.36328 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(454 317.18164)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.4865723" y="9" textLength="47.526855
 ">Cache Data</tspan></text></g><g id="id17_Graphic"><path d="M 222.66 312.57408 L 267.84 312.57408 C 271.51822 312.57408 274.5 315.55586 274.5 319.23408 L 274.5 326.5508 C 274.5 330.22902 271.51822 333.2108 267.84 333.2108 L 222.66 333.2108 C 218.98178 333.2108 216 330.22902 216 326.5508 L 216 319.23408 C 216 315.55586 218.98178 312.57408 222.66 312.57408 Z" fill="url(#Obj_Gradient_a)"/><path d="M 222.66 312.57408 L 267.84 312.57408 C 271.51822 312.57408 274.5 315.55586 274.5 319.23408 L 274.5 326.5508 C 274.5 330.22902 271.51822 333.2108 267.84 333.2108 L 222.66 333.2108 C 218.98178 333.2108 216 330.22902 216 326.5508 L 216 319.23408 C 216 315.55586 218.98178 312.57408 222.66 312.57408 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(220 317.39244)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.4865723" y="9" textLength="47.526855">Cache Data</tspan></text></g><tex
 t transform="translate(202 276)" fill="black"><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="18.234131" y="9" textLength="48.032227">listening on </tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="14.727295" y="20" textLength="57.546387">10.80.100.1 :  </tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="28.486572" y="31" textLength="25.026855">40404</tspan></text><text transform="translate(436 276)" fill="black"><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="18.234131" y="9" textLength="48.032227">listening on </tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="14.727295" y="20" textLength="57.546387">10.80.100.2 :  </tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black"
  x="28.486572" y="31" textLength="25.026855">40404</tspan></text><text transform="translate(292 386)" fill="black"><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="19.587646" y="9" textLength="81.549316">listening on lucy : 41</tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="100.47339" y="9" textLength="5.005371">1</tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="104.815186" y="9" textLength="5.005371">1</tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="109.15698" y="9" textLength="5.005371">1</tspan></text><text transform="translate(319 497.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="22.490234" y="9" textLength="37.019531">locator at</tspan><tspan font-family="Helvetica" font-size="9" font-style
 ="italic" font-weight="500" fill="black" x="17.72876" y="20" textLength="33.51709">lucy : 41</tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="50.582275" y="20" textLength="5.005371">1</tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="54.924072" y="20" textLength="5.005371">1</tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="59.26587" y="20" textLength="5.005371">1</tspan></text><path d="M 315 414 L 315 414 C 319.97056 414 324 418.02944 324 423 L 324 423 C 324 427.97056 319.97056 432 315 432 L 315 432 C 310.02944 432 306 427.97056 306 423 L 306 423 C 306 418.02944 310.02944 414 315 414 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(310 417)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="2.2192383" y=
 "10" textLength="5.5615234">1</tspan></text><text transform="translate(352.75 432.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="0" y="9" textLength="72.05713">use 10.80.100.2 : </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="0" y="20" textLength="25.026855">40404</tspan></text><path d="M 360 414 L 360 414 C 364.97056 414 369 418.02944 369 423 L 369 423 C 369 427.97056 364.97056 432 360 432 L 360 432 C 355.02944 432 351 427.97056 351 423 L 351 423 C 351 418.02944 355.02944 414 360 414 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(355 417)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="2.2192383" y="10" textLength="5.5615234">2</tspan></text><line x1="270" y1="340.73424" x2="291.51007" y2="363.2527" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" s
 troke-linejoin="round" stroke-width=".72000003"/><line x1="450" y1="340.52344" x2="428.46856" y2="363.23237" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(433.75 451.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="0" y="9" textLength="51.016113">client/server </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="0" y="20" textLength="60.52588">communication</tspan></text><path d="M 441 432 L 441 432 C 445.97056 432 450 436.02944 450 441 L 450 441 C 450 445.97056 445.97056 450 441 450 L 441 450 C 436.02944 450 432 445.97056 432 441 L 432 441 C 432 436.02944 436.02944 432 441 432 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(436 435)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x=
 "2.2192383" y="10" textLength="5.5615234">3</tspan></text></g></g></svg>


[19/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/hibernate_cs.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/hibernate_cs.svg b/geode-docs/images_svg/hibernate_cs.svg
new file mode 100644
index 0000000..ce9c3a8
--- /dev/null
+++ b/geode-docs/images_svg/hibernate_cs.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="59 233 493 205" width="493pt" height="205pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 09:24Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><filter id="Shadow_2" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".3" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" 
 stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(347.76562 413.64844) scale(43.35671)"/><font-face font-family="Helvetica" font-size="6" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(249.75 413.64844) scale(43.35671)"/><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(149.76562 413.64844) scale(43.35671)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(168.75 420.01172) scale(75.25816)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" un
 derline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(265.5 420.01172) scale(75.25816)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(362.25 420.01172) scale(75.25816)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(373.5 414.38672) scale(226.88561)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient" gradientTransform="translate(251.14637 413.26172) scale(45.532327)"/><font-face font-family="Helvetica" font-s
 ize="8" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_3" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e0e0e0" stop-opacity=".65"/><stop offset="1" stop-color="white" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_9" xl:href="#Gradient_3" gradientTransform="translate(375.75 340.875) scale(120.3727)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_2" 
 gradientTransform="translate(344.25 327.375) scale(64.88103)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -7 17 14" markerWidth="17" markerHeight="14" color="#252525"><g><path d="M 14.499999 0 L 0 -5.4374996 L 0 5.4374996 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M 8.9444437 0 L 0 -3.3541664 L 0 3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_3" viewBox="-10 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M -8.9444437 0 L 0 3.3541664 L 0 -3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_b" xl:href
 ="#Gradient_2" gradientTransform="translate(337.5 333) scale(51.073018)"/><font-face font-family="Helvetica" font-size="7" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_c" xl:href="#Gradient_3" gradientTransform="translate(534.47444 357.13215) rotate(-90) scale(66.31453)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_4" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_d" xl:href="#Gradient_4" gradientTransform="translate(344.3182 413.66863) scale(45.532327)"/><radialGradient id="Obj_Gradient_e" xl:href="#Gradient_4" gradientTransform="translate(149.76562 413.66863) scale(45.5323
 27)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>cs</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id13_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id20_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id25_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id27_Graphic" filter="url(#Shadow_2)"/><xl:use xl:href="#id28_Graphic" filter="url(#Shadow_2)"/></g><g id="id3_Graphic"><path d="M 300.42562 393.01172 L 341.10562 393.01172 C 344.
 78384 393.01172 347.76562 395.9935 347.76562 399.67172 L 347.76562 406.98844 C 347.76562 410.66666 344.78384 413.64844 341.10562 413.64844 L 300.42562 413.64844 C 296.7474 413.64844 293.76562 410.66666 293.76562 406.98844 L 293.76562 399.67172 C 293.76562 395.9935 296.7474 393.01172 300.42562 393.01172 Z" fill="url(#Obj_Gradient)"/><path d="M 300.42562 393.01172 L 341.10562 393.01172 C 344.78384 393.01172 347.76562 395.9935 347.76562 399.67172 L 347.76562 406.98844 C 347.76562 410.66666 344.78384 413.64844 341.10562 413.64844 L 300.42562 413.64844 C 296.7474 413.64844 293.76562 410.66666 293.76562 406.98844 L 293.76562 399.67172 C 293.76562 395.9935 296.7474 393.01172 300.42562 393.01172 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(297.76562 396.33008)" fill="black"><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="8.657715" y="6" textLength="30.351562">Partitioned </tspan><tspan 
 font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="5.1567383" y="13" textLength="35.686523">Session Data</tspan></text></g><g id="id4_Graphic"><path d="M 202.41 393.01172 L 243.09 393.01172 C 246.76822 393.01172 249.75 395.9935 249.75 399.67172 L 249.75 406.98844 C 249.75 410.66666 246.76822 413.64844 243.09 413.64844 L 202.41 413.64844 C 198.73178 413.64844 195.75 410.66666 195.75 406.98844 L 195.75 399.67172 C 195.75 395.9935 198.73178 393.01172 202.41 393.01172 Z" fill="url(#Obj_Gradient_2)"/><path d="M 202.41 393.01172 L 243.09 393.01172 C 246.76822 393.01172 249.75 395.9935 249.75 399.67172 L 249.75 406.98844 C 249.75 410.66666 246.76822 413.64844 243.09 413.64844 L 202.41 413.64844 C 198.73178 413.64844 195.75 410.66666 195.75 406.98844 L 195.75 399.67172 C 195.75 395.9935 198.73178 393.01172 202.41 393.01172 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(199.75 396.33008)" fill="blac
 k"><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="8.657715" y="6" textLength="30.351562">Partitioned </tspan><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="5.1567383" y="13" textLength="35.686523">Session Data</tspan></text></g><g id="id5_Graphic"><path d="M 102.42562 393.01172 L 143.10562 393.01172 C 146.78384 393.01172 149.76562 395.9935 149.76562 399.67172 L 149.76562 406.98844 C 149.76562 410.66666 146.78384 413.64844 143.10562 413.64844 L 102.42562 413.64844 C 98.747403 413.64844 95.76562 410.66666 95.76562 406.98844 L 95.76562 399.67172 C 95.76562 395.9935 98.747403 393.01172 102.42562 393.01172 Z" fill="url(#Obj_Gradient_3)"/><path d="M 102.42562 393.01172 L 143.10562 393.01172 C 146.78384 393.01172 149.76562 395.9935 149.76562 399.67172 L 149.76562 406.98844 C 149.76562 410.66666 146.78384 413.64844 143.10562 413.64844 L 102.42562 413.64844 C 98.747403 413.64844 95.76562 410.66666 95.76562 406.98844 L 95.76562 3
 99.67172 C 95.76562 395.9935 98.747403 393.01172 102.42562 393.01172 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(99.76562 396.33008)" fill="black"><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="8.657715" y="6" textLength="30.351562">Partitioned </tspan><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="5.1567383" y="13" textLength="35.686523">Session Data</tspan></text></g><g id="id6_Graphic"><path d="M 89.91 367.48828 L 162.09 367.48828 C 165.76822 367.48828 168.75 370.47006 168.75 374.14828 L 168.75 413.35172 C 168.75 417.02994 165.76822 420.01172 162.09 420.01172 L 89.91 420.01172 C 86.231783 420.01172 83.25 417.02994 83.25 413.35172 L 83.25 374.14828 C 83.25 370.47006 86.231783 367.48828 89.91 367.48828 Z" fill="url(#Obj_Gradient_4)"/><path d="M 89.91 367.48828 L 162.09 367.48828 C 165.76822 367.48828 168.75 370.47006 168.75 374.14828 L 168.75 4
 13.35172 C 168.75 417.02994 165.76822 420.01172 162.09 420.01172 L 89.91 420.01172 C 86.231783 420.01172 83.25 417.02994 83.25 413.35172 L 83.25 374.14828 C 83.25 370.47006 86.231783 367.48828 89.91 367.48828 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(87.25 371.48828)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="25.496094" y="9" textLength="26.507812">Server</tspan></text></g><g id="id7_Graphic"><path d="M 186.66 367.48828 L 258.84 367.48828 C 262.51822 367.48828 265.5 370.47006 265.5 374.14828 L 265.5 413.35172 C 265.5 417.02994 262.51822 420.01172 258.84 420.01172 L 186.66 420.01172 C 182.98178 420.01172 180 417.02994 180 413.35172 L 180 374.14828 C 180 370.47006 182.98178 367.48828 186.66 367.48828 Z" fill="url(#Obj_Gradient_5)"/><path d="M 186.66 367.48828 L 258.84 367.48828 C 262.51822 367.48828 265.5 370.47006 265.5 374.14828 L 265.5 413.35172 C 265.5 41
 7.02994 262.51822 420.01172 258.84 420.01172 L 186.66 420.01172 C 182.98178 420.01172 180 417.02994 180 413.35172 L 180 374.14828 C 180 370.47006 182.98178 367.48828 186.66 367.48828 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(184 371.48828)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="25.496094" y="9" textLength="26.507812">Server</tspan></text></g><g id="id8_Graphic"><path d="M 283.41 367.48828 L 355.59 367.48828 C 359.26822 367.48828 362.25 370.47006 362.25 374.14828 L 362.25 413.35172 C 362.25 417.02994 359.26822 420.01172 355.59 420.01172 L 283.41 420.01172 C 279.73178 420.01172 276.75 417.02994 276.75 413.35172 L 276.75 374.14828 C 276.75 370.47006 279.73178 367.48828 283.41 367.48828 Z" fill="url(#Obj_Gradient_6)"/><path d="M 283.41 367.48828 L 355.59 367.48828 C 359.26822 367.48828 362.25 370.47006 362.25 374.14828 L 362.25 413.35172 C 362.25 417.02994 
 359.26822 420.01172 355.59 420.01172 L 283.41 420.01172 C 279.73178 420.01172 276.75 417.02994 276.75 413.35172 L 276.75 374.14828 C 276.75 370.47006 279.73178 367.48828 283.41 367.48828 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(280.75 371.48828)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="25.496094" y="9" textLength="26.507812">Server</tspan></text></g><g id="id9_Graphic"><path d="M 78.66 389.63672 L 366.84 389.63672 C 370.51822 389.63672 373.5 392.6185 373.5 396.29672 L 373.5 407.72672 C 373.5 411.40494 370.51822 414.38672 366.84 414.38672 L 78.66 414.38672 C 74.981783 414.38672 72 411.40494 72 407.72672 L 72 396.29672 C 72 392.6185 74.981783 389.63672 78.66 389.63672 Z" fill="url(#Obj_Gradient_7)"/><path d="M 78.66 389.63672 L 366.84 389.63672 C 370.51822 389.63672 373.5 392.6185 373.5 396.29672 L 373.5 407.72672 C 373.5 411.40494 370.51822 414.38672 366.
 84 414.38672 L 78.66 414.38672 C 74.981783 414.38672 72 411.40494 72 407.72672 L 72 396.29672 C 72 392.6185 74.981783 389.63672 78.66 389.63672 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id11_Graphic"><path d="M 248.70658 413.26172 C 253.44378 407.63672 250.07797 404.36678 248.6232 402.17945 C 247.16842 399.99212 247.62468 398.8874 248.59245 396.616 C 249.56022 394.34459 251.0395 390.9065 248.70658 390.76172 L 198.17629 390.76172 C 198.17629 390.76172 195.89362 394.05715 195.09251 396.90375 C 194.2914 399.75034 194.97186 402.1481 196.76606 403.83844 C 198.56027 405.5288 201.46821 406.51172 198.17629 413.26172 L 248.70658 413.26172 Z" fill="url(#Obj_Gradient_8)"/><path d="M 248.70658 413.26172 C 253.44378 407.63672 250.07797 404.36678 248.6232 402.17945 C 247.16842 399.99212 247.62468 398.8874 248.59245 396.616 C 249.56022 394.34459 251.0395 390.9065 248.70658 390.76172 L 198.17629 390.76172 C 198.17629 390.76172 195.89362 
 394.05715 195.09251 396.90375 C 194.2914 399.75034 194.97186 402.1481 196.76606 403.83844 C 198.56027 405.5288 201.46821 406.51172 198.17629 413.26172 L 248.70658 413.26172 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(198.75997 392.01172)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="5.0701533" y="8" textLength="40.46875">Partitioned </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="15.7439815" y="18" textLength="16.898438">Data</tspan></text></g><g id="id13_Graphic"><path d="M 238.41 270 L 369.09 270 C 372.76822 270 375.75 272.98178 375.75 276.66 L 375.75 334.215 C 375.75 337.89322 372.76822 340.875 369.09 340.875 L 238.41 340.875 C 234.73178 340.875 231.75 337.89322 231.75 334.215 L 231.75 276.66 C 231.75 272.98178 234.73178 270 238.41 270 Z" fill="url(#Obj_Gradient_9)"/><path d="M 238.41 270 L 369.09 270 C 372.76822 270 375
 .75 272.98178 375.75 276.66 L 375.75 334.215 C 375.75 337.89322 372.76822 340.875 369.09 340.875 L 238.41 340.875 C 234.73178 340.875 231.75 337.89322 231.75 334.215 L 231.75 276.66 C 231.75 272.98178 234.73178 270 238.41 270 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(235.75 274)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="27.143066" y="10" textLength="81.713867">Hibernate Session</tspan></text></g><g id="id14_Graphic"><path d="M 269.91 297 L 337.59 297 C 341.26822 297 344.25 299.98178 344.25 303.66 L 344.25 320.715 C 344.25 324.39322 341.26822 327.375 337.59 327.375 L 269.91 327.375 C 266.23178 327.375 263.25 324.39322 263.25 320.715 L 263.25 303.66 C 263.25 299.98178 266.23178 297 269.91 297 Z" fill="url(#Obj_Gradient_a)"/><path d="M 269.91 297 L 337.59 297 C 341.26822 297 344.25 299.98178 344.25 303.66 L 344.25 320.715 C 344.25 324.39322 341.26822 327.375
  337.59 327.375 L 269.91 327.375 C 266.23178 327.375 263.25 324.39322 263.25 320.715 L 263.25 303.66 C 263.25 299.98178 266.23178 297 269.91 297 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(267.25 301)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="24.995117" y="9" textLength="23.009766">Client</tspan></text></g><path d="M 304.875 252 L 304.875 252 C 304.25368 252 303.75 252.50368 303.75 253.125 L 303.75 256.332 L 303.75 258.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="321.75" y1="252" x2="321.75" y2="258.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="285.75" y1="252" x2="285.75" y2="258.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stro
 ke-linejoin="round" stroke-width=".72000003"/><text transform="translate(235.75 242.5)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="18.863281" y="8" textLength="98.27344">access to Hibernate entities</tspan></text><path d="M 303.75 340.948 L 303.75 342.668 L 303.75 346.91258 C 303.75 349.2568 301.84963 351.15717 299.50541 351.15717 L 226.08156 351.15717 C 224.24159 351.15717 222.75 352.64876 222.75 354.48873 L 222.75 357.82028 L 222.75 359.54028" marker-end="url(#FilledArrow_Marker_2)" marker-start="url(#FilledArrow_Marker_3)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id20_Graphic"><path d="M 274.5 324 L 333 324 C 335.48528 324 337.5 326.01472 337.5 328.5 L 337.5 328.5 C 337.5 330.98528 335.48528 333 333 333 L 274.5 333 C 272.01472 333 270 330.98528 270 328.5 L 270 328.5 C 270 326.01472 272.01472 324 274.5 324 Z" fill="url(#Obj_Gradient_b)"/><path d="M 274.5 324 L 333 324 C 335.485
 28 324 337.5 326.01472 337.5 328.5 L 337.5 328.5 C 337.5 330.98528 335.48528 333 333 333 L 274.5 333 C 272.01472 333 270 330.98528 270 328.5 L 270 328.5 C 270 326.01472 272.01472 324 274.5 324 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(274 324.5)" fill="black"><tspan font-family="Helvetica" font-size="7" font-weight="500" fill="black" x="5.2312012" y="6" textLength="49.037598">connection pool</tspan></text></g><path d="M 287.62071 340.9359 C 286.70618 343.52216 284.23947 345.375 281.34 345.375 L 132.22264 345.375 C 128.78597 345.375 126 348.16097 126 351.59764 L 126 357.82028 L 126 359.54028" marker-end="url(#FilledArrow_Marker_2)" marker-start="url(#FilledArrow_Marker_3)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 319.5 340.948 L 319.5 351 L 319.5 357.82028 L 319.5 359.54028" marker-end="url(#FilledArrow_Marker_2)" marker-start="url(#FilledArrow_Mar
 ker_3)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 383.698 305.4375 L 385.418 305.4375 L 490.0275 305.4375 C 493.70572 305.4375 496.6875 308.41928 496.6875 312.0975 L 496.6875 347.55636" marker-end="url(#FilledArrow_Marker_2)" marker-start="url(#FilledArrow_Marker_3)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(395.5 311.25)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="10.113281" y="8" textLength="68.496094">If data not found in </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="13.009766" y="18" textLength="62.703125">cache, Hibernate </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="5.671875" y="28" textLength="75.15625">accesses database...</tspan></text><g id="id25_Graphic"><path d="M 459 398.07506 L 459 362.25001 C 483.69543 355.4
 262 509.779 355.4262 534.47444 362.25 L 534.47444 398.07506 C 509.779 404.89887 483.69543 404.89887 459 398.07506 Z" fill="url(#Obj_Gradient_c)"/><path d="M 459 398.07506 L 459 362.25001 C 483.69543 355.4262 509.779 355.4262 534.47444 362.25 L 534.47444 398.07506 C 509.779 404.89887 483.69543 404.89887 459 398.07506 Z M 459 362.25001 C 483.69543 369.07382 509.779 369.07382 534.47444 362.25" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><text transform="translate(467.5 374.1929)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.7373047" y="9" textLength="40.02539">Relational</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="10.486572" y="20" textLength="38.526855">Database</tspan></text><g id="id27_Graphic"><path d="M 341.87841 413.66863 C 346.61562 408.04363 343.2498 404.7737 341.79503 402.58637 C 340.34025 400.39903 340.79652 399.2943 341.76429 397.0229 C
  342.73206 394.7515 344.21133 391.31342 341.87841 391.16863 L 291.34812 391.16863 C 291.34813 391.16863 289.06545 394.46407 288.26434 397.31066 C 287.46323 400.15726 288.14369 402.55502 289.9379 404.24536 C 291.7321 405.9357 294.64005 406.91863 291.34812 413.66863 L 341.87841 413.66863 Z" fill="url(#Obj_Gradient_d)"/><path d="M 341.87841 413.66863 C 346.61562 408.04363 343.2498 404.7737 341.79503 402.58637 C 340.34025 400.39903 340.79652 399.2943 341.76429 397.0229 C 342.73206 394.7515 344.21133 391.31342 341.87841 391.16863 L 291.34812 391.16863 C 291.34813 391.16863 289.06545 394.46407 288.26434 397.31066 C 287.46323 400.15726 288.14369 402.55502 289.9379 404.24536 C 291.7321 405.9357 294.64005 406.91863 291.34812 413.66863 L 341.87841 413.66863 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(291.9318 392.41863)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="5.0701
 533" y="8" textLength="40.46875">Partitioned </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="15.7439815" y="18" textLength="16.898438">Data</tspan></text></g><g id="id28_Graphic"><path d="M 147.32583 413.66863 C 152.06304 408.04363 148.697225 404.7737 147.24245 402.58637 C 145.78767 400.39903 146.24394 399.2943 147.21171 397.0229 C 148.179475 394.7515 149.65875 391.31342 147.32583 391.16863 L 96.795544 391.16863 C 96.79555 391.16863 94.51287 394.46407 93.71176 397.31066 C 92.91065 400.15726 93.59111 402.55502 95.385315 404.24536 C 97.17952 405.9357 100.08747 406.91863 96.795544 413.66863 L 147.32583 413.66863 Z" fill="url(#Obj_Gradient_e)"/><path d="M 147.32583 413.66863 C 152.06304 408.04363 148.697225 404.7737 147.24245 402.58637 C 145.78767 400.39903 146.24394 399.2943 147.21171 397.0229 C 148.179475 394.7515 149.65875 391.31342 147.32583 391.16863 L 96.795544 391.16863 C 96.79555 391.16863 94.51287 394.46407 93.71176 397.31066 C 92.91065 40
 0.15726 93.59111 402.55502 95.385315 404.24536 C 97.17952 405.9357 100.08747 406.91863 96.795544 413.66863 L 147.32583 413.66863 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(97.37922 392.41863)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="5.0701533" y="8" textLength="40.46875">Partitioned </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="15.7439815" y="18" textLength="16.898438">Data</tspan></text></g></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/hibernate_overview.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/hibernate_overview.svg b/geode-docs/images_svg/hibernate_overview.svg
new file mode 100644
index 0000000..0fd8669
--- /dev/null
+++ b/geode-docs/images_svg/hibernate_overview.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="146 287 389 228" width="389pt" height="19pc" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 09:06Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(490.5 394.52344) scale(72.40399)"/><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransf
 orm="translate(477 388.16016) scale(43.35671)"/><font-face font-family="Helvetica" font-size="8" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(495 398.28516) scale(72.40399)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(481.5 391.92188) scale(43.35671)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(499.5 402.04688) scale(72.40399)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-fac
 e-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e0e0e0" stop-opacity=".65"/><stop offset="1" stop-color="white" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(378 414) scale(127.358745)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_7" xl:href="#Gradient" gradientTransform="translate(346.5 402.75) scale(72.40399)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient" gradientTransform="translate(517.5 398.25) scale(203.349)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient" gr
 adientTransform="translate(333 396.38672) scale(43.35671)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -7 17 14" markerWidth="17" markerHeight="14" color="#252525"><g><path d="M 14.499999 0 L 0 -5.4374996 L 0 5.4374996 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M 8.9444437 0 L 0 -3.3541664 L 0 3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_3" viewBox="-10 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M -8.9444437 0 L 0 3.3541664 L 0 -3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_a" xl:href="#
 Gradient_2" gradientTransform="translate(343.22444 451.18923) rotate(-90) scale(66.31453)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient" gradientTransform="translate(486 395.6836) scale(43.35671)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>overview</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id19_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id21_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 416.16 3
 42 L 483.84 342 C 487.51822 342 490.5 344.98178 490.5 348.66 L 490.5 387.86344 C 490.5 391.54166 487.51822 394.52344 483.84 394.52344 L 416.16 394.52344 C 412.48178 394.52344 409.5 391.54166 409.5 387.86344 L 409.5 348.66 C 409.5 344.98178 412.48178 342 416.16 342 Z" fill="url(#Obj_Gradient)"/><path d="M 416.16 342 L 483.84 342 C 487.51822 342 490.5 344.98178 490.5 348.66 L 490.5 387.86344 C 490.5 391.54166 487.51822 394.52344 483.84 394.52344 L 416.16 394.52344 C 412.48178 394.52344 409.5 391.54166 409.5 387.86344 L 409.5 348.66 C 409.5 344.98178 412.48178 342 416.16 342 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id4_Graphic"><path d="M 429.66 367.52344 L 470.34 367.52344 C 474.01822 367.52344 477 370.50522 477 374.18344 L 477 381.50016 C 477 385.17838 474.01822 388.16016 470.34 388.16016 L 429.66 388.16016 C 425.98178 388.16016 423 385.17838 423 381.50016 L 423 374.18344 C 423 370.50522 425.98178 367.52344 429.66 367.523
 44 Z" fill="url(#Obj_Gradient_2)"/><path d="M 429.66 367.52344 L 470.34 367.52344 C 474.01822 367.52344 477 370.50522 477 374.18344 L 477 381.50016 C 477 385.17838 474.01822 388.16016 470.34 388.16016 L 429.66 388.16016 C 425.98178 388.16016 423 385.17838 423 381.50016 L 423 374.18344 C 423 370.50522 425.98178 367.52344 429.66 367.52344 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(427 367.8418)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="9.2128906" y="8" textLength="29.796875">Cached </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="14.550781" y="18" textLength="16.898438">Data</tspan></text></g><g id="id5_Graphic"><path d="M 420.66 345.76172 L 488.34 345.76172 C 492.01822 345.76172 495 348.7435 495 352.42172 L 495 391.62516 C 495 395.30338 492.01822 398.28516 488.34 398.28516 L 420.66 398.28516 C 416.98178 398.28516 414 395
 .30338 414 391.62516 L 414 352.42172 C 414 348.7435 416.98178 345.76172 420.66 345.76172 Z" fill="url(#Obj_Gradient_3)"/><path d="M 420.66 345.76172 L 488.34 345.76172 C 492.01822 345.76172 495 348.7435 495 352.42172 L 495 391.62516 C 495 395.30338 492.01822 398.28516 488.34 398.28516 L 420.66 398.28516 C 416.98178 398.28516 414 395.30338 414 391.62516 L 414 352.42172 C 414 348.7435 416.98178 345.76172 420.66 345.76172 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id6_Graphic"><path d="M 434.16 371.28516 L 474.84 371.28516 C 478.51822 371.28516 481.5 374.26694 481.5 377.94516 L 481.5 385.26188 C 481.5 388.9401 478.51822 391.92188 474.84 391.92188 L 434.16 391.92188 C 430.48178 391.92188 427.5 388.9401 427.5 385.26188 L 427.5 377.94516 C 427.5 374.26694 430.48178 371.28516 434.16 371.28516 Z" fill="url(#Obj_Gradient_4)"/><path d="M 434.16 371.28516 L 474.84 371.28516 C 478.51822 371.28516 481.5 374.26694 481.5 377.94516 L 481.
 5 385.26188 C 481.5 388.9401 478.51822 391.92188 474.84 391.92188 L 434.16 391.92188 C 430.48178 391.92188 427.5 388.9401 427.5 385.26188 L 427.5 377.94516 C 427.5 374.26694 430.48178 371.28516 434.16 371.28516 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(431.5 371.60352)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="9.2128906" y="8" textLength="29.796875">Cached </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="14.550781" y="18" textLength="16.898438">Data</tspan></text></g><g id="id7_Graphic"><path d="M 425.16 349.52344 L 492.84 349.52344 C 496.51822 349.52344 499.5 352.50522 499.5 356.18344 L 499.5 395.38688 C 499.5 399.0651 496.51822 402.04688 492.84 402.04688 L 425.16 402.04688 C 421.48178 402.04688 418.5 399.0651 418.5 395.38688 L 418.5 356.18344 C 418.5 352.50522 421.48178 349.52344 425.16 349.52344 Z" fill="url(#Obj_Gr
 adient_5)"/><path d="M 425.16 349.52344 L 492.84 349.52344 C 496.51822 349.52344 499.5 352.50522 499.5 356.18344 L 499.5 395.38688 C 499.5 399.0651 496.51822 402.04688 492.84 402.04688 L 425.16 402.04688 C 421.48178 402.04688 418.5 399.0651 418.5 395.38688 L 418.5 356.18344 C 418.5 352.50522 421.48178 349.52344 425.16 349.52344 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(422.5 353.52344)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="19.996338" y="9" textLength="33.007324">Member</tspan></text></g><g id="id8_Graphic"><path d="M 240.66 324 L 371.34 324 C 375.01822 324 378 326.98178 378 330.66 L 378 407.34 C 378 411.01822 375.01822 414 371.34 414 L 240.66 414 C 236.98178 414 234 411.01822 234 407.34 L 234 330.66 C 234 326.98178 236.98178 324 240.66 324 Z" fill="url(#Obj_Gradient_6)"/><path d="M 240.66 324 L 371.34 324 C 375.01822 324 378 326.98178 378 330.66 L 378 
 407.34 C 378 411.01822 375.01822 414 371.34 414 L 240.66 414 C 236.98178 414 234 411.01822 234 407.34 L 234 330.66 C 234 326.98178 236.98178 324 240.66 324 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(238 328)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="27.143066" y="10" textLength="81.713867">Hibernate Session</tspan></text></g><g id="id9_Graphic"><path d="M 272.16 350.22656 L 339.84 350.22656 C 343.51822 350.22656 346.5 353.20834 346.5 356.88656 L 346.5 396.09 C 346.5 399.76822 343.51822 402.75 339.84 402.75 L 272.16 402.75 C 268.48178 402.75 265.5 399.76822 265.5 396.09 L 265.5 356.88656 C 265.5 353.20834 268.48178 350.22656 272.16 350.22656 Z" fill="url(#Obj_Gradient_7)"/><path d="M 272.16 350.22656 L 339.84 350.22656 C 343.51822 350.22656 346.5 353.20834 346.5 356.88656 L 346.5 396.09 C 346.5 399.76822 343.51822 402.75 339.84 402.75 L 272.16 402.75 C 268.
 48178 402.75 265.5 399.76822 265.5 396.09 L 265.5 356.88656 C 265.5 353.20834 268.48178 350.22656 272.16 350.22656 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(269.5 354.22656)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="19.996338" y="9" textLength="33.007324">Member</tspan></text></g><g id="id10_Graphic"><path d="M 254.16 373.5 L 510.84 373.5 C 514.51822 373.5 517.5 376.48178 517.5 380.16 L 517.5 391.59 C 517.5 395.26822 514.51822 398.25 510.84 398.25 L 254.16 398.25 C 250.48178 398.25 247.5 395.26822 247.5 391.59 L 247.5 380.16 C 247.5 376.48178 250.48178 373.5 254.16 373.5 Z" fill="url(#Obj_Gradient_8)"/><path d="M 254.16 373.5 L 510.84 373.5 C 514.51822 373.5 517.5 376.48178 517.5 380.16 L 517.5 391.59 C 517.5 395.26822 514.51822 398.25 510.84 398.25 L 254.16 398.25 C 250.48178 398.25 247.5 395.26822 247.5 391.59 L 247.5 380.16 C 247.5 376.48178 250.48178 3
 73.5 254.16 373.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id11_Graphic"><path d="M 285.66 375.75 L 326.34 375.75 C 330.01822 375.75 333 378.73178 333 382.41 L 333 389.72672 C 333 393.40494 330.01822 396.38672 326.34 396.38672 L 285.66 396.38672 C 281.98178 396.38672 279 393.40494 279 389.72672 L 279 382.41 C 279 378.73178 281.98178 375.75 285.66 375.75 Z" fill="url(#Obj_Gradient_9)"/><path d="M 285.66 375.75 L 326.34 375.75 C 330.01822 375.75 333 378.73178 333 382.41 L 333 389.72672 C 333 393.40494 330.01822 396.38672 326.34 396.38672 L 285.66 396.38672 C 281.98178 396.38672 279 393.40494 279 389.72672 L 279 382.41 C 279 378.73178 281.98178 375.75 285.66 375.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(283 376.06836)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="9.2128906" y="8" textLength="29.796
 875">Cached </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="14.550781" y="18" textLength="16.898438">Data</tspan></text></g><line x1="306" y1="306" x2="306" y2="312.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="324" y1="306" x2="324" y2="312.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="288" y1="306" x2="288" y2="312.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(238 296.5)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="18.863281" y="8" textLength="98.27344">access to Hibernate entities</tspan></text><path d="M 306 421.948 L 306 423.668 L 306 432 L 306 440.332 L 306 442.052" marker-end="url(#Filled
 Arrow_Marker_2)" marker-start="url(#FilledArrow_Marker_3)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 292.41 450 L 319.59 450 C 323.26822 450 326.25 452.98178 326.25 456.66 L 326.25 470.34 C 326.25 474.01822 323.26822 477 319.59 477 L 292.41 477 C 288.73178 477 285.75 474.01822 285.75 470.34 L 285.75 456.66 C 285.75 452.98178 288.73178 450 292.41 450 Z" stroke="white" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(159.25 422)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="3.5117188" y="8" textLength="131.19922">If data not found in cache, Hibernate </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="30.421875" y="18" textLength="75.15625">accesses database...</tspan></text><g id="id19_Graphic"><path d="M 267.75 492.13214 L 267.75 456.3071 C 292.44543 449.48328 318.52901 449.48328 343.22444 456.
 3071 L 343.22444 492.13214 C 318.52901 498.95595 292.44543 498.95595 267.75 492.13214 Z" fill="url(#Obj_Gradient_a)"/><path d="M 267.75 492.13214 L 267.75 456.3071 C 292.44543 449.48328 318.52901 449.48328 343.22444 456.3071 L 343.22444 492.13214 C 318.52901 498.95595 292.44543 498.95595 267.75 492.13214 Z M 267.75 456.3071 C 292.44543 463.1309 318.52901 463.1309 343.22444 456.3071" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><text transform="translate(276.25 468.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.7373047" y="9" textLength="40.02539">Relational</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="10.486572" y="20" textLength="38.526855">Database</tspan></text><g id="id21_Graphic"><path d="M 438.66 375.04687 L 479.34 375.04687 C 483.01822 375.04687 486 378.02865 486 381.70687 L 486 389.0236 C 486 392.7018 483.01822 395.6836 479.34 395.6836
  L 438.66 395.6836 C 434.98178 395.6836 432 392.7018 432 389.0236 L 432 381.70687 C 432 378.02865 434.98178 375.04687 438.66 375.04687 Z" fill="url(#Obj_Gradient_b)"/><path d="M 438.66 375.04687 L 479.34 375.04687 C 483.01822 375.04687 486 378.02865 486 381.70687 L 486 389.0236 C 486 392.7018 483.01822 395.6836 479.34 395.6836 L 438.66 395.6836 C 434.98178 395.6836 432 392.7018 432 389.0236 L 432 381.70687 C 432 378.02865 434.98178 375.04687 438.66 375.04687 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(436 375.36523)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="9.2128906" y="8" textLength="29.796875">Cached </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="14.550781" y="18" textLength="16.898438">Data</tspan></text></g></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/hibernate_p2p.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/hibernate_p2p.svg b/geode-docs/images_svg/hibernate_p2p.svg
new file mode 100644
index 0000000..bc536dc
--- /dev/null
+++ b/geode-docs/images_svg/hibernate_p2p.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="59 269 499 228" width="499pt" height="19pc" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 09:09Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e0e0e0" stop-opacity=".65"/><stop offset="1" stop-color="white" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(216 396) scale(127.358745)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline
 -position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(184.5 384.75) scale(72.40399)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(378 396) sc
 ale(127.358745)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(346.5 384.75) scale(72.40399)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(540 396) scale(127.358745)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(504 384.75) scale(66.84142)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(517.5 380.25) scale(321.16189)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(171 378.38672) scale(43.35671)"/><font-face font-family="Helvetica" font-size="8" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_9" xl:href="#Gradient_2" gradientT
 ransform="translate(333 378.38672) scale(43.35671)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_2" gradientTransform="translate(495 378.38672) scale(43.35671)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -7 17 14" markerWidth="17" markerHeight="14" color="#252525"><g><path d="M 14.499999 0 L 0 -5.4374996 L 0 5.4374996 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M 8.9444437 0 L 0 -3.3541664 L 0 3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_3" viewBox="-10 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M -8.9444437 0 L 0 3.3541664 L 0 -3.3541664 Z" fill="
 currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_b" xl:href="#Gradient" gradientTransform="translate(343.22444 433.18923) rotate(-90) scale(66.31453)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>p2p</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id27_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id30_Graphic" filter="url(#Shadow)"/
 ></g><g id="id3_Graphic"><path d="M 78.66 306 L 209.34 306 C 213.01822 306 216 308.98178 216 312.66 L 216 389.34 C 216 393.01822 213.01822 396 209.34 396 L 78.66 396 C 74.981783 396 72 393.01822 72 389.34 L 72 312.66 C 72 308.98178 74.981783 306 78.66 306 Z" fill="url(#Obj_Gradient)"/><path d="M 78.66 306 L 209.34 306 C 213.01822 306 216 308.98178 216 312.66 L 216 389.34 C 216 393.01822 213.01822 396 209.34 396 L 78.66 396 C 74.981783 396 72 393.01822 72 389.34 L 72 312.66 C 72 308.98178 74.981783 306 78.66 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(76 310)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="27.143066" y="10" textLength="81.713867">Hibernate Session</tspan></text></g><g id="id4_Graphic"><path d="M 110.16 332.22656 L 177.84 332.22656 C 181.51822 332.22656 184.5 335.20834 184.5 338.88656 L 184.5 378.09 C 184.5 381.76822 181.51822 384.75 177.84 384
 .75 L 110.16 384.75 C 106.481783 384.75 103.5 381.76822 103.5 378.09 L 103.5 338.88656 C 103.5 335.20834 106.481783 332.22656 110.16 332.22656 Z" fill="url(#Obj_Gradient_2)"/><path d="M 110.16 332.22656 L 177.84 332.22656 C 181.51822 332.22656 184.5 335.20834 184.5 338.88656 L 184.5 378.09 C 184.5 381.76822 181.51822 384.75 177.84 384.75 L 110.16 384.75 C 106.481783 384.75 103.5 381.76822 103.5 378.09 L 103.5 338.88656 C 103.5 335.20834 106.481783 332.22656 110.16 332.22656 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(107.5 336.22656)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="12.736572" y="9" textLength="47.526855">Peer Cache</tspan></text></g><g id="id5_Graphic"><path d="M 240.66 306 L 371.34 306 C 375.01822 306 378 308.98178 378 312.66 L 378 389.34 C 378 393.01822 375.01822 396 371.34 396 L 240.66 396 C 236.98178 396 234 393.01822 234 389.34 L 234 312.66 C 
 234 308.98178 236.98178 306 240.66 306 Z" fill="url(#Obj_Gradient_3)"/><path d="M 240.66 306 L 371.34 306 C 375.01822 306 378 308.98178 378 312.66 L 378 389.34 C 378 393.01822 375.01822 396 371.34 396 L 240.66 396 C 236.98178 396 234 393.01822 234 389.34 L 234 312.66 C 234 308.98178 236.98178 306 240.66 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(238 310)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="27.143066" y="10" textLength="81.713867">Hibernate Session</tspan></text></g><g id="id6_Graphic"><path d="M 272.16 332.22656 L 339.84 332.22656 C 343.51822 332.22656 346.5 335.20834 346.5 338.88656 L 346.5 378.09 C 346.5 381.76822 343.51822 384.75 339.84 384.75 L 272.16 384.75 C 268.48178 384.75 265.5 381.76822 265.5 378.09 L 265.5 338.88656 C 265.5 335.20834 268.48178 332.22656 272.16 332.22656 Z" fill="url(#Obj_Gradient_4)"/><path d="M 272.16 332.22656 L 339.
 84 332.22656 C 343.51822 332.22656 346.5 335.20834 346.5 338.88656 L 346.5 378.09 C 346.5 381.76822 343.51822 384.75 339.84 384.75 L 272.16 384.75 C 268.48178 384.75 265.5 381.76822 265.5 378.09 L 265.5 338.88656 C 265.5 335.20834 268.48178 332.22656 272.16 332.22656 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(269.5 336.22656)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="12.736572" y="9" textLength="47.526855">Peer Cache</tspan></text></g><g id="id7_Graphic"><path d="M 402.66 306 L 533.34 306 C 537.01822 306 540 308.98178 540 312.66 L 540 389.34 C 540 393.01822 537.01822 396 533.34 396 L 402.66 396 C 398.98178 396 396 393.01822 396 389.34 L 396 312.66 C 396 308.98178 398.98178 306 402.66 306 Z" fill="url(#Obj_Gradient_5)"/><path d="M 402.66 306 L 533.34 306 C 537.01822 306 540 308.98178 540 312.66 L 540 389.34 C 540 393.01822 537.01822 396 533.34 396 L 402.66 3
 96 C 398.98178 396 396 393.01822 396 389.34 L 396 312.66 C 396 308.98178 398.98178 306 402.66 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(400 310)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="27.143066" y="10" textLength="81.713867">Hibernate Session</tspan></text></g><g id="id8_Graphic"><path d="M 438.66 332.22656 L 497.34 332.22656 C 501.01822 332.22656 504 335.20834 504 338.88656 L 504 378.09 C 504 381.76822 501.01822 384.75 497.34 384.75 L 438.66 384.75 C 434.98178 384.75 432 381.76822 432 378.09 L 432 338.88656 C 432 335.20834 434.98178 332.22656 438.66 332.22656 Z" fill="url(#Obj_Gradient_6)"/><path d="M 438.66 332.22656 L 497.34 332.22656 C 501.01822 332.22656 504 335.20834 504 338.88656 L 504 378.09 C 504 381.76822 501.01822 384.75 497.34 384.75 L 438.66 384.75 C 434.98178 384.75 432 381.76822 432 378.09 L 432 338.88656 C 432 335.20834 434.98178 33
 2.22656 438.66 332.22656 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(436 336.22656)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="8.2365723" y="9" textLength="47.526855">Peer Cache</tspan></text></g><g id="id9_Graphic"><path d="M 96.66 355.5 L 510.84 355.5 C 514.51822 355.5 517.5 358.48178 517.5 362.16 L 517.5 373.59 C 517.5 377.26822 514.51822 380.25 510.84 380.25 L 96.66 380.25 C 92.981783 380.25 90 377.26822 90 373.59 L 90 362.16 C 90 358.48178 92.981783 355.5 96.66 355.5 Z" fill="url(#Obj_Gradient_7)"/><path d="M 96.66 355.5 L 510.84 355.5 C 514.51822 355.5 517.5 358.48178 517.5 362.16 L 517.5 373.59 C 517.5 377.26822 514.51822 380.25 510.84 380.25 L 96.66 380.25 C 92.981783 380.25 90 377.26822 90 373.59 L 90 362.16 C 90 358.48178 92.981783 355.5 96.66 355.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g i
 d="id10_Graphic"><path d="M 123.66 357.75 L 164.34 357.75 C 168.01822 357.75 171 360.73178 171 364.41 L 171 371.72672 C 171 375.40494 168.01822 378.38672 164.34 378.38672 L 123.66 378.38672 C 119.98178 378.38672 117 375.40494 117 371.72672 L 117 364.41 C 117 360.73178 119.98178 357.75 123.66 357.75 Z" fill="url(#Obj_Gradient_8)"/><path d="M 123.66 357.75 L 164.34 357.75 C 168.01822 357.75 171 360.73178 171 364.41 L 171 371.72672 C 171 375.40494 168.01822 378.38672 164.34 378.38672 L 123.66 378.38672 C 119.98178 378.38672 117 375.40494 117 371.72672 L 117 364.41 C 117 360.73178 119.98178 357.75 123.66 357.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(121 358.06836)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="4.0996094" y="8" textLength="40.023438">Replicated </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="14.550781" y="18
 " textLength="16.898438">Data</tspan></text></g><g id="id11_Graphic"><path d="M 285.66 357.75 L 326.34 357.75 C 330.01822 357.75 333 360.73178 333 364.41 L 333 371.72672 C 333 375.40494 330.01822 378.38672 326.34 378.38672 L 285.66 378.38672 C 281.98178 378.38672 279 375.40494 279 371.72672 L 279 364.41 C 279 360.73178 281.98178 357.75 285.66 357.75 Z" fill="url(#Obj_Gradient_9)"/><path d="M 285.66 357.75 L 326.34 357.75 C 330.01822 357.75 333 360.73178 333 364.41 L 333 371.72672 C 333 375.40494 330.01822 378.38672 326.34 378.38672 L 285.66 378.38672 C 281.98178 378.38672 279 375.40494 279 371.72672 L 279 364.41 C 279 360.73178 281.98178 357.75 285.66 357.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(283 358.06836)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="4.0996094" y="8" textLength="40.023438">Replicated </tspan><tspan font-family="Helvetica" font-size="8
 " font-weight="500" fill="black" x="14.550781" y="18" textLength="16.898438">Data</tspan></text></g><g id="id12_Graphic"><path d="M 447.66 357.75 L 488.34 357.75 C 492.01822 357.75 495 360.73178 495 364.41 L 495 371.72672 C 495 375.40494 492.01822 378.38672 488.34 378.38672 L 447.66 378.38672 C 443.98178 378.38672 441 375.40494 441 371.72672 L 441 364.41 C 441 360.73178 443.98178 357.75 447.66 357.75 Z" fill="url(#Obj_Gradient_a)"/><path d="M 447.66 357.75 L 488.34 357.75 C 492.01822 357.75 495 360.73178 495 364.41 L 495 371.72672 C 495 375.40494 492.01822 378.38672 488.34 378.38672 L 447.66 378.38672 C 443.98178 378.38672 441 375.40494 441 371.72672 L 441 364.41 C 441 360.73178 443.98178 357.75 447.66 357.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(445 358.06836)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="4.0996094" y="8" textLength="40.023438">Replicated
  </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="14.550781" y="18" textLength="16.898438">Data</tspan></text></g><line x1="144" y1="288" x2="144" y2="294.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="162" y1="288" x2="162" y2="294.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="126" y1="288" x2="126" y2="294.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(76 278.5)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="18.863281" y="8" textLength="98.27344">access to Hibernate entities</tspan></text><line x1="306" y1="288" x2="306" y2="294.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-lin
 ecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="324" y1="288" x2="324" y2="294.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="288" y1="288" x2="288" y2="294.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(238 278.5)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="18.863281" y="8" textLength="98.27344">access to Hibernate entities</tspan></text><line x1="468" y1="288" x2="468" y2="294.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="486" y1="288" x2="486" y2="294.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="450" y1="288" x
 2="450" y2="294.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(400 278.5)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="18.863281" y="8" textLength="98.27344">access to Hibernate entities</tspan></text><path d="M 144 403.948 L 144 405.668 L 144 409.834 C 144 412.13482 145.86518 414 148.166 414 L 301.834 414 C 304.13482 414 306 415.86518 306 418.166 L 306 422.332 L 306 424.052" marker-end="url(#FilledArrow_Marker_2)" marker-start="url(#FilledArrow_Marker_3)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 306 403.948 L 306 405.668 L 306 414 L 306 422.332 L 306 424.052" marker-end="url(#FilledArrow_Marker_2)" marker-start="url(#FilledArrow_Marker_3)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id27_Graphic"/><path d="M 468 
 403.948 L 468 405.668 L 468 409.834 C 468 412.13482 466.13482 414 463.834 414 L 310.166 414 C 307.86518 414 306 415.86518 306 418.166 L 306 422.332 L 306 424.052" marker-end="url(#FilledArrow_Marker_2)" marker-start="url(#FilledArrow_Marker_3)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(134.5 419.75)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="3.5117188" y="8" textLength="131.19922">If data not found in cache, Hibernate </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="30.421875" y="18" textLength="75.15625">accesses database...</tspan></text><g id="id30_Graphic"><path d="M 267.75 474.13214 L 267.75 438.3071 C 292.44543 431.48328 318.52901 431.48328 343.22444 438.3071 L 343.22444 474.13214 C 318.52901 480.95595 292.44543 480.95595 267.75 474.13214 Z" fill="url(#Obj_Gradient_b)"/><path d="M 267.75 474.13214 L 267.75 438.3071 C
  292.44543 431.48328 318.52901 431.48328 343.22444 438.3071 L 343.22444 474.13214 C 318.52901 480.95595 292.44543 480.95595 267.75 474.13214 Z M 267.75 438.3071 C 292.44543 445.1309 318.52901 445.1309 343.22444 438.3071" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><text transform="translate(276.25 450.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.7373047" y="9" textLength="40.02539">Relational</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="10.486572" y="20" textLength="38.526855">Database</tspan></text></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/how_partitioning_works_1.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/how_partitioning_works_1.svg b/geode-docs/images_svg/how_partitioning_works_1.svg
new file mode 100644
index 0000000..b7cd2a2
--- /dev/null
+++ b/geode-docs/images_svg/how_partitioning_works_1.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="181 308 386 413" width="386pt" height="413pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 10:44Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".3" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(302.625 564.75) scale(97.349884)"/><font-face font-family="Helvetica" font-size="11" units-per-em="1000" underl
 ine-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(230.625 542.25) scale(19.091883)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="
 -75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_2" gradientTransform="translate(257.625 542.25) scale(19.091883)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(284.625 542.25) scale(19.091883)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(518.625 447.75) scale(97.349884)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(473.625 439.51596) scale(19.091883)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient" gradientTransform="translate(518.625 564.75) scale(97.349884)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(473.625 556.97074) scale(19.091883)"/><radialGradient id="Obj_Gradie
 nt_9" xl:href="#Gradient" gradientTransform="translate(518.625 681.75) scale(97.349884)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_2" gradientTransform="translate(473.625 674.7367) scale(19.091883)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>how_it_works_1</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id19_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id20_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 201.285 492.75 L 295.965 492.75 C 299.64322 492.75
  302.625 495.73178 302.625 499.41 L 302.625 558.09 C 302.625 561.7682 299.64322 564.75 295.965 564.75 L 201.285 564.75 C 197.60678 564.75 194.625 561.7682 194.625 558.09 L 194.625 499.41 C 194.625 495.73178 197.60678 492.75 201.285 492.75 Z" fill="url(#Obj_Gradient)"/><path d="M 201.285 492.75 L 295.965 492.75 C 299.64322 492.75 302.625 495.73178 302.625 499.41 L 302.625 558.09 C 302.625 561.7682 299.64322 564.75 295.965 564.75 L 201.285 564.75 C 197.60678 564.75 194.625 561.7682 194.625 558.09 L 194.625 499.41 C 194.625 495.73178 197.60678 492.75 201.285 492.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(198.625 496.75)" fill="black"><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="4.7485352" y="10" textLength="93.55908">Partitioned Region </tspan><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="46.331543" y="23" textLength="7.336914">A</tspan></
 text></g><text transform="translate(198.625 470.75)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="10.823242" y="14" textLength="57.592773">Logical V</tspan><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="68.16992" y="14" textLength="21.006836">iew</tspan></text><g id="id5_Graphic"><path d="M 219.285 524.25 L 223.965 524.25 C 227.64322 524.25 230.625 527.23178 230.625 530.91 L 230.625 535.59 C 230.625 539.26822 227.64322 542.25 223.965 542.25 L 219.285 542.25 C 215.60678 542.25 212.625 539.26822 212.625 535.59 L 212.625 530.91 C 212.625 527.23178 215.60678 524.25 219.285 524.25 Z" fill="url(#Obj_Gradient_2)"/><path d="M 219.285 524.25 L 223.965 524.25 C 227.64322 524.25 230.625 527.23178 230.625 530.91 L 230.625 535.59 C 230.625 539.26822 227.64322 542.25 223.965 542.25 L 219.285 542.25 C 215.60678 542.25 212.625 539.26822 212.625 535.59 L 212.625 530.91 C 212.625 527.23178 215.60678 524.25 219.285 524.25
  Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(216.625 527.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id6_Graphic"><path d="M 246.285 524.25 L 250.965 524.25 C 254.64322 524.25 257.625 527.23178 257.625 530.91 L 257.625 535.59 C 257.625 539.26822 254.64322 542.25 250.965 542.25 L 246.285 542.25 C 242.60678 542.25 239.625 539.26822 239.625 535.59 L 239.625 530.91 C 239.625 527.23178 242.60678 524.25 246.285 524.25 Z" fill="url(#Obj_Gradient_3)"/><path d="M 246.285 524.25 L 250.965 524.25 C 254.64322 524.25 257.625 527.23178 257.625 530.91 L 257.625 535.59 C 257.625 539.26822 254.64322 542.25 250.965 542.25 L 246.285 542.25 C 242.60678 542.25 239.625 539.26822 239.625 535.59 L 239.625 530.91 C 239.625 527.23178 242.60678 524.25 246.285 524.25 Z" stroke="#252525" stroke-linecap="round" stroke-l
 inejoin="round" stroke-width=".72000003"/><text transform="translate(243.625 527.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><g id="id7_Graphic"><path d="M 273.285 524.25 L 277.965 524.25 C 281.64322 524.25 284.625 527.23178 284.625 530.91 L 284.625 535.59 C 284.625 539.26822 281.64322 542.25 277.965 542.25 L 273.285 542.25 C 269.60678 542.25 266.625 539.26822 266.625 535.59 L 266.625 530.91 C 266.625 527.23178 269.60678 524.25 273.285 524.25 Z" fill="url(#Obj_Gradient_4)"/><path d="M 273.285 524.25 L 277.965 524.25 C 281.64322 524.25 284.625 527.23178 284.625 530.91 L 284.625 535.59 C 284.625 539.26822 281.64322 542.25 277.965 542.25 L 273.285 542.25 C 269.60678 542.25 266.625 539.26822 266.625 535.59 L 266.625 530.91 C 266.625 527.23178 269.60678 524.25 273.285 524.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text tran
 sform="translate(270.625 527.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.2512207" y="9" textLength="5.4975586">Z</tspan></text></g><g id="id8_Graphic"><path d="M 417.285 375.75 L 511.965 375.75 C 515.64322 375.75 518.625 378.73178 518.625 382.41 L 518.625 441.09 C 518.625 444.76822 515.64322 447.75 511.965 447.75 L 417.285 447.75 C 413.60678 447.75 410.625 444.76822 410.625 441.09 L 410.625 382.41 C 410.625 378.73178 413.60678 375.75 417.285 375.75 Z" fill="url(#Obj_Gradient_5)"/><path d="M 417.285 375.75 L 511.965 375.75 C 515.64322 375.75 518.625 378.73178 518.625 382.41 L 518.625 441.09 C 518.625 444.76822 515.64322 447.75 511.965 447.75 L 417.285 447.75 C 413.60678 447.75 410.625 444.76822 410.625 441.09 L 410.625 382.41 C 410.625 378.73178 413.60678 375.75 417.285 375.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(414.625 379.75)" fill="black"><tspa
 n font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="4.7485352" y="10" textLength="93.55908">Partitioned Region </tspan><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="46.331543" y="23" textLength="7.336914">A</tspan></text></g><text transform="translate(419.125 317.75)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="6.9404297" y="14" textLength="65.3584">Physical V</tspan><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="72.052734" y="14" textLength="21.006836">iew</tspan></text><g id="id10_Graphic"><path d="M 462.285 421.51596 L 466.965 421.51596 C 470.64322 421.51596 473.625 424.49774 473.625 428.17596 L 473.625 432.85596 C 473.625 436.53417 470.64322 439.51596 466.965 439.51596 L 462.285 439.51596 C 458.60678 439.51596 455.625 436.53417 455.625 432.85596 L 455.625 428.17596 C 455.625 424.49774 458.60678 421.51596 462.285 421.51596 Z" fill="url(#Obj_Gr
 adient_6)"/><path d="M 462.285 421.51596 L 466.965 421.51596 C 470.64322 421.51596 473.625 424.49774 473.625 428.17596 L 473.625 432.85596 C 473.625 436.53417 470.64322 439.51596 466.965 439.51596 L 462.285 439.51596 C 458.60678 439.51596 455.625 436.53417 455.625 432.85596 L 455.625 428.17596 C 455.625 424.49774 458.60678 421.51596 462.285 421.51596 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(459.625 425.01596)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><rect x="401.625" y="357.75" width="135" height="99" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="334.125" y="407.25" width="135" height="10.8333333" fill="#efefef"/><text transform="translate(336.125 406.16667)" fill="black"><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="bl
 ack" x="80.248535" y="10" textLength="50.751465">Machine 1</tspan></text><g id="id14_Graphic"><path d="M 417.285 492.75 L 511.965 492.75 C 515.64322 492.75 518.625 495.73178 518.625 499.41 L 518.625 558.09 C 518.625 561.7682 515.64322 564.75 511.965 564.75 L 417.285 564.75 C 413.60678 564.75 410.625 561.7682 410.625 558.09 L 410.625 499.41 C 410.625 495.73178 413.60678 492.75 417.285 492.75 Z" fill="url(#Obj_Gradient_7)"/><path d="M 417.285 492.75 L 511.965 492.75 C 515.64322 492.75 518.625 495.73178 518.625 499.41 L 518.625 558.09 C 518.625 561.7682 515.64322 564.75 511.965 564.75 L 417.285 564.75 C 413.60678 564.75 410.625 561.7682 410.625 558.09 L 410.625 499.41 C 410.625 495.73178 413.60678 492.75 417.285 492.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(414.625 496.75)" fill="black"><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="4.7485352" y="10" textLength="93.55908">P
 artitioned Region </tspan><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="46.331543" y="23" textLength="7.336914">A</tspan></text></g><g id="id15_Graphic"><path d="M 462.285 538.97074 L 466.965 538.97074 C 470.64322 538.97074 473.625 541.95253 473.625 545.63074 L 473.625 550.31074 C 473.625 553.98896 470.64322 556.97074 466.965 556.97074 L 462.285 556.97074 C 458.60678 556.97074 455.625 553.98896 455.625 550.31074 L 455.625 545.63074 C 455.625 541.95253 458.60678 538.97074 462.285 538.97074 Z" fill="url(#Obj_Gradient_8)"/><path d="M 462.285 538.97074 L 466.965 538.97074 C 470.64322 538.97074 473.625 541.95253 473.625 545.63074 L 473.625 550.31074 C 473.625 553.98896 470.64322 556.97074 466.965 556.97074 L 462.285 556.97074 C 458.60678 556.97074 455.625 553.98896 455.625 550.31074 L 455.625 545.63074 C 455.625 541.95253 458.60678 538.97074 462.285 538.97074 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><te
 xt transform="translate(459.625 542.47074)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><rect x="401.625" y="474.75" width="135" height="99" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="334.125" y="524.25" width="135" height="10.8333333" fill="#efefef"/><text transform="translate(336.125 523.16667)" fill="black"><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="80.248535" y="10" textLength="50.751465">Machine 2</tspan></text><g id="id19_Graphic"><path d="M 417.285 609.75 L 511.965 609.75 C 515.64322 609.75 518.625 612.7318 518.625 616.41 L 518.625 675.09 C 518.625 678.7682 515.64322 681.75 511.965 681.75 L 417.285 681.75 C 413.60678 681.75 410.625 678.7682 410.625 675.09 L 410.625 616.41 C 410.625 612.7318 413.60678 609.75 417.285 609.75 Z" fill="url(#Obj_Gradient_9)"/><path d="M 417.285 609.75
  L 511.965 609.75 C 515.64322 609.75 518.625 612.7318 518.625 616.41 L 518.625 675.09 C 518.625 678.7682 515.64322 681.75 511.965 681.75 L 417.285 681.75 C 413.60678 681.75 410.625 678.7682 410.625 675.09 L 410.625 616.41 C 410.625 612.7318 413.60678 609.75 417.285 609.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(414.625 613.75)" fill="black"><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="4.7485352" y="10" textLength="93.55908">Partitioned Region </tspan><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="46.331543" y="23" textLength="7.336914">A</tspan></text></g><g id="id20_Graphic"><path d="M 462.285 656.7367 L 466.965 656.7367 C 470.64322 656.7367 473.625 659.7185 473.625 663.3967 L 473.625 668.0767 C 473.625 671.7549 470.64322 674.7367 466.965 674.7367 L 462.285 674.7367 C 458.60678 674.7367 455.625 671.7549 455.625 668.0767 L 455.625 663.39
 67 C 455.625 659.7185 458.60678 656.7367 462.285 656.7367 Z" fill="url(#Obj_Gradient_a)"/><path d="M 462.285 656.7367 L 466.965 656.7367 C 470.64322 656.7367 473.625 659.7185 473.625 663.3967 L 473.625 668.0767 C 473.625 671.7549 470.64322 674.7367 466.965 674.7367 L 462.285 674.7367 C 458.60678 674.7367 455.625 671.7549 455.625 668.0767 L 455.625 663.3967 C 455.625 659.7185 458.60678 656.7367 462.285 656.7367 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(459.625 660.2367)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.2512207" y="9" textLength="5.4975586">Z</tspan></text></g><rect x="401.625" y="591.75" width="135" height="99" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="334.125" y="641.25" width="135" height="10.8333333" fill="#efefef"/><text transform="translate(336.125 640.16667)" fill="black"><tspan font-
 family="Helvetica" font-size="11" font-weight="500" fill="black" x="80.248535" y="10" textLength="50.751465">Machine 3</tspan></text><line x1="300.91934" y1="494.95914" x2="392.625" y2="339.75" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><line x1="300.44138" y1="563.0213" x2="392.625" y2="708.75" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><line x1="392.625" y1="339.75" x2="554.625" y2="339.75" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><line x1="554.625" y1="339.75" x2="554.625" y2="708.75" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><line x1="392.625" y1="708.75" x2="554.625" y2="708.75" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/></g></g></
 svg>


[08/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/heap_use/off_heap_management.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/heap_use/off_heap_management.html.md.erb b/geode-docs/managing/heap_use/off_heap_management.html.md.erb
new file mode 100644
index 0000000..0c8bf7c
--- /dev/null
+++ b/geode-docs/managing/heap_use/off_heap_management.html.md.erb
@@ -0,0 +1,192 @@
+---
+title: Managing Off-Heap Memory
+---
+<a id="managing-off-heap-memory"></a>
+
+
+Geode can be configured to store region values in off-heap memory, which is memory within the JVM that is not subject to Java garbage collection.
+
+Garbage collection (GC) within a JVM can prove to be a performance impediment. A server cannot exert control over when garbage collection within the JVM heap memory takes place, and the server has little control over the triggers for invocation. Off-heap memory offloads values to a storage area that is not subject to Java GC. By taking advantage of off-heap storage, an application can reduce the amount of heap storage that is subject to GC overhead.
+
+Off-heap memory works in conjunction with the heap, it does not replace it. The keys are stored in heap memory space. Geode's own memory manager handles the off-heap memory with better performance than the Java garbage collector would for certain sets of region data.
+
+The resource manager monitors the contents of off-heap memory and invokes memory management operations in accordance with two thresholds similar to those used for monitoring the JVM heap: `eviction-off-heap-percentage` and `critical-off-heap-percentage`.
+
+## On-heap and Off-heap Objects
+
+The following objects are always stored in the JVM heap:
+
+-   Region metadata
+-   Entry metadata
+-   Keys
+-   Indexes
+-   Subscription queue elements
+
+The following objects can be stored in off-heap memory:
+
+-   Values - maximum value size is 2GB
+-   Reference counts
+-   List of free memory blocks
+-   WAN queue elements
+
+**Note:**
+Do not use functional range indexes with off-heap data, as they are not supported. An attempt to do so generates an exception.
+
+## Off-heap Recommendations
+
+Off-heap storage is best suited to data patterns where:
+
+-   Stored values are relatively uniform in size
+-   Stored values are mostly less than 128K in size
+-   The usage patterns involve cycles of many creates followed by destroys or clear
+-   The values do not need to be frequently deserialized
+-   Many of the values are long-lived reference data
+
+Be aware that Geode has to perform extra work to access the data stored in off-heap memory since it is stored in serialized form. This extra work may cause some use cases to run slower in an off-heap configuration, even though they use less memory and avoid garbage collection overhead. However, even with the extra deserialization, off-heap storage may give you the best performance. Features that may increase overhead include
+
+-   frequent updates
+-   stored values of widely varying sizes
+-   deltas
+-   queries
+
+## Implementation Details
+
+The off-heap memory manager is efficient at handling region data values that are all the same size or are of fixed sizes. With fixed and same-sized data values allocated within the off-heap memory, freed chunks can often be re-used, and there is little or no need to devote cycles to defragmentation.
+
+Region values that are less than or equal to eight bytes in size will not reside in off-heap memory, even if the region is configured to use off-heap memory. These very small size region values reside in the JVM heap in place of a reference to an off-heap location. This performance enhancement saves space and load time.
+
+## Controlling Off-heap Use with the Resource Manager
+
+The Geode resource manager controls off-heap memory by means of two thresholds, in much the same way as it does JVM heap memory. See [Using the Geode Resource Manager](heap_management.html#how_the_resource_manager_works). The resource manager prevents the cache from consuming too much off-heap memory by evicting old data. If the off-heap memory manager is unable to keep up, the resource manager refuses additions to the cache until the off-heap memory manager has freed an adequate amount of memory.
+
+The resource manager has two threshold settings, each expressed as a percentage of the total off-heap memory. Both are disabled by default.
+
+1.  **Eviction Threshold**. The percentage of off-heap memory at which eviction should begin. Evictions continue until the resource manager determines that off-heap memory use is again below the eviction threshold. Set the eviction threshold with the `eviction-off-heap-percentage` region attribute. The resource manager enforces an eviction threshold only on regions with the HEAP\_LRU characteristic. If critical threshold is non-zero, the default eviction threshold is 5% below the critical threshold. If critical threshold is zero, the default eviction threshold is 80% of total off-heap memory.
+
+    The resource manager enforces eviction thresholds only on regions whose LRU eviction policies are based on heap percentage. Regions whose eviction policies based on entry count or memory size use other mechanisms to manage evictions. See [Eviction](../../developing/eviction/chapter_overview.html) for more detail regarding eviction policies.
+
+2.  **Critical Threshold**. The percentage of off-heap memory at which the cache is at risk of becoming inoperable. When cache use exceeds the critical threshold, all activity that might add data to the cache is refused. Any operation that would increase consumption of off-heap memory throws a `LowMemoryException` instead of completing its operation. Set the critical threshold with the `critical-off-heap-percentage` region attribute.
+
+    Critical threshold is enforced on all regions, regardless of LRU eviction policy, though it can be set to zero to disable its effect.
+
+## Specifying Off-heap Memory
+
+To use off-heap memory, specify the following options when setting up servers and regions:
+
+-   Start the JVM as described in [Tuning the JVM's Garbage Collection Parameters](heap_management.html#section_590DA955523246ED980E4E351FF81F71). In particular, set the initial and maximum heap sizes to the same value. Sizes less than 32GB are optimal when you plan to use off-heap memory.
+-   From gfsh, start each server that will support off-heap memory with a non-zero `off-heap-memory-size` value, specified in megabytes (m) or gigabytes (g). If you plan to use the resource manager, specify critical threshold, eviction threshold, or (in most cases) both.
+
+    Example:
+
+    ``` pre
+    gfsh> start server --name=server1 -\u2013initial-heap=10G -\u2013max-heap=10G -\u2013off-heap-memory-size=200G \
+    -\u2013lock-memory=true -\u2013critical-off-heap-percentage=90 -\u2013eviction-off-heap-percentage=80
+    ```
+
+-   Mark regions whose entry values should be stored off-heap by setting the `off-heap` region attribute to `true` Configure other region attributes uniformly for all members that host data for the same region. .
+
+    Example:
+
+    ``` pre
+    gfsh>create region --name=region1 --type=PARTITION_HEAP_LRU --off-heap=true
+    ```
+
+## gfsh Off-heap Support
+
+gfsh supports off-heap memory in server and region creation operations and in reporting functions:
+
+alter disk-store  
+`--off-heap=(true | false)` resets the off-heap attribute for the specified region. See [alter disk-store](../../tools_modules/gfsh/command-pages/alter.html#topic_99BCAD98BDB5470189662D2F308B68EB) for details.
+
+create region  
+`--off-heap=(true | false) `sets the off-heap attribute for the specified region. See [create region](../../tools_modules/gfsh/command-pages/create.html#topic_54B0985FEC5241CA9D26B0CE0A5EA863) for details.
+
+describe member  
+displays off-heap size
+
+describe offline-disk-store  
+shows if an off-line region is off-heap
+
+describe region  
+displays the value of a region's off-heap attribute
+
+show metrics  
+includes off-heap metrics `maxMemory`, `freeMemory`, `usedMemory`, `objects`, `fragmentation` and `defragmentationTime`
+
+start server  
+supports off-heap options `--lock-memory`, `\u2011\u2011off-heap-memory-size`, `\u2011\u2011critical-off-heap-percentage`, and `\u2011\u2011eviction-off-heap-percentage` See [start server](../../tools_modules/gfsh/command-pages/start.html#topic_3764EE2DB18B4AE4A625E0354471738A) for details.
+
+## ResourceManager API
+
+The `org.apache.geode.cache.control.ResourceManager` interface defines methods that support off-heap use:
+
+-   `public void setCriticalOffHeapPercentage(float Percentage)`
+-   `public float getCriticalOffHeapPercentage()`
+-   `public void setEvictionOffHeapPercentage(float Percentage)`
+-   `public float getEvictionOffHeapPercentage()`
+
+The gemfire.properties file supports one off-heap property:
+
+`off-heap-memory-size`  
+Specifies the size of off-heap memory in megabytes (m) or gigabytes (g). For example:
+
+``` pre
+off-heap-memory-size=4096m
+off-heap-memory-size=120g
+```
+
+See [gemfire.properties and gfsecurity.properties (Geode Properties)](../../reference/topics/gemfire_properties.html) for details.
+
+The cache.xml file supports one region attribute:
+
+`off-heap(=true | false)`  
+Specifies that the region uses off-heap memory; defaults to `false`. For example:
+
+``` pre
+<region-attributes
+  off-heap="true">
+</region-attributes>
+```
+
+See [&lt;region-attributes&gt;](../../reference/topics/cache_xml.html#region-attributes) for details.
+
+The cache.xml file supports two resource manager attributes:
+
+`critical-off-heap-percentage=value`  
+Specifies the percentage of off-heap memory at or above which the cache is considered in danger of becoming inoperable due to out of memory exceptions. See [&lt;resource-manager&gt;](../../reference/topics/cache_xml.html#resource-manager) for details.
+
+`eviction-off-heap-percentage=value`  
+Specifies the percentage of off-heap memory at or above which eviction should begin. Can be set for any region, but actively operates only in regions configured for HEAP\_LRU eviction. See [&lt;resource-manager&gt;](../../reference/topics/cache_xml.html#resource-manager) for details.
+
+For example:
+
+``` pre
+<cache>
+...
+   <resource-manager 
+      critical-off-heap-percentage="99.9" 
+      eviction-off-heap=-percentage="85"/>
+...
+</cache>
+```
+
+## <a id="managing-off-heap-memory__section_o4s_tg5_gv" class="no-quick-link"></a>Tuning Off-heap Memory Usage
+
+Geode collects statistics on off-heap memory usage which you can view with the gfsh `show metrics` command. See [Off-Heap (OffHeapMemoryStats)](../../reference/statistics/statistics_list.html#topic_ohc_tjk_w5) for a description of available off-heap statistics.
+
+Off-heap memory is optimized, by default, for storing values of 128 KB in size. This figure is known as the "maximum optimized stored value size," which we will denote here by *maxOptStoredValSize*. If your data typically runs larger, you can enhance performance by increasing the OFF\_HEAP\_FREE\_LIST\_COUNT system parameter to a number larger than `maxOptStoredValSize/8`, where *maxOptStoredValSize* is expressed in KB (1024 bytes). So, the default values correspond to:
+
+``` pre
+128 KB / 8 = (128 * 1024) / 8 = 131,072 / 8 = 16,384
+-Dgemfire.OFF_HEAP_FREE_LIST_COUNT=16384
+```
+
+To optimize for a maximum optimized stored value size that is twice the default, or 256 KB, the free list count should be doubled:
+
+``` pre
+-Dgemfire.OFF_HEAP_FREE_LIST_COUNT=32768
+```
+
+During the tuning process, you can toggle the `off-heap` region attribute on and off, leaving other off-heap settings and parameters in place, in order to compare your application's on-heap and off-heap performance.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/logging/configuring_log4j2.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/logging/configuring_log4j2.html.md.erb b/geode-docs/managing/logging/configuring_log4j2.html.md.erb
new file mode 100644
index 0000000..09239d7
--- /dev/null
+++ b/geode-docs/managing/logging/configuring_log4j2.html.md.erb
@@ -0,0 +1,51 @@
+---
+title:  Advanced Users\u2014Configuring Log4j 2 for Geode
+---
+
+Basic Geode logging configuration is configured via the gemfire.properties file. This topic is intended for advanced users who need increased control over logging due to integration with third-party libraries.
+
+The default `log4j2.xml` that Geode uses is stored in geode.jar as `log4j2-default.xml`. The contents of the configuration can be viewed in the product distribution in the following location: `$GEMFIRE/defaultConfigs/log4j2.xml`.
+
+To specify your own `log4j2.xml` configuration file (or anything else supported by Log4j 2 such as .json or .yaml), use the following flag when starting up your JVM or Geode member:
+
+``` pre
+-Dlog4j.configurationFile=<location-of-your-file>
+```
+
+If the Java system property `log4j.configurationFile` is specified, then Geode will not use the `log4j2-default.xml` included in geode.jar. However, Geode will still create and register a AlertAppender and LogWriterAppender if the `alert-level` and `log-file` Geode properties are configured. You can then use the Geode LogWriter to log to Geode's log or to generate an Alert and receive log statements from customer's application and all third party libraries. Alternatively, you can use any front-end logging API that is configured to log to Log4j 2.
+
+## Using Different Front-End Logging APIs to Log to Log4j2
+
+You can also configure Log4j 2 to work with various popular and commonly used logging APIs. To obtain and configure the most popular front-end logging APIs to log to Log4j 2, see the instructions on the Apache Log4j 2 web site at [http://logging.apache.org/log4j/2.x/](http://logging.apache.org/log4j/2.x/).
+
+For example, if you are using:
+
+-   **Commons Logging**, download "Commons Logging Bridge" (`log4j-jcl-2.1.jar`)
+-   **SLF4J**, download "SLFJ4 Binding" (`log4j-slf4j-impl-2.1.jar`)
+-   **java.util.logging**, download the "JUL adapter" (`log4j-jul-2.1.jar`)
+
+See [http://logging.apache.org/log4j/2.x/faq.html](http://logging.apache.org/log4j/2.x/faq.html) for more examples.
+
+All three of the above JAR files are in the full distribution of Log4J 2.1 which can be downloaded at [http://logging.apache.org/log4j/2.x/download.html](http://logging.apache.org/log4j/2.x/download.html). Download the appropriate bridge, adapter, or binding JARs to ensure that Geode logging is integrated with every logging API used in various third-party libraries or in your own applications.
+
+**Note:**
+Apache Geode has been tested with Log4j 2.1. As newer versions of Log4j 2 come out, you can find 2.1 under Previous Releases on that page.
+
+## Customizing Your Own log4j2.xml File
+
+Advanced users may want to move away entirely from setting `log-*` gemfire properties and instead specify their own `log4j2.xml` using `-Dlog4j.configurationFile`.
+
+Custom Log4j 2 configuration in Geode comes with some caveats and notes:
+
+-   Do not use `"monitorInterval="` in your log4j2.xml file because doing so can have significant performance impact. This setting instructs Log4j 2 to monitor the log4j2.xml config file at runtime and automatically reload and reconfigure if the file changes.
+-   Geode's default `log4j2.xml` specifies status="FATAL" because Log4j 2's StatusLogger generates warnings to standard out at ERROR level anytime Geode stops its AlertAppender or LogWriterAppender. Geode uses a lot of concurrent threads that are executing code with log statements; these threads may be logging while the Geode appenders are being stopped.
+-   Geode's default log4j2.xml specifies `shutdownHook="disable"` because Geode has a shutdown hook which disconnects the DistributedSystem and closes the Cache, which is executing the code that performs logging. If the Log4J2 shutdown hook stops logging before Geode completes its shutdown, Log4j 2 will attempt to start back up. This restart in turn attempts to register another Log4j 2 shutdown hook which fails resulting in a FATAL level message logged by Log4j 2.
+-   The GEMFIRE\_VERBOSE marker (Log4J2 Marker are discussed on [http://logging.apache.org/log4j/2.x/manual/markers.html](http://logging.apache.org/log4j/2.x/manual/markers.html)) can be used to enable additional verbose log statements at TRACE level. Many log statements are enabled simply by enabling DEBUG or TRACE. However, even more log statements can be further enabled by using MarkerFilter to accept GEMFIRE\_VERBOSE. The default Geode `log4j2.xml` disables GEMFIRE\_VERBOSE with this line:
+
+    ``` pre
+    <MarkerFilter marker="GEMFIRE_VERBOSE" onMatch="DENY" onMismatch="NEUTRAL"/> 
+    ```
+
+    You can enable the GEMFIRE\_VERBOSE log statements by changing `onMatch="DENY"` to `onMatch="ACCEPT"`. Typically, it's more useful to simply enable DEBUG or TRACE on certain classes or packages instead of for the entire Geode product. However, this setting can be used for internal debugging purposes if all other debugging methods fail.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/logging/how_logging_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/logging/how_logging_works.html.md.erb b/geode-docs/managing/logging/how_logging_works.html.md.erb
new file mode 100644
index 0000000..0f223a4
--- /dev/null
+++ b/geode-docs/managing/logging/how_logging_works.html.md.erb
@@ -0,0 +1,22 @@
+---
+title:  How Geode Logging Works
+---
+
+Apache Geode uses Apache Log4j 2 as the basis for its logging system.
+
+Geode uses [Apache Log4j 2](http://logging.apache.org/log4j/2.x/) API and Core libraries as the basis for its logging system. Log4j 2 API is a popular and powerful front-end logging API used by all the Geode classes to generate log statements. Log4j 2 Core is a backend implementation for logging; you can route any of the front-end logging API libraries to log to this backend. Geode uses the Core backend to run two custom Log4j 2 Appenders: **AlertAppender** and **LogWriterAppender**.
+
+Geode has been tested with Log4j 2.1.
+
+**Note:**
+For this reason, Geode now always requires the following JARs to be in the classpath: `log4j-api-2.1.jar`, `log4j-core-2.1.jar`. Both of these JARs are distributed in the `$GEMFIRE/lib` directory and included in the appropriate `*-dependencies.jar` convenience libraries.
+
+**AlertAppender** is the component that generates Geode alerts that are then managed by the JMX Management and Monitoring system. See [Notification Federation](../management/notification_federation_and_alerts.html#topic_212EE5A2ABAB4E8E8EF71807C9ECEF1A) for more details.
+
+**LogWriterAppender** is the component that is configured by all the `log-*` Geode properties such as `log-file`, `log-file-size-limit` and `log-disk-space-limit`.
+
+Both of these appenders are created and controlled programmatically. You configure their behavior with the `log-*` Geode properties and the alert level that is configured within the JMX Management & Monitoring system. These appenders do not currently support configuration within a `log4j2.xml` config file.
+
+Advanced users may wish to define their own `log4j2.xml`. See [Advanced Users\u2014Configuring Log4j 2 for Geode](configuring_log4j2.html) for more details.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/logging/log_collection_utility.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/logging/log_collection_utility.html.md.erb b/geode-docs/managing/logging/log_collection_utility.html.md.erb
new file mode 100644
index 0000000..92d324b
--- /dev/null
+++ b/geode-docs/managing/logging/log_collection_utility.html.md.erb
@@ -0,0 +1,54 @@
+---
+title:  Log Collection Utility
+---
+
+To aid in the troubleshooting of Apache Geode issues, you can use the provided log collection utility to gather and upload log files and other troubleshooting artifacts. This tool is only supported on Linux machines.
+
+This utility is used to gather log files and other troubleshooting artifacts from a Geode cluster.
+
+The tool goes through and collects all files ending with `.log`, `.err`, .`cfg`, `.gfs`, `.stack`, `.xml`, `.properties,` and `.txt` from the working directories of running Geode processes. It also obtains thread dumps for each Geode process but will not collect heap dumps.
+
+The collection utility copies all log and artifact files to its host machine and then compresses all the files. You should ensure that the machine running the utility has sufficient disk space to hold all the collected log and artifact files from the cluster.
+
+In default mode, the tool requires that a Geode process is running on each machine where the tool is gathering logs and artifact files. If you would like to collect log and artifact files from a machine or machines where Geode processes are not running, use *Static Copy Mode* by specifying the `-m` option and providing a file that lists log and artifact file locations.
+
+The utility is provided in `$GEMFIRE/tools/LogCollectionUtility`.
+
+## Usage
+
+``` pre
+java -jar gfe-logcollect.jar -c <company> -o <output dir> [OPTIONS]
+
+Required arguments:
+        -c company name to append to output filename
+        -o output directory to store all collected log files
+
+Optional arguments:
+        -a comma separated list of hosts with no spaces. EG. host1,host2,host3 (defaults to localhost)
+        -u username to use to connect via ssh (defaults to current user)
+        -i identity file to use for PKI based ssh (defaults to ~/.ssh/id_[dsa|rsa]
+        -p prompt for a password to use for ssh connections
+        -t ticket number to append to created zip file
+        -d don't clean up collected log files after the zip has been created
+        -s send the zip file to Pivotal support
+        -f ftp server to upload collected logs to.  Defaults to ftp.gemstone.com
+        -v print version of this utility
+        -h print this help information
+
+Static Copy Mode
+        -m <file> Use a file with log locations instead of scanning for logs.
+           Entries should be in the format hostname:/log/location
+```
+
+## Known Limitations
+
+The following are known limitations with the tool:
+
+1.  Only supports Linux hosts.
+2.  Requires SSH access between machines.
+3.  Requires that the username be the same for each host that this app scans. For example, you can't specify user@host1, anotherUser@host2, etc.
+4.  Requires that SSH access is available across all hosts using either the same password or the same public key.
+5.  In order to get stacks using jstack, this process must be ran as the same user who owns the Geode process.
+6.  Requires 'jps' (typically in $JAVA\_HOME/bin) to be in the user's PATH on each machine.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/logging/logging.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/logging/logging.html.md.erb b/geode-docs/managing/logging/logging.html.md.erb
new file mode 100644
index 0000000..e8bdb13
--- /dev/null
+++ b/geode-docs/managing/logging/logging.html.md.erb
@@ -0,0 +1,31 @@
+---
+title:  Logging
+---
+
+Comprehensive logging messages help you confirm system configuration and debug problems in configuration and code.
+
+-   **[How Geode Logging Works](../../managing/logging/how_logging_works.html)**
+
+    Apache Geode uses Apache Log4j 2 as the basis for its logging system.
+
+-   **[Understanding Log Messages and Their Categories](../../managing/logging/logging_categories.html)**
+
+    System logging messages typically pertain to startup; logging management; connection and system membership; distribution; or cache, region, and entry management.
+
+-   **[Naming, Searching, and Creating Log Files](../../managing/logging/logging_whats_next.html)**
+
+    The best way to manage and understand the logs is to have each member log to its own files.
+
+-   **[Set Up Logging](../../managing/logging/setting_up_logging.html)**
+
+    You configure logging in a member's `gemfire.properties` or at startup with `gfsh`.
+
+-   **[Advanced Users\u2014Configuring Log4j 2 for Geode](../../managing/logging/configuring_log4j2.html)**
+
+    Basic Geode logging configuration is configured via the gemfire.properties file. This topic is intended for advanced users who need increased control over logging due to integration with third-party libraries.
+
+-   **[Log Collection Utility](../../managing/logging/log_collection_utility.html)**
+
+    To aid in the troubleshooting of Apache Geode issues, you can use the provided log collection utility to gather and upload log files and other troubleshooting artifacts. This tool is only supported on Linux machines.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/logging/logging_categories.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/logging/logging_categories.html.md.erb b/geode-docs/managing/logging/logging_categories.html.md.erb
new file mode 100644
index 0000000..f22a23d
--- /dev/null
+++ b/geode-docs/managing/logging/logging_categories.html.md.erb
@@ -0,0 +1,230 @@
+---
+title:  Understanding Log Messages and Their Categories
+---
+
+System logging messages typically pertain to startup; logging management; connection and system membership; distribution; or cache, region, and entry management.
+
+-   **Startup information**. Describe the Java version, the Geode native version, the host system, current working directory, and environment settings. These messages contain all information about the system and configuration the process is running with.
+-   **Logging management**. Pertain to the maintenance of the log files themselves. This information is always in the main log file (see the discussion at Log File Name).
+-   **Connections and system membership**. Report on the arrival and departure of distributed system members (including the current member) and any information related to connection activities or failures. This includes information on communication between tiers in a hierarchical cache.
+-   **Distribution**. Report on the distribution of data between system members. These messages include information about region configuration, entry creation and modification, and region and entry invalidation and destruction.
+-   **Cache, region, and entry management**. Cache initialization, listener activity, locking and unlocking, region initialization, and entry updates.
+
+## <a id="how_logging_works__section_578DFE8DD92F4237A8571593EAC9C3B1" class="no-quick-link"></a>Structure of a Log Message
+
+Every logged message contains:
+
+-   The message header within square brackets:
+    1.  The message level
+    2.  The time the message was logged
+    3.  The ID of the connection and thread that logged the message, which might be the main program or a system management process
+-   The message itself, which can be a string and/or an exception with the exception stack trace
+
+``` pre
+[config 2005/11/08 15:46:08.710 PST PushConsumer main nid=0x1]
+Cache initialized using "file:/Samples/quickstart/xml/PushConsumer.xml".
+```
+
+## <a id="how_logging_works__section_43A099C67FF04A1EB0A07B617D653A38" class="no-quick-link"></a>Log File Name
+
+Specify your Geode system member's main log in the gemfire property `log-file` setting.
+
+Geode uses this name for the most recent log file, actively in use if the member is running, or used for the last run. Geode creates the main log file when the application starts.
+
+By default, the main log contains the entire log for the member session. If you specify a `log-file-size-limit`, Geode splits the logging into these files:
+
+-   **The main, current log**. Holding current logging entries. Named with the string you specified in `log-file`.
+-   **Child logs**. Holding older logging entries. These are created by renaming the main, current log when it reaches the size limit.
+-   **A metadata log file, with `meta-` prefixed to the name**. Used to track of startup, shutdown, child log management, and other logging management operations
+
+The current log is renamed, or rolled, to the next available child log when the specified size limit is reached.
+
+When your application connects with logging enabled, it creates the main log file and, if required, the `meta-` log file. If the main log file is present when the member starts up, it is renamed to the next available child log to make way for new logging.
+
+Your current, main log file always has the name you specified in `log-file`. The old log files and child log files have names derived from the main log file name. These are the pieces of a renamed log or child log file name where `filename.extension` is the `log-file` specification
+
+<img src="../../images/logging-1.gif" id="how_logging_works__image_A144E5195FDA49A1A8914F233495BA88" class="image" />
+
+If child logs are not used, the child file sequence number is a constant 00 (two zeros).
+
+For locators, the log file name is fixed. For the standalone locator started in `gfsh`, it is always named `<locator_name>.log` where the locator\_name corresponds to the name specified at locator startup. For the locator that runs colocated inside another member, the log file is the member\u2019s log file.
+
+For applications and the servers, your log file specification can be relative or absolute. If no file is specified, the defaults are standard output for applications and `<server_name>.log` for servers started with gfsh and `cacheserver.log` for servers started with the older cacheserver script.
+
+To figure out the member's most recent activities, look at the `meta-` log file or, if no meta file exists, the main log file.
+
+## <a id="how_logging_works__section_D464FDFFC30141F385689A47CE5E8D38" class="no-quick-link"></a>How the System Renames Logs
+
+The log file that you specify is the base name used for all logging and logging archives. If a log file with the specified name already exists at startup, the distributed system automatically renames it before creating the current log file. This is a typical directory listing after a few runs with `log-file=system.log`:
+
+``` pre
+bash-2.05$ ls -tlra system*
+-rw-rw-r-- 1 jpearson users 11106 Nov 3 11:07 system-01-00.log
+-rw-rw-r-- 1 jpearson users 11308 Nov 3 11:08 system-02-00.log
+-rw-rw-r-- 1 jpearson users 11308 Nov 3 11:09 system.log
+bash-2.05$
+```
+
+The first run created `system.log` with a timestamp of Nov 3 11:07. The second run renamed that file to `system-01-00.log` and created a new `system.log` with a timestamp of Nov 3 11:08. The third run renamed that file to `system-02-00.log` and created the file named `system.log` in this listing.
+
+When the distributed system renames the log file, it assigns the next available number to the new file, as XX of `filename-XX-YY.extension`. This next available number depends on existing old log files and also on any old statistics archives. The system assigns the next number that is higher than any in use for statistics or logging. This keeps current log files and statistics archives paired up regardless of the state of the older files in the directory. Thus, if an application is archiving statistics and logging to `system.log` and `statArchive.gfs`, and it runs in a Unix directory with these files:
+
+``` pre
+bash-2.05$ ls -tlr stat* system*
+-rw-rw-r-- 1 jpearson users 56143 Nov 3 11:07 statArchive-01-00.gfs
+-rw-rw-r-- 1 jpearson users 56556 Nov 3 11:08 statArchive-02-00.gfs
+-rw-rw-r-- 1 jpearson users 56965 Nov 3 11:09 statArchive-03-00.gfs
+-rw-rw-r-- 1 jpearson users 11308 Nov 3 11:27 system-01-00.log
+-rw-rw-r-- 1 jpearson users 59650 Nov 3 11:34 statArchive.gfs
+-rw-rw-r-- 1 jpearson users 18178 Nov 3 11:34 system.log
+```
+
+the directory contents after the run look like this (changed files in **bold**):
+
+``` pre
+bash-2.05$ ls -ltr stat* system*
+-rw-rw-r-- 1 jpearson users 56143 Nov 3 11:07 statArchive-01-00.gfs
+-rw-rw-r-- 1 jpearson users 56556 Nov 3 11:08 statArchive-02-00.gfs
+-rw-rw-r-- 1 jpearson users 56965 Nov 3 11:09 statArchive-03-00.gfs
+-rw-rw-r-- 1 jpearson users 11308 Nov 3 11:27 system-01-00.log
+-rw-rw-r-- 1 jpearson users 59650 Nov 3 11:34 statArchive-04-00.gfs
+-rw-rw-r-- 1 jpearson users 18178 Nov 3 11:34 system-04-00.log
+-rw-rw-r-- 1 jpearson users 55774 Nov 4 10:08 statArchive.gfs
+-rw-rw-r-- 1 jpearson users 17681 Nov 4 10:08 system.log
+
+```
+
+The statistics and the log file are renamed using the next integer that is available to both, so the log file sequence jumps past the gap in this case.
+
+## <a id="how_logging_works__section_02D8D53AC740490D842C6525FA7DB815" class="no-quick-link"></a>Log Level
+
+The higher the log level, the more important and urgent the message. If you are having problems with your system, a first-level approach is to lower the log-level (thus sending more of the detailed messages to the log file) and recreate the problem. The additional log messages often help uncover the source.
+
+These are the levels, in descending order, with sample output:
+
+-   **severe (highest level)**. This level indicates a serious failure. In general, severe messages describe events that are of considerable importance that will prevent normal program execution. You will likely need to shut down or restart at least part of your system to correct the situation.
+
+    This severe error was produced by configuring a system member to connect to a non-existent locator:
+
+    ``` pre
+    [severe 2005/10/24 11:21:02.908 PDT nameFromGemfireProperties
+    DownHandler (FD_SOCK) nid=0xf] GossipClient.getInfo():
+    exception connecting to host localhost:30303:
+    java.net.ConnectException: Connection refused
+    ```
+
+-   **error**. This level indicates that something is wrong in your system. You should be able to continue running, but the operation noted in the error message failed.
+
+    This error was produced by throwing a `Throwable` from a `CacheListener`. While dispatching events to a customer-implemented cache listener, Geode catches any `Throwable` thrown by the listener and logs it as an error. The text shown here is followed by the output from the `Throwable` itself.
+
+    ``` pre
+    [error 2007/09/05 11:45:30.542 PDT gemfire1_newton_18222
+    <vm_2_thr_5_client1_newton_18222-0x472e> nid=0x6d443bb0]
+    Exception occurred in CacheListener
+    ```
+
+-   **warning**. This level indicates a potential problem. In general, warning messages describe events that are of interest to end users or system managers, or that indicate potential problems in the program or system.
+
+    This message was obtained by starting a client with a Pool configured with queueing enabled when there was no server running to create the client\u2019s queue:
+
+    ``` pre
+    [warning 2008/06/09 13:09:28.163 PDT <queueTimer-client> tid=0xe]
+    QueueManager - Could not create a queue. No queue servers available
+    ```
+
+    This message was obtained by trying to get an entry in a client region while there was no server running to respond to the client request:
+
+    ``` pre
+    [warning 2008/06/09 13:12:31.833 PDT <main> tid=0x1] Unable to create a
+    connection in the allowed time
+    org.apache.geode.cache.client.NoAvailableServersException
+        at org.apache.geode.cache.client.internal.pooling.ConnectionManagerImpl.
+    borrowConnection(ConnectionManagerImpl.java:166)
+    . . .
+    org.apache.geode.internal.cache.LocalRegion.get(LocalRegion.java:1122
+    )
+    ```
+
+-   **info**. This is for informational messages, typically geared to end users and system administrators.
+
+    This is a typical info message created at system member startup. This indicates that no other `DistributionManager`s are running in the distributed system, which means no other system members are running:
+
+    ``` pre
+    [info 2005/10/24 11:51:35.963 PDT CacheRunner main nid=0x1]
+    DistributionManager straw(7368):41714 started on 192.0.2.0[10333]
+    with id straw(7368):41714 (along with 0 other DMs)
+    ```
+
+    When another system member joins the distributed system, these info messages are output by the members that are already running:
+
+    ``` pre
+    [info 2005/10/24 11:52:03.934 PDT CacheRunner P2P message reader for
+    straw(7369):41718 nid=0x21] Member straw(7369):41718 has joined the
+    distributed cache.
+    ```
+
+    When another member leaves because of an interrupt or through normal program termination:
+
+    ``` pre
+    [info 2005/10/24 11:52:05.128 PDT CacheRunner P2P message reader for
+    straw(7369):41718 nid=0x21] Member straw(7369):41718 has left the
+    distributed cache.
+    ```
+
+    And when another member is killed:
+
+    ``` pre
+    [info 2005/10/24 13:08:41.389 PDT CacheRunner DM-Puller nid=0x1b] Member
+    straw(7685):41993 has unexpectedly left the distributed cache.
+    ```
+
+-   **config**. This is the default setting for logging. This level provides static configuration messages that are often used to debug problems associated with particular configurations.
+
+    You can use this config message to verify your startup configuration:
+
+    ``` pre
+    [config 2008/08/08 14:28:19.862 PDT CacheRunner <main> tid=0x1] Startup Configuration:
+    ack-severe-alert-threshold="0"
+    ack-wait-threshold="15"
+    archive-disk-space-limit="0"
+    archive-file-size-limit="0"
+    async-distribution-timeout="0"
+    async-max-queue-size="8"
+    async-queue-timeout="60000"
+    bind-address=""
+    cache-xml-file="cache.xml"
+    conflate-events="server"
+    conserve-sockets="true"
+      ...
+    socket-buffer-size="32768"
+    socket-lease-time="60000"
+    ssl-ciphers="any"
+    ssl-enabled="false"
+    ssl-protocols="any"
+    ssl-require-authentication="true"
+    start-locator=""
+    statistic-archive-file=""
+    statistic-sample-rate="1000"
+    statistic-sampling-enabled="false"
+    tcp-port="0"
+    udp-fragment-size="60000"
+    udp-recv-buffer-size="1048576"
+    udp-send-buffer-size="65535"
+    ```
+
+-   **fine**. This level provides tracing information that is generally of interest to developers. It is used for the lowest volume, most important, tracing messages.
+
+    **Note:**
+    Generally, you should only use this level if instructed to do so by technical support. At this logging level, you will see a lot of noise that might not indicate a problem in your application. This level creates very verbose logs that may require significantly more disk space than the higher levels.
+
+    ``` pre
+    [fine 2011/06/21 11:27:24.689 PDT <locatoragent_ds_w1-gst-dev04_2104> tid=0xe] SSL Configuration:
+        ssl-enabled = false
+    ```
+
+-   **finer, finest, and all**. These levels exist for internal use only. They produce a large amount of data and so consume large amounts of disk space and system resources.
+    **Note:**
+    Do not use these settings unless asked to do so by technical support.
+
+**Note:**
+Geode no longer supports setting system properties for VERBOSE logging. To enable VERBOSE logging, see [Advanced Users\u2014Configuring Log4j 2 for Geode](configuring_log4j2.html)

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/logging/logging_whats_next.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/logging/logging_whats_next.html.md.erb b/geode-docs/managing/logging/logging_whats_next.html.md.erb
new file mode 100644
index 0000000..4ffda14
--- /dev/null
+++ b/geode-docs/managing/logging/logging_whats_next.html.md.erb
@@ -0,0 +1,39 @@
+---
+title:  Naming, Searching, and Creating Log Files
+---
+
+The best way to manage and understand the logs is to have each member log to its own files.
+
+## <a id="logging_whats_next__section_82C0D09E8A414693A7E6342E30209FC4" class="no-quick-link"></a>Log File Naming Recommendation
+
+For members running on the same machine, you can have them log to their own files by starting them in different working directories and using the same, relative `log-file` specification. For example, you could set this in `<commonDirectoryPath>/gemfire.properties`:
+
+``` pre
+log-file=./log/member.log
+```
+
+then start each member in a different directory with this command, which points to the common properties file:
+
+``` pre
+java -DgemfirePropertyFile=<commonDirectoryPath>/gemfire.properties
+```
+
+This way, each member has its own log files under its own working directory.
+
+## <a id="logging_whats_next__section_5502E3248A424E978B13B1142360F445" class="no-quick-link"></a>Searching the Log Files
+
+For the clearest picture, merge the log files, with the `gfsh export                 logs` command:
+
+``` pre
+gfsh> export logs --dir=myDir --dir=myDir --merge-log=true
+```
+
+Search for lines that begin with these strings:
+
+-   \[warning
+-   \[error
+-   \[severe
+
+## <a id="logging_whats_next__section_32F26033A2134525BCC10F3A6C6FAD7B" class="no-quick-link"></a>Creating Your Own Log Messages
+
+In addition to the system logs, you can add your own application logs from your Java code. For information on adding custom logging to your applications, see the online Java documentation for the `org.apache.geode.LogWriter` interface. Both system and application logging is output and stored according to your logging configuration settings.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/logging/setting_up_logging.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/logging/setting_up_logging.html.md.erb b/geode-docs/managing/logging/setting_up_logging.html.md.erb
new file mode 100644
index 0000000..2222414
--- /dev/null
+++ b/geode-docs/managing/logging/setting_up_logging.html.md.erb
@@ -0,0 +1,59 @@
+---
+title:  Set Up Logging
+---
+
+You configure logging in a member's `gemfire.properties` or at startup with `gfsh`.
+
+<a id="setting_up_logging__section_35F8A9028A91441785BCACD6CD40A498"></a>
+Before you begin, make sure you understand [Basic Configuration and Programming](../../basic_config/book_intro.html).
+
+1.  Run a time synchronization service such as NTP on all Geode host machines. This is the only way to produce logs that are useful for troubleshooting. Synchronized time stamps ensure that log messages from different hosts can be merged to accurately reproduce a chronological history of a distributed run.
+2.  Use a sniffer to monitor your logs Look for new or unexpected warnings, errors, or severe messages. The logs output by your system have their own characteristics, indicative of your system configuration and of the particular behavior of your applications, so you must become familiar with your applications' logs to use them effectively.
+3.  Configure member logging in each member's `gemfire.properties` as needed:
+
+    ``` pre
+    # Default gemfire.properties log file settings
+    log-level=config
+    log-file=
+    log-file-size-limit=0
+    log-disk-space-limit=0
+    ```
+
+    **Note:**
+    You can also specify logging parameters when you start up members (either locators or servers) using the `gfsh` command-line utility. In addition, you can modify log file properties and log-level settings while a member is already running by using the [alter runtime](../../tools_modules/gfsh/command-pages/alter.html#topic_7E6B7E1B972D4F418CB45354D1089C2B) command.
+
+    1.  Set `log-level`. Options are `severe` (the highest level), `error`, `warning`, `info`, `config`, and `fine`. The lower levels include higher level settings, so a setting of `warning` would log `warning`, `error`, and `severe` messages. For general troubleshooting, we recommend setting the log level at `config` or higher.  The `fine` setting can fill up disk rather quickly and impact system performance. Use `fine` only if necessary.
+
+    2.  Specify the log file name in `log-file`. This can be relative or absolute. If this property is not specified, the defaults are:
+        -   Standard output for applications
+        -   For servers, the default log file location is:
+
+            ``` pre
+            working-directory/server-name.log
+            ```
+
+            By default, when starting a server through `gfsh`, the *working -directory* corresponds to the directory (named after itself) that the cache server creates upon startup. Alternatively, you can specify a different working directory path when you start the cache server. The *server-name* corresponds to the name of the cache server provided upon startup.
+        -   For a standalone locator, the default log file location is:
+
+            ``` pre
+            working-directory/locator-name.log
+            ```
+
+            By default, when starting a locator through `gfsh`, the *working -directory* corresponds to the directory (named after itself) created when the locator starts up. Alternatively, you can specify a different working directory path when you start a locator. The *locator-name* corresponds to the name of the locator provided upon startup. If you are using a colocated or embedded locator, the locator logs will be part of the member\u2019s log file.
+
+        For the easiest logs examination and troubleshooting, send your logs to files instead of standard out.
+        **Note:**
+        Make sure each member logs to its own files. This makes the logs easier to decipher.
+
+    3.  Set the maximum size of a single log file in `log-file-size-limit`. If not set, the single, main log file is used. If set, the metadata file, the main log, and rolled child logs are used.
+    4.  Set the maximum size of all log files in `log-disk-space-limit`. If non-zero, this limits the combined size of all inactive log files, deleting oldest files first to stay under the limit. A zero setting indicates no limit.
+
+4.  If you are using the `gfsh` command-line interface, `gfsh` can creates its own log file in the directory where you run the `gfsh` or `gfsh.bat` script. By default, gfsh does not generate log files for itself. To enable gfsh logs, set the following system property to the desired log level before starting gfsh:
+
+    ``` pre
+    export JAVA_ARGS=-Dgfsh.log-level=[severe|warning|info|config|fine|finer|finest]
+    ```
+
+    gfsh log files are named `gfsh-0_0.log`.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/management/configuring_rmi_connector.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/configuring_rmi_connector.html.md.erb b/geode-docs/managing/management/configuring_rmi_connector.html.md.erb
new file mode 100644
index 0000000..c81a3fa
--- /dev/null
+++ b/geode-docs/managing/management/configuring_rmi_connector.html.md.erb
@@ -0,0 +1,17 @@
+---
+title:  Configuring RMI Registry Ports and RMI Connectors
+---
+
+Geode programmatically emulates out-of-the-box JMX provided by Java and creates a JMXServiceURL with RMI Registry and RMI Connector ports on all manageable members.
+
+## <a id="concept_BC793A7ACF9A4BD9A29C2DCC6894767D__section_143531EBBCF94033B8058FCF5F8A5A0D" class="no-quick-link"></a>Configuring JMX Manager Port and Bind Addresses
+
+You can configure a specific connection port and address when launching a process that will host the Geode JMX Manager. To do this, specify values for the `jmx-manager-bind-address`, which specifies the JMX manager's IP address and `jmx-manager-port`, which defines the RMI connection port.
+
+The default Geode JMX Manager RMI port is 1099. You may need to modify this default if 1099 is reserved for other uses.
+
+## <a id="concept_BC793A7ACF9A4BD9A29C2DCC6894767D__section_BF6352A05CE94F35A8355232D22AC2BC" class="no-quick-link"></a>Using Out-of-the-Box RMI Connectors
+
+If for some reason you need to use standard JMX RMI in your deployment for other monitoring purposes, set the Geode property `jmx-manager-port` to 0 on any members where you want to use standard JMX RMI.
+
+If you use out-of-the-box JMX RMI instead of starting an embedded Geode JMX Manager, you should consider setting `-Dsun.rmi.dgc.server.gcInterval=Long.MAX_VALUE-1` when starting the JVM for customer applications and client processes. Every Geode process internally sets this setting before creating and starting the JMX RMI connector in order to prevent full garbage collection from pausing processes.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/management/gfsh_and_management_api.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/gfsh_and_management_api.html.md.erb b/geode-docs/managing/management/gfsh_and_management_api.html.md.erb
new file mode 100644
index 0000000..d7127d8
--- /dev/null
+++ b/geode-docs/managing/management/gfsh_and_management_api.html.md.erb
@@ -0,0 +1,52 @@
+---
+title:  Executing gfsh Commands through the Management API
+---
+
+You can also use management APIs to execute gfsh commands programmatically.
+
+**Note:**
+If you start the JMX Manager programmatically and wish to enable command processing, you must also add the absolute path of `gfsh-dependencies.jar` (located in `$GEMFIRE/lib` of your Geode installation) to the CLASSPATH of your application. Do not copy this library to your CLASSPATH because this library refers to other dependencies in `$GEMFIRE/lib` by a relative path. The following code samples demonstrate how to process and execute `gfsh` commands using the Java API.
+
+First, retrieve a CommandService instance.
+
+**Note:**
+The CommandService API is currently only available on JMX Manager nodes.
+
+``` pre
+// Get existing CommandService instance or create new if it doesn't exist
+commandService = CommandService.createLocalCommandService(cache);
+
+// OR simply get CommandService instance if it exists, don't create new one
+CommandService commandService = CommandService.getUsableLocalCommandService();
+```
+
+Next, process the command and its output:
+
+``` pre
+// Process the user specified command String
+Result regionListResult = commandService.processCommand("list regions");
+ 
+// Iterate through Command Result in String form line by line
+while (regionListResult.hasNextLine()) {
+   System.out.println(regionListResult.nextLine());
+}
+      
+```
+
+Alternatively, instead of processing the command, you can create a CommandStatement Object from the command string which can be re-used.
+
+``` pre
+// Create a command statement that can be reused multiple times
+CommandStatement showDeadLocksCmdStmt = commandService.createCommandStatement
+    ("show dead-locks --file=deadlock-info.txt");
+Result showDeadlocksResult = showDeadLocksCmdStmt.process();
+
+// If there is a file as a part of Command Result, it can be saved 
+// to a specified directory
+if (showDeadlocksResult.hasIncomingFiles()) {
+    showDeadlocksResult.saveIncomingFiles(System.getProperty("user.dir") + 
+                  "/commandresults");
+}
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/management/jmx_manager_node.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/jmx_manager_node.html.md.erb b/geode-docs/managing/management/jmx_manager_node.html.md.erb
new file mode 100644
index 0000000..ebc4571
--- /dev/null
+++ b/geode-docs/managing/management/jmx_manager_node.html.md.erb
@@ -0,0 +1,20 @@
+---
+title: JMX Manager Operations
+---
+<a id="topic_36C918B4202D45F3AC225FFD23B11D7C"></a>
+
+
+Any member can host an embedded JMX Manager, which provides a federated view of all MBeans for the distributed system. The member can be configured to be a manager at startup or anytime during its life by invoking the appropriate API calls on the ManagementService.
+
+You need to have a JMX Manager started in your distributed system in order to use Geode management and monitoring tools such as [gfsh](../../tools_modules/gfsh/chapter_overview.html) and [Geode Pulse](../../tools_modules/pulse/chapter_overview.html).
+
+**Note:**
+Each node that acts as the JMX Manager has additional memory requirements depending on the number of resources that it is managing and monitoring. Being a JMX Manager can increase the memory footprint of any process, including locator processes. See [Memory Requirements for Cached Data](../../reference/topics/memory_requirements_for_cache_data.html#calculating_memory_requirements) for more information on calculating memory overhead on your Geode processes.
+
+-   **[Starting a JMX Manager](jmx_manager_operations.html)**
+
+-   **[Configuring a JMX Manager](jmx_manager_operations.html#topic_263072624B8D4CDBAD18B82E07AA44B6)**
+
+-   **[Stopping a JMX Manager](jmx_manager_operations.html#topic_5B6DF783A14241399DC25C6EE8D0048A)**
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/management/jmx_manager_operations.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/jmx_manager_operations.html.md.erb b/geode-docs/managing/management/jmx_manager_operations.html.md.erb
new file mode 100644
index 0000000..9dc8a4e
--- /dev/null
+++ b/geode-docs/managing/management/jmx_manager_operations.html.md.erb
@@ -0,0 +1,195 @@
+---
+title: Starting a JMX Manager
+---
+
+<a id="topic_686158E9AFBD47518BE1B4BEB232C190"></a>
+
+
+JMX Manager nodes are members that manage other Geode members (as well as themselves). A JMX Manager node can manage all other members in the distributed system. Typically a locator will function as the JMX Manager, but you can also turn any other distributed system member such as a server into a JMX Manager node as well.
+
+To allow a server to become a JMX Manager you configure Geode property `jmx-manager=true`, in the server's`gemfire.properties` file. This property configures the node to become a JMX Manager node passively; if gfsh cannot locate a JMX Manager when connecting to the distributed system, the server node will be started as a JMX Manager node.
+
+**Note:**
+The default property setting for all locators is `gemfire.jmx-manager=true`. For other members, the default property setting is `gemfire.jmx-manager=false`.
+
+To force a server to become a JMX Manager node whenever it is started, set the Geode properties `jmx-manager-start=true` and `jmx-manager=true` in the server's gemfire.properties file. Note that both of these properties must be set to true for the node.
+
+To start the member as a JMX Manager node on the command line, provide`                     --J=-Dgemfire.jmx-manager-start=true and --J=-Dgemfire.jmx-manager=true` as arguments to either the `start server` or `start                     locator` command.
+
+For example, to start a server as a JMX Manager on the gfsh command line:
+
+``` pre
+gfsh>start server --name=<server-name> --J=-Dgemfire.jmx-manager=true \
+--J=-Dgemfire.jmx-manager-start=true
+```
+
+By default, any locator can become a JMX Manager when started. When you start up a locator, if no other JMX Manager is detected in the distributed system, the locator starts one automatically. If you start a second locator, it will detect the current JMX Manager and will not start up another JMX Manager unless the second locator's `gemfire.jmx-manager-start` property is set to true.
+
+For most deployments, you only need to have one JMX Manager per distributed system. However, you can run more than JMX Manager if necessary. If you want to provide high-availability and redundancy for the Pulse monitoring tool, or if you are running additional JMX clients other than gfsh, then use the `jmx-manager-start=true` property to force individual nodes (either locators or servers) to become JMX Managers at startup. Since there is some performance overhead to being a JMX Manager, we recommend using locators as JMX Managers. If you do not want a locator to become a JMX manager, then you must use the `jmx-manager=false` property when you start the locator.
+
+After the node becomes a JMX Manager, all other `jmx-manager-*` configuration properties listed in [Configuring a JMX Manager](jmx_manager_operations.html#topic_263072624B8D4CDBAD18B82E07AA44B6) are applied.
+
+The following is an example of starting a new locator that also starts an embedded JMX Manager (after detecting that another JMX Manager does not exist). In addition, `gfsh` also automatically connects you to the new JMX Manager. For example:
+
+``` pre
+gfsh>start locator --name=locator1
+Starting a GemFire Locator in /home/user/test2/locator1...
+............................................
+Locator in /home/user/test2/locator1 on ubuntu.local[10334] as locator1 is currently online.
+Process ID: 2081
+Uptime: 30 seconds
+GemFire Version: 8.0.0
+Java Version: 1.7.0_65
+Log File: /home/user/test2/locator1/locator1.log
+JVM Arguments: -Dgemfire.enable-cluster-configuration=true -Dgemfire.load-cluster-configuration-from-dir=false
+-Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
+Class-Path: /home/user/Pivotal_GemFire_800_b48319_Linux/lib/locator-dependencies.jar:/usr/local/java/lib/tools.jar
+
+Successfully connected to: [host=ubuntu.local, port=1099]
+
+Cluster configuration service is up and running.
+```
+
+Or you can enter the command directly in your terminal:
+
+``` pre
+$ gfsh start locator --name=locator1
+....................................
+Locator in /home/user/locator1 on ubuntu.local[10334] as locator1 is currently online.
+Process ID: 2359
+Uptime: 21 seconds
+GemFire Version: 8.0.0
+Java Version: 1.7.0_65
+Log File: /home/user/locator1/locator1.log
+JVM Arguments: -Dgemfire.enable-cluster-configuration=true -Dgemfire.load-cluster-configuration-from-dir=false
+ -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
+Class-Path: /home/user/Pivotal_GemFire_800_b48319_Linux/lib/locator-dependencies.jar:/usr/local/java/lib/tools.jar
+
+Successfully connected to: [host=ubuntu.local, port=1099]
+
+Cluster configuration service is up and running.
+```
+
+Locators also keep track of all nodes that can become a JMX Manager.
+
+Immediately after creating its cache, the JMX Manager node begins federating the MBeans from other members. After the JMX Manager node is ready, the JMX Manager node sends a notification to all other members informing them that it is a new JMX Manager. The other members then put complete MBean states for themselves into each of their hidden management regions.
+
+At any point, you can determine whether a node is a JMX Manager by using the MemberMXBean isManager() method.
+
+Using the Java API, any managed node that has been configured with `jmx-manager=true` can also be turned into a JMX Manager Node by invoking the ManagementService startManager() method.
+
+**Note:**
+If you start the JMX Manager programmatically and wish to enable command processing, you must also add the absolute path of `gfsh-dependencies.jar` (located in `$GEMFIRE/lib` of your Geode installation) to the CLASSPATH of your application. Do not copy this library to your CLASSPATH because this library refers to other dependencies in `$GEMFIRE/lib` by a relative path.
+
+## <a id="topic_263072624B8D4CDBAD18B82E07AA44B6" class="no-quick-link"></a>Configuring a JMX Manager
+
+In the `gemfire.properties` file, you configure a JMX manager as follows.
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Property</th>
+<th>Description</th>
+<th>Default</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td>http-service-port</td>
+<td>If non-zero, then Geode starts an embedded HTTP service that listens on this port. The HTTP service is used to host the Geode Pulse Web application. If you are hosting the Pulse web app on your own Web server, then disable this embedded HTTP service by setting this property to zero. Ignored if <code class="ph codeph">jmx-manager</code> is false.</td>
+<td>7070</td>
+</tr>
+<tr class="even">
+<td>http-service-bind-address</td>
+<td>If set, then the Geode member binds the embedded HTTP service to the specified address. If this property is not set but the HTTP service is enabled using <code class="ph codeph">http-service-port</code>, then Geode binds the HTTP service to the member's local address.</td>
+<td><em>not set</em></td>
+</tr>
+<tr class="odd">
+<td>jmx-manager</td>
+<td><p>If <code class="ph codeph">true</code> then this member can become a JMX Manager. All other <code class="ph codeph">jmx-manager-*</code> properties are used when it does become a JMX Manager. If this property is false then all other <code class="ph codeph">jmx-manager-*</code> properties are ignored.</p>
+<p>The default value is <code class="ph codeph">true</code> on locators.</p></td>
+<td>false (with Locator exception)</td>
+</tr>
+<tr class="even">
+<td>jmx-manager-access-file</td>
+<td><p>By default the JMX Manager allows full access to all MBeans by any client. If this property is set to the name of a file, then it can restrict clients to only reading MBeans; they cannot modify MBeans. The access level can be configured differently in this file for each user name defined in the password file. For more information about the format of this file see Oracle's documentation of the <code class="ph codeph">com.sun.management.jmxremote.access.file</code> system property. Ignored if <code class="ph codeph">jmx-manager</code> is false or if <code class="ph codeph">jmx-manager-port</code> is zero.</p></td>
+<td><em>not set</em></td>
+</tr>
+<tr class="odd">
+<td>jmx-manager-bind-address</td>
+<td>By default, the JMX Manager when configured with a port listens on all the local host's addresses. You can use this property to configure which particular IP address or host name the JMX Manager will listen on. This property is ignored if <code class="ph codeph">jmx-manager</code> is false or <code class="ph codeph">jmx-manager-port</code> is zero. This address also applies to the Geode Pulse server if you are hosting a Pulse web application.</td>
+<td><em>not set</em></td>
+</tr>
+<tr class="even">
+<td>jmx-manager-hostname-for-clients</td>
+<td>Hostname given to clients that ask the locator for the location of a JMX Manager. By default the IP address of the JMX Manager is used. However, for clients on a different network, you can configure a different hostname to be given to clients. Ignored if <code class="ph codeph">jmx-manager</code> is false or if <code class="ph codeph">jmx-manager-port</code> is zero.</td>
+<td><em>not set</em></td>
+</tr>
+<tr class="odd">
+<td>jmx-manager-password-file</td>
+<td>By default the JMX Manager allows clients without credentials to connect. If this property is set to the name of a file, only clients that connect with credentials that match an entry in this file will be allowed. Most JVMs require that the file is only readable by the owner. For more information about the format of this file see Oracle's documentation of the com.sun.management.jmxremote.password.file system property. Ignored if jmx-manager is false or if jmx-manager-port is zero. </td>
+<td><em>not set</em></td>
+</tr>
+<tr class="even">
+<td>jmx-manager-port</td>
+<td>Port on which this JMX Manager listens for client connections. If this property is set to zero, Geode does not allow remote client connections. Alternatively, use the standard system properties supported by the JVM for configuring access from remote JMX clients. Ignored if jmx-manager is false. The Default RMI port is 1099.</td>
+<td>1099</td>
+</tr>
+<tr class="odd">
+<td>jmx-manager-ssl</td>
+<td>If true and <code class="ph codeph">jmx-manager-port</code> is not zero, the JMX Manager accepts only SSL connections. The ssl-enabled property does not apply to the JMX Manager, but the other SSL properties do. This allows SSL to be configured for just the JMX Manager without needing to configure it for the other Geode connections. Ignored if <code class="ph codeph">jmx-manager</code> is false.</td>
+<td>false</td>
+</tr>
+<tr class="even">
+<td>jmx-manager-start</td>
+<td>If true, this member starts a JMX Manager when it creates a cache. In most cases you should not set this property to true because a JMX Manager is automatically started when needed on a member that sets <code class="ph codeph">jmx-manager</code> to true. Ignored if jmx-manager is false.</td>
+<td>false</td>
+</tr>
+<tr class="odd">
+<td>jmx-manager-update-rate</td>
+<td>The rate, in milliseconds, at which this member pushes updates to any JMX Managers. Currently this value should be greater than or equal to the <code class="ph codeph">statistic-sample-rate</code>. Setting this value too high causes <code class="ph codeph">gfsh</code> and Geode Pulse to see stale values.</td>
+<td>2000</td>
+</tr>
+</tbody>
+</table>
+
+## <a id="topic_5B6DF783A14241399DC25C6EE8D0048A" class="no-quick-link"></a>Stopping a JMX Manager
+
+To stop a JMX Manager using gfsh, simply shut down the locator or server hosting the JMX Manager.
+
+For a locator:
+
+``` pre
+gfsh>stop locator --dir=locator1
+Stopping Locator running in /home/user/test2/locator1 on ubuntu.local[10334] as locator1...
+Process ID: 2081
+Log File: /home/user/test2/locator1/locator1.log
+....
+No longer connected to ubuntu.local[1099].
+```
+
+For a server:
+
+``` pre
+gfsh>stop server --dir=server1
+Stopping Cache Server running in /home/user/test2/server1 ubuntu.local[40404] as server1...
+Process ID: 1156
+Log File: /home/user/test2/server1/server1.log
+....
+
+
+No longer connected to ubuntu.local[1099].
+```
+
+Notice that `gfsh` has automatically disconnected you from the stopped JMX Manager.
+
+To stop a JMX manager using the management API, use the ManagementService stopManager() method to stop a member from being a JMX Manager.
+
+When a Manager stops, it removes all federated MBeans from other members from its Platform MBeanServer. It also emits a notification to inform other members that it is no longer considered a JMX Manager.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/management/list_of_mbean_notifications.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/list_of_mbean_notifications.html.md.erb b/geode-docs/managing/management/list_of_mbean_notifications.html.md.erb
new file mode 100644
index 0000000..d1ffea1
--- /dev/null
+++ b/geode-docs/managing/management/list_of_mbean_notifications.html.md.erb
@@ -0,0 +1,65 @@
+---
+title: List of JMX MBean Notifications
+---
+<a id="mbean_notifications_list"></a>
+
+
+This topic lists all available JMX notifications emitted by Geode MBeans.
+
+Notifications are emitted by the following MBeans:
+
+-   **[MemberMXBean Notifications](list_of_mbean_notifications.html#reference_czt_hq2_vj)**
+
+-   **[MemberMXBean Gateway Notifications](list_of_mbean_notifications.html#reference_dzt_hq2_vj)**
+
+-   **[CacheServerMXBean Notifications](list_of_mbean_notifications.html#cacheservermxbean_notifications)**
+
+-   **[DistributedSystemMXBean Notifications](list_of_mbean_notifications.html#distributedsystemmxbean_notifications)**
+
+## <a id="reference_czt_hq2_vj" class="no-quick-link"></a>MemberMXBean Notifications
+
+| Notification Type                                   | Notification Source | Message                                                     |
+|-----------------------------------------------------|---------------------|-------------------------------------------------------------|
+| gemfire.distributedsystem.cache.region.created      | Member name or ID   | Region Created with Name &lt;Region Name&gt;                |
+| gemfire.distributedsystem.cache.region.closed       | Member name or ID   | Region Destroyed/Closed with Name &lt;Region Name&gt;       |
+| gemfire.distributedsystem.cache.disk.created        | Member name or ID   | DiskStore Created with Name &lt;DiskStore Name&gt;          |
+| gemfire.distributedsystem.cache.disk.closed         | Member name or ID   | DiskStore Destroyed/Closed with Name &lt;DiskStore Name&gt; |
+| gemfire.distributedsystem.cache.lockservice.created | Member name or ID   | LockService Created with Name &lt;LockService Name&gt;      |
+| gemfire.distributedsystem.cache.lockservice.closed  | Member name or ID   | Lockservice Closed with Name &lt;LockService Name&gt;       |
+| gemfire.distributedsystem.async.event.queue.created | Member name or ID   | Async Event Queue is Created in the VM                      |
+| gemfire.distributedsystem.cache.server.started      | Member name or ID   | Cache Server is Started in the VM                           |
+| gemfire.distributedsystem.cache.server.stopped      | Member name or ID   | Cache Server is stopped in the VM                           |
+| gemfire.distributedsystem.locator.started           | Member name or ID   | Locator is Started in the VM                                |
+
+## <a id="reference_dzt_hq2_vj" class="no-quick-link"></a>MemberMXBean Gateway Notifications
+
+| Notification Type                                  | Notification Source | Message                                           |
+|----------------------------------------------------|---------------------|---------------------------------------------------|
+| gemfire.distributedsystem.gateway.sender.created   | Member name or ID   | GatewaySender Created in the VM                   |
+| gemfire.distributedsystem.gateway.sender.started   | Member name or ID   | GatewaySender Started in the VM &lt;Sender Id&gt; |
+| gemfire.distributedsystem.gateway.sender.stopped   | Member name or ID   | GatewaySender Stopped in the VM &lt;Sender Id&gt; |
+| gemfire.distributedsystem.gateway.sender.paused    | Member name or ID   | GatewaySender Paused in the VM &lt;Sender Id&gt;  |
+| gemfire.distributedsystem.gateway.sender.resumed   | Member name or ID   | GatewaySender Resumed in the VM &lt;Sender Id&gt; |
+| gemfire.distributedsystem.gateway.receiver.created | Member name or ID   | GatewayReceiver Created in the VM                 |
+| gemfire.distributedsystem.gateway.receiver.started | Member name or ID   | GatewayReceiver Started in the VM                 |
+| gemfire.distributedsystem.gateway.receiver.stopped | Member name or ID   | GatewayReceiver Stopped in the VM                 |
+| gemfire.distributedsystem.cache.server.started     | Member name or ID   | Cache Server is Started in the VM                 |
+
+## <a id="cacheservermxbean_notifications" class="no-quick-link"></a>CacheServerMXBean Notifications
+
+| Notification Type                                    | Notification Source    | Message                                  |
+|------------------------------------------------------|------------------------|------------------------------------------|
+| gemfire.distributedsystem.cacheserver.client.joined  | CacheServer MBean Name | Client joined with Id &lt;Client ID&gt;  |
+| gemfire.distributedsystem.cacheserver.client.left    | CacheServer MBean Name | Client crashed with Id &lt;Client ID&gt; |
+| gemfire.distributedsystem.cacheserver.client.crashed | CacheServer MBean name | Client left with Id &lt;Client ID&gt;    |
+
+## <a id="distributedsystemmxbean_notifications" class="no-quick-link"></a>DistributedSystemMXBean Notifications
+
+| Notification Type                               | Notification Source                               | Message                                                                    |
+|-------------------------------------------------|---------------------------------------------------|----------------------------------------------------------------------------|
+| gemfire.distributedsystem.cache.member.joined   | Name or ID of member who joined                   | Member Joined &lt;Member Name or ID&gt;                                    |
+| gemfire.distributedsystem.cache.member.departed | Name or ID of member who departed                 | Member Departed &lt;Member Name or ID&gt; has crashed = &lt;true/false&gt; |
+| gemfire.distributedsystem.cache.member.suspect  | Name or ID of member who is suspected             | Member Suspected &lt;Member Name or ID&gt; By &lt;Who Suspected&gt;        |
+| system.alert.\*                                 | DistributedSystem("&lt;DistributedSystem ID"&gt;) | Alert Message                                                              |
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/management/list_of_mbeans.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/list_of_mbeans.html.md.erb b/geode-docs/managing/management/list_of_mbeans.html.md.erb
new file mode 100644
index 0000000..c8a8ad5
--- /dev/null
+++ b/geode-docs/managing/management/list_of_mbeans.html.md.erb
@@ -0,0 +1,21 @@
+---
+title: List of Geode JMX MBeans
+---
+<a id="topic_4BCF867697C3456D96066BAD7F39FC8B"></a>
+
+
+This topic provides descriptions for the various management and monitoring MBeans that are available in Geode.
+
+The following diagram illustrates the relationship between the different JMX MBeans that have been developed to manage and monitor Apache Geode.
+
+<img src="../../images_svg/MBeans.svg" id="topic_4BCF867697C3456D96066BAD7F39FC8B__image_66525625D6804EDE9675D6CE509360A3" class="image" />
+
+-   **[JMX Manager MBeans](list_of_mbeans_full.html)**
+
+    This section describes the MBeans that are available on the JMX Manager node.
+
+-   **[Managed Node MBeans](list_of_mbeans_full.html#topic_48194A5BDF3F40F68E95A114DD702413)**
+
+    This section describes the MBeans that are available on all managed nodes.
+
+


[39/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/jca_adapter_example.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/jca_adapter_example.html.md.erb b/developing/transactions/jca_adapter_example.html.md.erb
deleted file mode 100644
index 1e562cd..0000000
--- a/developing/transactions/jca_adapter_example.html.md.erb
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title:  JCA Resource Adapter Example
----
-
-This example shows how to use the JCA Resource Adapter in Geode .
-
-``` pre
-Hashtable env = new Hashtable();
-env.put(Context.INITIAL_CONTEXT_FACTORY, \u201cweblogic.jndi.WLInitialContextFactory\u201d);
-env.put(Context.PROVIDER_URL, \u201ct3://localhost:7001\u201d);
-Context ctx = new InitialContext(env);
-UserTransaction utx = (UserTransaction) ctx.lookup(\u201cjavax.transaction.UserTransaction\u201d);
-utx.begin();
-      // the XA Resource
-javax.sql.DataSource ds = (DataSource) ctx.lookup(\u201cderby\u201d);
-javax.sql.Connection derbyConn = ds.getConnection();
-Statement stmt = conn.createStatement();
-stmt.executeUpdate(\u201cinsert into test values(2,4) \u201c);
-     // do ConnectionFactory lookup
-GFConnectionFactory cf = (GFConnectionFactory) ctx.lookup(\u201cgfe/jca\u201d);
-
-     // Obtaining the connection begins the LocalTransaction.
-     // If this is absent, operations will not be part of any transaction.
-GFConnection conn = cf.getConnection();
-
-testRegion.put(\u201cfoo\u201d, \u201cbar-\u201d);
-utx.commit();
-
-     // the connection can also be closed within the transaction
-derbyConn.close();
-conn.close();
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/monitor_troubleshoot_transactions.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/monitor_troubleshoot_transactions.html.md.erb b/developing/transactions/monitor_troubleshoot_transactions.html.md.erb
deleted file mode 100644
index 6cb1b6c..0000000
--- a/developing/transactions/monitor_troubleshoot_transactions.html.md.erb
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title:  Monitoring and Troubleshooting Transactions
----
-
-This topic covers errors that may occur when running transactions in Geode.
-
-<a id="monitor_troubleshoot_transactions__section_881D2FF6761B4D689DDB46C650E2A2E1"></a>
-Unlike database transactions, Geode does not write a transaction log to disk. To get the full details about committed operations, use a transaction listener to monitor the transaction events and their contained cache events for each of your transactions.
-
-## <a id="monitor_troubleshoot_transactions__section_2B66338C851A4FF386B60CC5CF4DCF77" class="no-quick-link"></a>Statistics on Cache Transactions
-
-During the operation of Geode cache transactions, if statistics are enabled, transaction-related statistics are calculated and accessible from the CachePerfStats statistic resource. Because the transaction\u2019s data scope is the cache, these statistics are collected on a per-cache basis.
-
-## <a id="monitor_troubleshoot_transactions__section_EA9277E6CFD7423F95BA4D04955FDE2A" class="no-quick-link"></a>Commit
-
-In a failed commit, the exception lists the first conflict that caused the failure. Other conflicts can exist, but are not reported.
-
-## Capacity Limits
-
-A transaction can create data beyond the capacity limit set in the region\u2019s eviction attributes. The capacity limit does not take effect until commit time. Then, any required eviction action takes place as part of the commit.
-
-## <a id="monitor_troubleshoot_transactions__section_C7588E4F143B4D7FAFAEDCF5AE4FF2C8" class="no-quick-link"></a>Interaction with the Resource Manager
-
-The Geode resource manager, which controls overall heap use, either allows all transactional operations or blocks the entire transaction. If a cache reaches the critical threshold in the middle of a commit, the commit is allowed to finish before the manager starts blocking operations.
-
-## <a id="monitor_troubleshoot_transactions__section_8942ABA6F23C4ED58877C894B13F4F21" class="no-quick-link"></a>Transaction Exceptions
-
-The following sections list possible transaction exceptions.
-
-**Exceptions Indicating Transaction Failure**
-
--   **`TransactionDataNodeHasDepartedException`**. This exception means the transaction host has departed unexpectedly. Clients and members that run transactions but are not a transaction host can get this exception. You can avoid this by working to ensure your transaction hosts are stable and remain running when transactions are in progress.
--   **`TransactionDataNotColocatedException`**. You will get this error if you try to run a transaction on data that is not all located in the same member. Partition your data so that a single member contains all data that will be accessed as part of a single transaction. See [Transactions and Partitioned Regions](cache_transactions_by_region_type.html#concept_ysk_xj1_wk) and [Understanding Custom Partitioning and Data Colocation](../partitioned_regions/custom_partitioning_and_data_colocation.html#custom_partitioning_and_data_colocation).
--   **`TransactionDataRebalancedException`**. You get this error if your transactional data is moved to another member for rebalancing during the transaction. Manage your partitioned region data to avoid rebalancing during a transaction. See [Rebalancing Partitioned Region Data](../partitioned_regions/rebalancing_pr_data.html#rebalancing_pr_data).
-
-**Exceptions Indicating Unknown Transaction Outcome**
-
--   **`TransactionInDoubtException`**. Some of the transactional operations may have succeeded and some may have failed. This can happen to clients and to any member running a transaction on another data host. To manage this, you may want to install cache listeners in the members running the transaction code. Use the listeners to monitor and record the changes you receive from your transactions so you can recover as needed if you get this exception.
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/run_a_cache_transaction.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/run_a_cache_transaction.html.md.erb b/developing/transactions/run_a_cache_transaction.html.md.erb
deleted file mode 100644
index 35ae027..0000000
--- a/developing/transactions/run_a_cache_transaction.html.md.erb
+++ /dev/null
@@ -1,73 +0,0 @@
----
-title: How to Run a Geode Cache Transaction
----
-<a id="task_f15_mr3_5k"></a>
-
-
-This topic describes how to run a Geode cache transaction.
-
-Applications manage transactions on a per-cache basis. A Geode cache transaction starts with a `CacheTransactionManager.begin` method and continues with a series of operations, which are typically region operations such as region create, update, clear and destroy. The begin, commit, and rollback are directly controlled by the application. A commit, failed commit, or voluntary rollback by the transaction manager ends the transaction.
-
-You can run transactions on any type of cache region except regions with **global** scope. An operation attempted on a region with global scope throws an `UnsupportedOperationException` exception.
-
-A transaction may not be nested within another transaction. An attempt to begin a nested transaction will throw an `IllegalStateException` exception.
-
-This discussion centers on transactions on replicated and partitioned regions. If you use non-replicated distributed regions, follow the guidelines for replicated regions.
-
-1. **Configure the cache copy-on-read behavior in the members hosting the transactional data, or perform cache updates that avoid in-place changes.** This allows the transaction manager to control when cache updates are visible outside the transaction. See [Setting Global Copy on Read](working_with_transactions.html#concept_vx2_gs4_5k).
-2. **Configure your regions for transactions in the members hosting the transactional data.**
-
-    | If you use...                                                                               | then you should...                                                                                                                                                                                                                                                                                                                                                                                            |
-    |---------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-    | **replicated regions**                                                                      | Use `distributed-ack` scope. The region shortcuts specifying `REPLICATE` use `distributed-ack` scope. This is particularly important if you have more than one data producer. With one data producer, you can safely use `distributed-no-ack`.                                                                                                                                                                        |
-    | **partitioned regions**                                                                     | Custom partition and colocate data among regions so all the data for any single transaction is hosted by a single member. If the transaction is run from a member other than the one hosting the data, the transaction will run by proxy in the member hosting the data. The partitioned region must be defined for the application that runs the transaction, but the data can be hosted in a remote member. |
-    | **persistent regions**                                                                      | Configure Geode to allow transactions on persistent regions. By default, the configuration does not allow transactions on persistent regions. Enable the use of transactions on persistent regions by setting the property `gemfire.ALLOW_PERSISTENT_TRANSACTIONS` to true.                                                                                              |
-    | **a mix of partitioned and replicated regions**                                             | Make sure any replicated region involved in the transaction is hosted on every member that hosts the partitioned region data. All data for a single transaction must reside within a single host.                                                                                                                                                                                                             |
-    | **delta propagation**                                                                       | Set the region attribute `cloning-enabled` to true. This lets Geode do conflict checks at commit time. Without this, the transaction will throw an `UnsupportedOperationInTransactionException ` exception.                                                                                                                                                                      |
-    | **global JTA transactions with only Geode cache transactions** | Set the region attribute `ignore-jta` to true for all regions that you do *not* want to participate in JTA global transactions. It is false by default. For instructions on how to run a JTA global transaction, see [JTA Global Transactions with Geode](JTA_transactions.html).   |
-
-3. **Update your cache event handler and transaction event handler implementations to handle your transactions.** 
-    Cache event handlers may be used with transactions. Cache listeners are called after the commit, instead of after each cache operation, and the cache listeners receive conflated transaction events. Cache writers and loaders are called as usual, at the time of the operation.
-
-    Follow these additional guidelines when writing cache event handler callbacks:
-    -   Make sure cache callbacks are transactionally aware, because a transactional operation could launch callbacks that are not transactional.
-    -   Make sure cache listeners will operate properly, given entry event conflation. Two events for the same key are conflated by removing the existing event and queuing the new event.
-
-    See [Using Cache Writer and Cache Listener Plug-Ins](working_with_transactions.html#concept_ysx_nf1_wk) for more information.
-
-    Transaction event handlers are available. Transaction event handlers are cache-wide. You can install one transaction writer and any number of transaction listeners. Follow these guidelines:
-<ul>
-    <li>Implement with synchronization for thread safety. Listener and writer handlers may be invoked at the same time by different threads for different transactions.</li>
-    <li>Keep transactional callback implementations lightweight, and avoid doing anything that might cause the callbacks to block.</li>
-</ul>
-    See [Configuring Transaction Plug-In Event Handlers](working_with_transactions.html#concept_ocw_vf1_wk) for more information.
-
-4. **Write the transaction code.** For example: 
-
-    ``` pre
-    CacheTransactionManager txManager =
-              cache.getCacheTransactionManager();
-
-    try {
-        txManager.begin();
-        // ... do work
-        txManager.commit();
-    } catch (CommitConflictException conflict) {
-        // ... do necessary work for a transaction that failed on commit
-    }
-    ```
-
-    Follow these guidelines when writing the transaction:
-    -   Start each transaction with a begin operation.
-    -   Consider whether you will want to suspend and resume the transaction. If some operations should not be part of the transaction, you may want to suspend the transaction while performing non-transactional operations. After the non-transactional operations are complete, you can resume the transaction. See [Basic Suspend and Resume Transaction Example](transaction_suspend_resume_example.html#concept_40AAC4332DCE4E4EB60C4BA141B729A4) for an example.
-    -   If your transaction operates on a mix of partitioned and replicated regions, do the first region operation on an entry of the partitioned region. This sets the host for the entire transaction.
-    -   If you did not configure copy-on-read to true, be sure all cache updates avoid in-place changes.
-    -   Take into account the behavior of transactional and non-transactional operations. All transactional operations that are run after the begin and before the commit or rollback are included in the transaction.
-    -   End each transaction with a commit or a rollback. Do not leave any transaction in an uncommitted or unrolled back state. Transactions do not time out, so they will remain for the life of the application.
-
-5. **Review all of your code for compatibility with transactions.** 
-    When you commit a transaction, while the commit is in process, the changes are visible in the distributed cache. This provides better performance than locking everything involved with the transaction updates, but it means that another process accessing data used in the transaction might get some data in the pre-transaction state and some in the post-transaction state.
-
-    For example, suppose keys 1 and 2 are modified within a transaction, such that both values change from A to B. In another thread, it is possible to read key 1 with value B and key 2 with value A, after the commit begins, but before the commit completes. This is possible due to the nature of Geode reads. This choice sacrifices atomic visibility in favor of performance; reads do not block writes, and writes do not block reads.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/run_a_cache_transaction_with_external_db.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/run_a_cache_transaction_with_external_db.html.md.erb b/developing/transactions/run_a_cache_transaction_with_external_db.html.md.erb
deleted file mode 100644
index 474c139..0000000
--- a/developing/transactions/run_a_cache_transaction_with_external_db.html.md.erb
+++ /dev/null
@@ -1,37 +0,0 @@
----
-title:  How to Run a Geode Cache Transaction that Coordinates with an External Database
----
-
-Coordinate a Geode cache transaction with an external database by using CacheWriter/CacheListener and TransactionWriter/TransactionListener plug-ins, **to provide an alternative to using JTA transactions**.
-
-There are a few things you should be careful about while working with Geode cache transactions and external databases:
-
--   When you set up the JDBC connection, make sure that auto-commit is disabled. For example, in Java:
-
-    ``` pre
-    Connection getConnection() throws SQLException {
-        Connection con = ... // create the connection
-        con.setAutoCommit(false);
-        return con;
-    }
-    ```
-
--   The BEGIN statement, database operations and the PREPARE statement must all happen in the same connection session. In order to accomplish this, you will need to obtain the same JDBC connection session across multiple CacheWriter and TransactionWriter/TransactionListener invocations. One way to do this would be to look up the connection (from a user managed Map) based on `cacheTransactionManager.getTransactionId()`.
--   Make sure that the prepare transaction feature is enabled in your external database. It is disabled in PostgreSQL by default. In PostgreSQL, the following property must be modified to enable it:
-
-    ``` pre
-    max_prepared_transactions = 1 # 1 or more enables, zero (default) disables this feature.
-    ```
-
-Use the following procedure to write a Geode cache transaction that coordinates with an external database:
-
-1.  Configure Geode regions as necessary as described in [How to Run a Geode Cache Transaction](run_a_cache_transaction.html#task_f15_mr3_5k).
-2.  Begin the transaction.
-3.  If you have not previously committed a previous transaction in this connection, start a database transaction by issuing a BEGIN statement.
-4.  Perform Geode cache operations; each cache operation invokes the CacheWriter. Implement the CacheWriter to perform the corresponding external database operations.
-5.  Commit the transaction.
-    At this point, the TransactionWriter is invoked. The TransactionWriter returns a TransactionEvent, which contains all the operations in the transaction. Call PREPARE TRANSACTION within your TransactionWriter code.
-
-6.  After a transaction is successfully committed in Geode, the TransactionListener is invoked. The TransactionListener calls COMMIT PREPARED to commit the database transaction.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/transaction_coding_examples.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/transaction_coding_examples.html.md.erb b/developing/transactions/transaction_coding_examples.html.md.erb
deleted file mode 100644
index f442e06..0000000
--- a/developing/transactions/transaction_coding_examples.html.md.erb
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title:  Transaction Coding Examples
----
-
-This section provides several code examples for writing and executing transactions.
-
--   **[Basic Transaction Example](../../developing/transactions/transactions_overview.html)**
-
-    This example operates on two replicated regions. It begins a transaction, updates one entry in each region, and commits the result.
-
--   **[Basic Suspend and Resume Transaction Example](../../developing/transactions/transaction_suspend_resume_example.html)**
-
-    This example suspends and resumes a transaction.
-
--   **[Transaction Embedded within a Function Example](../../developing/transactions/transactional_function_example.html)**
-
-    This example demonstrates a function that does transactional updates to Customer and Order regions.
-
--   **[Geode JTA Transaction Example](../../developing/transactions/transaction_jta_gemfire_example.html)**
-
-    An example code fragment shows how to run a JTA global transaction using Geode as the JTA transaction manager.
-
--   **[JCA Resource Adapter Example](../../developing/transactions/jca_adapter_example.html)**
-
-    This example shows how to use the JCA Resource Adapter in Geode .
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/transaction_event_management.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/transaction_event_management.html.md.erb b/developing/transactions/transaction_event_management.html.md.erb
deleted file mode 100644
index 9506f3d..0000000
--- a/developing/transactions/transaction_event_management.html.md.erb
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title:  How Transaction Events Are Managed
----
-
-Transactional cache operations are handled somewhat differently inside transactions than out.
-
-#  During the Transaction
-
-While the transaction is running, each transactional operation is passed to the cache writer local to the transactional view, if one is available. As with cache operations outside of transactions, the cache writer can abort the operation. Each operation the cache writer allows is applied to the transactional view in the cache and appended to the CacheEvent list in the TransactionEvent object.
-
-## Event Conflation
-
-The cache events are conflated, so if a key already has an event in the list, that event is removed and the current operation is added to the end of the list. So this series of calls inside a transaction:
-
-``` pre
-    Region.create (A, W);
-    Region.put (A, valX);
-    Region.put (B, valQ);
-    Region.invalidate (A);
-    Region.put (A, valY);
-```
-
-results in these events stored in the CacheEvent list:
-
-``` pre
-    put (B, valQ)
-    put (A, valY)
-```
-
-# At commit and after commit
-
-When the transaction is committed, Geode passes the `TransactionEvent` to the transaction writer local to the transactional view, if one is available. After commit, Geode :
-    -   Passes the `TransactionEvent` to each installed transaction listener.
-    -   Walks the `CacheEvent` list, calling all locally installed listeners for each operation listed.
-    -   Distributes the `TransactionEvent` to all interested caches.
-        **Note:**
-        For Geode and global JTA transactions, the `EntryEvent` object contains the Geode transaction ID. JTA transaction events do not contain the JTA transaction ID.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/transaction_jta_gemfire_example.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/transaction_jta_gemfire_example.html.md.erb b/developing/transactions/transaction_jta_gemfire_example.html.md.erb
deleted file mode 100644
index 6795158..0000000
--- a/developing/transactions/transaction_jta_gemfire_example.html.md.erb
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title:  Geode JTA Transaction Example
----
-
-An example code fragment shows how to run a JTA global transaction using Geode as the JTA transaction manager.
-
-The external data sources used in this transaction are configured in the `cache.xml` file. See [Configuring Database Connections Using JNDI](configuring_db_connections_using_JNDI.html#topic_A5E3A67C808D48C08E1F0DC167C5C494) for a configuration example.
-
-``` pre
-Region r = ...; // the  region data source 
-ds = ...; // other data source    
-
-  try  {     
-         Context ctx = cache.getJNDIContext();      
-         Connection conn =  null;
-         UserTransaction tx = (UserTransaction) ctx.lookup("java:/UserTransaction");     
-         tx.begin();
-         conn = ds.getConnection();
-         Statement stmt = conn.createStatement();
-         String sqlSTR =  "insert into " + tableName + " values (........ )";
-         stmt.executeUpdate(sqlSTR);   
-         r.put("key", "value");
-         stmt.close();     
-         tx.commit();
-         conn.close();
-   } catch (NamingException e) { 
-         // handle the exception   
-   }
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/transaction_semantics.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/transaction_semantics.html.md.erb b/developing/transactions/transaction_semantics.html.md.erb
deleted file mode 100644
index 58b3e47..0000000
--- a/developing/transactions/transaction_semantics.html.md.erb
+++ /dev/null
@@ -1,37 +0,0 @@
----
-title:  Geode Cache Transaction Semantics
----
-
-Geode transaction semantics differ in some ways from the Atomicity-Consistency-Isolation-Durability (ACID) semantics of traditional relational databases. For performance reasons, Geode transactions do not adhere to ACID constraints by default, but can be configured for ACID support as described in this section.
-
-## <a id="transaction_semantics__section_8362ACD06C784B5BBB0B7E986F760169" class="no-quick-link"></a>Atomicity
-
-Atomicity is \u201call or nothing\u201d behavior: a transaction completes successfully only when all of the operations it contains complete successfully. If problems occur during a transaction, perhaps due to other transactions with overlapping changes, the transaction cannot successfully complete until the problems are resolved.
-
-Geode transactions provide atomicity and realize speed by using a reservation system, instead of using the traditional relational database technique of a two-phase locking of rows. The reservation prevents other, intersecting transactions from completing, allowing the commit to check for conflicts and to reserve resources in an all-or-nothing fashion prior to making changes to the data. After all changes have been made, locally and remotely, the reservation is released. With the reservation system, an intersecting transaction is simply discarded. The serialization of obtaining locks is avoided. See [Committing Transactions](how_cache_transactions_work.html#concept_sbj_lj1_wk) for details on the two-phase commit protocol that implements the reservation system.
-
-## <a id="transaction_semantics__section_7C287DA4A5134780B3199CE074E3F890" class="no-quick-link"></a>Consistency
-
-Consistency requires that data written within a transaction must observe the key and value constraints established for the affected region. Note that validity of the transaction is the responsibility of the application.
-
-## <a id="transaction_semantics__section_126A24EC499D4CF39AE766A0B526A9A5" class="no-quick-link"></a>Isolation
-
-Isolation assures that operations will see either the pre-transaction state of the system or its post-transaction state, but not the transitional state that occurs while a transaction is in progress. Write operations in a transaction are always confirmed to ensure that stale values are not written. As a distributed cache-based system optimized for performance, Geode in its default configuration does not enforce read isolation. Geode transactions support repeatable read isolation, so once the committed value is read for a given key, it always returns that same value. If a transaction write, such as put or invalidate, deletes a value for a key that has already been read, subsequent reads return the transactional reference.
-
-In the default configuration, Geode isolates transactions at the process thread level, so while a transaction is in progress, its changes are visible only inside the thread that is running the transaction. Threads inside the same process and in other processes cannot see changes until after the commit operation begins. At this point, the changes are visible in the cache, but other threads that access the changing data might see only partial results of the transaction leading to a dirty read.
-
-If an application requires the slower conventional isolation model (such that dirty reads of transitional states are not allowed), read operations must be encapsulated within transactions and the `gemfire.detectReadConflicts` parameter must be set to \u2018true\u2019:
-
-`-Dgemfire.detectReadConflicts=true`
-
-This parameter causes read operations to succeed only when they read a consistent pre- or post-transactional state. If not, a `CommitConflictException` is thrown to the calling application.
-
-## <a id="transaction_semantics__section_F092E368724945BCBF8E5DCB36B97EB4" class="no-quick-link"></a>Durability
-
-Relational databases provide durability by using disk storage for recovery and transaction logging. As a distributed cache-based system optimized for performance, Geode does not support on-disk or in-memory durability for transactions.
-
-Applications can emulate the conventional disk-based durability model by setting the `gemfire.ALLOW_PERSISTENT_TRANSACTIONS` parameter to \u2018true\u2019.
-
-`-Dgemfire.ALLOW_PERSISTENT_TRANSACTIONS=true`
-
-This allows permanent regions to participate in transactions, thus providing disk-based durability. See [Transactions and Persistent Regions](cache_transactions_by_region_type.html#concept_omy_341_wk) for more detail on the use of this parameter.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/transaction_suspend_resume_example.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/transaction_suspend_resume_example.html.md.erb b/developing/transactions/transaction_suspend_resume_example.html.md.erb
deleted file mode 100644
index 40bc772..0000000
--- a/developing/transactions/transaction_suspend_resume_example.html.md.erb
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title:  Basic Suspend and Resume Transaction Example
----
-
-This example suspends and resumes a transaction.
-
-``` pre
- CacheTransactionManager txMgr = cache.getCacheTransactionManager();
-
-    txMgr.begin();
-    region.put("key1", "value");
-    TransactionId txId = txMgr.suspend();
-    assert region.containsKey("key1") == false;
-    // do other operations that should not be
-    // part of a transaction
-    txMgr.resume(txId);
-    region.put("key2", "value");
-    txMgr.commit();
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/transactional_and_nontransactional_ops.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/transactional_and_nontransactional_ops.html.md.erb b/developing/transactions/transactional_and_nontransactional_ops.html.md.erb
deleted file mode 100644
index c2dd84b..0000000
--- a/developing/transactions/transactional_and_nontransactional_ops.html.md.erb
+++ /dev/null
@@ -1,100 +0,0 @@
----
-title: Comparing Transactional and Non-Transactional Operations
----
-
-
-Between the begin operation and the commit or rollback operation are a series of ordinary Geode operations. When they are launched from within a transaction, the Geode operations can be classified into two types:
-
--   Transactional operations affect the transactional view
--   Non-transactional operations do not affect the transactional view
-
-An operation that acts directly on the cache does not usually act on the transactional view.
-
--   **[Transactional Operations](#transactional_operations)**
-
--   **[Non-Transactional Operations](#non_transactional_operations)**
-
--   **[Entry Operations](#entry_operations)**
-
--   **[Region Operations](#region_operations)**
-
--   **[Cache Operations](#cache_operations)**
-
--   **[No-Ops](#no-ops)**
-
-## <a id="transactional_operations" class="no-quick-link"></a>Transactional Operations
-
-The `CacheTransactionManager` methods are the only ones used specifically for cache operations. Otherwise, you use the same methods as usual. Most methods that run within a transaction affect the transactional view, and they do not change the cache until the transaction commits. Methods that behave this way are considered transactional operations. Transactional operations are classified in two ways: whether they modify the transactional view or the cache itself, and whether they create write conflicts with other transactions.
-
-In general, methods that create, destroy, invalidate, update, or read region entries are transactional operations.
-
-Transactional operations that can cause write conflicts are those that modify an entry, such as put, a load done to satisfy a get operation, create, delete, local delete, invalidate and local invalidate.
-
-Transactional read operations do not cause conflicts directly, but they can modify the transactional view. Read operations look for the entry in the transaction view first and then, if necessary, go to the cache. If the entry is returned by a cache read, it is stored as part of the transactional view. At commit time, the transaction uses the initial snapshot of the entry in the view to discover write conflicts.
-
-## <a id="non_transactional_operations" class="no-quick-link"></a>Non-Transactional Operations
-
-A few methods, when invoked within a transaction, have no effect on the transactional view, but they have an immediate effect on the cache. They are considered non-transactional operations. Often, non-transactional operations are administrative, such as `Region.destroy` and `Region.invalidate`. These operations are not supported within a transaction. If you call them, the system throws an exception of type `UnsupportedOperationInTransactionException`.
-
-## <a id="entry_operations" class="no-quick-link"></a>Entry Operations
-
-**Note:**
-Transactional entry operations can be rolled back.
-
-| Operations                           | Methods                                                                                                              | Transactional                                                                   | Write Conflict |
-|--------------------------------------|----------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------|----------------|
-| create                               | `Region.create, put, putAll, Map.put, putAll`                                                                        | yes                                                                             | yes            |
-| modify                               | `Region.put, putAll, Map.put, putAll, Region.Entry.setValue,                                     Map.Entry.setValue` | yes                                                                             | yes            |
-| load                                 | `Region.get, Map.get`                                                                                                | yes                                                                             | yes            |
-| creation or update using `netSearch` | `Region.get, Map.get`                                                                                                | yes                                                                             | no             |
-| destroy: local and distributed       | `Region.localDestroy, destroy, remove, Map.remove`                                                                   | yes                                                                             | yes            |
-| invalidate: local and distributed    | `Region.localInvalidate, invalidate`                                                                                 | yes                                                                             | yes            |
-| set user attribute                   | `Region.Entry.setUserAttribute`                                                                                      | yes                                                                             | yes            |
-| read of a single entry               | `Region.get, getEntry, containsKey, containsValue,                                     containsValueForKey`          | yes                                                                             | no             |
-| read of a collection of entries      | `Region.keySet, entrySet, values`                                                                                    | Becomes transactional when you access the keys or values within the collection. | no             |
-
-Some transactional write operations also do a read before they write, and these can complete a transactional read even when the write fails. The following table of entry operations notes the conditions under which this can happen.
-
-**Note:**
-These operations can add a snapshot of an entry to the transaction\u2019s view even when the write operation does not succeed.
-
-| Operations                        | Methods                              | Reads Without Writing                                                     |
-|-----------------------------------|--------------------------------------|---------------------------------------------------------------------------|
-| create                            | `Region.create`                      | when it throws an `EntryExistsException`                                  |
-| destroy: local and distributed    | `Region.localDestroy, destroy`       | when it throws an `EntryNotFoundException`                                |
-| invalidate: local and distributed | `Region.localInvalidate, invalidate` | when it throws an `EntryNotFoundException`or the entry is already invalid |
-
-## <a id="region_operations" class="no-quick-link"></a>Region Operations
-
-When you create a region in a transaction, any data from the getInitialImage operation goes directly into the cache, rather than waiting for the transaction to commit.
-
-| Operations                        | Methods                                          | Affected              | Write Conflict |
-|-----------------------------------|--------------------------------------------------|-----------------------|----------------|
-| destroy: local and distributed    | `Region.localDestroyRegion, destroyRegion`       | cache                 | yes            |
-| invalidate: local and distributed | `Region.localInvalidateRegion, invalidateRegion` | cache                 | yes            |
-| clear: local and distributed      | `Region.localClear, clear, Map.clear`            | cache and transaction | no             |
-| close                             | `Region.close`                                   | cache                 | yes            |
-| mutate attribute                  | `Region.getAttributesMutator` methods            | cache                 | no             |
-| set user attribute                | `Region.setUserAttribute`                        | cache                 | no             |
-
-## <a id="cache_operations" class="no-quick-link"></a>Cache Operations
-
-When you create a region in a transaction, any data from the getInitialImage operation goes directly into the cache, rather than waiting for the transaction to commit.
-
-| Operations | Methods                          | Affected State | Write Conflict |
-|------------|----------------------------------|----------------|----------------|
-| create     | `createRegionFactory().create()` | committed      | no             |
-| close      | `close`                          | committed      | yes            |
-
-## <a id="no-ops" class="no-quick-link"></a>No-Ops
-
-Any operation that has no effect in a non-transactional context remains a no-op in a transactional context. For example, if you do two `localInvalidate` operations in a row on the same region, the second `localInvalidate` is a no-op. No-op operations do not:
-
--   Cause a listener invocation
--   Cause a distribution message to be sent to other members
--   Cause a change to an entry
--   Cause any conflict
-
-A no-op can do a transactional read.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/transactional_function_example.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/transactional_function_example.html.md.erb b/developing/transactions/transactional_function_example.html.md.erb
deleted file mode 100644
index 6539131..0000000
--- a/developing/transactions/transactional_function_example.html.md.erb
+++ /dev/null
@@ -1,55 +0,0 @@
----
-title:  Transaction Embedded within a Function Example
----
-
-This example demonstrates a function that does transactional updates to Customer and Order regions.
-
-<a id="concept_22331B3DBFAB4C0BA95EF103BFB71257__section_73662C16E0BF4E4780F737C45DBD3137"></a>
-
-``` pre
-/**
- * This function does transactional updates to customer and order regions
- */
-public class TransactionalFunction extends FunctionAdapter {
-
-  private Random random = new Random();
-  /* (non-Javadoc)
-   * @see org.apache.geode.cache.execute.FunctionAdapter#execute(org.apache.geode.cache.execute.FunctionContext)
-   */
-  @Override
-  public void execute(FunctionContext context) {
-    RegionFunctionContext rfc = (RegionFunctionContext)context;
-    Region<CustomerId, String> custRegion = rfc.getDataSet();
-    Region<OrderId, String> 
-        orderRegion = custRegion.getRegionService().getRegion("order");
-
-    CacheTransactionManager 
-        mgr = CacheFactory.getAnyInstance().getCacheTransactionManager();
-    CustomerId custToUpdate = (CustomerId)rfc.getFilter().iterator().next();
-    OrderId orderToUpdate = (OrderId)rfc.getArguments();
-    System.out.println("Starting a transaction...");
-    mgr.begin();
-    int randomInt = random.nextInt(1000);
-    System.out.println("for customer region updating "+custToUpdate);
-    custRegion.put(custToUpdate, 
-        "updatedCustomer_"+custToUpdate.getCustId()+"_"+randomInt);
-    System.out.println("for order region updating "+orderToUpdate);
-    orderRegion.put(orderToUpdate, 
-        "newOrder_"+orderToUpdate.getOrderId()+"_"+randomInt);
-    mgr.commit();
-    System.out.println("transaction completed");
-    context.getResultSender().lastResult(Boolean.TRUE);
-  }
-
-  /* (non-Javadoc)
-   * @see org.apache.geode.cache.execute.FunctionAdapter#getId()
-   */
-  @Override
-  public String getId() {
-    return "TxFunction";
-  }
-
-}
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/transactions_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/transactions_overview.html.md.erb b/developing/transactions/transactions_overview.html.md.erb
deleted file mode 100644
index bef97d7..0000000
--- a/developing/transactions/transactions_overview.html.md.erb
+++ /dev/null
@@ -1,50 +0,0 @@
----
-title:  Basic Transaction Example
----
-
-This example operates on two replicated regions. It begins a transaction, updates one entry in each region, and commits the result.
-
-<a id="concept_F8D96C21C8444F99B47909CDEB86E60A__section_B6818C348224456387DEC5C9D3B5F250"></a>
-If the commit fails, it will be due to a `CommitConflictException`, which implies that a concurrent access caused a change to one of the items operated on within this transaction. This code fragment catches the exception, and it repeats the transaction attempt until the commit succeeds.
-
-``` pre
-Cache c = new CacheFactory().create();
-
-Region<String, Integer> cash = c.createRegionFactory<String, Integer>()
-    .setDataPolicy(DataPolicy.REPLICATE)
-    .create("cash");
-
-Region<String, Integer> trades = c.createRegionFactory<String, Integer>()
-    .setDataPolicy(DataPolicy.REPLICATE)
-    .create("trades");
-
-CacheTransactionManager txmgr = c.getCacheTransactionManager();
-boolean commitConflict = false;
-do {
-    try {
-        txmgr.begin();
-        final String customer = "Customer1";
-        final Integer purchase = Integer.valueOf(1000);
-        // Decrement cash
-        Integer cashBalance = cash.get(customer);
-        Integer newBalance = 
-            Integer.valueOf((cashBalance != null ? cashBalance : 0) 
-                - purchase);
-        cash.put(customer, newBalance);
-        // Increment trades
-        Integer tradeBalance = trades.get(customer);
-        newBalance = 
-            Integer.valueOf((tradeBalance != null ? tradeBalance : 0) 
-                + purchase);
-
-        trades.put(customer, newBalance);
-        txmgr.commit();
-        commitConflict = false;
-    } 
-    catch (CommitConflictException conflict) {
-        commitConflict = true;
-    }
-} while (commitConflict);
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/turning_off_jta.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/turning_off_jta.html.md.erb b/developing/transactions/turning_off_jta.html.md.erb
deleted file mode 100644
index 2ca75da..0000000
--- a/developing/transactions/turning_off_jta.html.md.erb
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title:  Turning Off JTA Transactions
----
-
-You can configure regions to not participate in any JTA global transaction.
-
-The `ignore-jta` region attribute is a boolean that tells the cache to ignore any in-progress JTA transactions when performing cache operations. It is primarily used for cache loaders, cache writers, and cache listeners that need to perform non-transactional operations on a region, such as caching a result set. It is set per region, so some regions can participate in JTA transactions, while others avoid participating in them. This example sets the `ignore-jta` region attribute in the `cache.xml` file.
-
-cache.xml:
-
-``` pre
-<region name="bridge_region">
-   <region-attributes scope="local" ignore-jta="true" statistics-enabled="true"/> 
-       <cache-writer> . . . </cache-writer>
-    </region-attributes> 
-</region>
-```
-
-API:
-
-Using the API, you can turn off JTA transactions using `RegionFactory` and its method `setIgnoreJTA(boolean)`. The current setting for a region can be fetched from a region's `RegionAttributes` by using the `getIgnoreJTA` method.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/transactions/working_with_transactions.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/transactions/working_with_transactions.html.md.erb b/developing/transactions/working_with_transactions.html.md.erb
deleted file mode 100644
index 6b30c66..0000000
--- a/developing/transactions/working_with_transactions.html.md.erb
+++ /dev/null
@@ -1,212 +0,0 @@
----
-title: Working with Geode Cache Transactions
----
-<a id="topic_tx2_gs4_5k"></a>
-
-
-This section contains guidelines and additional information on working with Geode and its cache transactions.
-
--   **[Setting Global Copy on Read](#concept_vx2_gs4_5k)**
-
--   **[Making a Safe Change Within a Transaction Using CopyHelper.copy](#concept_fdr_wht_vk)**
-
--   **[Transactions and Functions](#concept_ihn_zmt_vk)**
-
--   **[Using Queries and Indexes with Transactions](#concept_ty1_vnt_vk)**
-
--   **[Collections and Region.Entry Instances in Transactions](#concept_ksh_twz_vk)**
-
--   **[Using Eviction and Expiration Operations](#concept_vyt_txz_vk)**
-
--   **[Transactions and Consistent Regions](#transactions_and_consistency)**
-
--   **[Suspending and Resuming Transactions](#concept_u5b_ryz_vk)**
-
--   **[Using Cache Writer and Cache Listener Plug-Ins](#concept_ysx_nf1_wk)**
-
--   **[Configuring Transaction Plug-In Event Handlers](#concept_ocw_vf1_wk)**
-
--   **[How Transaction Events Are Managed](transaction_event_management.html)**
-
-## <a id="concept_vx2_gs4_5k" class="no-quick-link"></a>Setting Global Copy on Read
-
-As many entry operations return a reference to the cache entry, copy-on-read avoids problems within a transaction setting. To enable global copy-on-read for all reads, modify the `cache.xml` file or use the corresponding Java API call.
-
-Using cache.xml:
-
-``` pre
-<cache lock-lease="120" lock-timeout="60" search-timeout="300" copy-on-read="true">
-```
-
-API:
-
-``` pre
-Cache c = CacheFactory.getInstance(system);
- c.setCopyOnRead(true);
-```
-
-The copy-on-read attribute and the operations affected by the attribute setting are discussed in detail in [Managing Data Entries](../../basic_config/data_entries_custom_classes/managing_data_entries.html).
-
-## Making a Safe Change Within a Transaction Using CopyHelper.copy
-
-If `copy-on-read` is *not* globally set, and the cache uses replicated regions, explicitly make copies of the cache objects that are to be modified within a transaction. The `CopyHelper.copy` method makes copies:
-
-``` pre
-CacheTransactionManager cTxMgr = cache.getCacheTransactionManager();
-cTxMgr.begin(); 
-Object o = (StringBuffer) r.get("stringBuf");
-StringBuffer s = (StringBuffer) CopyHelper.copy(o);
-s.append("Changes unseen before commit. Read Committed."); 
-r.put("stringBuf", s); 
-cTxMgr.commit();
-```
-
-## Transactions and Functions
-
-You can run a function from inside a transaction and you can nest a transaction within a function, as long as your combination of functions and transactions does not result in nested transactions. See [Function Execution](../function_exec/chapter_overview.html) for more about functions.
-
-A single transaction may contain multiple functions.
-
-If you are suspending and resuming a transaction with multiple function calls, all functions in the transaction must execute on the same member.
-
-See [Transaction Embedded within a Function Example](transactional_function_example.html#concept_22331B3DBFAB4C0BA95EF103BFB71257) for an example.
-
-## Using Queries and Indexes with Transactions
-
-Queries and indexes reflect the cache contents and ignore the changes made by ongoing transactions. If you do a query from inside a transaction, the query does not reflect the changes made inside that transaction.
-
-## Collections and Region.Entry Instances in Transactions
-
-Collections and region entries used in a transaction must be created inside the transaction. After the transaction has completed, the application can no longer use any region entry or collection or associated iterator created within the transaction. An attempted use outside of the transaction will throw an `IllegalStateException` exception.
-
-Region collection operations include `Region.keySet`, `Region.entrySet`, and `Region.values`. You can create instances of `Region.Entry` through the `Region.getEntry` operation or by looking at the contents of the result returned by a `Region.entrySet` operation.
-
-## Using Eviction and Expiration Operations
-
-Entry expiration and LRU eviction affect the committed state. They are not part of a transaction, and therefore they cannot be rolled back.
-
-## About Eviction
-
-LRU eviction operations do not cause write conflicts with existing transactions, despite destroying or invalidating entries. LRU eviction is deferred on entries modified by the transaction until the commit completes. Because anything touched by the transaction has had its LRU clock reset, eviction of those entries is not likely to happen immediately after the commit.
-
-When a transaction commits its changes in a region with distributed scope, the operation can invoke eviction controllers in the remote caches, as well as in the local cache.
-
-## Configure Expiration
-
-Local expiration actions do not cause write conflicts, but distributed expiration can cause conflicts and prevent transactions from committing in the members receiving the distributed operation.
-
--   When you are using transactions on local, preloaded or empty regions, make expiration local if possible. For every instance of that region, configure an expiration action of local invalidate or local destroy. In a cache.xml declaration, use a line similar to this:
-
-    ``` pre
-    <expiration-attributes timeout="60" action="local-invalidate" />
-    ```
-
-    In regions modified by a transaction, local expiration is suspended. Expiration operations are batched and deferred per region until the transaction completes. Once cleanup starts, the manager processes pending expirations. Transactions that need to change the region wait until the expirations are complete.
-
--   With partitioned and replicated regions, you cannot use local expiration. When you are using distributed expiration, the expiration is not suspended during a transaction, and expiration operations distributed from another member can cause write conflicts. In replicated regions, you can avoid conflicts by setting up your distributed system this way:
-    -   Choose an instance of the region to drive region-wide expiration. Use a replicated region, if there is one.
-    -   Configure distributed expiration only in that region instance. The expiration action must be either invalidate or destroy. In a `cache.xml` file declaration, use a line similar to this:
-
-        ``` pre
-        <expiration-attributes timeout="300" action="destroy" />
-        ```
-
-    -   Run the transactions from the member in which expiration is configured.
-
-## Transactions and Consistent Regions
-
-A transaction that modifies a region in which consistency checking is enabled generates all necessary version information for region updates when the transaction commits.
-
-If a transaction modifies a normal, preloaded or empty region, the transaction is first delegated to a Geode member that holds a replicate for the region. This behavior is similar to the transactional behavior for partitioned regions, where the partitioned region transaction is forwarded to a member that hosts the primary for the partitioned region update.
-
-The limitation for transactions with a normal, preloaded or empty region is that, when consistency checking is enabled, a transaction cannot perform a `localDestroy` or `localInvalidate` operation against the region. Geode throws an `UnsupportedOperationInTransactionException` exception in such cases. An application should use a `Destroy` or `Invalidate` operation in place of a `localDestroy` or `localInvalidate` when consistency checks are enabled.
-
-## Suspending and Resuming Transactions
-
-The Geode `CacheTransactionManager` API provides the ability to suspend and resume transactions with the `suspend` and `resume` methods. The ability to suspend and resume is useful when a thread must perform some operations that should not be part of the transaction before the transaction can complete. A complex use case of suspend and resume implements a transaction that spans clients in which only one client at a time will not be suspended.
-
-Once a transaction is suspended, it loses the transactional view of the cache. None of the operations done within the transaction are visible to the thread. Any operations that are performed by the thread while the transaction is suspended are not part of the transaction.
-
-When a transaction is resumed, the resuming thread assumes the transactional view. A transaction that is suspended on a member must be resumed on the same member.
-
-Before resuming a transaction, you may want to check if the transaction exists on the member and whether it is suspended. The `tryResume` method implements this check and resume as an atomic step.
-
-If the member with the primary copy of the data crashes, the transactional view associated with that data is lost. The secondary member for the data will not be able to resume any transactions suspended on the crashed member. You will need to take remedial steps to retry the transaction on a new primary copy of the data.
-
-If a suspended transaction is not touched for a period of time, Geode cleans it up automatically. By default, the timeout for a suspended transaction is 30 minutes and can be configured using the system property `gemfire.suspendedtxTimeout`. For example, `gemfire.suspendedtxTimeout=60` specifies a timeout of 60 minutes.
-
-See [Basic Suspend and Resume Transaction Example](transaction_suspend_resume_example.html) for a sample code fragment that suspends and resumes a transaction.
-
-## Using Cache Writer and Cache Listener Plug-Ins
-
-All standard Geode application plug-ins work with transactions. In addition, the transaction interface offers specialized plug-ins that support transactional operation.
-
-No direct interaction exists between client transactions and client application plug-ins. When a client runs a transaction, Geode calls the plug-ins that are installed on the transaction's server delegate and its server host. Client application plug-ins are not called for operations inside the transaction or for the transaction as a whole. When the transaction is committed, the changes to the server cache are sent to the client cache according to client interest registration. These events can result in calls to the client's `CacheListener`s, as with any other events received from the server.
-
-The `EntryEvent` that a callback receives has a unique Geode transaction ID, so the cache listener can associate each event, as it occurs, with a particular transaction. The transaction ID of an `EntryEvent` that is not part of a transaction is null to distinguish it from a transaction ID.
-
--   `CacheLoader`. When a cache loader is called by a transaction operation, values loaded by the cache loader may cause a write conflict when the transaction commits.
--   `CacheWriter`. During a transaction, if a cache writer exists, its methods are invoked as usual for all operations, as the operations are called in the transactions. The `netWrite` operation is not used. The only cache writer used is the one in the member where the transactional data resides.
--   `CacheListener`. The cache listener callbacks - local and remote - are triggered after the transaction commits. The system sends the conflated transaction events, in the order they were stored.
-
-For more information on writing cache event handlers, see [Implementing Cache Event Handlers](../events/implementing_cache_event_handlers.html).
-
-## <a id="concept_ocw_vf1_wk" class="no-quick-link"></a>Configuring Transaction Plug-In Event Handlers
-
-Geode has two types of transaction plug-ins: Transaction Writers and Transaction Listeners. You can optionally install one transaction writer and one or more transaction listeners per cache.
-
-Like JTA global transactions, you can use transaction plug-in event handlers to coordinate Geode cache transaction activity with an external data store. However, you typically use JTA global transactions when Geode is running as a peer data store with your external data stores. Transaction writers and listeners are typically used when Geode is acting as a front end cache to your backend database.
-
-**Note:**
-You can also use transaction plug-in event handlers when running JTA global transactions.
-
-## TransactionWriter
-
-When you commit a transaction, if a transaction writer is installed in the cache where the data updates were performed, it is called. The writer can do whatever work you need, including aborting the transaction.
-
-The transaction writer is the last place that an application can rollback a transaction. If the transaction writer throws any exception, the transaction is rolled back. For example, you might use a transaction writer to update a backend data source before the Geode cache transaction completes the commit. If the backend data source update fails, the transaction writer implementation can throw a [TransactionWriterException](/releases/latest/javadoc/org/apache/geode/cache/TransactionWriterException.html) to veto the transaction.
-
-A typical usage scenario would be to use the transaction writer to prepare the commit on the external database. Then in a transaction listener, you can apply the commit on the database.
-
-## Transaction Listeners
-
-When the transaction ends, its thread calls the transaction listener to perform the appropriate follow-up for successful commits, failed commits, or voluntary rollbacks. The transaction that caused the listener to be called no longer exists by the time the listener code executes.
-
-Transaction listeners have access to the transactional view and thus are not affected by non-transactional update operations. `TransactionListener` methods cannot make transactional changes or cause a rollback. They can, however, start a new transaction. Multiple transactions on the same cache can cause concurrent invocation of `TransactionListener` methods, so implement methods that do the appropriate synchronization of the multiple threads for thread-safe operation.
-
-A transaction listener can preserve the result of a transaction, perhaps to compare with other transactions, or for reference in case of a failed commit. When a commit fails and the transaction ends, the application cannot just retry the transaction, but must build up the data again. For most applications, the most efficient action is just to start a new transaction and go back through the application logic again.
-
-The rollback and failed commit operations are local to the member where the transactional operations are run. When a successful commit writes to a distributed or partitioned region, however, the transaction results are distributed to other members the same as other updates. The transaction listener on the receiving members reflect the changes the transaction makes in that member, not the originating member. Any exceptions thrown by the transaction listener are caught by Geode and logged.
-
-To configure a transaction listener, add a `cache-transaction-manager` configuration to the cache definition and define one or more instances of `transaction-listener` there. The only parameter to this `transaction-listener` is `URL`, which must be a string, as shown in the following cache.xml example.
-
-**Note:**
-The `cache-transaction-manager` allows listeners to be established. This attribute does not install a different transaction manager.
-
-Using cache.xml:
-
-``` pre
-<cache search-timeout="60">
-           <cache-transaction-manager>
-             <transaction-listener>
-               <class-name>com.company.data.MyTransactionListener</class-name>
-                 <parameter name="URL">
-                    <string>jdbc:cloudscape:rmi:MyData</string>
-                 </parameter>
-             </transaction-listener>
-             <transaction-listener>
-              . . .   
-             </transaction-listener> 
-          </cache-transaction-manager>
-               . . . 
-        </cache>
-```
-
-Using the Java API:
-
-``` pre
-CacheTransactionManager manager = cache.getCacheTransactionManager(); 
-manager.addListener(new LoggingTransactionListener());
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/.gitignore
----------------------------------------------------------------------
diff --git a/geode-docs/.gitignore b/geode-docs/.gitignore
new file mode 100644
index 0000000..eaf0351
--- /dev/null
+++ b/geode-docs/.gitignore
@@ -0,0 +1,6 @@
+geode-book/Gemfile.lock
+geode-book/final_app
+geode-book/output
+out
+temp
+*.bak

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/CONTRIBUTE.md
----------------------------------------------------------------------
diff --git a/geode-docs/CONTRIBUTE.md b/geode-docs/CONTRIBUTE.md
new file mode 100644
index 0000000..dd97f47
--- /dev/null
+++ b/geode-docs/CONTRIBUTE.md
@@ -0,0 +1,63 @@
+# Contributing to the Project Geode Documentation
+
+Project Geode welcomes your contributions to the community's documentation efforts. You can participate by writing new content, reviewing and editing existing content, or fixing bugs. This document covers the following topics:
+
+- [How to Contribute](#contribute)
+- [Document Source Files and Tools](#source_tools)
+- [Writing Guidelines](#guidelines)
+
+[]()
+
+## How to Contribute
+
+We use the fork-and-pull collaboration method on GitHub:
+
+1. In your GitHub account, fork the gemfire/docs-geode-md repository.
+2. Create a local clone of your fork.
+3. Make changes and commit them in your fork.
+4. In the gemfire/docs-geode-md repository, create a pull request.
+
+See [Using Pull Requests](https://help.github.com/articles/using-pull-requests/) on GitHub for more about the fork-and-pull collaboration method.
+
+[]()
+
+## Document Source Files and Tools
+
+Project Geode documentation source files are written in markdown. Image files include .gif and .png graphics and editable image files in the open source SVG format.
+
+- [Working with Markdown Files](#markdown)
+- [Working with Images and Graphics](#images)
+
+[]()
+
+### Working with Markdown Files
+
+You can edit markdown files in any text editor. For more, read [Daring Fireball's Markdown Syntax page](https://daringfireball.net/projects/markdown/syntax).
+
+[]()
+
+### Working with Images and Graphics
+
+Image files in .gif or .png format are in the `images` directory in the Project Geode docs repo. Images in .svg format are in the `images_svg` directory.
+
+Most of the Project Geode image files have been converted to the open source SVG format. You can insert SVG images directly into an XML topic and modify images using a SVG editor.
+
+The Wikipedia page [Comparison of Vector Graphics Editors](http://en.wikipedia.org/wiki/Comparison_of_vector_graphics_editors) provides a list and comparison of commercial and free vector graphics editors. Note, however, that not all of these programs support the SVG format.
+
+[]()
+
+## Writing Guidelines
+
+The most important advice we can provide for working with the Project Geode docs is to spend some time becoming familiar with the existing source files and the structure of the project directory. In particular, note the following conventions and tips:
+
+- Top-level subdirectories organize topics into "books": basic_config, configuring, developing, etc.
+
+- Use lowercase characters for all file and directory names. Separate words in filenames with an underscore (`_`) character.
+
+- Use the `.md` file extension for topic files.
+
+- Add new topics to the existing directories by subject type. Only create a new directory if you are starting a new subject or a new book.
+
+- To start a new topic, you can make a copy of an existing file with similar content and edit it.
+
+- Use the appropriate document type for the content you are writing. Create multiple topics if you are writing overview, procedural, and reference content.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/README.md
----------------------------------------------------------------------
diff --git a/geode-docs/README.md b/geode-docs/README.md
new file mode 100644
index 0000000..a018ca1
--- /dev/null
+++ b/geode-docs/README.md
@@ -0,0 +1,93 @@
+# Project Geode End-User Documentation
+
+The latest check-ins to `project-geode/docs` are automatically built and published to <http://geode-docs.cfapps.io>.
+
+Project Geode provides the full source for end-user documentation in markdown format. The markdown can be built into HTML using [Bookbinder](https://github.com/pivotal-cf/bookbinder).
+
+Bookbinder is a gem that binds together a unified documentation web application from markdown, html, and/or DITA source material. The source material for bookbinder must be stored either in local directories or in GitHub repositories. Bookbinder runs [middleman](http://middlemanapp.com/) to produce a Rackup app that can be deployed locally or as a Web application.
+
+This document contains instructions for building the local Geode documentation and publishing it to Cloud Foundry or Pivotal Web Services. It contains the sections:
+
+- [Bookbinder Usage](#usage)
+- [Prerequisites](#prereq)
+- [Building the Documentation](#building)
+- [Publishing the Documentation](#publishing)
+- [Getting More Information](#moreinfo)
+
+[]()
+
+## Bookbinder Usage
+
+Bookbinder is meant to be used from within a project called a **book**. The book includes a configuration file that describes which documentation repositories to use as source materials. Bookbinder provides a set of scripts to aggregate those repositories and publish them to various locations.
+
+For Geode, a preconfigured **book** is provided in the directory `/geode-book`. You can use this configuration to build HTML for project Geode on your local system.
+
+[]()
+
+## Prerequisites
+
+- Bookbinder requires Ruby version 2.0.0-p195 or higher.
+
+## Building the Documentation
+
+1. Begin by moving or copying the `/geode-book directory` to a directory that is parallel to `project-geode/docs`. For example:
+
+  ```
+  $ cd /repos/project-geode/docs
+  $ cp -r geode-book ..
+  $ cd ../geode-book
+  ```
+
+2. The GemFile in the book directory already defines the `gem "bookbindery"` dependency. Make sure you are in the relocated book directory and enter:
+
+  ```
+  $ bundle install
+  ```
+
+3. The installed `config.yml` file configures the Project Geode book for building locally. The installed file configures the local directory for the markdown source files. It uses the configuration:
+
+  ```
+  book_repo: project-geode/geode-book
+  public_host: localhost
+
+  sections:
+  - repository:
+     name: gemfire/docs-geode-md
+   directory: docs-geode
+   subnav_template: geode-nav
+
+  template_variables:
+   product_url: http://geode.incubator.apache.org
+   book_title: Project Geode Documentation
+  ```
+
+4. Build the files locally using the installed `config.yml` file. Execute the command:
+
+  ```
+  $ bundle exec bookbinder bind local
+  ```
+
+  Bookbinder converts the markdown source into HTML, putting the final output in the `final_app` directory.
+
+5. To view the local documentation:
+
+  ```
+  $ cd final_app
+  $ rackup
+  ```
+
+  You can now view the local documentation at <http://localhost:9292>
+
+[]()
+
+## Publishing the Documentation
+
+Because the `final_app` directory contains the full output of the HTML conversion process, you can easily publish this directory as a hosted Web application.
+
+[]()
+
+## Getting More Information
+
+Bookbinder provides additional functionality to construct books from multiple Github repos, to perform variable substitution, and also to automatically build documentation in a continuous integration pipeline. For more information, see <https://github.com/pivotal-cf/bookbinder>.
+
+The latest check-ins to `gemfire/docs-geode-md` are automatically built and published to <http://geode-docs.cfapps.io>.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/about_geode.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/about_geode.html.md.erb b/geode-docs/about_geode.html.md.erb
new file mode 100644
index 0000000..3117eb4
--- /dev/null
+++ b/geode-docs/about_geode.html.md.erb
@@ -0,0 +1,9 @@
+---
+title:  Apache Geode 1.0.0-incubating Documentation
+---
+
+This documentation describes product concepts and provides complete setup instructions for Apache Geode 1.0.0-incubating. Source files and instructions on how to build this documentation are available at [https://github.com/project-geode/docs](https://github.com/project-geode/docs) and [https://github.com/project-geode/docs/blob/master/README.md](https://github.com/project-geode/docs/blob/master/README.md).
+
+You can also find additional documentation about Geode on the **Apache Geode Wiki**: [https://cwiki.apache.org/confluence/display/GEODE/Index](https://cwiki.apache.org/confluence/display/GEODE/Index).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/book_intro.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/book_intro.html.md.erb b/geode-docs/basic_config/book_intro.html.md.erb
new file mode 100644
index 0000000..1b6114e
--- /dev/null
+++ b/geode-docs/basic_config/book_intro.html.md.erb
@@ -0,0 +1,23 @@
+---
+title:  Basic Configuration and Programming
+---
+
+*Basic Configuration and Programming* describes how to configure distributed system and cache properties for your Apache Geode installation. For your applications, it provides guidance for writing code to manage your cache and distributed system connection, data regions, and data entries, including custom classes.
+
+-   **[Distributed System and Cache Configuration](../basic_config/config_concepts/chapter_overview.html)**
+
+    To work with your Apache Geode applications, you use a combination of configuration files and application code.
+
+-   **[Cache Management](../basic_config/the_cache/chapter_overview.html)**
+
+    The Geode cache is the entry point to Geode caching management. Geode provides different APIs and XML configuration models to support the behaviors of different members.
+
+-   **[Data Regions](../basic_config/data_regions/chapter_overview.html)**
+
+    The region is the core building block of the Apache Geode distributed system. All cached data is organized into data regions and you do all of your data puts, gets, and querying activities against them.
+
+-   **[Data Entries](../basic_config/data_entries_custom_classes/chapter_overview.html)**
+
+    The data entry is the key/value pair where you store your data. You can manage your entries individually and in batches. To use domain objects for your entry values and keys, you need to follow Apache Geode requirements for data storage and distribution.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/config_concepts/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/config_concepts/chapter_overview.html.md.erb b/geode-docs/basic_config/config_concepts/chapter_overview.html.md.erb
new file mode 100644
index 0000000..8f3fa6d
--- /dev/null
+++ b/geode-docs/basic_config/config_concepts/chapter_overview.html.md.erb
@@ -0,0 +1,23 @@
+---
+title:  Distributed System and Cache Configuration
+---
+
+To work with your Apache Geode applications, you use a combination of configuration files and application code.
+
+-   **[Distributed System Members](../../basic_config/config_concepts/distributed_system_member_configuration.html)**
+
+    Distributed system members are programs that connect to a Geode distributed system. You configure members to belong to a single distributed system, and you can optionally configure them to be clients or servers to members in other distributed systems, and to communicate with other distributed systems.
+
+-   **[Setting Properties](../../basic_config/gemfire_properties/setting_distributed_properties.html)**
+
+    Geode provides a default distributed system configuration for out-of-the-box systems. To use non-default configurations and to fine-tune your member communication, you can use a mix of various options to customize your distributed system configuration.
+
+-   **[Options for Configuring the Cache and Data Regions](../../basic_config/the_cache/setting_cache_properties.html)**
+
+    To populate your Apache Geode cache and fine-tune its storage and distribution behavior, you need to define cached data regions and provide custom configuration for the cache and regions.
+
+-   **[Local and Remote Membership and Caching](../../basic_config/config_concepts/local_vs_remote.html)**
+
+    For many Apache Geode discussions, you need to understand the difference between local and remote membership and caching.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/config_concepts/distributed_system_member_configuration.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/config_concepts/distributed_system_member_configuration.html.md.erb b/geode-docs/basic_config/config_concepts/distributed_system_member_configuration.html.md.erb
new file mode 100644
index 0000000..5da27bc
--- /dev/null
+++ b/geode-docs/basic_config/config_concepts/distributed_system_member_configuration.html.md.erb
@@ -0,0 +1,34 @@
+---
+title:  Distributed System Members
+---
+
+Distributed system members are programs that connect to a Geode distributed system. You configure members to belong to a single distributed system, and you can optionally configure them to be clients or servers to members in other distributed systems, and to communicate with other distributed systems.
+
+## <a id="distributed_system_member_configuration__section_326B2609B67E4FBE9BF2074C3B211E50" class="no-quick-link"></a>Member Overview
+
+Distributed system members (or simply "members") connect to the Geode system when they create the Geode data cache. The members' distributed system is configured through Geode properties. See [gemfire.properties and gfsecurity.properties (Geode Properties)](../../reference/topics/gemfire_properties.html). Geode properties specify all necessary information for system member startup, initialization, and communication.
+
+**Note:**
+You cannot change a member's properties while the member is connected to the distributed system.
+
+Use the properties to define:
+
+-   How to find and communicate with other system members
+-   How to perform logging and statistics activities
+-   Which persistent configuration or `cache.xml` file to use for cache and data region initialization
+-   Other options, including event conflation, how to handle network loss, and security settings
+
+## <a id="distributed_system_member_configuration__section_E755E9E4A31149C980561D617A99A002" class="no-quick-link"></a>Distributed System Membership and System Topologies
+
+Every Geode process is a member of a distributed system, even if the distributed system is defined as standalone, with just one member. You can run an individual distributed system in isolation or you can combine systems for vertical and horizontal scaling. See [Topology and Communication General Concepts](../../topologies_and_comm/topology_concepts/chapter_overview.html).
+
+-   **Peer-to-Peer Distributed Systems**. Members that define the same member discovery properties belong to the same distributed system and are peers to one another.
+-   **Client/Server Installations**. The client/server topology uses relationships that you configure between members of multiple distributed systems. You configure some or all of the peers in one distributed system to act as cache servers to clients connecting from outside the system. Each server can host many client processes, managing cache access for all in an efficient, vertically hierarchical cache configuration. You configure the client applications to connect to the servers, using a client cache configuration. Clients run as members of standalone Geode distributed systems, with no peers, so all data updates and requests go to the servers.
+
+## **Multi-site Installations**
+
+The multi-site topology uses relationships that you configure between members of multiple distributed systems. Through this configuration, you loosely couple two or more distributed systems for automated data distribution. This is usually done for sites at geographically separate locations. You configure a subset of peers in each distributed system site with gateway senders and/or gateway receivers to manage events that are distributed between the sites.
+
+In the context of a single distributed system, unless otherwise specified, remote members refers to other members of the same distributed system. In client/server and multi-site installations, remote generally refers to members in other distributed systems. For example, all servers are remote to the clients that connect to them. Each client runs standalone, with connections only to the server tier, so all servers and their other clients are remote to the individual client. All gateway receivers are remote to the gateway senders that connect to them from other distributed systems,and to those gateway senders\u2019 peers.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/config_concepts/local_vs_remote.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/config_concepts/local_vs_remote.html.md.erb b/geode-docs/basic_config/config_concepts/local_vs_remote.html.md.erb
new file mode 100644
index 0000000..f48b459
--- /dev/null
+++ b/geode-docs/basic_config/config_concepts/local_vs_remote.html.md.erb
@@ -0,0 +1,12 @@
+---
+title:  Local and Remote Membership and Caching
+---
+
+For many Apache Geode discussions, you need to understand the difference between local and remote membership and caching.
+
+<a id="local_vs_remote_member_and_cache__section_5535DC4C94494B6A9B106DA39F63A439"></a>
+Discussions of Geode membership and caching activities often differentiate between local and remote. Local caching always refers to the central member under discussion, if there is one such obvious member, and remote refers to other members. If there is no clear, single local member, the discussion assigns names to the members to differentiate. Operations, data, configuration, and so forth that are "local to member Q" are running or resident inside the member Q process. Operations, data, configuration, and so on, that are "remote to member Q" are running or resident inside some other member.
+
+The local cache is the cache belonging to the local member. All other caches are remote, whether in other members of the same distributed system or in different distributed systems.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/data_entries_custom_classes/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_entries_custom_classes/chapter_overview.html.md.erb b/geode-docs/basic_config/data_entries_custom_classes/chapter_overview.html.md.erb
new file mode 100644
index 0000000..565cd87
--- /dev/null
+++ b/geode-docs/basic_config/data_entries_custom_classes/chapter_overview.html.md.erb
@@ -0,0 +1,15 @@
+---
+title:  Data Entries
+---
+
+The data entry is the key/value pair where you store your data. You can manage your entries individually and in batches. To use domain objects for your entry values and keys, you need to follow Apache Geode requirements for data storage and distribution.
+
+-   **[Managing Data Entries](../../basic_config/data_entries_custom_classes/managing_data_entries.html)**
+
+    Program your applications to create, modify, and manage your cached data entries.
+
+-   **[Requirements for Using Custom Classes in Data Caching](../../basic_config/data_entries_custom_classes/using_custom_classes.html)**
+
+    Follow these guidelines to use custom domain classes for your cached entry keys and values.
+
+


[21/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/custom_partitioned.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/custom_partitioned.svg b/geode-docs/images_svg/custom_partitioned.svg
new file mode 100644
index 0000000..e952a5c
--- /dev/null
+++ b/geode-docs/images_svg/custom_partitioned.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="102 228 392 186" width="392pt" height="186pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 10:07Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><filter id="Shadow_2" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="white" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offse
 t="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(268.875 396) scale(162.99823)"/><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="white" stop-opacity=".65"/><stop offset="1" stop-color="white" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(243 378) scale(111.19134)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underlin
 e-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_3" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e2edf3" stop-opacity=".65"/><stop offset="1" stop-color="#e2edf3" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_3" gradientTransform="translate(169.31531 300.02344) rotate(-90) scale(25.654718)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_3" gradientTransform="translate(199.54969 300.02344) rotate(-90) scale(25.654718)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient_3" gradientTransform="translate(229.78406 300.02344) rotate(-90) scale(25.654718)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(476.47125 396) scale(162.99823)"/><radialGradient id="Obj_Gradient
 _7" xl:href="#Gradient_3" gradientTransform="translate(169.31531 338.90625) rotate(-90) scale(25.654718)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_3" gradientTransform="translate(199.54969 338.90625) rotate(-90) scale(25.654718)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient_3" gradientTransform="translate(229.78406 338.90625) rotate(-90) scale(25.654718)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_2" gradientTransform="translate(451.78875 378) scale(111.19134)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient_3" gradientTransform="translate(378.10406 300.02344) rotate(-90) scale(25.654718)"/><radialGradient id="Obj_Gradient_c" xl:href="#Gradient_3" gradientTransform="translate(408.33844 300.02344) rotate(-90) scale(25.654718)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient_3" gradientTransform="translate(438.5728 300.02344) rotate(-90) scale(25.654718)"/><radialGradient id="Obj_Gradient_e" xl:href="#Gradient_3" gradientTransform
 ="translate(378.10406 338.90625) rotate(-90) scale(25.654718)"/><radialGradient id="Obj_Gradient_f" xl:href="#Gradient_3" gradientTransform="translate(408.33844 338.90625) rotate(-90) scale(25.654718)"/><radialGradient id="Obj_Gradient_10" xl:href="#Gradient_3" gradientTransform="translate(438.5728 338.90625) rotate(-90) scale(25.654718)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_4" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#a8c6d9" stop-opacity=".65"/><stop offset="1" stop-color="white" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_11" xl:href="#Gradient_4" gradientTransform="translate(234 324) scale(70.113256)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="532.22656" cap-height="719.72656" ascent="770.01953" descent="-229.98047" font-weight="bold"><font-face-src><font-face-name name="Helvetica-Bold"/></font-face-src></font-f
 ace><radialGradient id="Obj_Gradient_12" xl:href="#Gradient_4" gradientTransform="translate(234.59625 362.57304) scale(70.113256)"/><radialGradient id="Obj_Gradient_13" xl:href="#Gradient_4" gradientTransform="translate(442.1925 324) scale(70.113256)"/><radialGradient id="Obj_Gradient_14" xl:href="#Gradient_4" gradientTransform="translate(442.1925 361.28652) scale(70.113256)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>custom_partitioning</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow_2)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_
 Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow_2)"/><xl:use xl:href="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id16_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id17_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id19_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id20_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id21_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id23_Graphic" filter="url(#Shadow_2)"/><xl:use xl:href="#id24_Graphic" filter="url(#Shadow_2)"/><xl:use xl:href="#id25_Graphic" filter="url(#Shadow_2)"/><xl:use xl:href="#id26_Graphic" filter="url(#Shadow_2)"/></g><g id="id3_Graphic"><path d="M 122.4675 241.7175 L 262.215 241.7175 C 265.89322 241.7175 268.875 244.69928 268.875 248.3775 L 268.875 389.34 C 268.875 393.01822 265.89322 396 262.215 396 L 122.4675 396 C 118.78928 396 115.8075 393.01822 115.8075 389.34 L 115.8075 248.3775 C 115.8075 244.69928 118.78928 241.7175 122.4675 241.7175 Z" fill="url(#O
 bj_Gradient)"/><path d="M 122.4675 241.7175 L 262.215 241.7175 C 265.89322 241.7175 268.875 244.69928 268.875 248.3775 L 268.875 389.34 C 268.875 393.01822 265.89322 396 262.215 396 L 122.4675 396 C 118.78928 396 115.8075 393.01822 115.8075 389.34 L 115.8075 248.3775 C 115.8075 244.69928 118.78928 241.7175 122.4675 241.7175 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(119.8075 245.7175)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="61.060664" y="14" textLength="84.006836">Member (M1)</tspan></text></g><g id="id4_Graphic"><path d="M 140.4675 277.7175 L 236.34 277.7175 C 240.01822 277.7175 243 280.69928 243 284.3775 L 243 371.34 C 243 375.01822 240.01822 378 236.34 378 L 140.4675 378 C 136.78928 378 133.8075 375.01822 133.8075 371.34 L 133.8075 284.3775 C 133.8075 280.69928 136.78928 277.7175 140.4675 277.7175 Z" fill="url(#Obj_Gradient_2)"/><path d="M 140.4675 27
 7.7175 L 236.34 277.7175 C 240.01822 277.7175 243 280.69928 243 284.3775 L 243 371.34 C 243 375.01822 240.01822 378 236.34 378 L 140.4675 378 C 136.78928 378 133.8075 375.01822 133.8075 371.34 L 133.8075 284.3775 C 133.8075 280.69928 136.78928 277.7175 140.4675 277.7175 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(135.8075 279.7175)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="13.5693945" y="10" textLength="73.930664">Partition Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="86.953184" y="10" textLength="6.669922">A</tspan></text></g><g id="id5_Graphic"><path d="M 145.12781 317.55094 L 145.12781 306.68344 C 145.12781 303.00522 148.10959 300.02344 151.78781 300.02344 C 151.78781 300.02344 151.78781 300.02344 151.78781 300.02344 L 162.65531 300.02344 C 166.33353 300.02344 169.31531 303.00522 169.31531 306.68344 L 169
 .31531 317.55094 C 169.31531 321.22916 166.33353 324.21094 162.65531 324.21094 C 162.65531 324.21094 162.65531 324.21094 162.65531 324.21094 L 151.78781 324.21094 C 148.10959 324.21094 145.12781 321.22916 145.12781 317.55094 Z" fill="url(#Obj_Gradient_3)"/><path d="M 145.12781 317.55094 L 145.12781 306.68344 C 145.12781 303.00522 148.10959 300.02344 151.78781 300.02344 C 151.78781 300.02344 151.78781 300.02344 151.78781 300.02344 L 162.65531 300.02344 C 166.33353 300.02344 169.31531 303.00522 169.31531 306.68344 L 169.31531 317.55094 C 169.31531 321.22916 166.33353 324.21094 162.65531 324.21094 C 162.65531 324.21094 162.65531 324.21094 162.65531 324.21094 L 151.78781 324.21094 C 148.10959 324.21094 145.12781 321.22916 145.12781 317.55094 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/></g><g id="id6_Graphic"><path d="M 175.36219 317.55094 L 175.36219 306.68344 C 175.36219 303.00522 178.34397 300.02344 182.02219 300.
 02344 C 182.02219 300.02344 182.02219 300.02344 182.02219 300.02344 L 192.88969 300.02344 C 196.56791 300.02344 199.54969 303.00522 199.54969 306.68344 L 199.54969 317.55094 C 199.54969 321.22916 196.56791 324.21094 192.88969 324.21094 C 192.88969 324.21094 192.88969 324.21094 192.88969 324.21094 L 182.02219 324.21094 C 178.34397 324.21094 175.36219 321.22916 175.36219 317.55094 Z" fill="url(#Obj_Gradient_4)"/><path d="M 175.36219 317.55094 L 175.36219 306.68344 C 175.36219 303.00522 178.34397 300.02344 182.02219 300.02344 C 182.02219 300.02344 182.02219 300.02344 182.02219 300.02344 L 192.88969 300.02344 C 196.56791 300.02344 199.54969 303.00522 199.54969 306.68344 L 199.54969 317.55094 C 199.54969 321.22916 196.56791 324.21094 192.88969 324.21094 C 192.88969 324.21094 192.88969 324.21094 192.88969 324.21094 L 182.02219 324.21094 C 178.34397 324.21094 175.36219 321.22916 175.36219 317.55094 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" 
 stroke-dasharray="1,5"/></g><g id="id7_Graphic"><path d="M 205.59656 317.55094 L 205.59656 306.68344 C 205.59656 303.00522 208.57834 300.02344 212.25656 300.02344 C 212.25656 300.02344 212.25656 300.02344 212.25656 300.02344 L 223.12406 300.02344 C 226.80228 300.02344 229.78406 303.00522 229.78406 306.68344 L 229.78406 317.55094 C 229.78406 321.22916 226.80228 324.21094 223.12406 324.21094 C 223.12406 324.21094 223.12406 324.21094 223.12406 324.21094 L 212.25656 324.21094 C 208.57834 324.21094 205.59656 321.22916 205.59656 317.55094 Z" fill="url(#Obj_Gradient_5)"/><path d="M 205.59656 317.55094 L 205.59656 306.68344 C 205.59656 303.00522 208.57834 300.02344 212.25656 300.02344 C 212.25656 300.02344 212.25656 300.02344 212.25656 300.02344 L 223.12406 300.02344 C 226.80228 300.02344 229.78406 303.00522 229.78406 306.68344 L 229.78406 317.55094 C 229.78406 321.22916 226.80228 324.21094 223.12406 324.21094 C 223.12406 324.21094 223.12406 324.21094 223.12406 324.21094 L 212.25656 324.210
 94 C 208.57834 324.21094 205.59656 321.22916 205.59656 317.55094 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/></g><rect x="139.5" y="297" width="99" height="30.234384" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id9_Graphic"><path d="M 330.06375 241.7175 L 469.81125 241.7175 C 473.48947 241.7175 476.47125 244.69928 476.47125 248.3775 L 476.47125 389.34 C 476.47125 393.01822 473.48947 396 469.81125 396 L 330.06375 396 C 326.38553 396 323.40375 393.01822 323.40375 389.34 L 323.40375 248.3775 C 323.40375 244.69928 326.38553 241.7175 330.06375 241.7175 Z" fill="url(#Obj_Gradient_6)"/><path d="M 330.06375 241.7175 L 469.81125 241.7175 C 473.48947 241.7175 476.47125 244.69928 476.47125 248.3775 L 476.47125 389.34 C 476.47125 393.01822 473.48947 396 469.81125 396 L 330.06375 396 C 326.38553 396 323.40375 393.01822 323.40375 389.34 L 323.40375 248.3775 C 323.40375 244.
 69928 326.38553 241.7175 330.06375 241.7175 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(327.40375 245.7175)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="61.060664" y="14" textLength="84.006836">Member (M2)</tspan></text></g><g id="id10_Graphic"><path d="M 145.12781 356.43375 L 145.12781 345.56625 C 145.12781 341.88803 148.10959 338.90625 151.78781 338.90625 C 151.78781 338.90625 151.78781 338.90625 151.78781 338.90625 L 162.65531 338.90625 C 166.33353 338.90625 169.31531 341.88803 169.31531 345.56625 L 169.31531 356.43375 C 169.31531 360.11197 166.33353 363.09375 162.65531 363.09375 C 162.65531 363.09375 162.65531 363.09375 162.65531 363.09375 L 151.78781 363.09375 C 148.10959 363.09375 145.12781 360.11197 145.12781 356.43375 Z" fill="url(#Obj_Gradient_7)"/><path d="M 145.12781 356.43375 L 145.12781 345.56625 C 145.12781 341.88803 148.10959 338.90625 151.78781
  338.90625 C 151.78781 338.90625 151.78781 338.90625 151.78781 338.90625 L 162.65531 338.90625 C 166.33353 338.90625 169.31531 341.88803 169.31531 345.56625 L 169.31531 356.43375 C 169.31531 360.11197 166.33353 363.09375 162.65531 363.09375 C 162.65531 363.09375 162.65531 363.09375 162.65531 363.09375 L 151.78781 363.09375 C 148.10959 363.09375 145.12781 360.11197 145.12781 356.43375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/></g><g id="id11_Graphic"><path d="M 175.36219 356.43375 L 175.36219 345.56625 C 175.36219 341.88803 178.34397 338.90625 182.02219 338.90625 C 182.02219 338.90625 182.02219 338.90625 182.02219 338.90625 L 192.88969 338.90625 C 196.56791 338.90625 199.54969 341.88803 199.54969 345.56625 L 199.54969 356.43375 C 199.54969 360.11197 196.56791 363.09375 192.88969 363.09375 C 192.88969 363.09375 192.88969 363.09375 192.88969 363.09375 L 182.02219 363.09375 C 178.34397 363.09375 175.36219 360.1119
 7 175.36219 356.43375 Z" fill="url(#Obj_Gradient_8)"/><path d="M 175.36219 356.43375 L 175.36219 345.56625 C 175.36219 341.88803 178.34397 338.90625 182.02219 338.90625 C 182.02219 338.90625 182.02219 338.90625 182.02219 338.90625 L 192.88969 338.90625 C 196.56791 338.90625 199.54969 341.88803 199.54969 345.56625 L 199.54969 356.43375 C 199.54969 360.11197 196.56791 363.09375 192.88969 363.09375 C 192.88969 363.09375 192.88969 363.09375 192.88969 363.09375 L 182.02219 363.09375 C 178.34397 363.09375 175.36219 360.11197 175.36219 356.43375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/></g><g id="id12_Graphic"><path d="M 205.59656 356.43375 L 205.59656 345.56625 C 205.59656 341.88803 208.57834 338.90625 212.25656 338.90625 C 212.25656 338.90625 212.25656 338.90625 212.25656 338.90625 L 223.12406 338.90625 C 226.80228 338.90625 229.78406 341.88803 229.78406 345.56625 L 229.78406 356.43375 C 229.78406 360.11197 226.80
 228 363.09375 223.12406 363.09375 C 223.12406 363.09375 223.12406 363.09375 223.12406 363.09375 L 212.25656 363.09375 C 208.57834 363.09375 205.59656 360.11197 205.59656 356.43375 Z" fill="url(#Obj_Gradient_9)"/><path d="M 205.59656 356.43375 L 205.59656 345.56625 C 205.59656 341.88803 208.57834 338.90625 212.25656 338.90625 C 212.25656 338.90625 212.25656 338.90625 212.25656 338.90625 L 223.12406 338.90625 C 226.80228 338.90625 229.78406 341.88803 229.78406 345.56625 L 229.78406 356.43375 C 229.78406 360.11197 226.80228 363.09375 223.12406 363.09375 C 223.12406 363.09375 223.12406 363.09375 223.12406 363.09375 L 212.25656 363.09375 C 208.57834 363.09375 205.59656 360.11197 205.59656 356.43375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/></g><rect x="139.5" y="335.8828" width="99" height="30.234384" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id14_Graphic"><pat
 h d="M 349.25625 277.7175 L 445.12875 277.7175 C 448.80697 277.7175 451.78875 280.69928 451.78875 284.3775 L 451.78875 371.34 C 451.78875 375.01822 448.80697 378 445.12875 378 L 349.25625 378 C 345.57803 378 342.59625 375.01822 342.59625 371.34 L 342.59625 284.3775 C 342.59625 280.69928 345.57803 277.7175 349.25625 277.7175 Z" fill="url(#Obj_Gradient_a)"/><path d="M 349.25625 277.7175 L 445.12875 277.7175 C 448.80697 277.7175 451.78875 280.69928 451.78875 284.3775 L 451.78875 371.34 C 451.78875 375.01822 448.80697 378 445.12875 378 L 349.25625 378 C 345.57803 378 342.59625 375.01822 342.59625 371.34 L 342.59625 284.3775 C 342.59625 280.69928 345.57803 277.7175 349.25625 277.7175 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(344.59625 279.7175)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="13.5693945" y="10" textLength="73.930664">Partition Region </tspan><tspan f
 ont-family="Helvetica" font-size="10" font-weight="500" fill="black" x="86.953184" y="10" textLength="6.669922">A</tspan></text></g><g id="id15_Graphic"><path d="M 353.91656 317.55094 L 353.91656 306.68344 C 353.91656 303.00522 356.89834 300.02344 360.57656 300.02344 L 371.44406 300.02344 C 375.12228 300.02344 378.10406 303.00522 378.10406 306.68344 L 378.10406 317.55094 C 378.10406 321.22916 375.12228 324.21094 371.44406 324.21094 L 360.57656 324.21094 C 356.89834 324.21094 353.91656 321.22916 353.91656 317.55094 C 353.91656 317.55094 353.91656 317.55094 353.91656 317.55094 Z" fill="url(#Obj_Gradient_b)"/><path d="M 353.91656 317.55094 L 353.91656 306.68344 C 353.91656 303.00522 356.89834 300.02344 360.57656 300.02344 L 371.44406 300.02344 C 375.12228 300.02344 378.10406 303.00522 378.10406 306.68344 L 378.10406 317.55094 C 378.10406 321.22916 375.12228 324.21094 371.44406 324.21094 L 360.57656 324.21094 C 356.89834 324.21094 353.91656 321.22916 353.91656 317.55094 C 353.91656 317.
 55094 353.91656 317.55094 353.91656 317.55094 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/></g><g id="id16_Graphic"><path d="M 384.15094 317.55094 L 384.15094 306.68344 C 384.15094 303.00522 387.13272 300.02344 390.81094 300.02344 L 401.67844 300.02344 C 405.35666 300.02344 408.33844 303.00522 408.33844 306.68344 L 408.33844 317.55094 C 408.33844 321.22916 405.35666 324.21094 401.67844 324.21094 L 390.81094 324.21094 C 387.13272 324.21094 384.15094 321.22916 384.15094 317.55094 C 384.15094 317.55094 384.15094 317.55094 384.15094 317.55094 Z" fill="url(#Obj_Gradient_c)"/><path d="M 384.15094 317.55094 L 384.15094 306.68344 C 384.15094 303.00522 387.13272 300.02344 390.81094 300.02344 L 401.67844 300.02344 C 405.35666 300.02344 408.33844 303.00522 408.33844 306.68344 L 408.33844 317.55094 C 408.33844 321.22916 405.35666 324.21094 401.67844 324.21094 L 390.81094 324.21094 C 387.13272 324.21094 384.15094 321.22916 38
 4.15094 317.55094 C 384.15094 317.55094 384.15094 317.55094 384.15094 317.55094 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/></g><g id="id17_Graphic"><path d="M 414.3853 317.55094 L 414.3853 306.68344 C 414.3853 303.00522 417.3671 300.02344 421.0453 300.02344 L 431.9128 300.02344 C 435.59103 300.02344 438.5728 303.00522 438.5728 306.68344 L 438.5728 317.55094 C 438.5728 321.22916 435.59103 324.21094 431.9128 324.21094 L 421.0453 324.21094 C 417.3671 324.21094 414.3853 321.22916 414.3853 317.55094 C 414.3853 317.55094 414.3853 317.55094 414.3853 317.55094 Z" fill="url(#Obj_Gradient_d)"/><path d="M 414.3853 317.55094 L 414.3853 306.68344 C 414.3853 303.00522 417.3671 300.02344 421.0453 300.02344 L 431.9128 300.02344 C 435.59103 300.02344 438.5728 303.00522 438.5728 306.68344 L 438.5728 317.55094 C 438.5728 321.22916 435.59103 324.21094 431.9128 324.21094 L 421.0453 324.21094 C 417.3671 324.21094 414.3853 321.22916 
 414.3853 317.55094 C 414.3853 317.55094 414.3853 317.55094 414.3853 317.55094 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/></g><rect x="348.28875" y="297" width="99" height="30.234384" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id19_Graphic"><path d="M 353.91656 356.43375 L 353.91656 345.56625 C 353.91656 341.88803 356.89834 338.90625 360.57656 338.90625 L 371.44406 338.90625 C 375.12228 338.90625 378.10406 341.88803 378.10406 345.56625 L 378.10406 356.43375 C 378.10406 360.11197 375.12228 363.09375 371.44406 363.09375 L 360.57656 363.09375 C 356.89834 363.09375 353.91656 360.11197 353.91656 356.43375 C 353.91656 356.43375 353.91656 356.43375 353.91656 356.43375 Z" fill="url(#Obj_Gradient_e)"/><path d="M 353.91656 356.43375 L 353.91656 345.56625 C 353.91656 341.88803 356.89834 338.90625 360.57656 338.90625 L 371.44406 338.90625 C 375.12228 338.90625 378.10406 
 341.88803 378.10406 345.56625 L 378.10406 356.43375 C 378.10406 360.11197 375.12228 363.09375 371.44406 363.09375 L 360.57656 363.09375 C 356.89834 363.09375 353.91656 360.11197 353.91656 356.43375 C 353.91656 356.43375 353.91656 356.43375 353.91656 356.43375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/></g><g id="id20_Graphic"><path d="M 384.15094 356.43375 L 384.15094 345.56625 C 384.15094 341.88803 387.13272 338.90625 390.81094 338.90625 L 401.67844 338.90625 C 405.35666 338.90625 408.33844 341.88803 408.33844 345.56625 L 408.33844 356.43375 C 408.33844 360.11197 405.35666 363.09375 401.67844 363.09375 L 390.81094 363.09375 C 387.13272 363.09375 384.15094 360.11197 384.15094 356.43375 C 384.15094 356.43375 384.15094 356.43375 384.15094 356.43375 Z" fill="url(#Obj_Gradient_f)"/><path d="M 384.15094 356.43375 L 384.15094 345.56625 C 384.15094 341.88803 387.13272 338.90625 390.81094 338.90625 L 401.67844 338.9062
 5 C 405.35666 338.90625 408.33844 341.88803 408.33844 345.56625 L 408.33844 356.43375 C 408.33844 360.11197 405.35666 363.09375 401.67844 363.09375 L 390.81094 363.09375 C 387.13272 363.09375 384.15094 360.11197 384.15094 356.43375 C 384.15094 356.43375 384.15094 356.43375 384.15094 356.43375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/></g><g id="id21_Graphic"><path d="M 414.3853 356.43375 L 414.3853 345.56625 C 414.3853 341.88803 417.3671 338.90625 421.0453 338.90625 L 431.9128 338.90625 C 435.59103 338.90625 438.5728 341.88803 438.5728 345.56625 L 438.5728 356.43375 C 438.5728 360.11197 435.59103 363.09375 431.9128 363.09375 L 421.0453 363.09375 C 417.3671 363.09375 414.3853 360.11197 414.3853 356.43375 C 414.3853 356.43375 414.3853 356.43375 414.3853 356.43375 Z" fill="url(#Obj_Gradient_10)"/><path d="M 414.3853 356.43375 L 414.3853 345.56625 C 414.3853 341.88803 417.3671 338.90625 421.0453 338.90625 L 431.91
 28 338.90625 C 435.59103 338.90625 438.5728 341.88803 438.5728 345.56625 L 438.5728 356.43375 C 438.5728 360.11197 435.59103 363.09375 431.9128 363.09375 L 421.0453 363.09375 C 417.3671 363.09375 414.3853 360.11197 414.3853 356.43375 C 414.3853 356.43375 414.3853 356.43375 414.3853 356.43375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/></g><rect x="348.28875" y="335.8828" width="99" height="30.234384" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id23_Graphic"><path d="M 149.4675 303.42696 L 227.34 303.42696 C 231.01822 303.42696 234 306.40874 234 310.08696 L 234 317.34 C 234 321.01822 231.01822 324 227.34 324 L 149.4675 324 C 145.78928 324 142.8075 321.01822 142.8075 317.34 L 142.8075 310.08696 C 142.8075 306.40874 145.78928 303.42696 149.4675 303.42696 Z" fill="url(#Obj_Gradient_11)"/><path d="M 149.4675 303.42696 L 227.34 303.42696 C 231.01822 303.42696 234 30
 6.40874 234 310.08696 L 234 317.34 C 234 321.01822 231.01822 324 227.34 324 L 149.4675 324 C 145.78928 324 142.8075 321.01822 142.8075 317.34 L 142.8075 310.08696 C 142.8075 306.40874 145.78928 303.42696 149.4675 303.42696 Z" stroke="white" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(144.8075 305.42696)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="bold" fill="black" x="5.6948828" y="10" textLength="77.802734">customer X data</tspan></text></g><g id="id24_Graphic"><path d="M 150.06375 342 L 227.93625 342 C 231.61447 342 234.59625 344.98178 234.59625 348.66 L 234.59625 355.91304 C 234.59625 359.59126 231.61447 362.57304 227.93625 362.57304 L 150.06375 362.57304 C 146.38553 362.57304 143.40375 359.59126 143.40375 355.91304 L 143.40375 348.66 C 143.40375 344.98178 146.38553 342 150.06375 342 Z" fill="url(#Obj_Gradient_12)"/><path d="M 150.06375 342 L 227.93625 342 C 231.61447 342 234.59625 344.98178 234.
 59625 348.66 L 234.59625 355.91304 C 234.59625 359.59126 231.61447 362.57304 227.93625 362.57304 L 150.06375 362.57304 C 146.38553 362.57304 143.40375 359.59126 143.40375 355.91304 L 143.40375 348.66 C 143.40375 344.98178 146.38553 342 150.06375 342 Z" stroke="white" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(145.40375 344)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="bold" fill="black" x="5.870664" y="10" textLength="47.79297">customer </tspan><tspan font-family="Helvetica" font-size="10" font-weight="bold" fill="black" x="53.48785" y="10" textLength="6.669922">Y</tspan><tspan font-family="Helvetica" font-size="10" font-weight="bold" fill="black" x="59.981992" y="10" textLength="23.339844"> data</tspan></text></g><g id="id25_Graphic"><path d="M 357.66 303.42696 L 435.5325 303.42696 C 439.21072 303.42696 442.1925 306.40874 442.1925 310.08696 L 442.1925 317.34 C 442.1925 321.01822 439.21072 324 435.5
 325 324 L 357.66 324 C 353.98178 324 351 321.01822 351 317.34 L 351 310.08696 C 351 306.40874 353.98178 303.42696 357.66 303.42696 Z" fill="url(#Obj_Gradient_13)"/><path d="M 357.66 303.42696 L 435.5325 303.42696 C 439.21072 303.42696 442.1925 306.40874 442.1925 310.08696 L 442.1925 317.34 C 442.1925 321.01822 439.21072 324 435.5325 324 L 357.66 324 C 353.98178 324 351 321.01822 351 317.34 L 351 310.08696 C 351 306.40874 353.98178 303.42696 357.66 303.42696 Z" stroke="white" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(353 305.42696)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="bold" fill="black" x="5.7827734" y="10" textLength="54.46289">customer P</tspan><tspan font-family="Helvetica" font-size="10" font-weight="bold" fill="black" x="60.069883" y="10" textLength="23.339844"> data</tspan></text></g><g id="id26_Graphic"><path d="M 357.66 340.71348 L 435.5325 340.71348 C 439.21072 340.71348 442.1925 34
 3.69526 442.1925 347.37348 L 442.1925 354.62652 C 442.1925 358.30474 439.21072 361.28652 435.5325 361.28652 L 357.66 361.28652 C 353.98178 361.28652 351 358.30474 351 354.62652 L 351 347.37348 C 351 343.69526 353.98178 340.71348 357.66 340.71348 Z" fill="url(#Obj_Gradient_14)"/><path d="M 357.66 340.71348 L 435.5325 340.71348 C 439.21072 340.71348 442.1925 343.69526 442.1925 347.37348 L 442.1925 354.62652 C 442.1925 358.30474 439.21072 361.28652 435.5325 361.28652 L 357.66 361.28652 C 353.98178 361.28652 351 358.30474 351 354.62652 L 351 347.37348 C 351 343.69526 353.98178 340.71348 357.66 340.71348 Z" stroke="white" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(353 342.71348)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="bold" fill="black" x="5.1406836" y="10" textLength="78.911133">customer Q data</tspan></text></g></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/developing_overflow.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/developing_overflow.svg b/geode-docs/images_svg/developing_overflow.svg
new file mode 100644
index 0000000..f5cf3bb
--- /dev/null
+++ b/geode-docs/images_svg/developing_overflow.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="77 330 414 138" width="414pt" height="138pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-06 22:42Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(216 450) scale(116.13139)"/><font-face font-family="Helvetica" font-size="11" units-per-em="1000" underli
 ne-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(162 432) scale(19.091883)"/><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_2" gradientTransform="translate(189 432) sc
 ale(19.091883)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_3" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#eceede" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_3" gradientTransform="translate(470.25 445.5) scale(97.349884)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient_2" gradientTransform="translate(398.25 429.75) scale(20.320191)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M 11.7222214 0 L 0 -4.39
 5833 L 0 4.395833 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>overflow</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 96.66 360 L 209.34 360 C 213.01822 360 216 362.98178 216 366.66 L 216 443.34 C 216 447.01822 213.01822 450 209.34 450 L 96.66 450 C 92.981783 450 90 447.01822 90 443.34 L 90 366.66 C 90 362.98178 92.981783 360 96.66 360 Z" fill="url(#Obj_Gradient)"/><path d="M 96.66 360 L 209.34 360 C 213.01822 360 216 362.98178 216 366.66 L 216 443.34 C 216 447.01822 213.01822 450 209.34 450 L 96.66 450 C 92.981783 450 90 447.01822 90 443.34 L 90 366.66 C 90 362.
 98178 92.981783 360 96.66 360 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(94 364)" fill="black"><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="38.828857" y="10" textLength="40.342285">Member</tspan></text></g><path d="M 121.5 414 L 130.5 414 C 132.98528 414 135 416.01472 135 418.5 L 135 427.5 C 135 429.98528 132.98528 432 130.5 432 L 121.5 432 C 119.01472 432 117 429.98528 117 427.5 L 117 418.5 C 117 416.01472 119.01472 414 121.5 414 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/><text transform="translate(121 417.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text><g id="id5_Graphic"><path d="M 153 414 L 153 414 C 157.97056 414 162 418.02944 162 423 L 162 423 C 162 427.97056 157.97056 432 153 432 L 153 432 C 
 148.02944 432 144 427.97056 144 423 L 144 423 C 144 418.02944 148.02944 414 153 414 Z" fill="url(#Obj_Gradient_2)"/><path d="M 153 414 L 153 414 C 157.97056 414 162 418.02944 162 423 L 162 423 C 162 427.97056 157.97056 432 153 432 L 153 432 C 148.02944 432 144 427.97056 144 423 L 144 423 C 144 418.02944 148.02944 414 153 414 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(148 417.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><g id="id6_Graphic"><rect x="171" y="414" width="18" height="18" fill="url(#Obj_Gradient_3)"/><rect x="171" y="414" width="18" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(175 417.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.2512207" y="9" textLengt
 h="5.4975586">Z</tspan></text></g><g id="id7_Graphic"><path d="M 362.25 387 L 362.25 432 L 362.25 432 C 362.25 439.45584 386.42662 445.5 416.25 445.5 C 446.07338 445.5 470.25 439.45584 470.25 432 L 470.25 387 L 470.25 387 C 470.25 379.54416 446.07338 373.5 416.25 373.5 C 386.42662 373.5 362.25 379.54416 362.25 387 Z" fill="url(#Obj_Gradient_4)"/><path d="M 362.25 387 L 362.25 432 L 362.25 432 C 362.25 439.45584 386.42662 445.5 416.25 445.5 C 446.07338 445.5 470.25 439.45584 470.25 432 L 470.25 387 L 470.25 387 C 470.25 379.54416 446.07338 373.5 416.25 373.5 C 386.42662 373.5 362.25 379.54416 362.25 387 Z M 362.25 387 L 362.25 387 C 362.25 394.45584 386.42662 400.5 416.25 400.5 C 446.07338 400.5 470.25 394.45584 470.25 387" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id8_Graphic"><path d="M 384.75 409.5 L 393.75 409.5 C 396.23528 409.5 398.25 411.51472 398.25 414 L 398.25 425.25 C 398.25 427.73528 396.23528 429.75 393.75 429.75
  L 384.75 429.75 C 382.26472 429.75 380.25 427.73528 380.25 425.25 L 380.25 414 C 380.25 411.51472 382.26472 409.5 384.75 409.5 Z" fill="url(#Obj_Gradient_5)"/><path d="M 384.75 409.5 L 393.75 409.5 C 396.23528 409.5 398.25 411.51472 398.25 414 L 398.25 425.25 C 398.25 427.73528 396.23528 429.75 393.75 429.75 L 384.75 429.75 C 382.26472 429.75 380.25 427.73528 380.25 425.25 L 380.25 414 C 380.25 411.51472 382.26472 409.5 384.75 409.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(384.25 414.125)" fill="black" fill-opacity=".39999998"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" fill-opacity=".39999998" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><rect x="108" y="396" width="90" height="45" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(110 398)" fill="black"><tspan font-family="Helvetica" font
 -size="10" font-weight="500" fill="black" x="44.862305" y="10" textLength="41.137695">Region B</tspan></text><text transform="translate(352.75 341.25)" fill="black"><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="38.540771" y="10" textLength="47.668457">Disk Files</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="10.102051" y="22" textLength="63.527344">values for overfl</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="73.629395" y="22" textLength="41.018555">ow entries</tspan></text><line x1="198" y1="400.5" x2="368.052" y2="400.5" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(225.625 388.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="0" y="9" textLength="12.0058594">offl</tspan><tspan font-family="Helvetica" font-size="9"
  font-weight="500" fill="black" x="12.0058594" y="9" textLength="39.524414">oad overfl</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="51.530273" y="9" textLength="11.504883">ow</tspan></text><text transform="translate(225.625 406.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="0" y="9" textLength="100.06787">update/invalidate/destroy</tspan></text><line x1="198" y1="418.5" x2="368.052" y2="418.5" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="378" y1="436.5" x2="207.948" y2="436.5" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(225.625 424.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="0" y="9" textLength="40.517578">satisfy get</tspan></text></g></g><
 /svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/developing_persistence.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/developing_persistence.svg b/geode-docs/images_svg/developing_persistence.svg
new file mode 100644
index 0000000..e5f3174
--- /dev/null
+++ b/geode-docs/images_svg/developing_persistence.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="113 479 415 133" width="415pt" height="133pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-06 22:40Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(252 594) scale(116.13139)"/><font-face font-family="Helvetica" font-size="11" units-per-em="1000" underl
 ine-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(171 576) scale(19.091883)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_2" gradientTransform="translate(198 576) s
 cale(19.091883)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(225 576) scale(19.091883)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_3" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#eceede" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_5" xl:href="#Gradient_3" gradientTransform="translate(506.25 591.75) scale(97.349884)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(434.25 576) scale(20.320191)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(461.25 576) scale(20.320191)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(488.25 576) scale(20.320191)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-heig
 ht="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M 11.7222214 0 L 0 -4.395833 L 0 4.395833 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>persistence</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Gr
 aphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 132.66 504 L 245.34 504 C 249.01822 504 252 506.98178 252 510.66 L 252 587.34 C 252 591.0182 249.01822 594 245.34 594 L 132.66 594 C 128.98178 594 126 591.0182 126 587.34 L 126 510.66 C 126 506.98178 128.98178 504 132.66 504 Z" fill="url(#Obj_Gradient)"/><path d="M 132.66 504 L 245.34 504 C 249.01822 504 252 506.98178 252 510.66 L 252 587.34 C 252 591.0182 249.01822 594 245.34 594 L 132.66 594 C 128.98178 594 126 591.0182 126 587.34 L 126 510.66 C 126 506.98178 128.98178 504 132.66 504 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(130 508)" fill="black"><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="38.828857" y="10" textLength="40.342285">Member</tspan></text></g><g id="id4_Graphic"><path d="M 157.5 558 L 166.5 558 C 168.98528 558 171 560.01472 171 562.5 L 171 571.5 C 171 573.98528 168.98528 576 166.5 576 L 157.5
  576 C 155.01472 576 153 573.98528 153 571.5 L 153 562.5 C 153 560.01472 155.01472 558 157.5 558 Z" fill="url(#Obj_Gradient_2)"/><path d="M 157.5 558 L 166.5 558 C 168.98528 558 171 560.01472 171 562.5 L 171 571.5 C 171 573.98528 168.98528 576 166.5 576 L 157.5 576 C 155.01472 576 153 573.98528 153 571.5 L 153 562.5 C 153 560.01472 155.01472 558 157.5 558 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(157 561.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id5_Graphic"><path d="M 189 558 L 189 558 C 193.97056 558 198 562.02944 198 567 L 198 567 C 198 571.97056 193.97056 576 189 576 L 189 576 C 184.02944 576 180 571.97056 180 567 L 180 567 C 180 562.02944 184.02944 558 189 558 Z" fill="url(#Obj_Gradient_3)"/><path d="M 189 558 L 189 558 C 193.97056 558 198 562.02944 198 567 L 198 567 C 198 571.97056
  193.97056 576 189 576 L 189 576 C 184.02944 576 180 571.97056 180 567 L 180 567 C 180 562.02944 184.02944 558 189 558 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(184 561.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><g id="id6_Graphic"><rect x="207" y="558" width="18" height="18" fill="url(#Obj_Gradient_4)"/><rect x="207" y="558" width="18" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(211 561.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.2512207" y="9" textLength="5.4975586">Z</tspan></text></g><g id="id7_Graphic"><path d="M 398.25 533.25 L 398.25 578.25 L 398.25 578.25 C 398.25 585.70584 422.42662 591.75 452.25 591.75 C 482.07338 591.75 506.25 585.70584 506.25 578.
 25 L 506.25 533.25 L 506.25 533.25 C 506.25 525.79416 482.07338 519.75 452.25 519.75 C 422.42662 519.75 398.25 525.79416 398.25 533.25 Z" fill="url(#Obj_Gradient_5)"/><path d="M 398.25 533.25 L 398.25 578.25 L 398.25 578.25 C 398.25 585.70584 422.42662 591.75 452.25 591.75 C 482.07338 591.75 506.25 585.70584 506.25 578.25 L 506.25 533.25 L 506.25 533.25 C 506.25 525.79416 482.07338 519.75 452.25 519.75 C 422.42662 519.75 398.25 525.79416 398.25 533.25 Z M 398.25 533.25 L 398.25 533.25 C 398.25 540.70584 422.42662 546.75 452.25 546.75 C 482.07338 546.75 506.25 540.70584 506.25 533.25" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id8_Graphic"><path d="M 420.75 555.75 L 429.75 555.75 C 432.23528 555.75 434.25 557.76472 434.25 560.25 L 434.25 571.5 C 434.25 573.98528 432.23528 576 429.75 576 L 420.75 576 C 418.26472 576 416.25 573.98528 416.25 571.5 L 416.25 560.25 C 416.25 557.76472 418.26472 555.75 420.75 555.75 Z" fill="url(#Obj
 _Gradient_6)"/><path d="M 420.75 555.75 L 429.75 555.75 C 432.23528 555.75 434.25 557.76472 434.25 560.25 L 434.25 571.5 C 434.25 573.98528 432.23528 576 429.75 576 L 420.75 576 C 418.26472 576 416.25 573.98528 416.25 571.5 L 416.25 560.25 C 416.25 557.76472 418.26472 555.75 420.75 555.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(420.25 560.375)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id9_Graphic"><path d="M 452.25 555.75 L 452.25 555.75 C 457.22056 555.75 461.25 559.77944 461.25 564.75 L 461.25 567 C 461.25 571.97056 457.22056 576 452.25 576 L 452.25 576 C 447.27944 576 443.25 571.97056 443.25 567 L 443.25 564.75 C 443.25 559.77944 447.27944 555.75 452.25 555.75 Z" fill="url(#Obj_Gradient_7)"/><path d="M 452.25 555.75 L 452.25 555.75 C 457.22056 555.75 461.25 559.77944 461.25 564.75 L 46
 1.25 567 C 461.25 571.97056 457.22056 576 452.25 576 L 452.25 576 C 447.27944 576 443.25 571.97056 443.25 567 L 443.25 564.75 C 443.25 559.77944 447.27944 555.75 452.25 555.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(447.25 560.375)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><g id="id10_Graphic"><rect x="470.25" y="555.75" width="18" height="20.25" fill="url(#Obj_Gradient_8)"/><rect x="470.25" y="555.75" width="18" height="20.25" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(474.25 560.375)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.2512207" y="9" textLength="5.4975586">Z</tspan></text></g><rect x="144" y="540" width="90" height="45" stroke="#252525" stroke-linecap="round" str
 oke-linejoin="round" stroke-width=".72000003"/><text transform="translate(146 542)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="45.40918" y="10" textLength="34.467773">Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="79.33008" y="10" textLength="6.669922">A</tspan></text><line x1="234" y1="558" x2="404.052" y2="558" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(261.625 545.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="0" y="9" textLength="103.038574">persist values from create</tspan></text><text transform="translate(389.875 489.75)" fill="black"><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="38.540771" y="10" textLength="47.668457">Disk Files</tspan><tspan font-family="Helvetica" font-size="9" font-
 weight="500" fill="black" x="3.0949707" y="22" textLength="118.56006">keys and values for all entries</tspan></text><text transform="translate(261.625 563.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="0" y="9" textLength="100.06787">update/invalidate/destroy</tspan></text><line x1="234" y1="576" x2="404.052" y2="576" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/developing_persistence_and_overflow.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/developing_persistence_and_overflow.svg b/geode-docs/images_svg/developing_persistence_and_overflow.svg
new file mode 100644
index 0000000..c09ce8e
--- /dev/null
+++ b/geode-docs/images_svg/developing_persistence_and_overflow.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="95 330 416 139" width="416pt" height="139pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-06 22:47Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(234 451.125) scale(116.13139)"/><font-face font-family="Helvetica" font-size="11" units-per-em="1000" und
 erline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(180 433.125) scale(19.091883)"/><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_2" gradientTransform="translate(207
  433.125) scale(19.091883)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_3" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#eceede" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_3" gradientTransform="translate(489.375 445.5) scale(97.349884)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient_2" gradientTransform="translate(417.375 429.75) scale(20.320191)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(444.375 429.75) scale(20.320191)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(471.375 429.75) scale(20.320191)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><fon
 t-face-name name="Helvetica"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M 11.7222214 0 L 0 -4.395833 L 0 4.395833 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>persist+overflow</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 114.66 361.125 L 227.34 361.125 C 231.01822 361.125 234 364.10678 234 367.78
 5 L 234 444.465 C 234 448.14322 231.01822 451.125 227.34 451.125 L 114.66 451.125 C 110.981783 451.125 108 448.14322 108 444.465 L 108 367.785 C 108 364.10678 110.981783 361.125 114.66 361.125 Z" fill="url(#Obj_Gradient)"/><path d="M 114.66 361.125 L 227.34 361.125 C 231.01822 361.125 234 364.10678 234 367.785 L 234 444.465 C 234 448.14322 231.01822 451.125 227.34 451.125 L 114.66 451.125 C 110.981783 451.125 108 448.14322 108 444.465 L 108 367.785 C 108 364.10678 110.981783 361.125 114.66 361.125 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(112 365.125)" fill="black"><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="15.9104" y="10" textLength="86.1792">GemFire Member</tspan></text></g><path d="M 139.5 415.125 L 148.5 415.125 C 150.98528 415.125 153 417.13972 153 419.625 L 153 428.625 C 153 431.11028 150.98528 433.125 148.5 433.125 L 139.5 433.125 C 137.01472 433.125 135 431.1102
 8 135 428.625 L 135 419.625 C 135 417.13972 137.01472 415.125 139.5 415.125 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="1,5"/><text transform="translate(139 418.625)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text><g id="id5_Graphic"><path d="M 171 415.125 L 171 415.125 C 175.97056 415.125 180 419.15444 180 424.125 L 180 424.125 C 180 429.09556 175.97056 433.125 171 433.125 L 171 433.125 C 166.02944 433.125 162 429.09556 162 424.125 L 162 424.125 C 162 419.15444 166.02944 415.125 171 415.125 Z" fill="url(#Obj_Gradient_2)"/><path d="M 171 415.125 L 171 415.125 C 175.97056 415.125 180 419.15444 180 424.125 L 180 424.125 C 180 429.09556 175.97056 433.125 171 433.125 L 171 433.125 C 166.02944 433.125 162 429.09556 162 424.125 L 162 424.125 C 162 419.15444 166.02944 415.125 171 415.125 Z" stroke="#252525" stroke-linecap="ro
 und" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(166 418.625)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><g id="id6_Graphic"><rect x="189" y="415.125" width="18" height="18" fill="url(#Obj_Gradient_3)"/><rect x="189" y="415.125" width="18" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(193 418.625)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.2512207" y="9" textLength="5.4975586">Z</tspan></text></g><g id="id7_Graphic"><path d="M 381.375 387 L 381.375 432 L 381.375 432 C 381.375 439.45584 405.55162 445.5 435.375 445.5 C 465.19838 445.5 489.375 439.45584 489.375 432 L 489.375 387 L 489.375 387 C 489.375 379.54416 465.19838 373.5 435.375 373.5 C 405.55162 373.5 381.375 379.54416 381.375 387 Z" fill="url(#Obj_Gradie
 nt_4)"/><path d="M 381.375 387 L 381.375 432 L 381.375 432 C 381.375 439.45584 405.55162 445.5 435.375 445.5 C 465.19838 445.5 489.375 439.45584 489.375 432 L 489.375 387 L 489.375 387 C 489.375 379.54416 465.19838 373.5 435.375 373.5 C 405.55162 373.5 381.375 379.54416 381.375 387 Z M 381.375 387 L 381.375 387 C 381.375 394.45584 405.55162 400.5 435.375 400.5 C 465.19838 400.5 489.375 394.45584 489.375 387" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id8_Graphic"><path d="M 403.875 409.5 L 412.875 409.5 C 415.36028 409.5 417.375 411.51472 417.375 414 L 417.375 425.25 C 417.375 427.73528 415.36028 429.75 412.875 429.75 L 403.875 429.75 C 401.38972 429.75 399.375 427.73528 399.375 425.25 L 399.375 414 C 399.375 411.51472 401.38972 409.5 403.875 409.5 Z" fill="url(#Obj_Gradient_5)"/><path d="M 403.875 409.5 L 412.875 409.5 C 415.36028 409.5 417.375 411.51472 417.375 414 L 417.375 425.25 C 417.375 427.73528 415.36028 429.75 412.8
 75 429.75 L 403.875 429.75 C 401.38972 429.75 399.375 427.73528 399.375 425.25 L 399.375 414 C 399.375 411.51472 401.38972 409.5 403.875 409.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(403.375 414.125)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id9_Graphic"><path d="M 435.375 409.5 L 435.375 409.5 C 440.34556 409.5 444.375 413.52944 444.375 418.5 L 444.375 420.75 C 444.375 425.72056 440.34556 429.75 435.375 429.75 L 435.375 429.75 C 430.40444 429.75 426.375 425.72056 426.375 420.75 L 426.375 418.5 C 426.375 413.52944 430.40444 409.5 435.375 409.5 Z" fill="url(#Obj_Gradient_6)"/><path d="M 435.375 409.5 L 435.375 409.5 C 440.34556 409.5 444.375 413.52944 444.375 418.5 L 444.375 420.75 C 444.375 425.72056 440.34556 429.75 435.375 429.75 L 435.375 429.75 C 430.40444 429.75 426.375 425.72056 426
 .375 420.75 L 426.375 418.5 C 426.375 413.52944 430.40444 409.5 435.375 409.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(430.375 414.125)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><g id="id10_Graphic"><rect x="453.375" y="409.5" width="18" height="20.25" fill="url(#Obj_Gradient_7)"/><rect x="453.375" y="409.5" width="18" height="20.25" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(457.375 414.125)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.2512207" y="9" textLength="5.4975586">Z</tspan></text></g><rect x="126" y="397.125" width="90" height="45" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(128 399.125)" fill
 ="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="44.310547" y="10" textLength="41.689453">Region C</tspan></text><text transform="translate(373 341.25)" fill="black"><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="38.540771" y="10" textLength="47.668457">Disk Files</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="3.0949707" y="22" textLength="118.56006">keys and values for all entries</tspan></text><line x1="216" y1="400.5" x2="386.052" y2="400.5" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(243.625 388.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="0" y="9" textLength="103.038574">persist values from create</tspan></text><text transform="translate(243.625 406.25)" fill="black"><tspan font-family="Helvetica" font-size=
 "9" font-weight="500" fill="black" x="0" y="9" textLength="100.06787">update/invalidate/destroy</tspan></text><line x1="216" y1="418.5" x2="386.052" y2="418.5" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="396" y1="436.5" x2="225.948" y2="436.5" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(243.625 424.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="0" y="9" textLength="40.517578">satisfy get</tspan></text></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/distributed_how_1.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/distributed_how_1.svg b/geode-docs/images_svg/distributed_how_1.svg
new file mode 100644
index 0000000..4c4026a
--- /dev/null
+++ b/geode-docs/images_svg/distributed_how_1.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="95 293 355 193" width="355pt" height="193pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 11:12Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(252 468) scale(162.56153)"/><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underli
 ne-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(432 468) scale(162.56153)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_2" gradientTransform="translate(189.09574 425.25) scale(21.610544)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></fo
 nt-face-src></font-face><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(414 387) scale(218.62082)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(234 387) scale(87.75)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(177.75 378) scale(19.091883)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient" gradientTransform="translate(414 387) scale(87.75)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(357.75 378) scale(19.091883)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArro
 w_Marker" viewBox="-1 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M 11.7222214 0 L 0 -4.395833 L 0 4.395833 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>how_it_works-1</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 114.66 306 L 245.34 306 C 249.01822 306 252 308.98178 252 312.66 L 252 461.34 C 252 465.01822 249.01822 468 245.34 468 L 114.66 468 C 110.981783 468 108 465.01822
  108 461.34 L 108 312.66 C 108 308.98178 110.981783 306 114.66 306 Z" fill="url(#Obj_Gradient)"/><path d="M 114.66 306 L 245.34 306 C 249.01822 306 252 308.98178 252 312.66 L 252 461.34 C 252 465.01822 249.01822 468 245.34 468 L 114.66 468 C 110.981783 468 108 465.01822 108 461.34 L 108 312.66 C 108 308.98178 110.981783 306 114.66 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(112 310)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="48.103516" y="14" textLength="87.896484"> Member (M1)</tspan></text></g><g id="id4_Graphic"><path d="M 294.66 306 L 425.34 306 C 429.01822 306 432 308.98178 432 312.66 L 432 461.34 C 432 465.01822 429.01822 468 425.34 468 L 294.66 468 C 290.98178 468 288 465.01822 288 461.34 L 288 312.66 C 288 308.98178 290.98178 306 294.66 306 Z" fill="url(#Obj_Gradient_2)"/><path d="M 294.66 306 L 425.34 306 C 429.01822 306 432 308.98178 432 312.66
  L 432 461.34 C 432 465.01822 429.01822 468 425.34 468 L 294.66 468 C 290.98178 468 288 465.01822 288 461.34 L 288 312.66 C 288 308.98178 290.98178 306 294.66 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(292 310)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="51.993164" y="14" textLength="84.006836">Member (M2)</tspan></text></g><g id="id5_Graphic"><path d="M 173.25574 407.25 L 182.43574 407.25 C 186.11396 407.25 189.09574 410.23178 189.09574 413.91 L 189.09574 418.59 C 189.09574 422.26822 186.11396 425.25 182.43574 425.25 L 173.25574 425.25 C 169.57753 425.25 166.59574 422.26822 166.59574 418.59 L 166.59574 413.91 C 166.59574 410.23178 169.57753 407.25 173.25574 407.25 Z" fill="url(#Obj_Gradient_3)"/><path d="M 173.25574 407.25 L 182.43574 407.25 C 186.11396 407.25 189.09574 410.23178 189.09574 413.91 L 189.09574 418.59 C 189.09574 422.26822 186.11396 425.25
  182.43574 425.25 L 173.25574 425.25 C 169.57753 425.25 166.59574 422.26822 166.59574 418.59 L 166.59574 413.91 C 166.59574 410.23178 169.57753 407.25 173.25574 407.25 Z" stroke="#b00003" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(170.59574 410.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.7458496" y="9" textLength="11.008301">X1</tspan></text></g><rect x="126" y="432" width="108" height="17.76375" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(128 434)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="28.53955" y="10" textLength="48.920898">Application</tspan></text><g id="id7_Graphic"><path d="M 132.66 342 L 407.34 342 C 411.01822 342 414 344.98178 414 348.66 L 414 380.34 C 414 384.01822 411.01822 387 407.34 387 L 132.66 387 C 128.98178 387 126 384.01822 126 3
 80.34 L 126 348.66 C 126 344.98178 128.98178 342 132.66 342 Z" fill="url(#Obj_Gradient_4)"/></g><g id="id8_Graphic"><path d="M 132.66 342 L 227.34 342 C 231.01822 342 234 344.98178 234 348.66 L 234 380.34 C 234 384.01822 231.01822 387 227.34 387 L 132.66 387 C 128.98178 387 126 384.01822 126 380.34 L 126 348.66 C 126 344.98178 128.98178 342 132.66 342 Z" fill="url(#Obj_Gradient_5)"/><path d="M 132.66 342 L 227.34 342 C 231.01822 342 234 344.98178 234 348.66 L 234 380.34 C 234 384.01822 231.01822 387 227.34 387 L 132.66 387 C 128.98178 387 126 384.01822 126 380.34 L 126 348.66 C 126 344.98178 128.98178 342 132.66 342 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(128 344)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.416504" y="10" textLength="85.043945">Distributed Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="91.
 913574" y="10" textLength="6.669922">A</tspan></text></g><g id="id9_Graphic"><path d="M 166.41 360 L 171.09 360 C 174.76822 360 177.75 362.98178 177.75 366.66 L 177.75 371.34 C 177.75 375.01822 174.76822 378 171.09 378 L 166.41 378 C 162.73178 378 159.75 375.01822 159.75 371.34 L 159.75 366.66 C 159.75 362.98178 162.73178 360 166.41 360 Z" fill="url(#Obj_Gradient_6)"/><path d="M 166.41 360 L 171.09 360 C 174.76822 360 177.75 362.98178 177.75 366.66 L 177.75 371.34 C 177.75 375.01822 174.76822 378 171.09 378 L 166.41 378 C 162.73178 378 159.75 375.01822 159.75 371.34 L 159.75 366.66 C 159.75 362.98178 162.73178 360 166.41 360 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(163.75 363.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id10_Graphic"><path d="M 312.66 342 L 407.34 342 C 411.01822 342 414 3
 44.98178 414 348.66 L 414 380.34 C 414 384.01822 411.01822 387 407.34 387 L 312.66 387 C 308.98178 387 306 384.01822 306 380.34 L 306 348.66 C 306 344.98178 308.98178 342 312.66 342 Z" fill="url(#Obj_Gradient_7)"/><path d="M 312.66 342 L 407.34 342 C 411.01822 342 414 344.98178 414 348.66 L 414 380.34 C 414 384.01822 411.01822 387 407.34 387 L 312.66 387 C 308.98178 387 306 384.01822 306 380.34 L 306 348.66 C 306 344.98178 308.98178 342 312.66 342 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(308 344)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.416504" y="10" textLength="85.043945">Distributed Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="91.913574" y="10" textLength="6.669922">A</tspan></text></g><g id="id11_Graphic"><path d="M 346.41 360 L 351.09 360 C 354.76822 360 357.75 362.98178 357.75 366.66 L 357.75 371
 .34 C 357.75 375.01822 354.76822 378 351.09 378 L 346.41 378 C 342.73178 378 339.75 375.01822 339.75 371.34 L 339.75 366.66 C 339.75 362.98178 342.73178 360 346.41 360 Z" fill="url(#Obj_Gradient_8)"/><path d="M 346.41 360 L 351.09 360 C 354.76822 360 357.75 362.98178 357.75 366.66 L 357.75 371.34 C 357.75 375.01822 354.76822 378 351.09 378 L 346.41 378 C 342.73178 378 339.75 375.01822 339.75 371.34 L 339.75 366.66 C 339.75 362.98178 342.73178 360 346.41 360 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(343.75 363.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><path d="M 155.4075 432 C 164.15673 418.13188 164.20458 397.36763 164.20444 386.8533" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/distributed_how_2.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/distributed_how_2.svg b/geode-docs/images_svg/distributed_how_2.svg
new file mode 100644
index 0000000..ccc6874
--- /dev/null
+++ b/geode-docs/images_svg/distributed_how_2.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="131 293 355 193" width="355pt" height="193pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 11:14Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(288 468) scale(162.56153)"/><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underl
 ine-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(468 468) scale(162.56153)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_2" gradientTransform="translate(450 387) sc
 ale(218.62082)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(270 387) scale(87.75)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient_2" gradientTransform="translate(219.375 378) scale(22.275639)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(450 387) scale(87.75)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(393.75 378) scale(19.091883)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M 11.7222214 0 L 0 -4.39583
 3 L 0 4.395833 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(320.625 373.5) scale(22.275639)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>how_it_works-2</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 150.66 306 L 281.34 306 C 285.01822 306 288 308.98178 288 312.66 L 288 461.34 C 288 465.01822 285.01822 468 281.34 468 L 150.66 468 C 146.98178 468 144 465.01822 1
 44 461.34 L 144 312.66 C 144 308.98178 146.98178 306 150.66 306 Z" fill="url(#Obj_Gradient)"/><path d="M 150.66 306 L 281.34 306 C 285.01822 306 288 308.98178 288 312.66 L 288 461.34 C 288 465.01822 285.01822 468 281.34 468 L 150.66 468 C 146.98178 468 144 465.01822 144 461.34 L 144 312.66 C 144 308.98178 146.98178 306 150.66 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(148 310)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="51.993164" y="14" textLength="84.006836">Member (M1)</tspan></text></g><g id="id4_Graphic"><path d="M 330.66 306 L 461.34 306 C 465.01822 306 468 308.98178 468 312.66 L 468 461.34 C 468 465.01822 465.01822 468 461.34 468 L 330.66 468 C 326.98178 468 324 465.01822 324 461.34 L 324 312.66 C 324 308.98178 326.98178 306 330.66 306 Z" fill="url(#Obj_Gradient_2)"/><path d="M 330.66 306 L 461.34 306 C 465.01822 306 468 308.98178 468 312.66 L 468
  461.34 C 468 465.01822 465.01822 468 461.34 468 L 330.66 468 C 326.98178 468 324 465.01822 324 461.34 L 324 312.66 C 324 308.98178 326.98178 306 330.66 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(328 310)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="51.993164" y="14" textLength="84.006836">Member (M2)</tspan></text></g><rect x="162" y="432" width="108" height="17.76375" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(164 434)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="28.53955" y="10" textLength="48.920898">Application</tspan></text><g id="id6_Graphic"><path d="M 168.66 342 L 443.34 342 C 447.01822 342 450 344.98178 450 348.66 L 450 380.34 C 450 384.01822 447.01822 387 443.34 387 L 168.66 387 C 164.98178 387 162 384.01822 162 380.34 L 16
 2 348.66 C 162 344.98178 164.98178 342 168.66 342 Z" fill="url(#Obj_Gradient_3)"/></g><g id="id7_Graphic"><path d="M 168.66 342 L 263.34 342 C 267.01822 342 270 344.98178 270 348.66 L 270 380.34 C 270 384.01822 267.01822 387 263.34 387 L 168.66 387 C 164.98178 387 162 384.01822 162 380.34 L 162 348.66 C 162 344.98178 164.98178 342 168.66 342 Z" fill="url(#Obj_Gradient_4)"/><path d="M 168.66 342 L 263.34 342 C 267.01822 342 270 344.98178 270 348.66 L 270 380.34 C 270 384.01822 267.01822 387 263.34 387 L 168.66 387 C 164.98178 387 162 384.01822 162 380.34 L 162 348.66 C 162 344.98178 164.98178 342 168.66 342 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(164 344)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.416504" y="10" textLength="85.043945">Distributed Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="91.913574" y=
 "10" textLength="6.669922">A</tspan></text></g><g id="id8_Graphic"><path d="M 202.41 360 L 212.715 360 C 216.39322 360 219.375 362.98178 219.375 366.66 L 219.375 371.34 C 219.375 375.01822 216.39322 378 212.715 378 L 202.41 378 C 198.73178 378 195.75 375.01822 195.75 371.34 L 195.75 366.66 C 195.75 362.98178 198.73178 360 202.41 360 Z" fill="url(#Obj_Gradient_5)"/><path d="M 202.41 360 L 212.715 360 C 216.39322 360 219.375 362.98178 219.375 366.66 L 219.375 371.34 C 219.375 375.01822 216.39322 378 212.715 378 L 202.41 378 C 198.73178 378 195.75 375.01822 195.75 371.34 L 195.75 366.66 C 195.75 362.98178 198.73178 360 202.41 360 Z" stroke="#b00003" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(199.75 363.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.3083496" y="9" textLength="11.008301">X1</tspan></text></g><g id="id9_Graphic"><path d="M 348.66 342 L 443.34 342 C 447.01822 342 45
 0 344.98178 450 348.66 L 450 380.34 C 450 384.01822 447.01822 387 443.34 387 L 348.66 387 C 344.98178 387 342 384.01822 342 380.34 L 342 348.66 C 342 344.98178 344.98178 342 348.66 342 Z" fill="url(#Obj_Gradient_6)"/><path d="M 348.66 342 L 443.34 342 C 447.01822 342 450 344.98178 450 348.66 L 450 380.34 C 450 384.01822 447.01822 387 443.34 387 L 348.66 387 C 344.98178 387 342 384.01822 342 380.34 L 342 348.66 C 342 344.98178 344.98178 342 348.66 342 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(344 344)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.416504" y="10" textLength="85.043945">Distributed Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="91.913574" y="10" textLength="6.669922">A</tspan></text></g><g id="id10_Graphic"><path d="M 382.41 360 L 387.09 360 C 390.76822 360 393.75 362.98178 393.75 366.66 L 393.75 
 371.34 C 393.75 375.01822 390.76822 378 387.09 378 L 382.41 378 C 378.73178 378 375.75 375.01822 375.75 371.34 L 375.75 366.66 C 375.75 362.98178 378.73178 360 382.41 360 Z" fill="url(#Obj_Gradient_7)"/><path d="M 382.41 360 L 387.09 360 C 390.76822 360 393.75 362.98178 393.75 366.66 L 393.75 371.34 C 393.75 375.01822 390.76822 378 387.09 378 L 382.41 378 C 378.73178 378 375.75 375.01822 375.75 371.34 L 375.75 366.66 C 375.75 362.98178 378.73178 360 382.41 360 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(379.75 363.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><path d="M 227.25 369 C 265.5 351 312.3248 351.38364 337.6373 355.46176 C 347.51015 357.05239 354.11034 359.20506 358.48884 361.20598" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-w
 idth=".72000003"/><g id="id12_Graphic"><path d="M 303.66 355.5 L 313.965 355.5 C 317.64322 355.5 320.625 358.48178 320.625 362.16 L 320.625 366.84 C 320.625 370.51822 317.64322 373.5 313.965 373.5 L 303.66 373.5 C 299.98178 373.5 297 370.51822 297 366.84 L 297 362.16 C 297 358.48178 299.98178 355.5 303.66 355.5 Z" fill="url(#Obj_Gradient_8)"/><path d="M 303.66 355.5 L 313.965 355.5 C 317.64322 355.5 320.625 358.48178 320.625 362.16 L 320.625 366.84 C 320.625 370.51822 317.64322 373.5 313.965 373.5 L 303.66 373.5 C 299.98178 373.5 297 370.51822 297 366.84 L 297 362.16 C 297 358.48178 299.98178 355.5 303.66 355.5 Z" stroke="#b00003" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(301 359)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.3083496" y="9" textLength="11.008301">X1</tspan></text></g></g></g></svg>


[26/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/getting_started/book_intro.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/getting_started/book_intro.html.md.erb b/geode-docs/getting_started/book_intro.html.md.erb
new file mode 100644
index 0000000..05c946c
--- /dev/null
+++ b/geode-docs/getting_started/book_intro.html.md.erb
@@ -0,0 +1,23 @@
+---
+title:  Getting Started with Apache Geode
+---
+
+A tutorial demonstrates features, and a main features section describes key functionality.
+
+-   **[About Apache Geode](geode_overview.html)**
+
+    Apache Geode is a data management platform that provides real-time, consistent access to data-intensive applications throughout widely distributed cloud architectures.
+
+-   **[Main Features of Apache Geode](product_intro.html)**
+
+    This section summarizes the main features and key functionality of Apache Geode.
+
+-   **[Prerequisites and Installation Instructions](../prereq_and_install.html)**
+
+    Each host of Apache Geode 1.0.0-incubating that meets a small set of prerequisites may follow the provided installation instructions.
+
+-   **[Apache Geode in 15 Minutes or Less](15_minute_quickstart_gfsh.html)**
+
+    Need a quick introduction to Apache Geode? Take this brief tour to try out basic features and functionality.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/getting_started/geode_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/getting_started/geode_overview.html.md.erb b/geode-docs/getting_started/geode_overview.html.md.erb
new file mode 100644
index 0000000..dca502c
--- /dev/null
+++ b/geode-docs/getting_started/geode_overview.html.md.erb
@@ -0,0 +1,20 @@
+---
+title:  About Apache Geode
+---
+
+Apache Geode is a data management platform that provides real-time, consistent access to data-intensive applications throughout widely distributed cloud architectures.
+
+<a id="concept_3B5E445B19884680900161BDF25E32C9__section_itx_b41_mr"></a>
+Geode pools memory, CPU, network resources, and optionally local disk across multiple processes to manage application objects and behavior. It uses dynamic replication and data partitioning techniques to implement high availability, improved performance, scalability, and fault tolerance. In addition to being a distributed data container, Geode is an in-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery.
+
+## <a id="concept_3B5E445B19884680900161BDF25E32C9__section_0031B81824874FC18F0828DB66150833" class="no-quick-link"></a>Main Concepts and Components
+
+*Caches* are an abstraction that describe a node in a Geode distributed system. Application architects can arrange these nodes in peer-to-peer or client/server topologies.
+
+Within each cache, you define data *regions*. Data regions are analogous to tables in a relational database and manage data in a distributed fashion as name/value pairs. A *replicated* region stores identical copies of the data on each cache member of a distributed system. A *partitioned* region spreads the data among cache members. After the system is configured, client applications can access the distributed data in regions without knowledge of the underlying system architecture. You can define listeners to create notifications about when data has changed, and you can define expiration criteria to delete obsolete data in a region.
+
+For large production systems, Geode provides *locators*. Locators provide both discovery and load balancing services. You configure clients with a list of locator services and the locators maintain a dynamic list of member servers. By default, Geode clients and servers use port 40404 to discover each other.
+
+<a id="concept_3B5E445B19884680900161BDF25E32C9__section_zrl_c41_mr"></a>
+
+For more information on product features, see [Main Features of Apache Geode](product_intro.html).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/getting_started/installation/install_standalone.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/getting_started/installation/install_standalone.html.md.erb b/geode-docs/getting_started/installation/install_standalone.html.md.erb
new file mode 100644
index 0000000..22936c7
--- /dev/null
+++ b/geode-docs/getting_started/installation/install_standalone.html.md.erb
@@ -0,0 +1,121 @@
+---
+title:  How to Install
+---
+
+Build from source or use the ZIP or TAR distribution to install Apache Geode on every physical and virtual machine that will run Apache Geode.
+
+## Build from Source on Unix
+
+1.  Set the JAVA\_HOME environment variable.
+
+    ``` pre
+    JAVA_HOME=/usr/java/jdk1.8.0_60
+    export JAVA_HOME
+    ```
+
+2.  Download the project source from the Releases page found at [http://geode.incubator.apache.org](http://geode.incubator.apache.org/), and unpack the source code.
+3.  Within the directory containing the unpacked source code, build without tests:
+
+    ``` pre
+    $ ./gradlew build -Dskip.tests=true
+    ```
+
+    Or, build with the tests:
+
+    ``` pre
+    $ ./gradlew build 
+    ```
+
+4.  Verify the installation by invoking `gfsh` to print version information and exit. On Linux/Unix platforms, the version will be similar to:
+
+    ``` pre
+    $ cd geode-assembly/build/install/apache-geode
+    $ bin/gfsh version
+    v1.0.0-incubating
+    ```
+
+## Build from Source on Windows
+
+1.  Set the JAVA\_HOME environment variable. For example:
+
+    ``` pre
+    $ set JAVA_HOME="C:\Program Files\Java\jdk1.8.0_60" 
+    ```
+
+2.  Install Gradle, version 2.3 or a more recent version.
+3.  Download the project source from the Releases page found at [http://geode.incubator.apache.org](http://geode.incubator.apache.org/), and unpack the source code.
+4.  Within the folder containing the unpacked source code, build without the tests:
+
+    ``` pre
+    $ gradle build -Dskip.tests=true
+    ```
+
+    Or, build with the tests:
+
+    ``` pre
+    $ gradle build
+    ```
+
+5.  Verify the installation by invoking `gfsh` to print version information and exit.
+
+    ``` pre
+    $ cd geode-assembly\build\install\apache-geode\bin
+    $ gfsh.bat version
+    v1.0.0-incubating
+    ```
+
+## <a id="concept_0129F6A1D0EB42C4A3D24861AF2C5425__section_D3326496B2BB47A7AB0CFC1A5E266842" class="no-quick-link"></a>Install Binaries from .zip or .tar File
+
+1.  Download the .zip or .tar file from the Releases page found at [http://geode.incubator.apache.org](http://geode.incubator.apache.org/).
+2.  Unzip the .zip file or expand the .tar file, where `path_to_product` is an absolute path, and the file name will vary due to the version number. For the .zip format:
+
+    ``` pre
+    $ unzip apache-geode-1.0.0-incubating.zip -d path_to_product
+    ```
+
+    For the .tar format:
+
+    ``` pre
+    $ tar -xvf apache-geode-1.0.0-incubating.tar -C path_to_product
+    ```
+
+3.  Set the JAVA\_HOME environment variable. On Linux/Unix platforms:
+
+    ``` pre
+    JAVA_HOME=/usr/java/jdk1.8.0_60
+    export JAVA_HOME
+    ```
+
+    On Windows platforms:
+
+    ``` pre
+    set JAVA_HOME=c:\Program Files\Java\jdk1.8.0_60 
+    ```
+
+4.  Add the Geode scripts to your PATH environment variable. On Linux/Unix platforms:
+
+    ``` pre
+    PATH=$PATH:$JAVA_HOME/bin:path_to_product/bin
+    export PATH
+    ```
+
+    On Windows platforms:
+
+    ``` pre
+    set PATH=%PATH%;%JAVA_HOME%\bin;path_to_product\bin 
+    ```
+
+5.  To verify the installation, type `gfsh version` at the command line and note that the output lists the installed version of Geode. For example:
+
+    ``` pre
+    $ gfsh version
+    v1.0.0-incubating
+    ```
+
+    For more detailed version information such as the date of the build, build number and JDK version being used, invoke:
+
+    ``` pre
+    $ gfsh version --full
+    ```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/getting_started/product_intro.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/getting_started/product_intro.html.md.erb b/geode-docs/getting_started/product_intro.html.md.erb
new file mode 100644
index 0000000..c5ccb60
--- /dev/null
+++ b/geode-docs/getting_started/product_intro.html.md.erb
@@ -0,0 +1,84 @@
+---
+title:  Main Features of Apache Geode
+---
+
+This section summarizes the main features and key functionality of Apache Geode.
+
+-   [High Read-and-Write Throughput](product_intro.html#concept_3B5E445B19884680900161BDF25E32C9__section_CF0E3E5C4F884374B8F2F536DD2A375C)
+-   [Low and Predictable Latency](product_intro.html#concept_3B5E445B19884680900161BDF25E32C9__section_9C5D669B583646F1B817284EB494DDA7)
+-   [High Scalability](product_intro.html#concept_3B5E445B19884680900161BDF25E32C9__section_EF7A73D35D1241289C9CA19EDDEBE959)
+-   [Continuous Availability](product_intro.html#concept_3B5E445B19884680900161BDF25E32C9__section_CEB4ABFF83054AF6A47EA2FA09C240B1)
+-   [Reliable Event Notifications](product_intro.html#concept_3B5E445B19884680900161BDF25E32C9__section_86D2B8CC346349F3913209AF87648A02)
+-   [Parallelized Application Behavior on Data Stores](product_intro.html#concept_3B5E445B19884680900161BDF25E32C9__section_A65B5F0DE8BF4AA6AFF16E3A75D4E0AD)
+-   [Shared-Nothing Disk Persistence](product_intro.html#concept_3B5E445B19884680900161BDF25E32C9__section_97CABBFF553647F6BBBC40AA7AF6D4C7)
+-   [Reduced Cost of Ownership](product_intro.html#concept_3B5E445B19884680900161BDF25E32C9__section_FCB2640F1BED4692A93F9300A41CE70D)
+-   [Single-Hop Capability for Client/Server](product_intro.html#concept_3B5E445B19884680900161BDF25E32C9__section_92A444D4B422434EBD5F81D11F32C1C7)
+-   [Client/Server Security](product_intro.html#concept_3B5E445B19884680900161BDF25E32C9__section_577F601BC9854AA6B53CD3440F9B9A6A)
+-   [Multisite Data Distribution](product_intro.html#concept_3B5E445B19884680900161BDF25E32C9__section_091A306900D7402CAE5A46B5F9BFD612)
+-   [Continuous Querying](product_intro.html#concept_3B5E445B19884680900161BDF25E32C9__section_FF4C3B6E26104C4D93186F6FFE22B321)
+
+## <a id="concept_3B5E445B19884680900161BDF25E32C9__section_CF0E3E5C4F884374B8F2F536DD2A375C" class="no-quick-link"></a>High Read-and-Write Throughput
+
+Geode uses concurrent main-memory data structures and a highly optimized distribution infrastructure to provide read-and-write throughput. Applications can make copies of data dynamically in memory through synchronous or asynchronous replication for high read throughput or partition the data across many Geode system members to achieve high read-and-write throughput. Data partitioning doubles the aggregate throughput if the data access is fairly balanced across the entire data set. Linear increase in throughput is limited only by the backbone network capacity.
+
+## <a id="concept_3B5E445B19884680900161BDF25E32C9__section_9C5D669B583646F1B817284EB494DDA7" class="no-quick-link"></a>Low and Predictable Latency
+
+Geode's optimized caching layer minimizes context switches between threads and processes. It manages data in highly concurrent structures to minimize contention points. Communication to peer members is synchronous if the receivers can keep up, which keeps the latency for data distribution to a minimum. Servers manage object graphs in serialized form to reduce the strain on the garbage collector.
+
+Geode partitions subscription management (interest registration and continuous queries) across server data stores, ensuring that a subscription is processed only once for all interested clients. The resulting improvements in CPU use and bandwidth utilization improve throughput and reduce latency for client subscriptions.
+
+## <a id="concept_3B5E445B19884680900161BDF25E32C9__section_EF7A73D35D1241289C9CA19EDDEBE959" class="no-quick-link"></a>High Scalability
+
+Geode achieves scalability through dynamic partitioning of data across many members and spreading the data load uniformly across the servers. For "hot" data, you can configure the system to expand dynamically to create more copies of the data. You can also provision application behavior to run in a distributed manner in close proximity to the data it needs.
+
+If you need to support high and unpredictable bursts of concurrent client load, you can increase the number of servers managing the data and distribute the data and behavior across them to provide uniform and predictable response times. Clients are continuously load balanced to the server farm based on continuous feedback from the servers on their load conditions. With data partitioned and replicated across servers, clients can dynamically move to different servers to uniformly load the servers and deliver the best response times.
+
+You can also improve scalability by implementing asynchronous "write behind" of data changes to external data stores, like a database. Geode avoids a bottleneck by queuing all updates in order and redundantly. You can also conflate updates and propagate them in batch to the database.
+
+## <a id="concept_3B5E445B19884680900161BDF25E32C9__section_CEB4ABFF83054AF6A47EA2FA09C240B1" class="no-quick-link"></a>Continuous Availability
+
+In addition to guaranteed consistent copies of data in memory, applications can persist data to disk on one or more Geode members synchronously or asynchronously by using Geode's "shared nothing disk architecture." All asynchronous events (store-forward events) are redundantly managed in at least two members such that if one server fails, the redundant one takes over. All clients connect to logical servers, and the client fails over automatically to alternate servers in a group during failures or when servers become unresponsive.
+
+## <a id="concept_3B5E445B19884680900161BDF25E32C9__section_86D2B8CC346349F3913209AF87648A02" class="no-quick-link"></a>Reliable Event Notifications
+
+Publish/subscribe systems offer a data-distribution service where new events are published into the system and routed to all interested subscribers in a reliable manner. Traditional messaging platforms focus on message delivery, but often the receiving applications need access to related data before they can process the event. This requires them to access a standard database when the event is delivered, limiting the subscriber by the speed of the database.
+
+Geode offers data and events through a single system. Data is managed as objects in one or more distributed data regions, similar to tables in a database. Applications simply insert, update, or delete objects in data regions, and the platform delivers the object changes to the subscribers. The subscriber receiving the event has direct access to the related data in local memory or can fetch the data from one of the other members through a single hop.
+
+## <a id="concept_3B5E445B19884680900161BDF25E32C9__section_A65B5F0DE8BF4AA6AFF16E3A75D4E0AD" class="no-quick-link"></a>Parallelized Application Behavior on Data Stores
+
+You can execute application business logic in parallel on the Geode members. Geode's data-aware function-execution service permits execution of arbitrary, data-dependent application functions on the members where the data is partitioned for locality of reference and scale.
+
+By colocating the relevant data and parallelizing the calculation, you increase overall throughput. The calculation latency is inversely proportional to the number of members on which it can be parallelized.
+
+The fundamental premise is to route the function transparently to the application that carries the data subset required by the function and to avoid moving data around on the network. Application function can be executed on only one member, in parallel on a subset of members, or in parallel across all members. This programming model is similar to the popular Map-Reduce model from Google. Data-aware function routing is most appropriate for applications that require iteration over multiple data items (such as a query or custom aggregation function).
+
+## <a id="concept_3B5E445B19884680900161BDF25E32C9__section_97CABBFF553647F6BBBC40AA7AF6D4C7" class="no-quick-link"></a>Shared-Nothing Disk Persistence
+
+Each Geode system member manages data on disk files independent of other members. Failures in disks or cache failures in one member do not affect the ability of another cache instance to operate safely on its disk files. This "shared nothing" persistence architecture allows applications to be configured such that different classes of data are persisted on different members across the system, dramatically increasing the overall throughput of the application even when disk persistence is configured for application objects.
+
+Unlike a traditional database system, Geode does not manage data and transaction logs in separate files. All data updates are appended to files that are similar to transactional logs of traditional databases. You can avoid disk-seek times if the disk is not concurrently used by other processes, and the only cost incurred is the rotational latency.
+
+## <a id="concept_3B5E445B19884680900161BDF25E32C9__section_FCB2640F1BED4692A93F9300A41CE70D" class="no-quick-link"></a>Reduced Cost of Ownership
+
+You can configure caching in tiers. The client application process can host a cache locally (in memory and overflow to disk) and delegate to a cache server farm on misses. Even a 30 percent hit ratio on the local cache translates to significant savings in costs. The total cost associated with every single transaction comes from the CPU cycles spent, the network cost, the access to the database, and intangible costs associated with database maintenance. By managing the data as application objects, you avoid the additional cost (CPU cycles) associated with mapping SQL rows to objects.
+
+## <a id="concept_3B5E445B19884680900161BDF25E32C9__section_92A444D4B422434EBD5F81D11F32C1C7" class="no-quick-link"></a>Single-Hop Capability for Client/Server
+
+Clients can send individual data requests directly to the server holding the data key, avoiding multiple hops to locate data that is partitioned. Metadata in the client identifies the correct server. This feature improves performance and client access to partitioned regions in the server tier.
+
+## <a id="concept_3B5E445B19884680900161BDF25E32C9__section_577F601BC9854AA6B53CD3440F9B9A6A" class="no-quick-link"></a>Client/Server Security
+
+Geode supports running multiple, distinct users in client applications. This feature accommodates installations in which Geode clients are embedded in application servers and each application server supports data requests from many users. Each user may be authorized to access a small subset of data on the servers, as in a customer application where each customer can access only their own orders and shipments. Each user in the client connects to the server with its own set of credentials and has its own access authorization to the server cache.
+
+Client/server communication has increased security against replay attacks. The server sends the client a unique, random identifier with each response to be used in the next client request. Because of the identifier, even a repeated client operation call is sent as a unique request to the server.
+
+## <a id="concept_3B5E445B19884680900161BDF25E32C9__section_091A306900D7402CAE5A46B5F9BFD612" class="no-quick-link"></a>Multisite Data Distribution
+
+Scalability problems can result from data sites being spread out geographically across a wide-area network (WAN). GemFire offers a model to address these topologies, ranging from a single peer-to-peer cluster to reliable communications between data centers across the WAN. This model allows distributed systems to scale out in an unbounded and loosely coupled fashion without loss of performance, reliability or data consistency.
+
+At the core of this architecture is the gateway sender configuration used for distributing region events to a remote site. You can deploy gateway sender instances in parallel, which enables GemFire to increase the throughput for distributing region events across the WAN. You can also configure gateway sender queues for persistence and high availability to avoid data loss in the case of a member failure.
+
+## <a id="concept_3B5E445B19884680900161BDF25E32C9__section_FF4C3B6E26104C4D93186F6FFE22B321" class="no-quick-link"></a>Continuous Querying
+
+In messaging systems like Java Message Service, clients subscribe to topics and queues. Any message delivered to a topic is sent to the subscriber. Geode allows continuous querying by having applications express complex interest using Object Query Language.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/getting_started/querying_quick_reference.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/getting_started/querying_quick_reference.html.md.erb b/geode-docs/getting_started/querying_quick_reference.html.md.erb
new file mode 100644
index 0000000..9a06d1f
--- /dev/null
+++ b/geode-docs/getting_started/querying_quick_reference.html.md.erb
@@ -0,0 +1,694 @@
+---
+title:  Geode Querying FAQ and Examples
+---
+
+This topic answers some frequently asked questions on querying functionality. It provides examples to help you get started with Geode querying.
+
+<a id="reference_D5CE64F5FD6F4A808AEFB748C867189E__section_AFAD97A4BA2D45CF91ED1525A54DDFD6"></a>
+For additional information on Geode querying, see [Querying](../developing/querying_basics/chapter_overview.html).
+
+-   [How do I write and execute a query against a Geode region?](querying_quick_reference.html#reference_D5CE64F5FD6F4A808AEFB748C867189E__section_7A4D2C6A4E2C4F4384C158FFCA9CA1C0)
+-   [Can I see query string examples, listed by query type?](querying_quick_reference.html#reference_D5CE64F5FD6F4A808AEFB748C867189E__section_641D97CD874D4182961C85429ACA1B05)
+-   [Which APIs should I use to write my queries?](querying_quick_reference.html#reference_D5CE64F5FD6F4A808AEFB748C867189E__section_5383407F9D004D4EB4E695252EBA1EF0)
+-   [How do I invoke an object's method in a query?](querying_quick_reference.html#reference_D5CE64F5FD6F4A808AEFB748C867189E__section_3E6E4B33D57846008EF4404D2B687597)
+-   [Can I invoke a static method on an object in a query?](querying_quick_reference.html#reference_D5CE64F5FD6F4A808AEFB748C867189E__section_9221C29BC1FD49D7BBD26BB34D5BDEB8)
+-   [How do I write a reusable query?](querying_quick_reference.html#reference_D5CE64F5FD6F4A808AEFB748C867189E__section_907DBBBA1AEC4570A15B3491B0A7DF0E)
+-   [When should I create indexes to use in my queries?](querying_quick_reference.html#reference_D5CE64F5FD6F4A808AEFB748C867189E__section_3A9528E8E43140BAA0D5A1457CCAB2D2)
+-   [How do I create an index?](querying_quick_reference.html#reference_D5CE64F5FD6F4A808AEFB748C867189E__section_76CDCCFBDB134A339DBE556C28D48F11)
+-   [Can I query a partitioned region? Can I perform a join query on a partitioned region?](querying_quick_reference.html#reference_D5CE64F5FD6F4A808AEFB748C867189E__section_EDD17817450C4FC0B510CD87DB2FCD16)
+-   [How can I improve the performance of a partitioned region query?](querying_quick_reference.html#reference_D5CE64F5FD6F4A808AEFB748C867189E__section_5FF905E0D10D4CDF9E6F49A70848AF69)
+-   [Which query language elements are supported in Geode?](querying_quick_reference.html#reference_D5CE64F5FD6F4A808AEFB748C867189E__section_FBC59A5420FD40D6907A302A1D50DF7E)
+-   [How do I debug queries?](querying_quick_reference.html#reference_D5CE64F5FD6F4A808AEFB748C867189E__section_314B88A55B514B88A12DC36227A2D4EF)
+-   [Can I use implicit attributes or methods in my query?](#reference_D5CE64F5FD6F4A808AEFB748C867189E__implicit_attributes)
+-   [How do I perform a case-insensitive search on a field in OQL?](#reference_D5CE64F5FD6F4A808AEFB748C867189E__section_ayq_hqw_1r)
+
+## <a id="reference_D5CE64F5FD6F4A808AEFB748C867189E__section_7A4D2C6A4E2C4F4384C158FFCA9CA1C0" class="no-quick-link"></a>How do I write and execute a query against a Geode region?
+
+To write and execute a query in Geode, you can use any of the following mechanisms. Sample query code follows.
+
+-   Geode querying APIs
+-   [gfsh](../tools_modules/gfsh/chapter_overview.html) command-line interface; in particular the [query](../tools_modules/gfsh/command-pages/query.html) command
+-   REST API [query endpoints](../rest_apps/rest_queries.html#concept_mmg_d35_m4)
+
+**Sample Geode Query Code (Java)**
+
+``` pre
+// Identify your query string.
+ String queryString = "SELECT * FROM /exampleRegion";
+ 
+ // Get QueryService from Cache.
+ QueryService queryService = cache.getQueryService();
+ 
+ // Create the Query Object.
+ Query query = queryService.newQuery(queryString);
+ 
+ // Execute Query locally. Returns results set.
+ SelectResults results = (SelectResults)query.execute();
+ 
+ // Find the Size of the ResultSet.
+ int size = results.size();
+ 
+ // Iterate through your ResultSet.
+ Portfolio p = (Portfolio)results.iterator().next(); /* Region containing Portfolio object. */
+```
+
+## <a id="reference_D5CE64F5FD6F4A808AEFB748C867189E__section_641D97CD874D4182961C85429ACA1B05" class="no-quick-link"></a>Can I see query string examples, listed by query type?
+
+The following example query strings use the `/exampleRegion` whose keys are the portfolio ID and whose values correspond to the summarized data shown in the following class definitions:
+
+``` pre
+class Portfolio implements DataSerializable {
+   int ID;
+   String type;
+   String status;
+   Map positions;
+}
+class Position implements DataSerializable {
+   String secId;
+   double mktValue;
+   double qty;
+}
+```
+
+**Basic WHERE Clause Examples**
+
+In the following examples, the status field is type String and the ID field is type int. See [Supported Literals](../developing/query_additional/literals.html#literals) for a complete list of literals supported in Geode querying.
+
+1.  Select all active portfolios.
+
+    ``` pre
+    SELECT * FROM /exampleRegion WHERE status = 'active'
+    ```
+
+2.  Select all portfolios whose status begins with 'activ'.
+
+    ``` pre
+    SELECT * FROM /exampleRegion p WHERE p.status LIKE 'activ%'
+    ```
+
+3.  Select all portfolios whose ID is greater than 100.
+
+    ``` pre
+    SELECT * from /exampleRegion p WHERE p.ID > 100
+    ```
+
+**Using DISTINCT**
+
+Select distinct Objects from the region that satisfy the where clause condition of status = 'active'.
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion WHERE status = 'active'
+```
+
+**Aliases and Synonyms**
+
+In the query string, the path expressions (region and its objects) can be defined using an alias. This alias can be used or referred to in other places in the query.
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion p WHERE p.status = 'active'
+```
+
+``` pre
+SELECT p.ID, p.status FROM /exampleRegion p WHERE p.ID > 0
+```
+
+**Using the NOT Operator**
+
+See [Operators](../developing/query_additional/operators.html#operators) for a complete list of supported operators.
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion WHERE NOT (status = 'active') AND ID = 2
+```
+
+``` pre
+SELECT * FROM /exampleRegion WHERE NOT (ID IN SET(1,2))
+```
+
+**Using the AND and OR Operators**
+
+See [Operators](../developing/query_additional/operators.html#operators) for a complete list of supported operators.
+
+``` pre
+SELECT * FROM /exampleRegion WHERE ID > 4 AND ID < 9
+```
+
+``` pre
+SELECT * FROM /exampleRegion WHERE ID = 0 OR ID = 1
+```
+
+``` pre
+SELECT DISTINCT p.status FROM /exampleRegion p 
+WHERE (p.createTime IN SET (10|) OR p.status IN SET ('active')) AND p.ID > 0
+```
+
+**Using not equal to**
+
+``` pre
+SELECT * FROM /exampleRegion portfolio WHERE portfolio.ID <> 2
+```
+
+``` pre
+SELECT * FROM /exampleRegion portfolio WHERE portfolio.ID != 2
+```
+
+**Projection attribute example**
+
+``` pre
+SELECT p.get('account') FROM /exampleRegion p
+```
+
+**Querying nested collections**
+
+The following query uses Positions of type HashMap.
+
+``` pre
+SELECT p, pos FROM /exampleRegion p, p.positions.values pos WHERE pos.secId = 'VMW'
+```
+
+**Using LIMIT**
+
+``` pre
+SELECT * FROM /exampleRegion p WHERE p.ID > 0 LIMIT 2
+```
+
+**Using COUNT**
+
+See [COUNT](../developing/query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_B2CBA00EB83F463DAF4769D7859C64C8) for more information.
+
+``` pre
+SELECT COUNT(*) FROM /exampleRegion WHERE ID > 0
+```
+
+``` pre
+SELECT COUNT(*) FROM /exampleRegion WHERE ID > 0 LIMIT 50
+```
+
+``` pre
+SELECT COUNT(*) FROM /exampleRegion WHERE ID > 0 AND status LIKE 'act%'
+```
+
+``` pre
+SELECT COUNT(*) FROM /exampleRegion WHERE ID IN SET(1,2,3,4,5)
+```
+
+``` pre
+SELECT COUNT(*) FROM /exampleRegion p, p.positions.values pos 
+WHERE p.ID > 0 AND pos.secId 'IBM'
+```
+
+``` pre
+SELECT DISTINCT COUNT(*) FROM /exampleRegion p, p.positions.values pos
+WHERE p.ID > 0 OR p.status = 'active' OR pos.secId OR pos.secId = 'IBM'
+```
+
+**Using LIKE**
+
+``` pre
+SELECT * FROM /exampleRegion ps WHERE ps.pkid LIKE '_bc'
+```
+
+``` pre
+SELECT * FROM /exampleRegion ps WHERE ps.status LIKE '_b_' OR ps.pkid = '2'
+```
+
+``` pre
+SELECT * FROM /exampleRegion ps WHERE ps.status LIKE '%b%
+```
+
+**Using Region Entry Keys and Values**
+
+``` pre
+SELECT * FROM /exampleRegion.keys k WHERE k.ID = 1
+```
+
+``` pre
+SELECT entry.value FROM /exampleRegion.entries entry WHERE entry.key = '1'
+```
+
+``` pre
+SELECT key, positions FROM /exampleRegion.entrySet, value.positions.values positions 
+WHERE positions.mktValue >= 25.00
+```
+
+``` pre
+SELECT DISTINCT entry.value FROM /exampleRegion.entries entry WHERE entry.key = '1'
+```
+
+``` pre
+SELECT * FROM /exampleRegion.entries entry WHERE entry.value.ID > 1
+```
+
+``` pre
+SELECT * FROM /exampleRegion.keySet key WHERE key = '1'
+```
+
+``` pre
+SELECT * FROM /exampleRegion.values portfolio 
+WHERE portfolio.status = 'active'
+```
+
+**Nested Queries**
+
+``` pre
+IMPORT "query".Portfolio;
+SELECT * FROM /exampleRegion, (SELECT DISTINCT * FROM /exampleRegion p TYPE Portfolio, p.positions 
+WHERE value!=null)
+```
+
+``` pre
+SELECT DISTINCT * FROM (SELECT DISTINCT * FROM /exampleRegion portfolios, positions pos) 
+WHERE pos.value.secId = 'IBM'
+```
+
+``` pre
+SELECT * FROM /exampleRegion portfolio 
+WHERE portfolio.ID IN (SELECT p2.ID FROM /exampleRegion2 p2 WHERE p2.ID > 1)
+```
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion p, (SELECT DISTINCT pos 
+FROM /exampleRegion x, x.positions.values pos WHERE x.ID = p.ID ) AS itrX
+```
+
+**Query the results of a FROM clause expression**
+
+``` pre
+SELECT DISTINCT * FROM (SELECT DISTINCT * FROM /Portfolios ptf, positions pos) p 
+WHERE p.get('pos').value.secId = 'IBM'
+```
+
+**Hash Map Query**
+
+Query using a hashmap. In the following examples, 'version' is one of the keys in the hashmap.
+
+``` pre
+SELECT * FROM /exampleRegion p WHERE p['version'] = '1.0'
+```
+
+``` pre
+SELECT entry.key, entry.value FROM /exampleRegion.entries entry 
+WHERE entry.value['version'] = '100'
+```
+
+**Map example where "map" is a nested HashMap object**
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion p WHERE p.portfolios['key2'] >= 3
+```
+
+**Example Queries that Fetch Array Values**
+
+``` pre
+SELECT * FROM /exampleRegion p WHERE p.names[0] = 'aaa'
+```
+
+``` pre
+SELECT * FROM /exampleRegion p WHERE p.collectionHolderMap.get('1').arr[0] = '0'
+```
+
+**Using ORDER BY (and ORDER BY with LIMIT)**
+
+You must use the DISTINCT keyword with ORDER BY queries.
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion WHERE ID < 101 ORDER BY ID
+```
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion WHERE ID < 101 ORDER BY ID asc
+```
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion WHERE ID < 101 ORDER BY ID desc
+```
+
+``` pre
+SELECT DISTINCT key.ID, key.status AS st FROM /exampleRegion.keys key 
+WHERE key.status = 'inactive' ORDER BY key.status desc, key.ID LIMIT 1
+```
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion p ORDER BY p.getP1().secId, p.ID dec, p.ID LIMIT 9
+```
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion p ORDER BY p.ID, val.secId LIMIT 1
+```
+
+``` pre
+SELECT DISTINCT e.key FROM /exampleRegion.entrySet e ORDER BY e.key.ID desc, e.key.pkid desc
+```
+
+``` pre
+SELECT DISTINCT p.names[1] FROM /exampleRegion p ORDER BY p.names[1]
+```
+
+**Join Queries**
+
+``` pre
+SELECT * FROM /exampleRegion portfolio1, /exampleRegion2 portfolio2 
+WHERE portfolio1.status = portfolio2.status
+```
+
+``` pre
+SELECT portfolio1.ID, portfolio2.status FROM /exampleRegion portfolio1, /exampleRegion2 portfolio2 
+WHERE portfolio1.status = portfolio2.status
+```
+
+``` pre
+SELECT * FROM /exampleRegion portfolio1, portfolio1.positions.values positions1, 
+/exampleRegion2 portfolio2, portfolio2.positions.values positions2 WHERE positions1.secId = positions1.secId
+```
+
+``` pre
+SELECT * FROM /exampleRegion portfolio1, portfolio1.positions.values positions1, 
+/exampleRegion2 portfolio2, portfolio2.positions.values positions2 WHERE portfolio1.ID = 1 
+AND positions1.secId = positions1.secId
+```
+
+``` pre
+SELECT DISTINCT a, b.price FROM /exampleRegoin1 a, /exampleRegion2 b WHERE a.price = b.price
+```
+
+**Using AS**
+
+``` pre
+SELECT * FROM /exampleRegion p, p.positions.values AS pos WHERE pos.secId != '1'
+```
+
+**Using TRUE**
+
+``` pre
+SELECT DISTINCT * FROM /Portfolios WHERE TRUE
+```
+
+**Using IN and SET**
+
+See also [IN and SET](../developing/query_select/the_where_clause.html#the_where_clause__section_AC12146509F141378E493078540950C7).
+
+``` pre
+SELECT * FROM /exampleRegion portfolio WHERE portfolio.ID IN SET(1, 2)
+```
+
+``` pre
+SELECT * FROM /exampleRegion portfolio, portfolio.positions.values positions 
+WHERE portfolio.Pk IN SET ('1', '2') AND positions.secId = '1'
+```
+
+``` pre
+SELECT * FROM /exampleRegion portfolio, portfolio.positions.values positions 
+WHERE portfolio.Pk IN SET ('1', '2') OR positions.secId IN SET ('1', '2', '3')
+```
+
+``` pre
+SELECT * FROM /exampleRegion portfolio, portfolio.positions.values positions 
+WHERE portfolio.Pk IN SET ('1', '2') OR positions.secId IN SET ('1', '2', '3') 
+AND portfolio.status = 'active'
+```
+
+**Querying for Set values**
+
+In the following query, sp is of type Set.
+
+``` pre
+SELECT * FROM /exampleRegion WHERE sp = set('20', '21', '22')
+```
+
+If the Set (sp) only contains '20' and '21', then the query will evaluate to false. The query compares the two sets and looks for the presence of elements in both sets.
+
+For other collection types like list (sp is of type List), the query can be written as follows:
+
+``` pre
+SELECT * FROM /exampleRegion WHERE sp.containsAll(set('20', '21', '22'))
+```
+
+**Invoking Methods on Objects**
+
+See [Method Invocations](../developing/query_select/the_where_clause.html#the_where_clause__section_D2F8D17B52B04895B672E2FCD675A676) for more information.
+
+``` pre
+SELECT * FROM /exampleRegion p WHERE p.length > 1
+```
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion p WHERE p.positions.size >= 2
+```
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion p WHERE p.positions.isEmpty
+```
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion p WHERE p.name.startsWith('Bo')
+```
+
+**Using Query-Level Debugging**
+
+To set debugging on the query level, add the **&lt;trace&gt;** keyword before the query. (If you are using an IMPORT statement, include it before the IMPORT).
+
+``` pre
+<trace>
+SELECT * from /exampleRegion, positions.values TYPE myclass
+```
+
+**Using Reserved Words in Queries**
+
+To access any method, attribute, or named object that has the same name as a query language reserved word, enclose the name within double quotation marks.
+
+``` pre
+SELECT * FROM /exampleRegion WHERE status = 'active' AND "type" = 'XYZ'
+```
+
+``` pre
+SELECT DISTINCT "type" FROM /exampleRegion WHERE status = 'active'
+```
+
+**Using IMPORT**
+
+In the case where the same class name resides in two different namescopes (packages), there needs to be a means of referring to different classes of the same name. The IMPORT statement is used to establish a namescope for a class in a query.
+
+``` pre
+IMPORT package.Position;
+SELECT DISTINCT * FROM /exampleRegion, positions.values positions TYPE Position WHERE positions.mktValue >= 25.00
+```
+
+**Using TYPE**
+
+Specifying object type helps the query engine to process the query at optimal speed. Apart from specifying the object types during configuration (using key-constraint and value-constraint), type can be explicitly specified in the query string.
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion, positions.values positions TYPE Position WHERE positions.mktValue >= 25.00
+```
+
+**Using ELEMENT**
+
+Using ELEMENT(expr) extracts a single element from a collection or array. This function throws a `FunctionDomainException` if the argument is not a collection or array with exactly one element.
+
+``` pre
+ELEMENT(SELECT DISTINCT * FROM /exampleRegion WHERE id = 'XYZ-1').status = 'active'
+```
+
+## <a id="reference_D5CE64F5FD6F4A808AEFB748C867189E__section_5383407F9D004D4EB4E695252EBA1EF0" class="no-quick-link"></a>Which APIs should I use to write my queries?
+
+If you are querying a Java application\u2019s local cache or querying other members, use [org.apache.geode.cache.Cache.getQueryService](/releases/latest/javadoc/org/apache/geode/cache/query/QueryService.html).
+
+If you are writing a Java client to server query, use [org.apache.geode.cache.client.Pool.getQueryService](/releases/latest/javadoc/org/apache/geode/cache/client/Pool.html).
+
+If you are writing a native client to server query, use the [.NET API](/releases/latest/net_api/DotNetDocs/Index.html) or the [C++ API](/releases/latest/cpp_api/cppdocs/index.html).
+
+## <a id="reference_D5CE64F5FD6F4A808AEFB748C867189E__section_3E6E4B33D57846008EF4404D2B687597" class="no-quick-link"></a>How do I invoke an object's method in a query?
+
+To use a method in a query, use the attribute name that maps to the public method you want to invoke. For example:
+
+``` pre
+/*valid method invocation*/ 
+SELECT DISTINCT * FROM /exampleRegion p WHERE p.positions.size >= 2 - maps to positions.size()
+```
+
+## <a id="reference_D5CE64F5FD6F4A808AEFB748C867189E__section_9221C29BC1FD49D7BBD26BB34D5BDEB8" class="no-quick-link"></a>Can I invoke a static method on an object in a query?
+
+No, you cannot invoke a static method on an object. For example, the following query is invalid.
+
+``` pre
+/*invalid method invocation*/
+SELECT DISTINCT * FROM /exampleRegion WHERE aDay = Day.Wednesday
+```
+
+To work around this limitation, write a reusable query that uses a query bind parameter to invoke the static method. Then at query run time, set the parameter to the static method invocation (`Day.Wednesday`). For example:
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion WHERE aDay = $1
+```
+
+## <a id="reference_D5CE64F5FD6F4A808AEFB748C867189E__section_907DBBBA1AEC4570A15B3491B0A7DF0E" class="no-quick-link"></a>How do I write a reusable query?
+
+Using query APIs, you can set query bind parameters that are passed values at query run time. For example:
+
+``` pre
+// specify the  query string
+ String queryString = "SELECT DISTINCT * FROM /exampleRegion p WHERE p.status = $1";
+
+QueryService queryService = cache.getQueryService();
+Query query = queryService.newQuery(queryString);
+
+// set a query bind parameter
+Object[] params = new Object[1];
+params[0] = "active";
+
+// Execute the query locally. It returns the results set.
+SelectResults results = (SelectResults) query.execute(params);
+
+// use the results of the query; this example only looks at the size
+ int size = results.size();
+```
+
+If you use a query bind parameter in place of a region path in your path expression, the parameter value must reference a collection (and not a String such as the name of the region path.)
+
+See [Using Query Bind Parameters](../developing/query_additional/using_query_bind_parameters.html#concept_173E775FE46B47DF9D7D1E40680D34DF) for more details.
+
+## <a id="reference_D5CE64F5FD6F4A808AEFB748C867189E__section_3A9528E8E43140BAA0D5A1457CCAB2D2" class="no-quick-link"></a>When should I create indexes to use in my queries?
+
+Determine whether your query\u2019s performance will benefit from an index. For example, in the following query, an index on pkid can speed up the query.
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion portfolio WHERE portfolio.pkid = '123'
+```
+
+## <a id="reference_D5CE64F5FD6F4A808AEFB748C867189E__section_76CDCCFBDB134A339DBE556C28D48F11" class="no-quick-link"></a>How do I create an index?
+
+An index can be created programmatically using APIs or by using xml. Here are two examples:
+
+**Sample Code**
+
+``` pre
+QueryService qs = cache.getQueryService();
+ qs.createIndex("myIndex", "status", "/exampleRegion");
+ qs.createKeyIndex("myKeyIndex", "id", "exampleRegion");
+```
+
+For more information on using this API, see the [GemFire JavaDocs](/releases/latest/javadoc/index.html).
+
+**Sample XML**
+
+``` pre
+<region name="portfolios">
+ <region-attributes . . . >
+ </region-attributes>
+ <index name="myIndex">
+ <functional from-clause="/exampleRegion" 
+     expression="status"/>
+ </index>
+ <index name="myKeyIndex">
+ <primary-key field="id"/>
+ </index>
+ <entry>
+```
+
+For more details on indexes, see [Working with Indexes](../developing/query_index/query_index.html).
+
+## <a id="reference_D5CE64F5FD6F4A808AEFB748C867189E__section_30D8C9A5472E4768AB7A0D598C9A496E" class="no-quick-link"></a>Can I create indexes on overflow regions?
+
+You can create indexes on overflow regions, but you are subject to some limitations. For example, the data contained in the index itself cannot be overflowed to disk. See [Using Indexes with Overflow Regions](../developing/query_index/indexes_with_overflow_regions.html#concept_87BE7DB32C714EB0BF7532AF93569328) for more information.
+
+## <a id="reference_D5CE64F5FD6F4A808AEFB748C867189E__section_EDD17817450C4FC0B510CD87DB2FCD16" class="no-quick-link"></a>Can I query a partitioned region? Can I perform a join query on a partitioned region?
+
+You can query partitioned regions, but there are some limitations. You cannot perform join queries on partitioned regions, however you can perform equi-join queries on colocated partitioned regions by executing a function on a local data set.
+
+For a full list of restrictions, see [Partitioned Region Query Restrictions](../developing/query_additional/partitioned_region_query_restrictions.html#concept_5353476380D44CC1A7F586E5AE1CE7E8).
+
+## <a id="reference_D5CE64F5FD6F4A808AEFB748C867189E__section_5FF905E0D10D4CDF9E6F49A70848AF69" class="no-quick-link"></a>How can I improve the performance of a partitioned region query?
+
+If you know the data you need to query, you can target particular nodes in your queries (thus reducing the number of servers the query needs to access) by executing the query with the FunctionService. See [Querying a Partitioned Region on a Single Node](../developing/query_additional/query_on_a_single_node.html#concept_30B18A6507534993BD55C2C9E0544A97) for details. If you are querying data that has been partitioned by a key or specific field, you should first create a key index and then execute the query using the FunctionService with the key or field as a filter. See [Optimizing Queries on Data Partitioned by a Key or Field Value](../developing/query_additional/partitioned_region_key_or_field_value.html#concept_3010014DFBC9479783B2B45982014454).
+
+## <a id="reference_D5CE64F5FD6F4A808AEFB748C867189E__section_FBC59A5420FD40D6907A302A1D50DF7E" class="no-quick-link"></a>Which query language elements are supported in Geode?
+
+| Supported elements ||          |
+|----------|----------|----------|
+| AND      | LIMIT    | TO_DATE  |
+| AS       | LIKE     | TYPE     |
+| COUNT    | NOT      | WHERE    |
+| DISTINCT | NVL      | |
+| ELEMENT  | OR       | |
+| FROM     | ORDER BY | |
+| \<HINT\> | SELECT   | |
+| IMPORT   | SET      | |
+| IN       | \<TRACE\>| |
+| IS_DEFINED| TRUE    | |
+| IS_UNDEFINED        | |
+
+For more information and examples on using each supported keyword, see [Supported Keywords](../developing/query_additional/supported_keywords.html#reference_07214B0F8DC94659B0F2D68B67195BD8).
+
+## <a id="reference_D5CE64F5FD6F4A808AEFB748C867189E__section_314B88A55B514B88A12DC36227A2D4EF" class="no-quick-link"></a>How do I debug queries?
+
+You can debug a specific query at the query level by adding the &lt;trace&gt; keyword before the query string that you want to debug. Here is an example:
+
+``` pre
+<trace> SELECT * FROM /exampleRegion
+```
+
+You can also write:
+
+``` pre
+<TRACE> SELECT * FROM /exampleRegion
+```
+
+When the query is executed, Geode will log a message in `$GEMFIRE_DIR/system.log` with the following information:
+
+``` pre
+[info 2011/08/29 11:24:35.472 PDT CqServer <main> tid=0x1] Query Executed in 9.619656 ms; rowCount = 99; 
+indexesUsed(0) "select *  from /exampleRegion" 
+```
+
+If you want to enable debugging for all queries, you can enable query execution logging by setting a System property on the command line during start-up:
+
+``` pre
+gfsh>start server --name=server_name -\u2013J=-Dgemfire.Query.VERBOSE=true
+```
+
+Or you can set the property programmatically:
+
+``` pre
+System.setProperty("gemfire.Query.VERBOSE","true");
+```
+
+## <a id="reference_D5CE64F5FD6F4A808AEFB748C867189E__implicit_attributes" class="no-quick-link"></a>Can I use implicit attributes or methods in my query?
+
+If an implicit attribute or method name can only be associated with one untyped iterator, the Geode query processor will assume that it is associated with that iterator. However, if more than one untyped iterator is in scope, then the query will fail with a `TypeMismatchException`. The following query fails because the query processor does not fully type expressions:
+
+``` pre
+select distinct value.secId from /pos , getPositions(23)
+```
+
+The following query, however, succeeds because the iterator is either explicitly named with a variable or it is typed:
+
+``` pre
+select distinct e.value.secId from /pos , getPositions(23) e
+            
+```
+
+## Can I instruct the query engine to use specific indexes with my queries?
+
+Using HINT *indexname* allows you to instruct the query engine to prefer and filter results from the specified indexes. If you provide multiple index names, the query engine will use all available indexes but prefer the specified indexes.
+
+``` pre
+<HINT 'IDIndex'> SELECT * FROM /Portfolios p WHERE p.ID > 10 AND p.owner = 'XYZ'
+```
+
+``` pre
+<HINT 'IDIndex', 'OwnerIndex'> SELECT * FROM /Portfolios p WHERE p.ID > 10 AND p.owner = 'XYZ' AND p.value < 100
+            
+```
+
+## <a id="reference_D5CE64F5FD6F4A808AEFB748C867189E__section_ayq_hqw_1r" class="no-quick-link"></a>How do I perform a case-insensitive search on a field in OQL?
+
+You can use the Java String class methods `toUpperCase` and `toLowerCase` to transform fields where you want to perform a case-insensitive search. For example:
+
+``` pre
+SELECT entry.value FROM /exampleRegion.entries entry WHERE entry.value.toUpperCase LIKE '%BAR%'
+```
+
+or
+
+``` pre
+SELECT * FROM /exampleRegion WHERE foo.toLowerCase LIKE '%bar%'
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/getting_started/setup_classpath.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/getting_started/setup_classpath.html.md.erb b/geode-docs/getting_started/setup_classpath.html.md.erb
new file mode 100644
index 0000000..c994d70
--- /dev/null
+++ b/geode-docs/getting_started/setup_classpath.html.md.erb
@@ -0,0 +1,105 @@
+---
+title:  Setting Up the CLASSPATH
+---
+
+This topic describes how Geode processes set their CLASSPATH.
+
+To simplify CLASSPATH environment settings, Geode has organized all application libraries required by Geode processes into `*-dependencies.jar` files. All dependency JAR files are located in the `path_to_product/lib` directory. When starting a server or locator process using `gfsh`, the required application JAR files are automatically loaded into the process's CLASSPATH for you.
+
+**Note:**
+To embed Geode in your application, add `path_to_product/lib/geode-dependencies.jar` to your CLASSPATH.
+
+The following table lists the dependency JAR files associated with various Geode processes:
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Geode Process</th>
+<th>Associated JAR Files</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td>gfsh</td>
+<td>gfsh-dependencies.jar</td>
+</tr>
+<tr class="even">
+<td>server and locator</td>
+<td>geode-dependencies.jar
+<div class="note note">
+Note:
+<p>Use this library for all standalone or embedded Geode processes (including Java clients) that host cache data.</p>
+</div></td>
+</tr>
+</tbody>
+</table>
+
+## Modifying the CLASSPATH in gfsh-Managed Processes
+
+There are two options for updating the CLASSPATH of Geode server and locator processes that are started on the gfsh command line.
+
+**Option 1:** Specify the `--classpath` parameter upon process startup. For example, to modify the CLASSPATH of a locator:
+
+``` pre
+gfsh> start locator --name=locator1 --classpath=/path/to/applications/classes.jar
+```
+
+And to modify the CLASSPATH of a server:
+
+``` pre
+gfsh> start server --name=server1 --classpath=/path/to/applications/classes.jar
+```
+
+Application classes supplied as arguments to the `--classpath` option are *prepended* to the server or locator's CLASSPATH, beginning in second position. The first entry in the CLASSPATH is reserved for the core Geode jar file, for security reasons.
+
+**Option 2:** Define the CLASSPATH environment variable in your OS environment. Then, specify the `--include-system-classpath` parameter upon process startup. For example:
+
+``` pre
+gfsh> start locator --name=locator1 --include-system-classpath=true
+```
+
+The same can also be done for server processes:
+
+``` pre
+gfsh> start server --name=server1 --include-system-classpath=true
+```
+
+This option *appends* the contents of the system CLASSPATH environment variable to the locator or server's CLASSPATH upon startup. Specifying this option without a value sets it to true.
+
+## Setting the CLASSPATH for Applications and Standalone Java Processes
+
+If you are starting a Geode process programmatically (standalone or embedded), we recommend that you specify the CLASSPATH upon program execution using the `java -classpath` or `java -cp` command-line option. This method is preferred to setting the CLASSPATH as an environment variable since it allows you to set the value individually for each application without affecting other applications and without other applications modifying its value.
+
+For example, to start up a Geode locator process using the LocatorLauncher API, you can execute the following on the command line:
+
+``` pre
+prompt# java -cp "path_to_product/lib/geode-dependencies.jar"
+org.apache.geode.distributed.LocatorLauncher start locator1
+<locator-launcher-options>
+```
+
+To start up a Geode server process using the ServerLauncher API:
+
+``` pre
+prompt# java -cp "path_to_product/lib/geode-dependencies.jar:/path/to/your/applications/classes.jar"
+org.apache.geode.distributed.ServerLauncher start server1
+<server-launcher-options>
+```
+
+Note that in addition to the `*-dependencies.jar` file associated with the process, you must also specify any custom application JARs that you wish to access in your Geode process. For example, if you are planning on using a customized compressor on your regions, you should specify the application JAR that contains the compressor application you wish to use.
+
+To start up an application with an embedded cache:
+
+``` pre
+java -cp "path_to_product/lib/geode-dependencies.jar:/path/to/your/applications/classes.jar"
+com.mycompany.package.ApplicationWithEmbeddedCache
+```
+
+**Note:**
+Another method for updating the CLASSPATH of a server process with your own applications is to use the `gfsh deploy` command. Deploying application JAR files will automatically update the CLASSPATH of all members that are targeted for deployment. See [Deploying Application JARs to Apache Geode Members](../configuring/cluster_config/deploying_application_jars.html#concept_4436C021FB934EC4A330D27BD026602C) for more details.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/getting_started/system_requirements/host_machine.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/getting_started/system_requirements/host_machine.html.md.erb b/geode-docs/getting_started/system_requirements/host_machine.html.md.erb
new file mode 100644
index 0000000..621a3b5
--- /dev/null
+++ b/geode-docs/getting_started/system_requirements/host_machine.html.md.erb
@@ -0,0 +1,32 @@
+---
+title:  Host Machine Requirements
+---
+
+Host machines must meet a set of requirements for Apache Geode.
+
+<a id="system_requirements__section_1E1F206FBC8B4A898A449E0699907A7A"></a>
+Each machine that will run Apache Geode must meet the following requirements:
+
+-   Java SE Development Kit 8 or a more recent version.
+-   A system clock set to the correct time and a time synchronization service such as Network Time Protocol (NTP). Correct time stamps permit the following activities:
+    -   Logs that are useful for troubleshooting. Synchronized time stamps ensure that log messages from different hosts can be merged to reproduce an accurate chronological history of a distributed run.
+    -   Aggregate product-level and application-level time statistics.�
+    -   Accurate monitoring of the Geode system with scripts and other tools that read the system statistics and log files.
+-   The host name and host files are properly configured for the machine. The host name and host file configuration can affect `gfsh` and Pulse functionality.
+-   Many default Linux installations use SYN cookies to protect the 
+system against malicious attacks that flood TCP SYN packets.
+The use of SYN cookies dramatically reduces network bandwidth,
+and can be triggered by a running GemFire distributed system.
+
+    To disable SYN cookies permanently:
+    1. Edit the `/etc/sysctl.conf` file to include the following line:
+
+        ``` pre
+        net.ipv4.tcp_syncookies = 0
+        ```
+        Setting this value to zero disables SYN cookies.
+    2. Reload `sysctl.conf`:
+
+        ``` pre
+        sysctl -p
+        ```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/getting_started/uninstall_gemfire.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/getting_started/uninstall_gemfire.html.md.erb b/geode-docs/getting_started/uninstall_gemfire.html.md.erb
new file mode 100644
index 0000000..baf19eb
--- /dev/null
+++ b/geode-docs/getting_started/uninstall_gemfire.html.md.erb
@@ -0,0 +1,9 @@
+---
+title:  How to Uninstall
+---
+
+This section describes how to remove Geode.
+
+Shut down any running Geode processes and then remove the entire directory tree. No additional system modifications or modification of Windows registry entries are needed.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/ClientServerAdvancedTopics-5.gif
----------------------------------------------------------------------
diff --git a/geode-docs/images/ClientServerAdvancedTopics-5.gif b/geode-docs/images/ClientServerAdvancedTopics-5.gif
new file mode 100644
index 0000000..4482512
Binary files /dev/null and b/geode-docs/images/ClientServerAdvancedTopics-5.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/ClientServerAdvancedTopics-6.gif
----------------------------------------------------------------------
diff --git a/geode-docs/images/ClientServerAdvancedTopics-6.gif b/geode-docs/images/ClientServerAdvancedTopics-6.gif
new file mode 100644
index 0000000..0191a6c
Binary files /dev/null and b/geode-docs/images/ClientServerAdvancedTopics-6.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/ClientServerAdvancedTopics-7.gif
----------------------------------------------------------------------
diff --git a/geode-docs/images/ClientServerAdvancedTopics-7.gif b/geode-docs/images/ClientServerAdvancedTopics-7.gif
new file mode 100644
index 0000000..0fb0c91
Binary files /dev/null and b/geode-docs/images/ClientServerAdvancedTopics-7.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/ContinuousQuerying-1.gif
----------------------------------------------------------------------
diff --git a/geode-docs/images/ContinuousQuerying-1.gif b/geode-docs/images/ContinuousQuerying-1.gif
new file mode 100644
index 0000000..d989bf1
Binary files /dev/null and b/geode-docs/images/ContinuousQuerying-1.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/ContinuousQuerying-3.gif
----------------------------------------------------------------------
diff --git a/geode-docs/images/ContinuousQuerying-3.gif b/geode-docs/images/ContinuousQuerying-3.gif
new file mode 100644
index 0000000..4bddc6c
Binary files /dev/null and b/geode-docs/images/ContinuousQuerying-3.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/DataManagement-9.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/DataManagement-9.png b/geode-docs/images/DataManagement-9.png
new file mode 100644
index 0000000..9866660
Binary files /dev/null and b/geode-docs/images/DataManagement-9.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/DeltaPropagation-1.gif
----------------------------------------------------------------------
diff --git a/geode-docs/images/DeltaPropagation-1.gif b/geode-docs/images/DeltaPropagation-1.gif
new file mode 100644
index 0000000..aa4149e
Binary files /dev/null and b/geode-docs/images/DeltaPropagation-1.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/DeltaPropagation-3.gif
----------------------------------------------------------------------
diff --git a/geode-docs/images/DeltaPropagation-3.gif b/geode-docs/images/DeltaPropagation-3.gif
new file mode 100644
index 0000000..fac17f3
Binary files /dev/null and b/geode-docs/images/DeltaPropagation-3.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/Events-2.gif
----------------------------------------------------------------------
diff --git a/geode-docs/images/Events-2.gif b/geode-docs/images/Events-2.gif
new file mode 100644
index 0000000..6f07fc2
Binary files /dev/null and b/geode-docs/images/Events-2.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/Events-3.gif
----------------------------------------------------------------------
diff --git a/geode-docs/images/Events-3.gif b/geode-docs/images/Events-3.gif
new file mode 100644
index 0000000..3c326ed
Binary files /dev/null and b/geode-docs/images/Events-3.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/FuncExecOnMembers.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/FuncExecOnMembers.png b/geode-docs/images/FuncExecOnMembers.png
new file mode 100644
index 0000000..a00ca1a
Binary files /dev/null and b/geode-docs/images/FuncExecOnMembers.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/FuncExecOnRegionHAWithFilter.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/FuncExecOnRegionHAWithFilter.png b/geode-docs/images/FuncExecOnRegionHAWithFilter.png
new file mode 100644
index 0000000..8c0ce15
Binary files /dev/null and b/geode-docs/images/FuncExecOnRegionHAWithFilter.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/FuncExecOnRegionNoMetadata.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/FuncExecOnRegionNoMetadata.png b/geode-docs/images/FuncExecOnRegionNoMetadata.png
new file mode 100644
index 0000000..ca0741e
Binary files /dev/null and b/geode-docs/images/FuncExecOnRegionNoMetadata.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/FuncExecOnRegionPeersWithFilter.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/FuncExecOnRegionPeersWithFilter.png b/geode-docs/images/FuncExecOnRegionPeersWithFilter.png
new file mode 100644
index 0000000..ad7c3dc
Binary files /dev/null and b/geode-docs/images/FuncExecOnRegionPeersWithFilter.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/FuncExecOnRegionWithFilter.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/FuncExecOnRegionWithFilter.png b/geode-docs/images/FuncExecOnRegionWithFilter.png
new file mode 100644
index 0000000..957e00e
Binary files /dev/null and b/geode-docs/images/FuncExecOnRegionWithFilter.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/FuncExecOnRegionWithMetadata.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/FuncExecOnRegionWithMetadata.png b/geode-docs/images/FuncExecOnRegionWithMetadata.png
new file mode 100644
index 0000000..66cc824
Binary files /dev/null and b/geode-docs/images/FuncExecOnRegionWithMetadata.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/FuncExecOnServers.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/FuncExecOnServers.png b/geode-docs/images/FuncExecOnServers.png
new file mode 100644
index 0000000..44ecae8
Binary files /dev/null and b/geode-docs/images/FuncExecOnServers.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/Gemcached.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/Gemcached.png b/geode-docs/images/Gemcached.png
new file mode 100644
index 0000000..1743e66
Binary files /dev/null and b/geode-docs/images/Gemcached.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/HibernateFlowchart.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/HibernateFlowchart.png b/geode-docs/images/HibernateFlowchart.png
new file mode 100644
index 0000000..55c500c
Binary files /dev/null and b/geode-docs/images/HibernateFlowchart.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/JConsole.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/JConsole.png b/geode-docs/images/JConsole.png
new file mode 100644
index 0000000..cd3e7ab
Binary files /dev/null and b/geode-docs/images/JConsole.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/MultiSite-4.gif
----------------------------------------------------------------------
diff --git a/geode-docs/images/MultiSite-4.gif b/geode-docs/images/MultiSite-4.gif
new file mode 100644
index 0000000..c4a4b7d
Binary files /dev/null and b/geode-docs/images/MultiSite-4.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/MultisiteConcurrency_WAN_Gateway.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/MultisiteConcurrency_WAN_Gateway.png b/geode-docs/images/MultisiteConcurrency_WAN_Gateway.png
new file mode 100644
index 0000000..a947b0a
Binary files /dev/null and b/geode-docs/images/MultisiteConcurrency_WAN_Gateway.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/SQLite_Persistence_Mgr.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/SQLite_Persistence_Mgr.png b/geode-docs/images/SQLite_Persistence_Mgr.png
new file mode 100644
index 0000000..0384874
Binary files /dev/null and b/geode-docs/images/SQLite_Persistence_Mgr.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/Transaction-simple.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/Transaction-simple.png b/geode-docs/images/Transaction-simple.png
new file mode 100644
index 0000000..53965eb
Binary files /dev/null and b/geode-docs/images/Transaction-simple.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/consistent_multisite.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/consistent_multisite.png b/geode-docs/images/consistent_multisite.png
new file mode 100644
index 0000000..3ce6f47
Binary files /dev/null and b/geode-docs/images/consistent_multisite.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/diskStores-1.gif
----------------------------------------------------------------------
diff --git a/geode-docs/images/diskStores-1.gif b/geode-docs/images/diskStores-1.gif
new file mode 100644
index 0000000..83892b0
Binary files /dev/null and b/geode-docs/images/diskStores-1.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/diskStores-3.gif
----------------------------------------------------------------------
diff --git a/geode-docs/images/diskStores-3.gif b/geode-docs/images/diskStores-3.gif
new file mode 100644
index 0000000..0e725b6
Binary files /dev/null and b/geode-docs/images/diskStores-3.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/jconsole_mbeans.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/jconsole_mbeans.png b/geode-docs/images/jconsole_mbeans.png
new file mode 100644
index 0000000..5c6e6ea
Binary files /dev/null and b/geode-docs/images/jconsole_mbeans.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/jvisualvm.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/jvisualvm.png b/geode-docs/images/jvisualvm.png
new file mode 100644
index 0000000..45c095a
Binary files /dev/null and b/geode-docs/images/jvisualvm.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/logging-1.gif
----------------------------------------------------------------------
diff --git a/geode-docs/images/logging-1.gif b/geode-docs/images/logging-1.gif
new file mode 100644
index 0000000..021e4f8
Binary files /dev/null and b/geode-docs/images/logging-1.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/member_view_list.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/member_view_list.png b/geode-docs/images/member_view_list.png
new file mode 100644
index 0000000..d25a6a2
Binary files /dev/null and b/geode-docs/images/member_view_list.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/multisite-topology-avoid-3.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/multisite-topology-avoid-3.png b/geode-docs/images/multisite-topology-avoid-3.png
new file mode 100644
index 0000000..b1af617
Binary files /dev/null and b/geode-docs/images/multisite-topology-avoid-3.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/multisite-topology-hybrid-1.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/multisite-topology-hybrid-1.png b/geode-docs/images/multisite-topology-hybrid-1.png
new file mode 100644
index 0000000..70110fc
Binary files /dev/null and b/geode-docs/images/multisite-topology-hybrid-1.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/multisite-topology-hybrid-2.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/multisite-topology-hybrid-2.png b/geode-docs/images/multisite-topology-hybrid-2.png
new file mode 100644
index 0000000..bde8cb3
Binary files /dev/null and b/geode-docs/images/multisite-topology-hybrid-2.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/multisite-topology-parallel.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/multisite-topology-parallel.png b/geode-docs/images/multisite-topology-parallel.png
new file mode 100644
index 0000000..75cdff0
Binary files /dev/null and b/geode-docs/images/multisite-topology-parallel.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/multisite-topology-serial.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/multisite-topology-serial.png b/geode-docs/images/multisite-topology-serial.png
new file mode 100644
index 0000000..4c0261c
Binary files /dev/null and b/geode-docs/images/multisite-topology-serial.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/parallel_sender.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/parallel_sender.png b/geode-docs/images/parallel_sender.png
new file mode 100644
index 0000000..879d8b0
Binary files /dev/null and b/geode-docs/images/parallel_sender.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/pulse-data-browser.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/pulse-data-browser.png b/geode-docs/images/pulse-data-browser.png
new file mode 100644
index 0000000..817f05f
Binary files /dev/null and b/geode-docs/images/pulse-data-browser.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/pulse-region-detail.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/pulse-region-detail.png b/geode-docs/images/pulse-region-detail.png
new file mode 100644
index 0000000..ea9ba63
Binary files /dev/null and b/geode-docs/images/pulse-region-detail.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/pulse_alerts_widget.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/pulse_alerts_widget.png b/geode-docs/images/pulse_alerts_widget.png
new file mode 100644
index 0000000..0228ca7
Binary files /dev/null and b/geode-docs/images/pulse_alerts_widget.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/pulse_cluster_view.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/pulse_cluster_view.png b/geode-docs/images/pulse_cluster_view.png
new file mode 100644
index 0000000..ee68756
Binary files /dev/null and b/geode-docs/images/pulse_cluster_view.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/pulse_data_view.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/pulse_data_view.png b/geode-docs/images/pulse_data_view.png
new file mode 100644
index 0000000..80b04d6
Binary files /dev/null and b/geode-docs/images/pulse_data_view.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/pulse_locator.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/pulse_locator.png b/geode-docs/images/pulse_locator.png
new file mode 100644
index 0000000..37bcf4f
Binary files /dev/null and b/geode-docs/images/pulse_locator.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/pulse_member_view.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/pulse_member_view.png b/geode-docs/images/pulse_member_view.png
new file mode 100644
index 0000000..f3520d3
Binary files /dev/null and b/geode-docs/images/pulse_member_view.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/rest_example_java_packages.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/rest_example_java_packages.png b/geode-docs/images/rest_example_java_packages.png
new file mode 100644
index 0000000..8fe7a0d
Binary files /dev/null and b/geode-docs/images/rest_example_java_packages.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/security-1.gif
----------------------------------------------------------------------
diff --git a/geode-docs/images/security-1.gif b/geode-docs/images/security-1.gif
new file mode 100644
index 0000000..93b337f
Binary files /dev/null and b/geode-docs/images/security-1.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/security-3.gif
----------------------------------------------------------------------
diff --git a/geode-docs/images/security-3.gif b/geode-docs/images/security-3.gif
new file mode 100644
index 0000000..4e6a091
Binary files /dev/null and b/geode-docs/images/security-3.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/security-4.gif
----------------------------------------------------------------------
diff --git a/geode-docs/images/security-4.gif b/geode-docs/images/security-4.gif
new file mode 100644
index 0000000..2a807b0
Binary files /dev/null and b/geode-docs/images/security-4.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/security-5.gif
----------------------------------------------------------------------
diff --git a/geode-docs/images/security-5.gif b/geode-docs/images/security-5.gif
new file mode 100644
index 0000000..7185ec7
Binary files /dev/null and b/geode-docs/images/security-5.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/serial_sender.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/serial_sender.png b/geode-docs/images/serial_sender.png
new file mode 100644
index 0000000..b1cc06a
Binary files /dev/null and b/geode-docs/images/serial_sender.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/statistics-1.gif
----------------------------------------------------------------------
diff --git a/geode-docs/images/statistics-1.gif b/geode-docs/images/statistics-1.gif
new file mode 100644
index 0000000..75652f5
Binary files /dev/null and b/geode-docs/images/statistics-1.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/swagger_home.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/swagger_home.png b/geode-docs/images/swagger_home.png
new file mode 100644
index 0000000..c045727
Binary files /dev/null and b/geode-docs/images/swagger_home.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/swagger_post_region.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/swagger_post_region.png b/geode-docs/images/swagger_post_region.png
new file mode 100644
index 0000000..b3393c6
Binary files /dev/null and b/geode-docs/images/swagger_post_region.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/swagger_post_region_response.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/swagger_post_region_response.png b/geode-docs/images/swagger_post_region_response.png
new file mode 100644
index 0000000..0645dd2
Binary files /dev/null and b/geode-docs/images/swagger_post_region_response.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/swagger_v1.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/swagger_v1.png b/geode-docs/images/swagger_v1.png
new file mode 100644
index 0000000..f0dd6b3
Binary files /dev/null and b/geode-docs/images/swagger_v1.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/swagger_v1_response.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/swagger_v1_response.png b/geode-docs/images/swagger_v1_response.png
new file mode 100644
index 0000000..c9823df
Binary files /dev/null and b/geode-docs/images/swagger_v1_response.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/transactions-client-1.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/transactions-client-1.png b/geode-docs/images/transactions-client-1.png
new file mode 100644
index 0000000..258c4b4
Binary files /dev/null and b/geode-docs/images/transactions-client-1.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/transactions_jca_adapter.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/transactions_jca_adapter.png b/geode-docs/images/transactions_jca_adapter.png
new file mode 100644
index 0000000..1f783c7
Binary files /dev/null and b/geode-docs/images/transactions_jca_adapter.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/transactions_jta.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/transactions_jta.png b/geode-docs/images/transactions_jta.png
new file mode 100644
index 0000000..f2408f6
Binary files /dev/null and b/geode-docs/images/transactions_jta.png differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images/transactions_jta_app_server.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/transactions_jta_app_server.png b/geode-docs/images/transactions_jta_app_server.png
new file mode 100644
index 0000000..7283001
Binary files /dev/null and b/geode-docs/images/transactions_jta_app_server.png differ


[64/76] [abbrv] incubator-geode git commit: GEODE-1952: Add Apache license to all geode-docs erb files

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/load-balance.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/load-balance.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/load-balance.html.md.erb
index c79dd3e..c27c0d7 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/load-balance.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/load-balance.html.md.erb
@@ -2,6 +2,23 @@
 title:  load-balance gateway-sender
 ---
 
+<!--
+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.
+-->
+
 Causes the specified gateway sender to close its current connections and reconnect to remote gateway receivers in a more balanced fashion.
 
 Use this command to load balance connections between gateway senders to receivers. For example, when you add a new gateway receiver node at a remote site, execute this command so that the new gateway receiver can pick up connections from the specified gateway sender. Invoking this command redistributes a sender's connections more evenly among all the gateway receivers.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/locate.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/locate.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/locate.html.md.erb
index e6988cb..1dc6628 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/locate.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/locate.html.md.erb
@@ -2,6 +2,23 @@
 title:  locate entry
 ---
 
+<!--
+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.
+-->
+
 Locate a region entry on a member.
 
 ## <a id="concept_73B980C1138743DDBBFACE68009BD1E3__section_04BD7EC0032147DFA9CCD1331EE3B694" class="no-quick-link"></a>locate entry

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/netstat.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/netstat.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/netstat.html.md.erb
index 3ac0a5d..00446c1 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/netstat.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/netstat.html.md.erb
@@ -2,6 +2,23 @@
 title:  netstat
 ---
 
+<!--
+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.
+-->
+
 Report network information and statistics via the "netstat" operating system command.
 
 Report important network usage information/statistics for the given member.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/pause.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/pause.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/pause.html.md.erb
index 1ea2ab2..86a1d8c 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/pause.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/pause.html.md.erb
@@ -2,6 +2,23 @@
 title:  pause gateway-sender
 ---
 
+<!--
+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.
+-->
+
 Pause a gateway sender.
 
 Pause the gateway sender on a member or members. See [Pausing Gateway Senders](../../../topologies_and_comm/topology_concepts/multisite_overview.html#topic_9AA37B43642D4DE19072CA3367C849BA__section_hdt_2js_bq) for details on pausing gateway senders.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/pdx.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/pdx.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/pdx.html.md.erb
index bb57d13..4a3e85e 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/pdx.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/pdx.html.md.erb
@@ -2,6 +2,23 @@
 title:  pdx rename
 ---
 
+<!--
+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.
+-->
+
 Renames PDX types in an offline disk store.
 
 Any PDX types that are renamed will be listed in the output. If no renames are done or the disk-store is online, then this command will fail.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/put.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/put.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/put.html.md.erb
index 38a5e6a..e5ab1e6 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/put.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/put.html.md.erb
@@ -2,6 +2,23 @@
 title:  put
 ---
 
+<!--
+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.
+-->
+
 Add or update a region entry.
 
 Add or update an entry in a region.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/query.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/query.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/query.html.md.erb
index aee1d1b..1ff3028 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/query.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/query.html.md.erb
@@ -2,6 +2,23 @@
 title:  query
 ---
 
+<!--
+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.
+-->
+
 Run queries against Geode regions.
 
 Run the specified OQL query as a single quoted string and displays results in pages allows to move between pages. If limit is not set in the query, then a default limit of 1000 (derived from GFSH environment variable APP\_FETCH\_SIZE) will be applied. Page size is derived from GFSH environment variable APP\_COLLECTION\_LIMIT (default value=20).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/rebalance.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/rebalance.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/rebalance.html.md.erb
index ff5118a..2cfcbd6 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/rebalance.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/rebalance.html.md.erb
@@ -2,6 +2,23 @@
 title:  rebalance
 ---
 
+<!--
+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.
+-->
+
 Rebalance partitioned regions.
 
 The default is for all partitioned regions to be rebalanced.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/remove.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/remove.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/remove.html.md.erb
index 469b12e..16e808b 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/remove.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/remove.html.md.erb
@@ -2,6 +2,23 @@
 title:  remove
 ---
 
+<!--
+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.
+-->
+
 Remove an entry from a region.
 
 **Availability:** Online. You must be connected in `gfsh` to a JMX Manager member to use this command.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/resume.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/resume.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/resume.html.md.erb
index 87bec69..165226c 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/resume.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/resume.html.md.erb
@@ -2,6 +2,23 @@
 title:  resume gateway-sender
 ---
 
+<!--
+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.
+-->
+
 Resume any gateway senders that you have paused.
 
 Resume the gateway sender on a member or members.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/revoke.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/revoke.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/revoke.html.md.erb
index 6cf0e16..f82fb4b 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/revoke.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/revoke.html.md.erb
@@ -2,6 +2,23 @@
 title:  revoke missing-disk-store
 ---
 
+<!--
+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.
+-->
+
 Instruct the member(s) of a distributed system to stop waiting for a disk store to be available.
 
 Only revoke a disk store if its files are lost as it will no longer be recoverable after revoking is initiated. Use the "show missing-disk-store" command to get descriptions of missing disk stores.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/run.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/run.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/run.html.md.erb
index 34291b0..9b07ae6 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/run.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/run.html.md.erb
@@ -2,6 +2,23 @@
 title:  run
 ---
 
+<!--
+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.
+-->
+
 Execute a set of GFSH commands.
 
 Commands that normally prompt for additional input will instead use default values.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/set.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/set.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/set.html.md.erb
index 74c0cf4..600e5af 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/set.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/set.html.md.erb
@@ -2,6 +2,23 @@
 title:  set variable
 ---
 
+<!--
+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.
+-->
+
 Set variables in the GFSH environment.
 
 <a id="concept_E9CC746480464556AA8FF69EB991776E__section_66C36B0123F54A52AE3815E5D31F8239"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/sh.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/sh.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/sh.html.md.erb
index ca4cf58..ca3a4b8 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/sh.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/sh.html.md.erb
@@ -2,6 +2,23 @@
 title:  sh
 ---
 
+<!--
+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.
+-->
+
 Execute operating system commands.
 
 Executes operating system (OS) commands. Use '`&`' to return to the `gfsh` prompt immediately.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/show.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/show.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/show.html.md.erb
index 18418af..98009f1 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/show.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/show.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: show
 ---
+
+<!--
+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="topic_7171CA38456645D5B08C16FD73AD0B2A"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/shutdown.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/shutdown.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/shutdown.html.md.erb
index c233b6f..84f5f19 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/shutdown.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/shutdown.html.md.erb
@@ -2,6 +2,23 @@
 title:  shutdown
 ---
 
+<!--
+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.
+-->
+
 Stop all members.
 
 Asks all the members that have a cache to close the cache and disconnect from the system. If the `--include-locators` parameter is specified, the command shuts down any running locators one by one. The timeout parameter allows you to specify that the system should be shutdown forcibly after the time has exceeded.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/sleep.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/sleep.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/sleep.html.md.erb
index 97cc670..6a0754c 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/sleep.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/sleep.html.md.erb
@@ -2,6 +2,23 @@
 title:  sleep
 ---
 
+<!--
+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.
+-->
+
 Delay `gfsh` command execution.
 
 Delay for a specified amount of time in seconds - floating point values are allowed.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/start.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/start.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/start.html.md.erb
index dd896e1..ff703cb 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/start.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/start.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: start
 ---
+
+<!--
+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="topic_3151ACDA3677431BB5059EB7FCB47D87"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/status.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/status.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/status.html.md.erb
index 0af491c..cd64062 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/status.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/status.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: status
 ---
+
+<!--
+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="topic_7BCB054803CF48FE8688394C5C39000A"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/stop.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/stop.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/stop.html.md.erb
index 8a80e68..5ba621e 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/stop.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/stop.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: stop
 ---
+
+<!--
+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="topic_45125131A45F4713BBC63E7225AAD91B"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/undeploy.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/undeploy.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/undeploy.html.md.erb
index 54017ad..7cb5aae 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/undeploy.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/undeploy.html.md.erb
@@ -2,6 +2,23 @@
 title:  undeploy
 ---
 
+<!--
+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.
+-->
+
 Undeploy the JAR files that were deployed on members or groups using `deploy` command.
 
 If `--jar` is not specified, the command will undeploy all deployed JARs. If `--group` is not specified, the command applies to the entire cluster. Note that this command can't unload the classes that were loaded during deployment. Member(s) should be restarted for that.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/validate.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/validate.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/validate.html.md.erb
index 543dfaf..0fc460d 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/validate.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/validate.html.md.erb
@@ -2,6 +2,23 @@
 title:  validate offline-disk-store
 ---
 
+<!--
+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.
+-->
+
 Validate offline disk stores.
 
 <a id="concept_1A965E61EA7A4A629117CF55FC567685__section_CECE13AEC08E4F5DAABEF4D9E500664A"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command-pages/version.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command-pages/version.html.md.erb b/geode-docs/tools_modules/gfsh/command-pages/version.html.md.erb
index e1685a4..217bf23 100644
--- a/geode-docs/tools_modules/gfsh/command-pages/version.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command-pages/version.html.md.erb
@@ -2,6 +2,23 @@
 title:  version
 ---
 
+<!--
+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.
+-->
+
 Display product version information.
 
 **Availability:** Online or offline.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/command_scripting.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/command_scripting.html.md.erb b/geode-docs/tools_modules/gfsh/command_scripting.html.md.erb
index f59b7db..391d67f 100644
--- a/geode-docs/tools_modules/gfsh/command_scripting.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/command_scripting.html.md.erb
@@ -2,6 +2,23 @@
 title:  Creating and Running gfsh Command Scripts
 ---
 
+<!--
+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.
+-->
+
 gfsh offers several ways to run commands in a scripting environment.
 
 ## <a id="concept_9B2F7550F16C4717831AD40A56922259__section_037953D46A644471910B295001E5CE6B" class="no-quick-link"></a>Running gfsh Scripts

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/configuring_gfsh.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/configuring_gfsh.html.md.erb b/geode-docs/tools_modules/gfsh/configuring_gfsh.html.md.erb
index 6842892..1466fc2 100644
--- a/geode-docs/tools_modules/gfsh/configuring_gfsh.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/configuring_gfsh.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configuring the gfsh Environment
 ---
 
+<!--
+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.
+-->
+
 The `gfsh.bat` and `gfsh` bash script automatically append the required Apache Geode and JDK .jar libraries to your existing CLASSPATH. There are user-configurable properties you can set for security, environment variables, logging, and troubleshooting.
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/getting_started_gfsh.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/getting_started_gfsh.html.md.erb b/geode-docs/tools_modules/gfsh/getting_started_gfsh.html.md.erb
index 239114c..9609971 100644
--- a/geode-docs/tools_modules/gfsh/getting_started_gfsh.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/getting_started_gfsh.html.md.erb
@@ -2,6 +2,23 @@
 title:  Basic Shell Features and Command-Line Usage
 ---
 
+<!--
+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.
+-->
+
 The `gfsh` utility provides useful features for a shell environment, including command auto-complete, preserved command history, and delimiting of multi-line commands. Context-sensitive help is available by command and by topic.
 
 <a id="concept_45D28CC9710C4EAFB6EECFA0D651D439__section_A7A871DBD8C7464A80CEB007798E5AE7"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/gfsh_command_index.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/gfsh_command_index.html.md.erb b/geode-docs/tools_modules/gfsh/gfsh_command_index.html.md.erb
index 80c6b01..e921fdc 100644
--- a/geode-docs/tools_modules/gfsh/gfsh_command_index.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/gfsh_command_index.html.md.erb
@@ -2,6 +2,23 @@
 title:  gfsh Command Help
 ---
 
+<!--
+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.
+-->
+
 This section provides help and usage information on all `gfsh` commands, listed alphabetically.
 
 -   **[alter](../../tools_modules/gfsh/command-pages/alter.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/gfsh_quick_reference.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/gfsh_quick_reference.html.md.erb b/geode-docs/tools_modules/gfsh/gfsh_quick_reference.html.md.erb
index 895dd55..7dbc5bb 100644
--- a/geode-docs/tools_modules/gfsh/gfsh_quick_reference.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/gfsh_quick_reference.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: Quick Reference of gfsh Commands by Functional Area
 ---
+
+<!--
+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="topic_1D44F3DEB9CE457DB3A65891003C6389"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/os_command_line_execution.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/os_command_line_execution.html.md.erb b/geode-docs/tools_modules/gfsh/os_command_line_execution.html.md.erb
index 36b3b9f..c3ac2d0 100644
--- a/geode-docs/tools_modules/gfsh/os_command_line_execution.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/os_command_line_execution.html.md.erb
@@ -2,6 +2,23 @@
 title:  Running gfsh Commands on the OS Command Line
 ---
 
+<!--
+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="topic_fpf_y1g_tp__section_4BACD4EE33934083AC7046DF8B0A753A"></a>
 You can run some `gfsh` commands directly from your operating system's prompt by preceding the command with `gfsh`. This can be useful for Unix shell or Windows batch scripting. For example:
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/quick_ref_commands_by_area.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/quick_ref_commands_by_area.html.md.erb b/geode-docs/tools_modules/gfsh/quick_ref_commands_by_area.html.md.erb
index 8fad343..c93f488 100644
--- a/geode-docs/tools_modules/gfsh/quick_ref_commands_by_area.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/quick_ref_commands_by_area.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: Basic Geode gfsh Commands
 ---
+
+<!--
+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="topic_77DA6E3929404EB4AC24230CC7C21493"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/starting_gfsh.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/starting_gfsh.html.md.erb b/geode-docs/tools_modules/gfsh/starting_gfsh.html.md.erb
index 0e72127..70559e7 100644
--- a/geode-docs/tools_modules/gfsh/starting_gfsh.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/starting_gfsh.html.md.erb
@@ -2,6 +2,23 @@
 title:  Starting gfsh
 ---
 
+<!--
+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.
+-->
+
 Before you start gfsh, confirm that you have set JAVA\_HOME and that your PATH variable includes the gfsh executable.
 
 To manage servers and locators properly, `gfsh` requires the `tools.jar` file (provided with the JDK) exist in the CLASSPATH.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/tour_of_gfsh.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/tour_of_gfsh.html.md.erb b/geode-docs/tools_modules/gfsh/tour_of_gfsh.html.md.erb
index e8fa2d1..ca21d39 100644
--- a/geode-docs/tools_modules/gfsh/tour_of_gfsh.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/tour_of_gfsh.html.md.erb
@@ -2,6 +2,23 @@
 title:  Tutorial\u2014Performing Common Tasks with gfsh
 ---
 
+<!--
+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.
+-->
+
 This topic takes you through a typical sequence of tasks that you execute after starting `gfsh`.
 
 <a id="concept_0B7DE9DEC1524ED0897C144EE1B83A34__section_C183031258CF493D9E334593729E156D"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/gfsh/useful_gfsh_shell_variables.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/gfsh/useful_gfsh_shell_variables.html.md.erb b/geode-docs/tools_modules/gfsh/useful_gfsh_shell_variables.html.md.erb
index d92e4c3..731953c 100644
--- a/geode-docs/tools_modules/gfsh/useful_gfsh_shell_variables.html.md.erb
+++ b/geode-docs/tools_modules/gfsh/useful_gfsh_shell_variables.html.md.erb
@@ -2,6 +2,23 @@
 title:  Useful gfsh Shell Variables
 ---
 
+<!--
+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.
+-->
+
 You can use the built-in `gfsh` shell variables in scripts.
 
 You can also use the `set variable` command to modify shell behavior or to define your own variables.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/hibernate_cache/advanced_config.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/hibernate_cache/advanced_config.html.md.erb b/geode-docs/tools_modules/hibernate_cache/advanced_config.html.md.erb
index 03666ac..e42d9d0 100644
--- a/geode-docs/tools_modules/hibernate_cache/advanced_config.html.md.erb
+++ b/geode-docs/tools_modules/hibernate_cache/advanced_config.html.md.erb
@@ -2,6 +2,23 @@
 title:  Advanced Configuration of the Hibernate Cache Module
 ---
 
+<!--
+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.
+-->
+
 After you set up Hibernate to work with the Geode module, Geode will run automatically with preconfigured settings. Depending on your topology, you may want to change these settings.
 
 Geode has these default settings:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/hibernate_cache/changing_gemfire_default_cfg.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/hibernate_cache/changing_gemfire_default_cfg.html.md.erb b/geode-docs/tools_modules/hibernate_cache/changing_gemfire_default_cfg.html.md.erb
index 0424a58..b13ed0e 100644
--- a/geode-docs/tools_modules/hibernate_cache/changing_gemfire_default_cfg.html.md.erb
+++ b/geode-docs/tools_modules/hibernate_cache/changing_gemfire_default_cfg.html.md.erb
@@ -2,6 +2,23 @@
 title:  Changing Default Configuration of the Hibernate Cache Module
 ---
 
+<!--
+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.
+-->
+
 To edit Geode configuration information (such as how members locate each other), you can add Geode properties to Hibernate's `hibernate.cfg.xml` file.
 
 When adding properties, use the following syntax:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/hibernate_cache/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/hibernate_cache/chapter_overview.html.md.erb b/geode-docs/tools_modules/hibernate_cache/chapter_overview.html.md.erb
index 2a9c06b..4402548 100644
--- a/geode-docs/tools_modules/hibernate_cache/chapter_overview.html.md.erb
+++ b/geode-docs/tools_modules/hibernate_cache/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Hibernate Cache Module
 ---
 
+<!--
+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.
+-->
+
 The Geode Hibernate Cache Module provides fast, scalable, distributed L2 caching for Hibernate.
 
 For additional information about Hibernate, see the [Hibernate](http://www.hibernate.org/) website.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/hibernate_cache/chapter_overview_how_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/hibernate_cache/chapter_overview_how_works.html.md.erb b/geode-docs/tools_modules/hibernate_cache/chapter_overview_how_works.html.md.erb
index bb4c8af..d1c576a 100644
--- a/geode-docs/tools_modules/hibernate_cache/chapter_overview_how_works.html.md.erb
+++ b/geode-docs/tools_modules/hibernate_cache/chapter_overview_how_works.html.md.erb
@@ -2,6 +2,23 @@
 title:  How Geode Works with Hibernate
 ---
 
+<!--
+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.
+-->
+
 After a few configuration changes, Apache Geode will cache Hibernate data. Depending on your usage model, you can replicate data across multiple peers, partition data across multiple servers, or manage your data in many other customizable ways.
 
 <img src="../../images_svg/hibernate_overview.svg" id="hib_cac_mod__image_47CDCD5F218041F7B2D267B99486AAAD" class="image" />

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/hibernate_cache/hibernate_why_use_gemfire.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/hibernate_cache/hibernate_why_use_gemfire.html.md.erb b/geode-docs/tools_modules/hibernate_cache/hibernate_why_use_gemfire.html.md.erb
index a37bbe2..29a1a83 100644
--- a/geode-docs/tools_modules/hibernate_cache/hibernate_why_use_gemfire.html.md.erb
+++ b/geode-docs/tools_modules/hibernate_cache/hibernate_why_use_gemfire.html.md.erb
@@ -2,6 +2,23 @@
 title:  Why Use Geode with Hibernate?
 ---
 
+<!--
+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.
+-->
+
 Using Apache Geode with Hibernate improves performance and scalability, gives you flexible caching options, and more.
 
 -   **General**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/hibernate_cache/installing_gemfire_and_module.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/hibernate_cache/installing_gemfire_and_module.html.md.erb b/geode-docs/tools_modules/hibernate_cache/installing_gemfire_and_module.html.md.erb
index c1b9016..a3bc6b9 100644
--- a/geode-docs/tools_modules/hibernate_cache/installing_gemfire_and_module.html.md.erb
+++ b/geode-docs/tools_modules/hibernate_cache/installing_gemfire_and_module.html.md.erb
@@ -2,6 +2,23 @@
 title:  Installing the Hibernate Cache Module
 ---
 
+<!--
+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.
+-->
+
 The Hibernate module is included in the Apache Geode installation package.
 
 1.  If you have not done so, download and install [Hibernate](http://www.hibernate.org/). Apache Geode supports Hibernate 3.3 and later (up to version 3.6.10) for use with the Hibernate Cache module. Apache Geode does not currently support Hibernate 4.x for use with the Hibernate Cache module.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/hibernate_cache/setting_up_the_module.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/hibernate_cache/setting_up_the_module.html.md.erb b/geode-docs/tools_modules/hibernate_cache/setting_up_the_module.html.md.erb
index cc3702e..8d00c34 100644
--- a/geode-docs/tools_modules/hibernate_cache/setting_up_the_module.html.md.erb
+++ b/geode-docs/tools_modules/hibernate_cache/setting_up_the_module.html.md.erb
@@ -2,6 +2,23 @@
 title:  Setting Up the Geode Hibernate Cache Module
 ---
 
+<!--
+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.
+-->
+
 Edit the `hibernate.cfg.xml` file to use the Hibernate Cache module.
 
 1.  **Turn on L2 Cache**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/hibernate_cache/using_hibernate_with_http_session.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/hibernate_cache/using_hibernate_with_http_session.html.md.erb b/geode-docs/tools_modules/hibernate_cache/using_hibernate_with_http_session.html.md.erb
index 2bdf57a..d6a3719 100644
--- a/geode-docs/tools_modules/hibernate_cache/using_hibernate_with_http_session.html.md.erb
+++ b/geode-docs/tools_modules/hibernate_cache/using_hibernate_with_http_session.html.md.erb
@@ -2,6 +2,23 @@
 title:  Using Hibernate Cache Module with HTTP Session Management Module
 ---
 
+<!--
+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.
+-->
+
 This section describes how to set up the Hibernate Cache module if you are also using the HTTP Session Management module.
 
 If you have already configured your tc Server or Tomcat application server to use the HTTP Session Management Module, follow these steps to configure Hibernate module for your application:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/http_session_mgmt/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/http_session_mgmt/chapter_overview.html.md.erb b/geode-docs/tools_modules/http_session_mgmt/chapter_overview.html.md.erb
index aadbcac..e6808c8 100644
--- a/geode-docs/tools_modules/http_session_mgmt/chapter_overview.html.md.erb
+++ b/geode-docs/tools_modules/http_session_mgmt/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  HTTP Session Management Modules
 ---
 
+<!--
+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.
+-->
+
 The Apache Geode HTTP Session Management modules provide fast, scalable, and reliable session replication for HTTP servers without requiring application changes.
 
 Apache Geode offers HTTP session management modules for tc Server, Tomcat, and AppServers.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/http_session_mgmt/common_gemfire_topologies.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/http_session_mgmt/common_gemfire_topologies.html.md.erb b/geode-docs/tools_modules/http_session_mgmt/common_gemfire_topologies.html.md.erb
index 3684765..f0bf050 100644
--- a/geode-docs/tools_modules/http_session_mgmt/common_gemfire_topologies.html.md.erb
+++ b/geode-docs/tools_modules/http_session_mgmt/common_gemfire_topologies.html.md.erb
@@ -2,6 +2,23 @@
 title:  Common Topologies for HTTP Session Management
 ---
 
+<!--
+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.
+-->
+
 Decide which topology is best for your usage. The module configuration process is slightly different for each topology.
 
 By default, a peer-to-peer configuration creates a replicated region across all servers. By default, a client/server configuration creates a partitioned region across all servers.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/http_session_mgmt/http_why_use_gemfire.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/http_session_mgmt/http_why_use_gemfire.html.md.erb b/geode-docs/tools_modules/http_session_mgmt/http_why_use_gemfire.html.md.erb
index b1621a8..f47d625 100644
--- a/geode-docs/tools_modules/http_session_mgmt/http_why_use_gemfire.html.md.erb
+++ b/geode-docs/tools_modules/http_session_mgmt/http_why_use_gemfire.html.md.erb
@@ -2,6 +2,23 @@
 title:  Advantages of Using Geode for Session Management
 ---
 
+<!--
+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.
+-->
+
 The HTTP Session Management Module enables you to customize how you manage your session data.
 
 Depending on your usage model, the HTTP Session Management Module enables you to accomplish the following tasks:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/http_session_mgmt/interactive_mode_ref.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/http_session_mgmt/interactive_mode_ref.html.md.erb b/geode-docs/tools_modules/http_session_mgmt/interactive_mode_ref.html.md.erb
index 9049312..05a3ab4 100644
--- a/geode-docs/tools_modules/http_session_mgmt/interactive_mode_ref.html.md.erb
+++ b/geode-docs/tools_modules/http_session_mgmt/interactive_mode_ref.html.md.erb
@@ -2,6 +2,23 @@
 title:  Interactive Configuration Reference for the tc Server Module
 ---
 
+<!--
+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.
+-->
+
 This section describes each prompt when entering into interactive configuration mode of the Geode HTTP Session Management Module for tc Server.
 
 ``` pre

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/http_session_mgmt/quick_start.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/http_session_mgmt/quick_start.html.md.erb b/geode-docs/tools_modules/http_session_mgmt/quick_start.html.md.erb
index 186f35b..d065e32 100644
--- a/geode-docs/tools_modules/http_session_mgmt/quick_start.html.md.erb
+++ b/geode-docs/tools_modules/http_session_mgmt/quick_start.html.md.erb
@@ -2,6 +2,23 @@
 title:  HTTP Session Management Quick Start
 ---
 
+<!--
+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.
+-->
+
 In this section you download, install, and set up the HTTP Session Management modules.
 
 ## <a id="quick_start__section_6A4A00B6DA404E10A5C29E5E31101445" class="no-quick-link"></a>Quick Start Instructions

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/http_session_mgmt/session_mgmt_tcserver.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/http_session_mgmt/session_mgmt_tcserver.html.md.erb b/geode-docs/tools_modules/http_session_mgmt/session_mgmt_tcserver.html.md.erb
index 452c665..833a918 100644
--- a/geode-docs/tools_modules/http_session_mgmt/session_mgmt_tcserver.html.md.erb
+++ b/geode-docs/tools_modules/http_session_mgmt/session_mgmt_tcserver.html.md.erb
@@ -2,6 +2,23 @@
 title:  HTTP Session Management Module for Pivotal tc Server
 ---
 
+<!--
+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.
+-->
+
 This section describes how to set up and use the HTTP session management module with tc Server templates.
 
 If you would prefer to manually change the `server.xml` and `context.xml` files rather than use tc Server templates, refer to [HTTP Session Management Module for Tomcat](session_mgmt_tomcat.html).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/http_session_mgmt/session_mgmt_tomcat.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/http_session_mgmt/session_mgmt_tomcat.html.md.erb b/geode-docs/tools_modules/http_session_mgmt/session_mgmt_tomcat.html.md.erb
index fbd40cd..aef1c3a 100644
--- a/geode-docs/tools_modules/http_session_mgmt/session_mgmt_tomcat.html.md.erb
+++ b/geode-docs/tools_modules/http_session_mgmt/session_mgmt_tomcat.html.md.erb
@@ -2,6 +2,23 @@
 title:  HTTP Session Management Module for Tomcat
 ---
 
+<!--
+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.
+-->
+
 You set up and use the module by modifying the Tomcat's `server.xml` and `context.xml` files.
 
 For instructions specific to SpringSource tc Server templates, refer to [HTTP Session Management Module for Pivotal tc Server](session_mgmt_tcserver.html).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/http_session_mgmt/session_mgmt_weblogic.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/http_session_mgmt/session_mgmt_weblogic.html.md.erb b/geode-docs/tools_modules/http_session_mgmt/session_mgmt_weblogic.html.md.erb
index dfa6b66..075c9fa 100644
--- a/geode-docs/tools_modules/http_session_mgmt/session_mgmt_weblogic.html.md.erb
+++ b/geode-docs/tools_modules/http_session_mgmt/session_mgmt_weblogic.html.md.erb
@@ -2,6 +2,23 @@
 title:  HTTP Session Management Module for AppServers
 ---
 
+<!--
+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.
+-->
+
 You implement session caching with the HTTP Session Management Module for AppServers with a special filter, defined in the `web.xml`, which is configured to intercept and wrap all requests.
 
 You can use this HTTP module with a variety of application servers. Wrapping each request allows the interception of `getSession()` calls to be handled by Geode instead of the native container. This approach is a generic solution, which is supported by any container that implements the Servlet 2.4 specification.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/http_session_mgmt/session_state_log_files.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/http_session_mgmt/session_state_log_files.html.md.erb b/geode-docs/tools_modules/http_session_mgmt/session_state_log_files.html.md.erb
index 35f849a..4a84e99 100644
--- a/geode-docs/tools_modules/http_session_mgmt/session_state_log_files.html.md.erb
+++ b/geode-docs/tools_modules/http_session_mgmt/session_state_log_files.html.md.erb
@@ -2,6 +2,23 @@
 title:  Session State Log Files
 ---
 
+<!--
+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.
+-->
+
 Several log files are written by the various parts of the session management code.
 
 -   `catalina.log`. Log file written by the tc server

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/http_session_mgmt/tc_additional_info.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/http_session_mgmt/tc_additional_info.html.md.erb b/geode-docs/tools_modules/http_session_mgmt/tc_additional_info.html.md.erb
index 50a031b..1e01978 100644
--- a/geode-docs/tools_modules/http_session_mgmt/tc_additional_info.html.md.erb
+++ b/geode-docs/tools_modules/http_session_mgmt/tc_additional_info.html.md.erb
@@ -2,6 +2,23 @@
 title:  General Information on HTTP Session Management
 ---
 
+<!--
+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.
+-->
+
 This section provides information on sticky load balancers, session expiration, additional Geode property changes, serialization and more.
 
 ## <a id="tc_additional_info__section_78F53B3F4301466EA0E5DF277CF33A71" class="no-quick-link"></a>Sticky Load Balancers

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/http_session_mgmt/tc_changing_gf_default_cfg.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/http_session_mgmt/tc_changing_gf_default_cfg.html.md.erb b/geode-docs/tools_modules/http_session_mgmt/tc_changing_gf_default_cfg.html.md.erb
index c1926b3..a49009f 100644
--- a/geode-docs/tools_modules/http_session_mgmt/tc_changing_gf_default_cfg.html.md.erb
+++ b/geode-docs/tools_modules/http_session_mgmt/tc_changing_gf_default_cfg.html.md.erb
@@ -2,6 +2,23 @@
 title:  Changing the Default Geode Configuration in the tc Server Module
 ---
 
+<!--
+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.
+-->
+
 By default, the tc Server HTTP module will run Geode automatically with pre-configured settings. You can change these Geode settings.
 
 Here are the default Geode settings:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/http_session_mgmt/tc_installing_the_module.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/http_session_mgmt/tc_installing_the_module.html.md.erb b/geode-docs/tools_modules/http_session_mgmt/tc_installing_the_module.html.md.erb
index d8acf4d..fdc199d 100644
--- a/geode-docs/tools_modules/http_session_mgmt/tc_installing_the_module.html.md.erb
+++ b/geode-docs/tools_modules/http_session_mgmt/tc_installing_the_module.html.md.erb
@@ -2,6 +2,23 @@
 title:  Installing the HTTP Module for tc Server
 ---
 
+<!--
+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.
+-->
+
 This topic describes how to install the HTTP session management module with tc Server templates.
 
 1.  If you do not already have tc Server, download and install the product from the [VMware tc Server download page](https://my.vmware.com/web/vmware/info/slug/application_platform/vmware_vfabric_tc_server/2_9) or the [Pivotal tc Server download page](https://network.pivotal.io/products/pivotal-tcserver). These instructions require **tc Server 2.9** or later.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/http_session_mgmt/tc_setting_up_the_module.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/http_session_mgmt/tc_setting_up_the_module.html.md.erb b/geode-docs/tools_modules/http_session_mgmt/tc_setting_up_the_module.html.md.erb
index 538f40d..aa4244a 100644
--- a/geode-docs/tools_modules/http_session_mgmt/tc_setting_up_the_module.html.md.erb
+++ b/geode-docs/tools_modules/http_session_mgmt/tc_setting_up_the_module.html.md.erb
@@ -2,6 +2,23 @@
 title:  Setting Up the HTTP Module for tc Server
 ---
 
+<!--
+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.
+-->
+
 To set up the HTTP Module for tc Server, start a tc Server instance with the appropriate tc Server template based on your preferred topology.
 
 **Note:**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/http_session_mgmt/tomcat_changing_gf_default_cfg.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/http_session_mgmt/tomcat_changing_gf_default_cfg.html.md.erb b/geode-docs/tools_modules/http_session_mgmt/tomcat_changing_gf_default_cfg.html.md.erb
index 809ea73..a6a5b46 100644
--- a/geode-docs/tools_modules/http_session_mgmt/tomcat_changing_gf_default_cfg.html.md.erb
+++ b/geode-docs/tools_modules/http_session_mgmt/tomcat_changing_gf_default_cfg.html.md.erb
@@ -2,6 +2,23 @@
 title:  Changing the Default Geode Configuration in the Tomcat Module
 ---
 
+<!--
+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.
+-->
+
 By default, the Tomcat module will run Geode automatically with pre-configured settings. You can change these Geode settings.
 
 Here are the default settings:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/http_session_mgmt/tomcat_installing_the_module.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/http_session_mgmt/tomcat_installing_the_module.html.md.erb b/geode-docs/tools_modules/http_session_mgmt/tomcat_installing_the_module.html.md.erb
index 9b91364..9840024 100644
--- a/geode-docs/tools_modules/http_session_mgmt/tomcat_installing_the_module.html.md.erb
+++ b/geode-docs/tools_modules/http_session_mgmt/tomcat_installing_the_module.html.md.erb
@@ -2,6 +2,23 @@
 title:  Installing the HTTP Module for Tomcat
 ---
 
+<!--
+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.
+-->
+
 This topic describes how to install the HTTP session management module for Tomcat.
 
 1.  If you do not already have Tomcat installed, download the desired version from the [Apache Website](http://tomcat.apache.org/).



[71/76] [abbrv] incubator-geode git commit: GEODE-1952: Add Apache license to all geode-docs erb files

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/distributed_regions/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/distributed_regions/chapter_overview.html.md.erb b/geode-docs/developing/distributed_regions/chapter_overview.html.md.erb
index ce33ee2..d24de37 100644
--- a/geode-docs/developing/distributed_regions/chapter_overview.html.md.erb
+++ b/geode-docs/developing/distributed_regions/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Distributed and Replicated Regions
 ---
 
+<!--
+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.
+-->
+
 In addition to basic region management, distributed and replicated regions include options for things like push and pull distribution models, global locking, and region entry versions to ensure consistency across Geode members.
 
 -   **[How Distribution Works](../../developing/distributed_regions/how_distribution_works.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/distributed_regions/choosing_level_of_dist.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/distributed_regions/choosing_level_of_dist.html.md.erb b/geode-docs/developing/distributed_regions/choosing_level_of_dist.html.md.erb
index f48aaeb..3d48ab4 100644
--- a/geode-docs/developing/distributed_regions/choosing_level_of_dist.html.md.erb
+++ b/geode-docs/developing/distributed_regions/choosing_level_of_dist.html.md.erb
@@ -2,6 +2,23 @@
 title:  Options for Region Distribution
 ---
 
+<!--
+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.
+-->
+
 You can use distribution with and without acknowledgment, or global locking for your region distribution. Regions that are configured for distribution with acknowledgment can also be configured to resolve concurrent updates consistently across all Geode members that host the region.
 
 <a id="choosing_level_of_dist__section_F2528B151DD54CEFA05C4BA655BCF016"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/distributed_regions/how_distribution_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/distributed_regions/how_distribution_works.html.md.erb b/geode-docs/developing/distributed_regions/how_distribution_works.html.md.erb
index bbc7522..857a194 100644
--- a/geode-docs/developing/distributed_regions/how_distribution_works.html.md.erb
+++ b/geode-docs/developing/distributed_regions/how_distribution_works.html.md.erb
@@ -2,6 +2,23 @@
 title:  How Distribution Works
 ---
 
+<!--
+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.
+-->
+
 To use distributed and replicated regions, you should understand how they work and your options for managing them.
 
 <a id="how_distribution_works__section_2F892A4987C547E68CA78067133C2C2C"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/distributed_regions/how_region_versioning_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/distributed_regions/how_region_versioning_works.html.md.erb b/geode-docs/developing/distributed_regions/how_region_versioning_works.html.md.erb
index 7e4c551..c8b98f7 100644
--- a/geode-docs/developing/distributed_regions/how_region_versioning_works.html.md.erb
+++ b/geode-docs/developing/distributed_regions/how_region_versioning_works.html.md.erb
@@ -2,6 +2,23 @@
 title: Consistency Checking by Region Type
 ---
 
+<!--
+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="topic_7A4B6C6169BD4B1ABD356294F744D236"></a>
 
 Geode performs different consistency checks depending on the type of region you have configured.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/distributed_regions/how_region_versioning_works_wan.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/distributed_regions/how_region_versioning_works_wan.html.md.erb b/geode-docs/developing/distributed_regions/how_region_versioning_works_wan.html.md.erb
index 0ce2f04..275d496 100644
--- a/geode-docs/developing/distributed_regions/how_region_versioning_works_wan.html.md.erb
+++ b/geode-docs/developing/distributed_regions/how_region_versioning_works_wan.html.md.erb
@@ -2,6 +2,23 @@
 title:  How Consistency Is Achieved in WAN Deployments
 ---
 
+<!--
+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.
+-->
+
 When two or more Geode systems are configured to distribute events over a WAN, each system performs local consistency checking before it distributes an event to a configured gateway sender. Discarded events are not distributed across the WAN.
 
 Regions can also be configured to distribute updates to other Geode clusters over a WAN. With a distributed WAN configuration, multiple gateway senders asynchronously queue and send region updates to another Geode cluster. It is possible for multiple sites to send updates to the same region entry at the same time. It is also possible that, due to a slow WAN connection, a cluster might receive region updates after a considerable delay, and after it has applied more recent updates to a region. To ensure that WAN-replicated regions eventually reach a consistent state, Geode first ensures that each cluster performs consistency checking to regions before queuing updates to a gateway sender for WAN distribution. In order words, region conflicts are first detected and resolved in the local cluster, using the techniques described in the previous sections.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/distributed_regions/how_replication_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/distributed_regions/how_replication_works.html.md.erb b/geode-docs/developing/distributed_regions/how_replication_works.html.md.erb
index 73bc5e1..6d2ccc5 100644
--- a/geode-docs/developing/distributed_regions/how_replication_works.html.md.erb
+++ b/geode-docs/developing/distributed_regions/how_replication_works.html.md.erb
@@ -2,6 +2,23 @@
 title:  How Replication and Preloading Work
 ---
 
+<!--
+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.
+-->
+
 To work with replicated and preloaded regions, you should understand how their data is initialized and maintained in the cache.
 
 <a id="how_replication_works__section_C75BB463A0584491ABD982A55E5A050F"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/distributed_regions/locking_in_global_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/distributed_regions/locking_in_global_regions.html.md.erb b/geode-docs/developing/distributed_regions/locking_in_global_regions.html.md.erb
index 6a6e030..2dc0c8a 100644
--- a/geode-docs/developing/distributed_regions/locking_in_global_regions.html.md.erb
+++ b/geode-docs/developing/distributed_regions/locking_in_global_regions.html.md.erb
@@ -2,6 +2,23 @@
 title:  Locking in Global Regions
 ---
 
+<!--
+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.
+-->
+
 In global regions, the system locks entries and the region during updates. You can also explicitly lock the region and its entries as needed by your application. Locking includes system settings that help you optimize performance and locking behavior between your members.
 
 <a id="locking_in_global_regions__section_065B3A57CCCA4F17821D170A312B6675"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/distributed_regions/managing_distributed_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/distributed_regions/managing_distributed_regions.html.md.erb b/geode-docs/developing/distributed_regions/managing_distributed_regions.html.md.erb
index f36d8ca..7d4cf37 100644
--- a/geode-docs/developing/distributed_regions/managing_distributed_regions.html.md.erb
+++ b/geode-docs/developing/distributed_regions/managing_distributed_regions.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configure Distributed, Replicated, and Preloaded Regions
 ---
 
+<!--
+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.
+-->
+
 Plan the configuration and ongoing management of your distributed, replicated, and preloaded regions, and configure the regions.
 
 <a id="configure_distributed_region__section_11E9E1B3EB5845D9A4FB226A992B8D0D"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/distributed_regions/region_entry_versions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/distributed_regions/region_entry_versions.html.md.erb b/geode-docs/developing/distributed_regions/region_entry_versions.html.md.erb
index 1781fc7..9aa8dde 100644
--- a/geode-docs/developing/distributed_regions/region_entry_versions.html.md.erb
+++ b/geode-docs/developing/distributed_regions/region_entry_versions.html.md.erb
@@ -2,6 +2,23 @@
 title: Consistency for Region Updates
 ---
 
+<!--
+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="topic_CF2798D3E12647F182C2CEC4A46E2045"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/cache_event_handler_examples.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/cache_event_handler_examples.html.md.erb b/geode-docs/developing/events/cache_event_handler_examples.html.md.erb
index 858003d..85ccf46 100644
--- a/geode-docs/developing/events/cache_event_handler_examples.html.md.erb
+++ b/geode-docs/developing/events/cache_event_handler_examples.html.md.erb
@@ -2,6 +2,23 @@
 title:  Cache Event Handler Examples
 ---
 
+<!--
+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.
+-->
+
 Some examples of cache event handlers.
 
 ## <a id="cache_event_handler_examples__section_F2790678E9DE4A81B73A4B6346CB210B" class="no-quick-link"></a>Declaring and Loading an Event Handler with Parameters

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/chapter_overview.html.md.erb b/geode-docs/developing/events/chapter_overview.html.md.erb
index 52e1905..f5b46f4 100644
--- a/geode-docs/developing/events/chapter_overview.html.md.erb
+++ b/geode-docs/developing/events/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Events and Event Handling
 ---
 
+<!--
+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.
+-->
+
 Geode provides versatile and reliable event distribution and handling for your cached data and system member events.
 
 -   **[How Events Work](../../developing/events/how_events_work.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/configure_client_server_event_messaging.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/configure_client_server_event_messaging.html.md.erb b/geode-docs/developing/events/configure_client_server_event_messaging.html.md.erb
index 2d6185e..ebd4a3a 100644
--- a/geode-docs/developing/events/configure_client_server_event_messaging.html.md.erb
+++ b/geode-docs/developing/events/configure_client_server_event_messaging.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configuring Client/Server Event Messaging
 ---
 
+<!--
+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.
+-->
+
 You can receive events from your servers for server-side cache events and query result changes.
 
 <a id="receiving_events_from_servers__section_F21FB253CCC244708CB953B6D5866A91"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/configure_multisite_event_messaging.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/configure_multisite_event_messaging.html.md.erb b/geode-docs/developing/events/configure_multisite_event_messaging.html.md.erb
index 6bd1e8b..5756652 100644
--- a/geode-docs/developing/events/configure_multisite_event_messaging.html.md.erb
+++ b/geode-docs/developing/events/configure_multisite_event_messaging.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configuring Multi-Site (WAN) Event Queues
 ---
 
+<!--
+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.
+-->
+
 In a multi-site (WAN) installation, Geode uses gateway sender queues to distribute events for regions that are configured with a gateway sender. AsyncEventListeners also use an asynchronous event queue to distribute events for configured regions. This section describes additional options for configuring the event queues that are used by gateway senders or AsyncEventListener implementations.
 
 <a id="configure_multisite_event_messaging__section_1BBF77E166E84F7CA110385FD03D8453"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/configure_p2p_event_messaging.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/configure_p2p_event_messaging.html.md.erb b/geode-docs/developing/events/configure_p2p_event_messaging.html.md.erb
index 73c7d74..a733ce7 100644
--- a/geode-docs/developing/events/configure_p2p_event_messaging.html.md.erb
+++ b/geode-docs/developing/events/configure_p2p_event_messaging.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configuring Peer-to-Peer Event Messaging
 ---
 
+<!--
+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.
+-->
+
 You can receive events from distributed system peers for any region that is not a local region. Local regions receive only local cache events.
 
 <a id="configuring_event_distribution__section_7D5B1F0C0EF24E58BB3C335CB4EA9A3C"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/configuring_gateway_concurrency_levels.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/configuring_gateway_concurrency_levels.html.md.erb b/geode-docs/developing/events/configuring_gateway_concurrency_levels.html.md.erb
index 5d001c3..e59d3b4 100644
--- a/geode-docs/developing/events/configuring_gateway_concurrency_levels.html.md.erb
+++ b/geode-docs/developing/events/configuring_gateway_concurrency_levels.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configuring Dispatcher Threads and Order Policy for Event Distribution
 ---
 
+<!--
+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.
+-->
+
 By default, Geode uses multiple dispatcher threads to process region events simultaneously in a gateway sender queue for distribution between sites, or in an asynchronous event queue for distributing events for write-behind caching. With serial queues, you can also configure the ordering policy for dispatching those events.
 
 By default, a gateway sender queue or asynchronous event queue uses 5 dispatcher threads per queue. This provides support for applications that have the ability to process queued events concurrently for distribution to another Geode site or listener. If your application does not require concurrent distribution, or if you do not have enough resources to support the requirements of multiple dispatcher threads, then you can configure a single dispatcher thread to process a queue.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/configuring_highly_available_gateway_queues.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/configuring_highly_available_gateway_queues.html.md.erb b/geode-docs/developing/events/configuring_highly_available_gateway_queues.html.md.erb
index a674a45..28339e2 100644
--- a/geode-docs/developing/events/configuring_highly_available_gateway_queues.html.md.erb
+++ b/geode-docs/developing/events/configuring_highly_available_gateway_queues.html.md.erb
@@ -2,6 +2,23 @@
 title:  Persisting an Event Queue
 ---
 
+<!--
+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.
+-->
+
 You can configure a gateway sender queue or an asynchronous event queue to persist data to disk similar to the way in which replicated regions are persisted.
 
 <a id="configuring_highly_available_gateway_queues__section_7EB2A7E38B074AAAA06D22C59687CB8A"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/configuring_highly_available_servers.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/configuring_highly_available_servers.html.md.erb b/geode-docs/developing/events/configuring_highly_available_servers.html.md.erb
index 3b80d96..48cd174 100644
--- a/geode-docs/developing/events/configuring_highly_available_servers.html.md.erb
+++ b/geode-docs/developing/events/configuring_highly_available_servers.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configuring Highly Available Servers
 ---
 
+<!--
+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="configuring_highly_available_servers__section_7EB2A7E38B074AAAA06D22C59687CB8A"></a>
 With highly-available servers, one of the backups steps in and takes over messaging with no interruption in service if the client's primary server crashes.
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/conflate_multisite_gateway_queue.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/conflate_multisite_gateway_queue.html.md.erb b/geode-docs/developing/events/conflate_multisite_gateway_queue.html.md.erb
index e2e7ff1..3088ac3 100644
--- a/geode-docs/developing/events/conflate_multisite_gateway_queue.html.md.erb
+++ b/geode-docs/developing/events/conflate_multisite_gateway_queue.html.md.erb
@@ -2,6 +2,23 @@
 title:  Conflating Events in a Queue
 ---
 
+<!--
+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.
+-->
+
 Conflating a queue improves distribution performance. When conflation is enabled, only the latest queued value is sent for a particular key.
 
 <a id="conflate_multisite_gateway_queue__section_294AD2E2328E4D6B8D6A73966F7B3B14"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/conflate_server_subscription_queue.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/conflate_server_subscription_queue.html.md.erb b/geode-docs/developing/events/conflate_server_subscription_queue.html.md.erb
index f6d4990..8a16a64 100644
--- a/geode-docs/developing/events/conflate_server_subscription_queue.html.md.erb
+++ b/geode-docs/developing/events/conflate_server_subscription_queue.html.md.erb
@@ -2,6 +2,23 @@
 title:  Conflate the Server Subscription Queue
 ---
 
+<!--
+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="conflate_the_server_subscription_queue__section_1791DFB89502480EB57F81D16AC0EBAC"></a>
 Conflating the server subscription queue can save space in the server and time in message processing.
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/event_handler_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/event_handler_overview.html.md.erb b/geode-docs/developing/events/event_handler_overview.html.md.erb
index c020e3a..22a053f 100644
--- a/geode-docs/developing/events/event_handler_overview.html.md.erb
+++ b/geode-docs/developing/events/event_handler_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Implementing Geode Event Handlers
 ---
 
+<!--
+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.
+-->
+
 You can specify event handlers for region and region entry operations and for administrative events.
 
 -   **[Implementing Cache Event Handlers](implementing_cache_event_handlers.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/filtering_multisite_events.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/filtering_multisite_events.html.md.erb b/geode-docs/developing/events/filtering_multisite_events.html.md.erb
index a46d18e..505cd9c 100644
--- a/geode-docs/developing/events/filtering_multisite_events.html.md.erb
+++ b/geode-docs/developing/events/filtering_multisite_events.html.md.erb
@@ -2,6 +2,23 @@
 title:  Filtering Events for Multi-Site (WAN) Distribution
 ---
 
+<!--
+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.
+-->
+
 You can optionally create gateway sender and/or gateway receiver filters to control which events are queued and distributed to a remote site, or to modify the data stream that is transmitted between Geode sites.
 
 You can implement and deploy two different types of filter for multi-site events:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/ha_event_messaging_whats_next.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/ha_event_messaging_whats_next.html.md.erb b/geode-docs/developing/events/ha_event_messaging_whats_next.html.md.erb
index f61aba6..40077ea 100644
--- a/geode-docs/developing/events/ha_event_messaging_whats_next.html.md.erb
+++ b/geode-docs/developing/events/ha_event_messaging_whats_next.html.md.erb
@@ -2,6 +2,23 @@
 title:  Highly Available Client/Server Event Messaging
 ---
 
+<!--
+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="ha_event_messaging_whats_next__section_F163917311E8478399D1DD273E8BCDF5"></a>
 With server redundancy, each pool has a primary server and some number of secondaries. The primaries and secondaries are assigned on a per-pool basis and are generally spread out for load balancing, so a single client with multiple pools may have primary queues in more than one server.
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/how_cache_events_work.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/how_cache_events_work.html.md.erb b/geode-docs/developing/events/how_cache_events_work.html.md.erb
index a0fa79e..e54371a 100644
--- a/geode-docs/developing/events/how_cache_events_work.html.md.erb
+++ b/geode-docs/developing/events/how_cache_events_work.html.md.erb
@@ -2,6 +2,23 @@
 title:  Peer-to-Peer Event Distribution
 ---
 
+<!--
+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.
+-->
+
 When a region or entry operation is performed, Geode distributes the associated events in the distributed system according to system and cache configurations.
 
 <a id="how_cache_events_work__section_7864A275FDB549FD8E2D046DD59CB9F4"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/how_client_server_distribution_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/how_client_server_distribution_works.html.md.erb b/geode-docs/developing/events/how_client_server_distribution_works.html.md.erb
index 869adf0..be7e4f2 100644
--- a/geode-docs/developing/events/how_client_server_distribution_works.html.md.erb
+++ b/geode-docs/developing/events/how_client_server_distribution_works.html.md.erb
@@ -2,6 +2,23 @@
 title:  Client-to-Server Event Distribution
 ---
 
+<!--
+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.
+-->
+
 Clients and servers distribute events according to client activities and according to interest registered by the client in server-side cache changes.
 
 <a id="how_client_server_distribution_works__section_F1070B06B3344D1CA7309934FCE097B9"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/how_events_work.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/how_events_work.html.md.erb b/geode-docs/developing/events/how_events_work.html.md.erb
index 4553582..2ac899a 100644
--- a/geode-docs/developing/events/how_events_work.html.md.erb
+++ b/geode-docs/developing/events/how_events_work.html.md.erb
@@ -2,6 +2,23 @@
 title:  How Events Work
 ---
 
+<!--
+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.
+-->
+
 Members in your Geode distributed system receive cache updates from other members through cache events. The other members can be peers to the member, clients or servers or other distributed systems.
 
 ## <a id="how_events_work__section_6C75098DDBB84944ADE57F2088330D5A" class="no-quick-link"></a>Events Features

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/how_multisite_distribution_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/how_multisite_distribution_works.html.md.erb b/geode-docs/developing/events/how_multisite_distribution_works.html.md.erb
index c43d850..7678e7a 100644
--- a/geode-docs/developing/events/how_multisite_distribution_works.html.md.erb
+++ b/geode-docs/developing/events/how_multisite_distribution_works.html.md.erb
@@ -2,6 +2,23 @@
 title:  Multi-Site (WAN) Event Distribution
 ---
 
+<!--
+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.
+-->
+
 Geode distributes a subset of cache events between distributed systems, with a minimum impact on each system's performance. Events are distributed only for regions that you configure to use a gateway sender for distribution.
 
 ## <a id="how_multisite_distribution_works__section_A16562611E094C88B12BC149D5EEEEBA" class="no-quick-link"></a>Queuing Events for Distribution

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/implementing_cache_event_handlers.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/implementing_cache_event_handlers.html.md.erb b/geode-docs/developing/events/implementing_cache_event_handlers.html.md.erb
index 583fcdc..0e639e7 100644
--- a/geode-docs/developing/events/implementing_cache_event_handlers.html.md.erb
+++ b/geode-docs/developing/events/implementing_cache_event_handlers.html.md.erb
@@ -2,6 +2,23 @@
 title:  Implementing Cache Event Handlers
 ---
 
+<!--
+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.
+-->
+
 Depending on your installation and configuration, cache events can come from local operations, peers, servers, and remote sites. Event handlers register their interest in one or more events and are notified when the events occur.
 
 <a id="implementing_cache_event_handlers__section_9286E8C6B3C54089888E1680B4F43692"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/implementing_durable_client_server_messaging.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/implementing_durable_client_server_messaging.html.md.erb b/geode-docs/developing/events/implementing_durable_client_server_messaging.html.md.erb
index d60f55a..150a79d 100644
--- a/geode-docs/developing/events/implementing_durable_client_server_messaging.html.md.erb
+++ b/geode-docs/developing/events/implementing_durable_client_server_messaging.html.md.erb
@@ -2,6 +2,23 @@
 title:  Implementing Durable Client/Server Messaging
 ---
 
+<!--
+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="implementing_durable_client_server_messaging__section_7A0D0B7D1F2748C7BA7479E0FD5C6BFA"></a>
 Use durable messaging for subscriptions that you need maintained for your clients even when your clients are down or disconnected. You can configure any of your event subscriptions as durable. Events for durable queries and subscriptions are saved in queue when the client is disconnected and played back when the client reconnects. Other queries and subscriptions are removed from the queue.
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/implementing_write_behind_event_handler.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/implementing_write_behind_event_handler.html.md.erb b/geode-docs/developing/events/implementing_write_behind_event_handler.html.md.erb
index 908b0f5..54cf174 100644
--- a/geode-docs/developing/events/implementing_write_behind_event_handler.html.md.erb
+++ b/geode-docs/developing/events/implementing_write_behind_event_handler.html.md.erb
@@ -2,6 +2,23 @@
 title:  Implementing an AsyncEventListener for Write-Behind Cache Event Handling
 ---
 
+<!--
+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.
+-->
+
 An `AsyncEventListener` asynchronously processes batches of events after they have been applied to a region. You can use an `AsyncEventListener` implementation as a write-behind cache event handler to synchronize region updates with a database.
 
 ## <a id="implementing_write_behind_cache_event_handling__section_35B3ADC77E1147468A568E49C8C308E1" class="no-quick-link"></a>How an AsyncEventListener Works

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/limit_server_subscription_queue_size.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/limit_server_subscription_queue_size.html.md.erb b/geode-docs/developing/events/limit_server_subscription_queue_size.html.md.erb
index ff571b2..a3d6682 100644
--- a/geode-docs/developing/events/limit_server_subscription_queue_size.html.md.erb
+++ b/geode-docs/developing/events/limit_server_subscription_queue_size.html.md.erb
@@ -2,6 +2,23 @@
 title:  Limit the Server's Subscription Queue Memory Use
 ---
 
+<!--
+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="limit_server_subscription_queue_size__section_1791DFB89502480EB57F81D16AC0EBAC"></a>
 These are options for limiting the amount of server memory the subscription queues consume.
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/list_of_event_handlers_and_events.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/list_of_event_handlers_and_events.html.md.erb b/geode-docs/developing/events/list_of_event_handlers_and_events.html.md.erb
index 5f63db1..cda18ee 100644
--- a/geode-docs/developing/events/list_of_event_handlers_and_events.html.md.erb
+++ b/geode-docs/developing/events/list_of_event_handlers_and_events.html.md.erb
@@ -2,6 +2,23 @@
 title:  List of Event Handlers and Events
 ---
 
+<!--
+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.
+-->
+
 Geode provides many types of events and event handlers to help you manage your different data and application needs.
 
 ## <a id="event_handlers_and_events__section_E7B7502F673B43E794884D0F6BF537CF" class="no-quick-link"></a>Event Handlers

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/resolving_multisite_conflicts.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/resolving_multisite_conflicts.html.md.erb b/geode-docs/developing/events/resolving_multisite_conflicts.html.md.erb
index 31fe7a3..259c319 100644
--- a/geode-docs/developing/events/resolving_multisite_conflicts.html.md.erb
+++ b/geode-docs/developing/events/resolving_multisite_conflicts.html.md.erb
@@ -2,6 +2,23 @@
 title:  Resolving Conflicting Events
 ---
 
+<!--
+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.
+-->
+
 You can optionally create a `GatewayConflictResolver` cache plug-in to decide whether a potentially conflicting event that was delivered from another site should be applied to the local cache.
 
 By default, all regions perform consistency checks when a member applies an update received either from another cluster member or from a remote cluster over the WAN. The default consistency checking for WAN events is described in [How Consistency Is Achieved in WAN Deployments](../distributed_regions/how_region_versioning_works_wan.html#topic_fpy_z3h_j5).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/tune_client_message_tracking_timeout.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/tune_client_message_tracking_timeout.html.md.erb b/geode-docs/developing/events/tune_client_message_tracking_timeout.html.md.erb
index 0874bb7..4eaf852 100644
--- a/geode-docs/developing/events/tune_client_message_tracking_timeout.html.md.erb
+++ b/geode-docs/developing/events/tune_client_message_tracking_timeout.html.md.erb
@@ -2,6 +2,23 @@
 title:  Tune the Client's Subscription Message Tracking Timeout
 ---
 
+<!--
+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="tune_client_message_tracking_timeout__section_C655A41D47694BDC9164E5D83C23FA7C"></a>
 If the client pool's `subscription-message-tracking-timeout` is set too low, your client will discard tracking records for live threads, increasing the likelihood of processing duplicate events from those threads.
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/tune_client_server_event_messaging.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/tune_client_server_event_messaging.html.md.erb b/geode-docs/developing/events/tune_client_server_event_messaging.html.md.erb
index 59206bc..db43ed5 100644
--- a/geode-docs/developing/events/tune_client_server_event_messaging.html.md.erb
+++ b/geode-docs/developing/events/tune_client_server_event_messaging.html.md.erb
@@ -2,6 +2,23 @@
 title:  Tuning Client/Server Event Messaging
 ---
 
+<!--
+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="client_server_event_messaging__section_0894E034A285456EA01D5903248F9B3B"></a>
 The server uses an asynchronous messaging queue to send events to its clients. Every event in the queue originates in an operation performed by a thread in a client, a server, or an application in the server\u2019s or some other distributed system. The event message has a unique identifier composed of the originating thread\u2019s ID combined with its member\u2019s distributed system member ID, and the sequential ID of the operation. So the event messages originating in any single thread can be grouped and ordered by time from lowest sequence ID to highest. Servers and clients track the highest sequential ID for each member thread ID.
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/events/writing_callbacks_that_modify_the_cache.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/writing_callbacks_that_modify_the_cache.html.md.erb b/geode-docs/developing/events/writing_callbacks_that_modify_the_cache.html.md.erb
index 299fd87..7b201bc 100644
--- a/geode-docs/developing/events/writing_callbacks_that_modify_the_cache.html.md.erb
+++ b/geode-docs/developing/events/writing_callbacks_that_modify_the_cache.html.md.erb
@@ -2,6 +2,23 @@
 title:  How to Safely Modify the Cache from an Event Handler Callback
 ---
 
+<!--
+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.
+-->
+
 Event handlers are synchronous. If you need to change the cache or perform any other distributed operation from event handler callbacks, be careful to avoid activities that might block and affect your overall system performance.
 
 ## <a id="writing_callbacks_that_modify_the_cache__section_98E49363C91945DEB0A3B2FD9A209969" class="no-quick-link"></a>Operations to Avoid in Event Handlers

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/eviction/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/eviction/chapter_overview.html.md.erb b/geode-docs/developing/eviction/chapter_overview.html.md.erb
index 4920294..c5d1417 100644
--- a/geode-docs/developing/eviction/chapter_overview.html.md.erb
+++ b/geode-docs/developing/eviction/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Eviction
 ---
 
+<!--
+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.
+-->
+
 Use eviction to control data region size.
 
 <a id="eviction__section_C3409270DD794822B15E819E2276B21A"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/eviction/configuring_data_eviction.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/eviction/configuring_data_eviction.html.md.erb b/geode-docs/developing/eviction/configuring_data_eviction.html.md.erb
index 42f3dbd..6c22284 100644
--- a/geode-docs/developing/eviction/configuring_data_eviction.html.md.erb
+++ b/geode-docs/developing/eviction/configuring_data_eviction.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configure Data Eviction
 ---
 
+<!--
+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.
+-->
+
 Use eviction controllers to configure the eviction-attributes region attribute settings to keep your region within a specified limit.
 
 <a id="configuring_data_eviction__section_8515EC9635C342C0916EE9E6120E2AC9"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/eviction/how_eviction_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/eviction/how_eviction_works.html.md.erb b/geode-docs/developing/eviction/how_eviction_works.html.md.erb
index 01d87d6..ee702ea 100644
--- a/geode-docs/developing/eviction/how_eviction_works.html.md.erb
+++ b/geode-docs/developing/eviction/how_eviction_works.html.md.erb
@@ -2,6 +2,23 @@
 title:  How Eviction Works
 ---
 
+<!--
+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.
+-->
+
 Eviction settings cause Apache Geode to work to keep a region's resource use under a specified level by removing least recently used (LRU) entries to make way for new entries.
 
 <a id="how_eviction_works__section_C3409270DD794822B15E819E2276B21A"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/expiration/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/expiration/chapter_overview.html.md.erb b/geode-docs/developing/expiration/chapter_overview.html.md.erb
index 31ad4b2..546af32 100644
--- a/geode-docs/developing/expiration/chapter_overview.html.md.erb
+++ b/geode-docs/developing/expiration/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Expiration
 ---
 
+<!--
+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.
+-->
+
 Use expiration to keep data current by removing stale entries. You can also use it to remove entries you are not using so your region uses less space. Expired entries are reloaded the next time they are requested.
 
 -   **[How Expiration Works](../../developing/expiration/how_expiration_works.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/expiration/configuring_data_expiration.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/expiration/configuring_data_expiration.html.md.erb b/geode-docs/developing/expiration/configuring_data_expiration.html.md.erb
index 0fae74a..74c1e48 100644
--- a/geode-docs/developing/expiration/configuring_data_expiration.html.md.erb
+++ b/geode-docs/developing/expiration/configuring_data_expiration.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configure Data Expiration
 ---
 
+<!--
+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.
+-->
+
 Configure the type of expiration and the expiration action to use.
 
 <a id="configuring_data_expiration__section_ADB8302125624E01A808EA5E4FF79A5C"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/expiration/how_expiration_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/expiration/how_expiration_works.html.md.erb b/geode-docs/developing/expiration/how_expiration_works.html.md.erb
index 5c3be02..4ec5015 100644
--- a/geode-docs/developing/expiration/how_expiration_works.html.md.erb
+++ b/geode-docs/developing/expiration/how_expiration_works.html.md.erb
@@ -2,6 +2,23 @@
 title:  How Expiration Works
 ---
 
+<!--
+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.
+-->
+
 Expiration removes old entries and entries that you are not using. You can destroy or invalidate entries.
 
 <a id="how_expiration_works__section_94FDBB821CDE49C48A0EFA6ED4DE194F"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/function_exec/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/function_exec/chapter_overview.html.md.erb b/geode-docs/developing/function_exec/chapter_overview.html.md.erb
index ead23a9..c85e9c8 100644
--- a/geode-docs/developing/function_exec/chapter_overview.html.md.erb
+++ b/geode-docs/developing/function_exec/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Function Execution
 ---
 
+<!--
+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 function is a body of code that resides on a server and that an application can invoke from a client or from another server without the need to send the function code itself. The caller can direct a data-dependent function to operate on a particular dataset, or can direct a data-independent function to operate on a particular server, member, or member group.
 
 <a id="function_exec__section_CBD5B04ACC554029B5C710CE8E244FEA">The function execution service provides solutions for a variety of use cases, including:</a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/function_exec/function_execution.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/function_exec/function_execution.html.md.erb b/geode-docs/developing/function_exec/function_execution.html.md.erb
index 70fb1a3..4d5e0b8 100644
--- a/geode-docs/developing/function_exec/function_execution.html.md.erb
+++ b/geode-docs/developing/function_exec/function_execution.html.md.erb
@@ -2,6 +2,23 @@
 title:  Executing a Function in Apache Geode
 ---
 
+<!--
+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="function_execution__section_BE483D79B81C49EE9855F506ED5AB014"></a>
 In this procedure it is assumed that you have your members and regions defined where you want to run functions.
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/function_exec/how_function_execution_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/function_exec/how_function_execution_works.html.md.erb b/geode-docs/developing/function_exec/how_function_execution_works.html.md.erb
index 19959e8..a72045f 100644
--- a/geode-docs/developing/function_exec/how_function_execution_works.html.md.erb
+++ b/geode-docs/developing/function_exec/how_function_execution_works.html.md.erb
@@ -2,6 +2,23 @@
 title:  How Function Execution Works
 ---
 
+<!--
+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="how_function_execution_works__section_881D2FF6761B4D689DDB46C650E2A2E1" class="no-quick-link"></a>Where Functions Are Executed
 
 You can execute data-independent functions or data-dependent functions in Geode in the following places:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/management_all_region_types/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/management_all_region_types/chapter_overview.html.md.erb b/geode-docs/developing/management_all_region_types/chapter_overview.html.md.erb
index dc44e87..ea43679 100644
--- a/geode-docs/developing/management_all_region_types/chapter_overview.html.md.erb
+++ b/geode-docs/developing/management_all_region_types/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  General Region Data Management
 ---
 
+<!--
+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.
+-->
+
 For all regions, you have options to control memory use, back up your data to disk, and keep stale data out of your cache.
 
 -   **[Persistence and Overflow](../../developing/storing_data_on_disk/chapter_overview.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/outside_data_sources/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/outside_data_sources/chapter_overview.html.md.erb b/geode-docs/developing/outside_data_sources/chapter_overview.html.md.erb
index fc4f5ac..a008ede 100644
--- a/geode-docs/developing/outside_data_sources/chapter_overview.html.md.erb
+++ b/geode-docs/developing/outside_data_sources/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Overview of Outside Data Sources
 ---
 
+<!--
+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.
+-->
+
 Apache Geode has application plug-ins to read data into the cache and write it out.
 
 <a id="outside_data_sources__section_100B707BB812430E8D9CFDE3BE4698D1"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/outside_data_sources/how_data_loaders_work.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/outside_data_sources/how_data_loaders_work.html.md.erb b/geode-docs/developing/outside_data_sources/how_data_loaders_work.html.md.erb
index dd39ec8..4f309a0 100644
--- a/geode-docs/developing/outside_data_sources/how_data_loaders_work.html.md.erb
+++ b/geode-docs/developing/outside_data_sources/how_data_loaders_work.html.md.erb
@@ -2,6 +2,23 @@
 title:  How Data Loaders Work
 ---
 
+<!--
+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.
+-->
+
 By default, a region has no data loader defined. Plug an application-defined loader into any region by setting the region attribute cache-loader on the members that host data for the region.
 
 <a id="how_data_loaders_work__section_1E600469D223498DB49446434CE9B0B4"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/outside_data_sources/implementing_data_loaders.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/outside_data_sources/implementing_data_loaders.html.md.erb b/geode-docs/developing/outside_data_sources/implementing_data_loaders.html.md.erb
index 2b65b44..7c20fbd 100644
--- a/geode-docs/developing/outside_data_sources/implementing_data_loaders.html.md.erb
+++ b/geode-docs/developing/outside_data_sources/implementing_data_loaders.html.md.erb
@@ -2,6 +2,23 @@
 title:  Implement a Data Loader
 ---
 
+<!--
+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.
+-->
+
 To program a data loader and configure your region to use it:
 
 1. Program your loader.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/outside_data_sources/sync_outside_data.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/outside_data_sources/sync_outside_data.html.md.erb b/geode-docs/developing/outside_data_sources/sync_outside_data.html.md.erb
index 54e4f48..728b664 100644
--- a/geode-docs/developing/outside_data_sources/sync_outside_data.html.md.erb
+++ b/geode-docs/developing/outside_data_sources/sync_outside_data.html.md.erb
@@ -2,6 +2,23 @@
 title:  Keeping the Cache in Sync with Outside Data Sources
 ---
 
+<!--
+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.
+-->
+
 Keep your distributed cache in sync with an outside data source by programming and installing application plug-ins for your region.
 
 -   **[Overview of Outside Data Sources](../../developing/outside_data_sources/chapter_overview.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/partitioned_regions/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/chapter_overview.html.md.erb b/geode-docs/developing/partitioned_regions/chapter_overview.html.md.erb
index 56e65e1..c92921b 100644
--- a/geode-docs/developing/partitioned_regions/chapter_overview.html.md.erb
+++ b/geode-docs/developing/partitioned_regions/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Partitioned Regions
 ---
 
+<!--
+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.
+-->
+
 In addition to basic region management, partitioned regions include options for high availability, data location control, and data balancing across the distributed system.
 
 -   **[Understanding Partitioning](../../developing/partitioned_regions/how_partitioning_works.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/partitioned_regions/checking_region_redundancy.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/checking_region_redundancy.html.md.erb b/geode-docs/developing/partitioned_regions/checking_region_redundancy.html.md.erb
index a35de98..1e57742 100644
--- a/geode-docs/developing/partitioned_regions/checking_region_redundancy.html.md.erb
+++ b/geode-docs/developing/partitioned_regions/checking_region_redundancy.html.md.erb
@@ -2,6 +2,23 @@
 title:  Checking Redundancy in Partitioned Regions
 ---
 
+<!--
+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.
+-->
+
 Under some circumstances, it can be important to verify that your partitioned region data is redundant and that upon member restart, redundancy has been recovered properly across partitioned region members.
 
 You can verify partitioned region redundancy by making sure that the `numBucketsWithoutRedundancy` statistic is **zero** for all your partitioned regions. To check this statistic, use the following `gfsh` command:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/partitioned_regions/colocating_partitioned_region_data.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/colocating_partitioned_region_data.html.md.erb b/geode-docs/developing/partitioned_regions/colocating_partitioned_region_data.html.md.erb
index f8f13a6..c20e30e 100644
--- a/geode-docs/developing/partitioned_regions/colocating_partitioned_region_data.html.md.erb
+++ b/geode-docs/developing/partitioned_regions/colocating_partitioned_region_data.html.md.erb
@@ -2,6 +2,23 @@
 title:  Colocate Data from Different Partitioned Regions
 ---
 
+<!--
+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.
+-->
+
 By default, Geode allocates the data locations for a partitioned region independent of the data locations for any other partitioned region. You can change this policy for any group of partitioned regions, so that cross-region, related data is all hosted by the same member. This colocation speeds queries and other operations that access data from the regions.
 
 <a id="colocating_partitioned_region_data__section_131EC040055E48A6B35E981B5C845A65"></a>



[35/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/data_serialization/extending_the_autoserializer.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/extending_the_autoserializer.html.md.erb b/geode-docs/developing/data_serialization/extending_the_autoserializer.html.md.erb
new file mode 100644
index 0000000..35cbe66
--- /dev/null
+++ b/geode-docs/developing/data_serialization/extending_the_autoserializer.html.md.erb
@@ -0,0 +1,106 @@
+---
+title:  Extending the ReflectionBasedAutoSerializer
+---
+
+You can extend the `ReflectionBasedAutoSerializer` to handle serialization in a customized manner. This section provides an overview of the available method-based customization options and an example of extending the serializer to support BigDecimal and BigInteger types.
+
+## <a id="concept_9E020566EE794A81A48A90BA798EC279__section_378C0C68A1B342DD9D754DDBDC4874B3" class="no-quick-link"></a>Reasons to Extend the ReflectionBasedAutoSerializer
+
+One of the main use cases for extending the `ReflectionBasedAutoSerializer` is that you want it to handle an object that would currently need to be handled by standard Java serialization. There are several issues with having to use standard Java serialization that can be addressed by extending the PDX `ReflectionBasedAutoSerializer`.
+
+-   Each time we transition from a Geode serialized object to an object that will be Java I/O serialized, extra data must get serialized. This can cause a great deal of serialization overhead. This is why it is worth extending the `ReflectionBasedAutoSerializer` to handle any classes that normally would have to be Java I/O serialized.
+-   Expanding the number of classes that can use the `ReflectionBasedAutoSerializer` is beneficial when you encounter object graphs. After we use Java I/O serialization on an object, any objects under that object in the object graph will also have to be Java I/O serialized. This includes objects that normally would have been serialized using PDX or `DataSerializable`.
+-   If standard Java I/O serialization is done on an object and you have enabled check-portability, then an exception will be thrown. Even if you are not concerned with the object's portability, you can use this flag to find out what classes would use standard Java serialization (by getting an exception on them) and then enhancing your auto serializer to handle them.
+
+## <a id="concept_9E020566EE794A81A48A90BA798EC279__section_A739691C60FB4EB291289AADCD66C675" class="no-quick-link"></a>Overriding ReflectionBasedAutoSerializer Behavior
+
+You can customize the specific behaviors in `ReflectionBasedAutoSerializer` by overriding the following methods:
+
+-   **`isClassAutoSerialized`** customizes which classes to autoserialize.
+-   **`isFieldIncluded`** specifies which fields of a class to autoserialize.
+-   **`getFieldName`** defines the specific field names that will be generated during autoserialization.
+-   **`isIdentifyField`** controls which field is marked as the identity field. Identity fields are used when a PdxInstance computes its hash code to determine whether it is equal to another object.
+-   **`getFieldType`** determines the field type that will be used when autoserializing the given field.
+-   **`transformFieldValue`** controls whether specific field values of a PDX object can be transformed during serialization.
+-   **`writeTransform`** controls what field value is written during auto serialization.
+-   **`readTransform`** controls what field value is read during auto deserialization.
+
+These methods are only called the first time the `ReflectionBasedAutoSerializer` sees a new class. The results will be remembered and used the next time the same class is seen.
+
+For details on these methods and their default behaviors, see the JavaDocs on [ReflectionBasedAutoSerializer](/releases/latest/javadoc/org/apache/geode/pdx/ReflectionBasedAutoSerializer.html) for details.
+
+## <a id="concept_9E020566EE794A81A48A90BA798EC279__section_7C4CC39FD82A48A9B5F8376522078192" class="no-quick-link"></a>Example of Optimizing Autoserialization of BigInteger and BigDecimal Types
+
+This section provides an example of extending the `ReflectionBasedAutoSerializer` to optimize the automatic serialization of BigInteger and BigDecimal types.
+
+The following code sample illustrates a subclass of the `ReflectionBasedAutoSerializer` that optimizes BigInteger and BigDecimal autoserialization:
+
+``` pre
+public static class BigAutoSerializer extends ReflectionBasedAutoSerializer {
+   public BigAutoSerializer(Boolean checkPortability, string\u2026 patterns) {
+    super(checkPortability, patterns);
+}
+
+@Override
+public FieldType get FieldType(Field f, Class<?> clazz) {
+   if (f.getType().equals(BigInteger.class)) {
+        return FieldType.BYTE_ARRAY; 
+      } else if (f.getType().equals(BigDecimal.class)) {
+        return FieldType.STRING; 
+      } else {
+        return super.getFieldType(f, clazz);
+      }
+    }
+@Override
+    public boolean transformFieldValue(Field f, Class<?> clazz) {
+      if (f.getType().equals(BigInteger.class)) {
+        return true;
+      } else if (f.getType().equals(BigDecimal.class)) {
+        return true;
+      } else {
+        return super.transformFieldValue(f, clazz);
+      }
+    }
+
+@Override
+    public Object writeTransform(Field f, Class<?> clazz, Object originalValue) {
+      if (f.getType().equals(BigInteger.class)) {
+        byte[] result = null;
+        if (originalValue != null) {
+          BigInteger bi = (BigInteger)originalValue;
+          result = bi.toByteArray();
+        }
+        return result;
+      } else if (f.getType().equals(BigDecimal.class)) {
+        Object result = null;
+        if (originalValue != null) {
+          BigDecimal bd = (BigDecimal)originalValue;
+          result = bd.toString();
+        }
+        return result;
+      } else {
+        return super.writeTransform(f, clazz, originalValue);
+      }
+    }
+
+@Override
+    public Object readTransform(Field f, Class<?> clazz, Object serializedValue) {
+      if (f.getType().equals(BigInteger.class)) {
+        BigInteger result = null;
+        if (serializedValue != null) {
+          result = new BigInteger((byte[])serializedValue);
+        }
+        return result;
+      } else if (f.getType().equals(BigDecimal.class)) {
+        BigDecimal result = null;
+        if (serializedValue != null) {
+          result = new BigDecimal((String)serializedValue);
+        }
+        return result;
+      } else {
+        return super.readTransform(f, clazz, serializedValue);
+      }
+    }
+    
+  }
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/data_serialization/gemfire_data_serialization.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/gemfire_data_serialization.html.md.erb b/geode-docs/developing/data_serialization/gemfire_data_serialization.html.md.erb
new file mode 100644
index 0000000..58aeb7e
--- /dev/null
+++ b/geode-docs/developing/data_serialization/gemfire_data_serialization.html.md.erb
@@ -0,0 +1,35 @@
+---
+title:  Geode Data Serialization (DataSerializable and DataSerializer)
+---
+
+Geode's `DataSerializable` interface gives you quick serialization of your objects.
+
+## <a id="gemfire_data_serialization__section_0C84D6BF5E9748CB865E6BB944A077DE" class="no-quick-link"></a>Data Serialization with the DataSerializable Interface
+
+Geode's `DataSerializable` interface gives you faster and more compact data serialization than the standard Java serialization or Geode PDX serialization. However, while Geode `DataSerializable` interface is generally more performant than Geode's `PdxSerializable`, it requires full deserialization on the server and then reserialization to send the data back to the client.
+
+You can further speed serialization by registering the instantiator for your `DataSerializable` class through `Instantiator`, eliminating the need for reflection to find the right serializer. You can provide your own serialization through the API.
+
+The recommended way to register your custom `Instantiator` is by specifying it in the `serialization-registration` element of cache.xml.
+
+For more information, see the online Java documentation for `DataSerializable` and `DataSerializer`.
+
+**Example cache.xml:**
+
+The following provides an example of how to register an instantiator using cache.xml.
+
+``` pre
+<serialization-registration>
+<instantiator id="30">
+   <class-name>com.package.MyClass</class-name>
+</instantiator>
+</serialization-registration>
+```
+
+In addition to speeding standard object serialization, you can use the `DataSerializable` interface to serialize any custom objects you store in the cache.
+
+## <a id="gemfire_data_serialization__section_B21408E7090C41B08BF300146F87648B" class="no-quick-link"></a>Serializing Your Domain Object with DataSerializer
+
+You can also use `DataSerializer` to serialize domain objects. It serializes data in the same way as `DataSerializable` but allows you to serialize classes without modifying the domain class code.
+
+See the JavaDocs on [DataSerializable](/releases/latest/javadoc/org/apache/geode/DataSerializable.html) and [DataSerializer](/releases/latest/javadoc/org/apache/geode/DataSerializer.html) for more information.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/data_serialization/gemfire_pdx_serialization.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/gemfire_pdx_serialization.html.md.erb b/geode-docs/developing/data_serialization/gemfire_pdx_serialization.html.md.erb
new file mode 100644
index 0000000..1053618
--- /dev/null
+++ b/geode-docs/developing/data_serialization/gemfire_pdx_serialization.html.md.erb
@@ -0,0 +1,47 @@
+---
+title:  Geode PDX Serialization
+---
+
+Geode's Portable Data eXchange (PDX) is a cross-language data format that can reduce the cost of distributing and serializing your objects. PDX stores data in named fields that you can access individually, to avoid the cost of deserializing the entire data object. PDX also allows you to mix versions of objects where you have added or removed fields.
+
+-   **[Geode PDX Serialization Features](../../developing/data_serialization/PDX_Serialization_Features.html)**
+
+    Geode PDX serialization offers several advantages in terms of functionality.
+
+-   **[High Level Steps for Using PDX Serialization](../../developing/data_serialization/use_pdx_high_level_steps.html)**
+
+    To use PDX serialization, you can configure and use Geode's reflection-based autoserializer, or you can program the serialization of your objects by using the PDX interfaces and classes.
+
+-   **[Using Automatic Reflection-Based PDX Serialization](../../developing/data_serialization/auto_serialization.html)**
+
+    You can configure your cache to automatically serialize and deserialize domain objects without having to add any extra code to them.
+
+-   **[Serializing Your Domain Object with a PdxSerializer](../../developing/data_serialization/use_pdx_serializer.html)**
+
+    For a domain object that you cannot or do not want to modify, use the `PdxSerializer` class to serialize and deserialize the object's fields. You use one `PdxSerializer` implementation for the entire cache, programming it for all of the domain objects that you handle in this way.
+
+-   **[Implementing PdxSerializable in Your Domain Object](../../developing/data_serialization/use_pdx_serializable.html)**
+
+    For a domain object with source that you can modify, implement the `PdxSerializable` interface in the object and use its methods to serialize and deserialize the object's fields.
+
+-   **[Programming Your Application to Use PdxInstances](../../developing/data_serialization/program_application_for_pdx.html)**
+
+    A `PdxInstance` is a light-weight wrapper around PDX serialized bytes. It provides applications with run-time access to fields of a PDX serialized object.
+
+-   **[Adding JSON Documents to the Geode Cache](../../developing/data_serialization/jsonformatter_pdxinstances.html)**
+
+    The `JSONFormatter` API allows you to put JSON formatted documents into regions and retrieve them later by storing the documents internally as PdxInstances.
+
+-   **[Using PdxInstanceFactory to Create PdxInstances](../../developing/data_serialization/using_PdxInstanceFactory.html)**
+
+    You can use the `PdxInstanceFactory` interface to create a `PdxInstance` from raw data when the domain class is not available on the server.
+
+-   **[Persisting PDX Metadata to Disk](../../developing/data_serialization/persist_pdx_metadata_to_disk.html)**
+
+    Geode allows you to persist PDX metadata to disk and specify the disk store to use.
+
+-   **[Using PDX Objects as Region Entry Keys](../../developing/data_serialization/using_pdx_region_entry_keys.html)**
+
+    Using PDX objects as region entry keys is highly discouraged.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/data_serialization/java_serialization.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/java_serialization.html.md.erb b/geode-docs/developing/data_serialization/java_serialization.html.md.erb
new file mode 100644
index 0000000..14b9ea3
--- /dev/null
+++ b/geode-docs/developing/data_serialization/java_serialization.html.md.erb
@@ -0,0 +1,12 @@
+---
+title:  Standard Java Serialization
+---
+
+You can use standard Java serialization for data you only distribute between Java applications. If you distribute your data between non-Java clients and Java servers, you need to do additional programming to get the data between the various class formats.
+
+<a id="java_serialization__section_AD2524E4E3C145D4A2CEB379DD8E9389"></a>
+Standard Java types are serializable by definition. For your domain classes, implement `java.io.Serializable`, then make sure to mark your transient and static variables as needed for your objects. For information, see the online documentation for `java.io.Serializable` for your Java version.
+
+Mixing `DataSerializable` with `Serializable` or `PdxSerializable` use on the same data can result in increased memory use and lower throughput than using just `Serializable` on the entire data, especially if the `Serializable` entries are in collections. The bigger the data collection, the lower the throughput as the metadata for the collection entries is not shared when using `DataSerializable`.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/data_serialization/jsonformatter_pdxinstances.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/jsonformatter_pdxinstances.html.md.erb b/geode-docs/developing/data_serialization/jsonformatter_pdxinstances.html.md.erb
new file mode 100644
index 0000000..59ceb3c
--- /dev/null
+++ b/geode-docs/developing/data_serialization/jsonformatter_pdxinstances.html.md.erb
@@ -0,0 +1,29 @@
+---
+title:  Adding JSON Documents to the Geode Cache
+---
+
+The `JSONFormatter` API allows you to put JSON formatted documents into regions and retrieve them later by storing the documents internally as PdxInstances.
+
+Geode now supports the use of JSON formatted documents natively. When you add a JSON document to a Geode cache, you call the JSONFormatter APIs to transform them into the PDX format (as a `PdxInstance`), which enables Geode to understand the JSON document at a field level.
+
+In terms of querying and indexing, because the documents are stored internally as PDX, applications can index on any field contained inside the JSON document including any nested field (within JSON objects or JSON arrays.) Any queries run on these stored documents will return PdxInstances as results. To update a JSON document stored in Geode , you can execute a function on the PdxInstance.
+
+You can then use the `JSONFormatter` to convert the PdxInstance results back into the JSON document.
+
+`JSONFormatter` uses a streaming parser ([Jackson](http://wiki.fasterxml.com/JacksonHome), JSON processor) to turn JSON documents into the optimized PDX format. To use the JSONFormatter, make sure that `$GEMFIRE/lib/server-dependencies.jar` is available in your application's CLASSPATH.
+
+The `JSONFormatter` class has four static methods that are used to convert JSON document into PdxInstances and then to convert those PdxInstances back into JSON document.
+
+You need to call the following methods before putting any JSON document into the Geode region:
+
+-   `fromJSON`. Creates a PdxInstance from a JSON byte array. Returns the PdxInstance.
+-   `fromJSON`. Creates a PdxInstance from a JSON string. Returns the PdxInstance.
+
+After putting the JSON document into a region as a PdxInstance, you can execute standard Geode queries and create indexes on the JSON document in the same manner you would query or index any other Geode PdxInstance.
+
+After executing a Geode query or calling `region.get`, you can use the following methods to convert a PdxInstance back into the JSON format:
+
+-   `toJSON`. Reads a PdxInstance and returns a JSON string.
+-   `toJSONByteArray`. Reads a PdxInstance and returns a JSON byte array.
+
+For more information on using the JSONFormatter, see the Java API documentation for `org.apache.geode.pdx.JSONFormatter`.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/data_serialization/persist_pdx_metadata_to_disk.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/persist_pdx_metadata_to_disk.html.md.erb b/geode-docs/developing/data_serialization/persist_pdx_metadata_to_disk.html.md.erb
new file mode 100644
index 0000000..37b11fc
--- /dev/null
+++ b/geode-docs/developing/data_serialization/persist_pdx_metadata_to_disk.html.md.erb
@@ -0,0 +1,36 @@
+---
+title:  Persisting PDX Metadata to Disk
+---
+
+Geode allows you to persist PDX metadata to disk and specify the disk store to use.
+
+<a id="persist_pdx_metadata_to_disk__section_7F357A8E56B54BFB9A5778C0F89E034E"></a>
+**Prerequisites**
+
+-   Understand generally how to configure the Geode cache. See [Basic Configuration and Programming](../../basic_config/book_intro.html).
+-   Understand how Geode disk stores work. See [Disk Storage](../../managing/disk_storage/chapter_overview.html).
+
+**Procedure**
+
+1.  Set the `<pdx>` attribute `persistent` to true in your cache configuration. This is required for caches that use PDX with persistent regions and with regions that use a gateway sender to distribute events across a WAN.. Otherwise, it is optional.
+2.  (Optional) If you want to use a disk store that is not the Geode default disk store, set the `<pdx>` attribute `disk-store-name` to the name of your non-default disk store.
+    **Note:**
+    If you are using PDX serialized objects as region entry keys and you are using persistent regions, then you must configure your PDX disk store to be a different one than the disk store used by the persistent regions.
+
+3.  (Optional) If you later want to rename the PDX types that are persisted to disk, you can do so on your offline disk-stores by executing the `pdx                             rename` command. See [pdx rename](../../tools_modules/gfsh/command-pages/pdx.html).
+
+**Example cache.xml:**
+
+This example `cache.xml` enables PDX persistence and sets a non-default disk store in a server cache configuration:
+
+``` pre
+  <pdx read-serialized="true" 
+       persistent="true" disk-store-name="SerializationDiskStore">
+    <pdx-serializer>
+      <class-name>pdxSerialization.defaultSerializer</class-name>
+    </pdx-serializer>
+  </pdx>
+  <region ...
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/data_serialization/program_application_for_pdx.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/program_application_for_pdx.html.md.erb b/geode-docs/developing/data_serialization/program_application_for_pdx.html.md.erb
new file mode 100644
index 0000000..9bfbe12
--- /dev/null
+++ b/geode-docs/developing/data_serialization/program_application_for_pdx.html.md.erb
@@ -0,0 +1,90 @@
+---
+title:  Programming Your Application to Use PdxInstances
+---
+
+A `PdxInstance` is a light-weight wrapper around PDX serialized bytes. It provides applications with run-time access to fields of a PDX serialized object.
+
+<a id="program_application_for_pdx__section_7F357A8E56B54BFB9A5778C0F89E034E"></a>
+You can configure your cache to return a `PdxInstance` when a PDX serialized object is deserialized instead of deserializing the object to a domain class. You can then program your application code that reads your entries to handle `PdxInstance`s fetched from the cache.
+
+**Note:**
+This applies only to entry retrieval that you explicitly code using methods like `EntryEvent.getNewValue` and `Region.get`, as you do inside functions or in cache listener code. This does not apply to querying because the query engine retrieves the entries and handles object access for you.
+
+If you configure your cache to allow PDX serialized reads, a fetch from the cache returns the data in the form it is found. If the object is not serialized, the fetch returns the domain object. If the object is serialized, the fetch returns the `PdxInstance` for the object.
+
+**Note:**
+If you are using `PdxInstance`s, you cannot use delta propagation to apply changes to PDX serialized objects.
+
+For example, in client/server applications that are programmed and configured to handle all data activity from the client, PDX serialized reads done on the server side will always return a `PdxInstance`. This is because all of data is serialized for transfer from the client, and you are not performing any server-side activities that would deserialize the objects in the server cache.
+
+In mixed situations, such as where a server cache is populated from client operations and also from data loads done on the server side, fetches done on the server can return a mix of `PdxInstance`s and domain objects.
+
+When fetching data in a cache with PDX serialized reads enabled, the safest approach is to code to handle both types, receiving an `Object` from the fetch operation, checking the type and casting as appropriate. However, if you know that the class is not available in the JVM, then you can avoid performing the type check.
+
+`PdxInstance` overrides any custom implementation you might have coded for your object's `equals` and `hashcode` methods. Make sure you have marked at least one identity field when writing PDX serialized objects. If you do not set as least one identity field, then the PdxInstance`equals` and `hashCode` methods will use all PDX fields to compare objects and consequently, will not perform as well.
+
+<a id="program_application_for_pdx__section_03F8918B4CAD49CCA1823FAAE25D53A8"></a>
+
+**Prerequisites**
+
+-   Understand generally how to configure the Geode cache. See [Basic Configuration and Programming](../../basic_config/book_intro.html#basic_config_management).
+
+<a id="program_application_for_pdx__section_B3C7C7629DFD4483B32B27F84D64DFCF"></a>
+
+**Procedure**
+
+In your application where you fetch data from the cache, provide the following configuration and code as appropriate:
+
+1.  In the cache.xml file of the member where entry fetches are run, set the `<pdx>` `read-serialized` attribute to true.
+    Data is not necessarily accessed on the member that you have coded for it. For example, if a client application runs a function on a server, the actual data access is done on the server, so you set `read-serialized` to true on the server.
+
+    For example:
+
+    ``` pre
+    // Cache configuration setting PDX read behavior 
+    <cache>
+      <pdx read-serialized="true" />
+      ...
+    </cache>
+                                
+    ```
+
+2.  Write the application code that fetches data from the cache to handle a `PdxInstance`. If you are sure you will only retrieve `PdxInstance`s from the cache, you can code only for that. In many cases, a `PdxInstance` or a domain object may be returned from your cache entry retrieval operation, so you should check the object type and handle each possible type.
+
+    For example:
+
+    ``` pre
+    // put/get code with serialized read behavior
+    // put is done as normal
+    myRegion.put(myKey, myPdxSerializableObject);
+
+    // get checks Object type and handles each appropriately
+    Object myObject = myRegion.get(myKey);
+    if (myObject instanceof PdxInstance) {
+      // get returned PdxInstance instead of domain object    
+      PdxInstance myPdxInstance = (PdxInstance)myObject;
+
+      // PdxInstance.getField deserializes the field, but not the object
+      String fieldValue = myPdxInstance.getField("stringFieldName"); 
+
+      // Update a field and put it back into the cache 
+      // without deserializing the entire object
+      WritablePdxInstance myWritablePdxI = myPdxInstance.createWriter();
+      myWritablePdxI.setField("fieldName", fieldValue);
+      region.put(key, myWritablePdxI);
+
+      // Deserialize the entire object if needed, from the PdxInstance
+      DomainClass myPdxObject = (DomainClass)myPdxInstance.getObject();
+    }
+    else if (myObject instanceof DomainClass) {
+      // get returned instance of domain object  
+      // code to handle domain object instance  
+      ...  
+    }
+    ...
+    ```
+
+    **Note:**
+    Due to a limitation with PDX, if your PDX-enabled cache contains TreeSet domain objects, you should implement a Comparator that can handle both your domain objects and PdxInstance objects. You will also need to make the domain classes available on the server.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/data_serialization/use_pdx_high_level_steps.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/use_pdx_high_level_steps.html.md.erb b/geode-docs/developing/data_serialization/use_pdx_high_level_steps.html.md.erb
new file mode 100644
index 0000000..f47e81f
--- /dev/null
+++ b/geode-docs/developing/data_serialization/use_pdx_high_level_steps.html.md.erb
@@ -0,0 +1,32 @@
+---
+title:  High Level Steps for Using PDX Serialization
+---
+
+To use PDX serialization, you can configure and use Geode's reflection-based autoserializer, or you can program the serialization of your objects by using the PDX interfaces and classes.
+
+<a id="concept_A7C8890826394B4293C036DD739835BD__section_7F357A8E56B54BFB9A5778C0F89E034E"></a>
+Optionally, program your application code to deserialize individual fields out of PDX representations of your serialized objects. You may also need to persist your PDX metadata to disk for recovery on startup.
+
+**Procedure**
+
+1.  Use one of these serialization options for each object type that you want to serialize using PDX serialization:
+    -   [Using Automatic Reflection-Based PDX Serialization](auto_serialization.html)
+    -   [Serializing Your Domain Object with a PdxSerializer](use_pdx_serializer.html)
+    -   [Implementing PdxSerializable in Your Domain Object](use_pdx_serializable.html)
+
+2.  To ensure that your servers do not need to load the application classes, set the `pdx` `read-serialized` attribute to true. In gfsh, execute the following command before starting up your servers:
+
+    ``` pre
+    gfsh>configure pdx --read-serialized=true
+    ```
+
+    By using gfsh, this configuration can propagated across the cluster through the [Cluster Configuration Service](../../configuring/cluster_config/gfsh_persist.html). Alternately, you would need to configure `pdx read-serialized` in each server's `cache.xml` file.
+
+3.  If you are storing any Geode data on disk, then you must configure PDX serialization to use persistence. See [Persisting PDX Metadata to Disk](persist_pdx_metadata_to_disk.html) for more information.
+4.  (Optional) Wherever you run explicit application code to retrieve and manage your cached entries, you may want to manage your data objects without using full deserialization. To do this, see [Programming Your Application to Use PdxInstances](program_application_for_pdx.html).
+
+## PDX and Multi-Site (WAN) Deployments
+
+For multisite (WAN) installations only-- if you will use PDX serialization in any of your WAN-enabled regions, for each distributed system, you must choose a unique integer between 0 (zero) and 255 and set the `distributed-system-id` in every member's `gemfire.properties` file. See [Configuring a Multi-site (WAN) System](../../topologies_and_comm/multi_site_configuration/setting_up_a_multisite_system.html).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/data_serialization/use_pdx_serializable.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/use_pdx_serializable.html.md.erb b/geode-docs/developing/data_serialization/use_pdx_serializable.html.md.erb
new file mode 100644
index 0000000..948112b
--- /dev/null
+++ b/geode-docs/developing/data_serialization/use_pdx_serializable.html.md.erb
@@ -0,0 +1,98 @@
+---
+title:  Implementing PdxSerializable in Your Domain Object
+---
+
+For a domain object with source that you can modify, implement the `PdxSerializable` interface in the object and use its methods to serialize and deserialize the object's fields.
+
+<a id="use_pdx_serializable__section_7F357A8E56B54BFB9A5778C0F89E034E"></a>
+**Procedure**
+
+1.  In your domain class, implement `PdxSerializable`, importing the required `org.apache.geode.pdx` classes.
+
+    For example:
+
+    ``` pre
+    import org.apache.geode.pdx.PdxReader;
+    import org.apache.geode.pdx.PdxSerializable;
+    import org.apache.geode.pdx.PdxWriter;
+
+    public class PortfolioPdx implements PdxSerializable {
+      ...
+    ```
+
+2.  If your domain class does not have a zero-arg constructor, create one for it.
+
+    For example:
+
+    ``` pre
+    public PortfolioPdx(){}
+    ```
+
+3.  Program `PdxSerializable.toData.`
+    1.  Write each standard Java data field of your domain class using the `PdxWriter` write methods. Geode automatically provides `PdxWriter` to the `toData` method for `PdxSerializable` objects.
+    2.  Call the `PdxWriter` `markIdentifyField` method for each field you want to have Geode use to identify your object. Put this after the field's write method. Geode uses this information to compare objects for operations like distinct queries. If you do not set as least one identity field, then the `equals` and `hashCode` methods will use all PDX fields to compare objects and consequently, will not perform as well. It is important that the fields used by your `equals` and `hashCode` implementations are the same fields that you mark as identity fields.
+    3.  For a particular version of your class, you need to consistently write the same named field each time. The field names or number of fields must not change from one instance to another for the same class version.
+    4.  For best performance, do fixed width fields first and then variable length fields.
+
+        Example `toData` code:
+
+        ``` pre
+        // PortfolioPdx fields
+          private int id;
+          private String pkid;
+          private Map<String, PositionPdx> positions;
+          private String type;
+          private String status;
+          private String[] names;
+          private byte[] newVal;
+          private Date creationDate;
+          ...
+
+          public void toData(PdxWriter writer)
+          {
+            writer.writeInt("id", id)
+        // The markIdentifyField call for a field must 
+        // come after the field's write method 
+            .markIdentityField("id")
+            .writeDate("creationDate", creationDate) //fixed length field
+            .writeString("pkid", pkid)
+            .writeObject("positions", positions)
+            .writeString("type", type)
+            .writeString("status", status)
+            .writeStringArray("names", names)
+            .writeByteArray("newVal", newVal)
+          }
+        ```
+
+4.  Program `PdxSerializable.fromData` to read your data fields from the serialized form into the object's fields using the `PdxReader` read methods.
+
+    Provide the same names that you did in `toData` and call the read operations in the same order as you called the write operations in your `toData` implementation.
+
+    Geode automatically provides `PdxReader` to the `fromData` method for `PdxSerializable` objects.
+
+    Example `fromData` code:
+
+    ``` pre
+      
+    public void fromData(PdxReader reader)
+      {
+        id = reader.readInt("id");
+        creationDate = reader.readDate("creationDate");
+        pkid = reader.readString("pkid");
+        position1 = (PositionPdx)reader.readObject("position1");
+        position2 = (PositionPdx)reader.readObject("position2");
+        positions = (Map<String, PositionPdx>)reader.readObject("positions");
+        type = reader.readString("type");
+        status = reader.readString("status");
+        names = reader.readStringArray("names");
+        newVal = reader.readByteArray("newVal");
+        arrayNull = reader.readByteArray("arrayNull");
+        arrayZeroSize = reader.readByteArray("arrayZeroSize");
+      }
+    ```
+
+**What to do next**
+
+-   As needed, configure and program your Geode applications to use `PdxInstance` for selective object deserialization. See [Programming Your Application to Use PdxInstances](program_application_for_pdx.html).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/data_serialization/use_pdx_serializer.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/use_pdx_serializer.html.md.erb b/geode-docs/developing/data_serialization/use_pdx_serializer.html.md.erb
new file mode 100644
index 0000000..7ef401e
--- /dev/null
+++ b/geode-docs/developing/data_serialization/use_pdx_serializer.html.md.erb
@@ -0,0 +1,128 @@
+---
+title:  Serializing Your Domain Object with a PdxSerializer
+---
+
+For a domain object that you cannot or do not want to modify, use the `PdxSerializer` class to serialize and deserialize the object's fields. You use one `PdxSerializer` implementation for the entire cache, programming it for all of the domain objects that you handle in this way.
+
+With `PdxSerializer`, you leave your domain object as-is and handle the serialization and deserialization in the separate serializer. You register the serializer in your cache PDX configuration. Program the serializer to handle all of the domain objects you need.
+
+If you write your own `PdxSerializer` and you also use the `ReflectionBasedAutoSerializer`, then the `PdxSerializer` needs to own the `ReflectionBasedAutoSerializer` and delegate to it. A Cache can only have a single `PdxSerializer` instance.
+
+**Note:**
+The `PdxSerializer` `toData` and `fromData` methods differ from those for `PdxSerializable`. They have different parameters and results.
+
+**Procedure**
+
+1.  In the domain classes that you wish to PDX serialize, make sure each class has a zero-arg constructor. For example:
+
+    ``` pre
+    public PortfolioPdx(){}
+    ```
+
+2.  If you have not already implemented `PdxSerializer` for some other domain object, perform these steps:
+    1.  Create a new class as your cache-wide serializer and make it implement `PdxSerializer`. If you want to declare your new class in the `cache.xml` file, have it also implement `Declarable`.
+
+        Example:
+
+        ``` pre
+        import org.apache.geode.cache.Declarable;
+        import org.apache.geode.pdx.PdxReader;
+        import org.apache.geode.pdx.PdxSerializer;
+        import org.apache.geode.pdx.PdxWriter;
+
+        public class ExamplePdxSerializer implements PdxSerializer, Declarable {
+        ...
+        ```
+
+    2.  In your cache pdx configuration, register the serializer class in the cache's `<pdx>` `<pdx-serializer>` `<class-name>` attribute.
+
+        Example:
+
+        ``` pre
+        // Configuration setting PDX serializer for the cache
+        <cache>
+          <pdx>
+            <pdx-serializer>
+             <class-name>com.company.ExamplePdxSerializer</class-name>
+            </pdx-serializer>
+          </pdx> 
+          ...
+        </cache>
+        ```
+
+        Or use the `CacheFactory.setPdxSerializer ` API.
+
+        ``` pre
+        Cache c = new CacheFactory
+           .setPdxSerializer(new ExamplePdxSerializer())
+           .create();
+        ```
+
+    **Note:**
+    You cannot specify a custom `pdx-serializer` class using gfsh, however the `configure pdx` command automatically configures the <span class="keyword apiname">org.apache.geode.pdx.ReflectionBasedAutoSerializer</span> class. See [configure pdx](../../tools_modules/gfsh/command-pages/configure.html#topic_jdkdiqbgphqh).
+
+3.  Program `PdxSerializer.toData` to recognize, cast, and handle your domain object:
+
+    1.  Write each standard Java data field of your domain class using the `PdxWriter` write methods.
+    2.  Call the `PdxWriter` `markIdentityField` method for each field you want to have Geode use to identify your object. Put this after the field's write method. Geode uses this information to compare objects for operations like distinct queries. If you do not set as least one identity field, then the `equals` and `hashCode` methods will use all PDX fields to compare objects and consequently, will not perform as well. It is important that the fields used by your `equals` and `hashCode` implementations are the same fields that you mark as identity fields.
+    3.  For a particular version of your class, you need to consistently write the same named field each time. The field names or number of fields must not change from one instance to another for the same class version.
+    4.  For best performance, do fixed width fields first and then variable length fields.
+    5.  If desired, you can check the portability of the object before serializing it by adding the `checkPortability` parameter when using the`                                 PdxWriter` `writeObject`, `writeObjectArray`, and `writeField` methods.
+
+    Example `toData` code:
+
+    ``` pre
+    public boolean toData(Object o, PdxWriter writer)
+      {
+        if(!(o instanceof PortfolioPdx)) {
+          return false;
+        }
+
+        PortfolioPdx instance = (PortfolioPdx) o;
+        writer.writeInt("id", instance.id)
+        //identity field
+        .markIdentityField("id")
+        .writeDate("creationDate", instance.creationDate)
+        .writeString("pkid", instance.pkid)
+        .writeObject("positions", instance.positions)
+        .writeString("type", instance.type)
+        .writeString("status", instance.status)
+        .writeStringArray("names", instance.names)
+        .writeByteArray("newVal", instance.newVal)
+
+        return true;
+      }
+    ```
+
+    1.  Program `PdxSerializer.fromData` to create an instance of your class, read your data fields from the serialized form into the object's fields using the `PdxReader` read methods, and return the created object.
+
+        Provide the same names that you did in `toData` and call the read operations in the same order as you called the write operations in your `toData` implementation.
+
+        Geode provides the domain class type and `PdxReader` to the `fromData` method.
+
+        Example `fromData` code:
+
+        ``` pre
+          public Object fromData(Class<?> clazz, PdxReader reader)
+          {
+            if(!clazz.equals(PortfolioPdx.class)) {
+              return null;
+            }
+
+            PortfolioPdx instance = new PortfolioPdx();
+            instance.id = reader.readInt("id");
+            instance.creationDate = reader.readDate("creationDate");
+            instance.pkid = reader.readString("pkid");
+            instance.positions = (Map<String, PositionPdx>)reader.readObject("positions");
+            instance.type = reader.readString("type");
+            instance.status = reader.readString("status");
+            instance.names = reader.readStringArray("names");
+            instance.newVal = reader.readByteArray("newVal");
+
+            return instance;
+          }
+        ```
+
+4.  If desired, you can also enable extra validation in your use of `PdxWriter`. You can set this by setting the system property `gemfire.validatePdxWriters` to **true**. Note that you should only set this option if you are debugging new code as this option can decrease system performance.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/data_serialization/using_PdxInstanceFactory.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/using_PdxInstanceFactory.html.md.erb b/geode-docs/developing/data_serialization/using_PdxInstanceFactory.html.md.erb
new file mode 100644
index 0000000..7b9501d
--- /dev/null
+++ b/geode-docs/developing/data_serialization/using_PdxInstanceFactory.html.md.erb
@@ -0,0 +1,34 @@
+---
+title:  Using PdxInstanceFactory to Create PdxInstances
+---
+
+You can use the `PdxInstanceFactory` interface to create a `PdxInstance` from raw data when the domain class is not available on the server.
+
+This can be particularly useful when you need an instance of a domain class for plug in code such as a function or a loader. If you have the raw data for the domain object (the class name and each field's type and data), then you can explicitly create a `PdxInstance`. The `PdxInstanceFactory` is very similar to the `PdxWriter` except that after writing each field, you need to call the create method which returns the created PdxInstance.
+
+To create a factory call `RegionService.createPdxInstanceFactory`. A factory can only create a single instance. To create multiple instances create multiple factories or use `PdxInstance.createWriter()` to create subsequent instances. Using `PdxInstance.createWriter()` is usually faster.
+
+When you create a PdxInstance, set as least one identity field using the `markIndentityField` method. If you do not mark an identity field, the PdxInstance`equals` and `hashCode` methods will use all PDX fields to compare objects and consequently, will not perform as well. It is important that the fields used by your `equals` and `hashCode` implementations are the same fields that you mark as identity fields.
+
+The following is a code example of using `PdxInstanceFactory`:
+
+``` pre
+PdxInstance pi = cache.createPdxInstanceFactory("com.company.DomainObject")
+   .writeInt("id", 37)
+   .markIdentityField("id")
+   .writeString("name", "Mike Smith")
+   .writeObject("favoriteDay", cache.createPdxEnum("com.company.Day", "FRIDAY", 5))
+   .create();
+```
+
+For more information, see `PdxInstanceFactory` in the Java API documentation.
+
+## <a id="concept_FFECBE8249D848E9A2CF7FD02514EC68__section_F4EC56197730427084FBF040820A6149" class="no-quick-link"></a>Enum Objects as PdxInstances
+
+You can now work with enum objects as PdxInstances. When you fetch an enum object from the cache, you can now deserialize it as a `PdxInstance`. To check whether a `PdxInstance` is an enum, use the `PdxInstance.isEnum` method. An enum `PdxInstance` will have one field named "name" whose value is a String that corresponds to the enum constant name.
+
+An enum `PdxInstance` is not writable; if you call `createWriter` it will throw an exception.
+
+The `RegionService` has a method that allows you to create a `PdxInstance` that represents an enum. See `RegionService.createPdxEnum` in the Java API documentation.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/data_serialization/using_pdx_region_entry_keys.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/using_pdx_region_entry_keys.html.md.erb b/geode-docs/developing/data_serialization/using_pdx_region_entry_keys.html.md.erb
new file mode 100644
index 0000000..91c91c4
--- /dev/null
+++ b/geode-docs/developing/data_serialization/using_pdx_region_entry_keys.html.md.erb
@@ -0,0 +1,14 @@
+---
+title:  Using PDX Objects as Region Entry Keys
+---
+
+Using PDX objects as region entry keys is highly discouraged.
+
+<a id="concept_E5B95958B8D04B2285CB5E4DC6FABC78__section_900BD620D716407AA78BE0E38C2C396D"></a>
+The best practice for creating region entry keys is to use a simple key; for example, use a String or Integer. If the key must be a domain class, then you should use a non-PDX-serialized class.
+
+If you must use PDX serialized objects as region entry keys, ensure that you do not set `read-serialized` to `true`. This configuration setting will cause problems in partitioned regions because partitioned regions require the hash code of the key to be the same on all JVMs in the distributed system. When the key is a `PdxInstance` object, its hash code will likely not be the same as the hash code of the domain object.
+
+If you are using PDX serialized objects as region entry keys and you are using persistent regions, then you must configure your PDX disk store to be a different one than the disk store used by the persistent regions.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/delta_propagation/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/delta_propagation/chapter_overview.html.md.erb b/geode-docs/developing/delta_propagation/chapter_overview.html.md.erb
new file mode 100644
index 0000000..1beb847
--- /dev/null
+++ b/geode-docs/developing/delta_propagation/chapter_overview.html.md.erb
@@ -0,0 +1,31 @@
+---
+title:  Delta Propagation
+---
+
+Delta propagation allows you to reduce the amount of data you send over the network by including only changes to objects rather than the entire object.
+
+-   **[How Delta Propagation Works](how_delta_propagation_works.html)**
+
+    Delta propagation reduces the amount of data you send over the network. You do this by only sending the change, or delta, information about an object, instead of sending the entire changed object. If you do not use cloning when applying the deltas, you can also expect to generate less garbage in your receiving JVMs.
+
+-   **[When to Avoid Delta Propagation](when_to_use_delta_prop.html)**
+
+    Generally, the larger your objects and the smaller the deltas, the greater the benefits of using delta propagation. Partitioned regions with higher redundancy levels generally benefit more from delta propagation. However, in some application scenarios, delta propagation does not show any significant benefits. On occasion it results in performance degradation.
+
+-   **[Delta Propagation Properties](delta_propagation_properties.html)**
+
+    This topic describes the properties that can be used to configure delta propagation.
+
+-   **[Implementing Delta Propagation](implementing_delta_propagation.html)**
+
+    By default, delta propagation is enabled in your distributed system. When enabled, delta propagation is used for objects that implement `org.apache.geode.Delta`. You program the methods to store and extract delta information for your entries and to apply received delta information.
+
+-   **[Errors In Delta Propagation](errors_in_delta_propagation.html)**
+
+    This topic lists the errors that can occur when using delta propagation.
+
+-   **[Delta Propagation Example](delta_propagation_example.html)**
+
+    This topic provides an example of delta propagation.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/delta_propagation/delta_propagation_example.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/delta_propagation/delta_propagation_example.html.md.erb b/geode-docs/developing/delta_propagation/delta_propagation_example.html.md.erb
new file mode 100644
index 0000000..075b32e
--- /dev/null
+++ b/geode-docs/developing/delta_propagation/delta_propagation_example.html.md.erb
@@ -0,0 +1,113 @@
+---
+title:  Delta Propagation Example
+---
+
+This topic provides an example of delta propagation.
+
+<a id="delta_propagation_example__section_F6700EB7F305462D9F0DEE3080497A14"></a>
+In this example, the feeder client is connected to the first server, and the receiver client is connected to the second. The servers are peers to each other.
+
+<img src="../../images/DeltaPropagation-3.gif" id="delta_propagation_example__image_E20DAE5925C44EBDA03D1AC8325D1122" class="image" />
+
+The example demonstrates the following operations:
+
+1.  In the Feeder client, the application updates the entry object and puts the entry. In response to the `put`, Geode calls `hasDelta`, which returns true, so Geode calls `toDelta` and forwards the extracted delta to the server. If `hasDelta` returned false, Geode would distribute the full entry value.
+2.  In Server1, Geode applies the delta to the cache, distributes the received delta to the server's peers, and forwards it to any other clients with interest in the entry (there are no other clients to Server1 in this example)
+3.  In Server2, Geode applies the delta to the cache and forwards it to its interested clients, which in this case is just the Receiver client.
+
+<a id="delta_propagation_example__section_185444FC51FB467587A62DFEC07C9C7D"></a>
+
+This example shows the basic approach to programming a `Delta` implementation.
+
+``` pre
+package delta;
+
+import org.apache.geode.Delta;
+import org.apache.geode.InvalidDeltaException;
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+import java.io.Serializable;
+
+/**
+ * Sample implementation of Delta
+ * 
+ * @author GemStone Systems, Inc.
+ * @since 6.1
+ */
+public class SimpleDelta implements Delta, Serializable {
+
+// Original object fields
+    private int intVal;
+    private double doubleVal;
+
+    // Added for delta - one boolean per field to track changed status
+    private transient boolean intFldChd = false;
+    private transient boolean dblFldChd = false;
+
+    public SimpleDelta(){}
+
+    public SimpleDelta(int i, double d){
+        this.intVal = i;
+        this.doubleVal = d;
+    }
+
+    public boolean hasDelta() {
+        return this.intFldChd || this.dblFldChd;
+    }
+
+    public void toDelta(DataOutput out) throws IOException {
+        System.out.println("Extracting delta from " + this.toString());
+    // Write information on what has changed to the 
+    // data stream, so fromDelta knows what it's getting 
+        out.writeBoolean(intFldChd);
+        if (intFldChd) {
+    // Write just the changes into the data stream
+            out.writeInt(this.intVal);
+    // Once the delta information is written, reset the delta status field
+            this.intFldChd = false;
+            System.out.println(" Extracted delta from field 'intVal' = "
+                                                + this.intVal);
+        }
+        out.writeBoolean(dblFldChd);
+        if (dblFldChd) {
+            out.writeDouble(this.doubleVal);
+            this.dblFldChd = false;
+            System.out.println(" Extracted delta from field 'doubleVal' = "
+                                                + this.doubleVal);
+        }
+    }
+
+    public void fromDelta(DataInput in) throws IOException, InvalidDeltaException {
+        System.out.println("Applying delta to " + this.toString());
+        // For each field, read whether there is a change 
+        if (in.readBoolean()) {
+            // Read the change and apply it to the object 
+            this.intVal = in.readInt();
+            System.out.println(" Applied delta to field 'intVal' = "
+                        + this.intVal);
+        }
+        if (in.readBoolean()) {
+            this.doubleVal = in.readDouble();
+            System.out.println(" Applied delta to field 'doubleVal' = "
+                        + this.doubleVal);
+        }
+    }
+    // In the setter methods, add setting of delta-related 
+    // fields indicating what has changed 
+    public void setIntVal(int anIntVal) {
+        this.intFldChd = true;
+        this.intVal = anIntVal;
+    }
+
+    public void setDoubleVal(double aDoubleVal) {
+        this.dblFldChd = true;
+        this.doubleVal = aDoubleVal;
+    }
+
+    public String toString() {
+        return "SimpleDelta [ hasDelta = " + hasDelta() + ", intVal = " + 
+                this.intVal + ", doubleVal = {" + this.doubleVal + "} ]";
+    }
+}
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/delta_propagation/delta_propagation_properties.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/delta_propagation/delta_propagation_properties.html.md.erb b/geode-docs/developing/delta_propagation/delta_propagation_properties.html.md.erb
new file mode 100644
index 0000000..c95fab4
--- /dev/null
+++ b/geode-docs/developing/delta_propagation/delta_propagation_properties.html.md.erb
@@ -0,0 +1,79 @@
+---
+title:  Delta Propagation Properties
+---
+
+This topic describes the properties that can be used to configure delta propagation.
+
+Delta propagation properties can be configured through the API and through the `gemfire.properties` and `cache.xml` files.
+
+## <a id="delta_propagation_properties__section_561D6DA876E24469B7536E98AB12F676" class="no-quick-link"></a>delta-propagation
+
+A `gemfire.properties` boolean that enables or disables delta propagation. When false, full entry values are sent for every update. The default setting is true, which enables delta propagation.
+
+Disable delta propagation as follows:
+
+-   `gemfire.properties`:
+
+    ``` pre
+    delta-propagation=false
+    ```
+
+-   API:
+
+    ``` pre
+    Properties props = new Properties();
+    props.setProperty("delta-propagation", false);
+    this.cache = new ClientCacheFactory(props).create();
+    ```
+
+## <a id="delta_propagation_properties__section_7D4590512D1548FD94F81C8726A2CA44" class="no-quick-link"></a>cloning-enabled
+
+A region attributes boolean that affects how `fromDelta` applies deltas to the local cache. When true, the updates are applied to a clone of the value and then the clone is saved to the cache. When false, the value is modified in place in the cache. The default value is false.
+
+Exceptions to this behavior:
+
+-   If the `Cache` attribute `copy-on-read` is true, cloning is enabled, regardless of what this attribute is set to.
+-   If the `Region` attribute `off-heap` is true, cloning is enabled, regardless of what this attribute is set to.
+
+Cloning can be expensive, but it ensures that the new object is fully initialized with the delta before any application code sees it.
+
+When cloning is enabled, by default Geode does a deep copy of the object, using serialization. You may be able to improve performance by implementing `java.lang.Cloneable` and then implementing the `clone` method, making a deep copy of anything to which a delta may be applied. The goal is to reduce significantly the overhead of copying the object while still retaining the isolation needed for your deltas.
+
+Without cloning:
+
+-   It is possible for application code to read the entry value as it is being modified, possibly seeing the value in an intermediate, inconsistent state, with just part of the delta applied. You may choose to resolve this issue by having your application code synchronize on reads and writes.
+-   Geode loses any reference to the old value because the old value is transformed in place into the new value. Because of this, your `CacheListener` sees the same new value returned for `EntryEvent.getOldValue` and `EntryEvent.getNewValue` .
+-   Exceptions thrown from `fromDelta` may leave your cache in an inconsistent state. Without cloning, any interruption of the delta application could leave you with some of the fields in your cached object changed and others unchanged. If you do not use cloning, keep this in mind when you program your error handling in your `fromDelta` implementation.
+
+With cloning:
+
+-   The `fromDelta` method generates more garbage in memory.
+-   Performance is reduced.
+
+Enable cloning as follows:
+
+-   `cache.xml`:
+
+    ``` pre
+    <region name="region_with_cloning">
+        <region-attributes refid="REPLICATE" cloning-enabled="true">
+        </region-attributes>
+    </region>
+    ```
+
+-   API:
+
+    ``` pre
+    RegionFactory rf = cache.createRegionFactory(REPLICATE);
+    rf.setCloningEnabled(true);
+    custRegion = rf.create("customer");
+    ```
+
+-   gfsh:
+
+    ``` pre
+    gfsh>create region --name="region_with_cloning" --type=REPLICATE
+    --enable-cloning=true
+    ```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/delta_propagation/errors_in_delta_propagation.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/delta_propagation/errors_in_delta_propagation.html.md.erb b/geode-docs/developing/delta_propagation/errors_in_delta_propagation.html.md.erb
new file mode 100644
index 0000000..f6441e8
--- /dev/null
+++ b/geode-docs/developing/delta_propagation/errors_in_delta_propagation.html.md.erb
@@ -0,0 +1,18 @@
+---
+title:  Errors In Delta Propagation
+---
+
+This topic lists the errors that can occur when using delta propagation.
+
+<a id="errors_in_delta_propagation__section_877AC61D691C44078A782683F90D169B"></a>
+Errors in delta propagation fall into two categories based on how they are handled by the system:
+
+-   Problems applying the delta that can be remedied by requesting the full value in place of the delta. Your `put` operation does not see errors or exceptions related to this type of delta propagation failure. The system automatically does a full value distribution from the sender to the receiver where the problem occurs. This type of error includes:
+    -   Unavailable entry value in the receiving cache, either because the entry is missing or its value is null. In both cases, there is nothing to apply the delta to and the full value must be sent. This is most likely to occur if you destroy or invalidate your entries locally, either through application calls or through configured actions like eviction or entry expiration.
+    -   `InvalidDeltaException` thrown by `fromDelta` method, programmed by you. This exception enables you to avoid applying deltas that would violate data consistency checks or other application requirements.
+    -   Any error applying the delta in a client in server-to-client propagation. The client logs a warning in addition to retrieving the full value from the server.
+-   Problems creating or distributing the delta that cannot be fixed by distributing the full value. In these cases, your `put` operation fails with an exception. This type of error includes:
+    -   Error or exception in `hasDelta` or `toDelta`.
+    -   Error or exception in a server or peer receiver that fall outside of the situations described above in the first category.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/delta_propagation/how_delta_propagation_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/delta_propagation/how_delta_propagation_works.html.md.erb b/geode-docs/developing/delta_propagation/how_delta_propagation_works.html.md.erb
new file mode 100644
index 0000000..a37bd8a
--- /dev/null
+++ b/geode-docs/developing/delta_propagation/how_delta_propagation_works.html.md.erb
@@ -0,0 +1,52 @@
+---
+title:  How Delta Propagation Works
+---
+
+Delta propagation reduces the amount of data you send over the network. You do this by only sending the change, or delta, information about an object, instead of sending the entire changed object. If you do not use cloning when applying the deltas, you can also expect to generate less garbage in your receiving JVMs.
+
+<a id="how_delta_propagation_works__section_78D584B3FFD04D1D9BA83203FF2B55A9"></a>
+In most distributed data management systems, the data stored in the system tends to be created once and then updated frequently. These updates are sent to other members for event propagation, redundancy management, and cache consistency in general. Tracking only the changes in an updated object and sending only the deltas mean lower network transmission costs and lower object serialization/deserialization costs. Performance improvements can be significant, especially when changes to an object are small relative to its overall size.
+
+<a id="how_delta_propagation_works__section_ABE3589920D6477BBB2223A583AF169A"></a>
+
+Geode propagates object deltas using methods that you program. The methods are in the `Delta` interface, which you implement in your cached objects' classes. If any of your classes are plain old Java objects, you need to wrap them for this implementation.
+
+This figure shows delta propagation for a change to an entry with key, k, and value object, v.
+
+<img src="../../images/DeltaPropagation-1.gif" id="how_delta_propagation_works__image_06A25185C31548669423DDA3136B1851" class="image" />
+
+1.  **`get` operation**. The `get` works as usual: the cache returns the full entry object from the local cache or, if it isn't available there, from a remote cache or from a loader.
+2.  **update methods**. You need to add code to the object's update methods so that they save delta information for object updates, in addition to the work they were already doing.
+3.  **`put` operation**. The `put` works as usual in the local cache, using the full value, then calls `hasDelta` to see if there are deltas and `toDelta` to serialize the information. Distribution is the same as for full values, according to member and region configuration.
+4.  **receipt of delta at remote member**. `fromDelta` extracts the delta information that was serialized by `toDelta` and applies it to the object in the local cache. The delta is applied directly to the existing value or to a clone, depending on how you configure it for the region.
+5.  **additional distributions**. As with full distributions, receiving members forward the delta according to their configurations and connections to other members. For example, if VM1 is a client and VM2 is a server, VM2 forwards the delta to its peers and its other clients as needed. Receiving members do not recreate the delta; `toDelta` is only called in the originating member.
+
+## <a id="how_delta_propagation_works__section_25EC5BE960F0402DAEDBE0A5A6589ACA" class="no-quick-link"></a>General Characteristics of Delta Propagation
+
+To use the delta propagation feature, all updates on a key in a region must have value types that implement the `Delta` interface. You cannot mix object types for an entry key where some of the types implement delta and some do not. This is because, when a type implementing the delta interface is received for an update, the existing value for the key is cast to a `Delta` type to apply the received delta. If the existing type does not also implement the `Delta` interface, the operation throws a `ClassCastException`.
+
+**Note:** Only the object itself being placed in the cache can implement the `Delta` interface and propagate changes. Any sub-objects of the cache object do not propagate their changes.
+
+Sometimes `fromDelta` cannot be invoked because there is no object to apply the delta to in the receiving cache. When this happens, the system automatically does a full value distribution to the receiver. These are the possible scenarios:
+1.  If the system can determine beforehand that the receiver does not have a local copy, it sends the initial message with the full value. This is possible when regions are configured with no local data storage, such as with the region shortcut settings `PARTITION_PROXY` and `REPLICATE_PROXY`. These configurations are used to accomplish things like provide data update information to listeners and to pass updates forward to clients.
+2.  In less obvious cases, such as when an entry has been locally deleted, first the delta is sent, then the receiver requests a full value and that is sent. Whenever the full value is received, any further distributions to the receiver's peers or clients uses the full value.
+
+Geode also does not propagate deltas for:
+
+-   Transactional commit
+-   The `putAll` operation
+-   JVMs running Geode versions that do not support delta propagation (6.0 and earlier)
+
+## <a id="how_delta_propagation_works__section_F4A102A74530429F87BEA53C90D5CCFB" class="no-quick-link"></a>Supported Topologies and Limitations
+
+The following topologies support delta propagation (with some limitations):
+
+-   **Peer-to-peer**. Geode system members distribute and receive entry changes using delta propagation, with these requirements and caveats:
+    -   Regions must be partitioned or have their scope set to `distributed-ack` or `global`. The region shortcut settings for distributed regions use `distributed-ack` `scope`. Delta propagation does not work for regions with `distributed-no-ack` `scope` because the receiver could not recover if an exception occurred while applying the delta.
+    -   For partitioned regions, if a receiving peer does not hold the primary or a secondary copy of the entry, but still requires a value, the system automatically sends the full value.
+    -   To receive deltas, a region must be non-empty. The system automatically sends the full value to empty regions. Empty regions can send deltas.
+-   **Client/server**. Geode clients can always send deltas to the servers, and servers can usually sent deltas to clients. These configurations require the servers to send full values to the clients, instead of deltas:
+    -   When the client's `gemfire.properties` setting `conflate-events` is set to true, the servers send full values for all regions.
+    -   When the server region attribute `enable-subscription-conflation` is set to true and the client `gemfire.properties` setting `conflate-events` is set to `server`, the servers send full values for the region.
+    -   When the client region is configured with the `PROXY` client region shortcut setting (empty client region), servers send full values.
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/delta_propagation/implementing_delta_propagation.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/delta_propagation/implementing_delta_propagation.html.md.erb b/geode-docs/developing/delta_propagation/implementing_delta_propagation.html.md.erb
new file mode 100644
index 0000000..7727532
--- /dev/null
+++ b/geode-docs/developing/delta_propagation/implementing_delta_propagation.html.md.erb
@@ -0,0 +1,24 @@
+---
+title:  Implementing Delta Propagation
+---
+
+By default, delta propagation is enabled in your distributed system. When enabled, delta propagation is used for objects that implement `org.apache.geode.Delta`. You program the methods to store and extract delta information for your entries and to apply received delta information.
+
+<a id="implementing_delta_propagation__section_877AC61D691C44078A782683F90D169B"></a>
+Use the following procedure to implement delta propagation in your distributed system.
+
+1.  Study your object types and expected application behavior to determine which regions can benefit from using delta propagation. Delta propagation does not improve performance for all data and data modification scenarios. See [When to Avoid Delta Propagation](when_to_use_delta_prop.html#when_to_use_delta_prop).
+2.  For each region where you are using delta propagation, choose whether to enable cloning using the delta propagation property `cloning-enabled`. Cloning is disabled by default. See [Delta Propagation Properties](delta_propagation_properties.html#delta_propagation_properties).
+3.  If you do not enable cloning, review all associated listener code for dependencies on `EntryEvent.getOldValue`. Without cloning, Geode modifies the entry in place and so loses its reference to the old value. For delta events, the `EntryEvent` methods `getOldValue` and `getNewValue` both return the new value.
+4.  For every class where you want delta propagation, implement `org.apache.geode.Delta` and update your methods to support delta propagation. Exactly how you do this depends on your application and object needs, but these steps describe the basic approach:
+    1.  If the class is a plain old Java object (POJO), wrap it for this implementation and update your code to work with the wrapper class.
+    2.  Define as transient any extra object fields that you use to manage delta state. This can help performance when the full object is distributed. Whenever standard Java serialization is used, the transient keyword indicates to Java to not serialize the field.
+    3.  Study the object contents to decide how to handle delta changes. Delta propagation has the same issues of distributed concurrency control as the distribution of full objects, but on a more detailed level. Some parts of your objects may be able to change independent of one another while others may always need to change together. Send deltas large enough to keep your data logically consistent. If, for example, field A and field B depend on each other, then your delta distributions should either update both fields or neither. As with regular updates, the fewer producers you have on a data region, the lower your likelihood of concurrency issues.
+    4.  In the application code that puts entries, put the fully populated object into the local cache. Even though you are planning to send only deltas, errors on the receiving end could cause Geode to request the full object, so you must provide it to the originating put method. Do this even in empty producers, with regions configured for no local data storage. This usually means doing a get on the entry unless you are sure it does not already exist anywhere in the distributed region.
+    5.  Change each field's update method to record information about the update. The information must be sufficient for `toDelta` to encode the delta and any additional required delta information when it is invoked.
+    6.  Write `hasDelta` to report on whether a delta is available.
+    7.  Write `toDelta` to create a byte stream with the changes to the object and any other information `fromDelta` will need to apply the changes. Before returning from `toDelta`, reset your delta state to indicate that there are no delta changes waiting to be sent.
+    8.  Write `fromDelta` to decode the byte stream that `toDelta` creates and update the object.
+    9.  Make sure you provide adequate synchronization to your object to maintain a consistent object state. If you do not use cloning, you will probably need to synchronize on reads and writes to avoid reading partially written updates from the cache.This synchronization might involve `toDelta`, `fromDelta`, `toData`, `fromData`, and other methods that access or update the object. Additionally, your implementation should take into account the possibility of concurrent invocations of `fromDelta` and one or more of the object's update methods.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/delta_propagation/when_to_use_delta_prop.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/delta_propagation/when_to_use_delta_prop.html.md.erb b/geode-docs/developing/delta_propagation/when_to_use_delta_prop.html.md.erb
new file mode 100644
index 0000000..47de0ba
--- /dev/null
+++ b/geode-docs/developing/delta_propagation/when_to_use_delta_prop.html.md.erb
@@ -0,0 +1,17 @@
+---
+title:  When to Avoid Delta Propagation
+---
+
+Generally, the larger your objects and the smaller the deltas, the greater the benefits of using delta propagation. Partitioned regions with higher redundancy levels generally benefit more from delta propagation. However, in some application scenarios, delta propagation does not show any significant benefits. On occasion it results in performance degradation.
+
+<a id="when_to_use_delta_prop__section_83BA84BB08194FC58F2BCE149AA0F0EC"></a>
+By default, delta propagation is enabled in your distributed system.
+
+These are the main factors that can reduce the performance benefits of using delta propagation:
+
+-   The added costs of deserializing your objects to apply deltas. Applying a delta requires the entry value to be deserialized. Once this is done, the object is stored back in the cache in deserialized form. This aspect of delta propagation only negatively impacts your system if your objects are not already being deserialized for other reasons, such as for indexing and querying or for listener operations. Once stored in deserialized form, there are reserialization costs for operations that send the object outside of the member, like distribution from a gateway sender, values sent in response to `netSearch` or client requests, and storage to disk. The more operations that require reserialization, the higher the overhead of deserializing the object. As with all serialization efforts, you can improve performance in serialization and deserialization by providing custom implementations of `DataSerializable` for your objects.
+-   Cloning when applying the delta. Using cloning can affect performance and generates extra garbage. Not using cloning is risky however, as you are modifying cached values in place. Without cloning, make sure you synchronize your entry access to keep your cache from becoming inconsistent.
+-   Problems applying the delta that cause the system to go back to the originator for the full entry value. When this happens, the overall operation costs more than sending the full entry value in the first place. This can be additionally aggravated if your delta is sent to a number of recipients, all or most of them request a full value, and the full value send requires the object to be serialized.
+-   Disk I/O costs associated with overflow regions. If you use eviction with overflow to disk, on-disk values must be brought into memory in order to apply the delta. This is much more costly than just removing the reference to the disk copy, as you would do with a full value distribution into the cache.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/distributed_regions/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/distributed_regions/chapter_overview.html.md.erb b/geode-docs/developing/distributed_regions/chapter_overview.html.md.erb
new file mode 100644
index 0000000..ce33ee2
--- /dev/null
+++ b/geode-docs/developing/distributed_regions/chapter_overview.html.md.erb
@@ -0,0 +1,27 @@
+---
+title:  Distributed and Replicated Regions
+---
+
+In addition to basic region management, distributed and replicated regions include options for things like push and pull distribution models, global locking, and region entry versions to ensure consistency across Geode members.
+
+-   **[How Distribution Works](../../developing/distributed_regions/how_distribution_works.html)**
+
+    To use distributed and replicated regions, you should understand how they work and your options for managing them.
+
+-   **[Options for Region Distribution](../../developing/distributed_regions/choosing_level_of_dist.html)**
+
+    You can use distribution with and without acknowledgment, or global locking for your region distribution. Regions that are configured for distribution with acknowledgment can also be configured to resolve concurrent updates consistently across all Geode members that host the region.
+
+-   **[How Replication and Preloading Work](../../developing/distributed_regions/how_replication_works.html)**
+
+    To work with replicated and preloaded regions, you should understand how their data is initialized and maintained in the cache.
+
+-   **[Configure Distributed, Replicated, and Preloaded Regions](../../developing/distributed_regions/managing_distributed_regions.html)**
+
+    Plan the configuration and ongoing management of your distributed, replicated, and preloaded regions, and configure the regions.
+
+-   **[Locking in Global Regions](../../developing/distributed_regions/locking_in_global_regions.html)**
+
+    In global regions, the system locks entries and the region during updates. You can also explicitly lock the region and its entries as needed by your application. Locking includes system settings that help you optimize performance and locking behavior between your members.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/distributed_regions/choosing_level_of_dist.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/distributed_regions/choosing_level_of_dist.html.md.erb b/geode-docs/developing/distributed_regions/choosing_level_of_dist.html.md.erb
new file mode 100644
index 0000000..f48aaeb
--- /dev/null
+++ b/geode-docs/developing/distributed_regions/choosing_level_of_dist.html.md.erb
@@ -0,0 +1,19 @@
+---
+title:  Options for Region Distribution
+---
+
+You can use distribution with and without acknowledgment, or global locking for your region distribution. Regions that are configured for distribution with acknowledgment can also be configured to resolve concurrent updates consistently across all Geode members that host the region.
+
+<a id="choosing_level_of_dist__section_F2528B151DD54CEFA05C4BA655BCF016"></a>
+Each distributed region must have the same scope and concurrency checking setting throughout the distributed system.
+
+Distributed scope is provided at three levels:
+
+-   **distributed-no-ack**. Distribution operations return without waiting for a response from other caches. This scope provides the best performance and uses the least amount of overhead, but it is also most prone to having inconsistencies caused by network problems. For example, a temporary disruption of the network transport layer could cause a failure in distributing updates to a cache on a remote machine, while the local cache continues being updated.
+-   **distributed-ack**. Distribution waits for acknowledgment from other caches before continuing. This is slower than `distributed-no-ack`, but covers simple communication problems such as temporary network disruptions.
+
+    In systems where there are many `distributed-no-ack` operations, it is possible for `distributed-ack` operations to take a long time to complete. The distributed system has a configurable time to wait for acknowledgment to any `distributed-ack` message before sending alerts to the logs about a possible problem with the unresponsive member. No matter how long the wait, the sender keeps waiting in order to honor the distributed-ack region setting. The `gemfire.properties` attribute governing this is `ack-wait-threshold`.
+
+-   **global**. Entries and regions are automatically locked across the distributed system during distribution operations. All load, create, put, invalidate, and destroy operations on the region and its entries are performed with a distributed lock. The global scope enforces strict consistency across the distributed system, but it is the slowest mechanism for achieving consistency. In addition to the implicit locking performed by distribution operations, regions with global scope and their contents can be explicitly locked through the application APIs. This allows applications to perform atomic, multi-step operations on regions and region entries.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/distributed_regions/how_distribution_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/distributed_regions/how_distribution_works.html.md.erb b/geode-docs/developing/distributed_regions/how_distribution_works.html.md.erb
new file mode 100644
index 0000000..bbc7522
--- /dev/null
+++ b/geode-docs/developing/distributed_regions/how_distribution_works.html.md.erb
@@ -0,0 +1,31 @@
+---
+title:  How Distribution Works
+---
+
+To use distributed and replicated regions, you should understand how they work and your options for managing them.
+
+<a id="how_distribution_works__section_2F892A4987C547E68CA78067133C2C2C"></a>
+**Note:**
+The management of replicated and distributed regions supplements the general information for managing data regions provided in [Basic Configuration and Programming](../../basic_config/book_intro.html). See also `org.apache.geode.cache.PartitionAttributes`.
+
+A distributed region automatically sends entry value updates to remote caches and receives updates from them.
+
+-   Distributed entry updates come from the `Region` `put` and `create` operations (the creation of an entry with a non-null value is seen as an update by remote caches that already have the entry key). Entry updates are distributed selectively - only to caches where the entry key is already defined. This provides a pull model of distribution, compared to the push model that you get with replication.
+-   Distribution alone does not cause new entries to be copied from remote caches.
+-   A distributed region shares cache loader and cache writer application event handler plug-ins across the distributed system.
+
+In a distributed region, new and updated entry values are automatically distributed to remote caches that already have the entries defined.
+
+**Step 1:** The application updates or creates the entry. At this point, the entry in the M1 cache may not yet exist.
+
+<img src="../../images_svg/distributed_how_1.svg" id="how_distribution_works__image_40EFE6E95E6945A1B08A68508ECBCC60" class="image" />
+
+**Step 2:** The new value is automatically distributed to caches holding the entry.
+
+<img src="../../images_svg/distributed_how_2.svg" id="how_distribution_works__image_AF8A3ADEB5D94E20B101FDA92BF6D002" class="image" />
+
+**Step 3:** The entry's value is the same throughout the distributed system.
+
+<img src="../../images_svg/distributed_how_3.svg" id="how_distribution_works__image_5B1F06B54C9047E28A8C8673D1D5BD27" class="image" />
+
+


[16/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/partitioned_data_buckets_1.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/partitioned_data_buckets_1.svg b/geode-docs/images_svg/partitioned_data_buckets_1.svg
new file mode 100644
index 0000000..a8cf406
--- /dev/null
+++ b/geode-docs/images_svg/partitioned_data_buckets_1.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="95 239 409 337" width="409pt" height="337pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 10:47Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".3" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(288 396) scale(172.88435)"/><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underline-posi
 tion="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(270 378) scale(127.358745)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_2" gradientTransform="translate(186.75 333) scale(
 19.091883)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(159.75 333) scale(19.091883)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient_2" gradientTransform="translate(186.75 357.75) scale(19.091883)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(159.75 357.75) scale(19.091883)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(254.25 333) scale(19.091883)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(227.25 333) scale(19.091883)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient_2" gradientTransform="translate(254.25 357.75) scale(19.091883)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_2" gradientTransform="translate(227.25 357.75) scale(19.091883)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient" gradientTransform="translate(486 396) scale(172.88435)"/><radialGradient id="Obj_Gradient_
 c" xl:href="#Gradient" gradientTransform="translate(468 378) scale(127.358745)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient_2" gradientTransform="translate(384.75 333) scale(19.091883)"/><radialGradient id="Obj_Gradient_e" xl:href="#Gradient_2" gradientTransform="translate(357.75 333) scale(19.091883)"/><radialGradient id="Obj_Gradient_f" xl:href="#Gradient_2" gradientTransform="translate(384.75 357.75) scale(19.091883)"/><radialGradient id="Obj_Gradient_10" xl:href="#Gradient_2" gradientTransform="translate(357.75 357.75) scale(19.091883)"/><radialGradient id="Obj_Gradient_11" xl:href="#Gradient_2" gradientTransform="translate(452.25 333) scale(19.091883)"/><radialGradient id="Obj_Gradient_12" xl:href="#Gradient_2" gradientTransform="translate(425.25 333) scale(19.091883)"/><radialGradient id="Obj_Gradient_13" xl:href="#Gradient_2" gradientTransform="translate(452.25 357.75) scale(19.091883)"/><radialGradient id="Obj_Gradient_14" xl:href="#Gradient_2" gradientTransform=
 "translate(425.25 357.75) scale(19.091883)"/><radialGradient id="Obj_Gradient_15" xl:href="#Gradient" gradientTransform="translate(420.75 558) scale(214.75717)"/><radialGradient id="Obj_Gradient_16" xl:href="#Gradient" gradientTransform="translate(402.75 540) scale(172.3895)"/><radialGradient id="Obj_Gradient_17" xl:href="#Gradient_2" gradientTransform="translate(252 495) scale(19.091883)"/><radialGradient id="Obj_Gradient_18" xl:href="#Gradient_2" gradientTransform="translate(225 495) scale(19.091883)"/><radialGradient id="Obj_Gradient_19" xl:href="#Gradient_2" gradientTransform="translate(252 519.75) scale(19.091883)"/><radialGradient id="Obj_Gradient_1a" xl:href="#Gradient_2" gradientTransform="translate(225 519.75) scale(19.091883)"/><radialGradient id="Obj_Gradient_1b" xl:href="#Gradient_2" gradientTransform="translate(319.5 495) scale(19.091883)"/><radialGradient id="Obj_Gradient_1c" xl:href="#Gradient_2" gradientTransform="translate(292.5 495) scale(19.091883)"/><radialGradie
 nt id="Obj_Gradient_1d" xl:href="#Gradient_2" gradientTransform="translate(319.5 519.75) scale(19.091883)"/><radialGradient id="Obj_Gradient_1e" xl:href="#Gradient_2" gradientTransform="translate(292.5 519.75) scale(19.091883)"/><radialGradient id="Obj_Gradient_1f" xl:href="#Gradient_2" gradientTransform="translate(387 495) scale(19.091883)"/><radialGradient id="Obj_Gradient_20" xl:href="#Gradient_2" gradientTransform="translate(360 495) scale(19.091883)"/><radialGradient id="Obj_Gradient_21" xl:href="#Gradient_2" gradientTransform="translate(387 519.75) scale(19.091883)"/><radialGradient id="Obj_Gradient_22" xl:href="#Gradient_2" gradientTransform="translate(360 519.75) scale(19.091883)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>buckets-1</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url
 (#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id13_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id16_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id18_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id19_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id20_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id21_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id23_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id24_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id25_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id26_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id27_Graphic" filter="url(#Shadow)"
 /><xl:use xl:href="#id28_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id30_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id31_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id32_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id33_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id35_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id36_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id37_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id38_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id40_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id41_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id42_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id43_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 114.66 252 L 281.34 252 C 285.01822 252 288 254.98178 288 258.66 L 288 389.34 C 288 393.01822 285.01822 396 281.34 396 L 114.66 396 C 110.981783 396 108 393.01822 108 389.34 L 108 258.66 C 108 254.98178 110.981783 252 114.66 252 Z" fill="url(#Ob
 j_Gradient)"/><path d="M 114.66 252 L 281.34 252 C 285.01822 252 288 254.98178 288 258.66 L 288 389.34 C 288 393.01822 285.01822 396 281.34 396 L 114.66 396 C 110.981783 396 108 393.01822 108 389.34 L 108 258.66 C 108 254.98178 110.981783 252 114.66 252 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(112 256)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="87.993164" y="14" textLength="84.006836">Member (M1)</tspan></text></g><g id="id4_Graphic"><path d="M 132.66 288 L 263.34 288 C 267.01822 288 270 290.98178 270 294.66 L 270 371.34 C 270 375.01822 267.01822 378 263.34 378 L 132.66 378 C 128.98178 378 126 375.01822 126 371.34 L 126 294.66 C 126 290.98178 128.98178 288 132.66 288 Z" fill="url(#Obj_Gradient_2)"/><path d="M 132.66 288 L 263.34 288 C 267.01822 288 270 290.98178 270 294.66 L 270 371.34 C 270 375.01822 267.01822 378 263.34 378 L 132.66 378 C 128.98178 378 
 126 375.01822 126 371.34 L 126 294.66 C 126 290.98178 128.98178 288 132.66 288 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(128 290)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="30.973145" y="10" textLength="73.930664">Partition Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="104.356934" y="10" textLength="6.669922">A</tspan></text></g><rect x="135" y="308.25" width="58.5" height="58.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id6_Graphic"><path d="M 175.41 315 L 180.09 315 C 183.76822 315 186.75 317.98178 186.75 321.66 L 186.75 326.34 C 186.75 330.01822 183.76822 333 180.09 333 L 175.41 333 C 171.73178 333 168.75 330.01822 168.75 326.34 L 168.75 321.66 C 168.75 317.98178 171.73178 315 175.41 315 Z" fill="url(#Obj_Gradient_3)"/><path d="M 175.41 315 L 180.09 3
 15 C 183.76822 315 186.75 317.98178 186.75 321.66 L 186.75 326.34 C 186.75 330.01822 183.76822 333 180.09 333 L 175.41 333 C 171.73178 333 168.75 330.01822 168.75 326.34 L 168.75 321.66 C 168.75 317.98178 171.73178 315 175.41 315 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id7_Graphic"><path d="M 148.41 315 L 153.09 315 C 156.76822 315 159.75 317.98178 159.75 321.66 L 159.75 326.34 C 159.75 330.01822 156.76822 333 153.09 333 L 148.41 333 C 144.73178 333 141.75 330.01822 141.75 326.34 L 141.75 321.66 C 141.75 317.98178 144.73178 315 148.41 315 Z" fill="url(#Obj_Gradient_4)"/><path d="M 148.41 315 L 153.09 315 C 156.76822 315 159.75 317.98178 159.75 321.66 L 159.75 326.34 C 159.75 330.01822 156.76822 333 153.09 333 L 148.41 333 C 144.73178 333 141.75 330.01822 141.75 326.34 L 141.75 321.66 C 141.75 317.98178 144.73178 315 148.41 315 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><
 /g><g id="id8_Graphic"><path d="M 175.41 339.75 L 180.09 339.75 C 183.76822 339.75 186.75 342.73178 186.75 346.41 L 186.75 351.09 C 186.75 354.76822 183.76822 357.75 180.09 357.75 L 175.41 357.75 C 171.73178 357.75 168.75 354.76822 168.75 351.09 L 168.75 346.41 C 168.75 342.73178 171.73178 339.75 175.41 339.75 Z" fill="url(#Obj_Gradient_5)"/><path d="M 175.41 339.75 L 180.09 339.75 C 183.76822 339.75 186.75 342.73178 186.75 346.41 L 186.75 351.09 C 186.75 354.76822 183.76822 357.75 180.09 357.75 L 175.41 357.75 C 171.73178 357.75 168.75 354.76822 168.75 351.09 L 168.75 346.41 C 168.75 342.73178 171.73178 339.75 175.41 339.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id9_Graphic"><path d="M 148.41 339.75 L 153.09 339.75 C 156.76822 339.75 159.75 342.73178 159.75 346.41 L 159.75 351.09 C 159.75 354.76822 156.76822 357.75 153.09 357.75 L 148.41 357.75 C 144.73178 357.75 141.75 354.76822 141.75 351.09 L 141.75 346.41 C 141.75
  342.73178 144.73178 339.75 148.41 339.75 Z" fill="url(#Obj_Gradient_6)"/><path d="M 148.41 339.75 L 153.09 339.75 C 156.76822 339.75 159.75 342.73178 159.75 346.41 L 159.75 351.09 C 159.75 354.76822 156.76822 357.75 153.09 357.75 L 148.41 357.75 C 144.73178 357.75 141.75 354.76822 141.75 351.09 L 141.75 346.41 C 141.75 342.73178 144.73178 339.75 148.41 339.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><rect x="202.5" y="308.25" width="58.5" height="58.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id11_Graphic"><path d="M 242.91 315 L 247.59 315 C 251.26822 315 254.25 317.98178 254.25 321.66 L 254.25 326.34 C 254.25 330.01822 251.26822 333 247.59 333 L 242.91 333 C 239.23178 333 236.25 330.01822 236.25 326.34 L 236.25 321.66 C 236.25 317.98178 239.23178 315 242.91 315 Z" fill="url(#Obj_Gradient_7)"/><path d="M 242.91 315 L 247.59 315 C 251.26822 315 254.25 317.98178 254.25 321
 .66 L 254.25 326.34 C 254.25 330.01822 251.26822 333 247.59 333 L 242.91 333 C 239.23178 333 236.25 330.01822 236.25 326.34 L 236.25 321.66 C 236.25 317.98178 239.23178 315 242.91 315 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id12_Graphic"><path d="M 215.91 315 L 220.59 315 C 224.26822 315 227.25 317.98178 227.25 321.66 L 227.25 326.34 C 227.25 330.01822 224.26822 333 220.59 333 L 215.91 333 C 212.23178 333 209.25 330.01822 209.25 326.34 L 209.25 321.66 C 209.25 317.98178 212.23178 315 215.91 315 Z" fill="url(#Obj_Gradient_8)"/><path d="M 215.91 315 L 220.59 315 C 224.26822 315 227.25 317.98178 227.25 321.66 L 227.25 326.34 C 227.25 330.01822 224.26822 333 220.59 333 L 215.91 333 C 212.23178 333 209.25 330.01822 209.25 326.34 L 209.25 321.66 C 209.25 317.98178 212.23178 315 215.91 315 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id13_Graphic"><path d="M 242.91 339
 .75 L 247.59 339.75 C 251.26822 339.75 254.25 342.73178 254.25 346.41 L 254.25 351.09 C 254.25 354.76822 251.26822 357.75 247.59 357.75 L 242.91 357.75 C 239.23178 357.75 236.25 354.76822 236.25 351.09 L 236.25 346.41 C 236.25 342.73178 239.23178 339.75 242.91 339.75 Z" fill="url(#Obj_Gradient_9)"/><path d="M 242.91 339.75 L 247.59 339.75 C 251.26822 339.75 254.25 342.73178 254.25 346.41 L 254.25 351.09 C 254.25 354.76822 251.26822 357.75 247.59 357.75 L 242.91 357.75 C 239.23178 357.75 236.25 354.76822 236.25 351.09 L 236.25 346.41 C 236.25 342.73178 239.23178 339.75 242.91 339.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id14_Graphic"><path d="M 215.91 339.75 L 220.59 339.75 C 224.26822 339.75 227.25 342.73178 227.25 346.41 L 227.25 351.09 C 227.25 354.76822 224.26822 357.75 220.59 357.75 L 215.91 357.75 C 212.23178 357.75 209.25 354.76822 209.25 351.09 L 209.25 346.41 C 209.25 342.73178 212.23178 339.75 215.91 339.75 Z
 " fill="url(#Obj_Gradient_a)"/><path d="M 215.91 339.75 L 220.59 339.75 C 224.26822 339.75 227.25 342.73178 227.25 346.41 L 227.25 351.09 C 227.25 354.76822 224.26822 357.75 220.59 357.75 L 215.91 357.75 C 212.23178 357.75 209.25 354.76822 209.25 351.09 L 209.25 346.41 C 209.25 342.73178 212.23178 339.75 215.91 339.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id15_Graphic"><path d="M 312.66 252 L 479.34 252 C 483.01822 252 486 254.98178 486 258.66 L 486 389.34 C 486 393.01822 483.01822 396 479.34 396 L 312.66 396 C 308.98178 396 306 393.01822 306 389.34 L 306 258.66 C 306 254.98178 308.98178 252 312.66 252 Z" fill="url(#Obj_Gradient_b)"/><path d="M 312.66 252 L 479.34 252 C 483.01822 252 486 254.98178 486 258.66 L 486 389.34 C 486 393.01822 483.01822 396 479.34 396 L 312.66 396 C 308.98178 396 306 393.01822 306 389.34 L 306 258.66 C 306 254.98178 308.98178 252 312.66 252 Z" stroke="#252525" stroke-linecap="round" stroke-l
 inejoin="round" stroke-width=".72000003"/><text transform="translate(310 256)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="87.993164" y="14" textLength="84.006836">Member (M2)</tspan></text></g><g id="id16_Graphic"><path d="M 330.66 288 L 461.34 288 C 465.01822 288 468 290.98178 468 294.66 L 468 371.34 C 468 375.01822 465.01822 378 461.34 378 L 330.66 378 C 326.98178 378 324 375.01822 324 371.34 L 324 294.66 C 324 290.98178 326.98178 288 330.66 288 Z" fill="url(#Obj_Gradient_c)"/><path d="M 330.66 288 L 461.34 288 C 465.01822 288 468 290.98178 468 294.66 L 468 371.34 C 468 375.01822 465.01822 378 461.34 378 L 330.66 378 C 326.98178 378 324 375.01822 324 371.34 L 324 294.66 C 324 290.98178 326.98178 288 330.66 288 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(326 290)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="30
 .973145" y="10" textLength="73.930664">Partition Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="104.356934" y="10" textLength="6.669922">A</tspan></text></g><rect x="333" y="308.25" width="58.5" height="58.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id18_Graphic"><path d="M 373.41 315 L 378.09 315 C 381.76822 315 384.75 317.98178 384.75 321.66 L 384.75 326.34 C 384.75 330.01822 381.76822 333 378.09 333 L 373.41 333 C 369.73178 333 366.75 330.01822 366.75 326.34 L 366.75 321.66 C 366.75 317.98178 369.73178 315 373.41 315 Z" fill="url(#Obj_Gradient_d)"/><path d="M 373.41 315 L 378.09 315 C 381.76822 315 384.75 317.98178 384.75 321.66 L 384.75 326.34 C 384.75 330.01822 381.76822 333 378.09 333 L 373.41 333 C 369.73178 333 366.75 330.01822 366.75 326.34 L 366.75 321.66 C 366.75 317.98178 369.73178 315 373.41 315 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke
 -width=".72000003"/></g><g id="id19_Graphic"><path d="M 346.41 315 L 351.09 315 C 354.76822 315 357.75 317.98178 357.75 321.66 L 357.75 326.34 C 357.75 330.01822 354.76822 333 351.09 333 L 346.41 333 C 342.73178 333 339.75 330.01822 339.75 326.34 L 339.75 321.66 C 339.75 317.98178 342.73178 315 346.41 315 Z" fill="url(#Obj_Gradient_e)"/><path d="M 346.41 315 L 351.09 315 C 354.76822 315 357.75 317.98178 357.75 321.66 L 357.75 326.34 C 357.75 330.01822 354.76822 333 351.09 333 L 346.41 333 C 342.73178 333 339.75 330.01822 339.75 326.34 L 339.75 321.66 C 339.75 317.98178 342.73178 315 346.41 315 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id20_Graphic"><path d="M 373.41 339.75 L 378.09 339.75 C 381.76822 339.75 384.75 342.73178 384.75 346.41 L 384.75 351.09 C 384.75 354.76822 381.76822 357.75 378.09 357.75 L 373.41 357.75 C 369.73178 357.75 366.75 354.76822 366.75 351.09 L 366.75 346.41 C 366.75 342.73178 369.73178 339.75 373
 .41 339.75 Z" fill="url(#Obj_Gradient_f)"/><path d="M 373.41 339.75 L 378.09 339.75 C 381.76822 339.75 384.75 342.73178 384.75 346.41 L 384.75 351.09 C 384.75 354.76822 381.76822 357.75 378.09 357.75 L 373.41 357.75 C 369.73178 357.75 366.75 354.76822 366.75 351.09 L 366.75 346.41 C 366.75 342.73178 369.73178 339.75 373.41 339.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id21_Graphic"><path d="M 346.41 339.75 L 351.09 339.75 C 354.76822 339.75 357.75 342.73178 357.75 346.41 L 357.75 351.09 C 357.75 354.76822 354.76822 357.75 351.09 357.75 L 346.41 357.75 C 342.73178 357.75 339.75 354.76822 339.75 351.09 L 339.75 346.41 C 339.75 342.73178 342.73178 339.75 346.41 339.75 Z" fill="url(#Obj_Gradient_10)"/><path d="M 346.41 339.75 L 351.09 339.75 C 354.76822 339.75 357.75 342.73178 357.75 346.41 L 357.75 351.09 C 357.75 354.76822 354.76822 357.75 351.09 357.75 L 346.41 357.75 C 342.73178 357.75 339.75 354.76822 339.75 351.09 L 
 339.75 346.41 C 339.75 342.73178 342.73178 339.75 346.41 339.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><rect x="400.5" y="308.25" width="58.5" height="58.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id23_Graphic"><path d="M 440.91 315 L 445.59 315 C 449.26822 315 452.25 317.98178 452.25 321.66 L 452.25 326.34 C 452.25 330.01822 449.26822 333 445.59 333 L 440.91 333 C 437.23178 333 434.25 330.01822 434.25 326.34 L 434.25 321.66 C 434.25 317.98178 437.23178 315 440.91 315 Z" fill="url(#Obj_Gradient_11)"/><path d="M 440.91 315 L 445.59 315 C 449.26822 315 452.25 317.98178 452.25 321.66 L 452.25 326.34 C 452.25 330.01822 449.26822 333 445.59 333 L 440.91 333 C 437.23178 333 434.25 330.01822 434.25 326.34 L 434.25 321.66 C 434.25 317.98178 437.23178 315 440.91 315 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id24_Graph
 ic"><path d="M 413.91 315 L 418.59 315 C 422.26822 315 425.25 317.98178 425.25 321.66 L 425.25 326.34 C 425.25 330.01822 422.26822 333 418.59 333 L 413.91 333 C 410.23178 333 407.25 330.01822 407.25 326.34 L 407.25 321.66 C 407.25 317.98178 410.23178 315 413.91 315 Z" fill="url(#Obj_Gradient_12)"/><path d="M 413.91 315 L 418.59 315 C 422.26822 315 425.25 317.98178 425.25 321.66 L 425.25 326.34 C 425.25 330.01822 422.26822 333 418.59 333 L 413.91 333 C 410.23178 333 407.25 330.01822 407.25 326.34 L 407.25 321.66 C 407.25 317.98178 410.23178 315 413.91 315 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id25_Graphic"><path d="M 440.91 339.75 L 445.59 339.75 C 449.26822 339.75 452.25 342.73178 452.25 346.41 L 452.25 351.09 C 452.25 354.76822 449.26822 357.75 445.59 357.75 L 440.91 357.75 C 437.23178 357.75 434.25 354.76822 434.25 351.09 L 434.25 346.41 C 434.25 342.73178 437.23178 339.75 440.91 339.75 Z" fill="url(#Obj_Gradient_13
 )"/><path d="M 440.91 339.75 L 445.59 339.75 C 449.26822 339.75 452.25 342.73178 452.25 346.41 L 452.25 351.09 C 452.25 354.76822 449.26822 357.75 445.59 357.75 L 440.91 357.75 C 437.23178 357.75 434.25 354.76822 434.25 351.09 L 434.25 346.41 C 434.25 342.73178 437.23178 339.75 440.91 339.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id26_Graphic"><path d="M 413.91 339.75 L 418.59 339.75 C 422.26822 339.75 425.25 342.73178 425.25 346.41 L 425.25 351.09 C 425.25 354.76822 422.26822 357.75 418.59 357.75 L 413.91 357.75 C 410.23178 357.75 407.25 354.76822 407.25 351.09 L 407.25 346.41 C 407.25 342.73178 410.23178 339.75 413.91 339.75 Z" fill="url(#Obj_Gradient_14)"/><path d="M 413.91 339.75 L 418.59 339.75 C 422.26822 339.75 425.25 342.73178 425.25 346.41 L 425.25 351.09 C 425.25 354.76822 422.26822 357.75 418.59 357.75 L 413.91 357.75 C 410.23178 357.75 407.25 354.76822 407.25 351.09 L 407.25 346.41 C 407.25 342.73178 410.23
 178 339.75 413.91 339.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id27_Graphic"><path d="M 179.91 414 L 414.09 414 C 417.76822 414 420.75 416.98178 420.75 420.66 L 420.75 551.34 C 420.75 555.0182 417.76822 558 414.09 558 L 179.91 558 C 176.23178 558 173.25 555.0182 173.25 551.34 L 173.25 420.66 C 173.25 416.98178 176.23178 414 179.91 414 Z" fill="url(#Obj_Gradient_15)"/><path d="M 179.91 414 L 414.09 414 C 417.76822 414 420.75 416.98178 420.75 420.66 L 420.75 551.34 C 420.75 555.0182 417.76822 558 414.09 558 L 179.91 558 C 176.23178 558 173.25 555.0182 173.25 551.34 L 173.25 420.66 C 173.25 416.98178 176.23178 414 179.91 414 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(177.25 418)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="155.49316" y="14" textLength="84.006836">Member (M3)</tspan></text></g><g i
 d="id28_Graphic"><path d="M 197.91 450 L 396.09 450 C 399.76822 450 402.75 452.98178 402.75 456.66 L 402.75 533.34 C 402.75 537.01822 399.76822 540 396.09 540 L 197.91 540 C 194.23178 540 191.25 537.01822 191.25 533.34 L 191.25 456.66 C 191.25 452.98178 194.23178 450 197.91 450 Z" fill="url(#Obj_Gradient_16)"/><path d="M 197.91 450 L 396.09 450 C 399.76822 450 402.75 452.98178 402.75 456.66 L 402.75 533.34 C 402.75 537.01822 399.76822 540 396.09 540 L 197.91 540 C 194.23178 540 191.25 537.01822 191.25 533.34 L 191.25 456.66 C 191.25 452.98178 194.23178 450 197.91 450 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(193.25 452)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="64.723145" y="10" textLength="73.930664">Partition Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="138.10693" y="10" textLength="6.669922">A</tspan></
 text></g><rect x="200.25" y="470.25" width="58.5" height="58.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id30_Graphic"><path d="M 240.66 477 L 245.34 477 C 249.01822 477 252 479.98178 252 483.66 L 252 488.34 C 252 492.01822 249.01822 495 245.34 495 L 240.66 495 C 236.98178 495 234 492.01822 234 488.34 L 234 483.66 C 234 479.98178 236.98178 477 240.66 477 Z" fill="url(#Obj_Gradient_17)"/><path d="M 240.66 477 L 245.34 477 C 249.01822 477 252 479.98178 252 483.66 L 252 488.34 C 252 492.01822 249.01822 495 245.34 495 L 240.66 495 C 236.98178 495 234 492.01822 234 488.34 L 234 483.66 C 234 479.98178 236.98178 477 240.66 477 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id31_Graphic"><path d="M 213.66 477 L 218.34 477 C 222.01822 477 225 479.98178 225 483.66 L 225 488.34 C 225 492.01822 222.01822 495 218.34 495 L 213.66 495 C 209.98178 495 207 492.01822 207 488.34 L 207 483.6
 6 C 207 479.98178 209.98178 477 213.66 477 Z" fill="url(#Obj_Gradient_18)"/><path d="M 213.66 477 L 218.34 477 C 222.01822 477 225 479.98178 225 483.66 L 225 488.34 C 225 492.01822 222.01822 495 218.34 495 L 213.66 495 C 209.98178 495 207 492.01822 207 488.34 L 207 483.66 C 207 479.98178 209.98178 477 213.66 477 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id32_Graphic"><path d="M 240.66 501.75 L 245.34 501.75 C 249.01822 501.75 252 504.73178 252 508.41 L 252 513.09 C 252 516.76822 249.01822 519.75 245.34 519.75 L 240.66 519.75 C 236.98178 519.75 234 516.76822 234 513.09 L 234 508.41 C 234 504.73178 236.98178 501.75 240.66 501.75 Z" fill="url(#Obj_Gradient_19)"/><path d="M 240.66 501.75 L 245.34 501.75 C 249.01822 501.75 252 504.73178 252 508.41 L 252 513.09 C 252 516.76822 249.01822 519.75 245.34 519.75 L 240.66 519.75 C 236.98178 519.75 234 516.76822 234 513.09 L 234 508.41 C 234 504.73178 236.98178 501.75 240.66 501.75 Z"
  stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id33_Graphic"><path d="M 213.66 501.75 L 218.34 501.75 C 222.01822 501.75 225 504.73178 225 508.41 L 225 513.09 C 225 516.76822 222.01822 519.75 218.34 519.75 L 213.66 519.75 C 209.98178 519.75 207 516.76822 207 513.09 L 207 508.41 C 207 504.73178 209.98178 501.75 213.66 501.75 Z" fill="url(#Obj_Gradient_1a)"/><path d="M 213.66 501.75 L 218.34 501.75 C 222.01822 501.75 225 504.73178 225 508.41 L 225 513.09 C 225 516.76822 222.01822 519.75 218.34 519.75 L 213.66 519.75 C 209.98178 519.75 207 516.76822 207 513.09 L 207 508.41 C 207 504.73178 209.98178 501.75 213.66 501.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><rect x="267.75" y="470.25" width="58.5" height="58.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id35_Graphic"><path d="M 308.16 477 L 312.84 477 C 316.51822 477 319.
 5 479.98178 319.5 483.66 L 319.5 488.34 C 319.5 492.01822 316.51822 495 312.84 495 L 308.16 495 C 304.48178 495 301.5 492.01822 301.5 488.34 L 301.5 483.66 C 301.5 479.98178 304.48178 477 308.16 477 Z" fill="url(#Obj_Gradient_1b)"/><path d="M 308.16 477 L 312.84 477 C 316.51822 477 319.5 479.98178 319.5 483.66 L 319.5 488.34 C 319.5 492.01822 316.51822 495 312.84 495 L 308.16 495 C 304.48178 495 301.5 492.01822 301.5 488.34 L 301.5 483.66 C 301.5 479.98178 304.48178 477 308.16 477 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id36_Graphic"><path d="M 281.16 477 L 285.84 477 C 289.51822 477 292.5 479.98178 292.5 483.66 L 292.5 488.34 C 292.5 492.01822 289.51822 495 285.84 495 L 281.16 495 C 277.48178 495 274.5 492.01822 274.5 488.34 L 274.5 483.66 C 274.5 479.98178 277.48178 477 281.16 477 Z" fill="url(#Obj_Gradient_1c)"/><path d="M 281.16 477 L 285.84 477 C 289.51822 477 292.5 479.98178 292.5 483.66 L 292.5 488.34 C 292.5 492
 .01822 289.51822 495 285.84 495 L 281.16 495 C 277.48178 495 274.5 492.01822 274.5 488.34 L 274.5 483.66 C 274.5 479.98178 277.48178 477 281.16 477 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id37_Graphic"><path d="M 308.16 501.75 L 312.84 501.75 C 316.51822 501.75 319.5 504.73178 319.5 508.41 L 319.5 513.09 C 319.5 516.76822 316.51822 519.75 312.84 519.75 L 308.16 519.75 C 304.48178 519.75 301.5 516.76822 301.5 513.09 L 301.5 508.41 C 301.5 504.73178 304.48178 501.75 308.16 501.75 Z" fill="url(#Obj_Gradient_1d)"/><path d="M 308.16 501.75 L 312.84 501.75 C 316.51822 501.75 319.5 504.73178 319.5 508.41 L 319.5 513.09 C 319.5 516.76822 316.51822 519.75 312.84 519.75 L 308.16 519.75 C 304.48178 519.75 301.5 516.76822 301.5 513.09 L 301.5 508.41 C 301.5 504.73178 304.48178 501.75 308.16 501.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id38_Graphic"><path d="M 281.16 
 501.75 L 285.84 501.75 C 289.51822 501.75 292.5 504.73178 292.5 508.41 L 292.5 513.09 C 292.5 516.76822 289.51822 519.75 285.84 519.75 L 281.16 519.75 C 277.48178 519.75 274.5 516.76822 274.5 513.09 L 274.5 508.41 C 274.5 504.73178 277.48178 501.75 281.16 501.75 Z" fill="url(#Obj_Gradient_1e)"/><path d="M 281.16 501.75 L 285.84 501.75 C 289.51822 501.75 292.5 504.73178 292.5 508.41 L 292.5 513.09 C 292.5 516.76822 289.51822 519.75 285.84 519.75 L 281.16 519.75 C 277.48178 519.75 274.5 516.76822 274.5 513.09 L 274.5 508.41 C 274.5 504.73178 277.48178 501.75 281.16 501.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><rect x="335.25" y="470.25" width="58.5" height="58.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id40_Graphic"><path d="M 375.66 477 L 380.34 477 C 384.01822 477 387 479.98178 387 483.66 L 387 488.34 C 387 492.01822 384.01822 495 380.34 495 L 375.66 495 C 371.98178 49
 5 369 492.01822 369 488.34 L 369 483.66 C 369 479.98178 371.98178 477 375.66 477 Z" fill="url(#Obj_Gradient_1f)"/><path d="M 375.66 477 L 380.34 477 C 384.01822 477 387 479.98178 387 483.66 L 387 488.34 C 387 492.01822 384.01822 495 380.34 495 L 375.66 495 C 371.98178 495 369 492.01822 369 488.34 L 369 483.66 C 369 479.98178 371.98178 477 375.66 477 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id41_Graphic"><path d="M 348.66 477 L 353.34 477 C 357.01822 477 360 479.98178 360 483.66 L 360 488.34 C 360 492.01822 357.01822 495 353.34 495 L 348.66 495 C 344.98178 495 342 492.01822 342 488.34 L 342 483.66 C 342 479.98178 344.98178 477 348.66 477 Z" fill="url(#Obj_Gradient_20)"/><path d="M 348.66 477 L 353.34 477 C 357.01822 477 360 479.98178 360 483.66 L 360 488.34 C 360 492.01822 357.01822 495 353.34 495 L 348.66 495 C 344.98178 495 342 492.01822 342 488.34 L 342 483.66 C 342 479.98178 344.98178 477 348.66 477 Z" stroke="#252525
 " stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id42_Graphic"><path d="M 375.66 501.75 L 380.34 501.75 C 384.01822 501.75 387 504.73178 387 508.41 L 387 513.09 C 387 516.76822 384.01822 519.75 380.34 519.75 L 375.66 519.75 C 371.98178 519.75 369 516.76822 369 513.09 L 369 508.41 C 369 504.73178 371.98178 501.75 375.66 501.75 Z" fill="url(#Obj_Gradient_21)"/><path d="M 375.66 501.75 L 380.34 501.75 C 384.01822 501.75 387 504.73178 387 508.41 L 387 513.09 C 387 516.76822 384.01822 519.75 380.34 519.75 L 375.66 519.75 C 371.98178 519.75 369 516.76822 369 513.09 L 369 508.41 C 369 504.73178 371.98178 501.75 375.66 501.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id43_Graphic"><path d="M 348.66 501.75 L 353.34 501.75 C 357.01822 501.75 360 504.73178 360 508.41 L 360 513.09 C 360 516.76822 357.01822 519.75 353.34 519.75 L 348.66 519.75 C 344.98178 519.75 342 516.76822 342 513.09 L 342 508.4
 1 C 342 504.73178 344.98178 501.75 348.66 501.75 Z" fill="url(#Obj_Gradient_22)"/><path d="M 348.66 501.75 L 353.34 501.75 C 357.01822 501.75 360 504.73178 360 508.41 L 360 513.09 C 360 516.76822 357.01822 519.75 353.34 519.75 L 348.66 519.75 C 344.98178 519.75 342 516.76822 342 513.09 L 342 508.41 C 342 504.73178 344.98178 501.75 348.66 501.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/partitioned_data_buckets_2.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/partitioned_data_buckets_2.svg b/geode-docs/images_svg/partitioned_data_buckets_2.svg
new file mode 100644
index 0000000..a996ca7
--- /dev/null
+++ b/geode-docs/images_svg/partitioned_data_buckets_2.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="95 239 409 337" width="409pt" height="337pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 10:47Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".3" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(288 396) scale(172.88435)"/><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underline-posi
 tion="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(270 387) scale(131.06129)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_2" gradientTransform="translate(193.5 337.5) scale(
 19.091883)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(166.5 337.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient_2" gradientTransform="translate(193.5 362.25) scale(19.091883)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(166.5 362.25) scale(19.091883)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(247.5 330.75) scale(19.091883)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(220.5 337.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient_2" gradientTransform="translate(247.5 353.25) scale(19.091883)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_2" gradientTransform="translate(220.5 362.25) scale(19.091883)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient_2" gradientTransform="translate(247.5 375.75) scale(19.091883)"/><radialGradient id="Obj_Gr
 adient_c" xl:href="#Gradient" gradientTransform="translate(486 396) scale(172.88435)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient" gradientTransform="translate(468 387) scale(131.06129)"/><radialGradient id="Obj_Gradient_e" xl:href="#Gradient_2" gradientTransform="translate(391.5 337.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_f" xl:href="#Gradient_2" gradientTransform="translate(364.5 337.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_10" xl:href="#Gradient_2" gradientTransform="translate(391.5 362.25) scale(19.091883)"/><radialGradient id="Obj_Gradient_11" xl:href="#Gradient_2" gradientTransform="translate(364.5 362.25) scale(19.091883)"/><radialGradient id="Obj_Gradient_12" xl:href="#Gradient_2" gradientTransform="translate(445.5 330.75) scale(19.091883)"/><radialGradient id="Obj_Gradient_13" xl:href="#Gradient_2" gradientTransform="translate(418.5 337.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_14" xl:href="#Gradient_2" gradientTransform
 ="translate(445.5 353.25) scale(19.091883)"/><radialGradient id="Obj_Gradient_15" xl:href="#Gradient_2" gradientTransform="translate(418.5 362.25) scale(19.091883)"/><radialGradient id="Obj_Gradient_16" xl:href="#Gradient_2" gradientTransform="translate(445.5 375.75) scale(19.091883)"/><radialGradient id="Obj_Gradient_17" xl:href="#Gradient" gradientTransform="translate(400.5 558) scale(189.1205)"/><radialGradient id="Obj_Gradient_18" xl:href="#Gradient" gradientTransform="translate(382.5 549) scale(148.19286)"/><radialGradient id="Obj_Gradient_19" xl:href="#Gradient_2" gradientTransform="translate(279 499.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_1a" xl:href="#Gradient_2" gradientTransform="translate(252 499.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_1b" xl:href="#Gradient_2" gradientTransform="translate(279 524.25) scale(19.091883)"/><radialGradient id="Obj_Gradient_1c" xl:href="#Gradient_2" gradientTransform="translate(252 524.25) scale(19.091883)"/><radi
 alGradient id="Obj_Gradient_1d" xl:href="#Gradient_2" gradientTransform="translate(306 499.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_1e" xl:href="#Gradient_2" gradientTransform="translate(306 524.25) scale(19.091883)"/><radialGradient id="Obj_Gradient_1f" xl:href="#Gradient_2" gradientTransform="translate(333 499.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_20" xl:href="#Gradient_2" gradientTransform="translate(333 524.25) scale(19.091883)"/><radialGradient id="Obj_Gradient_21" xl:href="#Gradient_2" gradientTransform="translate(360 499.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_22" xl:href="#Gradient_2" gradientTransform="translate(360 524.25) scale(19.091883)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>buckets-2</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filt
 er="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id13_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id18_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id19_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id21_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id22_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id23_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id24_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id25_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id26_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id27_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id28_Graphic" filter="url(#S
 hadow)"/><xl:use xl:href="#id29_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id33_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id34_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id36_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id37_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id38_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id39_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id40_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id41_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id44_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id45_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id46_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id47_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 114.66 252 L 281.34 252 C 285.01822 252 288 254.98178 288 258.66 L 288 389.34 C 288 393.01822 285.01822 396 281.34 396 L 114.66 396 C 110.981783 396 108 393.01822 108 389.34 L 108 258.66 C 108 254.98178 110.981783 252 114.66 252 Z" fill="
 url(#Obj_Gradient)"/><path d="M 114.66 252 L 281.34 252 C 285.01822 252 288 254.98178 288 258.66 L 288 389.34 C 288 393.01822 285.01822 396 281.34 396 L 114.66 396 C 110.981783 396 108 393.01822 108 389.34 L 108 258.66 C 108 254.98178 110.981783 252 114.66 252 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(112 256)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="87.993164" y="14" textLength="84.006836">Member (M1)</tspan></text></g><g id="id4_Graphic"><path d="M 132.66 288 L 263.34 288 C 267.01822 288 270 290.98178 270 294.66 L 270 380.34 C 270 384.01822 267.01822 387 263.34 387 L 132.66 387 C 128.98178 387 126 384.01822 126 380.34 L 126 294.66 C 126 290.98178 128.98178 288 132.66 288 Z" fill="url(#Obj_Gradient_2)"/><path d="M 132.66 288 L 263.34 288 C 267.01822 288 270 290.98178 270 294.66 L 270 380.34 C 270 384.01822 267.01822 387 263.34 387 L 132.66 387 C 128.981
 78 387 126 384.01822 126 380.34 L 126 294.66 C 126 290.98178 128.98178 288 132.66 288 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(128 290)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="30.973145" y="10" textLength="73.930664">Partition Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="104.356934" y="10" textLength="6.669922">A</tspan></text></g><rect x="146.25" y="306" width="22.5" height="72" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id6_Graphic"><path d="M 182.16 319.5 L 186.84 319.5 C 190.51822 319.5 193.5 322.48178 193.5 326.16 L 193.5 330.84 C 193.5 334.51822 190.51822 337.5 186.84 337.5 L 182.16 337.5 C 178.48178 337.5 175.5 334.51822 175.5 330.84 L 175.5 326.16 C 175.5 322.48178 178.48178 319.5 182.16 319.5 Z" fill="url(#Obj_Gradient_3)"/><path d="M 182.16
  319.5 L 186.84 319.5 C 190.51822 319.5 193.5 322.48178 193.5 326.16 L 193.5 330.84 C 193.5 334.51822 190.51822 337.5 186.84 337.5 L 182.16 337.5 C 178.48178 337.5 175.5 334.51822 175.5 330.84 L 175.5 326.16 C 175.5 322.48178 178.48178 319.5 182.16 319.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id7_Graphic"><path d="M 155.16 319.5 L 159.84 319.5 C 163.51822 319.5 166.5 322.48178 166.5 326.16 L 166.5 330.84 C 166.5 334.51822 163.51822 337.5 159.84 337.5 L 155.16 337.5 C 151.48178 337.5 148.5 334.51822 148.5 330.84 L 148.5 326.16 C 148.5 322.48178 151.48178 319.5 155.16 319.5 Z" fill="url(#Obj_Gradient_4)"/><path d="M 155.16 319.5 L 159.84 319.5 C 163.51822 319.5 166.5 322.48178 166.5 326.16 L 166.5 330.84 C 166.5 334.51822 163.51822 337.5 159.84 337.5 L 155.16 337.5 C 151.48178 337.5 148.5 334.51822 148.5 330.84 L 148.5 326.16 C 148.5 322.48178 151.48178 319.5 155.16 319.5 Z" stroke="#252525" stroke-linecap="round" stroke
 -linejoin="round" stroke-width=".72000003"/></g><g id="id8_Graphic"><path d="M 182.16 344.25 L 186.84 344.25 C 190.51822 344.25 193.5 347.23178 193.5 350.91 L 193.5 355.59 C 193.5 359.26822 190.51822 362.25 186.84 362.25 L 182.16 362.25 C 178.48178 362.25 175.5 359.26822 175.5 355.59 L 175.5 350.91 C 175.5 347.23178 178.48178 344.25 182.16 344.25 Z" fill="url(#Obj_Gradient_5)"/><path d="M 182.16 344.25 L 186.84 344.25 C 190.51822 344.25 193.5 347.23178 193.5 350.91 L 193.5 355.59 C 193.5 359.26822 190.51822 362.25 186.84 362.25 L 182.16 362.25 C 178.48178 362.25 175.5 359.26822 175.5 355.59 L 175.5 350.91 C 175.5 347.23178 178.48178 344.25 182.16 344.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id9_Graphic"><path d="M 155.16 344.25 L 159.84 344.25 C 163.51822 344.25 166.5 347.23178 166.5 350.91 L 166.5 355.59 C 166.5 359.26822 163.51822 362.25 159.84 362.25 L 155.16 362.25 C 151.48178 362.25 148.5 359.26822 148.5 355.59 L
  148.5 350.91 C 148.5 347.23178 151.48178 344.25 155.16 344.25 Z" fill="url(#Obj_Gradient_6)"/><path d="M 155.16 344.25 L 159.84 344.25 C 163.51822 344.25 166.5 347.23178 166.5 350.91 L 166.5 355.59 C 166.5 359.26822 163.51822 362.25 159.84 362.25 L 155.16 362.25 C 151.48178 362.25 148.5 359.26822 148.5 355.59 L 148.5 350.91 C 148.5 347.23178 151.48178 344.25 155.16 344.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id10_Graphic"><path d="M 236.16 312.75 L 240.84 312.75 C 244.51822 312.75 247.5 315.73178 247.5 319.41 L 247.5 324.09 C 247.5 327.76822 244.51822 330.75 240.84 330.75 L 236.16 330.75 C 232.48178 330.75 229.5 327.76822 229.5 324.09 L 229.5 319.41 C 229.5 315.73178 232.48178 312.75 236.16 312.75 Z" fill="url(#Obj_Gradient_7)"/><path d="M 236.16 312.75 L 240.84 312.75 C 244.51822 312.75 247.5 315.73178 247.5 319.41 L 247.5 324.09 C 247.5 327.76822 244.51822 330.75 240.84 330.75 L 236.16 330.75 C 232.48178 330.75 22
 9.5 327.76822 229.5 324.09 L 229.5 319.41 C 229.5 315.73178 232.48178 312.75 236.16 312.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id11_Graphic"><path d="M 209.16 319.5 L 213.84 319.5 C 217.51822 319.5 220.5 322.48178 220.5 326.16 L 220.5 330.84 C 220.5 334.51822 217.51822 337.5 213.84 337.5 L 209.16 337.5 C 205.48178 337.5 202.5 334.51822 202.5 330.84 L 202.5 326.16 C 202.5 322.48178 205.48178 319.5 209.16 319.5 Z" fill="url(#Obj_Gradient_8)"/><path d="M 209.16 319.5 L 213.84 319.5 C 217.51822 319.5 220.5 322.48178 220.5 326.16 L 220.5 330.84 C 220.5 334.51822 217.51822 337.5 213.84 337.5 L 209.16 337.5 C 205.48178 337.5 202.5 334.51822 202.5 330.84 L 202.5 326.16 C 202.5 322.48178 205.48178 319.5 209.16 319.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id12_Graphic"><path d="M 236.16 335.25 L 240.84 335.25 C 244.51822 335.25 247.5 338.23178 247.5 341.91 L 247
 .5 346.59 C 247.5 350.26822 244.51822 353.25 240.84 353.25 L 236.16 353.25 C 232.48178 353.25 229.5 350.26822 229.5 346.59 L 229.5 341.91 C 229.5 338.23178 232.48178 335.25 236.16 335.25 Z" fill="url(#Obj_Gradient_9)"/><path d="M 236.16 335.25 L 240.84 335.25 C 244.51822 335.25 247.5 338.23178 247.5 341.91 L 247.5 346.59 C 247.5 350.26822 244.51822 353.25 240.84 353.25 L 236.16 353.25 C 232.48178 353.25 229.5 350.26822 229.5 346.59 L 229.5 341.91 C 229.5 338.23178 232.48178 335.25 236.16 335.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id13_Graphic"><path d="M 209.16 344.25 L 213.84 344.25 C 217.51822 344.25 220.5 347.23178 220.5 350.91 L 220.5 355.59 C 220.5 359.26822 217.51822 362.25 213.84 362.25 L 209.16 362.25 C 205.48178 362.25 202.5 359.26822 202.5 355.59 L 202.5 350.91 C 202.5 347.23178 205.48178 344.25 209.16 344.25 Z" fill="url(#Obj_Gradient_a)"/><path d="M 209.16 344.25 L 213.84 344.25 C 217.51822 344.25 220.5 
 347.23178 220.5 350.91 L 220.5 355.59 C 220.5 359.26822 217.51822 362.25 213.84 362.25 L 209.16 362.25 C 205.48178 362.25 202.5 359.26822 202.5 355.59 L 202.5 350.91 C 202.5 347.23178 205.48178 344.25 209.16 344.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id14_Graphic"><path d="M 236.16 357.75 L 240.84 357.75 C 244.51822 357.75 247.5 360.73178 247.5 364.41 L 247.5 369.09 C 247.5 372.76822 244.51822 375.75 240.84 375.75 L 236.16 375.75 C 232.48178 375.75 229.5 372.76822 229.5 369.09 L 229.5 364.41 C 229.5 360.73178 232.48178 357.75 236.16 357.75 Z" fill="url(#Obj_Gradient_b)"/><path d="M 236.16 357.75 L 240.84 357.75 C 244.51822 357.75 247.5 360.73178 247.5 364.41 L 247.5 369.09 C 247.5 372.76822 244.51822 375.75 240.84 375.75 L 236.16 375.75 C 232.48178 375.75 229.5 372.76822 229.5 369.09 L 229.5 364.41 C 229.5 360.73178 232.48178 357.75 236.16 357.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" str
 oke-width=".72000003"/></g><rect x="173.25" y="306" width="22.5" height="72" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="200.25" y="306" width="22.5" height="72" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="227.25" y="306" width="22.5" height="72" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id18_Graphic"><path d="M 312.66 252 L 479.34 252 C 483.01822 252 486 254.98178 486 258.66 L 486 389.34 C 486 393.01822 483.01822 396 479.34 396 L 312.66 396 C 308.98178 396 306 393.01822 306 389.34 L 306 258.66 C 306 254.98178 308.98178 252 312.66 252 Z" fill="url(#Obj_Gradient_c)"/><path d="M 312.66 252 L 479.34 252 C 483.01822 252 486 254.98178 486 258.66 L 486 389.34 C 486 393.01822 483.01822 396 479.34 396 L 312.66 396 C 308.98178 396 306 393.01822 306 389.34 L 306 258.66 C 306 254.98178 308.98178 252 312.66 252 Z" stroke="#252525" s
 troke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(310 256)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="87.993164" y="14" textLength="84.006836">Member (M2)</tspan></text></g><g id="id19_Graphic"><path d="M 330.66 288 L 461.34 288 C 465.01822 288 468 290.98178 468 294.66 L 468 380.34 C 468 384.01822 465.01822 387 461.34 387 L 330.66 387 C 326.98178 387 324 384.01822 324 380.34 L 324 294.66 C 324 290.98178 326.98178 288 330.66 288 Z" fill="url(#Obj_Gradient_d)"/><path d="M 330.66 288 L 461.34 288 C 465.01822 288 468 290.98178 468 294.66 L 468 380.34 C 468 384.01822 465.01822 387 461.34 387 L 330.66 387 C 326.98178 387 324 384.01822 324 380.34 L 324 294.66 C 324 290.98178 326.98178 288 330.66 288 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(326 290)" fill="black"><tspan font-family="Helvetica" font-size="10" font-w
 eight="500" fill="black" x="30.973145" y="10" textLength="73.930664">Partition Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="104.356934" y="10" textLength="6.669922">A</tspan></text></g><rect x="344.25" y="306" width="22.5" height="72" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id21_Graphic"><path d="M 380.16 319.5 L 384.84 319.5 C 388.51822 319.5 391.5 322.48178 391.5 326.16 L 391.5 330.84 C 391.5 334.51822 388.51822 337.5 384.84 337.5 L 380.16 337.5 C 376.48178 337.5 373.5 334.51822 373.5 330.84 L 373.5 326.16 C 373.5 322.48178 376.48178 319.5 380.16 319.5 Z" fill="url(#Obj_Gradient_e)"/><path d="M 380.16 319.5 L 384.84 319.5 C 388.51822 319.5 391.5 322.48178 391.5 326.16 L 391.5 330.84 C 391.5 334.51822 388.51822 337.5 384.84 337.5 L 380.16 337.5 C 376.48178 337.5 373.5 334.51822 373.5 330.84 L 373.5 326.16 C 373.5 322.48178 376.48178 319.5 380.16 319.5 Z" stroke="#252525" strok
 e-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id22_Graphic"><path d="M 353.16 319.5 L 357.84 319.5 C 361.51822 319.5 364.5 322.48178 364.5 326.16 L 364.5 330.84 C 364.5 334.51822 361.51822 337.5 357.84 337.5 L 353.16 337.5 C 349.48178 337.5 346.5 334.51822 346.5 330.84 L 346.5 326.16 C 346.5 322.48178 349.48178 319.5 353.16 319.5 Z" fill="url(#Obj_Gradient_f)"/><path d="M 353.16 319.5 L 357.84 319.5 C 361.51822 319.5 364.5 322.48178 364.5 326.16 L 364.5 330.84 C 364.5 334.51822 361.51822 337.5 357.84 337.5 L 353.16 337.5 C 349.48178 337.5 346.5 334.51822 346.5 330.84 L 346.5 326.16 C 346.5 322.48178 349.48178 319.5 353.16 319.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id23_Graphic"><path d="M 380.16 344.25 L 384.84 344.25 C 388.51822 344.25 391.5 347.23178 391.5 350.91 L 391.5 355.59 C 391.5 359.26822 388.51822 362.25 384.84 362.25 L 380.16 362.25 C 376.48178 362.25 373.5 359.26822 373.5 
 355.59 L 373.5 350.91 C 373.5 347.23178 376.48178 344.25 380.16 344.25 Z" fill="url(#Obj_Gradient_10)"/><path d="M 380.16 344.25 L 384.84 344.25 C 388.51822 344.25 391.5 347.23178 391.5 350.91 L 391.5 355.59 C 391.5 359.26822 388.51822 362.25 384.84 362.25 L 380.16 362.25 C 376.48178 362.25 373.5 359.26822 373.5 355.59 L 373.5 350.91 C 373.5 347.23178 376.48178 344.25 380.16 344.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id24_Graphic"><path d="M 353.16 344.25 L 357.84 344.25 C 361.51822 344.25 364.5 347.23178 364.5 350.91 L 364.5 355.59 C 364.5 359.26822 361.51822 362.25 357.84 362.25 L 353.16 362.25 C 349.48178 362.25 346.5 359.26822 346.5 355.59 L 346.5 350.91 C 346.5 347.23178 349.48178 344.25 353.16 344.25 Z" fill="url(#Obj_Gradient_11)"/><path d="M 353.16 344.25 L 357.84 344.25 C 361.51822 344.25 364.5 347.23178 364.5 350.91 L 364.5 355.59 C 364.5 359.26822 361.51822 362.25 357.84 362.25 L 353.16 362.25 C 349.48178
  362.25 346.5 359.26822 346.5 355.59 L 346.5 350.91 C 346.5 347.23178 349.48178 344.25 353.16 344.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id25_Graphic"><path d="M 434.16 312.75 L 438.84 312.75 C 442.51822 312.75 445.5 315.73178 445.5 319.41 L 445.5 324.09 C 445.5 327.76822 442.51822 330.75 438.84 330.75 L 434.16 330.75 C 430.48178 330.75 427.5 327.76822 427.5 324.09 L 427.5 319.41 C 427.5 315.73178 430.48178 312.75 434.16 312.75 Z" fill="url(#Obj_Gradient_12)"/><path d="M 434.16 312.75 L 438.84 312.75 C 442.51822 312.75 445.5 315.73178 445.5 319.41 L 445.5 324.09 C 445.5 327.76822 442.51822 330.75 438.84 330.75 L 434.16 330.75 C 430.48178 330.75 427.5 327.76822 427.5 324.09 L 427.5 319.41 C 427.5 315.73178 430.48178 312.75 434.16 312.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id26_Graphic"><path d="M 407.16 319.5 L 411.84 319.5 C 415.51822 319.5 418.5 32
 2.48178 418.5 326.16 L 418.5 330.84 C 418.5 334.51822 415.51822 337.5 411.84 337.5 L 407.16 337.5 C 403.48178 337.5 400.5 334.51822 400.5 330.84 L 400.5 326.16 C 400.5 322.48178 403.48178 319.5 407.16 319.5 Z" fill="url(#Obj_Gradient_13)"/><path d="M 407.16 319.5 L 411.84 319.5 C 415.51822 319.5 418.5 322.48178 418.5 326.16 L 418.5 330.84 C 418.5 334.51822 415.51822 337.5 411.84 337.5 L 407.16 337.5 C 403.48178 337.5 400.5 334.51822 400.5 330.84 L 400.5 326.16 C 400.5 322.48178 403.48178 319.5 407.16 319.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id27_Graphic"><path d="M 434.16 335.25 L 438.84 335.25 C 442.51822 335.25 445.5 338.23178 445.5 341.91 L 445.5 346.59 C 445.5 350.26822 442.51822 353.25 438.84 353.25 L 434.16 353.25 C 430.48178 353.25 427.5 350.26822 427.5 346.59 L 427.5 341.91 C 427.5 338.23178 430.48178 335.25 434.16 335.25 Z" fill="url(#Obj_Gradient_14)"/><path d="M 434.16 335.25 L 438.84 335.25 C 442.51822 
 335.25 445.5 338.23178 445.5 341.91 L 445.5 346.59 C 445.5 350.26822 442.51822 353.25 438.84 353.25 L 434.16 353.25 C 430.48178 353.25 427.5 350.26822 427.5 346.59 L 427.5 341.91 C 427.5 338.23178 430.48178 335.25 434.16 335.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id28_Graphic"><path d="M 407.16 344.25 L 411.84 344.25 C 415.51822 344.25 418.5 347.23178 418.5 350.91 L 418.5 355.59 C 418.5 359.26822 415.51822 362.25 411.84 362.25 L 407.16 362.25 C 403.48178 362.25 400.5 359.26822 400.5 355.59 L 400.5 350.91 C 400.5 347.23178 403.48178 344.25 407.16 344.25 Z" fill="url(#Obj_Gradient_15)"/><path d="M 407.16 344.25 L 411.84 344.25 C 415.51822 344.25 418.5 347.23178 418.5 350.91 L 418.5 355.59 C 418.5 359.26822 415.51822 362.25 411.84 362.25 L 407.16 362.25 C 403.48178 362.25 400.5 359.26822 400.5 355.59 L 400.5 350.91 C 400.5 347.23178 403.48178 344.25 407.16 344.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejo
 in="round" stroke-width=".72000003"/></g><g id="id29_Graphic"><path d="M 434.16 357.75 L 438.84 357.75 C 442.51822 357.75 445.5 360.73178 445.5 364.41 L 445.5 369.09 C 445.5 372.76822 442.51822 375.75 438.84 375.75 L 434.16 375.75 C 430.48178 375.75 427.5 372.76822 427.5 369.09 L 427.5 364.41 C 427.5 360.73178 430.48178 357.75 434.16 357.75 Z" fill="url(#Obj_Gradient_16)"/><path d="M 434.16 357.75 L 438.84 357.75 C 442.51822 357.75 445.5 360.73178 445.5 364.41 L 445.5 369.09 C 445.5 372.76822 442.51822 375.75 438.84 375.75 L 434.16 375.75 C 430.48178 375.75 427.5 372.76822 427.5 369.09 L 427.5 364.41 C 427.5 360.73178 430.48178 357.75 434.16 357.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><rect x="371.25" y="306" width="22.5" height="72" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="398.25" y="306" width="22.5" height="72" stroke="#252525" stroke-linecap="round" stroke-linejo
 in="round" stroke-width=".72000003"/><rect x="425.25" y="306" width="22.5" height="72" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id33_Graphic"><path d="M 200.16 414 L 393.84 414 C 397.51822 414 400.5 416.98178 400.5 420.66 L 400.5 551.34 C 400.5 555.0182 397.51822 558 393.84 558 L 200.16 558 C 196.48178 558 193.5 555.0182 193.5 551.34 L 193.5 420.66 C 193.5 416.98178 196.48178 414 200.16 414 Z" fill="url(#Obj_Gradient_17)"/><path d="M 200.16 414 L 393.84 414 C 397.51822 414 400.5 416.98178 400.5 420.66 L 400.5 551.34 C 400.5 555.0182 397.51822 558 393.84 558 L 200.16 558 C 196.48178 558 193.5 555.0182 193.5 551.34 L 193.5 420.66 C 193.5 416.98178 196.48178 414 200.16 414 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(197.5 418)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="114.993164" y="14" textLength="84.006
 836">Member (M3)</tspan></text></g><g id="id34_Graphic"><path d="M 218.16 450 L 375.84 450 C 379.51822 450 382.5 452.98178 382.5 456.66 L 382.5 542.34 C 382.5 546.01822 379.51822 549 375.84 549 L 218.16 549 C 214.48178 549 211.5 546.01822 211.5 542.34 L 211.5 456.66 C 211.5 452.98178 214.48178 450 218.16 450 Z" fill="url(#Obj_Gradient_18)"/><path d="M 218.16 450 L 375.84 450 C 379.51822 450 382.5 452.98178 382.5 456.66 L 382.5 542.34 C 382.5 546.01822 379.51822 549 375.84 549 L 218.16 549 C 214.48178 549 211.5 546.01822 211.5 542.34 L 211.5 456.66 C 211.5 452.98178 214.48178 450 218.16 450 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(213.5 452)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="44.473145" y="10" textLength="73.930664">Partition Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="117.856934" y="10" textLength
 ="6.669922">A</tspan></text></g><rect x="231.75" y="468" width="22.5" height="72" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id36_Graphic"><path d="M 267.66 481.5 L 272.34 481.5 C 276.01822 481.5 279 484.48178 279 488.16 L 279 492.84 C 279 496.51822 276.01822 499.5 272.34 499.5 L 267.66 499.5 C 263.98178 499.5 261 496.51822 261 492.84 L 261 488.16 C 261 484.48178 263.98178 481.5 267.66 481.5 Z" fill="url(#Obj_Gradient_19)"/><path d="M 267.66 481.5 L 272.34 481.5 C 276.01822 481.5 279 484.48178 279 488.16 L 279 492.84 C 279 496.51822 276.01822 499.5 272.34 499.5 L 267.66 499.5 C 263.98178 499.5 261 496.51822 261 492.84 L 261 488.16 C 261 484.48178 263.98178 481.5 267.66 481.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id37_Graphic"><path d="M 240.66 481.5 L 245.34 481.5 C 249.01822 481.5 252 484.48178 252 488.16 L 252 492.84 C 252 496.51822 249.01822 499.5 245.34 499.5 L
  240.66 499.5 C 236.98178 499.5 234 496.51822 234 492.84 L 234 488.16 C 234 484.48178 236.98178 481.5 240.66 481.5 Z" fill="url(#Obj_Gradient_1a)"/><path d="M 240.66 481.5 L 245.34 481.5 C 249.01822 481.5 252 484.48178 252 488.16 L 252 492.84 C 252 496.51822 249.01822 499.5 245.34 499.5 L 240.66 499.5 C 236.98178 499.5 234 496.51822 234 492.84 L 234 488.16 C 234 484.48178 236.98178 481.5 240.66 481.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id38_Graphic"><path d="M 267.66 506.25 L 272.34 506.25 C 276.01822 506.25 279 509.23178 279 512.91 L 279 517.59 C 279 521.26822 276.01822 524.25 272.34 524.25 L 267.66 524.25 C 263.98178 524.25 261 521.26822 261 517.59 L 261 512.91 C 261 509.23178 263.98178 506.25 267.66 506.25 Z" fill="url(#Obj_Gradient_1b)"/><path d="M 267.66 506.25 L 272.34 506.25 C 276.01822 506.25 279 509.23178 279 512.91 L 279 517.59 C 279 521.26822 276.01822 524.25 272.34 524.25 L 267.66 524.25 C 263.98178 524.
 25 261 521.26822 261 517.59 L 261 512.91 C 261 509.23178 263.98178 506.25 267.66 506.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id39_Graphic"><path d="M 240.66 506.25 L 245.34 506.25 C 249.01822 506.25 252 509.23178 252 512.91 L 252 517.59 C 252 521.26822 249.01822 524.25 245.34 524.25 L 240.66 524.25 C 236.98178 524.25 234 521.26822 234 517.59 L 234 512.91 C 234 509.23178 236.98178 506.25 240.66 506.25 Z" fill="url(#Obj_Gradient_1c)"/><path d="M 240.66 506.25 L 245.34 506.25 C 249.01822 506.25 252 509.23178 252 512.91 L 252 517.59 C 252 521.26822 249.01822 524.25 245.34 524.25 L 240.66 524.25 C 236.98178 524.25 234 521.26822 234 517.59 L 234 512.91 C 234 509.23178 236.98178 506.25 240.66 506.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id40_Graphic"><path d="M 294.66 481.5 L 299.34 481.5 C 303.01822 481.5 306 484.48178 306 488.16 L 306 492.84 C 306 496.51822
  303.01822 499.5 299.34 499.5 L 294.66 499.5 C 290.98178 499.5 288 496.51822 288 492.84 L 288 488.16 C 288 484.48178 290.98178 481.5 294.66 481.5 Z" fill="url(#Obj_Gradient_1d)"/><path d="M 294.66 481.5 L 299.34 481.5 C 303.01822 481.5 306 484.48178 306 488.16 L 306 492.84 C 306 496.51822 303.01822 499.5 299.34 499.5 L 294.66 499.5 C 290.98178 499.5 288 496.51822 288 492.84 L 288 488.16 C 288 484.48178 290.98178 481.5 294.66 481.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id41_Graphic"><path d="M 294.66 506.25 L 299.34 506.25 C 303.01822 506.25 306 509.23178 306 512.91 L 306 517.59 C 306 521.26822 303.01822 524.25 299.34 524.25 L 294.66 524.25 C 290.98178 524.25 288 521.26822 288 517.59 L 288 512.91 C 288 509.23178 290.98178 506.25 294.66 506.25 Z" fill="url(#Obj_Gradient_1e)"/><path d="M 294.66 506.25 L 299.34 506.25 C 303.01822 506.25 306 509.23178 306 512.91 L 306 517.59 C 306 521.26822 303.01822 524.25 299.34 524.25 L
  294.66 524.25 C 290.98178 524.25 288 521.26822 288 517.59 L 288 512.91 C 288 509.23178 290.98178 506.25 294.66 506.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><rect x="258.75" y="468" width="22.5" height="72" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="285.75" y="468" width="22.5" height="72" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id44_Graphic"><path d="M 321.66 481.5 L 326.34 481.5 C 330.01822 481.5 333 484.48178 333 488.16 L 333 492.84 C 333 496.51822 330.01822 499.5 326.34 499.5 L 321.66 499.5 C 317.98178 499.5 315 496.51822 315 492.84 L 315 488.16 C 315 484.48178 317.98178 481.5 321.66 481.5 Z" fill="url(#Obj_Gradient_1f)"/><path d="M 321.66 481.5 L 326.34 481.5 C 330.01822 481.5 333 484.48178 333 488.16 L 333 492.84 C 333 496.51822 330.01822 499.5 326.34 499.5 L 321.66 499.5 C 317.98178 499.5 315 496.51822 315 
 492.84 L 315 488.16 C 315 484.48178 317.98178 481.5 321.66 481.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id45_Graphic"><path d="M 321.66 506.25 L 326.34 506.25 C 330.01822 506.25 333 509.23178 333 512.91 L 333 517.59 C 333 521.26822 330.01822 524.25 326.34 524.25 L 321.66 524.25 C 317.98178 524.25 315 521.26822 315 517.59 L 315 512.91 C 315 509.23178 317.98178 506.25 321.66 506.25 Z" fill="url(#Obj_Gradient_20)"/><path d="M 321.66 506.25 L 326.34 506.25 C 330.01822 506.25 333 509.23178 333 512.91 L 333 517.59 C 333 521.26822 330.01822 524.25 326.34 524.25 L 321.66 524.25 C 317.98178 524.25 315 521.26822 315 517.59 L 315 512.91 C 315 509.23178 317.98178 506.25 321.66 506.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id46_Graphic"><path d="M 348.66 481.5 L 353.34 481.5 C 357.01822 481.5 360 484.48178 360 488.16 L 360 492.84 C 360 496.51822 357.01822 499.5 353.34
  499.5 L 348.66 499.5 C 344.98178 499.5 342 496.51822 342 492.84 L 342 488.16 C 342 484.48178 344.98178 481.5 348.66 481.5 Z" fill="url(#Obj_Gradient_21)"/><path d="M 348.66 481.5 L 353.34 481.5 C 357.01822 481.5 360 484.48178 360 488.16 L 360 492.84 C 360 496.51822 357.01822 499.5 353.34 499.5 L 348.66 499.5 C 344.98178 499.5 342 496.51822 342 492.84 L 342 488.16 C 342 484.48178 344.98178 481.5 348.66 481.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id47_Graphic"><path d="M 348.66 506.25 L 353.34 506.25 C 357.01822 506.25 360 509.23178 360 512.91 L 360 517.59 C 360 521.26822 357.01822 524.25 353.34 524.25 L 348.66 524.25 C 344.98178 524.25 342 521.26822 342 517.59 L 342 512.91 C 342 509.23178 344.98178 506.25 348.66 506.25 Z" fill="url(#Obj_Gradient_22)"/><path d="M 348.66 506.25 L 353.34 506.25 C 357.01822 506.25 360 509.23178 360 512.91 L 360 517.59 C 360 521.26822 357.01822 524.25 353.34 524.25 L 348.66 524.25 C 344.98
 178 524.25 342 521.26822 342 517.59 L 342 512.91 C 342 509.23178 344.98178 506.25 348.66 506.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><rect x="312.75" y="468" width="22.5" height="72" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="339.75" y="468" width="22.5" height="72" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/region_entry_versions_1.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/region_entry_versions_1.svg b/geode-docs/images_svg/region_entry_versions_1.svg
new file mode 100644
index 0000000..ef3f074
--- /dev/null
+++ b/geode-docs/images_svg/region_entry_versions_1.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="50 182 535 193" width="535pt" height="193pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-03 18:54Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.1600001" dy="2.1600001"/><feFlood flood-color="#626262" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#8db7cf" stop-opacity=".65"/><stop offset="1" stop-color="#b6d0e0" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(567 357) scale(162.56153)"/><font-face font-family="Corbel" font-size="14" panose-1="2 11 5 3 2
  2 4 2 2 4" units-per-em="1000" underline-position="-92.77344" underline-thickness="58.59375" slope="0" x-height="463.8672" cap-height="653.3203" ascent="952.14844" descent="-268.55469" font-weight="500"><font-face-src><font-face-name name="Corbel"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#c9dde9" stop-opacity=".65"/><stop offset="1" stop-color="#b6d0e0" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(549 276) scale(218.62082)"/><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(549 276) scale(87.75)"/><font-face font-family="Corbel" font-size="10" panose-1="2 11 5 3 2 2 4 2 2 4" units-per-em="1000" underline-position="-92.77344" underline-thickness="58.59375" slope="0" x-height="463.8672" cap-height="653.3203" ascent="952.14844" descent="-268.55469" font-weight="500"><font-fa
 ce-src><font-face-name name="Corbel"/></font-face-src></font-face><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(207 357) scale(162.56153)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(387 357) scale(162.56153)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(369 276) scale(218.62082)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient" gradientTransform="translate(189 276) scale(87.75)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(142 271.5) scale(26.503906)"/><font-face font-family="Corbel" font-size="9" panose-1="2 11 5 3 2 2 4 2 2 4" units-per-em="1000" underline-position="-92.77344" underline-thickness="58.59375" slope="0" x-height="463.8672" cap-height="653.3203" ascent="952.14844" descent="-268.55469" font-weight="500"><font-face-src><font-face-name name="Corbel"/></font-face-src></font-face><radialGradient id="
 Obj_Gradient_9" xl:href="#Gradient" gradientTransform="translate(369 276) scale(87.75)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_2" gradientTransform="translate(328.625 271.5) scale(26.503906)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient_2" gradientTransform="translate(508.625 271.5) scale(26.503906)"/><radialGradient id="Obj_Gradient_c" xl:href="#Gradient_2" gradientTransform="translate(148.62501 313.14005) scale(19.091883)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -6 14 12" markerWidth="14" markerHeight="12" color="#323232"><g><path d="M 11.722222 0 L 0 -4.3958334 L 0 4.3958334 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_d" xl:href="#Gradient_2" gradientTransform="translate(523.375 313.5) scale(19.091883)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>temp_content</title>
 <g><title>Layer 1</title><g><xl:use xl:href="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id16_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id21_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id22_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id23_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id33_Graphic" filter="url(#Shadow)"/></g><g id="id15_Graphic"><path d="M 429.66 195 L 560.34 195 C 564.0182 195 567 197.98178 567 201.66 L 567 350.34 C 567 354.01822 564.0182 357 560.34 357 L 429.66 357 C 425.98178 357 423 354.01822 423 350.34 L 423 201.66 C 423 197.98178 425.98178 195 429.66 195
  Z" fill="url(#Obj_Gradient)"/><path d="M 429.66 195 L 560.34 195 C 564.0182 195 567 197.98178 567 201.66 L 567 350.34 C 567 354.01822 564.0182 357 560.34 357 L 429.66 357 C 425.98178 357 423 354.01822 423 350.34 L 423 201.66 C 423 197.98178 425.98178 195 429.66 195 Z" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(427 199)" fill="black"><tspan font-family="Corbel" font-size="14" font-weight="500" x="23.583008" y="13" textLength="104.71289">GemFire Member </tspan><tspan font-family="Corbel" font-size="14" font-weight="500" x="127.74902" y="13" textLength="8.2509766">C</tspan></text></g><g id="id14_Graphic"><path d="M 267.66 231 L 542.34 231 C 546.01822 231 549 233.98178 549 237.66 L 549 269.34 C 549 273.01822 546.01822 276 542.34 276 L 267.66 276 C 263.98178 276 261 273.01822 261 269.34 L 261 237.66 C 261 233.98178 263.98178 231 267.66 231 Z" fill="url(#Obj_Gradient_2)"/></g><g id="id16_Graphic"><path d="M 447.66 
 231 L 542.34 231 C 546.01822 231 549 233.98178 549 237.66 L 549 269.34 C 549 273.01822 546.01822 276 542.34 276 L 447.66 276 C 443.98178 276 441 273.01822 441 269.34 L 441 237.66 C 441 233.98178 443.98178 231 447.66 231 Z" fill="url(#Obj_Gradient_3)"/><path d="M 447.66 231 L 542.34 231 C 546.01822 231 549 233.98178 549 237.66 L 549 269.34 C 549 273.01822 546.01822 276 542.34 276 L 447.66 276 C 443.98178 276 441 273.01822 441 269.34 L 441 237.66 C 441 233.98178 443.98178 231 447.66 231 Z" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(443 233)" fill="black"><tspan font-family="Corbel" font-size="10" font-weight="500" x="15.668457" y="10" textLength="5.9179688">R</tspan><tspan font-family="Corbel" font-size="10" font-weight="500" x="21.391113" y="10" textLength="45.927734">eplicated R</tspan><tspan font-family="Corbel" font-size="10" font-weight="500" x="67.123535" y="10" textLength="23.208008">egion</tspan></text><
 /g><g id="id3_Graphic"><path d="M 69.66 195 L 200.34 195 C 204.01822 195 207 197.98178 207 201.66 L 207 350.34 C 207 354.01822 204.01822 357 200.34 357 L 69.66 357 C 65.981783 357 63 354.01822 63 350.34 L 63 201.66 C 63 197.98178 65.981783 195 69.66 195 Z" fill="url(#Obj_Gradient_4)"/><path d="M 69.66 195 L 200.34 195 C 204.01822 195 207 197.98178 207 201.66 L 207 350.34 C 207 354.01822 204.01822 357 200.34 357 L 69.66 357 C 65.981783 357 63 354.01822 63 350.34 L 63 201.66 C 63 197.98178 65.981783 195 69.66 195 Z" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(67 199)" fill="black"><tspan font-family="Corbel" font-size="14" font-weight="500" x="23.008789" y="13" textLength="104.71289">GemFire Member </tspan><tspan font-family="Corbel" font-size="14" font-weight="500" x="127.106445" y="13" textLength="8.8935547">A</tspan></text></g><g id="id4_Graphic"><path d="M 249.66 195 L 380.34 195 C 384.01822 195 387 197.98178
  387 201.66 L 387 350.34 C 387 354.01822 384.01822 357 380.34 357 L 249.66 357 C 245.98178 357 243 354.01822 243 350.34 L 243 201.66 C 243 197.98178 245.98178 195 249.66 195 Z" fill="url(#Obj_Gradient_5)"/><path d="M 249.66 195 L 380.34 195 C 384.01822 195 387 197.98178 387 201.66 L 387 350.34 C 387 354.01822 384.01822 357 380.34 357 L 249.66 357 C 245.98178 357 243 354.01822 243 350.34 L 243 201.66 C 243 197.98178 245.98178 195 249.66 195 Z" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(247 199)" fill="black"><tspan font-family="Corbel" font-size="14" font-weight="500" x="22.981445" y="13" textLength="113.018555">GemFire Member B</tspan></text></g><rect x="81" y="320.99997" width="108" height="17.76375" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(83 322.99997)" fill="black"><tspan font-family="Corbel" font-size="10" font-weight="500" x="29.
 357422" y="10" textLength="47.285156">Application</tspan></text><g id="id6_Graphic"><path d="M 87.66 231 L 362.34 231 C 366.01822 231 369 233.98178 369 237.66 L 369 269.34 C 369 273.01822 366.01822 276 362.34 276 L 87.66 276 C 83.981783 276 81 273.01822 81 269.34 L 81 237.66 C 81 233.98178 83.981783 231 87.66 231 Z" fill="url(#Obj_Gradient_6)"/></g><g id="id7_Graphic"><path d="M 87.66 231 L 182.34 231 C 186.01822 231 189 233.98178 189 237.66 L 189 269.34 C 189 273.01822 186.01822 276 182.34 276 L 87.66 276 C 83.981783 276 81 273.01822 81 269.34 L 81 237.66 C 81 233.98178 83.981783 231 87.66 231 Z" fill="url(#Obj_Gradient_7)"/><path d="M 87.66 231 L 182.34 231 C 186.01822 231 189 233.98178 189 237.66 L 189 269.34 C 189 273.01822 186.01822 276 182.34 276 L 87.66 276 C 83.981783 276 81 273.01822 81 269.34 L 81 237.66 C 81 233.98178 83.981783 231 87.66 231 Z" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(83 233)" fil
 l="black"><tspan font-family="Corbel" font-size="10" font-weight="500" x="15.668457" y="10" textLength="5.9179688">R</tspan><tspan font-family="Corbel" font-size="10" font-weight="500" x="21.391113" y="10" textLength="45.927734">eplicated R</tspan><tspan font-family="Corbel" font-size="10" font-weight="500" x="67.123535" y="10" textLength="23.208008">egion</tspan></text></g><g id="id8_Graphic"><path d="M 121.41 249 L 135.34 249 C 139.01822 249 142 251.98178 142 255.66 L 142 264.84 C 142 268.51822 139.01822 271.5 135.34 271.5 L 121.41 271.5 C 117.73178 271.5 114.75 268.51822 114.75 264.84 L 114.75 255.66 C 114.75 251.98178 117.73178 249 121.41 249 Z" fill="url(#Obj_Gradient_8)"/><path d="M 121.41 249 L 135.34 249 C 139.01822 249 142 251.98178 142 255.66 L 142 264.84 C 142 268.51822 139.01822 271.5 135.34 271.5 L 121.41 271.5 C 117.73178 271.5 114.75 268.51822 114.75 264.84 L 114.75 255.66 C 114.75 251.98178 117.73178 249 121.41 249 Z" stroke="red" stroke-linecap="round" stroke-linejo
 in="round" stroke-width="1.20000005"/><text transform="translate(118.75 249.25)" fill="black"><tspan font-family="Corbel" font-size="9" font-weight="500" x="6.9970703" y="9" textLength="7.057617">X </tspan><tspan font-family="Corbel" font-size="9" font-weight="500" x="2.0290527" y="20" textLength="15.1918945">(A3)</tspan></text></g><g id="id9_Graphic"><path d="M 267.66 231 L 362.34 231 C 366.01822 231 369 233.98178 369 237.66 L 369 269.34 C 369 273.01822 366.01822 276 362.34 276 L 267.66 276 C 263.98178 276 261 273.01822 261 269.34 L 261 237.66 C 261 233.98178 263.98178 231 267.66 231 Z" fill="url(#Obj_Gradient_9)"/><path d="M 267.66 231 L 362.34 231 C 366.01822 231 369 233.98178 369 237.66 L 369 269.34 C 369 273.01822 366.01822 276 362.34 276 L 267.66 276 C 263.98178 276 261 273.01822 261 269.34 L 261 237.66 C 261 233.98178 263.98178 231 267.66 231 Z" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(263 233)" fill=
 "black"><tspan font-family="Corbel" font-size="10" font-weight="500" x="15.668457" y="10" textLength="5.9179688">R</tspan><tspan font-family="Corbel" font-size="10" font-weight="500" x="21.391113" y="10" textLength="45.927734">eplicated R</tspan><tspan font-family="Corbel" font-size="10" font-weight="500" x="67.123535" y="10" textLength="23.208008">egion</tspan></text></g><rect x="261" y="320.99997" width="108" height="17.76375" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(263 322.99997)" fill="black"><tspan font-family="Corbel" font-size="10" font-weight="500" x="29.357422" y="10" textLength="47.285156">Application</tspan></text><rect x="441" y="320.99997" width="108" height="17.76375" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(443 322.99997)" fill="black"><tspan font-family="Corbel" font-size="10" font-weight="500" x="29.357422" y="10" t
 extLength="47.285156">Application</tspan></text><g id="id21_Graphic"><path d="M 308.035 249 L 321.965 249 C 325.64322 249 328.625 251.98178 328.625 255.66 L 328.625 264.84 C 328.625 268.51822 325.64322 271.5 321.965 271.5 L 308.035 271.5 C 304.35678 271.5 301.375 268.51822 301.375 264.84 L 301.375 255.66 C 301.375 251.98178 304.35678 249 308.035 249 Z" fill="url(#Obj_Gradient_a)"/><path d="M 308.035 249 L 321.965 249 C 325.64322 249 328.625 251.98178 328.625 255.66 L 328.625 264.84 C 328.625 268.51822 325.64322 271.5 321.965 271.5 L 308.035 271.5 C 304.35678 271.5 301.375 268.51822 301.375 264.84 L 301.375 255.66 C 301.375 251.98178 304.35678 249 308.035 249 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(305.375 249.25)" fill="black"><tspan font-family="Corbel" font-size="9" font-weight="500" x="6.9970703" y="9" textLength="7.057617">X </tspan><tspan font-family="Corbel" font-size="9" font-weight="500" x="2.1520
 996" y="20" textLength="2.6982422">(</tspan><tspan font-family="Corbel" font-size="9" font-weight="500" x="4.4987793" y="20" textLength="12.599121">C2)</tspan></text></g><g id="id22_Graphic"><path d="M 488.035 249 L 501.965 249 C 505.64322 249 508.625 251.98178 508.625 255.66 L 508.625 264.84 C 508.625 268.51822 505.64322 271.5 501.965 271.5 L 488.035 271.5 C 484.35678 271.5 481.375 268.51822 481.375 264.84 L 481.375 255.66 C 481.375 251.98178 484.35678 249 488.035 249 Z" fill="url(#Obj_Gradient_b)"/><path d="M 488.035 249 L 501.965 249 C 505.64322 249 508.625 251.98178 508.625 255.66 L 508.625 264.84 C 508.625 268.51822 505.64322 271.5 501.965 271.5 L 488.035 271.5 C 484.35678 271.5 481.375 268.51822 481.375 264.84 L 481.375 255.66 C 481.375 251.98178 484.35678 249 488.035 249 Z" stroke="red" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(485.375 249.25)" fill="black"><tspan font-family="Corbel" font-size="9" font-weight="500" x
 ="6.9970703" y="9" textLength="7.057617">X </tspan><tspan font-family="Corbel" font-size="9" font-weight="500" x="2.411377" y="20" textLength="2.6982422">(</tspan><tspan font-family="Corbel" font-size="9" font-weight="500" x="4.7580566" y="20" textLength="12.0805664">C3)</tspan></text></g><g id="id23_Graphic"><path d="M 137.28501 295.14005 L 141.96501 295.14005 C 145.64322 295.14005 148.62501 298.12183 148.62501 301.80005 L 148.62501 306.48005 C 148.62501 310.15826 145.64322 313.14005 141.96501 313.14005 L 137.28501 313.14005 C 133.60679 313.14005 130.62501 310.15826 130.62501 306.48005 L 130.62501 301.80005 C 130.62501 298.12183 133.60679 295.14005 137.28501 295.14005 Z" fill="url(#Obj_Gradient_c)"/><path d="M 137.28501 295.14005 L 141.96501 295.14005 C 145.64322 295.14005 148.62501 298.12183 148.62501 301.80005 L 148.62501 306.48005 C 148.62501 310.15826 145.64322 313.14005 141.96501 313.14005 L 137.28501 313.14005 C 133.60679 313.14005 130.62501 310.15826 130.62501 306.48005 L 13
 0.62501 301.80005 C 130.62501 298.12183 133.60679 295.14005 137.28501 295.14005 Z" stroke="#c00000" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(134.62501 298.64005)" fill="black"><tspan font-family="Corbel" font-size="9" font-weight="500" x="2.3720703" y="9" textLength="5.2558594">X</tspan></text></g><path d="M 125.750015 320.64001 L 126.05844 305.60025 C 126.05981 305.5334 126.06017 305.46653 126.05953 305.39967 L 125.87595 286.3075" marker-end="url(#FilledArrow_Marker)" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id33_Graphic"><path d="M 512.035 295.5 L 516.715 295.5 C 520.3932 295.5 523.375 298.48178 523.375 302.16 L 523.375 306.84 C 523.375 310.51822 520.3932 313.5 516.715 313.5 L 512.035 313.5 C 508.35678 313.5 505.375 310.51822 505.375 306.84 L 505.375 302.16 C 505.375 298.48178 508.35678 295.5 512.035 295.5 Z" fill="url(#Obj_Gradient_d)"/><path d="M 512.035 295.5 L 51
 6.715 295.5 C 520.3932 295.5 523.375 298.48178 523.375 302.16 L 523.375 306.84 C 523.375 310.51822 520.3932 313.5 516.715 313.5 L 512.035 313.5 C 508.35678 313.5 505.375 310.51822 505.375 306.84 L 505.375 302.16 C 505.375 298.48178 508.35678 295.5 512.035 295.5 Z" stroke="#c00000" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(509.375 299)" fill="black"><tspan font-family="Corbel" font-size="9" font-weight="500" x="2.3720703" y="9" textLength="5.2558594">X</tspan></text></g><path d="M 500.5 320.99997 L 500.80842 305.9602 C 500.8098 305.89336 500.81016 305.82649 500.8095 305.75962 L 500.62593 286.66745" marker-end="url(#FilledArrow_Marker)" stroke="#323232" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g></g></svg>


[37/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/the_cache/setting_cache_initializer.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/the_cache/setting_cache_initializer.html.md.erb b/geode-docs/basic_config/the_cache/setting_cache_initializer.html.md.erb
new file mode 100644
index 0000000..20cc2c6
--- /dev/null
+++ b/geode-docs/basic_config/the_cache/setting_cache_initializer.html.md.erb
@@ -0,0 +1,59 @@
+---
+title:  Launching an Application after Initializing the Cache
+---
+
+You can specify a callback application that is launched after the cache initialization.
+
+By specifying an `<initializer>` element in your cache.xml file, you can trigger a callback application, which is run after the cache has been initialized. Applications that use the cacheserver script to start up a server can also use this feature to hook into a callback application. To use this feature, you need to specify the callback class within the `<initializer>` element. This element should be added to the end of your `cache.xml` file.
+
+You can specify the `<initializer>` element for either server caches or client caches.
+
+The callback class must implement the `Declarable` interface. When the callback class is loaded, its `init` method is called, and any parameters defined in the `<initializer>` element are passed as properties.
+
+The following is an example specification.
+
+In cache.xml:
+
+``` pre
+<initializer>
+   <class-name>MyInitializer</class-name>
+      <parameter name="members">
+         <string>2</string>
+      </parameter>
+</initializer>
+```
+
+Here's the corresponding class definition:
+
+``` pre
+ 
+import org.apache.geode.cache.Declarable;
+
+public class MyInitializer implements Declarable {
+   public void init(Properties properties) {
+      System.out.println(properties.getProperty("members"));
+   }
+}
+```
+
+The following are some additional real-world usage scenarios:
+
+1.  Start a SystemMembershipListener
+
+    ``` pre
+    <initializer>
+       <class-name>TestSystemMembershipListener</class-name>
+    </initializer>
+    ```
+
+2.  Write a custom tool that monitors cache resources
+
+    ``` pre
+    <initializer>
+       <class-name>ResourceMonitorCacheXmlLoader</class-name>
+    </initializer>
+    ```
+
+Any singleton or timer task or thread can be instantiated and started using the initializer element.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/the_cache/setting_cache_properties.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/the_cache/setting_cache_properties.html.md.erb b/geode-docs/basic_config/the_cache/setting_cache_properties.html.md.erb
new file mode 100644
index 0000000..76d5066
--- /dev/null
+++ b/geode-docs/basic_config/the_cache/setting_cache_properties.html.md.erb
@@ -0,0 +1,22 @@
+---
+title:  Options for Configuring the Cache and Data Regions
+---
+
+To populate your Apache Geode cache and fine-tune its storage and distribution behavior, you need to define cached data regions and provide custom configuration for the cache and regions.
+
+<a id="setting_cache_properties__section_FB536C90C219432D93E872CBD49D66B1"></a>
+Cache configuration properties define:
+
+-   Cache-wide settings such as disk stores, communication timeouts, and settings designating the member as a server
+-   Cache data regions
+
+Configure the cache and its data regions through one or more of these methods:
+
+-   Through a persistent configuration that you define when issuing commands that use the gfsh command line utility. `gfsh` supports the administration, debugging, and deployment of Apache Geode processes and applications. You can use gfsh to configure regions, locators, servers, disk stores, event queues, and other objects.
+
+    As you issue commands, gfsh saves a set of configurations that apply to the entire cluster and also saves configurations that only apply to defined groups of members within the cluster. You can re-use these configurations to create a distributed system. See [Overview of the Cluster Configuration Service](../../configuring/cluster_config/gfsh_persist.html).
+
+-   Through declarations in the XML file named in the `cache-xml-file` `gemfire.properties` setting. This file is generally referred to as the `cache.xml` file, but it can have any name. See [cache.xml](../../reference/topics/chapter_overview_cache_xml.html#cache_xml).
+-   Through application calls to the `org.apache.geode.cache.CacheFactory`, `org.apache.geode.cache.Cache` and `org.apache.geode.cache.Region` APIs.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/configuring/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/chapter_overview.html.md.erb b/geode-docs/configuring/chapter_overview.html.md.erb
new file mode 100644
index 0000000..8026e72
--- /dev/null
+++ b/geode-docs/configuring/chapter_overview.html.md.erb
@@ -0,0 +1,67 @@
+---
+title:  Configuring and Running a Cluster
+---
+
+You use the `gfsh` command-line utility to configure your Apache Geode cluster (also called a "distributed system"). The cluster configuration service persists the cluster configurations and distributes the configurations to members of the cluster. There are also several additional ways to configure a cluster.
+
+You use `gfsh` to configure regions, disk stores, members, and other Geode objects. You also use `gfsh` to start and stop locators, servers, and Geode monitoring tools. As you execute these commands, the cluster configuration service persists the configuration. When new members join the cluster, the service distributes the configuration to the new members.
+
+`gfsh` is the recommended means of configuring and managing your Apache Geode cluster, however you can still configure many aspects of a cluster using the older methods of the cache.xml and gemfire.properties files. See [cache.xml](../reference/topics/chapter_overview_cache_xml.html#cache_xml) and the [Reference](../reference/book_intro.html#reference) for configuration parameters. You can also configure some aspects of a cluster using a Java API. See [Managing Apache Geode](../managing/book_intro.html#managing_gemfire_intro).
+
+-   **[Overview of the Cluster Configuration Service](../configuring/cluster_config/gfsh_persist.html)**
+
+    The Apache Geode cluster configuration service persists cluster configurations created by `gfsh` commands to the locators in a cluster and distributes the configurations to members of the cluster.
+
+-   **[Tutorial\u2014Creating and Using a Cluster Configuration](../configuring/cluster_config/persisting_configurations.html)**
+
+    A short walk-through that uses a single computer to demonstrate how to use `gfsh` to create a cluster configuration for a Geode cluster.
+
+-   **[Deploying Application JARs to Apache Geode Members](../configuring/cluster_config/deploying_application_jars.html)**
+
+    You can dynamically deploy your application JAR files to specific members or to all members in your distributed system. Geode automatically keeps track of JAR file versions; autoloads the deployed JAR files to the CLASSPATH; and auto-registers any functions that the JAR contains.
+
+-   **[Using Member Groups](../configuring/cluster_config/using_member_groups.html)**
+
+    Apache Geode allows you to organize your distributed system members into logical member groups.
+
+-   **[Exporting and Importing Cluster Configurations](../configuring/cluster_config/export-import.html)**
+
+    The cluster configuration service exports and imports configurations created using `gfsh` for an entire Apache Geode cluster.
+
+-   **[Cluster Configuration Files and Troubleshooting](../configuring/cluster_config/gfsh_config_troubleshooting.html)**
+
+    When you use the cluster configuration service in Geode, you can examine the generated configuration files in the `cluster_config` directory on the locator. `gfsh` saves configuration files at the cluster-level and at the individual group-level.
+
+-   **[Loading Existing Configuration Files into Cluster Configuration](../configuring/cluster_config/gfsh_load_from_shared_dir.html)**
+
+    To load an existing cache.xml or gemfire.properties configuration file into a new cluster, use the `--load-cluster-configuration-from-dir` parameter when starting up the locator.
+
+-   **[Using gfsh to Manage a Remote Cluster Over HTTP or HTTPS](../configuring/cluster_config/gfsh_remote.html)**
+
+    You can connect `gfsh` via HTTP or HTTPS to a remote cluster and manage the cluster using `gfsh` commands.
+
+-   **[Deploying Configuration Files without the Cluster Configuration Service](../configuring/running/deploying_config_files.html)**
+
+    You can deploy your Apache Geode configuration files in your system directory structure or in jar files. You determine how you want to deploy your configuration files and set them up accordingly.
+
+-   **[Starting Up and Shutting Down Your System](../configuring/running/starting_up_shutting_down.html)**
+
+    Determine the proper startup and shutdown procedures, and write your startup and shutdown scripts.
+
+-   **[Running Geode Locator Processes](../configuring/running/running_the_locator.html)**
+
+    The locator is a Geode process that tells new, connecting members where running members are located and provides load balancing for server use.
+
+-   **[Running Geode Server Processes](../configuring/running/running_the_cacheserver.html)**
+
+    A Geode server is a process that runs as a long-lived, configurable member of a client/server system.
+
+-   **[Managing System Output Files](../configuring/running/managing_output_files.html)**
+
+    Geode output files are optional and can become quite large. Work with your system administrator to determine where to place them to avoid interfering with other system activities.
+
+-   **[Firewall Considerations](../configuring/running/firewall_ports_config.html)**
+
+    You can configure and limit port usage for situations that involve firewalls, for example, between client-server or server-server connections.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/configuring/cluster_config/deploying_application_jars.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/cluster_config/deploying_application_jars.html.md.erb b/geode-docs/configuring/cluster_config/deploying_application_jars.html.md.erb
new file mode 100644
index 0000000..08eb1d5
--- /dev/null
+++ b/geode-docs/configuring/cluster_config/deploying_application_jars.html.md.erb
@@ -0,0 +1,114 @@
+---
+title:  Deploying Application JARs to Apache Geode Members
+---
+
+You can dynamically deploy your application JAR files to specific members or to all members in your distributed system. Geode automatically keeps track of JAR file versions; autoloads the deployed JAR files to the CLASSPATH; and auto-registers any functions that the JAR contains.
+
+To deploy and undeploy application JAR files in Apache Geode, use the `gfsh` `deploy` or `undeploy` command. You can deploy a single JAR or multiple JARs (by either specifying the JAR filenames or by specifying a directory that contains the JAR files), and you can also target the deployment to a member group or multiple member group. For example, after connecting to the distributed system where you want to deploy the JARs, you could type at the `gfsh` prompt:
+
+``` pre
+gfsh> deploy --jar=group1_functions.jar
+```
+
+This command deploys the `group1_functions.jar` file to all members in the distributed system.
+
+To deploy the JAR file to a subset of members, use the `--group` argument. For example:
+
+``` pre
+gfsh> deploy --jar=group1_functions.jar --group=MemberGroup1
+```
+
+In the example it is assumed that you have already defined the member group that you want to use when starting up your members. See [Configuring and Running a Cluster](../chapter_overview.html#concept_lrh_gyq_s4) for more information on how to define member groups and add a member to a group.
+
+To deploy all the JAR files that are located in a specific directory to all members:
+
+``` pre
+gfsh> deploy --dir=libs/group1-libs
+```
+
+You can either provide a JAR file name or a directory of JARs for deployment, but you cannot specify both at once.
+
+To undeploy all previously deployed JAR files throughout the distributed system:
+
+``` pre
+gfsh> undeploy
+```
+
+To undeploy a specific JAR file:
+
+``` pre
+gfsh> undeploy --jar=group1_functions.jar
+```
+
+To target a specific member group when undeploying all JAR files:
+
+``` pre
+gfsh> undeploy --group=MemberGroup1
+```
+
+Only JAR files that have been previously deployed on members in the MemberGroup1 group will be undeployed.
+
+To see a list of all deployed JARs in your distributed system:
+
+``` pre
+gfsh> list deployed
+```
+
+To see a list of all deployed JARs in a specific member group:
+
+``` pre
+gfsh> list deployed --group=MemberGroup1
+```
+
+Sample output:
+
+``` pre
+ 
+ Member   |     Deployed JAR     |                JAR Location            
+--------- | -------------------- | ---------------------------------------------------
+datanode1 | group1_functions.jar | /usr/local/gemfire/deploy/vf.gf#group1_functions.jar#1
+datanode2 | group1_functions.jar | /usr/local/gemfire/deploy/vf.gf#group1_functions.jar#1
+```
+
+For more information on `gfsh` usage, see [gfsh (Geode SHell)](../../tools_modules/gfsh/chapter_overview.html).
+
+## <a id="concept_4436C021FB934EC4A330D27BD026602C__section_D36E345C6E254D27B0F4B0C8711F5E6A" class="no-quick-link"></a>Deployment Location for JAR Files
+
+The system location where JAR files are written on each member is determined by the `deploy-working-dir` Geode property configured for that member. For example, you could have the following configured in the `gemfire.properties` file for your member:
+
+``` pre
+#gemfire.properties
+deploy-working-dir=/usr/local/gemfire/deploy
+```
+
+This deployment location can be local or a shared network resource (such as a mount location) used by multiple members in order to reduce disk space usage. If you use a shared directory, you still need to deploy the JAR file on every member that you want to have access to the application, because deployment updates the CLASSPATH and auto-registers functions.
+
+## About Deploying JAR Files and the Cluster Configuration Service
+
+By default, the cluster configuration service distributes deployed JAR files to all locators in the distributed system. When you start a new server using `gfsh`, the locator supplies configuration files and deployed jar files to the member and writes them to the server's directory.
+
+See [Overview of the Cluster Configuration Service](gfsh_persist.html).
+
+## <a id="concept_4436C021FB934EC4A330D27BD026602C__section_D9219C5EEED64672930200677C2118C9" class="no-quick-link"></a>Versioning of JAR Files
+
+When you deploy JAR files to a distributed system or member group, the JAR file is modified to indicate version information in its name. Each JAR filename is prefixed with `vf.gf#` and contains a version number at the end of the filename. For example, if you deploy `MyClasses.jar` five times, the filename is displayed as `vf.gf#MyClasses.jar#5` when you list all deployed jars.
+
+When you deploy a new JAR file, the member receiving the deployment checks whether the JAR file is a duplicate, either because the JAR file has already been deployed on that member or because the JAR file has already been deployed to a shared deployment working directory that other members are also using. If another member has already deployed this JAR file to the shared directory (determined by doing a byte-for-byte compare to the latest version in its directory), the member receiving the latest deployment does not write the file to disk. Instead, the member updates the ClassPathLoader to use the already deployed JAR file. If a newer version of the JAR file is detected on disk and is already in use, the deployment is canceled.
+
+When a member begins using a JAR file, the member obtains a shared lock on the file. If the member receives a newer version by deployment, the member releases the shared lock and tries to delete the existing JAR file in favor of the newer version. If no other member has a shared lock on the existing JAR, the existing, older version JAR is deleted.
+
+## <a id="concept_4436C021FB934EC4A330D27BD026602C__section_F8AC59EEC8C5434FBC6F38A12A7371CE" class="no-quick-link"></a>Automatic Class Path Loading
+
+When a cache is started, the new cache requests that the latest versions of each JAR file in the current working directory be added to the ClassPathLoader. If a JAR file has already been deployed to the ClassPathLoader, the ClassPathLoader updates its loaded version if a newer version is found; otherwise, there is no change. If detected, older versions of the JAR files are deleted if no other member has a shared lock on them.
+
+Undeploying a JAR file does not automatically unload the classes that were loaded during deployment. You need to restart your members to unload those classes.
+
+When a cache is closed it requests that all currently deployed JAR files be removed from the ClassPathLoader.
+
+If you are using a shared deployment working directory, all members sharing the directory should belong to the same member group. Upon restart, all members that share the same deployment working directory will deploy and autoload their CLASSPATH with any JARs found in the current working directory. This means that some members may load the JARs even though they are not part of the member group that received the original deployment.
+
+## <a id="concept_4436C021FB934EC4A330D27BD026602C__section_C1ECA5A66C27403A9A18D0E04EFCC66D" class="no-quick-link"></a>Automatic Function Registration
+
+When you deploy a JAR file that contains a function (in other words, contains a class that implements the Function interface), the function is automatically registered through the `FunctionService.registerFunction` method. If another JAR file is deployed (either with the same JAR filename or another filename) with the same function, the new implementation of the function is registered, overwriting the old one. If a JAR file is undeployed, any functions that were auto-registered at the time of deployment are unregistered. Because deploying a JAR file that has the same name multiple times results in the JAR being un-deployed and re-deployed, functions in the JAR are unregistered and re-registered each time this occurs. If a function with the same ID is registered from multiple differently named JAR files, the function is unregistered if any of those JAR files are re-deployed or un-deployed.
+
+During `cache.xml` load, the parameters for any declarables are saved. If functions found in a JAR file are also declarable, and have the same class name as the declarables whose parameters were saved after loading cache.xml, then function instances are created using those Parameters and are also registered. Therefore, if the same function is declared multiple times in the `cache.xml` with different sets of parameters, when the JAR is deployed a function is instantiated for each set of parameters. If any functions are registered using parameters from a `cache.xml` load, the default, no-argument function is not registered.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/configuring/cluster_config/export-import.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/cluster_config/export-import.html.md.erb b/geode-docs/configuring/cluster_config/export-import.html.md.erb
new file mode 100644
index 0000000..e730c5b
--- /dev/null
+++ b/geode-docs/configuring/cluster_config/export-import.html.md.erb
@@ -0,0 +1,39 @@
+---
+title:  Exporting and Importing Cluster Configurations
+---
+
+The cluster configuration service exports and imports configurations created using `gfsh` for an entire Apache Geode cluster.
+
+The cluster configuration service saves the cluster configuration as you create a regions, disk-stores and other objects using `gfsh` commands. You can export this configuration as well as any jar files that contain application files to a zip file and then import this configuration to create a new cluster.
+
+## Exporting a Cluster Configuration
+
+You issue the `gfsh` `export cluster-configuration` command to save the configuration data for you cluster in a zip file. This zip file contains subdirectories for cluster-level configurations and a directory for each group specified in the cluster. The contents of these directories are described in [Cluster Configuration Files and Troubleshooting](gfsh_config_troubleshooting.html#concept_ylt_2cb_y4).
+
+To export a cluster configuration, run the `gfsh` `export cluster-configuration` command while connected to a Geode cluster. For example:
+
+``` pre
+export cluster-configuration --zip-file-name=myClusterConfig.zip --dir=/home/username/configs
+```
+
+See [export cluster-configuration](../../tools_modules/gfsh/command-pages/export.html#topic_mdv_jgz_ck).
+
+**Note:**
+`gfsh` only saves cluster configuration values for configurations specified using `gfsh`. Configurations created by the management API are not saved with the cluster configurations.
+
+## Importing a Cluster Configuration
+
+You can import a cluster configuration to a running locator. After importing the configuration, any servers you start receive this cluster configuration.
+
+To import a cluster configuration, start one or more locators and then run the `gfsh` `import cluster-configuration` command. For example:
+
+``` pre
+import cluster-configuration --zip-file-name=/home/username/configs/myClusterConfig.zip
+```
+
+See [import cluster-configuration](../../tools_modules/gfsh/command-pages/import.html#topic_vnv_grz_ck).
+
+**Note:**
+You cannot import a cluster configuration to a cluster where cache servers are already running.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/configuring/cluster_config/gfsh_config_troubleshooting.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/cluster_config/gfsh_config_troubleshooting.html.md.erb b/geode-docs/configuring/cluster_config/gfsh_config_troubleshooting.html.md.erb
new file mode 100644
index 0000000..51f89b0
--- /dev/null
+++ b/geode-docs/configuring/cluster_config/gfsh_config_troubleshooting.html.md.erb
@@ -0,0 +1,58 @@
+---
+title:  Cluster Configuration Files and Troubleshooting
+---
+
+When you use the cluster configuration service in Geode, you can examine the generated configuration files in the `cluster_config` directory on the locator. `gfsh` saves configuration files at the cluster-level and at the individual group-level.
+
+The following directories and configuration files are available on the locator running the cluster configuration service:
+
+**Cluster-level configuration**  
+For configurations that apply to all members of a cluster, the locator creates a `cluster` subdirectory within the `cluster_config` directory (or in the cluster configuration directory when starting up the locator with the `--cluster-config-dir=value` parameter) specified All servers receive this configuration when they are started using `gfsh`. This directory contains:
+
+-   `cluster.xml` -- A Geode `cache.xml` file containing configuration common to all members
+-   `cluster.properties` -- a Geode ` gemfire.properties` file containing properties common to all members
+-   Jar files that are intended for deployment to all members
+
+<!-- -->
+
+**Group-level configuration**  
+When you specify the `--group` parameter in a `gfsh` command, (for example, `start server` or `create region`) the locator writes the configurations for each group in a subdirectory with the same name as the group. When you start a server that specifies one or more group names, the server receives both the cluster-level configurations and the configurations from all groups specified. This subdirectory contains:
+
+-   `<group-name>.xml` -- A Geode `cache.xml` file containing configurations common to all members of the group
+-   `<group-name>.properties` -- A Geode `gemfire.properties` file containing properties common to all members of the group
+-   Jar files that are intended for deployment to all members of the group
+
+<img src="../../images_svg/cluster-group-config.svg" id="concept_ylt_2cb_y4__image_bs1_mcb_y4" class="image" />
+
+You can export a zip file that contains all artifacts of a cluster configuration. The zip file contains all of the files in the `cluster_config` (or otherwise specified) subdirectory of a locator. You can import this configuration to a new cluster. See [Exporting and Importing Cluster Configurations](export-import.html#concept_wft_dkq_34).
+
+## Individual Configuration Files and Cluster Configuration Files
+
+Geode applies the cluster-wide configuration files first and then group-level configurations next. If a member has its own configuration files defined (cache.xml and gemfire.properties files), those configurations are applied last. Whenever possible, use the member group-level configuration files in the cluster-configuration service to apply non-cluster-wide configurations on individual members.
+
+## Troubleshooting Tips
+
+-   When you start a locator using `gfsh`, you should see the following message:
+
+    ``` pre
+    Cluster configuration service is up and running.
+    ```
+
+    If you do not see this message, there may be a problem with the cluster configuration service. Use the `status cluster-configuration-service` command to check the status of the cluster configuration.
+
+    -   If the command returns RUNNING, the cluster configuration is running normally.
+    -   If the command returns WAITING, run the `status locator` command. The output of this command returns the cause of the WAITING status.
+-   If a server start fails with the following exception: `ClusterConfigurationNotAvailableException`, the cluster configuration service may not be in the RUNNING state. Because the server requests the cluster configuration from the locator, which is not available, the `start server` command fails.
+-   You can determine what configurations a server received from a locator by examining the server's log file. See [Logging](../../managing/logging/logging.html#concept_30DB86B12B454E168B80BB5A71268865).
+-   If a `start server` command specifies a cache.xml file that conflicts with the existing cluster configuration, the server startup may fail.
+-   If a `gfsh` command fails because the cluster configuration cannot be saved, the following message displays:
+
+    ``` pre
+    Failed to persist the configuration changes due to this command, 
+    Revert the command to maintain consistency. Please use "status cluster-config-service" 
+    to determine whether Cluster configuration service is RUNNING."
+    ```
+
+-   There are some types of configurations that cannot be made using `gfsh`. See [gfsh Limitations](gfsh_persist.html#concept_r22_hyw_bl__section_bn3_23p_y4).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/configuring/cluster_config/gfsh_load_from_shared_dir.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/cluster_config/gfsh_load_from_shared_dir.html.md.erb b/geode-docs/configuring/cluster_config/gfsh_load_from_shared_dir.html.md.erb
new file mode 100644
index 0000000..b9e9a5d
--- /dev/null
+++ b/geode-docs/configuring/cluster_config/gfsh_load_from_shared_dir.html.md.erb
@@ -0,0 +1,27 @@
+---
+title:  Loading Existing Configuration Files into Cluster Configuration
+---
+
+To load an existing cache.xml or gemfire.properties configuration file into a new cluster, use the `--load-cluster-configuration-from-dir` parameter when starting up the locator.
+
+You can use this technique to migrate a single server's configuration into the cluster configuration service. To load an existing cache.xml file or cluster configuration into a cluster, perform the following steps:
+
+1.  Make sure the locator is not currently running.
+2.  Within the locator's working directory, create a `cluster_config/cluster` directory if the directory does not already exist.
+3.  Copy the desired configuration files (cache.xml or gemfire.properties, or both) into the `cluster_config/cluster` directory.
+4.  Rename the configuration files as follows:
+    -   Rename `cache.xml` to `cluster.xml`
+    -   Rename `gemfire.properties` to `cluster.properties`
+
+5.  Start the locator in `gfsh` as follows:
+
+    ``` pre
+    gfsh>start locator --name=<locator_name> --enable-cluster-configuration=true --load-cluster-configuration-from-dir=true
+    ```
+
+    After successful startup, the locator should report that the "Cluster configuration service is up and running." Any servers that join this cluster and have `--use-cluster-configuration` set to true will pick up these configuration files.
+
+**Note:**
+If you make any manual modifications to the cluster.xml or cluster.properties (or group\_name.xml or group\_name.properties) files, you must stop the locator and then restart the locator using the `--load-cluster-configuration-from-dir` parameter. Direct file modifications are not picked up iby the cluster configuration service without a locator restart.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/configuring/cluster_config/gfsh_persist.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/cluster_config/gfsh_persist.html.md.erb b/geode-docs/configuring/cluster_config/gfsh_persist.html.md.erb
new file mode 100644
index 0000000..85be33c
--- /dev/null
+++ b/geode-docs/configuring/cluster_config/gfsh_persist.html.md.erb
@@ -0,0 +1,108 @@
+---
+title:  Overview of the Cluster Configuration Service
+---
+
+The Apache Geode cluster configuration service persists cluster configurations created by `gfsh` commands to the locators in a cluster and distributes the configurations to members of the cluster.
+
+## Why Use the Cluster Configuration Service
+
+We highly recommend that you use the `gfsh` command line and the cluster configuration service as the primary mechanism to manage your distributed system configuration. Using a common cluster configuration reduces the amount of time you spend configuring individual members and enforces consistent configurations when bringing up new members in your cluster. You no longer need to reconfigure each new member that you add to the cluster. You no longer need to worry about validating your cache.xml file. It also becomes easier to propagate configuration changes across your cluster and deploy your configuration changes to different environments.
+
+You can use the cluster configuration service to:
+
+-   Save the configuration for an entire Apache Geode cluster.
+-   Restart members using a previously-saved configuration.
+-   Export a configuration from a development environment and migrate that configuration to create a testing or production system.
+-   Start additional servers without having to configure each server separately.
+-   Configure some servers to host certain regions and other servers to host different regions, and configure all servers to host a set of common regions.
+
+## Using the Cluster Configuration Service
+
+To use the cluster configuration service in Geode, you must use dedicated, standalone locators in your deployment. You cannot use the cluster configuration service with co-located locators (locators running in another process such as a server) or in multicast environments.
+
+The standalone locators distribute configuration to all locators in a cluster. Every locator in the cluster with `--enable-cluster-configuration` set to true keeps a record of all cluster-level and group-level configuration settings.
+
+**Note:**
+The default behavior for `gfsh` is to create and save cluster configurations. You can disable the cluster configuration service by using the `--enable-cluster-configuration=false` option when starting locators.
+
+Subsequently, any servers that you start with `gfsh` that have `--use-cluster-configuration` set to `true` will pick up the cluster configuration from the locator as well as any appropriate group-level configurations (for member groups they belong to). To disable the cluster configuration service on a server, you must start the server with the `--use-cluster-configuration` parameter set to `false`. By default, the parameter is set to true.
+
+You can also load existing configuration files into the cluster configuration service by starting up a standalone locator with the parameter `--load-cluster-configuration-from-dir` set to true. See [Loading Existing Configuration Files into Cluster Configuration](gfsh_load_from_shared_dir.html).
+
+## How the Cluster Configuration Service Works
+
+When you use `gfsh` commands to create Apache Geode regions, disk-stores, and other objects, the cluster configuration service saves the configurations on each locator in the cluster (also called a Geode distributed system). If you specify a group when issuing these commands, a separate configuration is saved containing only configurations that apply to the group.
+
+When you use `gfsh` to start new Apache Geode servers, the locator distributes the persisted configurations to the new server. If you specify a group when starting the server, the server receives the group-level configuration in addition to the cluster-level configuration. Group-level configurations are applied after cluster-wide configurations; therefore you can use group-level to override cluster-level settings.
+
+<img src="../../images_svg/cluster_config_overview.svg" id="concept_r22_hyw_bl__image_jjc_vhb_y4" class="image" />
+
+## gfsh Commands that Create Cluster Configurations
+
+The following `gfsh` commands cause the configuration to be written to all locators in the cluster (the locators write the configuration to disk):
+
+-   `configure pdx`\*
+-   `create region`
+-   `alter region`
+-   `alter runtime`
+-   `destroy region`
+-   `create index`
+-   `destroy index`
+-   `create disk-store`
+-   `destroy disk-store`
+-   `create async-event-queue`
+-   `deploy jar`
+-   `undeploy jar`
+
+**\*** Note that the `configure pdx` command must be executed *before* starting your data members. This command does not affect any currently running members in the system. Data members (with cluster configuration enabled) that are started after running this command will pick up the new PDX configuration.
+
+The following gateway-related commands use the cluster configuration service, and their configuration is saved by locators:
+
+-   `create gateway-sender`
+-   `create gateway-receiver`
+
+## <a id="concept_r22_hyw_bl__section_bn3_23p_y4" class="no-quick-link"></a>gfsh Limitations
+
+There are some configurations that you cannot create using `gfsh`, and that you must configure using cache.xml or the API:
+
+-   Client cache configuration
+-   You cannot specify parameters and values for Java classes for the following objects:
+    -   `function`
+    -   `custom-load-probe`
+    -   `cache-listener`
+    -   `cache-loader`
+    -   `cache-writer`
+    -   `compressor`
+    -   `serializer`
+    -   `instantiantor`
+    -   `pdx-serializer`
+    
+        **Note:**
+        The `configure pdx` command always specifies the `org.apache.geode.pdx.ReflectionBasedAutoSerializer` class. You cannot specify a custom PDX serializer in gfsh.
+
+    -   `custom-expiry`
+    -   `initializer`
+    -   `declarable`
+    -   `lru-heap-percentage`
+    -   `lru-memory-size`
+    -   `partition-resolver`
+    -   `partition-listener`
+    -   `transaction-listener`
+    -   `transaction-writer`
+-   Adding or removing a TransactionListener
+-   Adding JNDI bindings
+-   Deleting an AsyncEventQueue
+
+In addition, there are some limitations on configuring gateways using `gfsh`.You must use cache.xml or the Java APIs to configure the following:
+
+-   Configuring a GatewayConflictResolver
+-   You cannot specify parameters and values for Java classes for the following:
+    -   `gateway-listener`
+    -   `gateway-conflict-resolver`
+    -   `gateway-event-filter`
+    -   `gateway-transport-filter`
+    -   `gateway-event-substitution-filter`
+
+## <a id="concept_r22_hyw_bl__section_fh1_c3p_y4" class="no-quick-link"></a>Disabling the Cluster Configuration Service
+
+If you do not want to use the cluster configuration service, start up your locator with the `--enable-cluster-configuration` parameter set to false or do not use standalone locators. You will then need to configure the cache (via cache.xml or API) separately on all your distributed system members.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/configuring/cluster_config/gfsh_remote.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/cluster_config/gfsh_remote.html.md.erb b/geode-docs/configuring/cluster_config/gfsh_remote.html.md.erb
new file mode 100644
index 0000000..9132e44
--- /dev/null
+++ b/geode-docs/configuring/cluster_config/gfsh_remote.html.md.erb
@@ -0,0 +1,61 @@
+---
+title:  Using gfsh to Manage a Remote Cluster Over HTTP or HTTPS
+---
+
+You can connect `gfsh` via HTTP or HTTPS to a remote cluster and manage the cluster using `gfsh` commands.
+
+To connect `gfsh` using the HTTP protocol to a remote GemFire cluster:
+
+1.  Launch `gfsh`. See [Starting gfsh](../../tools_modules/gfsh/starting_gfsh.html#concept_DB959734350B488BBFF91A120890FE61).
+2.  When starting the remote cluster on the remote host, you can optionally specify `--http-bind-address` and `--http-service-port` as GemFire properties when starting up your JMX manager (server or locator). These properties can be then used in the URL used when connecting from your local system to the HTTP service in the remote cluster. For example:
+
+    ``` pre
+    gfsh>start server --name=server1 --J=-Dgemfire.jmx-manager=true \
+    --J=-Dgemfire.jmx-manager-start=true --J=-Dgemfire.http-service-port=8080 \
+    --J=-Dgemfire.http-service-bind-address=myremotecluster.example.com
+    ```
+
+    This command must be executed directly on the host machine that will ultimately act as the remote GemFire server that hosts the HTTP service for remote administration. (You cannot launch a GemFire server remotely.)
+
+3.  On your local system, run the `gfsh` `connect` command to connect to the remote system. Include the `--use-http` and `--url` parameters. For example:
+
+    ``` pre
+    gfsh>connect --use-http=true --url="http://myremotecluster.example.com:8080/gemfire/v1"
+
+    Successfully connected to: GemFire Manager's HTTP service @ http://myremotecluster.example.com:8080/gemfire/v1
+    ```
+
+    See [connect](../../tools_modules/gfsh/command-pages/connect.html).
+
+    `gfsh` is now connected to the remote system. Most `gfsh` commands will now execute on the remote system; however, there are exceptions. The following commands are executed on the local cluster:
+      -   `alter disk-store`
+      -   `compact offline-disk-store`
+      -   `describe offline-disk-store`
+      -   `help`
+      -   `hint`
+      -   `sh` (for executing OS commands)
+      -   `sleep`
+      -   `start jconsole` (however, you can connect JConsole to a remote cluster when gfsh is connected to the cluster via JMX)
+      -   `start jvisualvm`
+      -   `start locator`
+      -   `start server`
+      -   `start vsd`
+      -   `status locator``*`
+      -   `status server``*`
+      -   `stop locator``*`
+      -   `stop server``*`
+      -   `run` (for executing gfsh scripts)
+      -   `validate disk-store`
+      -   `version`
+
+    `*`You can stop and obtain the status of *remote locators and servers* when `gfsh` is connected to the cluster via JMX or HTTP/S by using the `--name` option for these `stop`/`status` commands. If you are using the `--pid` or `--dir` option for these commands, then the` stop`/`status` commands are executed only locally.
+
+To configure SSL for the remote connection (HTTPS), enable SSL for the `http` component
+in <span class="ph filepath">gemfire.properties</span> or <span class="ph
+filepath">gfsecurity-properties</span> or upon server startup. See
+[SSL](../../managing/security/ssl_overview.html) for details on configuring SSL parameters. These
+SSL parameters also apply to all HTTP services hosted on the configured JMX Manager, which can
+include the following:
+
+-   Developer REST API service
+-   Pulse monitoring tool

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/configuring/cluster_config/persisting_configurations.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/cluster_config/persisting_configurations.html.md.erb b/geode-docs/configuring/cluster_config/persisting_configurations.html.md.erb
new file mode 100644
index 0000000..e18bb30
--- /dev/null
+++ b/geode-docs/configuring/cluster_config/persisting_configurations.html.md.erb
@@ -0,0 +1,320 @@
+---
+title:  Tutorial\u2014Creating and Using a Cluster Configuration
+---
+
+A short walk-through that uses a single computer to demonstrate how to use `gfsh` to create a cluster configuration for a Geode cluster.
+
+The `gfsh` command-line tool allows you to configure and start a Geode cluster. The cluster configuration service uses Apache Geode locators to store the configuration at the group and cluster levels and serves these configurations to new members as they are started. The locators store the configurations in a hidden region that is available to all locators and also write the configuration data to disk as XML files. Configuration data is updated as `gfsh` commands are executed.
+
+This section provides a walk-through example of configuring a simple Apache Geode cluster and then re-using that configuration in a new context.
+
+1.  Create a working directory (For example:`/home/username/my_gemfire`) and switch to the new directory. This directory will contain the configurations for your cluster.
+
+2.  Start the `gfsh` command-line tool. For example:
+
+    ``` pre
+    $ gfsh
+    ```
+
+    The `gfsh` command prompt displays.
+
+    ``` pre
+        _________________________     __
+       / _____/ ______/ ______/ /____/ /
+      / /  __/ /___  /_____  / _____  /
+     / /__/ / ____/  _____/ / /    / /
+    /______/_/      /______/_/    /_/    1.0.0
+
+    Monitor and Manage Apache Geode
+    gfsh>
+
+    ```
+
+3.  Start a locator using the command in the following example:
+
+    ``` pre
+    gfsh>start locator --name=locator1
+    Starting a GemFire Locator in /Users/username/my_gemfire/locator1...
+    .............................
+    Locator in /Users/username/my_gemfire/locator1 on 192.0.2.0[10334] as locator1 is currently online.
+    Process ID: 5203
+    Uptime: 15 seconds
+    GemFire Version: 8.1.0
+    Java Version: 1.7.0_71
+    Log File: /Users/username/my_gemfire/locator1/locator1.log
+    JVM Arguments: -Dgemfire.enable-cluster-configuration=true
+    -Dgemfire.load-cluster-configuration-from-dir=false
+    -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true
+    -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
+    Class-Path: /Users/username/Pivotal_GemFire_810_b50582_Linux/lib/gemfire.jar
+    :/Users/username/Pivotal_GemFire_810_b50582_Linux/lib/locator-dependencies.jar
+
+    Successfully connected to: [host=192.0.2.0, port=1099]
+
+    Cluster configuration service is up and running.
+    ```
+
+    Note that `gfsh` responds with a message indicating that the cluster configuration service is up and running. If you see a message indicating a problem, review the locator log file for possible errors. The path to the log file is displayed in the output from `gfsh`.
+
+4.  Start Apache Geode servers using the commands in the following example:
+
+    ``` pre
+    gfsh>start server --name=server1 --group=group1
+    Starting a GemFire Server in /Users/username/my_gemfire/server1...
+    .....
+    Server in /Users/username/my_gemfire/server1 on 192.0.2.0[40404] as server1 is currently online.
+    Process ID: 5627
+    Uptime: 2 seconds
+    GemFire Version: 8.1.0
+    Java Version: 1.7.0_71
+    Log File: /Users/username/my_gemfire/server1/server1.log
+    JVM Arguments: -Dgemfire.default.locators=192.0.2.0[10334] -Dgemfire.groups=group1
+    -Dgemfire.use-cluster-configuration=true -XX:OnOutOfMemoryError=kill -KILL %p
+    -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true
+    -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
+    Class-Path: /Users/username/Pivotal_GemFire_810_b50582_Linux/lib/gemfire.jar
+    :/Users/username/Pivotal_GemFire_810_b50582_Linux/lib/server-dependencies.jar
+
+    gfsh>start server --name=server2 --group=group1 --server-port=40405
+    Starting a GemFire Server in /Users/username/my_gemfire/server2...
+    .....
+    Server in /Users/username/my_gemfire/server2 on 192.0.2.0[40405] as server2 is currently online.
+    Process ID: 5634
+    Uptime: 2 seconds
+    GemFire Version: 8.1.0
+    Java Version: 1.7.0_71
+    Log File: /Users/username/my_gemfire/server2/server2.log
+    JVM Arguments: -Dgemfire.default.locators=192.0.2.0[10334] -Dgemfire.groups=group1
+    -Dgemfire.use-cluster-configuration=true -XX:OnOutOfMemoryError=kill -KILL %p
+    -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true
+    -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
+    Class-Path: /Users/username/Pivotal_GemFire_810_b50582_Linux/lib/gemfire.jar
+    :/Users/username/Pivotal_GemFire_810_b50582_Linux/lib/server-dependencies.jar
+
+    gfsh>start server --name=server3 --server-port=40406
+    Starting a GemFire Server in /Users/username/my_gemfire/server3...
+    .....
+    Server in /Users/username/my_gemfire/server3 on 192.0.2.0[40406] as server3 is currently online.
+    Process ID: 5637
+    Uptime: 2 seconds
+    GemFire Version: 8.1.0
+    Java Version: 1.7.0_71
+    Log File: /Users/username/my_gemfire/server3/server3.log
+    JVM Arguments: -Dgemfire.default.locators=192.0.2.0[10334]
+    -Dgemfire.use-cluster-configuration=true -XX:OnOutOfMemoryError=kill -KILL %p
+    -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true
+    -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
+    Class-Path: /Users/username/Pivotal_GemFire_810_b50582_Linux/lib/gemfire.jar
+    :/Users/username/Pivotal_GemFire_810_b50582_Linux/lib/server-dependencies.jar
+    ```
+
+    Note that the `gfsh` commands you used to start `server1` and `server2` specify a group named `group1` while the command for `server3` did not specify a group name.
+
+5.  Create some regions using the commands in the following example:
+
+    ``` pre
+    gfsh>create region --name=region1 --group=group1 --type=REPLICATE
+    Member  | Status
+    ------- | --------------------------------------
+    server2 | Region "/region1" created on "server2"
+    server1 | Region "/region1" created on "server1"
+
+    gfsh>create region --name=region2 --type=REPLICATE
+    Member  | Status
+    ------- | --------------------------------------
+    server1 | Region "/region2" created on "server1"
+    server2 | Region "/region2" created on "server2"
+    server3 | Region "/region2" created on "server3"
+    ```
+
+    Note that `region1` is created on all cache servers that specified the group named `group1` when starting the cache server (`server1` and `server2`, in this example). `region2` is created on all members because no group was specified.
+
+6.  Deploy jar files. Use the `gfsh deploy` command to deploy application jar files to all members or to a specified group of members. The following example deploys the `mail.jar` and `mx4j.jar` files from the distribution. (Note: This is only an example, you do not need to deploy these files to use the Cluster Configuration Service. Alternately, you can use any two jar files for this demonstration.)
+
+    ``` pre
+    gfsh>deploy --group=group1 --jar=${SYS_GEMFIRE_DIR}/lib/mail.jar
+    Post substitution: deploy --group=group1 --jar=/Users/username/Pivotal_GemFire_810_b50582_Linux/lib/mail.jar
+    Member  | Deployed JAR | Deployed JAR Location
+    ------- | ------------ | -------------------------------------------------
+    server1 | mail.jar     | /Users/username/my_gemfire/server1/vf.gf#mail.jar#1
+    server2 | mail.jar     | /Users/username/my_gemfire/server2/vf.gf#mail.jar#1
+
+    gfsh>deploy --jar=${SYS_GEMFIRE_DIR}/lib/mx4j.jar
+    Post substitution: deploy --jar=/Users/username/Pivotal_GemFire_810_b50582_Linux/lib/mx4j.jar
+    Member  | Deployed JAR | Deployed JAR Location
+    ------- | ------------ | -------------------------------------------------
+    server1 | mx4j.jar     | /Users/username/my_gemfire/server1/vf.gf#mx4j.jar#1
+    server2 | mx4j.jar     | /Users/username/my_gemfire/server2/vf.gf#mx4j.jar#1
+    server3 | mx4j.jar     | /Users/username/my_gemfire/server3/vf.gf#mx4j.jar#1
+    ```
+
+    Note that the `mail.jar` file was deployed only to the members of `group1` and the `mx4j.jar` was deployed to all members.
+
+7.  Export the cluster configuration.
+    You can use the `gfsh export cluster-configuration` command to create a zip file that contains the cluster's persisted configuration. The zip file contains a copy of the contents of the `cluster_config` directory. For example:
+
+    ``` pre
+    gfsh>export cluster-configuration --zip-file-name=myClusterConfig.zip --dir=/Users/username
+    ```
+
+    Apache Geode writes the cluster configuration to the specified zip file.
+
+    ``` pre
+    Downloading cluster configuration : /Users/username/myClusterConfig.zip
+    ```
+
+    The remaining steps demonstrate how to use the cluster configuration you just created.
+
+8.  Shut down the cluster using the following commands:
+
+    ``` pre
+    gfsh>shutdown --include-locators=true
+    As a lot of data in memory will be lost, including possibly events in queues, do you
+    really want to shutdown the entire distributed system? (Y/n): Y
+    Shutdown is triggered
+
+    gfsh>
+    No longer connected to 192.0.2.0[1099].
+    gfsh>
+    ```
+
+9.  Exit the `gfsh` command shell:
+
+    ``` pre
+    gfsh>quit
+    Exiting...
+    ```
+
+10. Create a new working directory (for example: `new_gemfire`) and switch to the new directory.
+11. Start the `gfsh` command shell:
+
+    ``` pre
+    $ gfsh
+    ```
+
+12. Start a new locator. For example:
+
+    ``` pre
+    gfsh>start locator --name=locator2 --port=10335
+    Starting a GemFire Locator in /Users/username/new_gemfire/locator2...
+    .............................
+    Locator in /Users/username/new_gemfire/locator2 on 192.0.2.0[10335] as locator2 is currently online.
+    Process ID: 5749
+    Uptime: 15 seconds
+    GemFire Version: 8.1.0
+    Java Version: 1.7.0_71
+    Log File: /Users/username/new_gemfire/locator2/locator2.log
+    JVM Arguments: -Dgemfire.enable-cluster-configuration=true
+    -Dgemfire.load-cluster-configuration-from-dir=false
+    -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true
+    -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
+    Class-Path: /Users/username/Pivotal_GemFire_810_b50582_Linux/lib/gemfire.jar
+    :/Users/username/Pivotal_GemFire_810_b50582_Linux/lib/locator-dependencies.jar
+
+    Successfully connected to: [host=192.0.2.0, port=1099]
+
+    Cluster configuration service is up and running.
+    ```
+
+13. Import the cluster configuration using the `import cluster-configuration` command. For example:
+
+    ``` pre
+    gfsh>import cluster-configuration --zip-file-name=/Users/username/myClusterConfig.zip
+    Cluster configuration successfully imported
+    ```
+
+    Note that the `locator2` directory now contains a `cluster_config` subdirectory.
+
+14. Start a server that does not reference a group:
+
+    ``` pre
+    gfsh>start server --name=server4 --server-port=40414
+    Starting a GemFire Server in /Users/username/new_gemfire/server4...
+    ........
+    Server in /Users/username/new_gemfire/server4 on 192.0.2.0[40414] as server4 is currently online.
+    Process ID: 5813
+    Uptime: 4 seconds
+    GemFire Version: 8.1.0
+    Java Version: 1.7.0_71
+    Log File: /Users/username/new_gemfire/server4/server4.log
+    JVM Arguments: -Dgemfire.default.locators=192.0.2.0[10335]
+    -Dgemfire.use-cluster-configuration=true -XX:OnOutOfMemoryError=kill -KILL %p
+    -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true
+    -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
+    Class-Path: /Users/username/Pivotal_GemFire_810_b50582_Linux/lib/gemfire.jar
+    :/Users/username/Pivotal_GemFire_810_b50582_Linux/lib/server-dependencies.jar
+    ```
+
+15. Start another server that references `group1`:
+
+    ``` pre
+    gfsh>start server --name=server5 --group=group1 --server-port=40415
+    Starting a GemFire Server in /Users/username/new_gemfire/server5...
+    .....
+    Server in /Users/username/new_gemfire/server2 on 192.0.2.0[40415] as server5 is currently online.
+    Process ID: 5954
+    Uptime: 2 seconds
+    GemFire Version: 8.1.0
+    Java Version: 1.7.0_71
+    Log File: /Users/username/new_gemfire/server5/server5.log
+    JVM Arguments: -Dgemfire.default.locators=192.0.2.0[10335] -Dgemfire.groups=group1
+    -Dgemfire.use-cluster-configuration=true -XX:OnOutOfMemoryError=kill -KILL %p
+    -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true
+    -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
+    Class-Path: /Users/username/Pivotal_GemFire_810_b50582_Linux/lib/gemfire.jar
+    :/Users/username/Pivotal_GemFire_810_b50582_Linux/lib/server-dependencies.jar
+    ```
+
+16. Use the `list regions` command to display the configured regions. Note that region1 and region2, which were configured in the original cluster level are available.
+
+    ``` pre
+    gfsh>list regions
+    List of regions
+    ---------------
+    region1
+    region2
+    ```
+
+17. Use the `describe region` command to see which members host each region. Note that region1 is hosted only by server5 because server5 was started using the group1 configuration. region2 is hosted on both server4 and server5 because region2 was created without a group specified.
+
+    ``` pre
+    gfsh>describe region --name=region1
+    ..........................................................
+    Name            : region1
+    Data Policy     : replicate
+    Hosting Members : server5
+
+    Non-Default Attributes Shared By Hosting Members
+
+     Type  | Name | Value
+    ------ | ---- | -----
+    Region | size | 0
+
+
+    gfsh>describe region --name=region2
+    ..........................................................
+    Name            : region2
+    Data Policy     : replicate
+    Hosting Members : server5
+                      server4
+
+    Non-Default Attributes Shared By Hosting Members
+
+     Type  | Name | Value
+    ------ | ---- | -----
+    Region | size | 0
+    ```
+
+    This new cluster uses the same configuration as the original system. You can start any number of servers using this cluster configuration. All servers will receive the cluster-level configuration. Servers that specify `group1` also receive the `group1` configuration.
+
+18. Shut down your cluster using the following commands:
+
+    ``` pre
+    gfsh>shutdown --include-locators=true
+    As a lot of data in memory will be lost, including possibly events in queues,
+      do you really want to shutdown the entire distributed system? (Y/n): Y
+    Shutdown is triggered
+
+    gfsh>
+    No longer connected to 192.0.2.0[1099].
+    ```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/configuring/cluster_config/using_member_groups.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/cluster_config/using_member_groups.html.md.erb b/geode-docs/configuring/cluster_config/using_member_groups.html.md.erb
new file mode 100644
index 0000000..524d787
--- /dev/null
+++ b/geode-docs/configuring/cluster_config/using_member_groups.html.md.erb
@@ -0,0 +1,27 @@
+---
+title:  Using Member Groups
+---
+
+Apache Geode allows you to organize your distributed system members into logical member groups.
+
+The use of member groups in Apache Geode is optional. The benefit of using member groups is the ability to coordinate certain operations on members based on logical group membership. For example, by defining and using member groups you can:
+
+-   Alter a subset of configuration properties for a specific member or members. See [alter runtime](../../tools_modules/gfsh/command-pages/alter.html#topic_7E6B7E1B972D4F418CB45354D1089C2B) in `gfsh`.
+-   Perform certain disk operations like disk-store compaction across a member group. See [Disk Store Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_1ACC91B493EE446E89EC7DBFBBAE00EA) for a list of commands.
+-   Manage specific indexes or regions across all members of a group.
+-   Start and stop multi-site (WAN) services such as gateway senders and gateway receivers across a member group.
+-   Deploy or undeploy JAR applications on all members in a group.
+-   Execute functions on all members of a specific group.
+
+You define group names in the `groups` property of your member's `gemfire.properties` file or upon member startup in `gfsh`.
+
+**Note:**
+Any roles defined in the currently existing `roles` property will now be considered a group. If you wish to add membership roles to your distributed system, you should add them as member groups in the `groups` property. The `roles` property has been deprecated in favor of using the `groups` property.
+
+To add a member to a group, add the name of a member group to the `gemfire.properties` file of the member prior to startup or you can start up a member in `gfsh` and pass in the `--group` argument at startup time.
+
+A single member can belong to more than one group.
+
+Member groups can also be used to organize members from either a client's perspective or from a peer member's perspective. See [Organizing Peers into Logical Member Groups](../../topologies_and_comm/p2p_configuration/configuring_peer_member_groups.html) and [Organizing Servers Into Logical Member Groups](../../topologies_and_comm/cs_configuration/configure_servers_into_logical_groups.html) for more information. On the client side, you can supply the member group name when configuring a client's connection pool. Use the &lt;pool server-group&gt; element in the client's cache.xml.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/configuring/running/change_file_spec.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/change_file_spec.html.md.erb b/geode-docs/configuring/running/change_file_spec.html.md.erb
new file mode 100644
index 0000000..8edb68b
--- /dev/null
+++ b/geode-docs/configuring/running/change_file_spec.html.md.erb
@@ -0,0 +1,40 @@
+---
+title:  Changing the File Specifications
+---
+
+You can change all file specifications in the `gemfire.properties` file and at the command line.
+
+**Note:**
+Geode applications can use the API to pass `java.lang.System properties` to the distributed system connection. This changes file specifications made at the command line and in the `gemfire.properties`. You can verify an application\u2019s property settings in the configuration information logged at application startup. The configuration is listed when the `gemfire.properties` `log-level` is set to `config` or lower.
+
+This invocation of the application, `testApplication.TestApp1`, provides non-default specifications for both the `cache.xml` and `gemfire.properties`:
+
+``` pre
+java -Dgemfire.cache-xml-file=
+/gemfireSamples/examples/dist/cacheRunner/queryPortfolios.xml
+-DgemfirePropertyFile=defaultConfigs/gemfire.properties
+testApplication.TestApp1
+```
+
+The gfsh start server command can use the same specifications:
+
+``` pre
+gfsh>start server
+-J-Dgemfire.cache-xml-file=/gemfireSamples/examples/dist/cacheRunner/queryPortfolios.xml
+-J-DgemfirePropertyFile=defaultConfigs/gemfire.properties
+```
+
+You can also change the specifications for the `cache.xml` file inside the `gemfire.properties` file.
+
+**Note:**
+Specifications in `gemfire.properties` files cannot use environment variables.
+
+Example `gemfire.properties` file with non-default `cache.xml` specification:
+
+``` pre
+#Tue May 09 17:53:54 PDT 2006
+mcast-address=192.0.2.0
+mcast-port=10333
+locators=
+cache-xml-file=/gemfireSamples/examples/dist/cacheRunner/queryPortfolios.xml
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/configuring/running/default_file_specs.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/default_file_specs.html.md.erb b/geode-docs/configuring/running/default_file_specs.html.md.erb
new file mode 100644
index 0000000..37f9ee3
--- /dev/null
+++ b/geode-docs/configuring/running/default_file_specs.html.md.erb
@@ -0,0 +1,59 @@
+---
+title:  Default File Specifications and Search Locations
+---
+
+Each file has a default name, a set of file search locations, and a system property you can use to override the defaults.
+
+To use the default specifications, place the file at the top level of its directory or jar file. The system properties are standard file specifications that can have absolute or relative pathnames and filenames.
+
+**Note:**
+If you do not specify an absolute file path and name, the search examines all search locations for the file.
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Default File Specification</th>
+<th>Search Locations for Relative File Specifications</th>
+<th>Available Property for File Specification</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><code class="ph codeph">gemfire.properties</code></td>
+<td><ol>
+<li>current directory</li>
+<li>home directory</li>
+<li>CLASSPATH</li>
+</ol></td>
+<td>As a Java system property, use <code class="ph codeph">gemfirePropertyFile</code></td>
+</tr>
+<tr class="even">
+<td><code class="ph codeph">cache.xml</code></td>
+<td><ol>
+<li>current directory</li>
+<li>CLASSPATH</li>
+</ol></td>
+<td>In <code class="ph codeph">gemfire.properties</code>, use the <code class="ph codeph">cache-xml-file</code> property</td>
+</tr>
+</tbody>
+</table>
+
+Examples of valid `gemfirePropertyFile` specifications:
+
+-   `/zippy/users/jpearson/gemfiretest/gemfire.properties`
+-   `c:\gemfiretest\gemfire.prp`
+-   `myGF.properties`
+-   `test1/gfprops`
+
+For the `test1/gfprops` specification, if you launch your Geode system member from `/testDir` in a Unix file system, Geode looks for the file in this order until it finds the file or exhausts all locations:
+
+1.  `/testDir/test1/gfprops`
+2.  `<yourHomeDir>/test1/gfprops`
+3.  under every location in your `CLASSPATH` for `test1/gfprops`
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/configuring/running/deploy_config_files_intro.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/deploy_config_files_intro.html.md.erb b/geode-docs/configuring/running/deploy_config_files_intro.html.md.erb
new file mode 100644
index 0000000..758b25a
--- /dev/null
+++ b/geode-docs/configuring/running/deploy_config_files_intro.html.md.erb
@@ -0,0 +1,17 @@
+---
+title:  Main Steps to Deploying Configuration Files
+---
+
+These are the basic steps for deploying configuration files, with related detail in sections that follow.
+
+1.  Determine which configuration files you need for your installation.
+2.  Place the files in your directories or jar files.
+3.  For any file with a non-default name or location, provide the file specification in the system properties file and/or in the member `CLASSPATH.`
+
+## <a id="concept_337B365782E44951B73F33E1E17AB07B__section_53C98F9DB1584E3BABFA315CDF254A92" class="no-quick-link"></a>Geode Configuration Files
+
+-   `gemfire.properties`. Contains the settings required by members of a distributed system. These settings include licensing, system member discovery, communication parameters, logging, and statistics. See the [Reference](../../reference/book_intro.html#reference).
+-   **`gfsecurity.properties`**. An optional separate file that contains security-related (`security-*`) settings that are otherwise defined in `gemfire.properties`. Placing these member properties into a separate file allows you to restrict user access to those specific settings. See the [Reference](../../reference/book_intro.html#reference).
+-   `cache.xml`. Declarative cache configuration file. This file contains XML declarations for cache, region, and region entry configuration. You also use it to configure disk stores, database login credentials, server and remote site location information, and socket information. See [cache.xml](../../reference/topics/chapter_overview_cache_xml.html#cache_xml).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/configuring/running/deploying_config_files.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/deploying_config_files.html.md.erb b/geode-docs/configuring/running/deploying_config_files.html.md.erb
new file mode 100644
index 0000000..76c036a
--- /dev/null
+++ b/geode-docs/configuring/running/deploying_config_files.html.md.erb
@@ -0,0 +1,28 @@
+---
+title:  Deploying Configuration Files without the Cluster Configuration Service
+---
+
+You can deploy your Apache Geode configuration files in your system directory structure or in jar files. You determine how you want to deploy your configuration files and set them up accordingly.
+
+**Note:**
+If you use the cluster configuration service to create and manage your Apache Geode cluster configuration, the procedures described in this section are not needed because Geode automatically manages the distribution of the configuration files and jar files to members of the cluster. See [Overview of the Cluster Configuration Service](../cluster_config/gfsh_persist.html).
+
+You can use the procedures described in this section to distribute configurations that are member-specific, or for situations where you do not want to use the cluster configuration service.
+
+-   **[Main Steps to Deploying Configuration Files](../../configuring/running/deploy_config_files_intro.html)**
+
+    These are the basic steps for deploying configuration files, with related detail in sections that follow.
+
+-   **[Default File Specifications and Search Locations](../../configuring/running/default_file_specs.html)**
+
+    Each file has a default name, a set of file search locations, and a system property you can use to override the defaults.
+
+-   **[Changing the File Specifications](../../configuring/running/change_file_spec.html)**
+
+    You can change all file specifications in the `gemfire.properties` file and at the command line.
+
+-   **[Deploying Configuration Files in JAR Files](../../configuring/running/deploying_config_jar_files.html)**
+
+    This section provides a procedure and an example for deploying configuration files in JAR files.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/configuring/running/deploying_config_jar_files.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/deploying_config_jar_files.html.md.erb b/geode-docs/configuring/running/deploying_config_jar_files.html.md.erb
new file mode 100644
index 0000000..bf855c6
--- /dev/null
+++ b/geode-docs/configuring/running/deploying_config_jar_files.html.md.erb
@@ -0,0 +1,35 @@
+---
+title:  Deploying Configuration Files in JAR Files
+---
+
+This section provides a procedure and an example for deploying configuration files in JAR files.
+
+**Procedure**
+
+1.  Jar the files.
+2.  Set the Apache Geode system properties to point to the files as they reside in the jar file.
+3.  Include the jar file in your `CLASSPATH.`
+4.  Verify the jar file copies are the only ones visible to the application at runtime. Geode searches the `CLASSPATH` after searching other locations, so the files cannot be available in the other search areas.
+5.  Start your application. The configuration file is loaded from the jar file.
+
+**Example of Deploying a Configuration JAR**
+
+The following example deploys the cache configuration file, `myCache.xml`, in `my.jar`. The following displays the contents of `my.jar`:
+
+``` pre
+% jar -tf my.jar 
+META-INF 
+META-INF/MANIFEST.MF 
+myConfig/ 
+myConfig/myCache.xml
+```
+
+In this example, you would perform the following steps to deploy the configuration jar file:
+
+1.  Set the system property, `gemfire.cache-xml-file`, to `myConfig/myCache.xml`
+2.  Set your `CLASSPATH` to include `my.jar`.
+3.  Verify there is no file named `myCache.xml` in `./myConfig/myCache.xml`, the current directory location of the file
+
+When you start your application, the configuration file is loaded from the jar file.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/configuring/running/firewall_ports_config.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/firewall_ports_config.html.md.erb b/geode-docs/configuring/running/firewall_ports_config.html.md.erb
new file mode 100644
index 0000000..4f90602
--- /dev/null
+++ b/geode-docs/configuring/running/firewall_ports_config.html.md.erb
@@ -0,0 +1,15 @@
+---
+title:  Firewall Considerations
+---
+
+You can configure and limit port usage for situations that involve firewalls, for example, between client-server or server-server connections.
+
+-   **[Firewalls and Connections](../../configuring/running/firewalls_connections.html)**
+
+    Be aware of possible connection problems that can result from running a firewall on your machine.
+
+-   **[Firewalls and Ports](../../configuring/running/firewalls_ports.html)**
+
+    Make sure your port settings are configured correctly for firewalls.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/configuring/running/firewalls_connections.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/firewalls_connections.html.md.erb b/geode-docs/configuring/running/firewalls_connections.html.md.erb
new file mode 100644
index 0000000..3ae6bb1
--- /dev/null
+++ b/geode-docs/configuring/running/firewalls_connections.html.md.erb
@@ -0,0 +1,18 @@
+---
+title:  Firewalls and Connections
+---
+
+Be aware of possible connection problems that can result from running a firewall on your machine.
+
+Apache Geode is a network-centric distributed system, so if you have a firewall running on your machine it could cause connection problems. For example, your connections may fail if your firewall places restrictions on inbound or outbound permissions for Java-based sockets. You may need to modify your firewall configuration to permit traffic to Java applications running on your machine. The specific configuration depends on the firewall you are using.
+
+As one example, firewalls may close connections to Geode due to timeout settings. If a firewall senses no activity in a certain time period, it may close a connection and open a new connection when activity resumes, which can cause some confusion about which connections you have.
+
+For more information on how Geode client and servers connect, see the following topics:
+
+-   [How Client/Server Connections Work](../../topologies_and_comm/topology_concepts/how_the_pool_manages_connections.html#how_the_pool_manages_connections)
+-   [Socket Communication](../../managing/monitor_tune/socket_communication.html)
+-   [Controlling Socket Use](../../managing/monitor_tune/performance_controls_controlling_socket_use.html#perf)
+-   [Setting Socket Buffer Sizes](../../managing/monitor_tune/socket_communication_setting_socket_buffer_sizes.html)
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/configuring/running/firewalls_multisite.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/firewalls_multisite.html.md.erb b/geode-docs/configuring/running/firewalls_multisite.html.md.erb
new file mode 100644
index 0000000..ace18d7
--- /dev/null
+++ b/geode-docs/configuring/running/firewalls_multisite.html.md.erb
@@ -0,0 +1,70 @@
+---
+title:  Firewalls and Ports in Multi-Site (WAN) Configurations
+---
+
+Make sure your port settings are configured correctly for firewalls.
+
+<a id="concept_pfs_sf4_ft__section_alm_2g4_ft"></a>
+Each gateway receiver uses a port to listen for incoming communication from one or more gateway senders communication between GemFire sites. The full range of port values for gateway receivers must be made accessible within the firewall from across the WAN.
+
+## **Properties for Firewall and Port Configuration in Multi-Site (WAN) Configurations**
+
+This table contains properties potentially involved in firewall behavior, with a brief description of each property. Click on a property name for a link to the [gemfire.properties and gfsecurity.properties (GemFire Properties)](../../reference/topics/gemfire_properties.html#gemfire_properties) reference topic.
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Configuration Area</th>
+<th><strong>Property or Setting</strong></th>
+<th><strong>Definition</strong></th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td>multi-site (WAN) config</td>
+<td><p>[hostname-for-senders](../../reference/topics/gfe_cache_xml.html#gateway-receiver)</p></td>
+<td><p>Hostname or IP address of the gateway receiver used by gateway senders to connect.</p></td>
+</tr>
+<tr class="even">
+<td>multi-site (WAN) config</td>
+<td>[remote-locators](../../reference/topics/gemfire_properties.html#gemfire_properties)</td>
+<td><p>List of locators (and their ports) that are available on the remote WAN site.</p></td>
+</tr>
+<tr class="odd">
+<td>multi-site (WAN) config</td>
+<td><p>[start-port](../../reference/topics/gfe_cache_xml.html#gateway-receiver) and [end-port](../../reference/topics/gfe_cache_xml.html#gateway-receiver) (cache.xml) or <code class="ph codeph">--start-port</code> and <code class="ph codeph">--end-port</code> parameters to the gfsh start gateway receiver command</p></td>
+<td><p>Port range that the gateway receiver can use to listen for gateway sender communication.</p></td>
+</tr>
+</tbody>
+</table>
+
+## Default Port Configuration
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th><p><strong>Port Name</strong></p></th>
+<th>Related Configuration Setting</th>
+<th><p><strong>Default Port</strong></p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p>Gateway Receiver</p></td>
+<td><p>[start-port](../../reference/topics/gfe_cache_xml.html#gateway-receiver) and [end-port](../../reference/topics/gfe_cache_xml.html#gateway-receiver) (cache.xml) or <code class="ph codeph">--start-port</code> and <code class="ph codeph">--end-port</code> parameters to the <code class="ph codeph">gfsh start gateway receiver</code> command</p></td>
+<td><em>not set</em> Each gateway receiver uses a single port to accept connections from gateway senders in other systems. However, the configuration of a gateway receiver specifies a range of possible port values to use. GemFire selects an available port from the specified range when the gateway receiver starts. Configure your firewall so that the full range of possible port values is accessible by gateway senders from across the WAN.</td>
+</tr>
+</tbody>
+</table>
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/configuring/running/firewalls_ports.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/firewalls_ports.html.md.erb b/geode-docs/configuring/running/firewalls_ports.html.md.erb
new file mode 100644
index 0000000..e278e5c
--- /dev/null
+++ b/geode-docs/configuring/running/firewalls_ports.html.md.erb
@@ -0,0 +1,229 @@
+---
+title:  Firewalls and Ports
+---
+
+Make sure your port settings are configured correctly for firewalls.
+
+<a id="concept_5ED182BDBFFA4FAB89E3B81366EBC58E__section_F9C1D7419F954DC1A305C34714C8615C"></a>
+There are several different port settings that need to be considered when using firewalls:
+
+-   Port that the cache server listens on. This is configurable using the `cache-server` element in cache.xml, on the CacheServer class in Java APIs, and as a command line option to the `gfsh start server` command.
+
+    By default, if not otherwise specified, Geode clients and servers discover each other on a pre-defined port (**40404**) on the localhost.
+
+-   Locator port. Geode clients can use the locator to automatically discover cache servers. The locator port is configurable as a command-line option to the `gfsh start locator` command. Locators are used in the peer-to-peer cache deployments to discover other processes. They can be used by clients to locate servers as an alternative to configuring clients with a collection of server addresses and ports.
+
+    By default, if not otherwise specified, Geode locators use the default multicast port **10334**.
+
+-   Since locators start up the distributed system, locators must also have their ephemeral port range and TCP port accessible to other members through the firewall.
+-   For clients, you configure the client to connect to servers using the client's pool configuration. The client's pool configuration has two options: you can create a pool with either a list of server elements or a list of locator elements. For each element, you specify the host and port. The ports specified must be made accessible through your firewall.
+
+## **Limiting Ephemeral Ports for Peer-to-Peer Membership**
+
+By default, Geode assigns *ephemeral* ports, that is, temporary ports assigned from a designated range, which can encompass a large number of possible ports. When a firewall is present, the ephemeral port range usually must be limited to a much smaller number, for example six. If you are configuring P2P communications through a firewall, you must also set the TCP port for each process and ensure that UDP traffic is allowed through the firewall.
+
+## **Properties for Firewall and Port Configuration**
+
+This table contains properties potentially involved in firewall behavior, with a brief description of each property. Click on a property name for a link to the reference topic.
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="34%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th><strong>Configuration area</strong></th>
+<th><strong>Property or Setting</strong></th>
+<th><strong>Definition</strong></th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td>peer-to-peer config</td>
+<td><p><code class="ph codeph">conserve-sockets</code></p></td>
+<td><p>Specifies whether sockets are shared by the system member's threads.</p></td>
+</tr>
+<tr class="even">
+<td>peer-to-peer config</td>
+<td><p><code class="ph codeph">locators</code></p></td>
+<td><p>The list of locators used by system members. The list must be configured consistently for every member of the distributed system.</p></td>
+</tr>
+<tr class="odd">
+<td>peer-to-peer config</td>
+<td><p><code class="ph codeph">mcast-address</code></p></td>
+<td><p>Address used to discover other members of the distributed system. Only used if mcast-port is non-zero. This attribute must be consistent across the distributed system.</p></td>
+</tr>
+<tr class="even">
+<td>peer-to-peer config</td>
+<td><p><code class="ph codeph">mcast-port</code></p></td>
+<td><p>Port used, along with the mcast-address, for multicast communication with other members of the distributed system. If zero, multicast is disabled for data distribution.</p></td>
+</tr>
+<tr class="odd">
+<td>peer-to-peer config</td>
+<td><p><code class="ph codeph">membership-port-range</code></p></td>
+<td><p>The range of ephemeral ports available for unicast UDP messaging and for TCP failure detection in the peer-to-peer distributed system.</p></td>
+</tr>
+<tr class="even">
+<td>peer-to-peer config</td>
+<td><p><code class="ph codeph">tcp-port</code></p></td>
+<td><p>The TCP port to listen on for cache communications.</p></td>
+</tr>
+</tbody>
+</table>
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Configuration Area</th>
+<th><strong>Property or Setting</strong></th>
+<th><strong>Definition</strong></th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td>cache server config</td>
+<td><p><code class="ph codeph">hostname-for-clients</code></p></td>
+<td><p>Hostname or IP address to pass to the client as the location where the server is listening.</p></td>
+</tr>
+<tr class="even">
+<td>cache server config</td>
+<td><p><code class="ph codeph">max-connections</code></p></td>
+<td><p>Maximum number of client connections for the server. When the maximum is reached, the server refuses additional client connections.</p></td>
+</tr>
+<tr class="odd">
+<td>cache server config</td>
+<td><p><code class="ph codeph">port</code> (cache.xml) or <code class="ph codeph">--port</code> parameter to the <code class="ph codeph">gfsh start server</code> command</p></td>
+<td><p>Port that the server listens on for client communication.</p></td>
+</tr>
+</tbody>
+</table>
+
+## Default Port Configurations
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th><p><strong>Port Name</strong></p></th>
+<th>Related Configuration Setting</th>
+<th><p><strong>Default Port</strong></p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p>Cache Server</p></td>
+<td><p><code class="ph codeph">port</code> (cache.xml)</p></td>
+<td>40404</td>
+</tr>
+<tr class="even">
+<td><p>HTTP</p></td>
+<td><code class="ph codeph">http-service-port</code></td>
+<td>7070</td>
+</tr>
+<tr class="odd">
+<td><p>Locator</p></td>
+<td><code class="ph codeph">start-locator</code> (for embedded locators) or <code class="ph codeph">--port</code> parameter to the <code class="ph codeph">gfsh start locator</code> command.</td>
+<td><em>if not specified upon startup or in the start-locator property, uses default multicast port 10334</em></td>
+</tr>
+<tr class="even">
+<td><p>Membership Port Range</p></td>
+<td><code class="ph codeph">membership-port-range</code></td>
+<td>1024 to 65535</td>
+</tr>
+<tr class="odd">
+<td><p>Memcached Port</p></td>
+<td><code class="ph codeph">memcached-port</code></td>
+<td><em>not set</em></td>
+</tr>
+<tr class="even">
+<td><p>Multicast</p></td>
+<td><code class="ph codeph">mcast-port</code></td>
+<td>10334</td>
+</tr>
+<tr class="odd">
+<td><p>RMI</p></td>
+<td><code class="ph codeph">jmx-manager-port</code></td>
+<td>1099</td>
+</tr>
+<tr class="even">
+<td><p>TCP</p></td>
+<td><code class="ph codeph">tcp-port</code></td>
+<td>ephemeral port</td>
+</tr>
+</tbody>
+</table>
+
+## **Properties for Firewall and Port Configuration in Multi-Site (WAN) Configurations**
+
+Each gateway receiver uses a port to listen for incoming communication from one or more gateway senders communication between Geode sites. The full range of port values for gateway receivers must be made accessible within the firewall from across the WAN.
+
+This table contains properties potentially involved in firewall behavior, with a brief description of each property. Click on a property name for a link to the [gemfire.properties and gfsecurity.properties (Geode Properties)](../../reference/topics/gemfire_properties.html#gemfire_properties) reference topic.
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Configuration Area</th>
+<th><strong>Property or Setting</strong></th>
+<th><strong>Definition</strong></th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td>multi-site (WAN) config</td>
+<td><p>[hostname-for-senders](../../reference/topics/gfe_cache_xml.html#gateway-receiver)</p></td>
+<td><p>Hostname or IP address of the gateway receiver used by gateway senders to connect.</p></td>
+</tr>
+<tr class="even">
+<td>multi-site (WAN) config</td>
+<td>[remote-locators](../../reference/topics/gemfire_properties.html#gemfire_properties)</td>
+<td><p>List of locators (and their ports) that are available on the remote WAN site.</p></td>
+</tr>
+<tr class="odd">
+<td>multi-site (WAN) config</td>
+<td><p>[start-port](../../reference/topics/gfe_cache_xml.html#gateway-receiver) and [end-port](../../reference/topics/gfe_cache_xml.html#gateway-receiver) (cache.xml) or <code class="ph codeph">--start-port</code> and <code class="ph codeph">--end-port</code> parameters to the <code class=" ph codeph">gfsh start gateway receiver</code> command</p></td>
+<td><p>Port range that the gateway receiver can use to listen for gateway sender communication.</p></td>
+</tr>
+</tbody>
+</table>
+
+## Default Port Configuration
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th><p><strong>Port Name</strong></p></th>
+<th>Related Configuration Setting</th>
+<th><p><strong>Default Port</strong></p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p>Gateway Receiver</p></td>
+<td><p>[start-port](../../reference/topics/gfe_cache_xml.html#gateway-receiver) and [end-port](../../reference/topics/gfe_cache_xml.html#gateway-receiver) (cache.xml) or <code class="ph codeph">--start-port</code> and <code class="ph codeph">--end-port</code> parameters to the <code class="ph codeph">gfsh start gateway receiver</code> command</p></td>
+<td><em>not set</em> Each gateway receiver uses a single port to accept connections from gateway senders in other systems. However, the configuration of a gateway receiver specifies a range of possible port values to use. Geode selects an available port from the specified range when the gateway receiver starts. Configure your firewall so that the full range of possible port values is accessible by gateway senders from across the WAN.</td>
+</tr>
+</tbody>
+</table>
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/configuring/running/managing_output_files.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/managing_output_files.html.md.erb b/geode-docs/configuring/running/managing_output_files.html.md.erb
new file mode 100644
index 0000000..59f48aa
--- /dev/null
+++ b/geode-docs/configuring/running/managing_output_files.html.md.erb
@@ -0,0 +1,16 @@
+---
+title:  Managing System Output Files
+---
+
+Geode output files are optional and can become quite large. Work with your system administrator to determine where to place them to avoid interfering with other system activities.
+
+<a id="managing_output_files__section_F0CEA4299D274801B9AB700C074F178F"></a>
+Geode includes several types of optional output files as described below.
+
+-   **Log Files**. Comprehensive logging messages to help you confirm system configuration and to debug problems in configuration and code. Configure log file behavior in the `gemfire.properties` file. See [Logging](../../managing/logging/logging.html#concept_30DB86B12B454E168B80BB5A71268865).
+
+-   **Statistics Archive Files**. Standard statistics for caching and distribution activities, which you can archive on disk. Configure statistics collection and archival in the `gemfire.properties`, `archive-disk-space-limit` and `archive-file-size-limit`. See the [Reference](../../reference/book_intro.html#reference).
+
+-   **Disk Store Files**. Hold persistent and overflow data from the cache. You can configure regions to persist data to disk for backup purposes or overflow to disk to control memory use. The subscription queues that servers use to send events to clients can be overflowed to disk. Gateway sender queues overflow to disk automatically and can be persisted for high availability. Configure these through the `cache.xml`. See [Disk Storage](../../managing/disk_storage/chapter_overview.html).
+
+



[44/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/limit_server_subscription_queue_size.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/limit_server_subscription_queue_size.html.md.erb b/developing/events/limit_server_subscription_queue_size.html.md.erb
deleted file mode 100644
index ff571b2..0000000
--- a/developing/events/limit_server_subscription_queue_size.html.md.erb
+++ /dev/null
@@ -1,57 +0,0 @@
----
-title:  Limit the Server's Subscription Queue Memory Use
----
-
-<a id="limit_server_subscription_queue_size__section_1791DFB89502480EB57F81D16AC0EBAC"></a>
-These are options for limiting the amount of server memory the subscription queues consume.
-
--   Optional: Conflate the subscription queue messages.
--   Optional: Increase the frequency of queue synchronization. This only applies to configurations where server redundancy is used for high availability. Increase the client\u2019s pool configuration, `subscription-ack-interval`. The client periodically sends a batch acknowledgment of messages to the server, rather than acknowledging each message individually. A lower setting speeds message delivery and generally reduces traffic between the server and client. A higher setting helps contain server queue size. Example:
-
-    ``` pre
-    <!-- Set subscription ack interval to 3 seconds -->
-    <cache> 
-      <pool ... subscription-enabled="true" 
-                subscription-ack-interval="3000"> 
-      ... 
-    </pool>
-    ```
-
-    You might want to lower the interval if you have a very busy system and want to reduce the space required in the servers for the subscription queues. More frequent acknowledgments means fewer events held in the server queues awaiting acknowledgment.
-
--   Optional: Limit Queue Size. Cap the server queue size using overflow or blocking. These options help avoid out of memory errors on the server in the case of slow clients. A slow client slows the rate that the server can send messages, causing messages to back up in the queue, possibly leading to out of memory on the server. You can use one or the other of these options, but not both:
-    -   Optional: Overflow to Disk. Configure subscription queue overflow by setting the server\u2019s `client-subscription` properties. With overflow, the most recently used (MRU) events are written out to disk, keeping the oldest events, the ones that are next in line to be sent to the client, available in memory. Example:
-
-        ``` pre
-        <!-- Set overflow after 10K messages are enqueued -->
-        <cache-server port="40404"> 
-          <client-subscription 
-            eviction-policy="entry" 
-            capacity="10000" 
-            disk-store-name="svrOverflow"/> 
-        </cache-server>
-        ```
-
-    -   Optional: Block While Queue Full. Set the server\u2019s `maximum-message-count` to the maximum number of event messages allowed in any single subscription queue before incoming messages are blocked. You can only limit the message count, not the size allocated for messages. Examples:
-
-        XML:
-
-        ``` pre
-        <!-- Set the maximum message count to 50000 entries -->
-          <cache-server port="41414" maximum-message-count="50000" />
-        ```
-
-        API:
-
-        ``` pre
-        Cache cache = ...; 
-        CacheServer cacheServer = cache.addCacheServer(); 
-        cacheServer.setPort(41414); 
-        cacheServer.setMaximumMessageCount(50000); 
-        cacheServer.start(); 
-        ```
-
-        **Note:**
-        With this setting, one slow client can slow the server and all of its other clients because this blocks the threads that write to the queues. All operations that add messages to the queue block until the queue size drops to an acceptable level. If the regions feeding these queues are partitioned or have `distributed-ack` or `global` scope, operations on them remain blocked until their event messages can be added to the queue. If you are using this option and see stalling on your server region operations, your queue capacity might be too low for your application behavior.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/list_of_event_handlers_and_events.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/list_of_event_handlers_and_events.html.md.erb b/developing/events/list_of_event_handlers_and_events.html.md.erb
deleted file mode 100644
index 5f63db1..0000000
--- a/developing/events/list_of_event_handlers_and_events.html.md.erb
+++ /dev/null
@@ -1,164 +0,0 @@
----
-title:  List of Event Handlers and Events
----
-
-Geode provides many types of events and event handlers to help you manage your different data and application needs.
-
-## <a id="event_handlers_and_events__section_E7B7502F673B43E794884D0F6BF537CF" class="no-quick-link"></a>Event Handlers
-
-Use either cache handlers or membership handlers in any single application. Do not use both. The event handlers in this table are cache handlers unless otherwise noted.
-
-<table>
-<colgroup>
-<col width="25%" />
-<col width="25%" />
-<col width="50%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th>Handler API</th>
-<th>Events received</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td><code class="ph codeph">AsyncEventListener</code></td>
-<td><code class="ph codeph">AsyncEvent</code></td>
-<td><p>Tracks changes in a region for write-behind processing. Extends th <code class="ph codeph">CacheCallback</code> interface. You install a write-back cache listener to an <code class="ph codeph">AsyncEventQueue</code> instance. You can then add the <code class="ph codeph">AsyncEventQueue</code> instance to one or more regions for write-behind processing. See [Implementing an AsyncEventListener for Write-Behind Cache Event Handling](implementing_write_behind_event_handler.html#implementing_write_behind_cache_event_handling).</p></td>
-</tr>
-<tr>
-<td><code class="ph codeph">CacheCallback</code></td>
-<td>�</td>
-<td>Superinterface of all cache event listeners. Functions only to clean up resources that the callback allocated.</td>
-</tr>
-<tr>
-<td><code class="ph codeph">CacheListener</code></td>
-<td><code class="ph codeph">RegionEvent</code>, <code class="ph codeph">EntryEvent</code></td>
-<td>Tracks changes to region and its data entries. Responds synchronously. Extends <code class="ph codeph">CacheCallback</code> interface. Installed in region. Receives only local cache events. Install one in every member where you want the events handled by this listener. In a partitioned region, the cache listener only fires in the primary data store. Listeners on secondaries are not fired.</td>
-</tr>
-<tr>
-<td><code class="ph codeph">CacheWriter</code></td>
-<td><code class="ph codeph">RegionEvent</code>, <code class="ph codeph">EntryEvent</code></td>
-<td>Receives events for <em>pending</em> changes to the region and its data entries in this member or one of its peers. Has the ability to abort the operations in question. Extends <code class="ph codeph">CacheCallback</code> interface. Installed in region. Receives events from anywhere in the distributed region, so you can install one in one member for the entire distributed region. Receives events only in primary data store in partitioned regions, so install one in every data store.</td>
-</tr>
-<tr>
-<td><code class="ph codeph">ClientMembershipListener</code>
-<p>(org.apache.geode.management .membership.ClientMembershipListener)</p></td>
-<td><code class="ph codeph">ClientMembershipEvent</code></td>
-<td>One of the interfaces that replaces the deprecated Admin APIs. You can use the ClientMembershipListener to receive membership events only about clients. This listener's callback methods are invoked when this process detects connection changes to clients. Callback methods include <code class="ph codeph">memberCrashed</code>, <code class="ph codeph">memberJoined</code>, <code class="ph codeph">memberLeft</code> (graceful exit).</td>
-</tr>
-<tr>
-<td><code class="ph codeph">CqListener</code></td>
-<td><code class="ph codeph">CqEvent</code></td>
-<td>Receives events from the server cache that satisfy a client-specified query. Extends <code class="ph codeph">CacheCallback</code> interface. Installed in the client inside a <code class="ph codeph">CqQuery</code>.</td>
-</tr>
-<tr>
-<td><code class="ph codeph">GatewayConflictResolver</code></td>
-<td><code class="ph codeph">TimestampedEntryEvent</code></td>
-<td>Decides whether to apply a potentially conflicting event to a region that is distributed over a WAN configuration. This event handler is called only when the distributed system ID of an update event is different from the ID that last updated the region entry.</td>
-</tr>
-<tr>
-<td><code class="ph codeph">MembershipListener</code>
-<p>(org.apache.geode.management .membership.MembershipListener)</p></td>
-<td><code class="ph codeph">MembershipEvent</code></td>
-<td>Use this interface to receive membership events only about peers. This listener's callback methods are invoked when peer members join or leave the Geode distributed system. Callback methods include <code class="ph codeph">memberCrashed</code>, <code class="ph codeph">memberJoined</code>, and <code class="ph codeph">memberLeft</code> (graceful exit).</td>
-</tr>
-<tr>
-<td><code class="ph codeph">RegionMembershipListener</code></td>
-<td><code class="ph codeph">RegionEvent</code></td>
-<td>Provides after-event notification when a region with the same name has been created in another member and when other members hosting the region join or leave the distributed system. Extends <code class="ph codeph">CacheCallback</code> and <code class="ph codeph">CacheListener</code>. Installed in region as a <code class="ph codeph">CacheListener</code>.</td>
-</tr>
-<tr>
-<td><code class="ph codeph">TransactionListener</code></td>
-<td><code class="ph codeph">TransactionEvent</code> with embedded list of <code class="ph codeph">EntryEvent</code></td>
-<td>Tracks the outcome of transactions and changes to data entries in the transaction.
-<div class="note note">
-**Note:**
-<p>Multiple transactions on the same cache can cause concurrent invocation of <code class="ph codeph">TransactionListener</code> methods, so implement methods that do the appropriate synchronizing of the multiple threads for thread-safe operation.</p>
-</div>
-Extends <code class="ph codeph">CacheCallback</code> interface. Installed in cache using transaction manager. Works with region-level listeners if needed.</td>
-</tr>
-<tr>
-<td><code class="ph codeph">TransactionWriter</code></td>
-<td><code class="ph codeph">TransactionEvent</code> with embedded list of <code class="ph codeph">EntryEvent</code></td>
-<td>Receives events for <em>pending</em> transaction commits. Has the ability to abort the transaction. Extends <code class="ph codeph">CacheCallback</code> interface. Installed in cache using transaction manager. At most one writer is called per transaction. Install a writer in every transaction host.</td>
-</tr>
-<tr>
-<td><code class="ph codeph">UniversalMembershipListenerAdapter</code>
-<p>(org.apache.geode .management.membership .UniversalMembershipListenerAdapter)</p></td>
-<td><code class="ph codeph">MembershipEvent</code> and <code class="ph codeph">ClientMembershipEvent</code></td>
-<td>One of the interfaces that replaces the deprecated Admin APIs. Provides a wrapper for MembershipListener and ClientMembershipListener callbacks for both clients and peers.</td>
-</tr>
-</tbody>
-</table>
-
-## <a id="event_handlers_and_events__section_48C81FE4C1934DBBB287925A6F7A473D" class="no-quick-link"></a>Events
-
-The events in this table are cache events unless otherwise noted.
-
-<table>
-<colgroup>
-<col width="25%" />
-<col width="25%" />
-<col width="50%" />
-</colgroup>
-<thead>
-<tr>
-<th>Event</th>
-<th>Passed to handler ...</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td><code class="ph codeph">AsyncEvent</code></td>
-<td><code class="ph codeph">AsyncEventListener</code></td>
-<td>Provides information about a single event in the cache for asynchronous, write-behind processing.</td>
-</tr>
-<tr>
-<td><code class="ph codeph">CacheEvent</code></td>
-<td> </td>
-<td>Superinterface to <code class="ph codeph">RegionEvent</code> and <code class="ph codeph">EntryEvent</code>. This defines common event methods, and contains data needed to diagnose the circumstances of the event, including a description of the operation being performed, information about where the event originated, and any callback argument passed to the method that generated this event.</td>
-</tr>
-<tr>
-<td><code class="ph codeph">ClientMembershipEvent</code></td>
-<td><code class="ph codeph">ClientMembershipListener</code></td>
-<td>An event delivered to a <code class="ph codeph">ClientMembershipListener</code> when this process detects connection changes to servers or clients.</td>
-</tr>
-<tr>
-<td><code class="ph codeph">CqEvent</code></td>
-<td><code class="ph codeph">CqListener</code></td>
-<td>Provides information about a change to the results of a continuous query running on a server on behalf of a client. <code class="ph codeph">CqEvent</code>s are processed on the client.</td>
-</tr>
-<tr>
-<td><code class="ph codeph">EntryEvent</code></td>
-<td><code class="ph codeph">CacheListener</code>, <code class="ph codeph">CacheWriter</code>, <code class="ph codeph">TransactionListener</code> (inside the <code class="ph codeph">TransactionEvent</code>)</td>
-<td>Extends <code class="ph codeph">CacheEvent</code> for entry events. Contains information about an event affecting a data entry in the cache. The information includes the key, the value before this event, and the value after this event. <code class="ph codeph">EntryEvent.getNewValue</code> returns the current value of the data entry. <code class="ph codeph">EntryEvent.getOldValue</code> returns the value before this event if it is available. For a partitioned region, returns the old value if the local cache holds the primary copy of the entry. <code class="ph codeph">EntryEvent</code> provides the Geode transaction ID if available.
-<p>You can retrieve serialized values from <code class="ph codeph">EntryEvent</code> using the <code class="ph codeph">getSerialized</code>* methods. This is useful if you get values from one region\u2019s events just to put them into a separate cache region. There is no counterpart <code class="ph codeph">put</code> function as the put recognizes that the value is serialized and bypasses the serialization step.</p></td>
-</tr>
-<tr>
-<td><code class="ph codeph">MembershipEvent</code> (membership event)</td>
-<td><code class="ph codeph">MembershipListener</code></td>
-<td><p>An event that describes the member that originated this event. Instances of this are delivered to a <code class="ph codeph">MembershipListener</code> when a member has joined or left the distributed system.</p></td>
-</tr>
-<tr>
-<td><code class="ph codeph">RegionEvent</code></td>
-<td><code class="ph codeph">CacheListener</code>, <code class="ph codeph">CacheWriter</code>, <code class="ph codeph">RegionMembershipListener</code></td>
-<td>Extends <code class="ph codeph">CacheEvent</code> for region events. Provides information about operations that affect the whole region, such as reinitialization of the region after being destroyed.</td>
-</tr>
-<tr>
-<td><code class="ph codeph">TimestampedEntryEvent</code></td>
-<td><code class="ph codeph">GatewayConflictResolver</code></td>
-<td>Extends <code class="ph codeph">EntryEvent</code> to include a timestamp and distributed system ID associated with the event. The conflict resolver can compare the timestamp and ID in the event with the values stored in the entry to decide whether the local system should apply the potentially conflicting event.</td>
-</tr>
-<tr>
-<td><code class="ph codeph">TransactionEvent</code></td>
-<td><code class="ph codeph">TransactionListener</code>, <code class="ph codeph">TransactionWriter</code></td>
-<td>Describes the work done in a transaction. This event may be for a pending or committed transaction, or for the work abandoned by an explicit rollback or failed commit. The work is represented by an ordered list of <code class="ph codeph">EntryEvent</code> instances. The entry events are listed in the order in which the operations were performed in the transaction.
-<p>As the transaction operations are performed, the entry events are conflated, with only the last event for each entry remaining in the list. So if entry A is modified, then entry B, then entry A, the list will contain the event for entry B followed by the second event for entry A.</p></td>
-</tr>
-</tbody>
-</table>
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/resolving_multisite_conflicts.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/resolving_multisite_conflicts.html.md.erb b/developing/events/resolving_multisite_conflicts.html.md.erb
deleted file mode 100644
index 31fe7a3..0000000
--- a/developing/events/resolving_multisite_conflicts.html.md.erb
+++ /dev/null
@@ -1,63 +0,0 @@
----
-title:  Resolving Conflicting Events
----
-
-You can optionally create a `GatewayConflictResolver` cache plug-in to decide whether a potentially conflicting event that was delivered from another site should be applied to the local cache.
-
-By default, all regions perform consistency checks when a member applies an update received either from another cluster member or from a remote cluster over the WAN. The default consistency checking for WAN events is described in [How Consistency Is Achieved in WAN Deployments](../distributed_regions/how_region_versioning_works_wan.html#topic_fpy_z3h_j5).
-
-You can override the default consistency checking behavior by writing and configuring a custom `GatewayConflictResolver`. The `GatewayConflictResolver` implementation can use the timestamp and distributed system ID included in a WAN update event to determine whether or not to apply the update. For example, you may decide that updates from a particular cluster should always "win" a conflict when the timestamp difference between updates is less than some fixed period of time.
-
-## <a id="topic_E97BB68748F14987916CD1A50E4B4542__section_E20B4A8A98FD4EDAAA8C14B8059AA7F7" class="no-quick-link"></a>Implementing a GatewayConflictResolver
-
-**Note:**
-A `GatewayConflictResolver` implementation is called only for update events that could cause a conflict in the region. This corresponds to update events that have a different distributed system ID than the distributed system that last updated the region entry. If the same distributed system ID makes consecutive updates to a region entry, no conflict is possible, and the `GatewayConflictResolver` is not called.
-
-**Procedure**
-
-1.  Program the event handler:
-    1.  Create a class that implements the `GatewayConflictResolver` interface.
-    2.  If you want to declare the handler in `cache.xml`, implement the `org.apache.geode.cache.Declarable` interface as well.
-    3.  Implement the handler's `onEvent()` method to determine whether the WAN event should be allowed. `onEvent()` receives both a `TimestampedEntryEvent` and a `GatewayConflictHelper` instance. `TimestampedEntryEvent` has methods for obtaining the timestamp and distributed system ID of both the update event and the current region entry. Use methods in the `GatewayConflictHelper` to either disallow the update event (retaining the existing region entry value) or provide an alternate value.
-
-        **Example:**
-
-        ``` pre
-         public void onEvent(TimestampedEntryEvent event, GatewayConflictHelper helper) {
-            if (event.getOperation().isUpdate()) {
-              ShoppingCart oldCart = (ShoppingCart)event.getOldValue();
-              ShoppingCart newCart = (ShoppingCart)event.getNewValue();
-              oldCart.updateFromConflictingState(newCart);
-              helper.changeEventValue(oldCart);
-            }
-          }
-        ```
-
-        **Note:**
-        In order to maintain consistency in the region, your conflict resolver must always resolve two events in the same way regardless of which event it receives first.
-
-2.  Install the conflict resolver for the cache, using either the `cache.xml` file or the Java API.
-
-    **cache.xml**
-
-    ``` pre
-    <cache>
-         ... 
-        <gateway-conflict-resolver>
-          <class-name>myPackage.MyConflictResolver</class-name>
-        </gateway-conflict-resolver>
-        ...
-    </cache>
-    ```
-
-    **Java API**
-
-    ``` pre
-    // Create or obtain the cache
-    Cache cache = new CacheFactory().create();
-
-    // Create and add a conflict resolver
-    cache.setGatewayConflictResolver(new MyConflictResolver);
-    ```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/tune_client_message_tracking_timeout.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/tune_client_message_tracking_timeout.html.md.erb b/developing/events/tune_client_message_tracking_timeout.html.md.erb
deleted file mode 100644
index 0874bb7..0000000
--- a/developing/events/tune_client_message_tracking_timeout.html.md.erb
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title:  Tune the Client's Subscription Message Tracking Timeout
----
-
-<a id="tune_client_message_tracking_timeout__section_C655A41D47694BDC9164E5D83C23FA7C"></a>
-If the client pool's `subscription-message-tracking-timeout` is set too low, your client will discard tracking records for live threads, increasing the likelihood of processing duplicate events from those threads.
-
-This setting is especially important in systems where it is vital to avoid or greatly minimize duplicate events. If you detect that duplicate messages are being processed by your clients, increasing the timeout may help. Setting `subscription-message-tracking-timeout` may not completely eliminate duplicate entries, but careful configuration can help minimize occurrences.
-
-Duplicates are monitored by keeping track of message sequence IDs from the source thread where the operation originated. For a long-running system, you would not want to track this information for very long periods or the information may be kept long enough for a thread ID to be recycled. If this happens, messages from a new thread may be discarded mistakenly as duplicates of messages from an old thread with the same ID. In addition, maintaining this tracking information for old threads uses memory that might be freed up for other things.
-
-To minimize duplicates and reduce the size of the message tracking list, set your client `subscription-message-tracking-timeout` higher than double the sum of these times:
-
--   The longest time your originating threads might wait between operations
--   For redundant servers add:
-    -   The server\u2019s `message-sync-interval`
-    -   Total time required for failover (usually 7-10 seconds, including the time to detect failure)
-
-You risk losing live thread tracking records if you set the value lower than this. This could result in your client processing duplicate event messages into its cache for the associated threads. It is worth working to set the `subscription-message-tracking-timeout` as low as you reasonably can.
-
-``` pre
-<!-- Set the tracking timeout to 70 seconds -->
-<pool name="client" subscription-enabled="true" subscription-message-tracking-timeout="70000"> 
-    ...
-</pool>
-```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/tune_client_server_event_messaging.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/tune_client_server_event_messaging.html.md.erb b/developing/events/tune_client_server_event_messaging.html.md.erb
deleted file mode 100644
index 59206bc..0000000
--- a/developing/events/tune_client_server_event_messaging.html.md.erb
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title:  Tuning Client/Server Event Messaging
----
-
-<a id="client_server_event_messaging__section_0894E034A285456EA01D5903248F9B3B"></a>
-The server uses an asynchronous messaging queue to send events to its clients. Every event in the queue originates in an operation performed by a thread in a client, a server, or an application in the server\u2019s or some other distributed system. The event message has a unique identifier composed of the originating thread\u2019s ID combined with its member\u2019s distributed system member ID, and the sequential ID of the operation. So the event messages originating in any single thread can be grouped and ordered by time from lowest sequence ID to highest. Servers and clients track the highest sequential ID for each member thread ID.
-
-A single client thread receives and processes messages from the server, tracking received messages to make sure it does not process duplicate sends. It does this using the process IDs from originating threads.
-
-<img src="../../images_svg/tune_cs_event_messaging.svg" id="client_server_event_messaging__image_656BDF5E745F4C6D92C844C423102948" class="image" />
-
-The client\u2019s message tracking list holds the highest sequence ID of any message received for each originating thread. The list can become quite large in systems where there are many different threads coming and going and doing work on the cache. After a thread dies, its tracking entry is not needed. To avoid maintaining tracking information for threads that have died, the client expires entries that have had no activity for more than the `subscription-message-tracking-timeout`.
-
--   **[Conflate the Server Subscription Queue](../../developing/events/conflate_server_subscription_queue.html)**
-
--   **[Limit the Server's Subscription Queue Memory Use](../../developing/events/limit_server_subscription_queue_size.html)**
-
--   **[Tune the Client's Subscription Message Tracking Timeout](../../developing/events/tune_client_message_tracking_timeout.html)**
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/writing_callbacks_that_modify_the_cache.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/writing_callbacks_that_modify_the_cache.html.md.erb b/developing/events/writing_callbacks_that_modify_the_cache.html.md.erb
deleted file mode 100644
index 299fd87..0000000
--- a/developing/events/writing_callbacks_that_modify_the_cache.html.md.erb
+++ /dev/null
@@ -1,48 +0,0 @@
----
-title:  How to Safely Modify the Cache from an Event Handler Callback
----
-
-Event handlers are synchronous. If you need to change the cache or perform any other distributed operation from event handler callbacks, be careful to avoid activities that might block and affect your overall system performance.
-
-## <a id="writing_callbacks_that_modify_the_cache__section_98E49363C91945DEB0A3B2FD9A209969" class="no-quick-link"></a>Operations to Avoid in Event Handlers
-
-Do not perform distributed operations of any kind directly from your event handler. Geode is a highly distributed system and many operations that may seem local invoke distributed operations.
-
-These are common distributed operations that can get you into trouble:
-
--   Calling `Region` methods, on the event's region or any other region.
--   Using the Geode `DistributedLockService`.
--   Modifying region attributes.
--   Executing a function through the Geode `FunctionService`.
-
-To be on the safe side, do not make any calls to the Geode API directly from your event handler. Make all Geode API calls from within a separate thread or executor.
-
-## <a id="writing_callbacks_that_modify_the_cache__section_78648D4177E14EA695F0B059E336137C" class="no-quick-link"></a>How to Perform Distributed Operations Based on Events
-
-If you need to use the Geode API from your handlers, make your work asynchronous to the event handler. You can spawn a separate thread or use a solution like the `java.util.concurrent.Executor` interface.
-
-This example shows a serial executor where the callback creates a `Runnable` that can be pulled off a queue and run by another object. This preserves the ordering of events.
-
-``` pre
-public void afterCreate(EntryEvent event) {
-  final Region otherRegion = cache.getRegion("/otherRegion");
-  final Object key = event.getKey();
-  final Object val = event.getNewValue();
-
-  serialExecutor.execute(new Runnable() {
-    public void run() {
-      try {
-        otherRegion.create(key, val);
-      }
-      catch (org.apache.geode.cache.RegionDestroyedException e) {
-        ...
-      }
-      catch (org.apache.geode.cache.EntryExistsException e) {
-        ...
-      }
-    }
-  });
-  }
-```
-
-For additional information on the `Executor`, see the `SerialExecutor` example on the Oracle Java web site.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/eviction/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/eviction/chapter_overview.html.md.erb b/developing/eviction/chapter_overview.html.md.erb
deleted file mode 100644
index 4920294..0000000
--- a/developing/eviction/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title:  Eviction
----
-
-Use eviction to control data region size.
-
-<a id="eviction__section_C3409270DD794822B15E819E2276B21A"></a>
-
--   **[How Eviction Works](../../developing/eviction/how_eviction_works.html)**
-
-    Eviction settings cause Apache Geode to work to keep a region's resource use under a specified level by removing least recently used (LRU) entries to make way for new entries.
-
--   **[Configure Data Eviction](../../developing/eviction/configuring_data_eviction.html)**
-
-    Use eviction controllers to configure the eviction-attributes region attribute settings to keep your region within a specified limit.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/eviction/configuring_data_eviction.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/eviction/configuring_data_eviction.html.md.erb b/developing/eviction/configuring_data_eviction.html.md.erb
deleted file mode 100644
index 42f3dbd..0000000
--- a/developing/eviction/configuring_data_eviction.html.md.erb
+++ /dev/null
@@ -1,71 +0,0 @@
----
-title:  Configure Data Eviction
----
-
-Use eviction controllers to configure the eviction-attributes region attribute settings to keep your region within a specified limit.
-
-<a id="configuring_data_eviction__section_8515EC9635C342C0916EE9E6120E2AC9"></a>
-Eviction controllers monitor region and memory use and, when the limit is reached, remove older entries to make way for new data. For heap percentage, the controller used is the Geode resource manager, configured in conjunction with the JVM's garbage collector for optimum performance.
-
-Configure data eviction as follows. You do not need to perform these steps in the sequence shown.
-
-1.  Decide whether to evict based on:
-    -   Entry count (useful if your entry sizes are relatively uniform).
-    -   Total bytes used. In partitioned regions, this is set using `local-max-memory`. In non-partitioned, it is set in `eviction-attributes`.
-    -   Percentage of application heap used. This uses the Geode resource manager. When the manager determines that eviction is required, the manager orders the eviction controller to start evicting from all regions where the eviction algorithm is set to `lru-heap-percentage`. Eviction continues until the manager calls a halt. Geode evicts the least recently used entry hosted by the member for the region. See [Managing Heap and Off-heap Memory](../../managing/heap_use/heap_management.html#resource_manager).
-
-2.  Decide what action to take when the limit is reached:
-    -   Locally destroy the entry.
-    -   Overflow the entry data to disk. See [Persistence and Overflow](../storing_data_on_disk/chapter_overview.html).
-
-3.  Decide the maximum amount of data to allow in the member for the eviction measurement indicated. This is the maximum for all storage for the region in the member. For partitioned regions, this is the total for all buckets stored in the member for the region - including any secondary buckets used for redundancy.
-4.  Decide whether to program a custom sizer for your region. If you are able to provide such a class, it might be faster than the standard sizing done by Geode. Your custom class must follow the guidelines for defining custom classes and, additionally, must implement `org.apache.geode.cache.util.ObjectSizer`. See [Requirements for Using Custom Classes in Data Caching](../../basic_config/data_entries_custom_classes/using_custom_classes.html).
-
-**Note:**
-You can also configure Regions using the gfsh command-line interface, however, you cannot configure `eviction-attributes` using gfsh. See [Region Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_EF03119A40EE492984F3B6248596E1DD) and [Disk Store Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_1ACC91B493EE446E89EC7DBFBBAE00EA).
-
-Examples:
-
-``` pre
-// Create an LRU memory eviction controller with max bytes of 1000 MB
-// Use a custom class for measuring the size of each object in the region 
-<region-attributes refid="REPLICATE"> 
-  <eviction-attributes> 
-    <lru-memory-size maximum="1000" action="overflow-to-disk"> 
-      <class-name>com.myLib.MySizer</class-name> 
-      <parameter name="name"> 
-        <string>Super Sizer</string> 
-      </parameter> 
-    </lru-memory-size> 
-  </eviction-attributes> 
-  </region-attributes>
-```
-
-``` pre
-// Create a memory eviction controller on a partitioned region with max bytes of 512 MB
-<region name="demoPR">
-  <region-attributes refid="PARTITION">
-    <partition-attributes local-max-memory="512" total-num-buckets="13"/>
-    <eviction-attributes>
-       <lru-memory-size action="local-destroy"/>
-       <class-name>org.apache.geode.cache.util.ObjectSizer
-       </class-name>
-    </eviction-attributes>
-  </region-attributes>
-</region>
-            
-```
-
-``` pre
-// Configure a partitioned region for heap LRU eviction. The resource manager controls the limits. 
-<region-attributes refid="PARTITION_HEAP_LRU"> 
-</region-attributes>
-```
-
-``` pre
-Region currRegion = cache.createRegionFactory()
-    .setEvictionAttributes(EvictionAttributes.createLRUHeapAttributes(EvictionAction.LOCAL_DESTROY))
-    .create("root");
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/eviction/how_eviction_works.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/eviction/how_eviction_works.html.md.erb b/developing/eviction/how_eviction_works.html.md.erb
deleted file mode 100644
index 01d87d6..0000000
--- a/developing/eviction/how_eviction_works.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  How Eviction Works
----
-
-Eviction settings cause Apache Geode to work to keep a region's resource use under a specified level by removing least recently used (LRU) entries to make way for new entries.
-
-<a id="how_eviction_works__section_C3409270DD794822B15E819E2276B21A"></a>
-You configure for eviction based on entry count, percentage of available heap, and absolute memory usage. You also configure what to do when you need to evict: destroy entries or overflow them to disk. See [Persistence and Overflow](../storing_data_on_disk/chapter_overview.html).
-
-When Geode determines that adding or updating an entry would take the region over the specified level, it overflows or removes enough older entries to make room. For entry count eviction, this means a one-to-one trade of an older entry for the newer one. For the memory settings, the number of older entries that need to be removed to make space depends entirely on the relative sizes of the older and newer entries.
-
-## <a id="how_eviction_works__section_69E2AA453EDE4E088D1C3332C071AFE1" class="no-quick-link"></a>Eviction in Partitioned Regions
-
-In partitioned regions, Geode removes the oldest entry it can find *in the bucket where the new entry operation is being performed*. Geode maintains LRU entry information on a bucket-by-bucket bases, as the cost of maintaining information across the partitioned region would be too great a performance hit.
-
--   For memory and entry count eviction, LRU eviction is done in the bucket where the new entry operation is being performed until the overall size of the combined buckets in the member has dropped enough to perform the operation without going over the limit.
--   For heap eviction, each partitioned region bucket is treated as if it were a separate region, with each eviction action only considering the LRU for the bucket, and not the partitioned region as a whole.
-
-Because of this, eviction in partitioned regions may leave older entries for the region in other buckets in the local data store as well as in other stores in the distributed system. It may also leave entries in a primary copy that it evicts from a secondary copy or vice-versa.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/expiration/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/expiration/chapter_overview.html.md.erb b/developing/expiration/chapter_overview.html.md.erb
deleted file mode 100644
index 31ad4b2..0000000
--- a/developing/expiration/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title:  Expiration
----
-
-Use expiration to keep data current by removing stale entries. You can also use it to remove entries you are not using so your region uses less space. Expired entries are reloaded the next time they are requested.
-
--   **[How Expiration Works](../../developing/expiration/how_expiration_works.html)**
-
-    Expiration removes old entries and entries that you are not using. You can destroy or invalidate entries.
-
--   **[Configure Data Expiration](../../developing/expiration/configuring_data_expiration.html)**
-
-    Configure the type of expiration and the expiration action to use.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/expiration/configuring_data_expiration.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/expiration/configuring_data_expiration.html.md.erb b/developing/expiration/configuring_data_expiration.html.md.erb
deleted file mode 100644
index 0fae74a..0000000
--- a/developing/expiration/configuring_data_expiration.html.md.erb
+++ /dev/null
@@ -1,66 +0,0 @@
----
-title:  Configure Data Expiration
----
-
-Configure the type of expiration and the expiration action to use.
-
-<a id="configuring_data_expiration__section_ADB8302125624E01A808EA5E4FF79A5C"></a>
-
--   Set the region's `statistics-enabled` attribute to true.
-
-    The statistics used for expiration are available directly to the application through the `CacheStatistics` object returned by the `Region` and `Region.Entry` `getStatistics` methods. The `CacheStatistics` object also provides a method for resetting the statistics counters.
-
--   Set the expiration attributes by expiration type, with the max times and expiration actions. See the region attributes listings for `entry-time-to-live`, `entry-idle-time`, `region-time-to-live`, and `region-idle-time` in [&lt;region-attributes&gt;](../../reference/topics/cache_xml.html#region-attributes).
-
-    For partitioned regions, to ensure reliable read behavior, use the `time-to-live` attributes, not the `idle-time` attributes. In addition, you cannot use `local-destroy` or `local-invalidate` expiration actions in partitioned regions.
-
-    Replicated regions example:
-
-    ``` pre
-    // Setting standard expiration on an entry
-    <region-attributes statistics-enabled="true"> 
-      <entry-idle-time> 
-        <expiration-attributes timeout="60" action="local-invalidate"/> 
-      </entry-idle-time> 
-    </region-attributes> 
-    ```
-
--   Override the region-wide settings for specific entries, if required by your application. To do this:
-    1.  Program a custom expiration class that implements `org.apache.geode.cache.CustomExpiry`. Example:
-
-        ``` pre
-        // Custom expiration class
-        // Use the key for a region entry to set entry-specific expiration timeouts of 
-        //   10 seconds for even-numbered keys with a DESTROY action on the expired entries
-        //   Leave the default region setting for all odd-numbered keys. 
-        public class MyClass implements CustomExpiry, Declarable 
-        { 
-            private static final ExpirationAttributes CUSTOM_EXPIRY = 
-                    new ExpirationAttributes(10, ExpirationAction.DESTROY); 
-            public ExpirationAttributes getExpiry(Entry entry) 
-            { 
-                int key = (Integer)entry.getKey(); 
-                return key % 2 == 0 ? CUSTOM_EXPIRY : null; 
-            }
-        }
-        ```
-    2.  Define the class inside the expiration attributes settings for the region. Example:
-
-
-        ``` pre
-        <!-- Set default entry idle timeout expiration for the region --> 
-        <!-- Pass entries to custom expiry class for expiration overrides -->
-        <region-attributes statistics-enabled="true"> 
-            <entry-idle-time> 
-                <expiration-attributes timeout="60" action="local-invalidate"> 
-                    <custom-expiry> 
-                        <class-name>com.company.mypackage.MyClass</class-name> 
-                    </custom-expiry> 
-                </expiration-attributes> 
-            </entry-idle-time> 
-        </region-attributes>
-        ```
-
-You can also configure Regions using the gfsh command-line interface, however, you cannot configure `custom-expiry` using gfsh. See [Region Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_EF03119A40EE492984F3B6248596E1DD).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/expiration/how_expiration_works.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/expiration/how_expiration_works.html.md.erb b/developing/expiration/how_expiration_works.html.md.erb
deleted file mode 100644
index 5c3be02..0000000
--- a/developing/expiration/how_expiration_works.html.md.erb
+++ /dev/null
@@ -1,53 +0,0 @@
----
-title:  How Expiration Works
----
-
-Expiration removes old entries and entries that you are not using. You can destroy or invalidate entries.
-
-<a id="how_expiration_works__section_94FDBB821CDE49C48A0EFA6ED4DE194F"></a>
-Expiration activities in distributed regions can be distributed or local. Thus, one cache could control expiration for a number of caches in the system.
-
-This figure shows two basic expiration settings for a producer/consumer system. The producer member (on the right) populates the region from a database and the data is automatically distributed throughout the system. The data is valid only for one hour, so the producer performs a distributed destroy on entries that are an hour old. The other applications are consumers. The consumers free up space in their caches by removing their local copies of the entries for which there is no local interest (idle-time expiration). Requests for entries that have expired on the consumers will be forwarded to the producer.
-
-<img src="../../images_svg/expiration.svg" id="how_expiration_works__image_3D674825D1434830A8242D77CC89289F" class="image" />
-
-## <a id="how_expiration_works__section_B6C55A610F4243ED8F1986E8A98858CF" class="no-quick-link"></a>Expiration Types
-
-Apache Geode uses the following expiration types:
-
--   **Time to live (TTL)**. The amount of time, in seconds, the object may remain in the cache after the last creation or update. For entries, the counter is set to zero for create and put operations. Region counters are reset when the region is created and when an entry has its counter reset. The TTL expiration attributes are `region-time-to-live` and `entry-time-to-live`.
--   **Idle timeout**. The amount of time, in seconds, the object may remain in the cache after the last access. The idle timeout counter for an object is reset any time its TTL counter is reset. In addition, an entry\u2019s idle timeout counter is reset any time the entry is accessed through a get operation or a netSearch . The idle timeout counter for a region is reset whenever the idle timeout is reset for one of its entries. Idle timeout expiration attributes are: `region-idle-time` and `entry-idle-time`.
-
-## <a id="how_expiration_works__section_BA995343EF584104B9853CFE4CAD88AD" class="no-quick-link"></a>Expiration Actions
-
-Apache Geode uses the following expiration actions:
-
--   destroy
--   local destroy
--   invalidate (default)
--   local invalidate
-
-## <a id="how_expiration_works__section_AB4AB9E57D434159AA6E9B402E5E599D" class="no-quick-link"></a>Partitioned Regions and Entry Expiration
-
-For overall region performance, idle time expiration in partitioned regions may expire some entries sooner than expected. To ensure reliable read behavior across the partitioned region, we recommend that you use `entry-time-to-live` for entry expiration in partitioned regions instead of `entry-idle-time`.
-
-Expiration in partitioned regions is executed in the primary copy, based on the primary\u2019s last accessed and last updated statistics.
-
--   Entry updates are always done in the primary copy, resetting the primary copy\u2019s last updated and last accessed statistics.
--   Entry retrieval uses the most convenient available copy of the data, which may be one of the secondary copies. This provides the best performance at the cost of possibly not updating the primary copy\u2019s statistic for last accessed time.
-
-When the primary expires entries, it does not request last accessed statistics from the secondaries, as the performance hit would be too great. It expires entries based solely on the last time the entries were accessed in the primary copy.
-
-You cannot use `local-destroy` or `local-invalidate` expiration actions in a partitioned region.
-
-## <a id="how_expiration_works__section_expiration_settings_and_netSearch" class="no-quick-link"></a>Interaction Between Expiration Settings and `netSearch`
-
-Before `netSearch` retrieves an entry value from a remote cache, it validates the *remote* entry\u2019s statistics against the *local* region\u2019s expiration settings. Entries that would have already expired in the local cache are passed over. Once validated, the entry is brought into the local cache and the local access and update statistics are updated for the local copy. The last accessed time is reset and the last modified time is updated to the time in the remote cache, with corrections made for system clock differences. Thus the local entry is assigned the true last time the entry was modified in the distributed system. The `netSearch` operation has no effect on the expiration counters in remote caches.
-
-The `netSearch` method operates only on distributed regions with a data-policy of empty, normal and preloaded.
-
-## Configuring the Number of Threads for Expiration
-
-You can use the `gemfire.EXPIRY_THREADS` system property to increase the number of threads that handle expiration. By default, one thread handles expiration, and it is possible for the thread to become overloaded when entries expire faster than the thread can expire them. If a single thread is handling too many expirations, it can result in an OOME. Set the gemfire.EXPIRY\_THREADS system property to the desired number when starting the cache server.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/function_exec/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/function_exec/chapter_overview.html.md.erb b/developing/function_exec/chapter_overview.html.md.erb
deleted file mode 100644
index ead23a9..0000000
--- a/developing/function_exec/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  Function Execution
----
-
-A function is a body of code that resides on a server and that an application can invoke from a client or from another server without the need to send the function code itself. The caller can direct a data-dependent function to operate on a particular dataset, or can direct a data-independent function to operate on a particular server, member, or member group.
-
-<a id="function_exec__section_CBD5B04ACC554029B5C710CE8E244FEA">The function execution service provides solutions for a variety of use cases, including:</a>
-
--   An application needs to perform an operation on the data associated with a key. A registered server-side function can retrieve the data, operate on it, and put it back, with all processing performed locally to the server.
--   An application needs to initialize some of its components once on each server, which might be used later by executed functions.
--   A third-party service, such as a messaging service, requires initialization and startup.
--   Any arbitrary aggregation operation requires iteration over local data sets that can be done more efficiently through a single call to the cache server.
--   An external resource needs provisioning that can be done by executing a function on a server.
-
--   **[How Function Execution Works](how_function_execution_works.html)**
-
--   **[Executing a Function in Apache Geode](function_execution.html)**
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/function_exec/function_execution.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/function_exec/function_execution.html.md.erb b/developing/function_exec/function_execution.html.md.erb
deleted file mode 100644
index 70fb1a3..0000000
--- a/developing/function_exec/function_execution.html.md.erb
+++ /dev/null
@@ -1,237 +0,0 @@
----
-title:  Executing a Function in Apache Geode
----
-
-<a id="function_execution__section_BE483D79B81C49EE9855F506ED5AB014"></a>
-In this procedure it is assumed that you have your members and regions defined where you want to run functions.
-
-Main tasks:
-
-1.  Write the function code.
-2.  Register the function on all servers where you want to execute the function. The easiest way to register a function is to use the `gfsh` `deploy` command to deploy the JAR file containing the function code. Deploying the JAR automatically registers the function for you. See [Register the Function Automatically by Deploying a JAR](function_execution.html#function_execution__section_164E27B88EC642BA8D2359B18517B624) for details. Alternatively, you can write the XML or application code to register the function. See [Register the Function Programmatically](function_execution.html#function_execution__section_1D1056F843044F368FB76F47061FCD50) for details.
-3.  Write the application code to run the function and, if the function returns results, to handle the results.
-4.  If your function returns results and you need special results handling, code a custom `ResultsCollector` implementation and use it in your function execution.
-
-## <a id="function_execution__section_7D43B0C628D54F579D5C434D3DF69B3C" class="no-quick-link"></a>Write the Function Code
-
-To write the function code, you implement the `Function` interface or extend the `FunctionAdapter` class. Both are in the `org.apache.geode.cache.execute` package. The adapter class provides some default implementations for methods, which you can override.
-
-Code the methods you need for the function. These steps do not have to be done in this order.
-
-1.  Code `getId` to return a unique name for your function. You can use this name to access the function through the `FunctionService` API.
-2.  For high availability:
-    1.  Code `isHa` to return true to indicate to Geode that it can re-execute your function after one or more members fails
-    2.  Code your function to return a result
-    3.  Code `hasResult` to return true
-
-3.  Code `hasResult` to return true if your function returns results to be processed and false if your function does not return any data - the fire and forget function. `FunctionAdapter` `hasResult` returns true by default.
-4.  If the function will be executed on a region, code `optimizeForWrite` to return false if your function only reads from the cache, and true if your function updates the cache. The method only works if, when you are running the function, the `Execution` object is obtained through a `FunctionService` `onRegion` call. `FunctionAdapter` `optimizeForWrite` returns false by default.
-5.  Code the `execute` method to perform the work of the function.
-    1.  Make `execute` thread safe to accommodate simultaneous invocations.
-    2.  For high availability, code `execute` to accommodate multiple identical calls to the function. Use the `RegionFunctionContext` `isPossibleDuplicate` to determine whether the call may be a high-availability re-execution. This boolean is set to true on execution failure and is false otherwise.
-        **Note:**
-        The `isPossibleDuplicate` boolean can be set following a failure from another member\u2019s execution of the function, so it only indicates that the execution might be a repeat run in the current member.
-
-    3.  Use the function context to get information about the execution and the data:
-        -   The context holds the function ID, the `ResultSender` object for passing results back to the originator, and function arguments provided by the member where the function originated.
-        -   The context provided to the function is the `FunctionContext`, which is automatically extended to `RegionFunctionContext` if you get the `Execution` object through a `FunctionService` `onRegion` call.
-        -   For data dependent functions, the `RegionFunctionContext` holds the `Region` object, the `Set` of key filters, and a boolean indicating multiple identical calls to the function, for high availability implementations.
-        -   For partitioned regions, the `PartitionRegionHelper` provides access to additional information and data for the region. For single regions, use `getLocalDataForContext`. For colocated regions, use `getLocalColocatedRegions`.
-            **Note:**
-            When you use `PartitionRegionHelper.getLocalDataForContext`, `putIfAbsent` may not return expected results if you are working on local data set instead of the region.
-
-    4.  To propagate an error condition or exception back to the caller of the function, throw a FunctionException from the `execute` method. Geode transmits the exception back to the caller as if it had been thrown on the calling side. See the Java API documentation for [FunctionException](/releases/latest/javadoc/org/apache/geode/cache/execute/FunctionException.html) for more information.
-
-Example function code:
-
-``` pre
-package quickstart;
-
-import java.io.Serializable;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.apache.geode.cache.execute.FunctionAdapter;
-import org.apache.geode.cache.execute.FunctionContext;
-import org.apache.geode.cache.execute.RegionFunctionContext;
-import org.apache.geode.cache.partition.PartitionRegionHelper;
-
-public class MultiGetFunction extends FunctionAdapter {
-
-  public void execute(FunctionContext fc) { 
-    if(! (fc instanceof RegionFunctionContext)){
-       throw new FunctionException("This is a data aware function, and has 
-to be called using FunctionService.onRegion.");
-    }
-    RegionFunctionContext context = (RegionFunctionContext)fc;
-    Set keys = context.getFilter();
-    Set keysTillSecondLast = new HashSet(); 
-    int setSize = keys.size();
-    Iterator keysIterator = keys.iterator();
-    for(int i = 0; i < (setSize -1); i++)
-    {
-      keysTillSecondLast.add(keysIterator.next());
-    }
-    for (Object k : keysTillSecondLast) {
-      context.getResultSender().sendResult(
-          (Serializable)PartitionRegionHelper.getLocalDataForContext(context)
-              .get(k));
-    }
-    Object lastResult = keysIterator.next();
-    context.getResultSender().lastResult(
-        (Serializable)PartitionRegionHelper.getLocalDataForContext(context)
-            .get(lastResult));
-  }
-
-  public String getId() {
-    return getClass().getName();
-  }
-}
-```
-
-## <a id="function_execution__section_164E27B88EC642BA8D2359B18517B624" class="no-quick-link"></a>Register the Function Automatically by Deploying a JAR
-
-When you deploy a JAR file that contains a Function (in other words, contains a class that implements the Function interface), the Function will be automatically registered via the `FunctionService.registerFunction` method.
-
-To register a function by using `gfsh`:
-
-1.  Package your class files into a JAR file.
-2.  Start a `gfsh` prompt. If necessary, start a Locator and connect to the Geode distributed system where you want to run the function.
-3.  At the gfsh prompt, type the following command:
-
-    ``` pre
-    gfsh>deploy --jar=group1_functions.jar
-    ```
-
-    where group1\_functions.jar corresponds to the JAR file that you created in step 1.
-
-If another JAR file is deployed (either with the same JAR filename or another filename) with the same Function, the new implementation of the Function will be registered, overwriting the old one. If a JAR file is undeployed, any Functions that were auto-registered at the time of deployment will be unregistered. Since deploying a JAR file that has the same name multiple times results in the JAR being un-deployed and re-deployed, Functions in the JAR will be unregistered and re-registered each time this occurs. If a Function with the same ID is registered from multiple differently named JAR files, the Function will be unregistered if either of those JAR files is re-deployed or un-deployed.
-
-See [Deploying Application JARs to Apache Geode Members](../../configuring/cluster_config/deploying_application_jars.html#concept_4436C021FB934EC4A330D27BD026602C) for more details on deploying JAR files.
-
-## <a id="function_execution__section_1D1056F843044F368FB76F47061FCD50" class="no-quick-link"></a>Register the Function Programmatically
-
-This section applies to functions that are invoked using the `Execution.execute(String functionId)` signature. When this method is invoked, the calling application sends the function ID to all members where the `Function.execute` is to be run. Receiving members use the ID to look up the function in the local `FunctionService`. In order to do the lookup, all of the receiving member must have previously registered the function with the function service.
-
-The alternative to this is the `Execution.execute(Function function)` signature. When this method is invoked, the calling application serializes the instance of `Function` and sends it to all members where the `Function.execute` is to be run. Receiving members deserialize the `Function` instance, create a new local instance of it, and run execute from that. This option is not available for non-Java client invocation of functions on servers.
-
-Your Java servers must register functions that are invoked by non-Java clients. You may want to use registration in other cases to avoid the overhead of sending `Function` instances between members.
-
-Register your function using one of these methods:
-
--   XML:
-
-    ``` pre
-    <cache>
-        ...
-        </region>
-    <function-service>
-      <function>
-        <class-name>com.bigFatCompany.tradeService.cache.func.TradeCalc</class-name>
-      </function>
-    </function-service>
-    ```
-
--   Java:
-
-    ``` pre
-    myFunction myFun = new myFunction();
-    FunctionService.registerFunction(myFun);
-    ```
-
-    **Note:**
-    Modifying a function instance after registration has no effect on the registered function. If you want to execute a new function, you must register it with a different identifier.
-
-## <a id="function_execution__section_6A0F4C9FB77C477DA5D995705C8BDD5E" class="no-quick-link"></a>Run the Function
-
-This assumes you\u2019ve already followed the steps for writing and registering the function.
-
-In every member where you want to explicitly execute the function and process the results, you can use the `gfsh` command line to run the function or you can write an application to run the function.
-
-**Running the Function Using gfsh**
-
-1.  Start a gfsh prompt.
-2.  If necessary, start a Locator and connect to the Geode distributed system where you want to run the function.
-3.  At the gfsh prompt, type the following command:
-
-    ``` pre
-    gfsh> execute function --id=function_id
-    ```
-
-    Where *function\_id* equals the unique ID assigned to the function. You can obtain this ID using the `Function.getId` method.
-
-See [Function Execution Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_8BB061D1A7A9488C819FE2B7881A1278) for more `gfsh` commands related to functions.
-
-**Running the Function via API Calls**
-
-1.  Use one of the `FunctionService` `on*` methods to create an `Execute` object. The `on*` methods, `onRegion`, `onMembers`, etc., define the highest level where the function is run. For colocated partitioned regions, use `onRegion` and specify any one of the colocated regions. The function run using `onRegion` is referred to as a data dependent function - the others as data-independent functions.
-2.  Use the `Execution` object as needed for additional function configuration. You can:
-    -   Provide a key `Set` to `withFilters` to narrow the execution scope for `onRegion` `Execution` objects. You can retrieve the key set in your `Function` `execute` method through `RegionFunctionContext.getFilter`.
-    -   Provide function arguments to `withArgs`. You can retrieve these in your `Function` `execute` method through `FunctionContext.getArguments`.
-    -   Define a custom `ResultCollector`
-
-3.  Call the `Execution` object to `execute` method to run the function.
-4.  If the function returns results, call `getResult` from the results collector returned from `execute` and code your application to do whatever it needs to do with the results.
-    **Note:**
-    For high availability, you must call the `getResult` method.
-
-Example of running the function - for executing members:
-
-``` pre
-MultiGetFunction function = new MultiGetFunction();
-FunctionService.registerFunction(function);
-    
-writeToStdout("Press Enter to continue.");
-stdinReader.readLine();
-    
-Set keysForGet = new HashSet();
-keysForGet.add("KEY_4");
-keysForGet.add("KEY_9");
-keysForGet.add("KEY_7");
-
-Execution execution = FunctionService.onRegion(exampleRegion)
-    .withFilter(keysForGet)
-    .withArgs(Boolean.TRUE)
-    .withCollector(new MyArrayListResultCollector());
-
-ResultCollector rc = execution.execute(function);
-// Retrieve results, if the function returns results
-List result = (List)rc.getResult();
-```
-
-## <a id="function_execution__section_F2AFE056650B4BF08BC865F746BFED38" class="no-quick-link"></a>Write a Custom Results Collector
-
-This topic applies to functions that return results.
-
-When you execute a function that returns results, the function stores the results into a `ResultCollector` and returns the `ResultCollector` object. The calling application can then retrieve the results through the `ResultCollector` `getResult` method. Example:
-
-``` pre
-ResultCollector rc = execution.execute(function);
-List result = (List)rc.getResult();
-```
-
-Geode\u2019s default `ResultCollector` collects all results into an `ArrayList`. Its `getResult` methods block until all results are received. Then they return the full result set.
-
-To customize results collecting:
-
-1.  Write a class that extends `ResultCollector` and code the methods to store and retrieve the results as you need. Note that the methods are of two types:
-    1.  `addResult` and `endResults` are called by Geode when results arrive from the `Function` instance `SendResults` methods
-    2.  `getResult` is available to your executing application (the one that calls `Execution.execute`) to retrieve the results
-
-2.  Use high availability for `onRegion` functions that have been coded for it:
-    1.  Code the `ResultCollector` `clearResults` method to remove any partial results data. This readies the instance for a clean function re-execution.
-    2.  When you invoke the function, call the result collector `getResult` method. This enables the high availability functionality.
-
-3.  In your member that calls the function execution, create the `Execution` object using the `withCollector` method, and passing it your custom collector. Example:
-
-    ``` pre
-    Execution execution = FunctionService.onRegion(exampleRegion)
-        .withFilter(keysForGet)
-        .withArgs(Boolean.TRUE)
-        .withCollector(new MyArrayListResultCollector());
-    ```
-
-## <a id="function_execution__section_638E1FB9B08F4CC4B62C07DDB3661C14" class="no-quick-link"></a>Targeting Single Members of a Member Group or Entire Member Groups
-
-To execute a data independent function on a group of members or one member in a group of members, you can write your own nested function. You will need to write one nested function if you are executing the function from client to server and another nested function if you are executing a function from server to all members.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/function_exec/how_function_execution_works.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/function_exec/how_function_execution_works.html.md.erb b/developing/function_exec/how_function_execution_works.html.md.erb
deleted file mode 100644
index 19959e8..0000000
--- a/developing/function_exec/how_function_execution_works.html.md.erb
+++ /dev/null
@@ -1,114 +0,0 @@
----
-title:  How Function Execution Works
----
-
-## <a id="how_function_execution_works__section_881D2FF6761B4D689DDB46C650E2A2E1" class="no-quick-link"></a>Where Functions Are Executed
-
-You can execute data-independent functions or data-dependent functions in Geode in the following places:
-
-**For Data-independent Functions**
-
--   **On a specific member or members\u2014**Execute the function within a peer-to-peer distributed system, specifying the member or members where you want to run the function by using `FunctionService` methods `onMember()` and `onMembers()`.
--   **On a specific server or set of servers\u2014**If you are connected to a distributed system as a client, you can execute the function on a server or servers configured for a specific connection pool, or on a server or servers connected to a given cache using the default connection pool. For data-independent functions on client/server architectures, a client invokes `FunctionService` methods `onServer()` or `onServers()`. (See [How Client/Server Connections Work](../../topologies_and_comm/topology_concepts/how_the_pool_manages_connections.html) for details regarding pool connections.)
--   **On member groups or on a single member within each member group\u2014**You can organize members into logical member groups. (See [Configuring and Running a Cluster](../../configuring/chapter_overview.html#concept_lrh_gyq_s4) for more information about using member groups.) You can invoke a data independent function on all members in a specified member group or member groups, or execute the function on only one member of each specified member group.
-
-**For Data-dependent Functions**
-
--   **On a region\u2014**If you are executing a data-dependent function, specify a region and, optionally, a set of keys on which to run the function. The method `FunctionService.onRegion()` directs a data-dependent function to execute on a specific region.
-
-See the `org.apache.geode.cache.execute.FunctionService` Java API documentation for more details.
-
-## <a id="how_function_execution_works__section_E0C4B7D2E4414F099788A5A441FF0E03" class="no-quick-link"></a>How Functions Are Executed
-
-The following things occur when executing a function:
-
-1.  When you call the `execute` method on the `Execution` object, Geode invokes the function on all members where it needs to run. The locations are determined by the `FunctionService` `on*` method calls, region configuration, and any filters.
-2.  If the function has results, they are returned to the `addResult` method call in a `ResultCollector` object.
-3.  The originating member collects results using `ResultCollector.getResult`.
-
-## <a id="how_function_execution_works__section_14FF9932C7134C5584A14246BB4D4FF6" class="no-quick-link"></a>Highly Available Functions
-
-Generally, function execution errors are returned to the calling application. You can code for high availability for `onRegion` functions that return a result, so Geode automatically retries a function if it does not execute successfully. You must code and configure the function to be highly available, and the calling application must invoke the function using the results collector `getResult` method.
-
-When a failure (such as an execution error or member crash while executing) occurs, the system responds by:
-
-1.  Waiting for all calls to return
-2.  Setting a boolean indicating a re-execution
-3.  Calling the result collector\u2019s `clearResults` method
-4.  Executing the function
-
-For client regions, the system retries the execution according to `org.apache.geode.cache.client.Pool` `retryAttempts`. If the function fails to run every time, the final exception is returned to the `getResult` method.
-
-For member calls, the system retries until either it succeeds or no data remains in the system for the function to operate on.
-
-## <a id="how_function_execution_works__section_A0FD54B73E9A453AA38FC4A4D5282351" class="no-quick-link"></a>Function Execution Scenarios
-
-[Server-distributed System](#how_function_execution_works__fig_server_distributed_system) shows the sequence of events for a data-independent function invoked from a client on all available servers.
-
-<a id="how_function_execution_works__fig_server_distributed_system"></a>
-
-<span class="figtitleprefix">Figure: </span>Server-distributed System
-
-<img src="../../images/FuncExecOnServers.png" alt="A diagram showing the sequence of events for a data-independent function invoked from a client on all available servers" id="how_function_execution_works__image_993D1FD7705E40EA801CF0656C4E91E5" class="image" />
-
-The client contacts a locator to obtain host and port identifiers for each server in the distributed system and issues calls to each server. As the instigator of the calls, the client also receives the call results.
-
-[Peer-to-peer Distributed System](#how_function_execution_works__fig_peer_distributed_system) shows the sequence of events for a data-independent function executed against members in a peer-to-peer distributed system.
-
-<a id="how_function_execution_works__fig_peer_distributed_system"></a>
-
-<span class="figtitleprefix">Figure: </span>Peer-to-peer Distributed System
-
-<img src="../../images/FuncExecOnMembers.png" alt="The sequence of events for a data-independent function executed against members in a peer-to-peer distributed system." id="how_function_execution_works__image_041832B370AA4241980B8C2632DD1DC8" class="image" />
-
-You can think of `onMembers()` as the peer-to-peer counterpart of a client-server call to `onServers()`. Because it is called from a peer of other members in the distributed system, an `onMembers()` function invocation has access to detailed metadata and does not require the services of a locator. The caller invokes the function on itself, if appropriate, as well as other members in the distributed system and collects the results of all of the function executions.
-
-[Data-dependent Function on a Region](#how_function_execution_works__fig_data_dependent_function_region) shows a data-dependent function run on a region.
-
-<a id="how_function_execution_works__fig_data_dependent_function_region"></a>
-
-<span class="figtitleprefix">Figure: </span>Data-dependent Function on a Region
-
-<img src="../../images/FuncExecOnRegionNoMetadata.png" alt="The path followed when the client lacks detailed metadata regarding target locations" id="how_function_execution_works__image_68742923936F4EEC8E50819F5CEECBCC" class="image" />
-
-An `onRegion()` call requires more detailed metadata than a locator provides in its host:port identifier. This diagram shows the path followed when the client lacks detailed metadata regarding target locations, as on the first call or when previously obtained metadata is no longer up to date.
-
-The first time a client invokes a function to be executed on a particular region of a distributed system, the client's knowledge of target locations is limited to the host and port information provided by the locator. Given only this limited information, the client sends its execution request to whichever server is next in line to be called according to the pool allocation algorithm. Because it is a participant in the distributed system, that server has access to detailed metadata and can dispatch the function call to the appropriate target locations. When the server returns results to the client, it sets a flag indicating whether a request to a different server would have provided a more direct path to the intended target. To improve efficiency, the client requests a copy of the metadata. With additional details regarding the bucket layout for the region, the client can act as its own dispatcher on subsequent calls and identify multiple targets for itself, eliminating at least one 
 hop.
-
-After it has obtained current metadata, the client can act as its own dispatcher on subsequent calls, identifying multiple targets for itself and eliminating one hop, as shown in [Data-dependent function after obtaining current metadata](#how_function_execution_works__fig_data_dependent_function_obtaining_current_metadata).
-
-<a id="how_function_execution_works__fig_data_dependent_function_obtaining_current_metadata"></a>
-
-<span class="figtitleprefix">Figure: </span>Data-dependent function after obtaining current metadata
-
-<img src="../../images/FuncExecOnRegionWithMetadata.png" alt="A diagram showing the client acting as its own dispatcher after having obtained current metadata." class="image" />
-
-[Data-dependent Function on a Region with Keys](#how_function_execution_works__fig_data_dependent_function_region_keys) shows the same data-dependent function with the added specification of a set of keys on which to run.
-
-<a id="how_function_execution_works__fig_data_dependent_function_region_keys"></a>
-
-<span class="figtitleprefix">Figure: </span>Data-dependent Function on a Region with Keys
-
-<img src="../../images/FuncExecOnRegionWithFilter.png" alt="A data-dependent function on a region with specification of keys on which to run" id="how_function_execution_works__image_7FA8BE5D02F24CF8B49186C6FEB786BD" class="image" />
-
-Servers that do not hold any keys are left out of the function execution.
-
-[Peer-to-peer Data-dependent Function](#how_function_execution_works__fig_peer_data_dependent_function) shows a peer-to-peer data-dependent call.
-
-<a id="how_function_execution_works__fig_peer_data_dependent_function"></a>
-
-<span class="figtitleprefix">Figure: </span>Peer-to-peer Data-dependent Function
-
-<img src="../../images/FuncExecOnRegionPeersWithFilter.png" alt="A data-dependent function where the caller is not an external client" id="how_function_execution_works__image_9B8E914BA80E4BBA99856E9603A9BDA0" class="image" />
-
-The caller is a member of the distributed system, not an external client, so the function runs in the caller\u2019s distributed system. Note the similarities between this diagram and the preceding figure ([Data-dependent Function on a Region with Keys](#how_function_execution_works__fig_data_dependent_function_region_keys)), which shows a client-server model where the client has up-to-date metadata regarding target locations within the distributed system.
-
-[Client-server system with Up-to-date Target Metadata](#how_function_execution_works__fig_client_server_system_target_metadata) demonstrates a sequence of steps in a call to a highly available function in a client-server system in which the client has up-to-date metadata regarding target locations.
-
-<a id="how_function_execution_works__fig_client_server_system_target_metadata"></a>
-
-<span class="figtitleprefix">Figure: </span>Client-server system with Up-to-date Target Metadata
-
-<img src="../../images/FuncExecOnRegionHAWithFilter.png" alt="A sequence of steps in a call to a highly available function in a client-server system in which the client has up-to-date metadata regarding target locations" id="how_function_execution_works__image_05E94BB0EBF349FF8822158F2001F313" class="image" />
-
-In this example, three primary keys (X, Y, Z) and their secondary copies (X', Y', Z') are distributed among three servers. Because `optimizeForWrite` is `true`, the system first attempts to invoke the function where the primary keys reside: Server 1 and Server 2. Suppose, however, that Server 2 is off-line for some reason, so the call targeted for key Y fails. Because `isHA` is set to `true`, the call is retried on Server 1 (which succeeded the first time, so likely will do so again) and Server 3, where key Y' resides. This time, the function call returns successfully. Calls to highly available functions retry until they obtain a successful result or they reach a retry limit.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/management_all_region_types/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/management_all_region_types/chapter_overview.html.md.erb b/developing/management_all_region_types/chapter_overview.html.md.erb
deleted file mode 100644
index dc44e87..0000000
--- a/developing/management_all_region_types/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title:  General Region Data Management
----
-
-For all regions, you have options to control memory use, back up your data to disk, and keep stale data out of your cache.
-
--   **[Persistence and Overflow](../../developing/storing_data_on_disk/chapter_overview.html)**
-
-    You can persist data on disk for backup purposes and overflow it to disk to free up memory without completely removing the data from your cache.
-
--   **[Eviction](../../developing/eviction/chapter_overview.html)**
-
-    Use eviction to control data region size.
-
--   **[Expiration](../../developing/expiration/chapter_overview.html)**
-
-    Use expiration to keep data current by removing stale entries. You can also use it to remove entries you are not using so your region uses less space. Expired entries are reloaded the next time they are requested.
-
--   **[Keeping the Cache in Sync with Outside Data Sources](../../developing/outside_data_sources/sync_outside_data.html)**
-
-    Keep your distributed cache in sync with an outside data source by programming and installing application plug-ins for your region.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/outside_data_sources/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/outside_data_sources/chapter_overview.html.md.erb b/developing/outside_data_sources/chapter_overview.html.md.erb
deleted file mode 100644
index fc4f5ac..0000000
--- a/developing/outside_data_sources/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title:  Overview of Outside Data Sources
----
-
-Apache Geode has application plug-ins to read data into the cache and write it out.
-
-<a id="outside_data_sources__section_100B707BB812430E8D9CFDE3BE4698D1"></a>
-The application plug-ins:
-
-1.  Load data on cache misses using an implementation of a `org.apache.geode.cache.CacheLoader`. The `CacheLoader.load` method is called when the `get` operation can't find the value in the cache. The value returned from the loader is put into the cache and returned to the `get` operation. You might use this in conjunction with data expiration to get rid of old data, and your other data loading applications, which might be prompted by events in the outside data source. See [Configure Data Expiration](../expiration/configuring_data_expiration.html).
-2.  Write data out to the data source using the cache event handlers, `CacheWriter` and `CacheListener`. For implementation details, see [Implementing Cache Event Handlers](../events/implementing_cache_event_handlers.html).
-    -   `CacheWriter` is run synchronously. Before performing any operation on a region entry, if any cache writers are defined for the region in the distributed system, the system invokes the most convenient writer. In partitioned and distributed regions, cache writers are usually defined in only a subset of the caches holding the region - often in only one cache. The cache writer can abort the region entry operation.
-    -   `CacheListener` is run synchronously after the cache is updated. This listener works only on local cache events, so install your listener in every cache where you want it to handle events. You can install multiple cache listeners in any of your caches.
-
-In addition to using application plug-ins, you can also configure external JNDI database sources in your cache.xml and use these data sources in transactions. See [Configuring Database Connections Using JNDI](../transactions/configuring_db_connections_using_JNDI.html#topic_A5E3A67C808D48C08E1F0DC167C5C494) for more information.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/outside_data_sources/how_data_loaders_work.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/outside_data_sources/how_data_loaders_work.html.md.erb b/developing/outside_data_sources/how_data_loaders_work.html.md.erb
deleted file mode 100644
index dd39ec8..0000000
--- a/developing/outside_data_sources/how_data_loaders_work.html.md.erb
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title:  How Data Loaders Work
----
-
-By default, a region has no data loader defined. Plug an application-defined loader into any region by setting the region attribute cache-loader on the members that host data for the region.
-
-<a id="how_data_loaders_work__section_1E600469D223498DB49446434CE9B0B4"></a>
-The loader is called on cache misses during get operations, and it populates the cache with the new entry value in addition to returning the value to the calling thread.
-
-A loader can be configured to load data into the Geode cache from an outside data store. To do the reverse operation, writing data from the Geode cache to an outside data store, use a cache writer event handler. See [Implementing Cache Event Handlers](../events/implementing_cache_event_handlers.html).
-
-How to install your cache loader depends on the type of region.
-
-## <a id="how_data_loaders_work__section_5CD65D559F1A490DAB5ED9326860FE8D" class="no-quick-link"></a>Data Loading in Partitioned Regions
-
-Because of the huge amounts of data they can handle, partitioned regions support partitioned loading. Each cache loader loads only the data entries in the member where the loader is defined. If data redundancy is configured, data is loaded only if the member holds the primary copy. So you must install a cache loader in every member where the partitioned attributes `local-max-memory` is not zero.
-
-If you depend on a JDBC connection, every data store must have a connection to the data source, as shown in the following figure. Here the three members require three connections. See [Configuring Database Connections Using JNDI](../transactions/configuring_db_connections_using_JNDI.html#topic_A5E3A67C808D48C08E1F0DC167C5C494) for information on how to configure data sources.
-
-**Note:**
-Partitioned regions generally require more JDBC connections than distributed regions.
-
-<img src="../../images_svg/cache_data_loader.svg" id="how_data_loaders_work__image_CD7CE9BD22ED4782AB6B296187AB983A" class="image" />
-
-## <a id="how_data_loaders_work__section_6A2CE777CE9E4BD682B881F6986CF66C" class="no-quick-link"></a>Data Loading in Distributed Regions
-
-In a non-partitioned distributed region, a cache loader defined in one member is available to all members that have the region defined. Loaders are usually defined in just a subset of the caches holding the region. When a loader is needed, all available loaders for the region are invoked, starting with the most convenient loader, until the data is loaded or all loaders have been tried.
-
-In the following figure, these members of one distributed system can be running on different machines. Loading for the distributed region is performed from M1.
-
-<img src="../../images_svg/cache_data_loader_2.svg" id="how_data_loaders_work__image_3C39A50218D64EF28A5448EB01A4C6EC" class="image" />
-
-## <a id="how_data_loaders_work__section_BE33D9AB27104D1BB8AC8BFCE11A063E" class="no-quick-link"></a>Data Loading in Local Regions
-
-For local regions, the cache loader is available only in the member where it is defined. If a loader is defined, it is called whenever a value is not found in the local cache.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/outside_data_sources/implementing_data_loaders.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/outside_data_sources/implementing_data_loaders.html.md.erb b/developing/outside_data_sources/implementing_data_loaders.html.md.erb
deleted file mode 100644
index 2b65b44..0000000
--- a/developing/outside_data_sources/implementing_data_loaders.html.md.erb
+++ /dev/null
@@ -1,71 +0,0 @@
----
-title:  Implement a Data Loader
----
-
-To program a data loader and configure your region to use it:
-
-1. Program your loader.
-
-2. Install your loader in each member region where you need it.
-
-## <a id="implementing_data_loaders__section_88076AF5EC184FE88AAF4C806A0CA9DF" class="no-quick-link"></a>Program your loader
-To program your loader:
-
-1.  Implement `org.apache.geode.cache.CacheLoader`.
-
-2.  If you want to declare the loader in your `cache.xml`, implement the `org.apache.geode.cache.Declarable` interface as well.
-
-3.  Program the single `CacheLoader` `load` method to do whatever your application requires for retrieving the value from outside the cache. If you need to run `Region` API calls from your loader, spawn separate threads for them. Do not make direct calls to `Region` methods from your load method implementation as it could cause the cache loader to block, hurting the performance of the distributed system. For example:
-
-    ``` pre
-    public class SimpleCacheLoader implements CacheLoader, Declarable {
-        public Object load(LoaderHelper helper) {
-            String key = (String) helper.getKey();
-            System.out.println(" Loader called to retrieve value for " + key);
-            // Create a value using the suffix number of the key (key1, key2, etc.)
-            return "LoadedValue" + (Integer.parseInt(key.substring(3)));
-        }
-        public void close() { // do nothing }
-        public void init(Properties props) { // do nothing }
-    }
-    ```
-
-## Install your loader in each member region
-To install your loader in each member region where you need it:
-
-1. In a partitioned region, install the cache loader in every data store for the region (`partition-attributes` `local-max-memory` &gt; 0).
-
-2. In a distributed region, install the loader in the members where it makes sense to do so. Cache loaders are usually defined in only a subset of the members holding the region. You might, for example, assign the job of loading from a database to one or two members for a region hosted by many more members. This can be done to reduce the number of connections when the outside source is a database.
-
-    Use one of these methods to install the loader:
-    -   XML:
-
-        ``` pre
-        <region-attributes>
-            <cache-loader>
-                <class-name>myCacheLoader</class-name>
-            </cache-loader>
-        </region-attributes>
-        ```
-    -   XML with parameters:
-
-        ``` pre
-        <cache-loader>
-            <class-name>com.company.data.DatabaseLoader</class-name>
-            <parameter name="URL">
-                <string>jdbc:cloudscape:rmi:MyData</string>
-            </parameter>
-        </cache-loader>
-        ```
-    -   Java:
-
-        ``` pre
-        RegionFactory<String,Object> rf = cache.createRegionFactory(REPLICATE);
-        rf.setCacheLoader(new QuoteLoader());
-        quotes = rf.create("NASDAQ Quotes");
-        ```
-
-**Note:**
-You can also configure Regions using the gfsh command-line interface, however you cannot configure a `cache-loader` using gfsh. See [Region Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_EF03119A40EE492984F3B6248596E1DD).
-
-



[25/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/JMX_Architecture.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/JMX_Architecture.svg b/geode-docs/images_svg/JMX_Architecture.svg
new file mode 100644
index 0000000..f60c097
--- /dev/null
+++ b/geode-docs/images_svg/JMX_Architecture.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="106 331 380 360" width="380pt" height="30pc" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 00:09Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse
 "><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(463.5 526.5) scale(269.49856)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="-1e3" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-style="italic" font-weight="500"><font-face-src><font-face-name name="Helvetica-Oblique"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransf
 orm="translate(468 389.25) scale(64.688686)"/><font-face font-family="Helvetica" font-size="8" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(288 632.25) scale(146.15153)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="-1200" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-style="italic" font-weight="500"><font-face-src><font-face-name name="Helvetica-Oblique"/></font-face-src></font-face><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(468 632.25) scale(149.04552)"/><radialGradient id="Obj_Gradient_5" xl:hre
 f="#Gradient" gradientTransform="translate(335.25 590.625) scale(19.091883)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(362.25 604.125) scale(19.091883)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M 8.9444437 0 L 0 -3.3541664 L 0 3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_7" xl:href="#Gradient" gradientTransform="translate(155.25 587.25) scale(19.091883)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient" gradien
 tTransform="translate(182.25 603) scale(19.091883)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient" gradientTransform="translate(252 515.25) scale(19.091883)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient" gradientTransform="translate(276.75 501.75) scale(19.091883)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient" gradientTransform="translate(303.75 517.5) scale(19.091883)"/><font-face font-family="Helvetica" font-size="6" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-1 -9 21 18" markerWidth="21" markerHeight="18" color="black"><g><path d="M 18.668056 0 L 0 -7.000521 L 0 7.000521 Z" fill="currentColor" stroke="currentColor" stroke-
 width="1"/></g></marker><radialGradient id="Obj_Gradient_c" xl:href="#Gradient" gradientTransform="translate(252 564.75) scale(75.467294)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient" gradientTransform="translate(428.0625 565.875) scale(75.467294)"/><radialGradient id="Obj_Gradient_e" xl:href="#Gradient" gradientTransform="translate(337.5 479.25) scale(75.467294)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_3" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="#252525"><g><path d="M 7.5555553 0 L 0 -2.8333333 L 0 2.8333333 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_4" viewBox="-9 -4 10 8" markerWidth="10" markerHeight="8" color="#252525"><g><path d="M -7.5555553 0 L 0 2.8333333 L 0 -2.8333333 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gr
 adient_f" xl:href="#Gradient" gradientTransform="translate(378 389.63672) scale(64.688686)"/><radialGradient id="Obj_Gradient_10" xl:href="#Gradient" gradientTransform="translate(447.75 604.125) scale(19.091883)"/><radialGradient id="Obj_Gradient_11" xl:href="#Gradient" gradientTransform="translate(267.75 600.75) scale(19.091883)"/><radialGradient id="Obj_Gradient_12" xl:href="#Gradient" gradientTransform="translate(213.75 389.25) scale(64.688686)"/><radialGradient id="Obj_Gradient_13" xl:href="#Gradient" gradientTransform="translate(279 653.81836) scale(64.688686)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_5" viewBox="-10 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M -8.9444437 0 L 0 3.3541664 L 0 -3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>jmx architecture</tit
 le><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id17_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id18_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id19_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id20_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id22_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id24_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id27_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id28_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id32_Graphic" filt
 er="url(#Shadow)"/><xl:use xl:href="#id35_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id36_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id39_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id40_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id42_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id49_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id50_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id52_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id55_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id61_Graphic" filter="url(#Shadow)"/></g><rect x="117" y="342.5625" width="355.5" height="54" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(121 344.5625)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="194.25293" y="10" textLength="130.078125">Management and Monitoring </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill=
 "black" x="324.15527" y="10" textLength="6.1083984">T</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="329.15527" y="10" textLength="18.344727">ools</tspan></text><g id="id3_Graphic"><path d="M 128.16 416.25 L 456.84 416.25 C 460.51822 416.25 463.5 419.23178 463.5 422.91 L 463.5 519.84 C 463.5 523.51822 460.51822 526.5 456.84 526.5 L 128.16 526.5 C 124.48178 526.5 121.5 523.51822 121.5 519.84 L 121.5 422.91 C 121.5 419.23178 124.48178 416.25 128.16 416.25 Z" fill="url(#Obj_Gradient)"/><path d="M 128.16 416.25 L 456.84 416.25 C 460.51822 416.25 463.5 419.23178 463.5 422.91 L 463.5 519.84 C 463.5 523.51822 460.51822 526.5 456.84 526.5 L 128.16 526.5 C 124.48178 526.5 121.5 523.51822 121.5 519.84 L 121.5 422.91 C 121.5 419.23178 124.48178 416.25 128.16 416.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(125.5 420.25)" fill="black"><tspan font-family="Helvetica" font-size="12
 " font-style="italic" font-weight="500" fill="black" x="227.2832" y="11" textLength="106.7168">JMX Manager Node</tspan></text></g><rect x="117" y="411.75" width="355.5" height="267.75" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(121 659)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="226.12793" y="14" textLength="121.37207"> Distributed System</tspan></text><g id="id5_Graphic"><path d="M 393.66 359.61328 L 461.34 359.61328 C 465.01822 359.61328 468 362.59506 468 366.27328 L 468 382.59 C 468 386.26822 465.01822 389.25 461.34 389.25 L 393.66 389.25 C 389.98178 389.25 387 386.26822 387 382.59 L 387 366.27328 C 387 362.59506 389.98178 359.61328 393.66 359.61328 Z" fill="url(#Obj_Gradient_2)"/><path d="M 393.66 359.61328 L 461.34 359.61328 C 465.01822 359.61328 468 362.59506 468 366.27328 L 468 382.59 C 468 386.26822 465.01822 389.25 461.34 389.25 L 393.66 389.25 C 389
 .98178 389.25 387 386.26822 387 382.59 L 387 366.27328 C 387 362.59506 389.98178 359.61328 393.66 359.61328 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(391 359.43164)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="4.046875" y="8" textLength="67.128906">Other JMX Clients </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="17.380859" y="18" textLength="40.460938">(JConsole, </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="18.720703" y="28" textLength="35.558594">jvisualvm)</tspan></text></g><g id="id6_Graphic"><path d="M 128.16 531 L 281.34 531 C 285.01822 531 288 533.98178 288 537.66 L 288 625.59 C 288 629.2682 285.01822 632.25 281.34 632.25 L 128.16 632.25 C 124.48178 632.25 121.5 629.2682 121.5 625.59 L 121.5 537.66 C 121.5 533.98178 124.48178 531 128.16 531 Z" fill="url(#Obj_Gradient_3)"/>
 <path d="M 128.16 531 L 281.34 531 C 285.01822 531 288 533.98178 288 537.66 L 288 625.59 C 288 629.2682 285.01822 632.25 281.34 632.25 L 128.16 632.25 C 124.48178 632.25 121.5 629.2682 121.5 625.59 L 121.5 537.66 C 121.5 533.98178 124.48178 531 128.16 531 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(125.5 616.75)" fill="black"><tspan font-family="Helvetica" font-size="10" font-style="italic" font-weight="500" fill="black" x="0" y="10" textLength="68.38379">Managed Node</tspan></text></g><g id="id7_Graphic"><path d="M 303.66 531 L 461.34 531 C 465.01822 531 468 533.98178 468 537.66 L 468 625.59 C 468 629.2682 465.01822 632.25 461.34 632.25 L 303.66 632.25 C 299.98178 632.25 297 629.2682 297 625.59 L 297 537.66 C 297 533.98178 299.98178 531 303.66 531 Z" fill="url(#Obj_Gradient_4)"/><path d="M 303.66 531 L 461.34 531 C 465.01822 531 468 533.98178 468 537.66 L 468 625.59 C 468 629.2682 465.01822 632.25 461.34 63
 2.25 L 303.66 632.25 C 299.98178 632.25 297 629.2682 297 625.59 L 297 537.66 C 297 533.98178 299.98178 531 303.66 531 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(301 616.75)" fill="black"><tspan font-family="Helvetica" font-size="10" font-style="italic" font-weight="500" fill="black" x="94.61621" y="10" textLength="68.38379">Managed Node</tspan></text></g><g id="id8_Graphic"><path d="M 323.91 572.625 L 328.59 572.625 C 332.26822 572.625 335.25 575.6068 335.25 579.285 L 335.25 583.965 C 335.25 587.6432 332.26822 590.625 328.59 590.625 L 323.91 590.625 C 320.23178 590.625 317.25 587.6432 317.25 583.965 L 317.25 579.285 C 317.25 575.6068 320.23178 572.625 323.91 572.625 Z" fill="url(#Obj_Gradient_5)"/><path d="M 323.91 572.625 L 328.59 572.625 C 332.26822 572.625 335.25 575.6068 335.25 579.285 L 335.25 583.965 C 335.25 587.6432 332.26822 590.625 328.59 590.625 L 323.91 590.625 C 320.23178 590.625 317.25 587.643
 2 317.25 583.965 L 317.25 579.285 C 317.25 575.6068 320.23178 572.625 323.91 572.625 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(321.25 576.125)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.7502441" y="9" textLength="6.4995117">C</tspan></text></g><rect x="310.5" y="563.625" width="153" height="45" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(314.5 567.625)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="81.083984" y="10" textLength="63.916016">MBean Server</tspan></text><g id="id10_Graphic"><path d="M 350.91 586.125 L 355.59 586.125 C 359.26822 586.125 362.25 589.1068 362.25 592.785 L 362.25 597.465 C 362.25 601.1432 359.26822 604.125 355.59 604.125 L 350.91 604.125 C 347.23178 604.125 344.25 601.1432 344.25 597.465 L 344.25 592.785 C 344.25 
 589.1068 347.23178 586.125 350.91 586.125 Z" fill="url(#Obj_Gradient_6)"/><path d="M 350.91 586.125 L 355.59 586.125 C 359.26822 586.125 362.25 589.1068 362.25 592.785 L 362.25 597.465 C 362.25 601.1432 359.26822 604.125 355.59 604.125 L 350.91 604.125 C 347.23178 604.125 344.25 601.1432 344.25 597.465 L 344.25 592.785 C 344.25 589.1068 347.23178 586.125 350.91 586.125 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(348.25 589.625)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.7502441" y="9" textLength="6.4995117">D</tspan></text></g><line x1="378.5625" y1="547.875" x2="378.17274" y2="529.94612" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id12_Graphic"><path d="M 143.91 569.25 L 148.59 569.25 C 152.26822 569.25 155.25 572.2318 155.25 575.91 L 155.25 580.59 C 155.25 584.2682 
 152.26822 587.25 148.59 587.25 L 143.91 587.25 C 140.23178 587.25 137.25 584.2682 137.25 580.59 L 137.25 575.91 C 137.25 572.2318 140.23178 569.25 143.91 569.25 Z" fill="url(#Obj_Gradient_7)"/><path d="M 143.91 569.25 L 148.59 569.25 C 152.26822 569.25 155.25 572.2318 155.25 575.91 L 155.25 580.59 C 155.25 584.2682 152.26822 587.25 148.59 587.25 L 143.91 587.25 C 140.23178 587.25 137.25 584.2682 137.25 580.59 L 137.25 575.91 C 137.25 572.2318 140.23178 569.25 143.91 569.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(141.25 572.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">A</tspan></text></g><rect x="128.25" y="562.5" width="148.5" height="45" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(132.25 566.5)" fill="black"><tspan font-family="Helvetica" fo
 nt-size="10" font-weight="500" fill="black" x="76.583984" y="10" textLength="63.916016">MBean Server</tspan></text><g id="id14_Graphic"><path d="M 170.91 585 L 175.59 585 C 179.26822 585 182.25 587.9818 182.25 591.66 L 182.25 596.34 C 182.25 600.0182 179.26822 603 175.59 603 L 170.91 603 C 167.23178 603 164.25 600.0182 164.25 596.34 L 164.25 591.66 C 164.25 587.9818 167.23178 585 170.91 585 Z" fill="url(#Obj_Gradient_8)"/><path d="M 170.91 585 L 175.59 585 C 179.26822 585 182.25 587.9818 182.25 591.66 L 182.25 596.34 C 182.25 600.0182 179.26822 603 175.59 603 L 170.91 603 C 167.23178 603 164.25 600.0182 164.25 596.34 L 164.25 591.66 C 164.25 587.9818 167.23178 585 170.91 585 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(168.25 588.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">B</tspan></text></g><g id="id15_Graphic"><path
  d="M 240.66 497.25 L 245.34 497.25 C 249.01822 497.25 252 500.23178 252 503.91 L 252 508.59 C 252 512.26822 249.01822 515.25 245.34 515.25 L 240.66 515.25 C 236.98178 515.25 234 512.26822 234 508.59 L 234 503.91 C 234 500.23178 236.98178 497.25 240.66 497.25 Z" fill="url(#Obj_Gradient_9)"/><path d="M 240.66 497.25 L 245.34 497.25 C 249.01822 497.25 252 500.23178 252 503.91 L 252 508.59 C 252 512.26822 249.01822 515.25 245.34 515.25 L 240.66 515.25 C 236.98178 515.25 234 512.26822 234 508.59 L 234 503.91 C 234 500.23178 236.98178 497.25 240.66 497.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><rect x="130.5" y="474.75" width="328.5" height="45" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(134.5 504.25)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="256.58398" y="10" textLength="63.916016">MBean Server</tspan></te
 xt><g id="id17_Graphic"><path d="M 265.41 483.75 L 270.09 483.75 C 273.76822 483.75 276.75 486.73178 276.75 490.41 L 276.75 495.09 C 276.75 498.76822 273.76822 501.75 270.09 501.75 L 265.41 501.75 C 261.73178 501.75 258.75 498.76822 258.75 495.09 L 258.75 490.41 C 258.75 486.73178 261.73178 483.75 265.41 483.75 Z" fill="url(#Obj_Gradient_a)"/><path d="M 265.41 483.75 L 270.09 483.75 C 273.76822 483.75 276.75 486.73178 276.75 490.41 L 276.75 495.09 C 276.75 498.76822 273.76822 501.75 270.09 501.75 L 265.41 501.75 C 261.73178 501.75 258.75 498.76822 258.75 495.09 L 258.75 490.41 C 258.75 486.73178 261.73178 483.75 265.41 483.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id18_Graphic"><path d="M 292.41 499.5 L 297.09 499.5 C 300.76822 499.5 303.75 502.48178 303.75 506.16 L 303.75 510.84 C 303.75 514.51822 300.76822 517.5 297.09 517.5 L 292.41 517.5 C 288.73178 517.5 285.75 514.51822 285.75 510.84 L 285.75 506.16 C 285.75 502.
 48178 288.73178 499.5 292.41 499.5 Z" fill="url(#Obj_Gradient_b)"/><path d="M 292.41 499.5 L 297.09 499.5 C 300.76822 499.5 303.75 502.48178 303.75 506.16 L 303.75 510.84 C 303.75 514.51822 300.76822 517.5 297.09 517.5 L 292.41 517.5 C 288.73178 517.5 285.75 514.51822 285.75 510.84 L 285.75 506.16 C 285.75 502.48178 288.73178 499.5 292.41 499.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id19_Graphic"><path d="M 350.91 499.5 L 364.59 499.5 C 368.26822 499.5 371.25 502.48178 371.25 506.16 L 371.25 510.84 C 371.25 514.51822 368.26822 517.5 364.59 517.5 L 350.91 517.5 C 347.23178 517.5 344.25 514.51822 344.25 510.84 L 344.25 506.16 C 344.25 502.48178 347.23178 499.5 350.91 499.5 Z" fill="none"/><path d="M 350.91 499.5 L 364.59 499.5 C 368.26822 499.5 371.25 502.48178 371.25 506.16 L 371.25 510.84 C 371.25 514.51822 368.26822 517.5 364.59 517.5 L 350.91 517.5 C 347.23178 517.5 344.25 514.51822 344.25 510.84 L 344.25 506.16 C 34
 4.25 502.48178 347.23178 499.5 350.91 499.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(348.25 503)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x=".8691406" y="9" textLength="17.261719">Y+X</tspan></text></g><g id="id20_Graphic"><path d="M 150.66 499.5 L 155.34 499.5 C 159.01822 499.5 162 502.48178 162 506.16 L 162 510.84 C 162 514.51822 159.01822 517.5 155.34 517.5 L 150.66 517.5 C 146.98178 517.5 144 514.51822 144 510.84 L 144 506.16 C 144 502.48178 146.98178 499.5 150.66 499.5 Z" fill="none"/><path d="M 150.66 499.5 L 155.34 499.5 C 159.01822 499.5 162 502.48178 162 506.16 L 162 510.84 C 162 514.51822 159.01822 517.5 155.34 517.5 L 150.66 517.5 C 146.98178 517.5 144 514.51822 144 510.84 L 144 506.16 C 144 502.48178 146.98178 499.5 150.66 499.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translat
 e(148 503)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">A</tspan></text></g><g id="id22_Graphic"><path d="M 388.035 483.75 L 392.715 483.75 C 396.39322 483.75 399.375 486.73178 399.375 490.41 L 399.375 495.09 C 399.375 498.76822 396.39322 501.75 392.715 501.75 L 388.035 501.75 C 384.35678 501.75 381.375 498.76822 381.375 495.09 L 381.375 490.41 C 381.375 486.73178 384.35678 483.75 388.035 483.75 Z" fill="none"/><path d="M 388.035 483.75 L 392.715 483.75 C 396.39322 483.75 399.375 486.73178 399.375 490.41 L 399.375 495.09 C 399.375 498.76822 396.39322 501.75 392.715 501.75 L 388.035 501.75 C 384.35678 501.75 381.375 498.76822 381.375 495.09 L 381.375 490.41 C 381.375 486.73178 384.35678 483.75 388.035 483.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><text transform="translate(401.125 485.75)" fill="black"><tspan font-family="Helvetica" font-si
 ze="6" font-weight="500" fill="black" x="2.159668" y="6" textLength="23.680664">Manager</tspan><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="4.494629" y="13" textLength="19.010742">MBean</tspan></text><g id="id24_Graphic"><path d="M 170.91 483.75 L 175.59 483.75 C 179.26822 483.75 182.25 486.73178 182.25 490.41 L 182.25 495.09 C 182.25 498.76822 179.26822 501.75 175.59 501.75 L 170.91 501.75 C 167.23178 501.75 164.25 498.76822 164.25 495.09 L 164.25 490.41 C 164.25 486.73178 167.23178 483.75 170.91 483.75 Z" fill="none"/><path d="M 170.91 483.75 L 175.59 483.75 C 179.26822 483.75 182.25 486.73178 182.25 490.41 L 182.25 495.09 C 182.25 498.76822 179.26822 501.75 175.59 501.75 L 170.91 501.75 C 167.23178 501.75 164.25 498.76822 164.25 495.09 L 164.25 490.41 C 164.25 486.73178 167.23178 483.75 170.91 483.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(168.25 487.25)" fill="black"
 ><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">B</tspan></text></g><text transform="translate(139 442.875)" fill="black"><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x=".75927734" y="6" textLength="45.023438">Proxied Mbeans </tspan><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="3.0942383" y="13" textLength="40.353516">from Managed </tspan><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="13.765625" y="20" textLength="17.34375">Nodes</tspan></text><path d="M 173.25 389.25 L 173.25 395.80591 L 173.72477 400.95413 L 173.72477 402.75 L 288 402.75 L 288 423.1941 L 288 424.43407" marker-end="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".23998"/><g id="id27_Graphic"><path d="M 159.66 546.75 L 245.34 546.75 C 249.01822 546.75 252 549.73178 252 553.41 L 252 558.09 C 252 5
 61.7682 249.01822 564.75 245.34 564.75 L 159.66 564.75 C 155.98178 564.75 153 561.7682 153 558.09 L 153 553.41 C 153 549.73178 155.98178 546.75 159.66 546.75 Z" fill="url(#Obj_Gradient_c)"/><path d="M 159.66 546.75 L 245.34 546.75 C 249.01822 546.75 252 549.73178 252 553.41 L 252 558.09 C 252 561.7682 249.01822 564.75 245.34 564.75 L 159.66 564.75 C 155.98178 564.75 153 561.7682 153 558.09 L 153 553.41 C 153 549.73178 155.98178 546.75 159.66 546.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(157 550.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.9785156" y="9" textLength="85.04297">Management Service</tspan></text></g><g id="id28_Graphic"><path d="M 335.7225 547.875 L 421.4025 547.875 C 425.08072 547.875 428.0625 550.85678 428.0625 554.535 L 428.0625 559.215 C 428.0625 562.8932 425.08072 565.875 421.4025 565.875 L 335.7225 565.875 C 332.04428 565.875 329.06
 25 562.8932 329.0625 559.215 L 329.0625 554.535 C 329.0625 550.85678 332.04428 547.875 335.7225 547.875 Z" fill="url(#Obj_Gradient_d)"/><path d="M 335.7225 547.875 L 421.4025 547.875 C 425.08072 547.875 428.0625 550.85678 428.0625 554.535 L 428.0625 559.215 C 428.0625 562.8932 425.08072 565.875 421.4025 565.875 L 335.7225 565.875 C 332.04428 565.875 329.0625 562.8932 329.0625 559.215 L 329.0625 554.535 C 329.0625 550.85678 332.04428 547.875 335.7225 547.875 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(333.0625 551.375)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.9785156" y="9" textLength="85.04297">Management Service</tspan></text></g><path d="M 144 508.5 L 137.76002 508.5 L 135 508.5 L 135 452.25 L 144 452.25" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".23998"/><rect x="225" y="429.75" width="126" height="13.5" stroke="#25252
 5" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(229 430.5)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="25.376953" y="10" textLength="67.246094">RMI Connector</tspan></text><path d="M 173.25 483.75 L 173.25 477.51002 L 173.25 452.25 L 180 452.25" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".23998"/><g id="id32_Graphic"><path d="M 245.16 461.25 L 330.84 461.25 C 334.51822 461.25 337.5 464.23178 337.5 467.91 L 337.5 472.59 C 337.5 476.26822 334.51822 479.25 330.84 479.25 L 245.16 479.25 C 241.48178 479.25 238.5 476.26822 238.5 472.59 L 238.5 467.91 C 238.5 464.23178 241.48178 461.25 245.16 461.25 Z" fill="url(#Obj_Gradient_e)"/><path d="M 245.16 461.25 L 330.84 461.25 C 334.51822 461.25 337.5 464.23178 337.5 467.91 L 337.5 472.59 C 337.5 476.26822 334.51822 479.25 330.84 479.25 L 245.16 479.25 C 241.48178 479.25 238.5 476.26822 238.5 472.59 L 238.5 46
 7.91 C 238.5 464.23178 241.48178 461.25 245.16 461.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(242.5 464.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.9785156" y="9" textLength="85.04297">Management Service</tspan></text></g><path d="M 337.5 470.25 L 344.05591 470.25 L 390.375 470.25 L 390.375 477.1941 L 390.375 478.43407" marker-end="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".23998"/><line x1="288" y1="454.302" x2="288" y2="450.198" marker-end="url(#FilledArrow_Marker_3)" marker-start="url(#FilledArrow_Marker_4)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id35_Graphic"><path d="M 195.66 499.5 L 200.34 499.5 C 204.01822 499.5 207 502.48178 207 506.16 L 207 510.84 C 207 514.51822 204.01822 517.5 200.34 517.5 L 195.66 517.5 C 191.98178 517.5
  189 514.51822 189 510.84 L 189 506.16 C 189 502.48178 191.98178 499.5 195.66 499.5 Z" fill="none"/><path d="M 195.66 499.5 L 200.34 499.5 C 204.01822 499.5 207 502.48178 207 506.16 L 207 510.84 C 207 514.51822 204.01822 517.5 200.34 517.5 L 195.66 517.5 C 191.98178 517.5 189 514.51822 189 510.84 L 189 506.16 C 189 502.48178 191.98178 499.5 195.66 499.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(193 503)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.7502441" y="9" textLength="6.4995117">C</tspan></text></g><g id="id36_Graphic"><path d="M 215.91 483.75 L 220.59 483.75 C 224.26822 483.75 227.25 486.73178 227.25 490.41 L 227.25 495.09 C 227.25 498.76822 224.26822 501.75 220.59 501.75 L 215.91 501.75 C 212.23178 501.75 209.25 498.76822 209.25 495.09 L 209.25 490.41 C 209.25 486.73178 212.23178 483.75 215.91 483.75 Z" fill="none"/><path d="M 215.91 483.75 L 220.59
  483.75 C 224.26822 483.75 227.25 486.73178 227.25 490.41 L 227.25 495.09 C 227.25 498.76822 224.26822 501.75 220.59 501.75 L 215.91 501.75 C 212.23178 501.75 209.25 498.76822 209.25 495.09 L 209.25 490.41 C 209.25 486.73178 212.23178 483.75 215.91 483.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(213.25 487.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.7502441" y="9" textLength="6.4995117">D</tspan></text></g><path d="M 184.5 452.25 L 198 452.25 L 198 493.26002 L 198 499.5" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".23998"/><path d="M 173.25 452.25 L 218.25 452.25 L 218.25 477.51002 L 218.25 483.75" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".23998"/><g id="id39_Graphic"><path d="M 303.66 360 L 371.34 360 C 375.01822 360 378 362.98178 378 366.66 L 378 382.97672 C 378 386.65494 375.01822 3
 89.63672 371.34 389.63672 L 303.66 389.63672 C 299.98178 389.63672 297 386.65494 297 382.97672 L 297 366.66 C 297 362.98178 299.98178 360 303.66 360 Z" fill="url(#Obj_Gradient_f)"/><path d="M 303.66 360 L 371.34 360 C 375.01822 360 378 362.98178 378 366.66 L 378 382.97672 C 378 386.65494 375.01822 389.63672 371.34 389.63672 L 303.66 389.63672 C 299.98178 389.63672 297 386.65494 297 382.97672 L 297 366.66 C 297 362.98178 299.98178 360 303.66 360 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(301 369.31836)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="27.994385" y="9" textLength="17.01123">gfsh</tspan></text></g><g id="id40_Graphic"><path d="M 200.16 584.4375 L 204.84 584.4375 C 208.51822 584.4375 211.5 587.4193 211.5 591.0975 L 211.5 595.7775 C 211.5 599.4557 208.51822 602.4375 204.84 602.4375 L 200.16 602.4375 C 196.48178 602.4375 193.5 599.4557 193.5 595.7775 L 1
 93.5 591.0975 C 193.5 587.4193 196.48178 584.4375 200.16 584.4375 Z" fill="none"/><path d="M 200.16 584.4375 L 204.84 584.4375 C 208.51822 584.4375 211.5 587.4193 211.5 591.0975 L 211.5 595.7775 C 211.5 599.4557 208.51822 602.4375 204.84 602.4375 L 200.16 602.4375 C 196.48178 602.4375 193.5 599.4557 193.5 595.7775 L 193.5 591.0975 C 193.5 587.4193 196.48178 584.4375 200.16 584.4375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><text transform="translate(216.0625 585.875)" fill="black"><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="2.9975586" y="6" textLength="22.004883">Member</tspan><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="4.494629" y="13" textLength="19.010742">MBean</tspan></text><g id="id42_Graphic"><path d="M 376.785 586.125 L 381.465 586.125 C 385.14322 586.125 388.125 589.1068 388.125 592.785 L 388.125 597.465 C 388.125 601.1432 385.14322 604.125 381.465 60
 4.125 L 376.785 604.125 C 373.10678 604.125 370.125 601.1432 370.125 597.465 L 370.125 592.785 C 370.125 589.1068 373.10678 586.125 376.785 586.125 Z" fill="none"/><path d="M 376.785 586.125 L 381.465 586.125 C 385.14322 586.125 388.125 589.1068 388.125 592.785 L 388.125 597.465 C 388.125 601.1432 385.14322 604.125 381.465 604.125 L 376.785 604.125 C 373.10678 604.125 370.125 601.1432 370.125 597.465 L 370.125 592.785 C 370.125 589.1068 373.10678 586.125 376.785 586.125 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><text transform="translate(392.125 588.125)" fill="black"><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="2.9975586" y="6" textLength="22.004883">Member</tspan><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="4.494629" y="13" textLength="19.010742">MBean</tspan></text><path d="M 202.5 564.75 L 202.5 571.3059 L 202.5 574.59375 L 202.5 577.8816 L 202.5 579.12157" 
 marker-end="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".23998"/><text transform="translate(256 503.75)" fill="black"><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="6.828125" y="6" textLength="16.010742">Local </tspan><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="2.9946289" y="13" textLength="22.010742">MBeans</tspan></text><text transform="translate(316.75 592.625)" fill="black"><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="6.828125" y="6" textLength="16.010742">Local </tspan><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="2.9946289" y="13" textLength="22.010742">MBeans</tspan></text><path d="M 378 565.875 L 379.125 565.875 L 379.125 579.5691 L 379.125 580.80907" marker-end="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".23998"/><text tran
 sform="translate(134.5 589.25)" fill="black"><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="6.828125" y="6" textLength="16.010742">Local </tspan><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="2.9946289" y="13" textLength="22.010742">MBeans</tspan></text><g id="id49_Graphic"><path d="M 436.41 586.125 L 441.09 586.125 C 444.76822 586.125 447.75 589.1068 447.75 592.785 L 447.75 597.465 C 447.75 601.1432 444.76822 604.125 441.09 604.125 L 436.41 604.125 C 432.73178 604.125 429.75 601.1432 429.75 597.465 L 429.75 592.785 C 429.75 589.1068 432.73178 586.125 436.41 586.125 Z" fill="url(#Obj_Gradient_10)"/><path d="M 436.41 586.125 L 441.09 586.125 C 444.76822 586.125 447.75 589.1068 447.75 592.785 L 447.75 597.465 C 447.75 601.1432 444.76822 604.125 441.09 604.125 L 436.41 604.125 C 432.73178 604.125 429.75 601.1432 429.75 597.465 L 429.75 592.785 C 429.75 589.1068 432.73178 586.125 436.41 586.125 Z" stroke="#252525" stroke-li
 necap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(433.75 589.625)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.2512207" y="9" textLength="5.4975586">Z</tspan></text></g><g id="id50_Graphic"><path d="M 256.41 582.75 L 261.09 582.75 C 264.76822 582.75 267.75 585.7318 267.75 589.41 L 267.75 594.09 C 267.75 597.7682 264.76822 600.75 261.09 600.75 L 256.41 600.75 C 252.73178 600.75 249.75 597.7682 249.75 594.09 L 249.75 589.41 C 249.75 585.7318 252.73178 582.75 256.41 582.75 Z" fill="url(#Obj_Gradient_11)"/><path d="M 256.41 582.75 L 261.09 582.75 C 264.76822 582.75 267.75 585.7318 267.75 589.41 L 267.75 594.09 C 267.75 597.7682 264.76822 600.75 261.09 600.75 L 256.41 600.75 C 252.73178 600.75 249.75 597.7682 249.75 594.09 L 249.75 589.41 C 249.75 585.7318 252.73178 582.75 256.41 582.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="tra
 nslate(253.75 586.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><text transform="translate(341.5 483.5)" fill="black"><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x=".15576172" y="6" textLength="29.355469">Aggregate </tspan><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="4.494629" y="13" textLength="19.010742">MBean</tspan></text><g id="id52_Graphic"><path d="M 319.41 484.3125 L 324.09 484.3125 C 327.76822 484.3125 330.75 487.29428 330.75 490.9725 L 330.75 495.6525 C 330.75 499.33072 327.76822 502.3125 324.09 502.3125 L 319.41 502.3125 C 315.73178 502.3125 312.75 499.33072 312.75 495.6525 L 312.75 490.9725 C 312.75 487.29428 315.73178 484.3125 319.41 484.3125 Z" fill="none"/><path d="M 319.41 484.3125 L 324.09 484.3125 C 327.76822 484.3125 330.75 487.29428 330.75 490.9725 L 330.75 495.6525 C 330.75 499.33072 327.
 76822 502.3125 324.09 502.3125 L 319.41 502.3125 C 315.73178 502.3125 312.75 499.33072 312.75 495.6525 L 312.75 490.9725 C 312.75 487.29428 315.73178 484.3125 319.41 484.3125 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><text transform="translate(307.1875 503.75)" fill="black"><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="2.9975586" y="6" textLength="22.004883">Member</tspan><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="4.494629" y="13" textLength="19.010742">MBean</tspan></text><path d="M 288 479.25 L 288 485.8059 L 288 493.3125 L 306.19409 493.3125 L 307.43407 493.3125" marker-end="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".23998"/><g id="id55_Graphic"><path d="M 139.41 359.61328 L 207.09 359.61328 C 210.76822 359.61328 213.75 362.59506 213.75 366.27328 L 213.75 382.59 C 213.75 386.26822 210.76822 389.25
  207.09 389.25 L 139.41 389.25 C 135.73178 389.25 132.75 386.26822 132.75 382.59 L 132.75 366.27328 C 132.75 362.59506 135.73178 359.61328 139.41 359.61328 Z" fill="url(#Obj_Gradient_12)"/><path d="M 139.41 359.61328 L 207.09 359.61328 C 210.76822 359.61328 213.75 362.59506 213.75 366.27328 L 213.75 382.59 C 213.75 386.26822 210.76822 389.25 207.09 389.25 L 139.41 389.25 C 135.73178 389.25 132.75 386.26822 132.75 382.59 L 132.75 366.27328 C 132.75 362.59506 135.73178 359.61328 139.41 359.61328 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(136.75 368.93164)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="25.243408" y="9" textLength="22.513184">Pulse</tspan></text></g><path d="M 337.5 389.63672 L 337.5 396.19263 L 337.5 402.75 L 288 402.75 L 288 423.1941 L 288 424.43407" marker-end="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="rou
 nd" stroke-width=".23998"/><path d="M 427.5 389.25 L 427.5 395.80591 L 427.5 402.75 L 288 402.75 L 288 423.1941 L 288 424.43407" marker-end="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".23998"/><g id="id61_Graphic"><path d="M 204.66 624.18164 L 272.34 624.18164 C 276.01822 624.18164 279 627.16342 279 630.84164 L 279 647.15836 C 279 650.83658 276.01822 653.81836 272.34 653.81836 L 204.66 653.81836 C 200.98178 653.81836 198 650.83658 198 647.15836 L 198 630.84164 C 198 627.16342 200.98178 624.18164 204.66 624.18164 Z" fill="url(#Obj_Gradient_13)"/><path d="M 204.66 624.18164 L 272.34 624.18164 C 276.01822 624.18164 279 627.16342 279 630.84164 L 279 647.15836 C 279 650.83658 276.01822 653.81836 272.34 653.81836 L 204.66 653.81836 C 200.98178 653.81836 198 650.83658 198 647.15836 L 198 630.84164 C 198 627.16342 200.98178 624.18164 204.66 624.18164 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width="
 .72000003"/><text transform="translate(202 624)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="4.046875" y="8" textLength="67.128906">Other JMX Clients </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="17.380859" y="18" textLength="40.460938">(JConsole, </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="18.720703" y="28" textLength="35.558594">jvisualvm)</tspan></text></g><line x1="220.5" y1="616.23364" x2="220.5" y2="615.448" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_5)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(222.25 608.9375)" fill="black"><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="10.157715" y="6" textLength="36.351562">Local view of </tspan><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x=
 "1.1459961" y="13" textLength="52.708008">managed node only</tspan></text><rect x="299.25" y="616.5" width="65.8125" height="13.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(303.25 618.25)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="2.0078125" y="8" textLength="53.796875">RMI Connector</tspan></text><path d="M 278.99415 647.43726 L 332.15624 647.43726 L 332.15625 636.5559 L 332.15625 635.31593" marker-end="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".23998"/><text transform="translate(280.75 641)" fill="black"><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="5.2944336" y="6" textLength="4.0019531">V</tspan><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="9.190918" y="6" textLength="37.68164">iew of remote </tspan><tspan font-family="Helvetica" 
 font-size="6" font-weight="500" fill="black" x="5.2329102" y="13" textLength="40.03418">managed node</tspan></text><path d="M 308.25 616.5 L 308.25 556.875 L 322.50659 556.875 L 323.74657 556.875" marker-end="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".23998"/><line x1="203.0625" y1="546.75" x2="202.68059" y2="529.94595" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 294.75 474.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/MBeans.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/MBeans.svg b/geode-docs/images_svg/MBeans.svg
new file mode 100644
index 0000000..cdfcf6e
--- /dev/null
+++ b/geode-docs/images_svg/MBeans.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="54 72 504 450" width="42pc" height="450pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-06 23:57Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(535.5 224.15625) scale(141.20907)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" u
 nderline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(209.25 400.5) scale(74.70881)"/><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(214.875 288) scale(83.2538)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(522 153) scale(83.217233)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(426.375 189) scale(120.464336)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(243 162) scale(125.018156)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient" gradientTransform="translate(346.5 482.34375) scale(90.349237)"/><radialGradient id="Obj_Gradient_8" xl:href="#G
 radient" gradientTransform="translate(504 272.25) scale(93.370823)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient" gradientTransform="translate(486 306) scale(97.109174)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-24 -10 25 20" markerWidth="25" markerHeight="20" color="black"><g><path d="M -22.83507 0 L 0 8.563151 L 0 -8.563151 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-family="Helvetica" font-size="8" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M 8.9444437 0 L 0 -3.3
 541664 L 0 3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_3" viewBox="-1 -10 25 20" markerWidth="25" markerHeight="20" color="black"><g><path d="M 22.83507 0 L 0 -8.563151 L 0 8.563151 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_a" xl:href="#Gradient" gradientTransform="translate(497.25 339.1875) scale(120.144786)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient" gradientTransform="translate(393.75 447.75) scale(101.9507)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>mbean</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use
  xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id13_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id37_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 74.16 85.5 L 533.34 85.5 C 537.01822 85.5 540 88.481783 540 92.16 L 540 497.34 C 540 501.01822 537.01822 504 533.34 504 L 74.16 504 C 70.481783 504 67.5 501.01822 67.5 497.34 L 67.5 92.16 C 67.5 88.481783 70.481783 85.5 74.16 85.5 Z" fill="none"/><path d="M 74.16 85.5 L 533.34 85.5 C 537.01822 85.5 540 88.481783 540 92.16 L 540 497.34 C 540 501.01822 537.01822 504 533.34 504 L 74.16 504 C 70.481783 504 67.5 501.01822 67.5 497.34 L 67.5 92.16 C 67.5 88.481783 70.481783 85.5 74.16 85.5 Z" stroke="#252525" stroke-linecap="round" 
 stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id4_Graphic"><path d="M 96.66 240.75 L 522.09 240.75 C 525.76822 240.75 528.75 243.73178 528.75 247.41 L 528.75 488.34 C 528.75 492.01822 525.76822 495 522.09 495 L 96.66 495 C 92.981783 495 90 492.01822 90 488.34 L 90 247.41 C 90 243.73178 92.981783 240.75 96.66 240.75 Z" fill="none"/><path d="M 96.66 240.75 L 522.09 240.75 C 525.76822 240.75 528.75 243.73178 528.75 247.41 L 528.75 488.34 C 528.75 492.01822 525.76822 495 522.09 495 L 96.66 495 C 92.981783 495 90 492.01822 90 488.34 L 90 247.41 C 90 243.73178 92.981783 240.75 96.66 240.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id5_Graphic"><path d="M 356.535 192.65625 L 528.84 192.65625 C 532.51822 192.65625 535.5 195.63803 535.5 199.31625 L 535.5 217.49625 C 535.5 221.17447 532.51822 224.15625 528.84 224.15625 L 356.535 224.15625 C 352.85678 224.15625 349.875 221.17447 349.875 217.49625 L 349.875 199.31625 C
  349.875 195.63803 352.85678 192.65625 356.535 192.65625 Z" fill="url(#Obj_Gradient)"/><path d="M 356.535 192.65625 L 528.84 192.65625 C 532.51822 192.65625 535.5 195.63803 535.5 199.31625 L 535.5 217.49625 C 535.5 221.17447 532.51822 224.15625 528.84 224.15625 L 356.535 224.15625 C 352.85678 224.15625 349.875 221.17447 349.875 217.49625 L 349.875 199.31625 C 349.875 195.63803 352.85678 192.65625 356.535 192.65625 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(353.875 196.65625)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="4.4404297" y="11" textLength="168.74414">DistributedLockServiceMXBean</tspan></text></g><g id="id6_Graphic"><path d="M 121.41 369 L 202.59 369 C 206.26822 369 209.25 371.98178 209.25 375.66 L 209.25 393.84 C 209.25 397.51822 206.26822 400.5 202.59 400.5 L 121.41 400.5 C 117.73178 400.5 114.75 397.51822 114.75 393.84 L 114.75 375.66 C 114.75 371
 .98178 117.73178 369 121.41 369 Z" fill="url(#Obj_Gradient_2)"/><path d="M 121.41 369 L 202.59 369 C 206.26822 369 209.25 371.98178 209.25 375.66 L 209.25 393.84 C 209.25 397.51822 206.26822 400.5 202.59 400.5 L 121.41 400.5 C 117.73178 400.5 114.75 397.51822 114.75 393.84 L 114.75 375.66 C 114.75 371.98178 117.73178 369 121.41 369 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(118.75 373)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x=".22460938" y="11" textLength="86.05078">LocatorMXBean</tspan></text></g><g id="id7_Graphic"><path d="M 115.785 254.25 L 208.215 254.25 C 211.89322 254.25 214.875 257.23178 214.875 260.91 L 214.875 281.34 C 214.875 285.01822 211.89322 288 208.215 288 L 115.785 288 C 112.106783 288 109.125 285.01822 109.125 281.34 L 109.125 260.91 C 109.125 257.23178 112.106783 254.25 115.785 254.25 Z" fill="url(#Obj_Gradient_3)"/><path d="M 115.785 25
 4.25 L 208.215 254.25 C 211.89322 254.25 214.875 257.23178 214.875 260.91 L 214.875 281.34 C 214.875 285.01822 211.89322 288 208.215 288 L 115.785 288 C 112.106783 288 109.125 285.01822 109.125 281.34 L 109.125 260.91 C 109.125 257.23178 112.106783 254.25 115.785 254.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(113.125 258.25)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="3.8574219" y="11" textLength="90.035156">MemberMXBean</tspan></text></g><g id="id8_Graphic"><path d="M 422.91 119.41071 L 515.34 119.41071 C 519.01822 119.41071 522 122.39249 522 126.07071 L 522 146.34 C 522 150.01822 519.01822 153 515.34 153 L 422.91 153 C 419.23178 153 416.25 150.01822 416.25 146.34 L 416.25 126.07071 C 416.25 122.39249 419.23178 119.41071 422.91 119.41071 Z" fill="url(#Obj_Gradient_4)"/><path d="M 422.91 119.41071 L 515.34 119.41071 C 519.01822 119.41071 522 122.39249 522
  126.07071 L 522 146.34 C 522 150.01822 519.01822 153 515.34 153 L 422.91 153 C 419.23178 153 416.25 150.01822 416.25 146.34 L 416.25 126.07071 C 416.25 122.39249 419.23178 119.41071 422.91 119.41071 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(420.25 123.41071)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="2.1816406" y="11" textLength="93.38672">ManagerMXBean</tspan></text></g><g id="id9_Graphic"><path d="M 275.535 157.5 L 419.715 157.5 C 423.39322 157.5 426.375 160.48178 426.375 164.16 L 426.375 182.34 C 426.375 186.01822 423.39322 189 419.715 189 L 275.535 189 C 271.85678 189 268.875 186.01822 268.875 182.34 L 268.875 164.16 C 268.875 160.48178 271.85678 157.5 275.535 157.5 Z" fill="url(#Obj_Gradient_5)"/><path d="M 275.535 157.5 L 419.715 157.5 C 423.39322 157.5 426.375 160.48178 426.375 164.16 L 426.375 182.34 C 426.375 186.01822 423.39322 189 419.715 189 L
  275.535 189 C 271.85678 189 268.875 186.01822 268.875 182.34 L 268.875 164.16 C 268.875 160.48178 271.85678 157.5 275.535 157.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(272.875 161.5)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="4.0449219" y="11" textLength="141.41016">DistributedRegionMXBean</tspan></text></g><g id="id10_Graphic"><path d="M 85.9725 130.5 L 236.34 130.5 C 240.01822 130.5 243 133.48178 243 137.16 L 243 155.34 C 243 159.01822 240.01822 162 236.34 162 L 85.9725 162 C 82.294283 162 79.3125 159.01822 79.3125 155.34 L 79.3125 137.16 C 79.3125 133.48178 82.294283 130.5 85.9725 130.5 Z" fill="url(#Obj_Gradient_6)"/><path d="M 85.9725 130.5 L 236.34 130.5 C 240.01822 130.5 243 133.48178 243 137.16 L 243 155.34 C 243 159.01822 240.01822 162 236.34 162 L 85.9725 162 C 82.294283 162 79.3125 159.01822 79.3125 155.34 L 79.3125 137.16 C 79.3125 133.48178
  82.294283 130.5 85.9725 130.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(83.3125 134.5)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="6.1484375" y="11" textLength="143.390625">DistributedSystemMXBean</tspan></text></g><text transform="translate(94 101)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="21.391602" y="11" textLength="106.7168">JMX Manager Node</tspan></text><g id="id12_Graphic"><path d="M 236.16 453.65625 L 339.84 453.65625 C 343.51822 453.65625 346.5 456.63803 346.5 460.31625 L 346.5 475.68375 C 346.5 479.36197 343.51822 482.34375 339.84 482.34375 L 236.16 482.34375 C 232.48178 482.34375 229.5 479.36197 229.5 475.68375 L 229.5 460.31625 C 229.5 456.63803 232.48178 453.65625 236.16 453.65625 Z" fill="url(#Obj_Gradient_7)"/><path d="M 236.16 453.65625 L 339.84 453.65625 C 343.51822 453.65625 346.5 456.6
 3803 346.5 460.31625 L 346.5 475.68375 C 346.5 479.36197 343.51822 482.34375 339.84 482.34375 L 236.16 482.34375 C 232.48178 482.34375 229.5 479.36197 229.5 475.68375 L 229.5 460.31625 C 229.5 456.63803 232.48178 453.65625 236.16 453.65625 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(233.5 457.65625)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="12.473633" y="11" textLength="84.052734">RegionMXBean</tspan></text></g><g id="id13_Graphic"><path d="M 389.16 245.10938 L 497.34 245.10938 C 501.01822 245.10938 504 248.09116 504 251.76938 L 504 265.59 C 504 269.26822 501.01822 272.25 497.34 272.25 L 389.16 272.25 C 385.48178 272.25 382.5 269.26822 382.5 265.59 L 382.5 251.76938 C 382.5 248.09116 385.48178 245.10938 389.16 245.10938 Z" fill="url(#Obj_Gradient_8)"/><path d="M 389.16 245.10938 L 497.34 245.10938 C 501.01822 245.10938 504 248.09116 504 251.76938 L 504 265.
 59 C 504 269.26822 501.01822 272.25 497.34 272.25 L 389.16 272.25 C 385.48178 272.25 382.5 269.26822 382.5 265.59 L 382.5 251.76938 C 382.5 248.09116 385.48178 245.10938 389.16 245.10938 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(386.5 249.10938)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="1.0566406" y="11" textLength="111.38672">LockServiceMXBean</tspan></text></g><text transform="translate(97.375 474.5)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="21.344727" y="11" textLength="82.060547">Managed Node</tspan></text><g id="id15_Graphic"><path d="M 366.66 276.1875 L 479.34 276.1875 C 483.01822 276.1875 486 279.16928 486 282.8475 L 486 299.34 C 486 303.01822 483.01822 306 479.34 306 L 366.66 306 C 362.98178 306 360 303.01822 360 299.34 L 360 282.8475 C 360 279.16928 362.98178 276.1875 366.66 276.1875 Z" fill="ur
 l(#Obj_Gradient_9)"/><path d="M 366.66 276.1875 L 479.34 276.1875 C 483.01822 276.1875 486 279.16928 486 282.8475 L 486 299.34 C 486 303.01822 483.01822 306 479.34 306 L 366.66 306 C 362.98178 306 360 303.01822 360 299.34 L 360 282.8475 C 360 279.16928 362.98178 276.1875 366.66 276.1875 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(364 280.1875)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="9.980469" y="11" textLength="98.03906">DiskStoreMXBean</tspan></text></g><path d="M 432.69093 173.25 L 433.9309 173.25 L 535.5 173.25 L 535.5 468 L 354.05591 468 L 346.5 468" marker-start="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".23998"/><path d="M 161.15625 168.31593 L 161.15625 169.55591 L 161.578125 208.125 L 162 246.69409 L 162 254.25" marker-start="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round"
  stroke-linejoin="round" stroke-width=".23998"/><text transform="translate(159.25 273.6625)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x=".52539062" y="8" textLength="4.4492188">1</tspan></text><text transform="translate(158.6875 151.6)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x=".52539062" y="8" textLength="4.4492188">1</tspan></text><text transform="translate(436 211)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="1.0390625" y="8" textLength="14.671875">0..N</tspan></text><text transform="translate(153.625 388.75)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="1.703125" y="8" textLength="13.34375">0..1</tspan></text><text transform="translate(343.75 179.5)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="1.0390625" y="8" textLength="14.671875">0..N</tsp
 an></text><text transform="translate(472 142.15)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x=".52539062" y="8" textLength="4.4492188">1</tspan></text><line x1="443.25" y1="245.10938" x2="442.9008" y2="232.10139" marker-end="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(436 263.3125)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="1.0390625" y="8" textLength="14.671875">0..N</tspan></text><text transform="translate(279.625 472)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="1.0390625" y="8" textLength="14.671875">0..N</tspan></text><path d="M 261 433.125 L 254.76002 433.125 L 222.75 433.125 L 222.75 360 L 162 360 L 162 294.23998 L 162 288" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".23998"/><text transform="translate(
 419.6875 294.25)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="1.0390625" y="8" textLength="14.671875">0..N</tspan></text><line x1="162" y1="288" x2="162" y2="369" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 382.5 258.67969 L 374.94409 258.67969 L 279 258.67968 L 279 303.18749 L 162 303.18749 L 162 295.55591 L 162 294.31593" marker-end="url(#FilledArrow_Marker_3)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".23998"/><path d="M 360 291.09375 L 353.76002 291.09375 L 293.625 291.09376 L 293.625 315 L 162 315 L 162 294.23998 L 162 288" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".23998"/><path d="M 249.31593 146.25 L 250.55591 146.25 L 346.5 146.25 L 347.625 146.25 L 347.625 149.94409 L 347.625 157.5" marker-start="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".23998
 "/><path d="M 161.15625 168.31593 L 161.15625 169.55591 L 161.15625 207.35156 L 162 207.35156 L 181 207.35156 L 181 208.40625 L 342.31909 208.40625 L 349.875 208.40625" marker-start="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".23998"/><path d="M 161.15625 124.18407 L 161.15625 122.94409 L 161.15625 117 L 162 117 L 535.5 117 L 535.5 291.09375 L 493.5559 291.09375 L 486 291.09375" marker-start="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".23998"/><g id="id37_Graphic"><path d="M 346.41 309.9375 L 490.59 309.9375 C 494.26822 309.9375 497.25 312.91928 497.25 316.5975 L 497.25 332.5275 C 497.25 336.20572 494.26822 339.1875 490.59 339.1875 L 346.41 339.1875 C 342.73178 339.1875 339.75 336.20572 339.75 332.5275 L 339.75 316.5975 C 339.75 312.91928 342.73178 309.9375 346.41 309.9375 Z" fill="url(#Obj_Gradient_a)"/><path d="M 346.41 309.9375 L 490.59 309.9375 C 494.26822 309.93
 75 497.25 312.91928 497.25 316.5975 L 497.25 332.5275 C 497.25 336.20572 494.26822 339.1875 490.59 339.1875 L 346.41 339.1875 C 342.73178 339.1875 339.75 336.20572 339.75 332.5275 L 339.75 316.5975 C 339.75 312.91928 342.73178 309.9375 346.41 309.9375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(343.75 313.9375)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="2.0410156" y="11" textLength="145.41797">AsyncEventQueueMXBean</tspan></text></g><path d="M 267.66 418.5 L 387.09 418.5 C 390.76822 418.5 393.75 421.48178 393.75 425.16 L 393.75 441.09 C 393.75 444.76822 390.76822 447.75 387.09 447.75 L 267.66 447.75 C 263.98178 447.75 261 444.76822 261 441.09 L 261 425.16 C 261 421.48178 263.98178 418.5 267.66 418.5 Z" fill="url(#Obj_Gradient_b)"/><path d="M 267.66 418.5 L 387.09 418.5 C 390.76822 418.5 393.75 421.48178 393.75 425.16 L 393.75 441.09 C 393.75 444.76822 390.76
 822 447.75 387.09 447.75 L 267.66 447.75 C 263.98178 447.75 261 444.76822 261 441.09 L 261 425.16 C 261 421.48178 263.98178 418.5 267.66 418.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(265 422.5)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="4.3466797" y="11" textLength="116.05664">CacheServerMXBean</tspan></text><text transform="translate(315.625 436)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="6.1503906" y="8" textLength="4.4492188">1</tspan></text><text transform="translate(402.25 327.4375)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="1.0390625" y="8" textLength="14.671875">0..N</tspan></text><path d="M 240.31593 135 L 427.5 135 L 427.5 136.20536" marker-start="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=
 ".23998"/><line x1="339.75" y1="324.5625" x2="160.875" y2="324.5625" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".23998"/></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/async_system_queue_conflation.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/async_system_queue_conflation.svg b/geode-docs/images_svg/async_system_queue_conflation.svg
new file mode 100644
index 0000000..fcc8635
--- /dev/null
+++ b/geode-docs/images_svg/async_system_queue_conflation.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="61 349 454 346" width="454pt" height="346pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 08:59Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledAr
 row_Marker" viewBox="-1 -10 25 20" markerWidth="25" markerHeight="20" color="black"><g><path d="M 22.83507 0 L 0 -8.563151 L 0 8.563151 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M 8.9444437 0 L 0 -3.3541664 L 0 3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(306 432) scale(67.5)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap
 -height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(414 432) scale(67.5)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(162 540) scale(67.5)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(306 540) scale(67.5)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(414 540) scale(67.5)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(19
 8 648) scale(67.5)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient" gradientTransform="translate(306 648) scale(67.5)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>conflation</title><g><title>Layer 1</title><g><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id20_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id21_Graphic" filter="url(#Shadow)"/></g><rect x="72" y="360" width="432" height="108" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(76 447.5)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="196.74609" y="14" textLength="196.89551">Initial producer queue w
 ith confl</tspan><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="393.6416" y="14" textLength="30.358398">ation</tspan></text><line x1="414" y1="405" x2="443.68407" y2="405" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".23998"/><line x1="306" y1="405" x2="334.052" y2="405" marker-end="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id6_Graphic"><path d="M 240.66 378 L 299.34 378 C 303.01822 378 306 380.98178 306 384.66 L 306 425.34 C 306 429.01822 303.01822 432 299.34 432 L 240.66 432 C 236.98178 432 234 429.01822 234 425.34 L 234 384.66 C 234 380.98178 236.98178 378 240.66 378 Z" fill="url(#Obj_Gradient)"/><path d="M 240.66 378 L 299.34 378 C 303.01822 378 306 380.98178 306 384.66 L 306 425.34 C 306 429.01822 303.01822 432 299.34 432 L 240.66 432 C 236.98178 432 234 429.01822 234 425.34 L 234 384.66 C 234 38
 0.98178 236.98178 378 240.66 378 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(238 391)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x=".31835938" y="11" textLength="63.36328">entry create</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="15.9921875" y="25" textLength="32.015625">Key B</tspan></text></g><g id="id7_Graphic"><path d="M 348.66 378 L 407.34 378 C 411.01822 378 414 380.98178 414 384.66 L 414 425.34 C 414 429.01822 411.01822 432 407.34 432 L 348.66 432 C 344.98178 432 342 429.01822 342 425.34 L 342 384.66 C 342 380.98178 344.98178 378 348.66 378 Z" fill="url(#Obj_Gradient_2)"/><path d="M 348.66 378 L 407.34 378 C 411.01822 378 414 380.98178 414 384.66 L 414 425.34 C 414 429.01822 411.01822 432 407.34 432 L 348.66 432 C 344.98178 432 342 429.01822 342 425.34 L 342 384.66 C 342 380.98178 344.98178 378 348.66 378 Z" stro
 ke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(346 377)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="18.661133" y="11" textLength="30.011719">entry </tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="13.6484375" y="25" textLength="36.703125">update</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="16.3203125" y="39" textLength="24.011719">Key </tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="39.675781" y="39" textLength="8.0039062">A</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="3.4238281" y="53" textLength="8.0039062">V</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="10.542969" y="53" textLength="50.033203">alue QV1</tspan></text></g><text transform="translate(454 392)" fill="black
 "><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="18.830078" y="10" textLength="11.118164">to </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="1.046875" y="22" textLength="43.90625">consumer</tspan></text><g id="id9_Graphic"><path d="M 96.66 486 L 155.34 486 C 159.01822 486 162 488.98178 162 492.66 L 162 533.34 C 162 537.01822 159.01822 540 155.34 540 L 96.66 540 C 92.981783 540 90 537.01822 90 533.34 L 90 492.66 C 90 488.98178 92.981783 486 96.66 486 Z" fill="url(#Obj_Gradient_3)"/><path d="M 96.66 486 L 155.34 486 C 159.01822 486 162 488.98178 162 492.66 L 162 533.34 C 162 537.01822 159.01822 540 155.34 540 L 96.66 540 C 92.981783 540 90 537.01822 90 533.34 L 90 492.66 C 90 488.98178 92.981783 486 96.66 486 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(94 485)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" f
 ill="black" x="18.661133" y="11" textLength="30.011719">entry </tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="13.6484375" y="25" textLength="36.703125">update</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="16.3203125" y="39" textLength="24.011719">Key </tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="39.675781" y="39" textLength="8.0039062">A</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="8.0908203" y="53" textLength="8.0039062">V</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="15.209961" y="53" textLength="40.699219">alue V2</tspan></text></g><rect x="72" y="468" width="432" height="108" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(76 555.5)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500
 " fill="black" x="247.31152" y="14" textLength="176.68848">Add entry update to queue...</tspan></text><line x1="414" y1="513" x2="442.052" y2="513" marker-end="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="306" y1="513" x2="334.052" y2="513" marker-end="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="162" y1="513" x2="190.052" y2="513" marker-end="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id14_Graphic"><path d="M 240.66 486 L 299.34 486 C 303.01822 486 306 488.98178 306 492.66 L 306 533.34 C 306 537.01822 303.01822 540 299.34 540 L 240.66 540 C 236.98178 540 234 537.01822 234 533.34 L 234 492.66 C 234 488.98178 236.98178 486 240.66 486 Z" fill="url(#Obj_Gradient_4)"/><path d="M 240.66 486 L 299.34 486 C 303.01822 486 306 488.98178 306 492.66 
 L 306 533.34 C 306 537.01822 303.01822 540 299.34 540 L 240.66 540 C 236.98178 540 234 537.01822 234 533.34 L 234 492.66 C 234 488.98178 236.98178 486 240.66 486 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(238 499)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x=".31835938" y="11" textLength="63.36328">entry create</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="15.9921875" y="25" textLength="32.015625">Key B</tspan></text></g><g id="id15_Graphic"><path d="M 348.66 486 L 407.34 486 C 411.01822 486 414 488.98178 414 492.66 L 414 533.34 C 414 537.01822 411.01822 540 407.34 540 L 348.66 540 C 344.98178 540 342 537.01822 342 533.34 L 342 492.66 C 342 488.98178 344.98178 486 348.66 486 Z" fill="url(#Obj_Gradient_5)"/><path d="M 348.66 486 L 407.34 486 C 411.01822 486 414 488.98178 414 492.66 L 414 533.34 C 414 537.01822 411.01822 
 540 407.34 540 L 348.66 540 C 344.98178 540 342 537.01822 342 533.34 L 342 492.66 C 342 488.98178 344.98178 486 348.66 486 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(346 485)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="18.661133" y="11" textLength="30.011719">entry </tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="13.6484375" y="25" textLength="36.703125">update</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="16.3203125" y="39" textLength="24.011719">Key </tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="39.675781" y="39" textLength="8.0039062">A</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="8.0908203" y="53" textLength="8.0039062">V</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fi
 ll="black" x="15.209961" y="53" textLength="40.699219">alue V1</tspan></text></g><text transform="translate(454 500)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="18.830078" y="10" textLength="11.118164">to </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="1.046875" y="22" textLength="43.90625">consumer</tspan></text><rect x="72" y="576" width="432" height="108" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(76 663.5)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="286.24219" y="14" textLength="107.399414">Queue after confl</tspan><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="393.6416" y="14" textLength="30.358398">ation</tspan></text><line x1="306" y1="621" x2="442.052" y2="621" marker-end="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap
 ="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="198" y1="621" x2="226.052" y2="621" marker-end="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id20_Graphic"><path d="M 132.66 594 L 191.34 594 C 195.01822 594 198 596.9818 198 600.66 L 198 641.34 C 198 645.0182 195.01822 648 191.34 648 L 132.66 648 C 128.98178 648 126 645.0182 126 641.34 L 126 600.66 C 126 596.9818 128.98178 594 132.66 594 Z" fill="url(#Obj_Gradient_6)"/><path d="M 132.66 594 L 191.34 594 C 195.01822 594 198 596.9818 198 600.66 L 198 641.34 C 198 645.0182 195.01822 648 191.34 648 L 132.66 648 C 128.98178 648 126 645.0182 126 641.34 L 126 600.66 C 126 596.9818 128.98178 594 132.66 594 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(130 593)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="18.661133" y="11" 
 textLength="30.011719">entry </tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="13.6484375" y="25" textLength="36.703125">update</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="16.3203125" y="39" textLength="24.011719">Key </tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="39.675781" y="39" textLength="8.0039062">A</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="8.0908203" y="53" textLength="8.0039062">V</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="15.209961" y="53" textLength="40.699219">alue V2</tspan></text></g><g id="id21_Graphic"><path d="M 240.66 594 L 299.34 594 C 303.01822 594 306 596.9818 306 600.66 L 306 641.34 C 306 645.0182 303.01822 648 299.34 648 L 240.66 648 C 236.98178 648 234 645.0182 234 641.34 L 234 600.66 C 234 596.9818 236.98178 594 240.66 594 Z" fill="url(#Obj_Gradient_7
 )"/><path d="M 240.66 594 L 299.34 594 C 303.01822 594 306 596.9818 306 600.66 L 306 641.34 C 306 645.0182 303.01822 648 299.34 648 L 240.66 648 C 236.98178 648 234 645.0182 234 641.34 L 234 600.66 C 234 596.9818 236.98178 594 240.66 594 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(238 607)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x=".31835938" y="11" textLength="63.36328">entry create</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="15.9921875" y="25" textLength="32.015625">Key B</tspan></text></g><text transform="translate(454 608)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="18.830078" y="10" textLength="11.118164">to </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="1.046875" y="22" textLength="43.90625">consumer</tspan></text></g></
 g></svg>


[11/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/transactions_replicate_local_1.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/transactions_replicate_local_1.svg b/geode-docs/images_svg/transactions_replicate_local_1.svg
new file mode 100644
index 0000000..47bb4e7
--- /dev/null
+++ b/geode-docs/images_svg/transactions_replicate_local_1.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="41 158 319 301" width="319pt" height="301pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 11:04Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".3" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(342 441) scale(296.07811)"/><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underline-posi
 tion="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(328.5 378) scale(231.20598)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(261 281.25) scale(97.773115)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.0195
 3" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(182.51038 274.5) scale(21.756296)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M 11.7222214 0 L 0 -4.395833 L 0 4.395833
  Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_5" xl:href="#Gradient_2" gradientTransform="translate(209.25 274.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(238.5 274.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient" gradientTransform="translate(184.5 356.625) scale(79.24066)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(133.01038 349.875) scale(21.756296)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient_2" gradientTransform="translate(162.52076 349.875) scale(20.61374)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient" gradientTransform="translate(310.5 356.625) scale(79.24066)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient_2" gradientTransform="translate(263.77076 349.875) scale(20.61374)"/><radialGradient id="Obj_Gradient_c" xl:href="#Gradient_2" gradientTransf
 orm="translate(290.77076 351) scale(20.61374)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>replicate-local</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id13_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id16_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id17_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 60.66 171 L 335.34 171 C 339.01822 171 342 173.98178 342 177.66 L 342 434.34 C 342 438.01822 339.01822 4
 41 335.34 441 L 60.66 441 C 56.981783 441 54 438.01822 54 434.34 L 54 177.66 C 54 173.98178 56.981783 171 60.66 171 Z" fill="url(#Obj_Gradient)"/><path d="M 60.66 171 L 335.34 171 C 339.01822 171 342 173.98178 342 177.66 L 342 434.34 C 342 438.01822 339.01822 441 335.34 441 L 60.66 441 C 56.981783 441 54 438.01822 54 434.34 L 54 177.66 C 54 173.98178 56.981783 171 60.66 171 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(58 175)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="228.65527" y="14" textLength="51.344727">Member</tspan></text></g><g id="id4_Graphic"><path d="M 78.66 207 L 321.84 207 C 325.51822 207 328.5 209.98178 328.5 213.66 L 328.5 371.34 C 328.5 375.01822 325.51822 378 321.84 378 L 78.66 378 C 74.981783 378 72 375.01822 72 371.34 L 72 213.66 C 72 209.98178 74.981783 207 78.66 207 Z" fill="url(#Obj_Gradient_2)"/><path d="M 78.66 207 L 321.84 207 C 325.5
 1822 207 328.5 209.98178 328.5 213.66 L 328.5 371.34 C 328.5 375.01822 325.51822 378 321.84 378 L 78.66 378 C 74.981783 378 72 375.01822 72 371.34 L 72 213.66 C 72 209.98178 74.981783 207 78.66 207 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(76 211)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="106.90625" y="11" textLength="34.6875">Cache</tspan></text></g><g id="id5_Graphic"><path d="M 146.16 234 L 254.34 234 C 258.01822 234 261 236.98178 261 240.66 L 261 274.59 C 261 278.26822 258.01822 281.25 254.34 281.25 L 146.16 281.25 C 142.48178 281.25 139.5 278.26822 139.5 274.59 L 139.5 240.66 C 139.5 236.98178 142.48178 234 146.16 234 Z" fill="url(#Obj_Gradient_3)"/><path d="M 146.16 234 L 254.34 234 C 258.01822 234 261 236.98178 261 240.66 L 261 274.59 C 261 278.26822 258.01822 281.25 254.34 281.25 L 146.16 281.25 C 142.48178 281.25 139.5 278.26822 139.5 274.59 L 13
 9.5 240.66 C 139.5 236.98178 142.48178 234 146.16 234 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(141.5 236)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="17.220703" y="10" textLength="78.935547">Replicate Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="95.609375" y="10" textLength="6.669922">A</tspan></text></g><rect x="153" y="405" width="90" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(155 408)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.8623047" y="10" textLength="23.901367">Java </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="31.216797" y="10" textLength="48.920898">Application</tspan></text><g id="id7_Graphic"><path d="M 169.31552 258.9
 185 L 163.79657 258.26076 L 165.64982 263.42455 L 161.73962 267.27286 L 166.93231 269.0435 L 167.50307 274.5 L 172.125 271.54417 L 176.74693 274.5 L 177.31769 269.0435 L 182.51038 267.27286 L 178.60018 263.42455 L 180.45343 258.26152 L 175.00673 258.9185 L 172.125 254.25 Z" fill="url(#Obj_Gradient_4)"/><path d="M 169.31552 258.9185 L 163.79657 258.26076 L 165.64982 263.42455 L 161.73962 267.27286 L 166.93231 269.0435 L 167.50307 274.5 L 172.125 271.54417 L 176.74693 274.5 L 177.31769 269.0435 L 182.51038 267.27286 L 178.60018 263.42455 L 180.45343 258.26152 L 175.00673 258.9185 L 172.125 254.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(161.73962 258.875)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="7.383915" y="9" textLength="6.0029297">X</tspan></text></g><path d="M 180 405 C 180 391.5 179.80273 389.25002 179.625 387.00002 C 179.45862 384.89383 179.30937 382
 .78762 137.88774 364.07144" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(154.75 392.25)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="8.165039" y="10" textLength="11.669922">T1</tspan></text><g id="id10_Graphic"><path d="M 200.25 256.5 L 200.25 256.5 C 205.22056 256.5 209.25 260.52944 209.25 265.5 L 209.25 265.5 C 209.25 270.47056 205.22056 274.5 200.25 274.5 L 200.25 274.5 C 195.27944 274.5 191.25 270.47056 191.25 265.5 L 191.25 265.5 C 191.25 260.52944 195.27944 256.5 200.25 256.5 Z" fill="url(#Obj_Gradient_5)"/><path d="M 200.25 256.5 L 200.25 256.5 C 205.22056 256.5 209.25 260.52944 209.25 265.5 L 209.25 265.5 C 209.25 270.47056 205.22056 274.5 200.25 274.5 L 200.25 274.5 C 195.27944 274.5 191.25 270.47056 191.25 265.5 L 191.25 265.5 C 191.25 260.52944 195.27944 256.5 200.25 256.5 Z" stroke="#252525" stroke-linecap="round" 
 stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(195.25 260)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><g id="id11_Graphic"><rect x="220.5" y="256.5" width="18" height="18" fill="url(#Obj_Gradient_6)"/><rect x="220.5" y="256.5" width="18" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(224.5 260)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.2512207" y="9" textLength="5.4975586">Z</tspan></text></g><g id="id12_Graphic"><path d="M 96.66 309.375 L 177.84 309.375 C 181.51822 309.375 184.5 312.35678 184.5 316.035 L 184.5 349.965 C 184.5 353.64322 181.51822 356.625 177.84 356.625 L 96.66 356.625 C 92.981783 356.625 90 353.64322 90 349.965 L 90 316.035 C 90 312.35678 92.981783 309.375 96.66 309.375 Z" fill="url(#Obj_Gradien
 t_7)"/><path d="M 96.66 309.375 L 177.84 309.375 C 181.51822 309.375 184.5 312.35678 184.5 316.035 L 184.5 349.965 C 184.5 353.64322 181.51822 356.625 177.84 356.625 L 96.66 356.625 C 92.981783 356.625 90 353.64322 90 349.965 L 90 316.035 C 90 312.35678 92.981783 309.375 96.66 309.375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(92 311.375)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="25.95459" y="10" textLength="34.467773">Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="59.87549" y="10" textLength="6.669922">A</tspan></text></g><g id="id13_Graphic"><path d="M 119.81552 334.2935 L 114.29657 333.63576 L 116.14982 338.79955 L 112.23962 342.64786 L 117.43231 344.4185 L 118.00307 349.875 L 122.625 346.91917 L 127.24693 349.875 L 127.81769 344.4185 L 133.01038 342.64786 L 129.10018 338.79955 L 130.95343 333.63652 L 125.
 50673 334.2935 L 122.625 329.625 Z" fill="url(#Obj_Gradient_8)"/><path d="M 119.81552 334.2935 L 114.29657 333.63576 L 116.14982 338.79955 L 112.23962 342.64786 L 117.43231 344.4185 L 118.00307 349.875 L 122.625 346.91917 L 127.24693 349.875 L 127.81769 344.4185 L 133.01038 342.64786 L 129.10018 338.79955 L 130.95343 333.63652 L 125.50673 334.2935 L 122.625 329.625 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(112.23962 334.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="4.8812296" y="9" textLength="11.008301">X1</tspan></text></g><g id="id14_Graphic"><path d="M 150.75 331.875 L 153.52076 331.875 C 158.49132 331.875 162.52076 335.90444 162.52076 340.875 L 162.52076 340.875 C 162.52076 345.84556 158.49132 349.875 153.52076 349.875 L 150.75 349.875 C 145.77944 349.875 141.75 345.84556 141.75 340.875 L 141.75 340.875 C 141.75 335.90444 145.77944 331.875 150.75 331.
 875 Z" fill="url(#Obj_Gradient_9)"/><path d="M 150.75 331.875 L 153.52076 331.875 C 158.49132 331.875 162.52076 335.90444 162.52076 340.875 L 162.52076 340.875 C 162.52076 345.84556 158.49132 349.875 153.52076 349.875 L 150.75 349.875 C 145.77944 349.875 141.75 345.84556 141.75 340.875 L 141.75 340.875 C 141.75 335.90444 145.77944 331.875 150.75 331.875 Z" stroke="#b00003" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(145.75 335.375)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x=".8812296" y="9" textLength="11.008301">Y1</tspan></text></g><g id="id15_Graphic"><path d="M 222.66 309.375 L 303.84 309.375 C 307.51822 309.375 310.5 312.35678 310.5 316.035 L 310.5 349.965 C 310.5 353.64322 307.51822 356.625 303.84 356.625 L 222.66 356.625 C 218.98178 356.625 216 353.64322 216 349.965 L 216 316.035 C 216 312.35678 218.98178 309.375 222.66 309.375 Z" fill="url(#Obj_Gradient_a)"/><path d="M 2
 22.66 309.375 L 303.84 309.375 C 307.51822 309.375 310.5 312.35678 310.5 316.035 L 310.5 349.965 C 310.5 353.64322 307.51822 356.625 303.84 356.625 L 222.66 356.625 C 218.98178 356.625 216 353.64322 216 349.965 L 216 316.035 C 216 312.35678 218.98178 309.375 222.66 309.375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(218 311.375)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="25.95459" y="10" textLength="34.467773">Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="59.87549" y="10" textLength="6.669922">A</tspan></text></g><g id="id16_Graphic"><path d="M 252 331.875 L 254.77076 331.875 C 259.74132 331.875 263.77076 335.90444 263.77076 340.875 L 263.77076 340.875 C 263.77076 345.84556 259.74132 349.875 254.77076 349.875 L 252 349.875 C 247.02944 349.875 243 345.84556 243 340.875 L 243 340.875 C 243 335.90444 247.02944 33
 1.875 252 331.875 Z" fill="url(#Obj_Gradient_b)"/><path d="M 252 331.875 L 254.77076 331.875 C 259.74132 331.875 263.77076 335.90444 263.77076 340.875 L 263.77076 340.875 C 263.77076 345.84556 259.74132 349.875 254.77076 349.875 L 252 349.875 C 247.02944 349.875 243 345.84556 243 340.875 L 243 340.875 C 243 335.90444 247.02944 331.875 252 331.875 Z" stroke="#b00003" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(247 335.375)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x=".8812296" y="9" textLength="11.008301">Y2</tspan></text></g><g id="id17_Graphic"><rect x="270" y="333" width="20.77076" height="18" fill="url(#Obj_Gradient_c)"/><rect x="270" y="333" width="20.77076" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(274 336.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill
 ="black" x="1.13391516" y="9" textLength="10.50293">Z2</tspan></text></g><path d="M 215.4375 405 C 215.4375 391.5 231.61018 390.3754 243.0008 387.0004 C 251.96647 384.34391 257.96946 380.2932 260.11907 369.91124" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(217.75 392.25)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="8.165039" y="10" textLength="11.669922">T2</tspan></text><line x1="159.75" y1="328.5" x2="186.07757" y2="285.24757" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><line x1="243" y1="328.5" x2="216.67243" y2="285.24757" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><rect x="81" y="288" width="112.5" height="72"
  fill="none"/><rect x="81" y="288" width="112.5" height="72" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(83 290)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="22.173828" y="10" textLength="6.1083984">T</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="27.916016" y="10" textLength="48.916016">ransaction </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="76.65625" y="10" textLength="11.669922">T1</tspan></text><rect x="207" y="288" width="112.5" height="72" fill="none"/><rect x="207" y="288" width="112.5" height="72" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(209 290)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="22.173828" y="10" textLength="6.1083984">T</tspan><tspan font
 -family="Helvetica" font-size="10" font-weight="500" fill="black" x="27.916016" y="10" textLength="48.916016">ransaction </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="76.65625" y="10" textLength="11.669922">T2</tspan></text></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/transactions_replicate_no_ack_1.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/transactions_replicate_no_ack_1.svg b/geode-docs/images_svg/transactions_replicate_no_ack_1.svg
new file mode 100644
index 0000000..1d94d72
--- /dev/null
+++ b/geode-docs/images_svg/transactions_replicate_no_ack_1.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="133 203 584 337" width="584pt" height="337pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 11:00Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".3" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(434.82538 282.375) scale(21.756296)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" unde
 rline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(435.375 420.75) scale(19.091883)"/><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(436.5 344.25) scale(19.091883)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(402.75 468.48375) scale(260.40044)"/><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-h
 eight="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_5" xl:href="#Gradient_2" gradientTransform="translate(371.25 423.48375) scale(202.5)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(258.75 335.73375) scale(77.734976)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name 
 name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_7" xl:href="#Gradient" gradientTransform="translate(226.38538 328.98375) scale(21.756296)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(699.75 342.48375) scale(211.30842)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient_2" gradientTransform="translate(357.75 337.98375) scale(78.518633)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient" gradientTransform="translate(317.25 328.98375) scale(19.091883)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient_2" gradientTransform="translate(258.75 407.73375) scale(73.26549)"/><radialGradient id="Obj_Gradient_c" xl:href="#Gradient" gradientTransform="translate(226.38538 400.98375) scale(21.756296)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient_2" gradientTransform="translate(351 409.98375) scale(74.09643)"/><radialGradient id="Obj_Gradient_e" xl:href="#Gradient" gradientTransform="translate(317
 .25 400.98375) scale(19.091883)"/><radialGradient id="Obj_Gradient_f" xl:href="#Gradient_2" gradientTransform="translate(672.75 328.98375) scale(174.22978)"/><radialGradient id="Obj_Gradient_10" xl:href="#Gradient_2" gradientTransform="translate(560.25 317.73375) scale(79.24066)"/><radialGradient id="Obj_Gradient_11" xl:href="#Gradient" gradientTransform="translate(518.88538 310.98375) scale(21.756296)"/><radialGradient id="Obj_Gradient_12" xl:href="#Gradient_2" gradientTransform="translate(699.75 522.48375) scale(230.31748)"/><radialGradient id="Obj_Gradient_13" xl:href="#Gradient_2" gradientTransform="translate(672.75 472.98375) scale(178.20511)"/><radialGradient id="Obj_Gradient_14" xl:href="#Gradient_2" gradientTransform="translate(659.25 463.98375) scale(78.518633)"/><radialGradient id="Obj_Gradient_15" xl:href="#Gradient" gradientTransform="translate(618.75 454.98375) scale(19.091883)"/><radialGradient id="Obj_Gradient_16" xl:href="#Gradient_2" gradientTransform="translate(556
 .4202 463.98375) scale(78.518633)"/><radialGradient id="Obj_Gradient_17" xl:href="#Gradient" gradientTransform="translate(519.75 454.98375) scale(19.091883)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M 11.7222214 0 L 0 -4.395833 L 0 4.395833 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>replicate-no-ack-1</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use 
 xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id13_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id16_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id17_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id19_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id20_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id21_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id22_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id23_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id24_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id25_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id26_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id27_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 421.63052 266.7935 L 416.11157 266.13576 L 417.96482 271.29955 L 414.05462 275.14786 L 419
 .2473 276.9185 L 419.81807 282.375 L 424.44 279.41917 L 429.06193 282.375 L 429.6327 276.9185 L 434.82538 275.14786 L 430.91518 271.29955 L 432.76843 266.13652 L 427.32173 266.7935 L 424.44 262.125 Z" fill="url(#Obj_Gradient)"/><path d="M 421.63052 266.7935 L 416.11157 266.13576 L 417.96482 271.29955 L 414.05462 275.14786 L 419.2473 276.9185 L 419.81807 282.375 L 424.44 279.41917 L 429.06193 282.375 L 429.6327 276.9185 L 434.82538 275.14786 L 430.91518 271.29955 L 432.76843 266.13652 L 427.32173 266.7935 L 424.44 262.125 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(414.05462 266.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="3.63538" y="9" textLength="13.5">W1</tspan></text></g><g id="id4_Graphic"><path d="M 424.035 402.75 L 428.715 402.75 C 432.39322 402.75 435.375 405.73178 435.375 409.41 L 435.375 414.09 C 435.375 417.76822 432.39322 420.75 428.715 420.75 L
  424.035 420.75 C 420.35678 420.75 417.375 417.76822 417.375 414.09 L 417.375 409.41 C 417.375 405.73178 420.35678 402.75 424.035 402.75 Z" fill="url(#Obj_Gradient_2)"/><path d="M 424.035 402.75 L 428.715 402.75 C 432.39322 402.75 435.375 405.73178 435.375 409.41 L 435.375 414.09 C 435.375 417.76822 432.39322 420.75 428.715 420.75 L 424.035 420.75 C 420.35678 420.75 417.375 417.76822 417.375 414.09 L 417.375 409.41 C 417.375 405.73178 420.35678 402.75 424.035 402.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(421.375 400.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.4973145" y="20" textLength="5.005371">1</tspan></text></g><g id="id5_Graphic"><path d="M 425.16 326.25 L 429.84 326.25 C 433.51822 326.25 436.5 329.23178 436.5 332.91 
 L 436.5 337.59 C 436.5 341.26822 433.51822 344.25 429.84 344.25 L 425.16 344.25 C 421.48178 344.25 418.5 341.26822 418.5 337.59 L 418.5 332.91 C 418.5 329.23178 421.48178 326.25 425.16 326.25 Z" fill="url(#Obj_Gradient_3)"/><path d="M 425.16 326.25 L 429.84 326.25 C 433.51822 326.25 436.5 329.23178 436.5 332.91 L 436.5 337.59 C 436.5 341.26822 433.51822 344.25 429.84 344.25 L 425.16 344.25 C 421.48178 344.25 418.5 341.26822 418.5 337.59 L 418.5 332.91 C 418.5 329.23178 421.48178 326.25 425.16 326.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(422.5 324.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.4973145" y="20" textLength="5.005371">2</tspan></text></g><g id="id6_Graphic"><path d="M 152.91 234.48375 L 396.09 234.48375 C 399.7682
 2 234.48375 402.75 237.46553 402.75 241.14375 L 402.75 461.82375 C 402.75 465.50197 399.76822 468.48375 396.09 468.48375 L 152.91 468.48375 C 149.23178 468.48375 146.25 465.50197 146.25 461.82375 L 146.25 241.14375 C 146.25 237.46553 149.23178 234.48375 152.91 234.48375 Z" fill="url(#Obj_Gradient_4)"/><path d="M 152.91 234.48375 L 396.09 234.48375 C 399.76822 234.48375 402.75 237.46553 402.75 241.14375 L 402.75 461.82375 C 402.75 465.50197 399.76822 468.48375 396.09 468.48375 L 152.91 468.48375 C 149.23178 468.48375 146.25 465.50197 146.25 461.82375 L 146.25 241.14375 C 146.25 237.46553 149.23178 234.48375 152.91 234.48375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(150.25 238.48375)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="164.49316" y="14" textLength="84.006836">Member (M1)</tspan></text></g><g id="id7_Graphic"><path d="M 161.91 261.48375 L 364.59 261.48
 375 C 368.26822 261.48375 371.25 264.46553 371.25 268.14375 L 371.25 416.82375 C 371.25 420.50197 368.26822 423.48375 364.59 423.48375 L 161.91 423.48375 C 158.23178 423.48375 155.25 420.50197 155.25 416.82375 L 155.25 268.14375 C 155.25 264.46553 158.23178 261.48375 161.91 261.48375 Z" fill="url(#Obj_Gradient_5)"/><path d="M 161.91 261.48375 L 364.59 261.48375 C 368.26822 261.48375 371.25 264.46553 371.25 268.14375 L 371.25 416.82375 C 371.25 420.50197 368.26822 423.48375 364.59 423.48375 L 161.91 423.48375 C 158.23178 423.48375 155.25 420.50197 155.25 416.82375 L 155.25 268.14375 C 155.25 264.46553 158.23178 261.48375 161.91 261.48375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(159.25 265.48375)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="86.65625" y="11" textLength="34.6875">Cache</tspan></text></g><g id="id8_Graphic"><path d="M 173.16 288.48375 L 252.09 2
 88.48375 C 255.76822 288.48375 258.75 291.46553 258.75 295.14375 L 258.75 329.07375 C 258.75 332.75197 255.76822 335.73375 252.09 335.73375 L 173.16 335.73375 C 169.48178 335.73375 166.5 332.75197 166.5 329.07375 L 166.5 295.14375 C 166.5 291.46553 169.48178 288.48375 173.16 288.48375 Z" fill="url(#Obj_Gradient_6)"/><path d="M 173.16 288.48375 L 252.09 288.48375 C 255.76822 288.48375 258.75 291.46553 258.75 295.14375 L 258.75 329.07375 C 258.75 332.75197 255.76822 335.73375 252.09 335.73375 L 173.16 335.73375 C 169.48178 335.73375 166.5 332.75197 166.5 329.07375 L 166.5 295.14375 C 166.5 291.46553 169.48178 288.48375 173.16 288.48375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(168.5 290.48375)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="2.5957031" y="10" textLength="78.935547">Replicate Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight=
 "500" fill="black" x="80.984375" y="10" textLength="6.669922">A</tspan></text></g><rect x="303.75" y="432.48375" width="90" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(305.75 435.48375)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.8623047" y="10" textLength="23.901367">Java </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="31.216797" y="10" textLength="48.920898">Application</tspan></text><g id="id10_Graphic"><path d="M 213.19052 313.40225 L 207.67157 312.74451 L 209.52482 317.9083 L 205.61462 321.75661 L 210.80731 323.52725 L 211.37807 328.98375 L 216 326.02792 L 220.62193 328.98375 L 221.19269 323.52725 L 226.38538 321.75661 L 222.47518 317.9083 L 224.32843 312.74527 L 218.88173 313.40225 L 216 308.73375 Z" fill="url(#Obj_Gradient_7)"/><path d="M 213.19052 313.40225 L 207.67157 312.74451 L 209.52482 317.9083 L
  205.61462 321.75661 L 210.80731 323.52725 L 211.37807 328.98375 L 216 326.02792 L 220.62193 328.98375 L 221.19269 323.52725 L 226.38538 321.75661 L 222.47518 317.9083 L 224.32843 312.74527 L 218.88173 313.40225 L 216 308.73375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(205.61462 313.35875)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="6.1380655" y="9" textLength="8.494629">W</tspan></text></g><g id="id11_Graphic"><path d="M 454.41 216.48375 L 693.09 216.48375 C 696.7682 216.48375 699.75 219.46553 699.75 223.14375 L 699.75 335.82375 C 699.75 339.50197 696.7682 342.48375 693.09 342.48375 L 454.41 342.48375 C 450.73178 342.48375 447.75 339.50197 447.75 335.82375 L 447.75 223.14375 C 447.75 219.46553 450.73178 216.48375 454.41 216.48375 Z" fill="url(#Obj_Gradient_8)"/><path d="M 454.41 216.48375 L 693.09 216.48375 C 696.7682 216.48375 699.75 219.46553 699.75 223.1
 4375 L 699.75 335.82375 C 699.75 339.50197 696.7682 342.48375 693.09 342.48375 L 454.41 342.48375 C 450.73178 342.48375 447.75 339.50197 447.75 335.82375 L 447.75 223.14375 C 447.75 219.46553 450.73178 216.48375 454.41 216.48375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(451.75 220.48375)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="159.99316" y="14" textLength="84.006836">Member (M2)</tspan></text></g><g id="id12_Graphic"><path d="M 272.16 288.48375 L 351.09 288.48375 C 354.76822 288.48375 357.75 291.46553 357.75 295.14375 L 357.75 331.32375 C 357.75 335.00197 354.76822 337.98375 351.09 337.98375 L 272.16 337.98375 C 268.48178 337.98375 265.5 335.00197 265.5 331.32375 L 265.5 295.14375 C 265.5 291.46553 268.48178 288.48375 272.16 288.48375 Z" fill="url(#Obj_Gradient_9)"/><path d="M 272.16 288.48375 L 351.09 288.48375 C 354.76822 288.48375 357.75 291.46553 35
 7.75 295.14375 L 357.75 331.32375 C 357.75 335.00197 354.76822 337.98375 351.09 337.98375 L 272.16 337.98375 C 268.48178 337.98375 265.5 335.00197 265.5 331.32375 L 265.5 295.14375 C 265.5 291.46553 268.48178 288.48375 272.16 288.48375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(267.5 290.48375)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="2.3222656" y="10" textLength="85.60547">Replicate Region B</tspan></text></g><g id="id13_Graphic"><path d="M 305.91 310.98375 L 310.59 310.98375 C 314.26822 310.98375 317.25 313.96553 317.25 317.64375 L 317.25 322.32375 C 317.25 326.00197 314.26822 328.98375 310.59 328.98375 L 305.91 328.98375 C 302.23178 328.98375 299.25 326.00197 299.25 322.32375 L 299.25 317.64375 C 299.25 313.96553 302.23178 310.98375 305.91 310.98375 Z" fill="url(#Obj_Gradient_a)"/><path d="M 305.91 310.98375 L 310.59 310.98375 C 314.26822 310.98375 317
 .25 313.96553 317.25 317.64375 L 317.25 322.32375 C 317.25 326.00197 314.26822 328.98375 310.59 328.98375 L 305.91 328.98375 C 302.23178 328.98375 299.25 326.00197 299.25 322.32375 L 299.25 317.64375 C 299.25 313.96553 302.23178 310.98375 305.91 310.98375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(303.25 314.48375)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id14_Graphic"><path d="M 179.91 360.48375 L 252.09 360.48375 C 255.76822 360.48375 258.75 363.46553 258.75 367.14375 L 258.75 401.07375 C 258.75 404.75197 255.76822 407.73375 252.09 407.73375 L 179.91 407.73375 C 176.23178 407.73375 173.25 404.75197 173.25 401.07375 L 173.25 367.14375 C 173.25 363.46553 176.23178 360.48375 179.91 360.48375 Z" fill="url(#Obj_Gradient_b)"/><path d="M 179.91 360.48375 L 252.09 360.48375 C 255.76822 360.48375 
 258.75 363.46553 258.75 367.14375 L 258.75 401.07375 C 258.75 404.75197 255.76822 407.73375 252.09 407.73375 L 179.91 407.73375 C 176.23178 407.73375 173.25 404.75197 173.25 401.07375 L 173.25 367.14375 C 173.25 363.46553 176.23178 360.48375 179.91 360.48375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(175.25 362.48375)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="21.45459" y="10" textLength="34.467773">Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="55.375488" y="10" textLength="6.669922">A</tspan></text></g><g id="id15_Graphic"><path d="M 213.19052 385.40225 L 207.67157 384.7445 L 209.52482 389.9083 L 205.61462 393.7566 L 210.80731 395.52725 L 211.37807 400.98375 L 216 398.02792 L 220.62193 400.98375 L 221.19269 395.52725 L 226.38538 393.7566 L 222.47518 389.9083 L 224.32843 384.74527 L 218.88173 385.40225 L 216 
 380.73375 Z" fill="url(#Obj_Gradient_c)"/><path d="M 213.19052 385.40225 L 207.67157 384.7445 L 209.52482 389.9083 L 205.61462 393.7566 L 210.80731 395.52725 L 211.37807 400.98375 L 216 398.02792 L 220.62193 400.98375 L 221.19269 395.52725 L 226.38538 393.7566 L 222.47518 389.9083 L 224.32843 384.74527 L 218.88173 385.40225 L 216 380.73375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(205.61462 385.35875)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="3.63538" y="9" textLength="13.5">W1</tspan></text></g><g id="id16_Graphic"><path d="M 272.16 360.48375 L 344.34 360.48375 C 348.01822 360.48375 351 363.46553 351 367.14375 L 351 403.32375 C 351 407.00197 348.01822 409.98375 344.34 409.98375 L 272.16 409.98375 C 268.48178 409.98375 265.5 407.00197 265.5 403.32375 L 265.5 367.14375 C 265.5 363.46553 268.48178 360.48375 272.16 360.48375 Z" fill="url(#Obj_Gradient_d)"/><p
 ath d="M 272.16 360.48375 L 344.34 360.48375 C 348.01822 360.48375 351 363.46553 351 367.14375 L 351 403.32375 C 351 407.00197 348.01822 409.98375 344.34 409.98375 L 272.16 409.98375 C 268.48178 409.98375 265.5 407.00197 265.5 403.32375 L 265.5 367.14375 C 265.5 363.46553 268.48178 360.48375 272.16 360.48375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(267.5 362.48375)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="21.181152" y="10" textLength="41.137695">Region B</tspan></text></g><g id="id17_Graphic"><path d="M 305.91 382.98375 L 310.59 382.98375 C 314.26822 382.98375 317.25 385.96553 317.25 389.64375 L 317.25 394.32375 C 317.25 398.00197 314.26822 400.98375 310.59 400.98375 L 305.91 400.98375 C 302.23178 400.98375 299.25 398.00197 299.25 394.32375 L 299.25 389.64375 C 299.25 385.96553 302.23178 382.98375 305.91 382.98375 Z" fill="url(#Obj_Gradient_e)"/><path d
 ="M 305.91 382.98375 L 310.59 382.98375 C 314.26822 382.98375 317.25 385.96553 317.25 389.64375 L 317.25 394.32375 C 317.25 398.00197 314.26822 400.98375 310.59 400.98375 L 305.91 400.98375 C 302.23178 400.98375 299.25 398.00197 299.25 394.32375 L 299.25 389.64375 C 299.25 385.96553 302.23178 382.98375 305.91 382.98375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(303.25 380.98375)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.4973145" y="20" textLength="5.005371">1</tspan></text></g><rect x="164.25" y="342.48375" width="193.5" height="72" fill="none"/><rect x="164.25" y="342.48375" width="193.5" height="72" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(166.25 344.48
 375)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="62.673828" y="10" textLength="6.1083984">T</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="68.416016" y="10" textLength="48.916016">ransaction </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="117.15625" y="10" textLength="11.669922">T1</tspan></text><g id="id19_Graphic"><path d="M 463.41 243.48375 L 666.09 243.48375 C 669.7682 243.48375 672.75 246.46553 672.75 250.14375 L 672.75 322.32375 C 672.75 326.00197 669.7682 328.98375 666.09 328.98375 L 463.41 328.98375 C 459.73178 328.98375 456.75 326.00197 456.75 322.32375 L 456.75 250.14375 C 456.75 246.46553 459.73178 243.48375 463.41 243.48375 Z" fill="url(#Obj_Gradient_f)"/><path d="M 463.41 243.48375 L 666.09 243.48375 C 669.7682 243.48375 672.75 246.46553 672.75 250.14375 L 672.75 322.32375 C 672.75 326.00197 669.7682 328.98375 666.09 328.98375 L 463.41 328.98
 375 C 459.73178 328.98375 456.75 326.00197 456.75 322.32375 L 456.75 250.14375 C 456.75 246.46553 459.73178 243.48375 463.41 243.48375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(460.75 247.48375)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="86.65625" y="11" textLength="34.6875">Cache</tspan></text></g><g id="id20_Graphic"><path d="M 472.41 270.48375 L 553.59 270.48375 C 557.2682 270.48375 560.25 273.46553 560.25 277.14375 L 560.25 311.07375 C 560.25 314.75197 557.2682 317.73375 553.59 317.73375 L 472.41 317.73375 C 468.73178 317.73375 465.75 314.75197 465.75 311.07375 L 465.75 277.14375 C 465.75 273.46553 468.73178 270.48375 472.41 270.48375 Z" fill="url(#Obj_Gradient_10)"/><path d="M 472.41 270.48375 L 553.59 270.48375 C 557.2682 270.48375 560.25 273.46553 560.25 277.14375 L 560.25 311.07375 C 560.25 314.75197 557.2682 317.73375 553.59 317.73375 L 472.41 317
 .73375 C 468.73178 317.73375 465.75 314.75197 465.75 311.07375 L 465.75 277.14375 C 465.75 273.46553 468.73178 270.48375 472.41 270.48375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(467.75 272.48375)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="3.7207031" y="10" textLength="78.935547">Replicate Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="82.109375" y="10" textLength="6.669922">A</tspan></text></g><g id="id21_Graphic"><path d="M 505.69052 295.40225 L 500.17157 294.74451 L 502.02482 299.9083 L 498.11462 303.75661 L 503.3073 305.52725 L 503.87807 310.98375 L 508.5 308.02792 L 513.12193 310.98375 L 513.6927 305.52725 L 518.88538 303.75661 L 514.97518 299.9083 L 516.82843 294.74527 L 511.38173 295.40225 L 508.5 290.73375 Z" fill="url(#Obj_Gradient_11)"/><path d="M 505.69052 295.40225 L 500.17157 294.74451 L 502.024
 82 299.9083 L 498.11462 303.75661 L 503.3073 305.52725 L 503.87807 310.98375 L 508.5 308.02792 L 513.12193 310.98375 L 513.6927 305.52725 L 518.88538 303.75661 L 514.97518 299.9083 L 516.82843 294.74527 L 511.38173 295.40225 L 508.5 290.73375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(498.11462 295.35875)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="6.1380655" y="9" textLength="8.494629">W</tspan></text></g><g id="id22_Graphic"><path d="M 454.41 346.98375 L 693.09 346.98375 C 696.7682 346.98375 699.75 349.96553 699.75 353.64375 L 699.75 515.82375 C 699.75 519.50197 696.7682 522.48375 693.09 522.48375 L 454.41 522.48375 C 450.73178 522.48375 447.75 519.50197 447.75 515.82375 L 447.75 353.64375 C 447.75 349.96553 450.73178 346.98375 454.41 346.98375 Z" fill="url(#Obj_Gradient_12)"/><path d="M 454.41 346.98375 L 693.09 346.98375 C 696.7682 346.98375 699.75 349.96
 553 699.75 353.64375 L 699.75 515.82375 C 699.75 519.50197 696.7682 522.48375 693.09 522.48375 L 454.41 522.48375 C 450.73178 522.48375 447.75 519.50197 447.75 515.82375 L 447.75 353.64375 C 447.75 349.96553 450.73178 346.98375 454.41 346.98375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(451.75 350.98375)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="159.99316" y="14" textLength="84.006836">Member (M3)</tspan></text></g><g id="id23_Graphic"><path d="M 463.41 373.98375 L 666.09 373.98375 C 669.7682 373.98375 672.75 376.96553 672.75 380.64375 L 672.75 466.32375 C 672.75 470.00197 669.7682 472.98375 666.09 472.98375 L 463.41 472.98375 C 459.73178 472.98375 456.75 470.00197 456.75 466.32375 L 456.75 380.64375 C 456.75 376.96553 459.73178 373.98375 463.41 373.98375 Z" fill="url(#Obj_Gradient_13)"/><path d="M 463.41 373.98375 L 666.09 373.98375 C 669.7682 373.98375 6
 72.75 376.96553 672.75 380.64375 L 672.75 466.32375 C 672.75 470.00197 669.7682 472.98375 666.09 472.98375 L 463.41 472.98375 C 459.73178 472.98375 456.75 470.00197 456.75 466.32375 L 456.75 380.64375 C 456.75 376.96553 459.73178 373.98375 463.41 373.98375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(460.75 377.98375)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="86.65625" y="11" textLength="34.6875">Cache</tspan></text></g><g id="id24_Graphic"><path d="M 573.66 414.48375 L 652.59 414.48375 C 656.2682 414.48375 659.25 417.46553 659.25 421.14375 L 659.25 457.32375 C 659.25 461.00197 656.2682 463.98375 652.59 463.98375 L 573.66 463.98375 C 569.9818 463.98375 567 461.00197 567 457.32375 L 567 421.14375 C 567 417.46553 569.9818 414.48375 573.66 414.48375 Z" fill="url(#Obj_Gradient_14)"/><path d="M 573.66 414.48375 L 652.59 414.48375 C 656.2682 414.48375 659.25 417.4
 6553 659.25 421.14375 L 659.25 457.32375 C 659.25 461.00197 656.2682 463.98375 652.59 463.98375 L 573.66 463.98375 C 569.9818 463.98375 567 461.00197 567 457.32375 L 567 421.14375 C 567 417.46553 569.9818 414.48375 573.66 414.48375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(569 416.48375)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="2.3222656" y="10" textLength="85.60547">Replicate Region B</tspan></text></g><g id="id25_Graphic"><path d="M 607.41 436.98375 L 612.09 436.98375 C 615.7682 436.98375 618.75 439.96553 618.75 443.64375 L 618.75 448.32375 C 618.75 452.00197 615.7682 454.98375 612.09 454.98375 L 607.41 454.98375 C 603.7318 454.98375 600.75 452.00197 600.75 448.32375 L 600.75 443.64375 C 600.75 439.96553 603.7318 436.98375 607.41 436.98375 Z" fill="url(#Obj_Gradient_15)"/><path d="M 607.41 436.98375 L 612.09 436.98375 C 615.7682 436.98375 618.75 439.96
 553 618.75 443.64375 L 618.75 448.32375 C 618.75 452.00197 615.7682 454.98375 612.09 454.98375 L 607.41 454.98375 C 603.7318 454.98375 600.75 452.00197 600.75 448.32375 L 600.75 443.64375 C 600.75 439.96553 603.7318 436.98375 607.41 436.98375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(604.75 434.98375)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.4973145" y="20" textLength="5.005371">2</tspan></text></g><g id="id26_Graphic"><path d="M 470.8302 414.48375 L 549.7602 414.48375 C 553.43843 414.48375 556.4202 417.46553 556.4202 421.14375 L 556.4202 457.32375 C 556.4202 461.00197 553.43843 463.98375 549.7602 463.98375 L 470.8302 463.98375 C 467.152 463.98375 464.1702 461.00197 464.1702 457.32375 L 464.1702 421.14375 C 464.1702 417.46553 4
 67.152 414.48375 470.8302 414.48375 Z" fill="url(#Obj_Gradient_16)"/><path d="M 470.8302 414.48375 L 549.7602 414.48375 C 553.43843 414.48375 556.4202 417.46553 556.4202 421.14375 L 556.4202 457.32375 C 556.4202 461.00197 553.43843 463.98375 549.7602 463.98375 L 470.8302 463.98375 C 467.152 463.98375 464.1702 461.00197 464.1702 457.32375 L 464.1702 421.14375 C 464.1702 417.46553 467.152 414.48375 470.8302 414.48375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(466.1702 416.48375)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="2.3222656" y="10" textLength="85.60547">Replicate Region B</tspan></text></g><g id="id27_Graphic"><path d="M 508.41 436.98375 L 513.09 436.98375 C 516.76822 436.98375 519.75 439.96553 519.75 443.64375 L 519.75 448.32375 C 519.75 452.00197 516.76822 454.98375 513.09 454.98375 L 508.41 454.98375 C 504.73178 454.98375 501.75 452.00197 501.75 448
 .32375 L 501.75 443.64375 C 501.75 439.96553 504.73178 436.98375 508.41 436.98375 Z" fill="url(#Obj_Gradient_17)"/><path d="M 508.41 436.98375 L 513.09 436.98375 C 516.76822 436.98375 519.75 439.96553 519.75 443.64375 L 519.75 448.32375 C 519.75 452.00197 516.76822 454.98375 513.09 454.98375 L 508.41 454.98375 C 504.73178 454.98375 501.75 452.00197 501.75 448.32375 L 501.75 443.64375 C 501.75 439.96553 504.73178 436.98375 508.41 436.98375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(505.75 440.48375)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><rect x="560.25" y="396.48375" width="102.375" height="72" fill="none"/><rect x="560.25" y="396.48375" width="102.375" height="72" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(562.25 398.4837
 5)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="17.111328" y="10" textLength="6.1083984">T</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="22.853516" y="10" textLength="48.916016">ransaction </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="71.59375" y="10" textLength="11.669922">T2</tspan></text><rect x="605.25" y="486.48375" width="90" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(607.25 489.48375)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.8623047" y="10" textLength="23.901367">Java </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="31.216797" y="10" textLength="48.920898">Application</tspan></text><path d="M 358.875 364.5 C 374.625 363.375 380.25 349.03125 390.375 330.75 C 398.51257 31
 6.05716 409.55693 298.82089 422.33996 292.6204" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 357.75 385.3125 C 373.815 385.3114 387.36002 385.36105 398.25002 385.52344 C 408.35145 385.67406 416.16846 385.92168 430.71576 422.7012" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 560.25 407.25 C 559.8125 407.25 559.6915 394.3135 559.39073 380.251 C 559.0975 366.5411 558.63336 351.76094 432.94777 351.02839" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/transactions_replicate_no_ack_2.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/transactions_replicate_no_ack_2.svg b/geode-docs/images_svg/transactions_replicate_no_ack_2.svg
new file mode 100644
index 0000000..8b4d41a
--- /dev/null
+++ b/geode-docs/images_svg/transactions_replicate_no_ack_2.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="19 148 584 337" width="584pt" height="337pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 11:02Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".3" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(288.39375 413.35875) scale(260.40044)"/><font-face font-family="Helvetica" font-size="14" units-per-em="1000" un
 derline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(256.89375 368.35875) scale(202.5)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(144.39375 280.60875) scale(80.488277)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="
 717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(112.02913 273.85875) scale(21.756296)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(585.39375 287.35875) scale(211.30842)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradi
 entTransform="translate(247.5 282.85875) scale(81.24538)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(205.66451 273.85875) scale(20.61374)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient" gradientTransform="translate(558.39375 273.85875) scale(174.22978)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient" gradientTransform="translate(452.25 262.60875) scale(83.53177)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_2" gradientTransform="translate(404.52913 255.85875) scale(21.756296)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient" gradientTransform="translate(585.39375 467.35875) scale(230.31748)"/><radialGradient id="Obj_Gradient_c" xl:href="#Gradient" gradientTransform="translate(558.39375 417.85875) scale(178.20511)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient" gradientTransform="translate(454.5 408.85875) scale(84.261534)"/><radialGradient id="Obj_Gradient_e" xl:href="#Gradient_2" gradientTr
 ansform="translate(408.1645 399.85875) scale(20.61374)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>replicate-no-ack-2</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id13_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id16_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id17_Graphic" filter="url(#Shadow)"/></g><g id="id3_Grap
 hic"><path d="M 38.55375 179.35875 L 281.73375 179.35875 C 285.41197 179.35875 288.39375 182.34053 288.39375 186.01875 L 288.39375 406.69875 C 288.39375 410.37697 285.41197 413.35875 281.73375 413.35875 L 38.55375 413.35875 C 34.875533 413.35875 31.89375 410.37697 31.89375 406.69875 L 31.89375 186.01875 C 31.89375 182.34053 34.875533 179.35875 38.55375 179.35875 Z" fill="url(#Obj_Gradient)"/><path d="M 38.55375 179.35875 L 281.73375 179.35875 C 285.41197 179.35875 288.39375 182.34053 288.39375 186.01875 L 288.39375 406.69875 C 288.39375 410.37697 285.41197 413.35875 281.73375 413.35875 L 38.55375 413.35875 C 34.875533 413.35875 31.89375 410.37697 31.89375 406.69875 L 31.89375 186.01875 C 31.89375 182.34053 34.875533 179.35875 38.55375 179.35875 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(35.89375 183.35875)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="164.4931
 6" y="14" textLength="84.006836">Member (M1)</tspan></text></g><g id="id4_Graphic"><path d="M 47.55375 206.35875 L 250.23375 206.35875 C 253.91197 206.35875 256.89375 209.34053 256.89375 213.01875 L 256.89375 361.69875 C 256.89375 365.37697 253.91197 368.35875 250.23375 368.35875 L 47.55375 368.35875 C 43.875533 368.35875 40.89375 365.37697 40.89375 361.69875 L 40.89375 213.01875 C 40.89375 209.34053 43.875533 206.35875 47.55375 206.35875 Z" fill="url(#Obj_Gradient_2)"/><path d="M 47.55375 206.35875 L 250.23375 206.35875 C 253.91197 206.35875 256.89375 209.34053 256.89375 213.01875 L 256.89375 361.69875 C 256.89375 365.37697 253.91197 368.35875 250.23375 368.35875 L 47.55375 368.35875 C 43.875533 368.35875 40.89375 365.37697 40.89375 361.69875 L 40.89375 213.01875 C 40.89375 209.34053 43.875533 206.35875 47.55375 206.35875 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(44.89375 210.35875)" fill="black"><tspan f
 ont-family="Helvetica" font-size="12" font-weight="500" fill="black" x="86.65625" y="11" textLength="34.6875">Cache</tspan></text></g><g id="id5_Graphic"><path d="M 54.6975 233.35875 L 137.73375 233.35875 C 141.41197 233.35875 144.39375 236.34053 144.39375 240.01875 L 144.39375 273.94875 C 144.39375 277.62697 141.41197 280.60875 137.73375 280.60875 L 54.6975 280.60875 C 51.019283 280.60875 48.0375 277.62697 48.0375 273.94875 L 48.0375 240.01875 C 48.0375 236.34053 51.019283 233.35875 54.6975 233.35875 Z" fill="url(#Obj_Gradient_3)"/><path d="M 54.6975 233.35875 L 137.73375 233.35875 C 141.41197 233.35875 144.39375 236.34053 144.39375 240.01875 L 144.39375 273.94875 C 144.39375 277.62697 141.41197 280.60875 137.73375 280.60875 L 54.6975 280.60875 C 51.019283 280.60875 48.0375 277.62697 48.0375 273.94875 L 48.0375 240.01875 C 48.0375 236.34053 51.019283 233.35875 54.6975 233.35875 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transf
 orm="translate(50.0375 235.35875)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="4.648828" y="10" textLength="78.935547">Replicate Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="83.0375" y="10" textLength="6.669922">A</tspan></text></g><rect x="189.39375" y="377.35875" width="90" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(191.39375 380.35875)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.8623047" y="10" textLength="23.901367">Java </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="31.216797" y="10" textLength="48.920898">Application</tspan></text><g id="id7_Graphic"><path d="M 98.83427 258.27725 L 93.31532 257.61951 L 95.16857 262.7833 L 91.25837 266.63161 L 96.45106 268.40225 L 97.02182 273.85875 L 101.64375 270.90292 
 L 106.26568 273.85875 L 106.83644 268.40225 L 112.02913 266.63161 L 108.11893 262.7833 L 109.97218 257.62027 L 104.52548 258.27725 L 101.64375 253.60875 Z" fill="url(#Obj_Gradient_4)"/><path d="M 98.83427 258.27725 L 93.31532 257.61951 L 95.16857 262.7833 L 91.25837 266.63161 L 96.45106 268.40225 L 97.02182 273.85875 L 101.64375 270.90292 L 106.26568 273.85875 L 106.83644 268.40225 L 112.02913 266.63161 L 108.11893 262.7833 L 109.97218 257.62027 L 104.52548 258.27725 L 101.64375 253.60875 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(91.25837 258.23375)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="3.63538" y="9" textLength="13.5">W1</tspan></text></g><g id="id8_Graphic"><path d="M 340.05375 161.35875 L 578.73375 161.35875 C 582.41197 161.35875 585.39375 164.34053 585.39375 168.01875 L 585.39375 280.69875 C 585.39375 284.37697 582.41197 287.35875 578.73375 287.358
 75 L 340.05375 287.35875 C 336.37553 287.35875 333.39375 284.37697 333.39375 280.69875 L 333.39375 168.01875 C 333.39375 164.34053 336.37553 161.35875 340.05375 161.35875 Z" fill="url(#Obj_Gradient_5)"/><path d="M 340.05375 161.35875 L 578.73375 161.35875 C 582.41197 161.35875 585.39375 164.34053 585.39375 168.01875 L 585.39375 280.69875 C 585.39375 284.37697 582.41197 287.35875 578.73375 287.35875 L 340.05375 287.35875 C 336.37553 287.35875 333.39375 284.37697 333.39375 280.69875 L 333.39375 168.01875 C 333.39375 164.34053 336.37553 161.35875 340.05375 161.35875 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(337.39375 165.35875)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="159.99316" y="14" textLength="84.006836">Member (M2)</tspan></text></g><g id="id9_Graphic"><path d="M 157.80375 233.35875 L 240.84 233.35875 C 244.51822 233.35875 247.5 236.34053 247.5 240.018
 75 L 247.5 276.19875 C 247.5 279.87697 244.51822 282.85875 240.84 282.85875 L 157.80375 282.85875 C 154.12553 282.85875 151.14375 279.87697 151.14375 276.19875 L 151.14375 240.01875 C 151.14375 236.34053 154.12553 233.35875 157.80375 233.35875 Z" fill="url(#Obj_Gradient_6)"/><path d="M 157.80375 233.35875 L 240.84 233.35875 C 244.51822 233.35875 247.5 236.34053 247.5 240.01875 L 247.5 276.19875 C 247.5 279.87697 244.51822 282.85875 240.84 282.85875 L 157.80375 282.85875 C 154.12553 282.85875 151.14375 279.87697 151.14375 276.19875 L 151.14375 240.01875 C 151.14375 236.34053 154.12553 233.35875 157.80375 233.35875 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(153.14375 235.35875)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="4.3753906" y="10" textLength="85.60547">Replicate Region B</tspan></text></g><g id="id10_Graphic"><path d="M 191.55375 255.85875 L 199.00451 
 255.85875 C 202.68273 255.85875 205.66451 258.84053 205.66451 262.51875 L 205.66451 267.19875 C 205.66451 270.87697 202.68273 273.85875 199.00451 273.85875 L 191.55375 273.85875 C 187.87553 273.85875 184.89375 270.87697 184.89375 267.19875 L 184.89375 262.51875 C 184.89375 258.84053 187.87553 255.85875 191.55375 255.85875 Z" fill="url(#Obj_Gradient_7)"/><path d="M 191.55375 255.85875 L 199.00451 255.85875 C 202.68273 255.85875 205.66451 258.84053 205.66451 262.51875 L 205.66451 267.19875 C 205.66451 270.87697 202.68273 273.85875 199.00451 273.85875 L 191.55375 273.85875 C 187.87553 273.85875 184.89375 270.87697 184.89375 267.19875 L 184.89375 262.51875 C 184.89375 258.84053 187.87553 255.85875 191.55375 255.85875 Z" stroke="#b00003" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(188.89375 259.35875)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x=".8812296" y="9" textLength="11.008301">
 X2</tspan></text></g><g id="id11_Graphic"><path d="M 349.05375 188.35875 L 551.73375 188.35875 C 555.41197 188.35875 558.39375 191.34053 558.39375 195.01875 L 558.39375 267.19875 C 558.39375 270.87697 555.41197 273.85875 551.73375 273.85875 L 349.05375 273.85875 C 345.37553 273.85875 342.39375 270.87697 342.39375 267.19875 L 342.39375 195.01875 C 342.39375 191.34053 345.37553 188.35875 349.05375 188.35875 Z" fill="url(#Obj_Gradient_8)"/><path d="M 349.05375 188.35875 L 551.73375 188.35875 C 555.41197 188.35875 558.39375 191.34053 558.39375 195.01875 L 558.39375 267.19875 C 558.39375 270.87697 555.41197 273.85875 551.73375 273.85875 L 349.05375 273.85875 C 345.37553 273.85875 342.39375 270.87697 342.39375 267.19875 L 342.39375 195.01875 C 342.39375 191.34053 345.37553 188.35875 349.05375 188.35875 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(346.39375 192.35875)" fill="black"><tspan font-family="Helvetica" fon
 t-size="12" font-weight="500" fill="black" x="86.65625" y="11" textLength="34.6875">Cache</tspan></text></g><g id="id12_Graphic"><path d="M 358.05375 215.35875 L 445.59 215.35875 C 449.26822 215.35875 452.25 218.34053 452.25 222.01875 L 452.25 255.94875 C 452.25 259.62697 449.26822 262.60875 445.59 262.60875 L 358.05375 262.60875 C 354.37553 262.60875 351.39375 259.62697 351.39375 255.94875 L 351.39375 222.01875 C 351.39375 218.34053 354.37553 215.35875 358.05375 215.35875 Z" fill="url(#Obj_Gradient_9)"/><path d="M 358.05375 215.35875 L 445.59 215.35875 C 449.26822 215.35875 452.25 218.34053 452.25 222.01875 L 452.25 255.94875 C 452.25 259.62697 449.26822 262.60875 445.59 262.60875 L 358.05375 262.60875 C 354.37553 262.60875 351.39375 259.62697 351.39375 255.94875 L 351.39375 222.01875 C 351.39375 218.34053 354.37553 215.35875 358.05375 215.35875 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(353.39375 217.3587
 5)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="6.898828" y="10" textLength="78.935547">Replicate Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="85.2875" y="10" textLength="6.669922">A</tspan></text></g><g id="id13_Graphic"><path d="M 391.33427 240.27725 L 385.81532 239.61951 L 387.66857 244.7833 L 383.75837 248.63161 L 388.95106 250.40225 L 389.52182 255.85875 L 394.14375 252.90292 L 398.76568 255.85875 L 399.33644 250.40225 L 404.52913 248.63161 L 400.61893 244.7833 L 402.47218 239.62027 L 397.02548 240.27725 L 394.14375 235.60875 Z" fill="url(#Obj_Gradient_a)"/><path d="M 391.33427 240.27725 L 385.81532 239.61951 L 387.66857 244.7833 L 383.75837 248.63161 L 388.95106 250.40225 L 389.52182 255.85875 L 394.14375 252.90292 L 398.76568 255.85875 L 399.33644 250.40225 L 404.52913 248.63161 L 400.61893 244.7833 L 402.47218 239.62027 L 397.02548 240.27725 L 394.14375 235.60875 Z" stroke="#25
 2525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(383.75837 240.23375)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="3.63538" y="9" textLength="13.5">W1</tspan></text></g><g id="id14_Graphic"><path d="M 340.05375 291.85875 L 578.73375 291.85875 C 582.41197 291.85875 585.39375 294.84053 585.39375 298.51875 L 585.39375 460.69875 C 585.39375 464.37697 582.41197 467.35875 578.73375 467.35875 L 340.05375 467.35875 C 336.37553 467.35875 333.39375 464.37697 333.39375 460.69875 L 333.39375 298.51875 C 333.39375 294.84053 336.37553 291.85875 340.05375 291.85875 Z" fill="url(#Obj_Gradient_b)"/><path d="M 340.05375 291.85875 L 578.73375 291.85875 C 582.41197 291.85875 585.39375 294.84053 585.39375 298.51875 L 585.39375 460.69875 C 585.39375 464.37697 582.41197 467.35875 578.73375 467.35875 L 340.05375 467.35875 C 336.37553 467.35875 333.39375 464.37697 333.39375 460.69875 L 333.39375 298.5187
 5 C 333.39375 294.84053 336.37553 291.85875 340.05375 291.85875 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(337.39375 295.85875)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="159.99316" y="14" textLength="84.006836">Member (M3)</tspan></text></g><g id="id15_Graphic"><path d="M 349.05375 318.85875 L 551.73375 318.85875 C 555.41197 318.85875 558.39375 321.84053 558.39375 325.51875 L 558.39375 411.19875 C 558.39375 414.87697 555.41197 417.85875 551.73375 417.85875 L 349.05375 417.85875 C 345.37553 417.85875 342.39375 414.87697 342.39375 411.19875 L 342.39375 325.51875 C 342.39375 321.84053 345.37553 318.85875 349.05375 318.85875 Z" fill="url(#Obj_Gradient_c)"/><path d="M 349.05375 318.85875 L 551.73375 318.85875 C 555.41197 318.85875 558.39375 321.84053 558.39375 325.51875 L 558.39375 411.19875 C 558.39375 414.87697 555.41197 417.85875 551.73375 417.85875 L 349.05
 375 417.85875 C 345.37553 417.85875 342.39375 414.87697 342.39375 411.19875 L 342.39375 325.51875 C 342.39375 321.84053 345.37553 318.85875 349.05375 318.85875 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(346.39375 322.85875)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="86.65625" y="11" textLength="34.6875">Cache</tspan></text></g><g id="id16_Graphic"><path d="M 360.30375 359.35875 L 447.84 359.35875 C 451.51822 359.35875 454.5 362.34053 454.5 366.01875 L 454.5 402.19875 C 454.5 405.87697 451.51822 408.85875 447.84 408.85875 L 360.30375 408.85875 C 356.62553 408.85875 353.64375 405.87697 353.64375 402.19875 L 353.64375 366.01875 C 353.64375 362.34053 356.62553 359.35875 360.30375 359.35875 Z" fill="url(#Obj_Gradient_d)"/><path d="M 360.30375 359.35875 L 447.84 359.35875 C 451.51822 359.35875 454.5 362.34053 454.5 366.01875 L 454.5 402.19875 C 454.5 405.87697 45
 1.51822 408.85875 447.84 408.85875 L 360.30375 408.85875 C 356.62553 408.85875 353.64375 405.87697 353.64375 402.19875 L 353.64375 366.01875 C 353.64375 362.34053 356.62553 359.35875 360.30375 359.35875 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(355.64375 361.35875)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="6.6253906" y="10" textLength="85.60547">Replicate Region B</tspan></text></g><g id="id17_Graphic"><path d="M 394.05375 381.85875 L 401.5045 381.85875 C 405.18273 381.85875 408.1645 384.84053 408.1645 388.51875 L 408.1645 393.19875 C 408.1645 396.87697 405.18273 399.85875 401.5045 399.85875 L 394.05375 399.85875 C 390.37553 399.85875 387.39375 396.87697 387.39375 393.19875 L 387.39375 388.51875 C 387.39375 384.84053 390.37553 381.85875 394.05375 381.85875 Z" fill="url(#Obj_Gradient_e)"/><path d="M 394.05375 381.85875 L 401.5045 381.85875 C 405.18273 381.
 85875 408.1645 384.84053 408.1645 388.51875 L 408.1645 393.19875 C 408.1645 396.87697 405.18273 399.85875 401.5045 399.85875 L 394.05375 399.85875 C 390.37553 399.85875 387.39375 396.87697 387.39375 393.19875 L 387.39375 388.51875 C 387.39375 384.84053 390.37553 381.85875 394.05375 381.85875 Z" stroke="#b00003" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(391.39375 385.35875)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x=".8812296" y="9" textLength="11.008301">X1</tspan></text></g><rect x="490.89375" y="431.35875" width="90" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(492.89375 434.35875)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.8623047" y="10" textLength="23.901367">Java </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fi
 ll="black" x="31.216797" y="10" textLength="48.920898">Application</tspan></text></g></g></svg>


[41/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_index/using_indexes_with_equijoin_queries_multiple_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_index/using_indexes_with_equijoin_queries_multiple_regions.html.md.erb b/developing/query_index/using_indexes_with_equijoin_queries_multiple_regions.html.md.erb
deleted file mode 100644
index a834b60..0000000
--- a/developing/query_index/using_indexes_with_equijoin_queries_multiple_regions.html.md.erb
+++ /dev/null
@@ -1,62 +0,0 @@
----
-title:  Using Indexes on Equi-Join Queries using Multiple Regions
----
-
-To query across multiple regions, identify all equi-join conditions. Then, create as few indexes for the equi-join conditions as you can while still joining all regions.
-
-<a id="concept_DB2407C49F064B04AA58BC9D1DBA3666__section_70735ED43C4D47B0A19B910BB7E3A1DA"></a>
-If there are equi-join conditions that redundantly join two regions (in order to more finely filter the data, for example), then creating redundant indexes for these joins will negatively impact performance. Create indexes only on one equi-join condition for each region pair.
-
-In this example query:
-
-``` pre
-SELECT DISTINCT * 
-FROM /investors inv, /securities sc, /orders or, 
-inv.ordersPlaced inv_op, or.securities or_sec 
-    WHERE inv_op.orderID = or.orderID 
-    AND or_sec.secID = sc.secID
-```
-
-All conditions are required to join the regions, so you would create four indexes, two for each equi-join condition:
-
-| FROM clause                              | Indexed expression |
-|------------------------------------------|--------------------|
-| /investors inv, inv.ordersPlaced inv\_op | inv\_op.orderID    |
-| /orders or, or.securities or\_sec        | or.orderID         |
-
-| FROM clause                       | Indexed expression |
-|-----------------------------------|--------------------|
-| /orders or, or.securities or\_sec | or\_sec.secID      |
-| /securities sc                    | sc.secID           |
-
-Adding another condition to the example:
-
-``` pre
-SELECT DISTINCT * 
-FROM /investors inv, /securities sc, /orders or, 
-inv.ordersPlaced inv_op, or.securities or_sec, sc.investors sc_invs 
-    WHERE inv_op.orderID = or.orderID 
-    AND or_sec.secID = sc.secID
-                AND inv.investorID = sc_invs.investorID
-```
-
-You would still only want to use four indexes in all, as that's all you need to join all of the regions. You would need to choose the most performant two of the following three index pairs:
-
-| FROM clause                              | Indexed expression |
-|------------------------------------------|--------------------|
-| /investors inv, inv.ordersPlaced inv\_op | inv\_op.orderID    |
-| /orders or, or.securities or\_sec        | or.orderID         |
-
-| FROM clause                           | Indexed expression |
-|---------------------------------------|--------------------|
-| /orders or, or.securities or\_sec     | or\_sec.secID      |
-| /securities sc, sc.investors sc\_invs | sc.secID           |
-
-| FROM clause                              | Indexed expression  |
-|------------------------------------------|---------------------|
-| /investors inv, inv.ordersPlaced inv\_op | inv.investorID      |
-| /securities sc, sc.investors sc\_invs    | sc\_invs.investorID |
-
-The most performant set is that which narrows the data to the smallest result set possible. Examine your data and experiment with the three index pairs to see which provides the best performance.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_select/aggregates.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_select/aggregates.html.md.erb b/developing/query_select/aggregates.html.md.erb
deleted file mode 100644
index 1a4e0aa..0000000
--- a/developing/query_select/aggregates.html.md.erb
+++ /dev/null
@@ -1,92 +0,0 @@
----
-title:  OQL Aggregate Functions
----
-
-The aggregate functions 
-```MIN```,
-```MAX```,
-```AVG```,
-```AVG``` over a DISTINCT expression,
-```SUM``` over a DISTINCT expression,
-```COUNT```, and
-```COUNT``` over a DISTINCT expression
-are supported.
-The ```GROUP BY``` extension is also supported where appropriate.
-
-The ```MIN``` function returns the smallest of the selected
-expression.
-The type of the expression must evaluate to a 
-```java.lang.Comparable```.
-
-The ```MAX``` function returns the largest of the selected
-expression.
-The type of the expression must evaluate to a 
-```java.lang.Comparable```.
-
-The ```AVG``` function returns the arithmetic mean of the set
-formed by the selected expression.
-The type of the expression must evaluate to a 
-```java.lang.Number```.
-For partitioned regions,
-each node's buckets provide both a sum and the number of elements
-to the node executing the query,
-such that a correct average may be computed.
-
-The ```AVG``` function where the DISTINCT modifier is applied
-to the expression returns the arithmetic mean of the set
-of unique (distinct) values.
-The type of the expression must evaluate to a 
-```java.lang.Number```.
-For partitioned regions,
-the distinct values in a node's buckets are returned
-to the node executing the query.
-The query node can then calculate the avarage over
-the values that are unique across nodes,
-after eliminating duplicate values that come from separate nodes.
-
-The ```SUM``` function returns the sum over the set
-formed by the selected expression.
-The type of the expression must evaluate to a 
-```java.lang.Number```.
-For partitioned regions,
-each node's buckets compute a sum over that node,
-returning that sum
-to the node executing the query,
-when then sums across all nodes.
-
-The ```SUM``` function where the DISTINCT modifier is applied
-to the expression returns the sum over the set
-of unique (distinct) values.
-The type of the expression must evaluate to a 
-```java.lang.Number```.
-For partitioned regions,
-the distinct values in a node's buckets are returned
-to the node executing the query.
-The query node can then calculate the sum over
-the values that are unique across nodes,
-after eliminating duplicate values that come from separate nodes.
-
-The ```COUNT``` function returns the quantity of values in the set
-formed by the selected expression.
-For example, to return the quantity of employees who have a
-positive sales amount:
-
-``` pre
-SELECT count(e.sales) FROM /employees e WHERE e.sales > 0.0
-```
-
-The ```COUNT``` function where the DISTINCT modifier is applied
-returns the quantity of unique (distinct) values in the set
-formed by the selected expression.
-
-## GROUP BY Extension for Aggregate Functions
-
-```GROUP BY``` is required 
-when aggregate functions are used in combination
-with other selected items.
-It permits ordering.
-For example,
-
-``` pre
-SELECT ID, MAX(e.sales) FROM /employees e GROUP BY ID
-```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_select/the_from_clause.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_select/the_from_clause.html.md.erb b/developing/query_select/the_from_clause.html.md.erb
deleted file mode 100644
index 2ecc2e8..0000000
--- a/developing/query_select/the_from_clause.html.md.erb
+++ /dev/null
@@ -1,86 +0,0 @@
----
-title:  FROM Clause
----
-
-<a id="the_from_clause__section_FAEBC02C4E414F91B1CA8D33E11218AF"></a>
-Use the FROM clause to bring the data you need into scope for the rest of your query. The FROM clause also includes object typing and iterator variables.
-
-The query engine resolves names and path expressions according to the name space that is currently in scope in the query.
-
-## <a id="the_from_clause__section_CF6063A6C5134EFC89C43D106B6A6D4D" class="no-quick-link"></a>Path Expressions
-
-The initial name space for any query is composed of:
-
--   **Regions.** In the context of a query, the name of a region is specified by its full path starting with a forward slash ( / ) and delimited by the forward slash between region names. For example, **/exampleRegion** or **/root/exampleRegion**.
--   **Region querying attributes**. From a region path, you can access the Region object's public fields and methods, referred to in querying as the region's attributes. For example, **/exampleRegion.size**.
--   **Top-level region data.** You can access entry keys and entry data through the region path.
-    1.  `/exampleRegion.keySet` returns the Set of entry keys in the region
-    2.  `/exampleRegion.entryset` returns the Set of Region.Entry objects
-    3.  `/exampleRegion.values` returns the Collection of entry values
-    4.  `/exampleRegion` returns the Collection of entry values
-
-New name spaces are brought into scope based on the FROM clause in the SELECT statement.
-
-**Examples:**
-
-Query a region for all distinct values. Return a collection of unique entry values from the region:
-
-``` pre
-SELECT DISTINCT * FROM /exampleRegion
-```
-
-Query the top level region data using entrySet. Return the keys and positions of Region.Entry objects whose mktValue attribute is greater than 25.00:
-
-``` pre
-SELECT key, positions FROM /exampleRegion.entrySet, value.positions.values positions WHERE positions.mktValue >= 25.00
-```
-
-Query the region for its entry values. Return a set of unique values from Region.Entry objects that have the key equal to 1:
-
-``` pre
-SELECT DISTINCT entry.value FROM /exampleRegion.entries entry WHERE entry.key = '1'
-```
-
-Query the region for its entry values. Return the set of all entry values in which the `ID` field is greater than 1000:
-
-``` pre
-SELECT * FROM /exampleRegion.entries entry WHERE entry.value.ID > 1000
-```
-
-Query entry keys in the region. Return a set of entry keys in the region that have the key equal to '1':
-
-``` pre
-SELECT * FROM /exampleRegion.keySet key WHERE key = '1'
-```
-
-Query values in the region. Return a collection of entry values in the region that have the status attribute value of 'active':
-
-``` pre
-SELECT * FROM /exampleRegion.values portfolio WHERE portfolio.status = 'active'
-```
-
-## <a id="the_from_clause__section_AB1734C16DC348479C00FD6829B933AA" class="no-quick-link"></a>Aliases and Synonyms
-
-In query strings, you can use aliases in path expressions (region and its objects) so that you can refer to the region or objects in other places in the query.
-
-You can also use the **AS** keyword to provide a label for joined path expressions.
-
-**Examples:**
-
-``` pre
-SELECT DISTINCT * FROM /exampleRegion p WHERE p.status = 'active'
-```
-
-``` pre
-SELECT * FROM /exampleRegion p, p.positions.values AS pos WHERE pos.secId != '1'
-```
-
-## <a id="the_from_clause__section_A5B42CCB7C924949954AEC2DAAD51134" class="no-quick-link"></a>Object Typing
-
-Specifying object type in the FROM clause helps the query engine to process the query at optimal speed. Apart from specifying the object types during configuration (using key-constraint and value-constraint), type can be explicitly specified in the query string.
-
-**Example:**
-
-``` pre
-SELECT DISTINCT * FROM /exampleRegion, positions.values positions TYPE Position WHERE positions.mktValue >= 25.00
-```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_select/the_import_statement.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_select/the_import_statement.html.md.erb b/developing/query_select/the_import_statement.html.md.erb
deleted file mode 100644
index 1269f79..0000000
--- a/developing/query_select/the_import_statement.html.md.erb
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title:  IMPORT Statement
----
-
-It is sometimes necessary for an OQL query to refer to the class of an object. In cases where the same class name resides in two different namescopes (packages), you must be able to differentiate the classes having the same name.
-
-The **IMPORT** statement is used to establish a name for a class in a query.
-
-``` pre
-IMPORT package.Position;
-SELECT DISTINCT * FROM /exampleRegion, positions.values positions TYPE Position WHERE positions.mktValue >= 25.00
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_select/the_select_statement.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_select/the_select_statement.html.md.erb b/developing/query_select/the_select_statement.html.md.erb
deleted file mode 100644
index 04d14df..0000000
--- a/developing/query_select/the_select_statement.html.md.erb
+++ /dev/null
@@ -1,203 +0,0 @@
----
-title:  SELECT Statement
----
-
-The SELECT statement allows you to filter data from the collection of object(s) returned by a WHERE search operation. The projection list is either specified as \* or as a comma delimited list of expressions.
-
-For \*, the interim results of the WHERE clause are returned from the query.
-
-**Examples:**
-
-Query all objects from the region using \*. Returns the Collection of portfolios (The exampleRegion contains Portfolio as values).
-
-``` pre
-SELECT * FROM /exampleRegion
-```
-
-Query secIds from positions. Returns the Collection of secIds from the positions of active portfolios:
-
-``` pre
-SELECT secId FROM /exampleRegion, positions.values TYPE Position 
-WHERE status = 'active'
-```
-
-Returns a Collection of struct&lt;type: String, positions: map&gt; for the active portfolios. The second field of the struct is a Map ( jav.utils.Map ) object, which contains the positions map as the value:
-
-``` pre
-SELECT "type", positions FROM /exampleRegion 
-WHERE status = 'active'
-```
-
-Returns a Collection of struct&lt;portfolios: Portfolio, values: Position&gt; for the active portfolios:
-
-``` pre
-SELECT * FROM /exampleRegion, positions.values 
-TYPE Position WHERE status = 'active'
-```
-
-Returns a Collection of struct&lt;pflo: Portfolio, posn: Position&gt; for the active portfolios:
-
-``` pre
-SELECT * FROM /exampleRegion portfolio, positions positions 
-TYPE Position WHERE portfolio.status = 'active'
-```
-
-## <a id="concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_1B7762EC686A4808B1D12E8851954E82" class="no-quick-link"></a>SELECT Statement Results
-
-The result of a SELECT statement is either UNDEFINED or is a Collection that implements the [SelectResults](/releases/latest/javadoc/org/apache/geode/cache/query/SelectResults.html) interface.
-
-The SelectResults returned from the SELECT statement is either:
-
-1.  A collection of objects, returned for these two cases:
-    -   When only one expression is specified by the projection list and that expression is not explicitly specified using the fieldname:expression syntax
-    -   When the SELECT list is \* and a single collection is specified in the FROM clause
-
-2.  A collection of Structs that contains the objects
-
-When a struct is returned, the name of each field in the struct is determined following this order of preference:
-
-1.  If a field is specified explicitly using the fieldname:expression syntax, the fieldname is used.
-2.  If the SELECT projection list is \* and an explicit iterator expression is used in the FROM clause, the iterator variable name is used as the field name.
-3.  If the field is associated with a region or attribute path, the last attribute name in the path is used.
-4.  If names cannot be decided based on these rules, arbitrary unique names are generated by the query processor.
-
-## <a id="concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_972EE73A6F3E4427B6A99DB4EDF5860D" class="no-quick-link"></a>DISTINCT
-
-Use the DISTINCT keyword if you want to limit the results set to unique rows. Note that in the current version of Geode you are no longer required to use the DISTINCT keyword in your SELECT statement.
-
-``` pre
-SELECT DISTINCT * FROM /exampleRegion
-```
-
-**Note:**
-If you are using DISTINCT queries, you must implement the equals and hashCode methods for the objects that you query.
-
-## <a id="concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_25D7055B33EC47B19B1B70264B39212F" class="no-quick-link"></a>LIMIT
-
-You can use the LIMIT keyword at the end of the query string to limit the number of values returned.
-
-For example, this query returns at most 10 values:
-
-``` pre
-SELECT * FROM /exampleRegion LIMIT 10
-```
-
-## <a id="concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_D9DF0F785CA94EF8B367C3326CC12990" class="no-quick-link"></a>ORDER BY
-
-You can order your query results in ascending or descending order by using the ORDER BY clause. You must use DISTINCT when you write ORDER BY queries.
-
-``` pre
-SELECT DISTINCT * FROM /exampleRegion WHERE ID < 101 ORDER BY ID
-```
-
-The following query sorts the results in ascending order:
-
-``` pre
-SELECT DISTINCT * FROM /exampleRegion WHERE ID < 101 ORDER BY ID asc
-```
-
-The following query sorts the results in descending order:
-
-``` pre
-SELECT DISTINCT * FROM /exampleRegion WHERE ID < 101 ORDER BY ID desc
-```
-
-**Note:**
-If you are using ORDER BY queries, you must implement the equals and hashCode methods for the objects that you query.
-
-## <a id="concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_69DCAD624E9640028BC86FD67649DEB2" class="no-quick-link"></a>Preset Query Functions
-
-Geode provides several built-in functions for evaluating or filtering data returned from a query. They include the following:
-
-<table>
-<colgroup>
-<col width="33%" />
-<col width="33%" />
-<col width="33%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th>Function</th>
-<th>Description</th>
-<th>Example</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td>ELEMENT(expr)</td>
-<td>Extracts a single element from a collection or array. This function throws a <code class="ph codeph">FunctionDomainException</code> if the argument is not a collection or array with exactly one element.</td>
-<td><pre class="pre codeblock"><code>ELEMENT(SELECT DISTINCT * 
- FROM /exampleRegion 
- WHERE id = &#39;XYZ-1&#39;).status = &#39;active&#39;</code></pre></td>
-</tr>
-<tr class="even">
-<td>IS_DEFINED(expr)</td>
-<td>Returns TRUE if the expression does not evaluate to UNDEFINED.</td>
-<td><pre class="pre codeblock"><code>IS_DEFINED(SELECT DISTINCT * 
-FROM /exampleRegion p 
-WHERE p.status = &#39;active&#39;)</code></pre></td>
-</tr>
-<tr class="odd">
-<td>IS_UNDEFINED (expr)</td>
-<td>Returns TRUE if the expression evaluates to UNDEFINED. In most queries, undefined values are not included in the query results. The IS_UNDEFINED function allows undefined values to be included, so you can identify element with undefined values.</td>
-<td><pre class="pre codeblock"><code>SELECT DISTINCT * 
-FROM /exampleRegion p 
-WHERE IS_UNDEFINED(p.status)</code></pre></td>
-</tr>
-<tr class="even">
-<td>NVL(expr1, expr2)</td>
-<td>Returns expr2 if expr1 is null. The expressions can be query parameters (bind arguments), path expressions, or literals.</td>
-<td>�</td>
-</tr>
-<tr class="odd">
-<td>TO_DATE(date_str, format_str)</td>
-<td>Returns a Java Data class object. The arguments must be String S with date_str representing the date and format_str representing the format used by date_str. The format_str you provide is parsed using java.text.SimpleDateFormat.</td>
-<td>�</td>
-</tr>
-</tbody>
-</table>
-
-## <a id="concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_B2CBA00EB83F463DAF4769D7859C64C8" class="no-quick-link"></a>COUNT
-
-The COUNT keyword returns the number of results that match the query selection conditions specified in the WHERE clause. Using COUNT allows you to determine the size of a results set. The COUNT statement always returns an integer as its result.
-
-The following queries are example COUNT queries that return region entries:
-
-``` pre
-SELECT COUNT(*) FROM /exampleRegion
-```
-
-``` pre
-SELECT COUNT(*) FROM /exampleRegion WHERE ID > 0
-```
-
-``` pre
-SELECT COUNT(*) FROM /exampleRegion WHERE ID > 0 LIMIT 50
-```
-
-``` pre
-SELECT COUNT(*) FROM /exampleRegion 
-WHERE ID >0 AND status LIKE 'act%'
-```
-
-``` pre
-SELECT COUNT(*) FROM /exampleRegion 
-WHERE ID IN SET(1,2,3,4,5)
-```
-
-The following COUNT query returns the total number of StructTypes that match the query's selection criteria.
-
-``` pre
-SELECT COUNT(*) 
-FROM /exampleRegion p, p.positions.values pos 
-WHERE p.ID > 0 AND pos.secId 'IBM'
-```
-
-The following COUNT query uses the DISTINCT keyword and eliminates duplicates from the number of results.
-
-``` pre
-SELECT DISTINCT COUNT(*)
-FROM /exampleRegion p, p.positions.values pos
-WHERE p.ID > 0 OR p.status = 'active' OR pos.secId
-OR pos.secId = 'IBM'
-```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_select/the_where_clause.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_select/the_where_clause.html.md.erb b/developing/query_select/the_where_clause.html.md.erb
deleted file mode 100644
index fd2405e..0000000
--- a/developing/query_select/the_where_clause.html.md.erb
+++ /dev/null
@@ -1,336 +0,0 @@
----
-title:  WHERE Clause
----
-
-<a id="the_where_clause__section_56BB3A7F44124CA9BFBC20E19399C6E4"></a>
-Each FROM clause expression must resolve to a collection of objects. The collection is then available for iteration in the query expressions that follow in the WHERE clause.
-
-For example:
-
-``` pre
-SELECT DISTINCT * FROM /exampleRegion p WHERE p.status = 'active'
-```
-
-The entry value collection is iterated by the WHERE clause, comparing the status field to the string 'active'. When a match is found, the value object of the entry is added to the return set.
-
-In the next example query, the collection specified in the first FROM clause expression is used by the rest of the SELECT statement, including the second FROM clause expression.
-
-``` pre
-SELECT DISTINCT * FROM /exampleRegion, positions.values p WHERE p.qty > 1000.00
-```
-
-## <a id="the_where_clause__section_99CA3FA508B740DCBAB4F01F8F9B1390" class="no-quick-link"></a>Implementing equals and hashCode Methods
-
-You must implement the `equals` and `hashCode` methods in your custom objects if you are doing ORDER BY and DISTINCT queries on the objects. The methods must conform to the properties and behavior documented in the online Java API documentation for `java.lang.Object`. Inconsistent query results may occur if these methods are absent.
-
-If you have implemented `equals` and `hashCode` methods in your custom objects, you must provide detailed implementations of these methods so that queries execute properly against the objects. For example, assume that you have defined a custom object (CustomObject) with the following variables:
-
-``` pre
-int ID
-int otherValue
-```
-
-Let's put two CustomObjects (we'll call them CustomObjectA and CustomObjectB) into the cache:
-
-CustomObjectA:
-
-``` pre
-ID=1
-otherValue=1
-```
-
-CustomObjectB:
-
-``` pre
-ID=1
-otherValue=2
-```
-
-If you have implemented the equals method to simply match on the ID field (ID == ID), queries will produce unpredictable results.
-
-The following query:
-
-``` pre
-SELECT * FROM /CustomObjects c 
-WHERE c.ID > 1 AND c.ID < 3 
-AND c.otherValue > 0 AND c.otherValue < 3
-```
-
-returns two objects, however the objects will be two of either CustomObjectA or CustomObjectB.
-
-Alternately, the following query:
-
-``` pre
-SELECT * FROM /CustomObjects c 
-WHERE c.ID > 1 AND c.ID < 3 
-AND c.otherValue > 1 AND c.otherValue < 3
-```
-
-returns either 0 results or 2 results of CustomObjectB, depending on which entry is evaluated last.
-
-To avoid unpredictable querying behavior, implement detailed versions of the `equals` and `hashCode` methods.
-
-If you are comparing a non-primitive field of the object in the WHERE clause, use the `equals` method instead of the `=` operator. For example instead of `nonPrimitiveObj = objToBeCompared` use `nonPrimitiveObj.equals(objToBeCompared)`.
-
-## <a id="the_where_clause__section_7484AD999D01473385628246697F37F6" class="no-quick-link"></a>Querying Serialized Objects
-
-Objects must implement serializable if you will be querying partitioned regions or if you are performing client-server querying.
-
-If you are using PDX serialization, you can access the values of individual fields without having to deserialize the entire object. This is accomplished by using PdxInstance, which is a wrapper around the serialized stream. The PdxInstance provides a helper method that takes field-name and returns the value without deserializing the object. While evaluating the query, the query engine will access field values by calling the getField method thus avoiding deserialization.
-
-To use PdxInstances in querying, ensure that PDX serialization reads are enabled in your server's cache. In gfsh, execute the following command before starting up your data members:
-
-``` pre
-gfsh>configure pdx --read-serialized=true
-```
-
-See [configure pdx](../../tools_modules/gfsh/command-pages/configure.html#topic_jdkdiqbgphqh) for more information.
-
-In cache.xml, set the following:
-
-``` pre
-// Cache configuration setting PDX read behavior 
-<cache>
-  <pdx read-serialized="true">
-  ...
-  </pdx>
-</cache>
-```
-
-## <a id="the_where_clause__section_75A114F9FEBF40A586621CAA1780DBD3" class="no-quick-link"></a>Attribute Visibility
-
-You can access any object or object attribute that is available in the current scope of a query. In querying, an object's attribute is any identifier that can be mapped to a public field or method in the object. In the FROM specification, any object that is in scope is valid. Therefore, at the beginning of a query, all locally cached regions and their attributes are in scope.
-
-For attribute Position.secId which is public and has getter method "getSecId()", the query can be written as the following:
-
-``` pre
-SELECT DISTINCT * FROM /exampleRegion p WHERE p.position1.secId = '1'
-SELECT DISTINCT * FROM /exampleRegion p WHERE p.position1.SecId = '1'
-SELECT DISTINCT * FROM /exampleRegion p WHERE p.position1.getSecId() = '1'
-```
-
-The query engine tries to evaluate the value using the public field value. If a public field value is not found, it makes a get call using field name (note that the first character is uppercase.)
-
-## <a id="the_where_clause__section_EB7B976238104C0EACD959C52E5BD75B" class="no-quick-link"></a>Joins
-
-If collections in the FROM clause are not related to each other, the WHERE clause can be used to join them.
-
-The statement below returns all portfolios from the /exampleRegion and /exampleRegion2 regions that have the same status.
-
-``` pre
-SELECT * FROM /exampleRegion portfolio1, /exampleRegion2 portfolio2 WHERE portfolio1.status = portfolio2.status
-```
-
-To create indexes for region joins you create single-region indexes for both sides of the join condition. These are used during query execution for the join condition. Partitioned regions do not support region joins. For more information on indexes, see [Working with Indexes](../query_index/query_index.html).
-
-**Examples:**
-
-Query two regions. Return the ID and status for portfolios that have the same status.
-
-``` pre
-SELECT portfolio1.ID, portfolio2.status FROM /exampleRegion portfolio1, /exampleRegion2 portfolio2 WHERE portfolio1.status = portfolio2.status
-```
-
-Query two regions, iterating over all `positions` within each portfolio. Return all 4-tuples consisting of the value from each of the two regions and the value portion of the `positions` map from both regions in which the `secId` field of positions match.
-
-``` pre
-SELECT * FROM /exampleRegion portfolio1, portfolio1.positions.values positions1, /exampleRegion2 portfolio2, portfolio2.positions.values positions2 WHERE positions1.secId = positions2.secId
-```
-
-Same query as the previous example, with the additional constraint that matches will have a `ID` of 1.
-
-``` pre
-SELECT * FROM /exampleRegion portfolio1, portfolio1.positions.values positions1, /exampleRegion2 portfolio2, portfolio2.positions.values positions2 WHERE portfolio1.ID = 1 AND positions1.secId = positions2.secId
-```
-
-## <a id="the_where_clause__section_D91E0B06FFF6431490CC0BFA369425AD" class="no-quick-link"></a>LIKE
-
-Geode offers limited support for the LIKE predicate. LIKE can be used to mean 'equals to'. If you terminate the string with a wildcard ('%'), it behaves like 'starts with'. You can also place a wildcard (either '%' or '\_') at any other position in the comparison string. You can escape the wildcard characters to represent the characters themselves.
-
-**Note:**
-The '\*' wildcard is not supported in OQL LIKE predicates.
-
-You can also use the LIKE predicate when an index is present.
-
-**Examples:**
-
-Query the region. Return all objects where status equals 'active':
-
-``` pre
-SELECT * FROM /exampleRegion p WHERE p.status LIKE 'active'
-```
-
-Query the region using a wild card for comparison. Returns all objects where status begins with 'activ':
-
-``` pre
-SELECT * FROM /exampleRegion p WHERE p.status LIKE 'activ%'
-```
-
-## Case Insensitive Fields
-
-You can use the Java String class methods `toUpperCase` and `toLowerCase` to transform fields where you want to perform a case-insensitive search. For example:
-
-``` pre
-SELECT entry.value FROM /exampleRegion.entries entry WHERE entry.value.toUpperCase LIKE '%BAR%'
-```
-
-or
-
-``` pre
-SELECT * FROM /exampleRegion WHERE foo.toLowerCase LIKE '%bar%'
-```
-
-## <a id="the_where_clause__section_D2F8D17B52B04895B672E2FCD675A676" class="no-quick-link"></a>Method Invocations
-
-To use a method in a query, use the attribute name that maps to the public method you want to invoke.
-
-``` pre
-SELECT DISTINCT * FROM /exampleRegion p WHERE p.positions.size >= 2 - maps to positions.size()
-```
-
-Methods declared to return void evaluate to null when invoked through the query processor.
-
-You cannot invoke a static method. See [Enum Objects](the_where_clause.html#the_where_clause__section_59E7D64746AE495D942F2F09EF7DB9B5) for more information.
-
-**Methods without parameters**
-
-If the attribute name maps to a public method that takes no parameters, just include the method name in the query string as an attribute. For example, emps.isEmpty is equivalent to emps.isEmpty().
-
-In the following example, the query invokes isEmpty on positions, and returns the set of all portfolios with no positions:
-
-``` pre
-SELECT DISTINCT * FROM /exampleRegion p WHERE p.positions.isEmpty
-```
-
-**Methods with parameters**
-
-To invoke methods with parameters, include the method name in the query string as an attribute and provide method arguments between parentheses.
-
-This example passes the argument "Bo" to the public method, and returns all names that begin with "Bo".
-
-``` pre
-SELECT DISTINCT * FROM /exampleRegion p WHERE p.name.startsWith('Bo')
-```
-
-For overloaded methods, the query processor decides which method to call by matching the runtime argument types with the parameter types required by the method. If only one method's signature matches the parameters provided, it is invoked. The query processor uses runtime types to match method signatures.
-
-If more than one method can be invoked, the query processor chooses the method whose parameter types are the most specific for the given arguments. For example, if an overloaded method includes versions with the same number of arguments, but one takes a Person type as an argument and the other takes an Employee type, derived from Person, Employee is the more specific object type. If the argument passed to the method is compatible with both types, the query processor uses the method with the Employee parameter type.
-
-The query processor uses the runtime types of the parameters and the receiver to determine the proper method to invoke. Because runtime types are used, an argument with a null value has no typing information, and so can be matched with any object type parameter. When a null argument is used, if the query processor cannot determine the proper method to invoke based on the non-null arguments, it throws an `AmbiguousNameException`.
-
-## <a id="the_where_clause__section_59E7D64746AE495D942F2F09EF7DB9B5" class="no-quick-link"></a>Enum Objects
-
-To write a query based on the value of an Enum object field, you must use the `toString` method of the enum object or use a query bind parameter.
-
-For example, the following query is NOT valid:
-
-``` pre
-//INVALID QUERY
-select distinct * from /QueryRegion0 where aDay = Day.Wednesday
-```
-
-The reason it is invalid is that the call to `Day.Wednesday` involves a static class and method invocation which is not supported.
-
-Enum types can be queried by using toString method of the enum object or by using bind parameter. When you query using the toString method, you must already know the constraint value that you wish to query. In the following first example, the known value is 'active'.
-
-**Examples:**
-
-Query enum type using the toString method:
-
-``` pre
-// eStatus is an enum with values 'active' and 'inactive'
-select * from /exampleRegion p where p.eStatus.toString() = 'active'
-```
-
-Query enum type using a bind parameter. The value of the desired Enum field ( Day.Wednesday) is passed as an execution parameter:
-
-``` pre
-select distinct * from /QueryRegion0 where aDay = $1
-```
-
-## <a id="the_where_clause__section_AC12146509F141378E493078540950C7" class="no-quick-link"></a>IN and SET
-
-The IN expression is a boolean indicating if one expression is present inside a collection of expressions of compatible type. The determination is based on the expressions' equals semantics.
-
-If `e1` and `e2` are expressions, `e2` is a collection, and `e1` is an object or a literal whose type is a subtype or the same type as the elements of `e2`, then `e1 IN                     e2` is an expression of type boolean.
-
-The expression returns:
-
--   TRUE if e1 is not UNDEFINED and is contained in collection e2
--   FALSE if e1 is not UNDEFINED and is not contained in collection e2 \#
--   UNDEFINED if e1 is UNDEFINED
-
-For example, `2 IN SET(1, 2, 3)` is TRUE.
-
-Another example is when the collection you are querying into is defined by a subquery. This query looks for companies that have an active portfolio on file:
-
-``` pre
-SELECT name, address FROM /company 
-  WHERE id IN (SELECT id FROM /portfolios WHERE status = 'active')
-```
-
-The interior SELECT statement returns a collection of ids for all /portfolios entries whose status is active. The exterior SELECT iterates over /company, comparing each entry\u2019s id with this collection. For each entry, if the IN expression returns TRUE, the associated name and address are added to the outer SELECT\u2019s collection.
-
-**Comparing Set Values**
-
-The following is an example of a set value type comparison where sp is of type Set:
-
-``` pre
-SELECT * FROM /exampleRegion WHERE sp = set('20','21','22')
-```
-
-In this case, if sp only contains '20' and '21', then the query will evalute to false. The query compares the two sets and looks for the presence of all elements in both sets.
-
-For other collections types like list, the query can be written as follows:
-
-``` pre
-SELECT * FROM /exampleRegion WHERE sp.containsAll(set('20','21','22))
-```
-
-where sp is of type List.
-
-In order to use it for Set value, the query can be written as:
-
-``` pre
-SELECT * FROM /exampleRegion WHERE sp IN SET (set('20','21','22'),set('10',11','12'))
-```
-
-where a set value is searched in collection of set values.
-
-One problem is that you cannot create indexes on Set or List types (collection types) that are not comparable. To workaround this, you can create an index on a custom collection type that implements Comparable.
-
-## <a id="the_where_clause__section_E7206D045BEC4F67A8D2B793922BF213" class="no-quick-link"></a>Double.NaN and Float.NaN Comparisons
-
-The comparison behavior of Double.NaN and Float.NaN within Geode queries follow the semantics of the JDK methods Float.compareTo and Double.compareTo.
-
-In summary, the comparisons differ in the following ways from those performed by the Java language numerical comparison operators (<, <=, ==, >= >) when applied to primitive double [float] values:
-
--   Double.NaN \[Float.NaN\] is considered to be equal to itself and greater than all other double \[float\] values (including Double.POSITIVE\_INFINITY \[Float.POSITIVE\_INFINITY\]).
--   0.0d \[0.0f\] is considered by this method to be greater than -0.0d \[-0.0f\].
-
-Therefore, Double.NaN\[Float.NaN\] is considered to be larger than Double.POSITIVE\_INFINITY\[Float.POSITIVE\_INFINITY\]. Here are some example queries and what to expect.
-
-| If p.value is NaN, the following query:                                                        | Evaluates to:     | Appears in the result set?     |
-|------------------------------------------------------------------------------------------------|-------------------|--------------------------------|
-| `SELECT * FROM /positions p WHERE                                         p.value = 0`         | false             | no                             |
-| `SELECT * FROM /positions p WHERE                                         p.value > 0`         | true              | yes                            |
-| `SELECT * FROM /positions p WHERE                                         p.value >= 0`        | true              | yes                            |
-| `SELECT * FROM /positions p WHERE                                         p.value < 0`         | false             | no                             |
-| `SELECT * FROM /positions p WHERE                                         p.value <= 0`        | false             | no                             |
-| **When p.value and p.value1 are both NaN, the following query:**                               | **Evaluates to:** | **Appears in the result set:** |
-| `SELECT * FROM /positions p WHERE                                         p.value = p.value1 ` | true              | yes                            |
-
-If you combine values when defining the following query in your code, when the query is executed the value itself is considered UNDEFINED when parsed and will not be returned in the result set.
-
-``` pre
-String query = "SELECT * FROM /positions p WHERE p.value =" + Float.NaN
-```
-
-Executing this query, the value itself is considered UNDEFINED when parsed and will not be returned in the result set.
-
-To retrieve NaN values without having another field already stored as NaN, you can define the following query in your code:
-
-``` pre
-String query = "SELECT * FROM /positions p WHERE p.value > " + Float.MAX_VALUE;
-        
-```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/querying_basics/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/querying_basics/chapter_overview.html.md.erb b/developing/querying_basics/chapter_overview.html.md.erb
deleted file mode 100644
index 27611d0..0000000
--- a/developing/querying_basics/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title:  Querying
----
-
-Geode provides a SQL-like querying language called OQL that allows you to access data stored in Geode regions.
-
-Since Geode regions are key-value stores where values can range from simple byte arrays to complex nested objects, Geode uses a query syntax based on OQL (Object Query Language) to query region data. OQL is very similar to SQL, but OQL allows you to query complex objects, object attributes, and methods.
-
--   **[Geode Querying FAQ and Examples](../../getting_started/querying_quick_reference.html)**
-
-    This topic answers some frequently asked questions on querying functionality. It provides examples to help you get started with Geode querying.
-
--   **[Basic Querying](../../developing/querying_basics/query_basics.html)**
-
-    This section provides a high-level introduction to Geode querying such as building a query string and describes query language features.
-
--   **[Advanced Querying](../../developing/query_additional/advanced_querying.html)**
-
-    This section includes advanced querying topics such as using query indexes, using query bind parameters, querying partitioned regions and query debugging.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/querying_basics/comments_in_query_strings.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/querying_basics/comments_in_query_strings.html.md.erb b/developing/querying_basics/comments_in_query_strings.html.md.erb
deleted file mode 100644
index 5125609..0000000
--- a/developing/querying_basics/comments_in_query_strings.html.md.erb
+++ /dev/null
@@ -1,13 +0,0 @@
----
-title:  Comments in Query Strings
----
-
-Comment lines being with `--` (double dash). Comment blocks begin with `/*` and end with `*/`. For example:
-
-``` pre
-SELECT * --my comment 
-FROM /exampleRegion /* here is
-a comment */ WHERE status = \u2018active\u2019
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/querying_basics/monitor_queries_for_low_memory.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/querying_basics/monitor_queries_for_low_memory.html.md.erb b/developing/querying_basics/monitor_queries_for_low_memory.html.md.erb
deleted file mode 100644
index 3064b70..0000000
--- a/developing/querying_basics/monitor_queries_for_low_memory.html.md.erb
+++ /dev/null
@@ -1,24 +0,0 @@
----
-title: Monitoring Queries for Low Memory
----
-
-<a id="topic_685CED6DE7D0449DB8816E8ABC1A6E6F"></a>
-
-
-The query monitoring feature prevents out-of-memory exceptions from occurring when you execute queries or create indexes.
-
-This feature is automatically enabled when you set a `critical-heap-percentage` attribute for the resource-manager element in cache.xml or by using the `cache.getResourceManager().setCriticalHelpPercentage(float                     heapPercentage)` API. Use this feature to cancel out queries that are taking too long and to warn the user that there are low memory conditions when they are running queries or creating indexes.
-
-You can override this feature by setting the system property `gemfire.cache.DISABLE_QUERY_MONITOR_FOR_LOW_MEMORY` to true.
-
-When the query memory monitoring feature is on, the default query time out is set to five hours. You can override this value by setting a larger or smaller, non -1 value to the existing query time out system variable `gemfire.cache.MAX_QUERY_EXECUTION_TIME`.
-
-When system memory is low (as determined by the critical heap percentage threshold that you defined in cache.xml or in the getResourceManager API ), queries will throw a `QueryExecutionLowMemoryException`. Any indexes that are in the process of being created will throw an `InvalidIndexException` with the message indicating the reason.
-
-## <a id="topic_685CED6DE7D0449DB8816E8ABC1A6E6F__section_2E9DEEC9D9C94D038543DDE03BC60B20" class="no-quick-link"></a>Partitioned Region Queries and Low Memory
-
-Partitioned region queries are likely causes for out-of-memory exceptions. If query monitoring is enabled, partitioned region queries drop or ignore results that are being gathered by other servers if the executing server is low in memory.
-
-Query-monitoring does not address a scenario in which a low-level collection is expanded while the partitioned region query is gathering results. For example, if a row is added and then causes a Java level collection or array to expand, it is possible to then encounter an out-of-memory exception. This scenario is rare and is only possible if the collection size itself expands before a low memory condition is met and then expands beyond the remaining available memory. As a workaround, in the event that you encounter this situation, you may be able to tune the system by additionally lowering the `critical-heap-percentage`.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/querying_basics/oql_compared_to_sql.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/querying_basics/oql_compared_to_sql.html.md.erb b/developing/querying_basics/oql_compared_to_sql.html.md.erb
deleted file mode 100644
index df13209..0000000
--- a/developing/querying_basics/oql_compared_to_sql.html.md.erb
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title:  Advantages of OQL
----
-
-The following list describes some of the advantages of using an OQL-based querying language:
-
--   You can query on any arbitrary object
--   You can navigate object collections
--   You can invoke methods and access the behavior of objects
--   Data mapping is supported
--   You are not required to declare types. Since you do not need type definitions, you can work across multiple languages
--   You are not constrained by a schema
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/querying_basics/performance_considerations.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/querying_basics/performance_considerations.html.md.erb b/developing/querying_basics/performance_considerations.html.md.erb
deleted file mode 100644
index b37e529..0000000
--- a/developing/querying_basics/performance_considerations.html.md.erb
+++ /dev/null
@@ -1,16 +0,0 @@
----
-title:  Performance Considerations
----
-
-This topic covers considerations for improving query performance.
-
-<a id="performance_considerations__section_2DA52BD8C72A4D01982CA8A44954ADAF"></a>
-Some general performance tips:
-
--   Improve query performance whenever possible by creating indexes. See [Tips and Guidelines on Using Indexes](../query_index/indexing_guidelines.html#indexing_guidelines) for some scenarios for using indexes.
--   Use bind parameters for frequently used queries. When you use a bind parameter, the query is compiled once. This improves the subsequent performance of the query when it is re-run. See [Using Query Bind Parameters](../query_additional/using_query_bind_parameters.html#concept_173E775FE46B47DF9D7D1E40680D34DF) for more details.
--   When querying partitioned regions, execute the query using the FunctionService. This function allows you to target a particular node, which will improve performance greatly by avoiding query distribution. See [Querying a Partitioned Region on a Single Node](../query_additional/query_on_a_single_node.html#concept_30B18A6507534993BD55C2C9E0544A97) for more information.
--   Use key indexes when querying data that has been partitioned by a key or field value. See [Optimizing Queries on Data Partitioned by a Key or Field Value](../query_additional/partitioned_region_key_or_field_value.html#concept_3010014DFBC9479783B2B45982014454).
--   The size of a query result set depends on the restrictiveness of the query and the size of the total data set. A partitioned region can hold much more data than other types of regions, so there is more potential for larger result sets on partitioned region queries. This could cause the member receiving the results to run out of memory if the result set is very large.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/querying_basics/query_basics.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/querying_basics/query_basics.html.md.erb b/developing/querying_basics/query_basics.html.md.erb
deleted file mode 100644
index 89324f7..0000000
--- a/developing/querying_basics/query_basics.html.md.erb
+++ /dev/null
@@ -1,40 +0,0 @@
----
-title:  Basic Querying
----
-
-This section provides a high-level introduction to Geode querying such as building a query string and describes query language features.
-
-<a id="querying_with_oql__section_828A9660B5014DCAA883A58A45E6B51A"></a>
-Geode provides a SQL-like querying language that allows you to access data stored in Geode regions. Since Geode regions are key-value stores where values can range from simple byte arrays to complex nested objects, Geode uses a query syntax based on OQL (Object Query Language) to query region data. OQL and SQL have many syntactical similarities, however they have significant differences. For example, while OQL does not offer all of the capabilities of SQL like aggregates, OQL does allow you to execute queries on complex object graphs, query object attributes and invoke object methods.
-
-The syntax of a typical Geode OQL query is:
-
-``` pre
-[IMPORT package]
-SELECT [DISTINCT] projectionList
-FROM collection1, [collection2, \u2026]
-[WHERE clause]
-[ORDER BY order_criteria [desc]]
-```
-
-Therefore, a simple Geode OQL query resembles the following:
-
-``` pre
-SELECT DISTINCT * FROM /exampleRegion WHERE status = \u2018active\u2019
-```
-
-An important characteristic of Geode querying to note is that by default, Geode queries on the values of a region and not on keys. To obtain keys from a region, you must use the keySet path expression on the queried region. For example, `/exampleRegion.keySet`.
-
-For those new to the Geode querying, see also the [Geode Querying FAQ and Examples](../../getting_started/querying_quick_reference.html#reference_D5CE64F5FD6F4A808AEFB748C867189E).
-
--   **[Advantages of OQL](../../developing/querying_basics/oql_compared_to_sql.html)**
-
--   **[Writing and Executing a Query in Geode](../../developing/querying_basics/running_a_query.html)**
-
--   **[Building a Query String](../../developing/querying_basics/what_is_a_query_string.html)**
-
--   **[OQL Syntax and Semantics](../../developing/query_additional/query_language_features.html)**
-
--   **[Query Language Restrictions and Unsupported Features](../../developing/querying_basics/restrictions_and_unsupported_features.html)**
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/querying_basics/query_grammar_and_reserved_words.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/querying_basics/query_grammar_and_reserved_words.html.md.erb b/developing/querying_basics/query_grammar_and_reserved_words.html.md.erb
deleted file mode 100644
index bf5b564..0000000
--- a/developing/querying_basics/query_grammar_and_reserved_words.html.md.erb
+++ /dev/null
@@ -1,146 +0,0 @@
----
-title:  Query Language Grammar
----
-
-## <a id="query_grammar_and_reserved_words__section_F6DF7EBA0201463F9F19645849748D54" class="no-quick-link"></a>Language Grammar
-
-Notation used in the grammar:
-n   
-A nonterminal symbol that has to appear at some place within the grammar on the left side of a rule. All nonterminal symbols have to be derived to be terminal symbols.
-
- ***t***   
-A terminal symbol (shown in italic bold).
-
-x y   
-x followed by y
-
-x | y   
-x or y
-
-(x | y)   
-x or y
-
-\[ x \]   
-x or empty
-
-{ x }   
-A possibly empty sequence of x.
-
- *comment*   
-descriptive text
-
-Grammar list:
-
-``` pre
-symbol ::= expression
-query_program ::= [ imports semicolon ] query [semicolon]
-imports ::= import { semicolon import }
-import ::= IMPORT qualifiedName [ AS identifier ]
-query ::= selectExpr | expr
-selectExpr ::= SELECT DISTINCT projectionAttributes fromClause [ whereClause ]
-projectionAttributes ::= * | projectionList
-projectionList ::= projection { comma projection }
-projection ::= field | expr [ AS identifier ]
-field ::= identifier colon expr
-fromClause ::= FROM iteratorDef { comma iteratorDef }
-iteratorDef ::= expr [ [ AS ] identifier ] [ TYPE identifier ] | identifier IN expr [ TYPE identifier ]
-whereClause ::= WHERE expr
-expr ::= castExpr
-castExpr ::= orExpr | left_paren identifier right_paren castExpr
-orExpr ::= andExpr { OR andExpr }
-andExpr ::= equalityExpr { AND equalityExpr }
-equalityExpr ::= relationalExpr { ( = | <> | != ) relationalExpr }
-relationalExpr ::= inExpr { ( < | <= | > | >= ) inExpr }
-inExpr ::= unaryExpr { IN unaryExpr }
-unaryExpr ::= [ NOT ] unaryExpr
-postfixExpr ::= primaryExpr { left_bracket expr right_bracket }
-        | primaryExpr { dot identifier [ argList ] }
-argList ::= left_paren [ valueList ] right_paren
-qualifiedName ::= identifier { dot identifier }
-primaryExpr ::= functionExpr
-        | identifier [ argList ]
-        | undefinedExpr
-        | collectionConstruction
-        | queryParam
-        | literal
-        | ( query )
-        | region_path
-functionExpr ::= ELEMENT left_paren query right_paren
-        | NVL left_paren query comma query right_paren
-        | TO_DATE left_paren query right_paren
-undefinedExpr ::= IS_UNDEFINED left_paren query right_paren
-        | IS_DEFINED left_paren query right_paren
-collectionConstruction ::= SET left_paren [ valueList ] right_paren
-valueList ::= expr { comma expr }
-queryParam ::= $ integerLiteral
-region_path ::= forward_slash region_name { forward_slash region_name }
-region_name ::= name_character { name_character }
-identifier ::= letter { name_character }
-literal ::= booleanLiteral
-        | integerLiteral
-        | longLiteral
-        | doubleLiteral
-        | floatLiteral
-        | charLiteral
-        | stringLiteral
-        | dateLiteral
-        | timeLiteral
-        | timestampLiteral
-        | NULL
-        | UNDEFINED
-booleanLiteral ::= TRUE | FALSE
-integerLiteral ::= [ dash ] digit { digit }
-longLiteral ::= integerLiteral L
-floatLiteral ::= [ dash ] digit { digit } dot digit { digit } [ ( E | e ) [ plus | dash ] digit { digit } ] F
-doubleLiteral ::= [ dash ] digit { digit } dot digit { digit } [ ( E | e ) [ plus | dash ] digit { digit } ] [ D ]
-charLiteral ::= CHAR single_quote character single_quote
-stringLiteral ::= single_quote { character } single_quote
-dateLiteral ::= DATE single_quote integerLiteral dash integerLiteral dash integerLiteral single_quote
-timeLiteral ::= TIME single_quote integerLiteral colon
-        integerLiteral colon integerLiteral single_quote
-timestampLiteral ::= TIMESTAMP single_quote
-        integerLiteral dash integerLiteral dash integerLiteral integerLiteral colon
-        integerLiteral colon
-        digit { digit } [ dot digit { digit } ] single_quote
-letter ::= any unicode letter
-character ::= any unicode character except 0xFFFF
-name_character ::= letter | digit | underscore
-digit ::= any unicode digit 
-```
-
-The expressions in the following are all terminal characters:
-
-``` pre
-dot ::= .
-left_paren ::= (
-right_paren ::= )
-left_bracket ::= [
-right_bracket ::= ]
-single_quote ::= \u2019
-underscore ::= _
-forward_slash ::= /
-comma ::= ,
-semicolon ::= ;
-colon ::= :
-dash ::= -
-plus ::= +
-            
-```
-
-## <a id="query_grammar_and_reserved_words__section_B074373F2ED44DC7B98652E70ABC5D5D" class="no-quick-link"></a>Language Notes
-
--   Query language keywords such as SELECT, NULL, and DATE are case-insensitive. Identifiers such as attribute names, method names, and path expressions are case-sensitive.
--   Comment lines begin with -- (double dash).
--   Comment blocks begin with /\* and end with \*/.
--   String literals are delimited by single-quotes. Embedded single-quotes are doubled.
-
-    Examples:
-
-    ``` pre
-    'Hello' value = Hello
-    'He said, ''Hello''' value = He said, 'Hello'
-    ```
-
--   Character literals begin with the CHAR keyword followed by the character in single quotation marks. The single-quotation mark character itself is represented as `CHAR ''''` (with four single quotation marks).
--   In the TIMESTAMP literal, there is a maximum of nine digits after the decimal point.
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/querying_basics/querying_partitioned_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/querying_basics/querying_partitioned_regions.html.md.erb b/developing/querying_basics/querying_partitioned_regions.html.md.erb
deleted file mode 100644
index 14e7f09..0000000
--- a/developing/querying_basics/querying_partitioned_regions.html.md.erb
+++ /dev/null
@@ -1,24 +0,0 @@
----
-title:  Querying Partitioned Regions
----
-
-Geode allows you to manage and store large amounts of data across distributed nodes using partitioned regions. The basic unit of storage for a partitioned region is a bucket, which resides on a Geode node and contains all the entries that map to a single hashcode. In a typical partitioned region query, the system distributes the query to all buckets across all nodes, then merges the result sets and sends back the query results.
-
-<a id="querying_partitioned_regions__section_4C603563DEDC4303818FB8F894470457"></a>
-The following list summarizes the querying functionality supported by Geode for partitioned regions:
-
--   **Ability to target specific nodes in a query**. If you know that a specific bucket contains the data that you want to query, you can use a function to ensure that your query only runs the specific node that holds the data. This can greatly improve query efficiency. The ability to query data on a specific node is only available if you are using functions and if the function is executed on one single region. In order to do this, you need to use `Query.execute(RegionFunctionContext context)`. See the [Java API](/releases/latest/javadoc/org/apache/geode/cache/query/Query.html) and [Querying a Partitioned Region on a Single Node](../query_additional/query_on_a_single_node.html#concept_30B18A6507534993BD55C2C9E0544A97) for more details.
--   **Ability to optimize partitioned region query performance using key indexes**. You can improve query performance on data that is partitioned by key or a field value by creating a key index and then executing the query using use `Query.execute(RegionFunctionContext                         context)` with the key or field value used as filter. See the [Java API](/releases/latest/javadoc/org/apache/geode/cache/query/Query.html) and [Optimizing Queries on Data Partitioned by a Key or Field Value](../query_additional/partitioned_region_key_or_field_value.html#concept_3010014DFBC9479783B2B45982014454) for more details.
--   **Ability to perform equi-join queries between partitioned regions and between partitioned regions and replicated regions**. Join queries between partitioned region and between partitioned regions and replicated regions are supported through the function service. In order to perform equi-join operations on partitioned regions or partitioned regions and replicated regions, the partitioned regions must be colocated, and you need to use the need to use `Query.execute(RegionFunctionContext                         context)`. See the [Java API](/releases/latest/javadoc/org/apache/geode/cache/query/Query.html) and [Performing an Equi-Join Query on Partitioned Regions](../partitioned_regions/join_query_partitioned_regions.html#concept_B930D276F49541F282A2CFE639F107DD) for more details.
-
--   **[Using ORDER BY on Partitioned Regions](../../developing/query_additional/order_by_on_partitioned_regions.html)**
-
--   **[Querying a Partitioned Region on a Single Node](../../developing/query_additional/query_on_a_single_node.html)**
-
--   **[Optimizing Queries on Data Partitioned by a Key or Field Value](../../developing/query_additional/partitioned_region_key_or_field_value.html)**
-
--   **[Performing an Equi-Join Query on Partitioned Regions](../../developing/partitioned_regions/join_query_partitioned_regions.html)**
-
--   **[Partitioned Region Query Restrictions](../../developing/query_additional/partitioned_region_query_restrictions.html)**
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/querying_basics/reserved_words.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/querying_basics/reserved_words.html.md.erb b/developing/querying_basics/reserved_words.html.md.erb
deleted file mode 100644
index 3da8b33..0000000
--- a/developing/querying_basics/reserved_words.html.md.erb
+++ /dev/null
@@ -1,112 +0,0 @@
----
-title:  Reserved Words
----
-
-## <a id="concept_4F288B1F9579422FA481FBE2C3ADD007__section_3415163C3EFB46A6BE873E2606C9DE0F" class="no-quick-link"></a>Reserved Words
-
-These words are reserved for the query language and may not be used as identifiers. The words with asterisk (`*`) after them are not currently used by Geode, but are reserved for future implementation.
-
-<table>
-<colgroup>
-<col width="25%" />
-<col width="25%" />
-<col width="25%" />
-<col width="25%" />
-</colgroup>
-<tbody>
-<tr class="odd">
-<td><pre class="pre codeblock"><code>abs*
-all
-and 
-andthen* 
-any* 
-array 
-as 
-asc 
-avg* 
-bag* 
-boolean 
-by 
-byte 
-char 
-collection
-count 
-date 
-declare* 
-define*
-desc </code></pre></td>
-<td><pre class="pre codeblock"><code>dictionary 
-distinct 
-double 
-element 
-enum* 
-except* 
-exists* 
-false 
-first* 
-flatten* 
-float 
-for* 
-from 
-group* 
-having* 
-import 
-in 
-int 
-intersect* 
-interval* </code></pre></td>
-<td><pre class="pre codeblock"><code>is_defined 
-is_undefined 
-last* 
-like
-limit
-list* 
-listtoset* 
-long 
-map 
-max* 
-min* 
-mod* 
-nil 
-not 
-null 
-nvl 
-octet 
-or 
-order </code></pre></td>
-<td><pre class="pre codeblock"><code>orelse* 
-query* 
-select 
-set 
-short 
-some* 
-string 
-struct* 
-sum* 
-time 
-timestamp 
-to_date 
-true 
-type 
-undefine* 
-undefined 
-union* 
-unique* 
-where</code></pre></td>
-</tr>
-</tbody>
-</table>
-
-To access any method, attribute, or named object that has the same name as a query language reserved word, enclose the name within double quotation marks.
-
-Examples:
-
-``` pre
-SELECT DISTINCT "type" FROM /portfolios WHERE status = 'active'
-```
-
-``` pre
-SELECT DISTINCT * FROM /region1 WHERE emps."select"() < 100000 
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/querying_basics/restrictions_and_unsupported_features.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/querying_basics/restrictions_and_unsupported_features.html.md.erb b/developing/querying_basics/restrictions_and_unsupported_features.html.md.erb
deleted file mode 100644
index 44a5e73..0000000
--- a/developing/querying_basics/restrictions_and_unsupported_features.html.md.erb
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title:  Query Language Restrictions and Unsupported Features
----
-
-At a high level, Geode does not support the following querying features:
-
--   Indexes targeted for joins across more than one region are not supported
--   Static method invocations. For example, the following query is invalid:
-
-    ``` pre
-    SELECT DISTINCT * FROM /QueryRegion0 WHERE aDay = Day.Wednesday
-    ```
-
--   You cannot create an index on fields using Set/List types (Collection types) that are not comparable. The OQL index implementation expects fields to be Comparable. To workaround this, you can create a custom Collection type that implements Comparable.
--   ORDER BY is only supported with DISTINCT queries.
-
-In addition, there are some specific limitations on partitioned region querying. See [Partitioned Region Query Restrictions](../query_additional/partitioned_region_query_restrictions.html#concept_5353476380D44CC1A7F586E5AE1CE7E8).
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/querying_basics/running_a_query.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/querying_basics/running_a_query.html.md.erb b/developing/querying_basics/running_a_query.html.md.erb
deleted file mode 100644
index 83b9d1d..0000000
--- a/developing/querying_basics/running_a_query.html.md.erb
+++ /dev/null
@@ -1,70 +0,0 @@
----
-title:  Writing and Executing a Query in Geode
----
-
-<a id="running_a_querying__section_C285160AF91C4486A39444C3A22D6475"></a>
-The Geode QueryService provides methods to create the Query object. You can then use the Query object to perform query-related operations.
-
-The QueryService instance you should use depends on whether you are querying the local cache of an application or if you want your application to query the server cache.
-
-## <a id="running_a_querying__section_8B9C3F5BFBA6421A81EEB404DBE512C2" class="no-quick-link"></a>Querying a Local Cache
-
-To query the application's local cache or to query other members, use `org.apache.geode.cache.Cache.getQueryService`.
-
-**Sample Code**
-
-``` pre
- // Identify your query string.
- String queryString = "SELECT DISTINCT * FROM /exampleRegion";
- 
- // Get QueryService from Cache.
- QueryService queryService = cache.getQueryService();
- 
- // Create the Query Object.
- Query query = queryService.newQuery(queryString);
- 
- // Execute Query locally. Returns results set.
- SelectResults results = (SelectResults)query.execute();
- 
- // Find the Size of the ResultSet.
- int size = results.size();
- 
- // Iterate through your ResultSet.
- Portfolio p = (Portfolio)results.iterator().next(); /* Region containing Portfolio object. */
-```
-
-## <a id="running_a_querying__section_BAD35A249F784095857CC6848F91F6A4" class="no-quick-link"></a>Querying a Server Cache from a Client
-
-To perform a client to server query, use `org.apache.geode.cache.client.Pool.getQueryService`.
-
-**Sample Code**
-
-``` pre
-// Identify your query string.
- String queryString = "SELECT DISTINCT * FROM /exampleRegion";
- 
- // Get QueryService from client pool.
- QueryService queryService = pool.getQueryService();
- 
- // Create the Query Object.
- Query query = queryService.newQuery(queryString);
- 
- // Execute Query locally. Returns results set.
- SelectResults results = (SelectResults)query.execute();
- 
- // Find the Size of the ResultSet.
- int size = results.size();
- 
- // Iterate through your ResultSet.
- Portfolio p = (Portfolio)results.iterator().next(); /* Region containing Portfolio object. */
-```
-
-Refer to the following JavaDocs for specific APIs:
-
--   [Query package](/releases/latest/javadoc/org/apache/geode/cache/query/package-summary.html)
--   [QueryService](/releases/latest/javadoc/org/apache/geode/cache/query/QueryService.html)
-
-**Note:**
-You can also perform queries using the gfsh `query` command. See [query](../../tools_modules/gfsh/command-pages/query.html).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/querying_basics/supported_character_sets.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/querying_basics/supported_character_sets.html.md.erb b/developing/querying_basics/supported_character_sets.html.md.erb
deleted file mode 100644
index 1383ee9..0000000
--- a/developing/querying_basics/supported_character_sets.html.md.erb
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title:  Supported Character Sets
----
-
-Geode query language supports the full ASCII and Unicode character sets.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/querying_basics/what_is_a_query_string.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/querying_basics/what_is_a_query_string.html.md.erb b/developing/querying_basics/what_is_a_query_string.html.md.erb
deleted file mode 100644
index c2999bb..0000000
--- a/developing/querying_basics/what_is_a_query_string.html.md.erb
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title:  Building a Query String
----
-
-<a id="what_is_a_query_string__section_1866AE6026DE4D66A2CD2363C1BC0406"></a>
-A query string is a fully formed OQL statement that can be passed to a query engine and executed against a data set. To build a query string, you combine supported keywords, expressions, and operators to create an expression that returns the information you require.
-
-A query string follows the rules specified by the query language and grammar. It can include:
-
--   **Namescopes**. For example, the IMPORT statement. See [IMPORT Statement](../query_select/the_import_statement.html#concept_2E9F15B2FE9041238B54736103396BF7).
--   **Path expressions**. For example, in the query `SELECT * FROM                                 /exampleRegion`,` /exampleRegion` is a path expression. See [FROM Clause](../query_select/the_from_clause.html#the_from_clause).
--   **Attribute names**. For example, in the query `SELECT DISTINCT * FROM /exampleRegion p WHERE                             p.position1.secId = '1'`, we access the `secId` attribute of the Position object. See [WHERE Clause](../query_select/the_where_clause.html#the_where_clause).
--   **Method invocations**. For example, in the query `SELECT DISTINCT * FROM /exampleRegion p WHERE                             p.name.startsWith('Bo')`, we invoke the `startsWith` method on the Name object. See [WHERE Clause](../query_select/the_where_clause.html#the_where_clause).
--   **Operators**. For example, comparison operators (=,&lt;,&gt;,&lt;&gt;), unary operators (NOT), logical operators (AND, OR) and so on. See [Operators](../query_additional/operators.html#operators) for a complete list.
--   **Literals**. For example, boolean, date, time and so on. See [Supported Literals](../query_additional/literals.html#literals) for a complete list.
--   **Query bind parameters**. For example, in the query `SELECT DISTINCT * FROM $1 p WHERE p.status =                             $2`, $1 and $2 are parameters that can be passed to the query during runtime. See [Using Query Bind Parameters](../query_additional/using_query_bind_parameters.html#concept_173E775FE46B47DF9D7D1E40680D34DF) for more details.
--   **Preset query functions**. For example, ELEMENT(expr) and IS\_DEFINED(expr). See [SELECT Statement](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E) for other available functions.
--   **SELECT statements**. For example, in the example queries above `SELECT *` or `SELECT DISTINCT *`. See [SELECT Statement](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E) for other available functions.
--   **Comments**. OQL permits extra characters to accompany the query string without changing the string's definition. Form a multi-line comment by enclosing the comment body within `/*` and `*/` delimiters; OQL does not permit nested comments. A single line comment body is all the characters to the right of `--` (two hyphens) up to the end of the line.
-
-The components listed above can all be part of the query string, but none of the components are required. At a minimum, a query string contains an expression that can be evaluated against specified data.
-
-The following sections provide guidelines for the query language building blocks that are used when writing typical Geode queries.
-
--   **[IMPORT Statement](../../developing/query_select/the_import_statement.html)**
-
--   **[FROM Clause](../../developing/query_select/the_from_clause.html)**
-
--   **[WHERE Clause](../../developing/query_select/the_where_clause.html)**
-
--   **[SELECT Statement](../../developing/query_select/the_select_statement.html)**
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/region_options/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/region_options/chapter_overview.html.md.erb b/developing/region_options/chapter_overview.html.md.erb
deleted file mode 100644
index 53ad2fb..0000000
--- a/developing/region_options/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title:  Region Data Storage and Distribution
----
-
-The Apache Geode data storage and distribution models put your data in the right place at the right time. You should understand all the options for data storage in Geode before you configure your data regions.
-
--   **[Storage and Distribution Options](../../developing/region_options/storage_distribution_options.html)**
-
-    Geode provides several models for data storage and distribution, including partitioned or replicated regions as well as distributed or non-distributed regions (local cache storage).
-
--   **[Region Types](../../developing/region_options/region_types.html)**
-
-    Region types define region behavior within a single distributed system. You have various options for region data storage and distribution.
-
--   **[Region Data Stores and Data Accessors](../../developing/region_options/data_hosts_and_accessors.html)**
-
-    Understand the difference between members that store data for a region and members that act only as data accessors to the region.
-
--   **[Creating Regions Dynamically](../../developing/region_options/dynamic_region_creation.html)**
-
-    You can dynamically create regions in your application code and automatically instantiate them on members of a distributed system.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/region_options/data_hosts_and_accessors.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/region_options/data_hosts_and_accessors.html.md.erb b/developing/region_options/data_hosts_and_accessors.html.md.erb
deleted file mode 100644
index ed167b6..0000000
--- a/developing/region_options/data_hosts_and_accessors.html.md.erb
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title:  Region Data Stores and Data Accessors
----
-
-Understand the difference between members that store data for a region and members that act only as data accessors to the region.
-
-<a id="data_hosts_and_accessors__section_0EF33633F97B4C63AC34F523259AD310"></a>
-In most cases, when you define a data region in a member\u2019s cache, you also specify whether the member is a data store. Members that store data for a region are referred to as data stores or data hosts. Members that do not store data are referred to as accessor members, or empty members. Any member, store or accessor, that defines a region can access it, put data into it, and receive events from other members. To configure a region so the member is a data accessor, you use configurations that specify no local data storage for the region. Otherwise, the member is a data store for the region.
-
-For server regions, suppress local data storage at region creation by specifying a region shortcut that contains the term
-"PROXY" in its name, such as `PARTITION_PROXY` or `REPLICATE_PROXY`.
-
-For client regions, suppress local data storage at region creation by specifying the `PROXY` region
-shortcut. Do not use the `CACHING_PROXY` shortcut for this purpose, as it allows local data storage.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/region_options/dynamic_region_creation.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/region_options/dynamic_region_creation.html.md.erb b/developing/region_options/dynamic_region_creation.html.md.erb
deleted file mode 100644
index 2974f22..0000000
--- a/developing/region_options/dynamic_region_creation.html.md.erb
+++ /dev/null
@@ -1,180 +0,0 @@
----
-title:  Creating Regions Dynamically
----
-
-You can dynamically create regions in your application code and automatically instantiate them on members of a distributed system.
-
-If your application does not require partitioned regions, you can use the <span class="keyword apiname">org.apache.geode.cache.DynamicRegionFactory</span> class to dynamically create regions, or you can create them using the `<dynamic-region-factory>` element in the cache.xml file that defines the region. See [&lt;dynamic-region-factory&gt;](../../reference/topics/cache_xml.html#dynamic-region-factory).
-
-Due to the number of options involved, most developers use functions to create regions dynamically in their applications, as described in this topic. Dynamic regions can also be created from the `gfsh` command line.
-
-For a complete discussion of using Geode functions, see [Function Execution](../function_exec/chapter_overview.html). Functions use the <span class="keyword apiname">org.apache.geode.cache.execute.FunctionService</span> class.
-
-For example, the following Java classes define and use a function for dynamic region creation:
-
-The <span class="keyword apiname">CreateRegionFunction</span> class defines a function invoked on a server by a client using the <span class="keyword apiname">onServer()</span> method of the <span class="keyword apiname">FunctionService</span> class. This function call initiates region creation by putting an entry into the region attributes metadata region. The entry key is the region name and the value is the set of region attributes used to create the region.
-
-``` pre
-#CreateRegionFunction.java
-
-import org.apache.geode.cache.Cache;
-import org.apache.geode.cache.CacheFactory;
-import org.apache.geode.cache.DataPolicy;
-import org.apache.geode.cache.Declarable;
-import org.apache.geode.cache.Region;
-import org.apache.geode.cache.RegionAttributes;
-import org.apache.geode.cache.RegionFactory;
-import org.apache.geode.cache.Scope;
-
-import org.apache.geode.cache.execute.Function;
-import org.apache.geode.cache.execute.FunctionContext;
-
-import java.util.Properties;
-
-public class CreateRegionFunction implements Function, Declarable {
-
-  private final Cache cache;
-  
-  private final Region<String,RegionAttributes> regionAttributesMetadataRegion;
-
-  private static final String REGION_ATTRIBUTES_METADATA_REGION = 
-                                     "_regionAttributesMetadata";
-  
-  public enum Status {SUCCESSFUL, UNSUCCESSFUL, ALREADY_EXISTS};
-
-  public CreateRegionFunction() {
-    this.cache = CacheFactory.getAnyInstance();
-    this.regionAttributesMetadataRegion = createRegionAttributesMetadataRegion();
-  }
-
-  public void execute(FunctionContext context) {
-    Object[] arguments = (Object[]) context.getArguments();
-    String regionName = (String) arguments[0];
-    RegionAttributes attributes = (RegionAttributes) arguments[1];
-
-    // Create or retrieve region
-    Status status = createOrRetrieveRegion(regionName, attributes);
-
-    // Return status
-    context.getResultSender().lastResult(status);
-  }
-  
-  private Status createOrRetrieveRegion(String regionName, 
-                                        RegionAttributes attributes) {
-    Status status = Status.SUCCESSFUL;
-    Region region = this.cache.getRegion(regionName);
-    if (region == null) {
-      // Put the attributes into the metadata region. The afterCreate call will
-      // actually create the region.
-      this.regionAttributesMetadataRegion.put(regionName, attributes);
-      
-      // Retrieve the region after creating it
-      region = this.cache.getRegion(regionName);
-      if (region == null) {
-        status = Status.UNSUCCESSFUL;
-      }
-    } else {
-      status = Status.ALREADY_EXISTS;
-    }
-    return status;
-  }
-  
-  private Region<String,RegionAttributes> 
-  createRegionAttributesMetadataRegion() {
-    Region<String, RegionAttributes> metaRegion = 
-                         this.cache.getRegion(REGION_ATTRIBUTES_METADATA_REGION);
-    if (metaRegion == null) {
-      RegionFactory<String, RegionAttributes> factory =
-                              this.cache.createRegionFactory();
-      factory.setDataPolicy(DataPolicy.REPLICATE);
-      factory.setScope(Scope.DISTRIBUTED_ACK);
-      factory.addCacheListener(new CreateRegionCacheListener());
-      metaRegion = factory.create(REGION_ATTRIBUTES_METADATA_REGION);
-    }
-    return metaRegion;
-  }
-
-  public String getId() {
-    return getClass().getSimpleName();
-  }
-
-  public boolean optimizeForWrite() {
-    return false;
-  }
-
-  public boolean isHA() {
-    return true;
-  }
-
-  public boolean hasResult() {
-    return true;
-  }
-
-  public void init(Properties properties) {
-  }
-}
-```
-
-The <span class="keyword apiname">CreateRegionCacheListener</span> class is a cache listener that implements two methods, <span class="keyword apiname">afterCreate()</span> and <span class="keyword apiname">afterRegionCreate()</span>. The <span class="keyword apiname">afterCreate()</span> method creates the region. The <span class="keyword apiname">afterRegionCreate()</span> method causes each new server to create all the regions defined in the metadata region.
-
-``` pre
-#CreateRegionCacheListener.java
-
-import org.apache.geode.cache.Cache;
-import org.apache.geode.cache.CacheFactory;
-import org.apache.geode.cache.Declarable;
-import org.apache.geode.cache.EntryEvent;
-import org.apache.geode.cache.Region;
-import org.apache.geode.cache.RegionAttributes;
-import org.apache.geode.cache.RegionEvent;
-import org.apache.geode.cache.RegionExistsException;
-
-import org.apache.geode.cache.util.CacheListenerAdapter;
-
-import java.util.Map;
-import java.util.Properties;
-
-public class CreateRegionCacheListener 
-             extends CacheListenerAdapter<String,RegionAttributes>
-             implements Declarable {
-
-  private Cache cache;
-  
-  public CreateRegionCacheListener() {
-    this.cache = CacheFactory.getAnyInstance();
-  }
-
-  public void afterCreate(EntryEvent<String,RegionAttributes> event) {
-    createRegion(event.getKey(), event.getNewValue());
-  }
-  
-  public void afterRegionCreate(RegionEvent<String,RegionAttributes> event) {
-    Region<String,RegionAttributes> region = event.getRegion();
-    for (Map.Entry<String,RegionAttributes> entry : region.entrySet()) {
-      createRegion(entry.getKey(), entry.getValue());
-    }
-  }
-  
-  private void createRegion(String regionName, RegionAttributes attributes) {
-    if (this.cache.getLogger().fineEnabled()) {
-      this.cache.getLogger().fine(
-                             "CreateRegionCacheListener creating region named: "
-                             + regionName + " with attributes: " + attributes);
-    }
-    try {
-      Region region = this.cache.createRegionFactory(attributes)
-        .create(regionName);
-      if (this.cache.getLogger().fineEnabled()) {
-        this.cache.getLogger().fine("CreateRegionCacheListener created: "
-                               + region);
-      }
-      System.out.println("CreateRegionCacheListener created: " + region);
-    } catch (RegionExistsException e) {/* ignore */}
-  }
-
-  public void init(Properties p) {
-  }
-}
-```
-
-


[51/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
GEODE-1952 Consolidated docs under a single geode-docs directory


Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/ccc2fbda
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/ccc2fbda
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/ccc2fbda

Branch: refs/heads/feature/GEODE-1952-2
Commit: ccc2fbda4001884a0bf36ca2d76d75358cbda3eb
Parents: 2eabdb2
Author: Dave Barnes <db...@pivotal.io>
Authored: Tue Oct 4 10:32:02 2016 -0700
Committer: Dave Barnes <db...@pivotal.io>
Committed: Tue Oct 4 10:32:02 2016 -0700

----------------------------------------------------------------------
 .gitignore                                      |    6 -
 CONTRIBUTE.md                                   |   63 -
 README.md                                       |   93 -
 about_geode.html.md.erb                         |    9 -
 basic_config/book_intro.html.md.erb             |   23 -
 .../chapter_overview.html.md.erb                |   23 -
 ...uted_system_member_configuration.html.md.erb |   34 -
 .../config_concepts/local_vs_remote.html.md.erb |   12 -
 .../chapter_overview.html.md.erb                |   15 -
 .../managing_data_entries.html.md.erb           |  129 -
 .../using_custom_classes.html.md.erb            |   34 -
 .../data_regions/chapter_overview.html.md.erb   |   48 -
 .../create_a_region_with_API.html.md.erb        |   63 -
 .../create_a_region_with_cacheXML.html.md.erb   |   68 -
 .../create_a_region_with_gfsh.html.md.erb       |   38 -
 .../creating_custom_attributes.html.md.erb      |   47 -
 .../managing_data_regions.html.md.erb           |  205 --
 .../managing_region_attributes.html.md.erb      |   96 -
 .../new_region_existing_data.html.md.erb        |   11 -
 .../data_regions/region_naming.html.md.erb      |   14 -
 .../data_regions/region_shortcuts.html.md.erb   |   98 -
 .../store_retrieve_region_shortcuts.html.md.erb |   60 -
 .../setting_distributed_properties.html.md.erb  |   64 -
 .../the_cache/chapter_overview.html.md.erb      |   31 -
 .../intro_cache_management.html.md.erb          |   79 -
 .../managing_a_client_cache.html.md.erb         |   67 -
 .../managing_a_multiuser_cache.html.md.erb      |   49 -
 .../managing_a_peer_server_cache.html.md.erb    |   64 -
 .../managing_a_secure_cache.html.md.erb         |   50 -
 .../setting_cache_initializer.html.md.erb       |   59 -
 .../setting_cache_properties.html.md.erb        |   22 -
 configuring/chapter_overview.html.md.erb        |   67 -
 .../deploying_application_jars.html.md.erb      |  114 -
 .../cluster_config/export-import.html.md.erb    |   39 -
 .../gfsh_config_troubleshooting.html.md.erb     |   58 -
 .../gfsh_load_from_shared_dir.html.md.erb       |   27 -
 .../cluster_config/gfsh_persist.html.md.erb     |  108 -
 .../cluster_config/gfsh_remote.html.md.erb      |   61 -
 .../persisting_configurations.html.md.erb       |  320 --
 .../using_member_groups.html.md.erb             |   27 -
 .../running/change_file_spec.html.md.erb        |   40 -
 .../running/default_file_specs.html.md.erb      |   59 -
 .../deploy_config_files_intro.html.md.erb       |   17 -
 .../running/deploying_config_files.html.md.erb  |   28 -
 .../deploying_config_jar_files.html.md.erb      |   35 -
 .../running/firewall_ports_config.html.md.erb   |   15 -
 .../running/firewalls_connections.html.md.erb   |   18 -
 .../running/firewalls_multisite.html.md.erb     |   70 -
 configuring/running/firewalls_ports.html.md.erb |  229 --
 .../running/managing_output_files.html.md.erb   |   16 -
 .../running/running_the_cacheserver.html.md.erb |  182 -
 .../running/running_the_locator.html.md.erb     |  240 --
 .../starting_up_shutting_down.html.md.erb       |  129 -
 developing/book_intro.html.md.erb               |   57 -
 .../chapter_overview.html.md.erb                |   21 -
 .../continuous_querying_whats_next.html.md.erb  |   71 -
 .../how_continuous_querying_works.html.md.erb   |   81 -
 ...implementing_continuous_querying.html.md.erb |  185 -
 .../PDX_Serialization_Features.html.md.erb      |   23 -
 .../auto_serialization.html.md.erb              |  124 -
 ...ation_with_class_pattern_strings.html.md.erb |   68 -
 .../chapter_overview.html.md.erb                |   23 -
 .../data_serialization_options.html.md.erb      |   51 -
 .../extending_the_autoserializer.html.md.erb    |  106 -
 .../gemfire_data_serialization.html.md.erb      |   35 -
 .../gemfire_pdx_serialization.html.md.erb       |   47 -
 .../java_serialization.html.md.erb              |   12 -
 .../jsonformatter_pdxinstances.html.md.erb      |   29 -
 .../persist_pdx_metadata_to_disk.html.md.erb    |   36 -
 .../program_application_for_pdx.html.md.erb     |   90 -
 .../use_pdx_high_level_steps.html.md.erb        |   32 -
 .../use_pdx_serializable.html.md.erb            |   98 -
 .../use_pdx_serializer.html.md.erb              |  128 -
 .../using_PdxInstanceFactory.html.md.erb        |   34 -
 .../using_pdx_region_entry_keys.html.md.erb     |   14 -
 .../chapter_overview.html.md.erb                |   31 -
 .../delta_propagation_example.html.md.erb       |  113 -
 .../delta_propagation_properties.html.md.erb    |   79 -
 .../errors_in_delta_propagation.html.md.erb     |   18 -
 .../how_delta_propagation_works.html.md.erb     |   52 -
 .../implementing_delta_propagation.html.md.erb  |   24 -
 .../when_to_use_delta_prop.html.md.erb          |   17 -
 .../chapter_overview.html.md.erb                |   27 -
 .../choosing_level_of_dist.html.md.erb          |   19 -
 .../how_distribution_works.html.md.erb          |   31 -
 .../how_region_versioning_works.html.md.erb     |  110 -
 .../how_region_versioning_works_wan.html.md.erb |   25 -
 .../how_replication_works.html.md.erb           |   34 -
 .../locking_in_global_regions.html.md.erb       |   92 -
 .../managing_distributed_regions.html.md.erb    |   47 -
 .../region_entry_versions.html.md.erb           |   34 -
 .../cache_event_handler_examples.html.md.erb    |  138 -
 developing/events/chapter_overview.html.md.erb  |   27 -
 ...re_client_server_event_messaging.html.md.erb |   64 -
 ...figure_multisite_event_messaging.html.md.erb |   22 -
 .../configure_p2p_event_messaging.html.md.erb   |   33 -
 ...uring_gateway_concurrency_levels.html.md.erb |  141 -
 ..._highly_available_gateway_queues.html.md.erb |  102 -
 ...iguring_highly_available_servers.html.md.erb |   38 -
 ...conflate_multisite_gateway_queue.html.md.erb |  113 -
 ...nflate_server_subscription_queue.html.md.erb |   36 -
 .../events/event_handler_overview.html.md.erb   |   23 -
 .../filtering_multisite_events.html.md.erb      |  109 -
 .../ha_event_messaging_whats_next.html.md.erb   |   78 -
 .../events/how_cache_events_work.html.md.erb    |   54 -
 ...client_server_distribution_works.html.md.erb |  120 -
 developing/events/how_events_work.html.md.erb   |   94 -
 ...how_multisite_distribution_works.html.md.erb |   51 -
 ...mplementing_cache_event_handlers.html.md.erb |  136 -
 ..._durable_client_server_messaging.html.md.erb |  182 -
 ...nting_write_behind_event_handler.html.md.erb |  228 --
 ...t_server_subscription_queue_size.html.md.erb |   57 -
 ...ist_of_event_handlers_and_events.html.md.erb |  164 -
 .../resolving_multisite_conflicts.html.md.erb   |   63 -
 ..._client_message_tracking_timeout.html.md.erb |   26 -
 ...ne_client_server_event_messaging.html.md.erb |   20 -
 ..._callbacks_that_modify_the_cache.html.md.erb |   48 -
 .../eviction/chapter_overview.html.md.erb       |   17 -
 .../configuring_data_eviction.html.md.erb       |   71 -
 .../eviction/how_eviction_works.html.md.erb     |   19 -
 .../expiration/chapter_overview.html.md.erb     |   15 -
 .../configuring_data_expiration.html.md.erb     |   66 -
 .../expiration/how_expiration_works.html.md.erb |   53 -
 .../function_exec/chapter_overview.html.md.erb  |   19 -
 .../function_execution.html.md.erb              |  237 --
 .../how_function_execution_works.html.md.erb    |  114 -
 .../chapter_overview.html.md.erb                |   23 -
 .../chapter_overview.html.md.erb                |   17 -
 .../how_data_loaders_work.html.md.erb           |   35 -
 .../implementing_data_loaders.html.md.erb       |   71 -
 .../sync_outside_data.html.md.erb               |   19 -
 .../chapter_overview.html.md.erb                |   43 -
 .../checking_region_redundancy.html.md.erb      |   38 -
 ...locating_partitioned_region_data.html.md.erb |  111 -
 .../configure_pr_single_hop.html.md.erb         |   22 -
 .../configuring_bucket_for_pr.html.md.erb       |   53 -
 .../configuring_ha_for_pr.html.md.erb           |   41 -
 ...partitioning_and_data_colocation.html.md.erb |   41 -
 .../how_partitioning_works.html.md.erb          |   41 -
 .../how_pr_ha_works.html.md.erb                 |   44 -
 .../how_pr_single_hop_works.html.md.erb         |   31 -
 .../join_query_partitioned_regions.html.md.erb  |   80 -
 .../managing_partitioned_regions.html.md.erb    |   25 -
 .../moving_partitioned_data.html.md.erb         |   59 -
 ...partitioning_and_data_colocation.html.md.erb |   19 -
 .../overview_how_pr_ha_works.html.md.erb        |   15 -
 ...overview_how_pr_single_hop_works.html.md.erb |   15 -
 .../rebalancing_pr_data.html.md.erb             |   89 -
 .../set_crash_redundancy_recovery.html.md.erb   |   43 -
 .../set_enforce_unique_host.html.md.erb         |   17 -
 .../set_join_redundancy_recovery.html.md.erb    |   49 -
 .../set_pr_redundancy.html.md.erb               |   34 -
 .../set_redundancy_zones.html.md.erb            |   23 -
 ...using_custom_partition_resolvers.html.md.erb |  204 --
 .../advanced_querying.html.md.erb               |   31 -
 .../case_sensitivity.html.md.erb                |   19 -
 .../query_additional/literals.html.md.erb       |   65 -
 .../query_additional/operators.html.md.erb      |   40 -
 .../order_by_on_partitioned_regions.html.md.erb |   18 -
 ...tioned_region_key_or_field_value.html.md.erb |   66 -
 ...tioned_region_query_restrictions.html.md.erb |   33 -
 .../query_debugging.html.md.erb                 |   87 -
 .../query_language_features.html.md.erb         |   24 -
 .../query_on_a_single_node.html.md.erb          |  155 -
 .../supported_keywords.html.md.erb              |   31 -
 .../using_query_bind_parameters.html.md.erb     |   48 -
 .../create_multiple_indexes.html.md.erb         |   61 -
 .../query_index/creating_an_index.html.md.erb   |   94 -
 .../creating_hash_indexes.html.md.erb           |   51 -
 .../creating_key_indexes.html.md.erb            |   49 -
 .../creating_map_indexes.html.md.erb            |   44 -
 .../query_index/index_samples.html.md.erb       |   63 -
 ...indexes_on_single_region_queries.html.md.erb |   33 -
 .../indexes_with_overflow_regions.html.md.erb   |   41 -
 .../query_index/indexing_guidelines.html.md.erb |   24 -
 .../query_index/maintaining_indexes.html.md.erb |   52 -
 developing/query_index/query_index.html.md.erb  |   62 -
 .../query_index/query_index_hints.html.md.erb   |   23 -
 ...ng_indexes_with_equijoin_queries.html.md.erb |   52 -
 ...quijoin_queries_multiple_regions.html.md.erb |   62 -
 developing/query_select/aggregates.html.md.erb  |   92 -
 .../query_select/the_from_clause.html.md.erb    |   86 -
 .../the_import_statement.html.md.erb            |   14 -
 .../the_select_statement.html.md.erb            |  203 --
 .../query_select/the_where_clause.html.md.erb   |  336 --
 .../chapter_overview.html.md.erb                |   21 -
 .../comments_in_query_strings.html.md.erb       |   13 -
 .../monitor_queries_for_low_memory.html.md.erb  |   24 -
 .../oql_compared_to_sql.html.md.erb             |   14 -
 .../performance_considerations.html.md.erb      |   16 -
 .../querying_basics/query_basics.html.md.erb    |   40 -
 ...query_grammar_and_reserved_words.html.md.erb |  146 -
 .../querying_partitioned_regions.html.md.erb    |   24 -
 .../querying_basics/reserved_words.html.md.erb  |  112 -
 ...ictions_and_unsupported_features.html.md.erb |   18 -
 .../querying_basics/running_a_query.html.md.erb |   70 -
 .../supported_character_sets.html.md.erb        |    7 -
 .../what_is_a_query_string.html.md.erb          |   33 -
 .../region_options/chapter_overview.html.md.erb |   23 -
 .../data_hosts_and_accessors.html.md.erb        |   14 -
 .../dynamic_region_creation.html.md.erb         |  180 -
 .../region_options/region_types.html.md.erb     |  129 -
 .../storage_distribution_options.html.md.erb    |   23 -
 .../chapter_overview.html.md.erb                |   24 -
 .../how_persist_overflow_work.html.md.erb       |   47 -
 .../overflow_config_examples.html.md.erb        |   36 -
 .../storing_data_on_disk.html.md.erb            |   62 -
 .../transactions/JTA_transactions.html.md.erb   |  226 --
 .../transactions/about_transactions.html.md.erb |   30 -
 .../cache_plugins_with_jta.html.md.erb          |   11 -
 .../cache_transaction_performance.html.md.erb   |   12 -
 .../transactions/cache_transactions.html.md.erb |   34 -
 ...ache_transactions_by_region_type.html.md.erb |  139 -
 .../transactions/chapter_overview.html.md.erb   |   31 -
 .../client_server_transactions.html.md.erb      |   38 -
 ...guring_db_connections_using_JNDI.html.md.erb |  313 --
 ...data_location_cache_transactions.html.md.erb |   15 -
 .../how_cache_transactions_work.html.md.erb     |   56 -
 .../jca_adapter_example.html.md.erb             |   34 -
 ...onitor_troubleshoot_transactions.html.md.erb |   39 -
 .../run_a_cache_transaction.html.md.erb         |   73 -
 ...che_transaction_with_external_db.html.md.erb |   37 -
 .../transaction_coding_examples.html.md.erb     |   27 -
 .../transaction_event_management.html.md.erb    |   39 -
 .../transaction_jta_gemfire_example.html.md.erb |   31 -
 .../transaction_semantics.html.md.erb           |   37 -
 ...ansaction_suspend_resume_example.html.md.erb |   21 -
 ...ctional_and_nontransactional_ops.html.md.erb |  100 -
 .../transactional_function_example.html.md.erb  |   55 -
 .../transactions_overview.html.md.erb           |   50 -
 .../transactions/turning_off_jta.html.md.erb    |   23 -
 .../working_with_transactions.html.md.erb       |  212 --
 geode-docs/.gitignore                           |    6 +
 geode-docs/CONTRIBUTE.md                        |   63 +
 geode-docs/README.md                            |   93 +
 geode-docs/about_geode.html.md.erb              |    9 +
 geode-docs/basic_config/book_intro.html.md.erb  |   23 +
 .../chapter_overview.html.md.erb                |   23 +
 ...uted_system_member_configuration.html.md.erb |   34 +
 .../config_concepts/local_vs_remote.html.md.erb |   12 +
 .../chapter_overview.html.md.erb                |   15 +
 .../managing_data_entries.html.md.erb           |  129 +
 .../using_custom_classes.html.md.erb            |   34 +
 .../data_regions/chapter_overview.html.md.erb   |   48 +
 .../create_a_region_with_API.html.md.erb        |   63 +
 .../create_a_region_with_cacheXML.html.md.erb   |   68 +
 .../create_a_region_with_gfsh.html.md.erb       |   38 +
 .../creating_custom_attributes.html.md.erb      |   47 +
 .../managing_data_regions.html.md.erb           |  205 ++
 .../managing_region_attributes.html.md.erb      |   96 +
 .../new_region_existing_data.html.md.erb        |   11 +
 .../data_regions/region_naming.html.md.erb      |   14 +
 .../data_regions/region_shortcuts.html.md.erb   |   98 +
 .../store_retrieve_region_shortcuts.html.md.erb |   60 +
 .../setting_distributed_properties.html.md.erb  |   64 +
 .../the_cache/chapter_overview.html.md.erb      |   31 +
 .../intro_cache_management.html.md.erb          |   79 +
 .../managing_a_client_cache.html.md.erb         |   67 +
 .../managing_a_multiuser_cache.html.md.erb      |   49 +
 .../managing_a_peer_server_cache.html.md.erb    |   64 +
 .../managing_a_secure_cache.html.md.erb         |   50 +
 .../setting_cache_initializer.html.md.erb       |   59 +
 .../setting_cache_properties.html.md.erb        |   22 +
 .../configuring/chapter_overview.html.md.erb    |   67 +
 .../deploying_application_jars.html.md.erb      |  114 +
 .../cluster_config/export-import.html.md.erb    |   39 +
 .../gfsh_config_troubleshooting.html.md.erb     |   58 +
 .../gfsh_load_from_shared_dir.html.md.erb       |   27 +
 .../cluster_config/gfsh_persist.html.md.erb     |  108 +
 .../cluster_config/gfsh_remote.html.md.erb      |   61 +
 .../persisting_configurations.html.md.erb       |  320 ++
 .../using_member_groups.html.md.erb             |   27 +
 .../running/change_file_spec.html.md.erb        |   40 +
 .../running/default_file_specs.html.md.erb      |   59 +
 .../deploy_config_files_intro.html.md.erb       |   17 +
 .../running/deploying_config_files.html.md.erb  |   28 +
 .../deploying_config_jar_files.html.md.erb      |   35 +
 .../running/firewall_ports_config.html.md.erb   |   15 +
 .../running/firewalls_connections.html.md.erb   |   18 +
 .../running/firewalls_multisite.html.md.erb     |   70 +
 .../running/firewalls_ports.html.md.erb         |  229 ++
 .../running/managing_output_files.html.md.erb   |   16 +
 .../running/running_the_cacheserver.html.md.erb |  182 +
 .../running/running_the_locator.html.md.erb     |  240 ++
 .../starting_up_shutting_down.html.md.erb       |  129 +
 geode-docs/developing/book_intro.html.md.erb    |   57 +
 .../chapter_overview.html.md.erb                |   21 +
 .../continuous_querying_whats_next.html.md.erb  |   71 +
 .../how_continuous_querying_works.html.md.erb   |   81 +
 ...implementing_continuous_querying.html.md.erb |  185 +
 .../PDX_Serialization_Features.html.md.erb      |   23 +
 .../auto_serialization.html.md.erb              |  124 +
 ...ation_with_class_pattern_strings.html.md.erb |   68 +
 .../chapter_overview.html.md.erb                |   23 +
 .../data_serialization_options.html.md.erb      |   51 +
 .../extending_the_autoserializer.html.md.erb    |  106 +
 .../gemfire_data_serialization.html.md.erb      |   35 +
 .../gemfire_pdx_serialization.html.md.erb       |   47 +
 .../java_serialization.html.md.erb              |   12 +
 .../jsonformatter_pdxinstances.html.md.erb      |   29 +
 .../persist_pdx_metadata_to_disk.html.md.erb    |   36 +
 .../program_application_for_pdx.html.md.erb     |   90 +
 .../use_pdx_high_level_steps.html.md.erb        |   32 +
 .../use_pdx_serializable.html.md.erb            |   98 +
 .../use_pdx_serializer.html.md.erb              |  128 +
 .../using_PdxInstanceFactory.html.md.erb        |   34 +
 .../using_pdx_region_entry_keys.html.md.erb     |   14 +
 .../chapter_overview.html.md.erb                |   31 +
 .../delta_propagation_example.html.md.erb       |  113 +
 .../delta_propagation_properties.html.md.erb    |   79 +
 .../errors_in_delta_propagation.html.md.erb     |   18 +
 .../how_delta_propagation_works.html.md.erb     |   52 +
 .../implementing_delta_propagation.html.md.erb  |   24 +
 .../when_to_use_delta_prop.html.md.erb          |   17 +
 .../chapter_overview.html.md.erb                |   27 +
 .../choosing_level_of_dist.html.md.erb          |   19 +
 .../how_distribution_works.html.md.erb          |   31 +
 .../how_region_versioning_works.html.md.erb     |  110 +
 .../how_region_versioning_works_wan.html.md.erb |   25 +
 .../how_replication_works.html.md.erb           |   34 +
 .../locking_in_global_regions.html.md.erb       |   92 +
 .../managing_distributed_regions.html.md.erb    |   47 +
 .../region_entry_versions.html.md.erb           |   34 +
 .../cache_event_handler_examples.html.md.erb    |  138 +
 .../events/chapter_overview.html.md.erb         |   27 +
 ...re_client_server_event_messaging.html.md.erb |   64 +
 ...figure_multisite_event_messaging.html.md.erb |   22 +
 .../configure_p2p_event_messaging.html.md.erb   |   33 +
 ...uring_gateway_concurrency_levels.html.md.erb |  141 +
 ..._highly_available_gateway_queues.html.md.erb |  102 +
 ...iguring_highly_available_servers.html.md.erb |   38 +
 ...conflate_multisite_gateway_queue.html.md.erb |  113 +
 ...nflate_server_subscription_queue.html.md.erb |   36 +
 .../events/event_handler_overview.html.md.erb   |   23 +
 .../filtering_multisite_events.html.md.erb      |  109 +
 .../ha_event_messaging_whats_next.html.md.erb   |   78 +
 .../events/how_cache_events_work.html.md.erb    |   54 +
 ...client_server_distribution_works.html.md.erb |  120 +
 .../events/how_events_work.html.md.erb          |   94 +
 ...how_multisite_distribution_works.html.md.erb |   51 +
 ...mplementing_cache_event_handlers.html.md.erb |  136 +
 ..._durable_client_server_messaging.html.md.erb |  182 +
 ...nting_write_behind_event_handler.html.md.erb |  228 ++
 ...t_server_subscription_queue_size.html.md.erb |   57 +
 ...ist_of_event_handlers_and_events.html.md.erb |  164 +
 .../resolving_multisite_conflicts.html.md.erb   |   63 +
 ..._client_message_tracking_timeout.html.md.erb |   26 +
 ...ne_client_server_event_messaging.html.md.erb |   20 +
 ..._callbacks_that_modify_the_cache.html.md.erb |   48 +
 .../eviction/chapter_overview.html.md.erb       |   17 +
 .../configuring_data_eviction.html.md.erb       |   71 +
 .../eviction/how_eviction_works.html.md.erb     |   19 +
 .../expiration/chapter_overview.html.md.erb     |   15 +
 .../configuring_data_expiration.html.md.erb     |   66 +
 .../expiration/how_expiration_works.html.md.erb |   53 +
 .../function_exec/chapter_overview.html.md.erb  |   19 +
 .../function_execution.html.md.erb              |  237 ++
 .../how_function_execution_works.html.md.erb    |  114 +
 .../chapter_overview.html.md.erb                |   23 +
 .../chapter_overview.html.md.erb                |   17 +
 .../how_data_loaders_work.html.md.erb           |   35 +
 .../implementing_data_loaders.html.md.erb       |   71 +
 .../sync_outside_data.html.md.erb               |   19 +
 .../chapter_overview.html.md.erb                |   43 +
 .../checking_region_redundancy.html.md.erb      |   38 +
 ...locating_partitioned_region_data.html.md.erb |  111 +
 .../configure_pr_single_hop.html.md.erb         |   22 +
 .../configuring_bucket_for_pr.html.md.erb       |   53 +
 .../configuring_ha_for_pr.html.md.erb           |   41 +
 ...partitioning_and_data_colocation.html.md.erb |   41 +
 .../how_partitioning_works.html.md.erb          |   41 +
 .../how_pr_ha_works.html.md.erb                 |   44 +
 .../how_pr_single_hop_works.html.md.erb         |   31 +
 .../join_query_partitioned_regions.html.md.erb  |   80 +
 .../managing_partitioned_regions.html.md.erb    |   25 +
 .../moving_partitioned_data.html.md.erb         |   59 +
 ...partitioning_and_data_colocation.html.md.erb |   19 +
 .../overview_how_pr_ha_works.html.md.erb        |   15 +
 ...overview_how_pr_single_hop_works.html.md.erb |   15 +
 .../rebalancing_pr_data.html.md.erb             |   89 +
 .../set_crash_redundancy_recovery.html.md.erb   |   43 +
 .../set_enforce_unique_host.html.md.erb         |   17 +
 .../set_join_redundancy_recovery.html.md.erb    |   49 +
 .../set_pr_redundancy.html.md.erb               |   34 +
 .../set_redundancy_zones.html.md.erb            |   23 +
 ...using_custom_partition_resolvers.html.md.erb |  204 ++
 .../advanced_querying.html.md.erb               |   31 +
 .../case_sensitivity.html.md.erb                |   19 +
 .../query_additional/literals.html.md.erb       |   65 +
 .../query_additional/operators.html.md.erb      |   40 +
 .../order_by_on_partitioned_regions.html.md.erb |   18 +
 ...tioned_region_key_or_field_value.html.md.erb |   66 +
 ...tioned_region_query_restrictions.html.md.erb |   33 +
 .../query_debugging.html.md.erb                 |   87 +
 .../query_language_features.html.md.erb         |   24 +
 .../query_on_a_single_node.html.md.erb          |  155 +
 .../supported_keywords.html.md.erb              |   31 +
 .../using_query_bind_parameters.html.md.erb     |   48 +
 .../create_multiple_indexes.html.md.erb         |   61 +
 .../query_index/creating_an_index.html.md.erb   |   94 +
 .../creating_hash_indexes.html.md.erb           |   51 +
 .../creating_key_indexes.html.md.erb            |   49 +
 .../creating_map_indexes.html.md.erb            |   44 +
 .../query_index/index_samples.html.md.erb       |   63 +
 ...indexes_on_single_region_queries.html.md.erb |   33 +
 .../indexes_with_overflow_regions.html.md.erb   |   41 +
 .../query_index/indexing_guidelines.html.md.erb |   24 +
 .../query_index/maintaining_indexes.html.md.erb |   52 +
 .../query_index/query_index.html.md.erb         |   62 +
 .../query_index/query_index_hints.html.md.erb   |   23 +
 ...ng_indexes_with_equijoin_queries.html.md.erb |   52 +
 ...quijoin_queries_multiple_regions.html.md.erb |   62 +
 .../query_select/aggregates.html.md.erb         |   92 +
 .../query_select/the_from_clause.html.md.erb    |   86 +
 .../the_import_statement.html.md.erb            |   14 +
 .../the_select_statement.html.md.erb            |  203 ++
 .../query_select/the_where_clause.html.md.erb   |  336 ++
 .../chapter_overview.html.md.erb                |   21 +
 .../comments_in_query_strings.html.md.erb       |   13 +
 .../monitor_queries_for_low_memory.html.md.erb  |   24 +
 .../oql_compared_to_sql.html.md.erb             |   14 +
 .../performance_considerations.html.md.erb      |   16 +
 .../querying_basics/query_basics.html.md.erb    |   40 +
 ...query_grammar_and_reserved_words.html.md.erb |  146 +
 .../querying_partitioned_regions.html.md.erb    |   24 +
 .../querying_basics/reserved_words.html.md.erb  |  112 +
 ...ictions_and_unsupported_features.html.md.erb |   18 +
 .../querying_basics/running_a_query.html.md.erb |   70 +
 .../supported_character_sets.html.md.erb        |    7 +
 .../what_is_a_query_string.html.md.erb          |   33 +
 .../region_options/chapter_overview.html.md.erb |   23 +
 .../data_hosts_and_accessors.html.md.erb        |   14 +
 .../dynamic_region_creation.html.md.erb         |  180 +
 .../region_options/region_types.html.md.erb     |  129 +
 .../storage_distribution_options.html.md.erb    |   23 +
 .../chapter_overview.html.md.erb                |   24 +
 .../how_persist_overflow_work.html.md.erb       |   47 +
 .../overflow_config_examples.html.md.erb        |   36 +
 .../storing_data_on_disk.html.md.erb            |   62 +
 .../transactions/JTA_transactions.html.md.erb   |  226 ++
 .../transactions/about_transactions.html.md.erb |   30 +
 .../cache_plugins_with_jta.html.md.erb          |   11 +
 .../cache_transaction_performance.html.md.erb   |   12 +
 .../transactions/cache_transactions.html.md.erb |   34 +
 ...ache_transactions_by_region_type.html.md.erb |  139 +
 .../transactions/chapter_overview.html.md.erb   |   31 +
 .../client_server_transactions.html.md.erb      |   38 +
 ...guring_db_connections_using_JNDI.html.md.erb |  313 ++
 ...data_location_cache_transactions.html.md.erb |   15 +
 .../how_cache_transactions_work.html.md.erb     |   56 +
 .../jca_adapter_example.html.md.erb             |   34 +
 ...onitor_troubleshoot_transactions.html.md.erb |   39 +
 .../run_a_cache_transaction.html.md.erb         |   73 +
 ...che_transaction_with_external_db.html.md.erb |   37 +
 .../transaction_coding_examples.html.md.erb     |   27 +
 .../transaction_event_management.html.md.erb    |   39 +
 .../transaction_jta_gemfire_example.html.md.erb |   31 +
 .../transaction_semantics.html.md.erb           |   37 +
 ...ansaction_suspend_resume_example.html.md.erb |   21 +
 ...ctional_and_nontransactional_ops.html.md.erb |  100 +
 .../transactional_function_example.html.md.erb  |   55 +
 .../transactions_overview.html.md.erb           |   50 +
 .../transactions/turning_off_jta.html.md.erb    |   23 +
 .../working_with_transactions.html.md.erb       |  212 ++
 .../15_minute_quickstart_gfsh.html.md.erb       |  499 +++
 .../getting_started/book_intro.html.md.erb      |   23 +
 .../getting_started/geode_overview.html.md.erb  |   20 +
 .../installation/install_standalone.html.md.erb |  121 +
 .../getting_started/product_intro.html.md.erb   |   84 +
 .../querying_quick_reference.html.md.erb        |  694 ++++
 .../getting_started/setup_classpath.html.md.erb |  105 +
 .../host_machine.html.md.erb                    |   32 +
 .../uninstall_gemfire.html.md.erb               |    9 +
 .../images/ClientServerAdvancedTopics-5.gif     |  Bin 0 -> 10798 bytes
 .../images/ClientServerAdvancedTopics-6.gif     |  Bin 0 -> 12056 bytes
 .../images/ClientServerAdvancedTopics-7.gif     |  Bin 0 -> 5000 bytes
 geode-docs/images/ContinuousQuerying-1.gif      |  Bin 0 -> 6955 bytes
 geode-docs/images/ContinuousQuerying-3.gif      |  Bin 0 -> 9141 bytes
 geode-docs/images/DataManagement-9.png          |  Bin 0 -> 48188 bytes
 geode-docs/images/DeltaPropagation-1.gif        |  Bin 0 -> 7593 bytes
 geode-docs/images/DeltaPropagation-3.gif        |  Bin 0 -> 6843 bytes
 geode-docs/images/Events-2.gif                  |  Bin 0 -> 8793 bytes
 geode-docs/images/Events-3.gif                  |  Bin 0 -> 6432 bytes
 geode-docs/images/FuncExecOnMembers.png         |  Bin 0 -> 64959 bytes
 .../images/FuncExecOnRegionHAWithFilter.png     |  Bin 0 -> 80141 bytes
 .../images/FuncExecOnRegionNoMetadata.png       |  Bin 0 -> 70177 bytes
 .../images/FuncExecOnRegionPeersWithFilter.png  |  Bin 0 -> 86576 bytes
 .../images/FuncExecOnRegionWithFilter.png       |  Bin 0 -> 60773 bytes
 .../images/FuncExecOnRegionWithMetadata.png     |  Bin 0 -> 59576 bytes
 geode-docs/images/FuncExecOnServers.png         |  Bin 0 -> 57470 bytes
 geode-docs/images/Gemcached.png                 |  Bin 0 -> 87366 bytes
 geode-docs/images/HibernateFlowchart.png        |  Bin 0 -> 138228 bytes
 geode-docs/images/JConsole.png                  |  Bin 0 -> 64272 bytes
 geode-docs/images/MultiSite-4.gif               |  Bin 0 -> 4991 bytes
 .../images/MultisiteConcurrency_WAN_Gateway.png |  Bin 0 -> 103701 bytes
 geode-docs/images/SQLite_Persistence_Mgr.png    |  Bin 0 -> 58388 bytes
 geode-docs/images/Transaction-simple.png        |  Bin 0 -> 119831 bytes
 geode-docs/images/consistent_multisite.png      |  Bin 0 -> 39442 bytes
 geode-docs/images/diskStores-1.gif              |  Bin 0 -> 7292 bytes
 geode-docs/images/diskStores-3.gif              |  Bin 0 -> 5898 bytes
 geode-docs/images/jconsole_mbeans.png           |  Bin 0 -> 211394 bytes
 geode-docs/images/jvisualvm.png                 |  Bin 0 -> 90153 bytes
 geode-docs/images/logging-1.gif                 |  Bin 0 -> 2778 bytes
 geode-docs/images/member_view_list.png          |  Bin 0 -> 107811 bytes
 .../images/multisite-topology-avoid-3.png       |  Bin 0 -> 9794 bytes
 .../images/multisite-topology-hybrid-1.png      |  Bin 0 -> 7627 bytes
 .../images/multisite-topology-hybrid-2.png      |  Bin 0 -> 7631 bytes
 .../images/multisite-topology-parallel.png      |  Bin 0 -> 7838 bytes
 geode-docs/images/multisite-topology-serial.png |  Bin 0 -> 6886 bytes
 geode-docs/images/parallel_sender.png           |  Bin 0 -> 36089 bytes
 geode-docs/images/pulse-data-browser.png        |  Bin 0 -> 99987 bytes
 geode-docs/images/pulse-region-detail.png       |  Bin 0 -> 61149 bytes
 geode-docs/images/pulse_alerts_widget.png       |  Bin 0 -> 137883 bytes
 geode-docs/images/pulse_cluster_view.png        |  Bin 0 -> 154531 bytes
 geode-docs/images/pulse_data_view.png           |  Bin 0 -> 138140 bytes
 geode-docs/images/pulse_locator.png             |  Bin 0 -> 228513 bytes
 geode-docs/images/pulse_member_view.png         |  Bin 0 -> 132309 bytes
 .../images/rest_example_java_packages.png       |  Bin 0 -> 30206 bytes
 geode-docs/images/security-1.gif                |  Bin 0 -> 8343 bytes
 geode-docs/images/security-3.gif                |  Bin 0 -> 8287 bytes
 geode-docs/images/security-4.gif                |  Bin 0 -> 7028 bytes
 geode-docs/images/security-5.gif                |  Bin 0 -> 7408 bytes
 geode-docs/images/serial_sender.png             |  Bin 0 -> 32385 bytes
 geode-docs/images/statistics-1.gif              |  Bin 0 -> 8644 bytes
 geode-docs/images/swagger_home.png              |  Bin 0 -> 187378 bytes
 geode-docs/images/swagger_post_region.png       |  Bin 0 -> 170963 bytes
 .../images/swagger_post_region_response.png     |  Bin 0 -> 176783 bytes
 geode-docs/images/swagger_v1.png                |  Bin 0 -> 149806 bytes
 geode-docs/images/swagger_v1_response.png       |  Bin 0 -> 143134 bytes
 geode-docs/images/transactions-client-1.png     |  Bin 0 -> 113816 bytes
 geode-docs/images/transactions_jca_adapter.png  |  Bin 0 -> 104775 bytes
 geode-docs/images/transactions_jta.png          |  Bin 0 -> 104780 bytes
 .../images/transactions_jta_app_server.png      |  Bin 0 -> 91885 bytes
 geode-docs/images_svg/JMX_Architecture.svg      |    3 +
 geode-docs/images_svg/MBeans.svg                |    3 +
 .../async_system_queue_conflation.svg           |    3 +
 geode-docs/images_svg/cache_data_loader.svg     |    3 +
 geode-docs/images_svg/cache_data_loader_2.svg   |    3 +
 .../images_svg/client_server_deployment.svg     |    3 +
 .../images_svg/client_server_event_dist.svg     |    3 +
 .../client_server_message_tracking.svg          |    3 +
 geode-docs/images_svg/cluster-group-config.svg  |    3 +
 .../images_svg/cluster_config_overview.svg      |    3 +
 .../colocated_partitioned_regions.svg           |    3 +
 geode-docs/images_svg/cs_connection_pool.svg    |    3 +
 geode-docs/images_svg/cs_locator_discovery.svg  |    3 +
 geode-docs/images_svg/cs_subscriptions.svg      |    3 +
 geode-docs/images_svg/cs_topology.svg           |    3 +
 geode-docs/images_svg/custom_partitioned.svg    |    3 +
 geode-docs/images_svg/developing_overflow.svg   |    3 +
 .../images_svg/developing_persistence.svg       |    3 +
 .../developing_persistence_and_overflow.svg     |    3 +
 geode-docs/images_svg/distributed_how_1.svg     |    3 +
 geode-docs/images_svg/distributed_how_2.svg     |    3 +
 geode-docs/images_svg/distributed_how_3.svg     |    3 +
 geode-docs/images_svg/distributed_preload.svg   |    3 +
 geode-docs/images_svg/distributed_replica.svg   |    3 +
 .../images_svg/distributed_replica_preload.svg  |    3 +
 geode-docs/images_svg/expiration.svg            |    3 +
 geode-docs/images_svg/hibernate_cs.svg          |    3 +
 geode-docs/images_svg/hibernate_overview.svg    |    3 +
 geode-docs/images_svg/hibernate_p2p.svg         |    3 +
 .../images_svg/how_partitioning_works_1.svg     |    3 +
 .../images_svg/how_partitioning_works_2.svg     |    3 +
 .../images_svg/http_module_cs_with_locator.svg  |    3 +
 .../images_svg/http_module_p2p_with_locator.svg |    3 +
 geode-docs/images_svg/locator_discovery.svg     |    3 +
 geode-docs/images_svg/member_severe_alert.svg   |    3 +
 .../images_svg/network_partition_scenario.svg   |    3 +
 geode-docs/images_svg/p2p_topology.svg          |    3 +
 geode-docs/images_svg/partitioned_data_HA.svg   |    3 +
 .../images_svg/partitioned_data_buckets_1.svg   |    3 +
 .../images_svg/partitioned_data_buckets_2.svg   |    3 +
 .../images_svg/region_entry_versions_1.svg      |    3 +
 .../images_svg/region_entry_versions_2.svg      |    3 +
 .../images_svg/region_entry_versions_3.svg      |    3 +
 .../images_svg/server_client_event_dist.svg     |    3 +
 geode-docs/images_svg/server_discovery.svg      |    3 +
 geode-docs/images_svg/server_grouping.svg       |    3 +
 .../images_svg/transactions_partitioned_1.svg   |    3 +
 .../images_svg/transactions_partitioned_2.svg   |    3 +
 .../images_svg/transactions_replicate_1.svg     |    3 +
 .../images_svg/transactions_replicate_2.svg     |    3 +
 .../images_svg/transactions_replicate_3.svg     |    3 +
 .../images_svg/transactions_replicate_4.svg     |    3 +
 .../transactions_replicate_local_1.svg          |    3 +
 .../transactions_replicate_no_ack_1.svg         |    3 +
 .../transactions_replicate_no_ack_2.svg         |    3 +
 .../images_svg/tune_cs_event_messaging.svg      |    3 +
 .../unbalanced_network_capacity_probs.svg       |    3 +
 .../autoreconnect/member-reconnect.html.md.erb  |   42 +
 geode-docs/managing/book_intro.html.md.erb      |   52 +
 .../chapter_overview.html.md.erb                |   34 +
 .../exporting_a_snapshot.html.md.erb            |   57 +
 .../filtering_snapshot_entries.html.md.erb      |   29 +
 .../importing_a_snapshot.html.md.erb            |   64 +
 .../read_snapshots_programmatically.html.md.erb |   26 +
 ...using_cache_and_region_snapshots.html.md.erb |   23 +
 .../backup_restore_disk_store.html.md.erb       |  172 +
 .../disk_storage/chapter_overview.html.md.erb   |   39 +
 .../compacting_disk_stores.html.md.erb          |  116 +
 .../disk_free_space_monitoring.html.md.erb      |   40 +
 .../disk_store_configuration_params.html.md.erb |  106 +
 .../file_names_and_extensions.html.md.erb       |   79 +
 .../handling_missing_disk_stores.html.md.erb    |   55 +
 .../how_disk_stores_work.html.md.erb            |   43 +
 ...eping_offline_disk_store_in_sync.html.md.erb |   48 +
 .../managing_disk_buffer_flushes.html.md.erb    |   27 +
 .../managing_disk_stores.html.md.erb            |   25 +
 .../managing_disk_stores_cmds.html.md.erb       |   45 +
 .../disk_storage/operation_logs.html.md.erb     |   52 +
 ...ize_availability_and_performance.html.md.erb |   15 +
 .../overview_using_disk_stores.html.md.erb      |   19 +
 ...starting_system_with_disk_stores.html.md.erb |  111 +
 .../disk_storage/using_disk_stores.html.md.erb  |  199 +
 .../using_the_default_disk_store.html.md.erb    |   53 +
 .../validating_disk_store.html.md.erb           |   20 +
 .../heap_use/heap_management.html.md.erb        |  208 ++
 .../managing/heap_use/lock_memory.html.md.erb   |   35 +
 .../heap_use/off_heap_management.html.md.erb    |  192 +
 .../logging/configuring_log4j2.html.md.erb      |   51 +
 .../logging/how_logging_works.html.md.erb       |   22 +
 .../logging/log_collection_utility.html.md.erb  |   54 +
 geode-docs/managing/logging/logging.html.md.erb |   31 +
 .../logging/logging_categories.html.md.erb      |  230 ++
 .../logging/logging_whats_next.html.md.erb      |   39 +
 .../logging/setting_up_logging.html.md.erb      |   59 +
 .../configuring_rmi_connector.html.md.erb       |   17 +
 .../gfsh_and_management_api.html.md.erb         |   52 +
 .../management/jmx_manager_node.html.md.erb     |   20 +
 .../jmx_manager_operations.html.md.erb          |  195 +
 .../list_of_mbean_notifications.html.md.erb     |   65 +
 .../management/list_of_mbeans.html.md.erb       |   21 +
 .../management/list_of_mbeans_full.html.md.erb  |  210 ++
 .../management_and_monitoring.html.md.erb       |   35 +
 ...nagement_and_monitoring_features.html.md.erb |   24 +
 .../management_system_overview.html.md.erb      |   95 +
 .../management/mbean_architecture.html.md.erb   |   59 +
 .../management/mbean_notifications.html.md.erb  |   17 +
 .../management/mbeans_jconsole.html.md.erb      |   36 +
 .../managing/management/mm_overview.html.md.erb |   77 +
 ...tification_federation_and_alerts.html.md.erb |   37 +
 .../management/programming_example.html.md.erb  |  220 ++
 .../monitor_tune/cache_consistency.html.md.erb  |   63 +
 .../monitor_tune/chapter_overview.html.md.erb   |   43 +
 .../gemfire_performance_on_vsphere.html.md.erb  |   47 +
 ...erformance_on_vsphere_guidelines.html.md.erb |  119 +
 .../multicast_communication.html.md.erb         |   29 +
 ...ication_configuring_speed_limits.html.md.erb |   34 +
 ...unication_provisioning_bandwidth.html.md.erb |   43 +
 ...unication_runtime_considerations.html.md.erb |   30 +
 ...n_testing_multicast_speed_limits.html.md.erb |  128 +
 ...st_communication_troubleshooting.html.md.erb |   21 +
 .../performance_controls.html.md.erb            |   29 +
 ..._controls_controlling_socket_use.html.md.erb |   34 +
 ...ance_controls_data_serialization.html.md.erb |    9 +
 ...e_controls_increasing_cache_hits.html.md.erb |   11 +
 ...controls_managing_slow_receivers.html.md.erb |   56 +
 ..._controls_setting_cache_timeouts.html.md.erb |   24 +
 .../monitor_tune/slow_messages.html.md.erb      |   21 +
 .../monitor_tune/slow_receivers.html.md.erb     |   17 +
 .../slow_receivers_managing.html.md.erb         |   99 +
 ...ow_receivers_preventing_problems.html.md.erb |   28 +
 .../socket_communication.html.md.erb            |   31 +
 ...cation_ephemeral_tcp_port_limits.html.md.erb |   41 +
 ...ommunication_have_enough_sockets.html.md.erb |  168 +
 ...tion_setting_socket_buffer_sizes.html.md.erb |  127 +
 ...ion_tcpip_p2p_handshake_timeouts.html.md.erb |   21 +
 .../socket_tcp_keepalive.html.md.erb            |   14 +
 .../sockets_and_gateways.html.md.erb            |  105 +
 .../system_member_performance.html.md.erb       |   25 +
 ...mance_connection_thread_settings.html.md.erb |   15 +
 ...rmance_distributed_system_member.html.md.erb |   11 +
 ...ystem_member_performance_garbage.html.md.erb |   36 +
 ...ber_performance_jvm_mem_settings.html.md.erb |   61 +
 .../monitor_tune/udp_communication.html.md.erb  |   33 +
 .../chapter_overview.html.md.erb                |   31 +
 .../failure_detection.html.md.erb               |   45 +
 .../handling_network_partitioning.html.md.erb   |   46 +
 ...rk_partitioning_management_works.html.md.erb |   42 +
 ...ators_lead_members_and_weighting.html.md.erb |   62 +
 .../network_partitioning_scenarios.html.md.erb  |   36 +
 .../preventing_network_partitions.html.md.erb   |   11 +
 .../region_compression.html.md.erb              |  209 ++
 .../authentication_examples.html.md.erb         |   53 +
 .../authentication_overview.html.md.erb         |   26 +
 .../security/authorization_example.html.md.erb  |   53 +
 .../security/authorization_overview.html.md.erb |   17 +
 .../security/chapter_overview.html.md.erb       |   30 +
 .../security/enable_security.html.md.erb        |   56 +
 .../security/encrypting_passwords.html.md.erb   |   32 +
 .../encrypting_with_diffie_helman.html.md.erb   |   49 +
 .../implementing_authentication.html.md.erb     |  125 +
 .../implementing_authorization.html.md.erb      |  248 ++
 .../security/implementing_security.html.md.erb  |   63 +
 .../security/implementing_ssl.html.md.erb       |  209 ++
 .../security/post_processing.html.md.erb        |   50 +
 .../security/properties_file.html.md.erb        |   17 +
 .../security/security-audit.html.md.erb         |   47 +
 .../security_audit_overview.html.md.erb         |   22 +
 .../security/security_intro.html.md.erb         |   21 +
 .../managing/security/ssl_example.html.md.erb   |   88 +
 .../managing/security/ssl_overview.html.md.erb  |   28 +
 .../application_defined_statistics.html.md.erb  |   22 +
 .../statistics/chapter_overview.html.md.erb     |   25 +
 .../statistics/how_statistics_work.html.md.erb  |   17 +
 .../setting_up_statistics.html.md.erb           |  134 +
 ...ient_region_and_entry_statistics.html.md.erb |   25 +
 .../statistics/viewing_statistics.html.md.erb   |    7 +
 .../chapter_overview.html.md.erb                |   43 +
 .../diagnosing_system_probs.html.md.erb         |  420 +++
 ...ent_and_recover_disk_full_errors.html.md.erb |   28 +
 ...ducing_troubleshooting_artifacts.html.md.erb |   75 +
 ...ring_conflicting_data_exceptions.html.md.erb |   58 +
 .../recovering_from_app_crashes.html.md.erb     |   15 +
 .../recovering_from_cs_crashes.html.md.erb      |   37 +
 .../recovering_from_machine_crashes.html.md.erb |   45 +
 .../recovering_from_network_outages.html.md.erb |   56 +
 .../recovering_from_p2p_crashes.html.md.erb     |  214 ++
 .../system_failure_and_recovery.html.md.erb     |  266 ++
 .../about_native_client_users_guide.html.md.erb |   83 +
 .../cache-init-file/cache-dtd.html.md.erb       |  267 ++
 .../chapter-overview.html.md.erb                |   21 +
 .../example-cache-file.html.md.erb              |   48 +
 .../cache-init-file/file-basics.html.md.erb     |   18 +
 .../client-cache/accessing-entries.html.md.erb  |   38 +
 .../adding-entries-to-cache.html.md.erb         |   32 +
 .../application-plugins.html.md.erb             |  262 ++
 .../client-cache/cache-management.html.md.erb   |   29 +
 .../client-cache/cache-ownership.html.md.erb    |   11 +
 .../client-cache/caches.html.md.erb             |   27 +
 .../client-cache/caching-apis.html.md.erb       |   28 +
 .../client-cache/caching-enabled.html.md.erb    |   27 +
 .../client-cache/chapter-overview.html.md.erb   |   37 +
 .../client-to-server-connection.html.md.erb     |   39 +
 .../client-cache/closing-cache.html.md.erb      |   11 +
 .../concurrency-checks-enabled.html.md.erb      |   18 +
 .../client-cache/concurrency-level.html.md.erb  |   18 +
 .../consistency_checking_in_regions.html.md.erb |   19 +
 .../controlling-cache-size.html.md.erb          |   20 +
 .../create-access-cache.html.md.erb             |   53 +
 .../declarative-region-creation.html.md.erb     |   38 +
 .../client-cache/disk-policy.html.md.erb        |   34 +
 .../client-cache/entries.html.md.erb            |   20 +
 .../expiration-attributes.html.md.erb           |   65 +
 .../getting-the-region-size.html.md.erb         |   11 +
 .../client-cache/initial-capacity.html.md.erb   |   15 +
 .../invalidating-cached-entries.html.md.erb     |   16 +
 .../invalidating-region.html.md.erb             |   25 +
 .../client-cache/load-factor.html.md.erb        |   15 +
 .../client-cache/lru-entries-limit.html.md.erb  |   31 +
 .../managing-lifetime-cached-object.html.md.erb |   48 +
 .../notification-for-operations.html.md.erb     |   16 +
 .../overview-client-cache.html.md.erb           |   24 +
 .../persistence-manager.html.md.erb             |  224 ++
 .../programmatic-region-creation.html.md.erb    |   24 +
 .../client-cache/region-access.html.md.erb      |   21 +
 .../region-attributes-desc.html.md.erb          |   39 +
 .../client-cache/region-attributes.html.md.erb  |   35 +
 .../client-cache/region-shortcuts.html.md.erb   |   63 +
 .../client-cache/regions.html.md.erb            |   32 +
 ...registering-interest-for-entries.html.md.erb |   93 +
 .../requirements-for-distrib.html.md.erb        |   11 +
 .../specify-region-attributes.html.md.erb       |    9 +
 .../client-cache/troubleshooting.html.md.erb    |   41 +
 .../client-cache/updating-entries.html.md.erb   |   16 +
 .../using-serverkeys-to-retrieve.html.md.erb    |   32 +
 .../using-thread-safety.html.md.erb             |   13 +
 .../common/images/10-Continuous_Querying-1.gif  |  Bin 0 -> 7411 bytes
 .../common/images/10-Continuous_Querying-3.gif  |  Bin 0 -> 8611 bytes
 .../common/images/6-DotNet_API-1.gif            |  Bin 0 -> 4218 bytes
 .../common/images/7-Preserving_Data-2.gif       |  Bin 0 -> 13146 bytes
 .../common/images/client-cache-data-flow.gif    |  Bin 0 -> 4422 bytes
 .../common/images/client-cache-plugins-run.gif  |  Bin 0 -> 4340 bytes
 .../common/images/client-server-arch.gif        |  Bin 0 -> 7198 bytes
 .../common/images/data-dep-func-from-client.gif |  Bin 0 -> 10336 bytes
 .../common/images/data-dep-func-with-filter.gif |  Bin 0 -> 11062 bytes
 .../images/data-indep-func-from-client.gif      |  Bin 0 -> 8105 bytes
 .../delta-propagation-in-client-server.gif      |  Bin 0 -> 7115 bytes
 .../common/images/delta-propagation.gif         |  Bin 0 -> 8817 bytes
 .../common/images/ha-data-dep-func.gif          |  Bin 0 -> 14684 bytes
 .../common/images/native-client-overview.gif    |  Bin 0 -> 6421 bytes
 .../images/security-client-connections.gif      |  Bin 0 -> 8300 bytes
 .../common/images/xact-run-from-client.gif      |  Bin 0 -> 9928 bytes
 .../about-connection-pools.html.md.erb          |   20 +
 .../about-server-locators.html.md.erb           |   17 +
 .../client-load-balancing.html.md.erb           |   21 +
 ...iguring-pools-attributes-example.html.md.erb |  156 +
 .../configuring-pools.html.md.erb               |   25 +
 .../connection-pools.html.md.erb                |   15 +
 ...discovering-locators-dynamically.html.md.erb |   17 +
 .../native-client-pool-api.html.md.erb          |   22 +
 .../running-connection-pool-code.html.md.erb    |   59 +
 .../subscription-properties.html.md.erb         |   24 +
 .../1-how-cont-query-works.html.md.erb          |   59 +
 ...2-config-for-continuous-querying.html.md.erb |   15 +
 .../3-native-client-cq-api.html.md.erb          |   41 +
 .../5-implementing-cq.html.md.erb               |   47 +
 .../5a-writing-cq.html.md.erb                   |   26 +
 .../5b-writing-cq-listener.html.md.erb          |  280 ++
 .../5c-cq-event-object.html.md.erb              |   60 +
 .../5d-when-error-occurs.html.md.erb            |   17 +
 .../5e-running-cq-code.html.md.erb              |   67 +
 .../5f-cq-execution-options.html.md.erb         |   13 +
 .../6-managing-cqs.html.md.erb                  |   35 +
 .../continuous-querying.html.md.erb             |   23 +
 .../cpp-caching-api/accessing-entry.html.md.erb |   28 +
 .../add-entry-to-cache.html.md.erb              |   43 +
 .../cpp-caching-api/cpp-caching-api.html.md.erb |   51 +
 .../cpp-caching-api/creating-cache.html.md.erb  |   22 +
 .../creating-new-statistics.html.md.erb         |   53 +
 .../cpp-caching-api/creating-region.html.md.erb |   34 +
 .../cpp-caching-api/data-as-blob.html.md.erb    |   11 +
 .../cpp-caching-api/gfe-cpp-api.html.md.erb     |   61 +
 .../cpp-caching-api/object-graphs.html.md.erb   |    9 +
 .../pdx_auto_serialization.html.md.erb          |  355 ++
 .../pdx_ignore_unread_fields.html.md.erb        |   20 +
 .../pdx_serialization.html.md.erb               |   43 +
 .../pdx_with_delta_propagation.html.md.erb      |   28 +
 .../pdxserializable_interface.html.md.erb       |  100 +
 .../performing_ops_with_pdx_object.html.md.erb  |   43 +
 ...ion_data_requiring_serialization.html.md.erb |   19 +
 .../cpp-caching-api/removing-entry.html.md.erb  |   19 +
 .../serialization_options.html.md.erb           |   65 +
 .../serialization_overview.html.md.erb          |   31 +
 ...serialization_using_serializable.html.md.erb |  246 ++
 .../type_interoperability.html.md.erb           |   46 +
 .../user-defined-objects.html.md.erb            |   31 +
 .../using-custom-class.html.md.erb              |   68 +
 .../using_enum_type_with_pdx.html.md.erb        |  113 +
 .../using_pdxinstance.html.md.erb               |   42 +
 .../using_pdxinstancefactory.html.md.erb        |  117 +
 .../using_pdxserializer.html.md.erb             |  102 +
 .../delta-propagation-api.html.md.erb           |   27 +
 .../delta-propagation-examples.html.md.erb      |  335 ++
 .../delta-propagation-properties.html.md.erb    |   42 +
 .../delta-propagation.html.md.erb               |   31 +
 .../how-delta-propagation-works.html.md.erb     |   19 +
 .../implementing-delta-propagation.html.md.erb  |   41 +
 .../delta-propagation/performance.html.md.erb   |   48 +
 .../application-callbacks.html.md.erb           |   81 +
 .../dotnet-caching-api/cache-apis.html.md.erb   |   10 +
 ...p-class-to-dotnet-class-mappings.html.md.erb |  164 +
 .../creating-a-cache.html.md.erb                |   33 +
 .../creating-a-region.html.md.erb               |   37 +
 .../csharp-dotnet-api.html.md.erb               |   38 +
 ...csharp-dotnet-naming-conventions.html.md.erb |   15 +
 .../custom-class-igfserializable.html.md.erb    |  136 +
 .../data-serialization-apis.html.md.erb         |   23 +
 .../dotnet-accessing-an-entry.html.md.erb       |   34 +
 .../dotnet-adding-entry-to-cache.html.md.erb    |   29 +
 .../dotnet-application-domains.html.md.erb      |   16 +
 .../dotnet-caching-api.html.md.erb              |   63 +
 ...otnet-data-serialization-options.html.md.erb |   64 +
 .../dotnet-data-serialization.html.md.erb       |   35 +
 .../dotnet-pdx-autoserializer.html.md.erb       |   57 +
 ...otnet-pdx-serialization-features.html.md.erb |   27 +
 .../dotnet-pdx-serialization.html.md.erb        |   11 +
 .../event-handling-apis.html.md.erb             |   15 +
 .../extending-pdx-autoserializer.html.md.erb    |   59 +
 .../how-igfserializable-works.html.md.erb       |   19 +
 .../implementing-igfserializable.html.md.erb    |  122 +
 .../implementing-shared-assembly.html.md.erb    |   21 +
 .../java-to-dotnet-type-mapping.html.md.erb     |  146 +
 ...mapping-dotnet-domain-type-names.html.md.erb |   25 +
 .../object-lifetimes.html.md.erb                |   37 +
 .../dotnet-caching-api/other-apis.html.md.erb   |   14 +
 .../primary-apis-cache-generic.html.md.erb      |   30 +
 .../private-assembly.html.md.erb                |   39 +
 .../problem-scenarios.html.md.erb               |   24 +
 .../programming-ipdxinstance.html.md.erb        |   45 +
 .../region-entry-apis.html.md.erb               |   18 +
 .../registering-the-type.html.md.erb            |   27 +
 .../removing-entry.html.md.erb                  |   21 +
 .../resolving-the-error.html.md.erb             |    9 +
 .../serializable-types.html.md.erb              |   20 +
 .../serialize-using-igfserializable.html.md.erb |   23 +
 ...serialize-using-ipdxserializable.html.md.erb |  103 +
 .../serializing-domain-objects.html.md.erb      |   29 +
 .../simple-csharp-example.html.md.erb           |   43 +
 ...ubleshooting-dotnet-applications.html.md.erb |   25 +
 .../using-ipdxinstancefactory.html.md.erb       |  111 +
 .../data-aware-function-execution.html.md.erb   |   11 +
 .../executing-functions.html.md.erb             |   21 +
 .../function-execution.html.md.erb              |   22 +
 .../handling-function-results.html.md.erb       |   34 +
 .../how-functions-execute.html.md.erb           |   60 +
 .../running-function.html.md.erb                |  122 +
 .../solutions-use-cases.html.md.erb             |   13 +
 .../chapter_overview.html.md.erb                |   22 +
 .../default_sample_file.html.md.erb             |  104 +
 .../gfcpp.properties_search_path.html.md.erb    |   11 +
 .../overriding_gfcpp.properties.html.md.erb     |    9 +
 geode-docs/nativeclient/glossary.html.md.erb    |  213 ++
 .../introduction/developing-linux.html.md.erb   |   86 +
 .../introduction/developing-solaris.html.md.erb |   44 +
 .../introduction/developing-windows.html.md.erb |   56 +
 .../examples-quickstart.html.md.erb             |   15 +
 .../introduction/install-overview.html.md.erb   |    7 +
 .../native-client-intro.html.md.erb             |   25 +
 .../native-client-overview.html.md.erb          |   20 +
 .../introduction/product-examples.html.md.erb   |   19 +
 .../introduction/quickstart.html.md.erb         |   11 +
 .../introduction/runnng-client-apps.html.md.erb |   19 +
 .../app-ops-during-int-reg.html.md.erb          |   17 +
 .../client-side-config.html.md.erb              |   19 +
 .../config-durable-interest-keys.html.md.erb    |   33 +
 .../config-durable-reconnect.html.md.erb        |   42 +
 .../configuring-durable-nc.html.md.erb          |   38 +
 .../configuring-nc-ha.html.md.erb               |   49 +
 .../disconnecting-from-server.html.md.erb       |   21 +
 .../preserving-data/disconnection.html.md.erb   |   27 +
 .../durable-client-life-cycle.html.md.erb       |   27 +
 .../durable-client-messaging-req.html.md.erb    |   21 +
 .../durable-client-messaging.html.md.erb        |   31 +
 .../durable-message-replay.html.md.erb          |   27 +
 .../high-availability-client-server.html.md.erb |   20 +
 ...-cache-listeners-durable-clients.html.md.erb |   19 +
 .../initial-operation.html.md.erb               |    9 +
 .../preserving-data/preserving-data.html.md.erb |   21 +
 .../preserving-data/reconnection.html.md.erb    |   32 +
 .../sending-cache-ready-message.html.md.erb     |   19 +
 .../sending-periodic-ack.html.md.erb            |   31 +
 .../using-queue-conflation.html.md.erb          |   25 +
 .../cpp-example.html.md.erb                     |   33 +
 .../csharp-example.html.md.erb                  |   85 +
 .../native-client-region.html.md.erb            |   29 +
 .../programming-examples.html.md.erb            |   19 +
 .../serialization-cpp.html.md.erb               |  296 ++
 .../serialization-csharp.html.md.erb            |   98 +
 .../serialization-java.html.md.erb              |  210 ++
 .../serialization-overview.html.md.erb          |   15 +
 .../1-quickintro-overview.html.md.erb           |   19 +
 .../2-quickintro-querycodeexamples.html.md.erb  |   40 +
 .../3-quickintro-requirements.html.md.erb       |   43 +
 ...uickintro-exampleportfolioregion.html.md.erb |   60 +
 ...quickintro-query-portfolioregion.html.md.erb |   97 +
 ...-quickintro-modify-cachecontents.html.md.erb |   25 +
 .../2-accessingdata.html.md.erb                 |   14 +
 .../21-basic-region-access.html.md.erb          |   31 +
 .../22-drilldown-modify-query-scope.html.md.erb |   29 +
 .../23-attribute-visibility.html.md.erb         |   49 +
 .../24-nested-query-scope.html.md.erb           |   38 +
 .../25-when-names-cant-resolve.html.md.erb      |    5 +
 .../1-querystring-overview.html.md.erb          |   11 +
 .../93-querystrings/3-from-clause.html.md.erb   |   58 +
 .../3a-iterator-variables.html.md.erb           |   16 +
 ...b-importing-using-object-classes.html.md.erb |   32 +
 .../3c-predefined-class-types.html.md.erb       |   29 +
 .../3d-specify-object-types.html.md.erb         |   53 +
 .../93-querystrings/4-where-clause.html.md.erb  |   23 +
 .../93-querystrings/5-joins.html.md.erb         |   15 +
 .../6-select-projection-list.html.md.erb        |   19 +
 ...7-select-statement-query-results.html.md.erb |  113 +
 .../8-query-language-elements.html.md.erb       |   19 +
 .../8a-method-invocation.html.md.erb            |   18 +
 .../8b-query-lang-literals.html.md.erb          |   19 +
 .../8c-type-conversions.html.md.erb             |   31 +
 .../94-indexes/indexes-overview.html.md.erb     |   31 +
 .../1-remote-query-api-overview.html.md.erb     |   23 +
 .../2-create-manage-queries.html.md.erb         |   46 +
 .../3-query-result-sets.html.md.erb             |   10 +
 .../2-query-code-examples-resultset.html.md.erb |   68 +
 .../3-query-code-examples-structset.html.md.erb |  192 +
 .../remote-querying/remote-querying.html.md.erb |   27 +
 .../security/LDAPserverauth.html.md.erb         |   27 +
 .../nativeclient/security/PKCS.html.md.erb      |   28 +
 .../security/authentication-levels.html.md.erb  |   21 +
 .../security/authforcacheserver.html.md.erb     |   23 +
 .../security/caveatregionservice.html.md.erb    |   26 +
 .../config-clientauthorization.html.md.erb      |   13 +
 .../createsecureconnregionservice.html.md.erb   |   43 +
 .../security/encrypted-auth.html.md.erb         |   15 +
 .../handling-serv-auth-errors.html.md.erb       |    7 +
 .../security/limitations.html.md.erb            |    9 +
 .../security/overviewauthentication.html.md.erb |   31 +
 .../overviewclientauthorization.html.md.erb     |   21 +
 .../security/overviewencryptcred.html.md.erb    |   42 +
 .../security/overviewsecurity.html.md.erb       |   29 +
 .../overviewsslclientserver.html.md.erb         |   13 +
 .../security/postopauthorization.html.md.erb    |   15 +
 .../security/security-systemprops.html.md.erb   |   68 +
 .../nativeclient/security/ssl-setup.html.md.erb |  122 +
 .../security/systempropsforauth.html.md.erb     |   68 +
 .../security/usingoperationcontext.html.md.erb  |   23 +
 .../attribute-def-priority.html.md.erb          |   21 +
 .../attributes-gfcpp.html.md.erb                |  264 ++
 .../cache-server-config.html.md.erb             |   19 +
 .../chapter-overview.html.md.erb                |   19 +
 .../config-overview.html.md.erb                 |   31 +
 .../define-programmatically.html.md.erb         |   18 +
 .../native-client-config.html.md.erb            |   33 +
 .../chapter_overview.html.md.erb                |   21 +
 .../linux_install.html.md.erb                   |   42 +
 .../solaris_install.html.md.erb                 |   54 +
 .../windows_install.html.md.erb                 |   37 +
 .../cache_performance_statistics.html.md.erb    |   30 +
 .../chapter_overview.html.md.erb                |   21 +
 .../continuous_query_statistics.html.md.erb     |   14 +
 .../cq_service_statistics.html.md.erb           |   15 +
 .../delta_statistics.html.md.erb                |   14 +
 .../linux_os_statistics.html.md.erb             |   17 +
 .../operating_system_statistics.html.md.erb     |   19 +
 .../pool_statistics.html.md.erb                 |   30 +
 .../region_statistics.html.md.erb               |  113 +
 .../sampling_statistics.html.md.erb             |   17 +
 .../solaris_os_statistics.html.md.erb           |   17 +
 .../system_performance_statistics.html.md.erb   |   31 +
 .../windows_os_statistics.html.md.erb           |   26 +
 .../how-native-client-xacts-work.html.md.erb    |   39 +
 .../running-native-client-xact.html.md.erb      |   73 +
 .../suspend-resume-xacts.html.md.erb            |   17 +
 .../transactions/transactions.html.md.erb       |   21 +
 .../type_mappings/chapter_overview.html.md.erb  |   13 +
 ...p-class-to-dotnet-class-mappings.html.md.erb |  169 +
 .../java-to-dotnet-type-mapping.html.md.erb     |  147 +
 geode-docs/prereq_and_install.html.md.erb       |   23 +
 geode-docs/reference/book_intro.html.md.erb     |   31 +
 .../statistics/statistics_list.html.md.erb      | 1276 +++++++
 .../topics/cache-elements-list.html.md.erb      |  168 +
 .../reference/topics/cache_xml.html.md.erb      | 3090 ++++++++++++++++
 .../chapter_overview_cache_xml.html.md.erb      |   30 +
 ...chapter_overview_regionshortcuts.html.md.erb |   90 +
 .../client-cache-elements-list.html.md.erb      |  120 +
 .../reference/topics/client-cache.html.md.erb   | 2666 ++++++++++++++
 .../reference/topics/elements_ref.html.md.erb   |  100 +
 .../topics/gemfire_properties.html.md.erb       |  623 ++++
 .../reference/topics/gfe_cache_xml.html.md.erb  | 3394 ++++++++++++++++++
 .../reference/topics/glossary.html.md.erb       |  601 ++++
 ...handling_exceptions_and_failures.html.md.erb |   15 +
 ...mory_requirements_for_cache_data.html.md.erb |   31 +
 ...requirements_guidelines_and_calc.html.md.erb |  269 ++
 ...on-ascii_strings_in_config_files.html.md.erb |   26 +
 .../region_shortcuts_reference.html.md.erb      | 1482 ++++++++
 .../topics/region_shortcuts_table.html.md.erb   |  502 +++
 geode-docs/rest_apps/book_intro.html.md.erb     |   42 +
 .../rest_apps/chapter_overview.html.md.erb      |   15 +
 .../rest_apps/delete_all_data.html.md.erb       |   39 +
 .../rest_apps/delete_data_for_key.html.md.erb   |   39 +
 .../delete_data_for_multiple_keys.html.md.erb   |   39 +
 .../rest_apps/delete_named_query.html.md.erb    |   43 +
 .../rest_apps/develop_rest_apps.html.md.erb     |  666 ++++
 .../get_execute_adhoc_query.html.md.erb         |  103 +
 geode-docs/rest_apps/get_functions.html.md.erb  |   50 +
 geode-docs/rest_apps/get_queries.html.md.erb    |   55 +
 .../rest_apps/get_region_data.html.md.erb       |  115 +
 ...et_region_data_for_multiple_keys.html.md.erb |  221 ++
 .../rest_apps/get_region_key_data.html.md.erb   |   70 +
 .../rest_apps/get_region_keys.html.md.erb       |   50 +
 geode-docs/rest_apps/get_regions.html.md.erb    |   78 +
 geode-docs/rest_apps/get_servers.html.md.erb    |   47 +
 .../rest_apps/head_region_size.html.md.erb      |   45 +
 geode-docs/rest_apps/ping_service.html.md.erb   |   37 +
 .../rest_apps/post_create_query.html.md.erb     |   89 +
 .../post_execute_functions.html.md.erb          |  125 +
 .../rest_apps/post_execute_query.html.md.erb    |  155 +
 .../rest_apps/post_if_absent_data.html.md.erb   |  127 +
 .../put_multiple_values_for_keys.html.md.erb    |   86 +
 .../rest_apps/put_replace_data.html.md.erb      |   66 +
 .../rest_apps/put_update_cas_data.html.md.erb   |  198 +
 .../rest_apps/put_update_data.html.md.erb       |   65 +
 .../rest_apps/put_update_query.html.md.erb      |   68 +
 geode-docs/rest_apps/rest_admin.html.md.erb     |   15 +
 .../rest_apps/rest_api_reference.html.md.erb    |   26 +
 geode-docs/rest_apps/rest_examples.html.md.erb  |  691 ++++
 geode-docs/rest_apps/rest_functions.html.md.erb |   15 +
 geode-docs/rest_apps/rest_prereqs.html.md.erb   |   20 +
 geode-docs/rest_apps/rest_queries.html.md.erb   |   31 +
 geode-docs/rest_apps/rest_regions.html.md.erb   |   65 +
 geode-docs/rest_apps/setup_config.html.md.erb   |  162 +
 .../rest_apps/troubleshooting.html.md.erb       |  152 +
 geode-docs/rest_apps/using_swagger.html.md.erb  |   54 +
 geode-docs/tools_modules/book_intro.html.md.erb |   34 +
 .../gemcached/about_gemcached.html.md.erb       |   29 +
 .../gemcached/advantages.html.md.erb            |   19 +
 .../gemcached/chapter_overview.html.md.erb      |   23 +
 .../gemcached/deploying_gemcached.html.md.erb   |   80 +
 .../tools_modules/gfsh/about_gfsh.html.md.erb   |   25 +
 .../gfsh/cache_xml_2_gfsh.html.md.erb           |   88 +
 .../gfsh/chapter_overview.html.md.erb           |   49 +
 .../gfsh/command-pages/alter.html.md.erb        |  503 +++
 .../gfsh/command-pages/backup.html.md.erb       |   68 +
 .../gfsh/command-pages/change.html.md.erb       |   81 +
 .../gfsh/command-pages/clear.html.md.erb        |   33 +
 .../gfsh/command-pages/close.html.md.erb        |  124 +
 .../gfsh/command-pages/compact.html.md.erb      |   97 +
 .../gfsh/command-pages/configure.html.md.erb    |   68 +
 .../gfsh/command-pages/connect.html.md.erb      |  155 +
 .../gfsh/command-pages/create.html.md.erb       |  937 +++++
 .../gfsh/command-pages/debug.html.md.erb        |   37 +
 .../gfsh/command-pages/define.html.md.erb       |   51 +
 .../gfsh/command-pages/deploy.html.md.erb       |   61 +
 .../gfsh/command-pages/describe.html.md.erb     |  392 ++
 .../gfsh/command-pages/destroy.html.md.erb      |  161 +
 .../gfsh/command-pages/disconnect.html.md.erb   |   39 +
 .../gfsh/command-pages/echo.html.md.erb         |   49 +
 .../gfsh/command-pages/encrypt.html.md.erb      |   40 +
 .../gfsh/command-pages/execute.html.md.erb      |   42 +
 .../gfsh/command-pages/exit.html.md.erb         |   23 +
 .../gfsh/command-pages/export.html.md.erb       |  254 ++
 .../gfsh/command-pages/gc.html.md.erb           |   41 +
 .../gfsh/command-pages/get.html.md.erb          |   50 +
 .../gfsh/command-pages/help.html.md.erb         |   60 +
 .../gfsh/command-pages/hint.html.md.erb         |   61 +
 .../gfsh/command-pages/history.html.md.erb      |   42 +
 .../gfsh/command-pages/import.html.md.erb       |   83 +
 .../gfsh/command-pages/list.html.md.erb         |  457 +++
 .../gfsh/command-pages/load-balance.html.md.erb |   47 +
 .../gfsh/command-pages/locate.html.md.erb       |   55 +
 .../gfsh/command-pages/netstat.html.md.erb      |  122 +
 .../gfsh/command-pages/pause.html.md.erb        |   34 +
 .../gfsh/command-pages/pdx.html.md.erb          |   73 +
 .../gfsh/command-pages/put.html.md.erb          |   61 +
 .../gfsh/command-pages/query.html.md.erb        |   52 +
 .../gfsh/command-pages/rebalance.html.md.erb    |   56 +
 .../gfsh/command-pages/remove.html.md.erb       |   46 +
 .../gfsh/command-pages/resume.html.md.erb       |   34 +
 .../gfsh/command-pages/revoke.html.md.erb       |   48 +
 .../gfsh/command-pages/run.html.md.erb          |   88 +
 .../gfsh/command-pages/set.html.md.erb          |   53 +
 .../gfsh/command-pages/sh.html.md.erb           |   46 +
 .../gfsh/command-pages/show.html.md.erb         |  285 ++
 .../gfsh/command-pages/shutdown.html.md.erb     |   45 +
 .../gfsh/command-pages/sleep.html.md.erb        |   40 +
 .../gfsh/command-pages/start.html.md.erb        |  759 ++++
 .../gfsh/command-pages/status.html.md.erb       |  281 ++
 .../gfsh/command-pages/stop.html.md.erb         |  210 ++
 .../gfsh/command-pages/undeploy.html.md.erb     |   60 +
 .../gfsh/command-pages/validate.html.md.erb     |   31 +
 .../gfsh/command-pages/version.html.md.erb      |   43 +
 .../gfsh/command_scripting.html.md.erb          |   20 +
 .../gfsh/configuring_gfsh.html.md.erb           |  112 +
 .../gfsh/getting_started_gfsh.html.md.erb       |  139 +
 .../gfsh/gfsh_command_index.html.md.erb         |  207 ++
 .../gfsh/gfsh_quick_reference.html.md.erb       |   41 +
 .../gfsh/os_command_line_execution.html.md.erb  |   33 +
 .../gfsh/quick_ref_commands_by_area.html.md.erb |  301 ++
 .../gfsh/starting_gfsh.html.md.erb              |   58 +
 .../tools_modules/gfsh/tour_of_gfsh.html.md.erb |  440 +++
 .../useful_gfsh_shell_variables.html.md.erb     |   55 +
 .../hibernate_cache/advanced_config.html.md.erb |   34 +
 .../changing_gemfire_default_cfg.html.md.erb    |  138 +
 .../chapter_overview.html.md.erb                |   37 +
 .../chapter_overview_how_works.html.md.erb      |    8 +
 .../hibernate_why_use_gemfire.html.md.erb       |   27 +
 .../installing_gemfire_and_module.html.md.erb   |   11 +
 .../setting_up_the_module.html.md.erb           |   93 +
 ...sing_hibernate_with_http_session.html.md.erb |   22 +
 .../chapter_overview.html.md.erb                |   43 +
 .../common_gemfire_topologies.html.md.erb       |   19 +
 .../http_why_use_gemfire.html.md.erb            |   39 +
 .../interactive_mode_ref.html.md.erb            |  125 +
 .../http_session_mgmt/quick_start.html.md.erb   |  101 +
 .../session_mgmt_tcserver.html.md.erb           |   21 +
 .../session_mgmt_tomcat.html.md.erb             |   21 +
 .../session_mgmt_weblogic.html.md.erb           |   17 +
 .../session_state_log_files.html.md.erb         |   94 +
 .../tc_additional_info.html.md.erb              |   35 +
 .../tc_changing_gf_default_cfg.html.md.erb      |   81 +
 .../tc_installing_the_module.html.md.erb        |   21 +
 .../tc_setting_up_the_module.html.md.erb        |  122 +
 .../tomcat_changing_gf_default_cfg.html.md.erb  |  153 +
 .../tomcat_installing_the_module.html.md.erb    |   21 +
 .../tomcat_setting_up_the_module.html.md.erb    |  103 +
 ...weblogic_changing_gf_default_cfg.html.md.erb |  162 +
 ...gic_common_configuration_changes.html.md.erb |   35 +
 .../weblogic_setting_up_the_module.html.md.erb  |  196 +
 .../pulse/chapter_overview.html.md.erb          |   32 +
 .../tools_modules/pulse/quickstart.html.md.erb  |  810 +++++
 .../pulse/system_requirements.html.md.erb       |   18 +
 .../tools_modules/redis_adapter.html.md.erb     |   73 +
 .../topologies_and_comm/book_intro.html.md.erb  |   25 +
 .../chapter_overview.html.md.erb                |   35 +
 ...nt_server_example_configurations.html.md.erb |  147 +
 .../client_server_whats_next.html.md.erb        |   39 +
 ...gure_servers_into_logical_groups.html.md.erb |   37 +
 ...etting_up_a_client_server_system.html.md.erb |   70 +
 ...tandard_client_server_deployment.html.md.erb |   18 +
 .../chapter_overview.html.md.erb                |   27 +
 .../multisite_topologies.html.md.erb            |   50 +
 .../setting_up_a_multisite_system.html.md.erb   |  364 ++
 .../chapter_overview.html.md.erb                |   19 +
 .../configuring_peer_member_groups.html.md.erb  |   43 +
 .../setting_up_a_p2p_system.html.md.erb         |   25 +
 .../setting_up_peer_communication.html.md.erb   |   47 +
 .../topology_concepts/IPv4_and_IPv6.html.md.erb |   32 +
 .../chapter_overview.html.md.erb                |   31 +
 .../how_communication_works.html.md.erb         |   45 +
 .../how_member_discovery_works.html.md.erb      |   43 +
 .../how_multisite_systems_work.html.md.erb      |   27 +
 .../how_server_discovery_works.html.md.erb      |   60 +
 ...how_the_pool_manages_connections.html.md.erb |   61 +
 .../member_communication.html.md.erb            |   29 +
 .../multisite_overview.html.md.erb              |  105 +
 .../topology_types.html.md.erb                  |   31 +
 .../using_bind_addresses.html.md.erb            |   95 +
 .../15_minute_quickstart_gfsh.html.md.erb       |  499 ---
 getting_started/book_intro.html.md.erb          |   23 -
 getting_started/geode_overview.html.md.erb      |   20 -
 .../installation/install_standalone.html.md.erb |  121 -
 getting_started/product_intro.html.md.erb       |   84 -
 .../querying_quick_reference.html.md.erb        |  694 ----
 getting_started/setup_classpath.html.md.erb     |  105 -
 .../host_machine.html.md.erb                    |   32 -
 getting_started/uninstall_gemfire.html.md.erb   |    9 -
 images/ClientServerAdvancedTopics-5.gif         |  Bin 10798 -> 0 bytes
 images/ClientServerAdvancedTopics-6.gif         |  Bin 12056 -> 0 bytes
 images/ClientServerAdvancedTopics-7.gif         |  Bin 5000 -> 0 bytes
 images/ContinuousQuerying-1.gif                 |  Bin 6955 -> 0 bytes
 images/ContinuousQuerying-3.gif                 |  Bin 9141 -> 0 bytes
 images/DataManagement-9.png                     |  Bin 48188 -> 0 bytes
 images/DeltaPropagation-1.gif                   |  Bin 7593 -> 0 bytes
 images/DeltaPropagation-3.gif                   |  Bin 6843 -> 0 bytes
 images/Events-2.gif                             |  Bin 8793 -> 0 bytes
 images/Events-3.gif                             |  Bin 6432 -> 0 bytes
 images/FuncExecOnMembers.png                    |  Bin 64959 -> 0 bytes
 images/FuncExecOnRegionHAWithFilter.png         |  Bin 80141 -> 0 bytes
 images/FuncExecOnRegionNoMetadata.png           |  Bin 70177 -> 0 bytes
 images/FuncExecOnRegionPeersWithFilter.png      |  Bin 86576 -> 0 bytes
 images/FuncExecOnRegionWithFilter.png           |  Bin 60773 -> 0 bytes
 images/FuncExecOnRegionWithMetadata.png         |  Bin 59576 -> 0 bytes
 images/FuncExecOnServers.png                    |  Bin 57470 -> 0 bytes
 images/Gemcached.png                            |  Bin 87366 -> 0 bytes
 images/HibernateFlowchart.png                   |  Bin 138228 -> 0 bytes
 images/JConsole.png                             |  Bin 64272 -> 0 bytes
 images/MultiSite-4.gif                          |  Bin 4991 -> 0 bytes
 images/MultisiteConcurrency_WAN_Gateway.png     |  Bin 103701 -> 0 bytes
 images/SQLite_Persistence_Mgr.png               |  Bin 58388 -> 0 bytes
 images/Transaction-simple.png                   |  Bin 119831 -> 0 bytes
 images/consistent_multisite.png                 |  Bin 39442 -> 0 bytes
 images/diskStores-1.gif                         |  Bin 7292 -> 0 bytes
 images/diskStores-3.gif                         |  Bin 5898 -> 0 bytes
 images/jconsole_mbeans.png                      |  Bin 211394 -> 0 bytes
 images/jvisualvm.png                            |  Bin 90153 -> 0 bytes
 images/logging-1.gif                            |  Bin 2778 -> 0 bytes
 images/member_view_list.png                     |  Bin 107811 -> 0 bytes
 images/multisite-topology-avoid-3.png           |  Bin 9794 -> 0 bytes
 images/multisite-topology-hybrid-1.png          |  Bin 7627 -> 0 bytes
 images/multisite-topology-hybrid-2.png          |  Bin 7631 -> 0 bytes
 images/multisite-topology-parallel.png          |  Bin 7838 -> 0 bytes
 images/multisite-topology-serial.png            |  Bin 6886 -> 0 bytes
 images/parallel_sender.png                      |  Bin 36089 -> 0 bytes
 images/pulse-data-browser.png                   |  Bin 99987 -> 0 bytes
 images/pulse-region-detail.png                  |  Bin 61149 -> 0 bytes
 images/pulse_alerts_widget.png                  |  Bin 137883 -> 0 bytes
 images/pulse_cluster_view.png                   |  Bin 154531 -> 0 bytes
 images/pulse_data_view.png                      |  Bin 138140 -> 0 bytes
 images/pulse_locator.png                        |  Bin 228513 -> 0 bytes
 images/pulse_member_view.png                    |  Bin 132309 -> 0 bytes
 images/rest_example_java_packages.png           |  Bin 30206 -> 0 bytes
 images/security-1.gif                           |  Bin 8343 -> 0 bytes
 images/security-3.gif                           |  Bin 8287 -> 0 bytes
 images/security-4.gif                           |  Bin 7028 -> 0 bytes
 images/security-5.gif                           |  Bin 7408 -> 0 bytes
 images/serial_sender.png                        |  Bin 32385 -> 0 bytes
 images/statistics-1.gif                         |  Bin 8644 -> 0 bytes
 images/swagger_home.png                         |  Bin 187378 -> 0 bytes
 images/swagger_post_region.png                  |  Bin 170963 -> 0 bytes
 images/swagger_post_region_response.png         |  Bin 176783 -> 0 bytes
 images/swagger_v1.png                           |  Bin 149806 -> 0 bytes
 images/swagger_v1_response.png                  |  Bin 143134 -> 0 bytes
 images/transactions-client-1.png                |  Bin 113816 -> 0 bytes
 images/transactions_jca_adapter.png             |  Bin 104775 -> 0 bytes
 images/transactions_jta.png                     |  Bin 104780 -> 0 bytes
 images/transactions_jta_app_server.png          |  Bin 91885 -> 0 bytes
 images_svg/JMX_Architecture.svg                 |    3 -
 images_svg/MBeans.svg                           |    3 -
 images_svg/async_system_queue_conflation.svg    |    3 -
 images_svg/cache_data_loader.svg                |    3 -
 images_svg/cache_data_loader_2.svg              |    3 -
 images_svg/client_server_deployment.svg         |    3 -
 images_svg/client_server_event_dist.svg         |    3 -
 images_svg/client_server_message_tracking.svg   |    3 -
 images_svg/cluster-group-config.svg             |    3 -
 images_svg/cluster_config_overview.svg          |    3 -
 images_svg/colocated_partitioned_regions.svg    |    3 -
 images_svg/cs_connection_pool.svg               |    3 -
 images_svg/cs_locator_discovery.svg             |    3 -
 images_svg/cs_subscriptions.svg                 |    3 -
 images_svg/cs_topology.svg                      |    3 -
 images_svg/custom_partitioned.svg               |    3 -
 images_svg/developing_overflow.svg              |    3 -
 images_svg/developing_persistence.svg           |    3 -
 .../developing_persistence_and_overflow.svg     |    3 -
 images_svg/distributed_how_1.svg                |    3 -
 images_svg/distributed_how_2.svg                |    3 -
 images_svg/distributed_how_3.svg                |    3 -
 images_svg/distributed_preload.svg              |    3 -
 images_svg/distributed_replica.svg              |    3 -
 images_svg/distributed_replica_preload.svg      |    3 -
 images_svg/expiration.svg                       |    3 -
 images_svg/hibernate_cs.svg                     |    3 -
 images_svg/hibernate_overview.svg               |    3 -
 images_svg/hibernate_p2p.svg                    |    3 -
 images_svg/how_partitioning_works_1.svg         |    3 -
 images_svg/how_partitioning_works_2.svg         |    3 -
 images_svg/http_module_cs_with_locator.svg      |    3 -
 images_svg/http_module_p2p_with_locator.svg     |    3 -
 images_svg/locator_discovery.svg                |    3 -
 images_svg/member_severe_alert.svg              |    3 -
 images_svg/network_partition_scenario.svg       |    3 -
 images_svg/p2p_topology.svg                     |    3 -
 images_svg/partitioned_data_HA.svg              |    3 -
 images_svg/partitioned_data_buckets_1.svg       |    3 -
 images_svg/partitioned_data_buckets_2.svg       |    3 -
 images_svg/region_entry_versions_1.svg          |    3 -
 images_svg/region_entry_versions_2.svg          |    3 -
 images_svg/region_entry_versions_3.svg          |    3 -
 images_svg/server_client_event_dist.svg         |    3 -
 images_svg/server_discovery.svg                 |    3 -
 images_svg/server_grouping.svg                  |    3 -
 images_svg/transactions_partitioned_1.svg       |    3 -
 images_svg/transactions_partitioned_2.svg       |    3 -
 images_svg/transactions_replicate_1.svg         |    3 -
 images_svg/transactions_replicate_2.svg         |    3 -
 images_svg/transactions_replicate_3.svg         |    3 -
 images_svg/transactions_replicate_4.svg         |    3 -
 images_svg/transactions_replicate_local_1.svg   |    3 -
 images_svg/transactions_replicate_no_ack_1.svg  |    3 -
 images_svg/transactions_replicate_no_ack_2.svg  |    3 -
 images_svg/tune_cs_event_messaging.svg          |    3 -
 .../unbalanced_network_capacity_probs.svg       |    3 -
 .../autoreconnect/member-reconnect.html.md.erb  |   42 -
 managing/book_intro.html.md.erb                 |   52 -
 .../chapter_overview.html.md.erb                |   34 -
 .../exporting_a_snapshot.html.md.erb            |   57 -
 .../filtering_snapshot_entries.html.md.erb      |   29 -
 .../importing_a_snapshot.html.md.erb            |   64 -
 .../read_snapshots_programmatically.html.md.erb |   26 -
 ...using_cache_and_region_snapshots.html.md.erb |   23 -
 .../backup_restore_disk_store.html.md.erb       |  172 -
 .../disk_storage/chapter_overview.html.md.erb   |   39 -
 .../compacting_disk_stores.html.md.erb          |  116 -
 .../disk_free_space_monitoring.html.md.erb      |   40 -
 .../disk_store_configuration_params.html.md.erb |  106 -
 .../file_names_and_extensions.html.md.erb       |   79 -
 .../handling_missing_disk_stores.html.md.erb    |   55 -
 .../how_disk_stores_work.html.md.erb            |   43 -
 ...eping_offline_disk_store_in_sync.html.md.erb |   48 -
 .../managing_disk_buffer_flushes.html.md.erb    |   27 -
 .../managing_disk_stores.html.md.erb            |   25 -
 .../managing_disk_stores_cmds.html.md.erb       |   45 -
 .../disk_storage/operation_logs.html.md.erb     |   52 -
 ...ize_availability_and_performance.html.md.erb |   15 -
 .../overview_using_disk_stores.html.md.erb      |   19 -
 ...starting_system_with_disk_stores.html.md.erb |  111 -
 .../disk_storage/using_disk_stores.html.md.erb  |  199 -
 .../using_the_default_disk_store.html.md.erb    |   53 -
 .../validating_disk_store.html.md.erb           |   20 -
 managing/heap_use/heap_management.html.md.erb   |  208 --
 managing/heap_use/lock_memory.html.md.erb       |   35 -
 .../heap_use/off_heap_management.html.md.erb    |  192 -
 managing/logging/configuring_log4j2.html.md.erb |   51 -
 managing/logging/how_logging_works.html.md.erb  |   22 -
 .../logging/log_collection_utility.html.md.erb  |   54 -
 managing/logging/logging.html.md.erb            |   31 -
 managing/logging/logging_categories.html.md.erb |  230 --
 managing/logging/logging_whats_next.html.md.erb |   39 -
 managing/logging/setting_up_logging.html.md.erb |   59 -
 .../configuring_rmi_connector.html.md.erb       |   17 -
 .../gfsh_and_management_api.html.md.erb         |   52 -
 .../management/jmx_manager_node.html.md.erb     |   20 -
 .../jmx_manager_operations.html.md.erb          |  195 -
 .../list_of_mbean_notifications.html.md.erb     |   65 -
 managing/management/list_of_mbeans.html.md.erb  |   21 -
 .../management/list_of_mbeans_full.html.md.erb  |  210 --
 .../management_and_monitoring.html.md.erb       |   35 -
 ...nagement_and_monitoring_features.html.md.erb |   24 -
 .../management_system_overview.html.md.erb      |   95 -
 .../management/mbean_architecture.html.md.erb   |   59 -
 .../management/mbean_notifications.html.md.erb  |   17 -
 managing/management/mbeans_jconsole.html.md.erb |   36 -
 managing/management/mm_overview.html.md.erb     |   77 -
 ...tification_federation_and_alerts.html.md.erb |   37 -
 .../management/programming_example.html.md.erb  |  220 --
 .../monitor_tune/cache_consistency.html.md.erb  |   63 -
 .../monitor_tune/chapter_overview.html.md.erb   |   43 -
 .../gemfire_performance_on_vsphere.html.md.erb  |   47 -
 ...erformance_on_vsphere_guidelines.html.md.erb |  119 -
 .../multicast_communication.html.md.erb         |   29 -
 ...ication_configuring_speed_limits.html.md.erb |   34 -
 ...unication_provisioning_bandwidth.html.md.erb |   43 -
 ...unication_runtime_considerations.html.md.erb |   30 -
 ...n_testing_multicast_speed_limits.html.md.erb |  128 -
 ...st_communication_troubleshooting.html.md.erb |   21 -
 .../performance_controls.html.md.erb            |   29 -
 ..._controls_controlling_socket_use.html.md.erb |   34 -
 ...ance_controls_data_serialization.html.md.erb |    9 -
 ...e_controls_increasing_cache_hits.html.md.erb |   11 -
 ...controls_managing_slow_receivers.html.md.erb |   56 -
 ..._controls_setting_cache_timeouts.html.md.erb |   24 -
 managing/monitor_tune/slow_messages.html.md.erb |   21 -
 .../monitor_tune/slow_receivers.html.md.erb     |   17 -
 .../slow_receivers_managing.html.md.erb         |   99 -
 ...ow_receivers_preventing_problems.html.md.erb |   28 -
 .../socket_communication.html.md.erb            |   31 -
 ...cation_ephemeral_tcp_port_limits.html.md.erb |   41 -
 ...ommunication_have_enough_sockets.html.md.erb |  168 -
 ...tion_setting_socket_buffer_sizes.html.md.erb |  127 -
 ...ion_tcpip_p2p_handshake_timeouts.html.md.erb |   21 -
 .../socket_tcp_keepalive.html.md.erb            |   14 -
 .../sockets_and_gateways.html.md.erb            |  105 -
 .../system_member_performance.html.md.erb       |   25 -
 ...mance_connection_thread_settings.html.md.erb |   15 -
 ...rmance_distributed_system_member.html.md.erb |   11 -
 ...ystem_member_performance_garbage.html.md.erb |   36 -
 ...ber_performance_jvm_mem_settings.html.md.erb |   61 -
 .../monitor_tune/udp_communication.html.md.erb  |   33 -
 .../chapter_overview.html.md.erb                |   31 -
 .../failure_detection.html.md.erb               |   45 -
 .../handling_network_partitioning.html.md.erb   |   46 -
 ...rk_partitioning_management_works.html.md.erb |   42 -
 ...ators_lead_members_and_weighting.html.md.erb |   62 -
 .../network_partitioning_scenarios.html.md.erb  |   36 -
 .../preventing_network_partitions.html.md.erb   |   11 -
 .../region_compression.html.md.erb              |  209 --
 .../authentication_examples.html.md.erb         |   53 -
 .../authentication_overview.html.md.erb         |   26 -
 .../security/authorization_example.html.md.erb  |   53 -
 .../security/authorization_overview.html.md.erb |   17 -
 managing/security/chapter_overview.html.md.erb  |   30 -
 managing/security/enable_security.html.md.erb   |   56 -
 .../security/encrypting_passwords.html.md.erb   |   32 -
 .../encrypting_with_diffie_helman.html.md.erb   |   49 -
 .../implementing_authentication.html.md.erb     |  125 -
 .../implementing_authorization.html.md.erb      |  248 --
 .../security/implementing_security.html.md.erb  |   63 -
 managing/security/implementing_ssl.html.md.erb  |  209 --
 managing/security/post_processing.html.md.erb   |   50 -
 managing/security/properties_file.html.md.erb   |   17 -
 managing/security/security-audit.html.md.erb    |   47 -
 .../security_audit_overview.html.md.erb         |   22 -
 managing/security/security_intro.html.md.erb    |   21 -
 managing/security/ssl_example.html.md.erb       |   88 -
 managing/security/ssl_overview.html.md.erb      |   28 -
 .../application_defined_statistics.html.md.erb  |   22 -
 .../statistics/chapter_overview.html.md.erb     |   25 -
 .../statistics/how_statistics_work.html.md.erb  |   17 -
 .../setting_up_statistics.html.md.erb           |  134 -
 ...ient_region_and_entry_statistics.html.md.erb |   25 -
 .../statistics/viewing_statistics.html.md.erb   |    7 -
 .../chapter_overview.html.md.erb                |   43 -
 .../diagnosing_system_probs.html.md.erb         |  420 ---
 ...ent_and_recover_disk_full_errors.html.md.erb |   28 -
 ...ducing_troubleshooting_artifacts.html.md.erb |   75 -
 ...ring_conflicting_data_exceptions.html.md.erb |   58 -
 .../recovering_from_app_crashes.html.md.erb     |   15 -
 .../recovering_from_cs_crashes.html.md.erb      |   37 -
 .../recovering_from_machine_crashes.html.md.erb |   45 -
 .../recovering_from_network_outages.html.md.erb |   56 -
 .../recovering_from_p2p_crashes.html.md.erb     |  214 --
 .../system_failure_and_recovery.html.md.erb     |  266 --
 .../about_native_client_users_guide.html.md.erb |   83 -
 .../cache-init-file/cache-dtd.html.md.erb       |  267 --
 .../chapter-overview.html.md.erb                |   21 -
 .../example-cache-file.html.md.erb              |   48 -
 .../cache-init-file/file-basics.html.md.erb     |   18 -
 .../client-cache/accessing-entries.html.md.erb  |   38 -
 .../adding-entries-to-cache.html.md.erb         |   32 -
 .../application-plugins.html.md.erb             |  262 --
 .../client-cache/cache-management.html.md.erb   |   29 -
 .../client-cache/cache-ownership.html.md.erb    |   11 -
 nativeclient/client-cache/caches.html.md.erb    |   27 -
 .../client-cache/caching-apis.html.md.erb       |   28 -
 .../client-cache/caching-enabled.html.md.erb    |   27 -
 .../client-cache/chapter-overview.html.md.erb   |   37 -
 .../client-to-server-connection.html.md.erb     |   39 -
 .../client-cache/closing-cache.html.md.erb      |   11 -
 .../concurrency-checks-enabled.html.md.erb      |   18 -
 .../client-cache/concurrency-level.html.md.erb  |   18 -
 .../consistency_checking_in_regions.html.md.erb |   19 -
 .../controlling-cache-size.html.md.erb          |   20 -
 .../create-access-cache.html.md.erb             |   53 -
 .../declarative-region-creation.html.md.erb     |   38 -
 .../client-cache/disk-policy.html.md.erb        |   34 -
 nativeclient/client-cache/entries.html.md.erb   |   20 -
 .../expiration-attributes.html.md.erb           |   65 -
 .../getting-the-region-size.html.md.erb         |   11 -
 .../client-cache/initial-capacity.html.md.erb   |   15 -
 .../invalidating-cached-entries.html.md.erb     |   16 -
 .../invalidating-region.html.md.erb             |   25 -
 .../client-cache/load-factor.html.md.erb        |   15 -
 .../client-cache/lru-entries-limit.html.md.erb  |   31 -
 .../managing-lifetime-cached-object.html.md.erb |   48 -
 .../notification-for-operations.html.md.erb     |   16 -
 .../overview-client-cache.html.md.erb           |   24 -
 .../persistence-manager.html.md.erb             |  224 --
 .../programmatic-region-creation.html.md.erb    |   24 -
 .../client-cache/region-access.html.md.erb      |   21 -
 .../region-attributes-desc.html.md.erb          |   39 -
 .../client-cache/region-attributes.html.md.erb  |   35 -
 .../client-cache/region-shortcuts.html.md.erb   |   63 -
 nativeclient/client-cache/regions.html.md.erb   |   32 -
 ...registering-interest-for-entries.html.md.erb |   93 -
 .../requirements-for-distrib.html.md.erb        |   11 -
 .../specify-region-attributes.html.md.erb       |    9 -
 .../client-cache/troubleshooting.html.md.erb    |   41 -
 .../client-cache/updating-entries.html.md.erb   |   16 -
 .../using-serverkeys-to-retrieve.html.md.erb    |   32 -
 .../using-thread-safety.html.md.erb             |   13 -
 .../common/images/10-Continuous_Querying-1.gif  |  Bin 7411 -> 0 bytes
 .../common/images/10-Continuous_Querying-3.gif  |  Bin 8611 -> 0 bytes
 nativeclient/common/images/6-DotNet_API-1.gif   |  Bin 4218 -> 0 bytes
 .../common/images/7-Preserving_Data-2.gif       |  Bin 13146 -> 0 bytes
 .../common/images/client-cache-data-flow.gif    |  Bin 4422 -> 0 bytes
 .../common/images/client-cache-plugins-run.gif  |  Bin 4340 -> 0 bytes
 .../common/images/client-server-arch.gif        |  Bin 7198 -> 0 bytes
 .../common/images/data-dep-func-from-client.gif |  Bin 10336 -> 0 bytes
 .../common/images/data-dep-func-with-filter.gif |  Bin 11062 -> 0 bytes
 .../images/data-indep-func-from-client.gif      |  Bin 8105 -> 0 bytes
 .../delta-propagation-in-client-server.gif      |  Bin 7115 -> 0 bytes
 .../common/images/delta-propagation.gif         |  Bin 8817 -> 0 bytes
 nativeclient/common/images/ha-data-dep-func.gif |  Bin 14684 -> 0 bytes
 .../common/images/native-client-overview.gif    |  Bin 6421 -> 0 bytes
 .../images/security-client-connections.gif      |  Bin 8300 -> 0 bytes
 .../common/images/xact-run-from-client.gif      |  Bin 9928 -> 0 bytes
 .../about-connection-pools.html.md.erb          |   20 -
 .../about-server-locators.html.md.erb           |   17 -
 .../client-load-balancing.html.md.erb           |   21 -
 ...iguring-pools-attributes-example.html.md.erb |  156 -
 .../configuring-pools.html.md.erb               |   25 -
 .../connection-pools.html.md.erb                |   15 -
 ...discovering-locators-dynamically.html.md.erb |   17 -
 .../native-client-pool-api.html.md.erb          |   22 -
 .../running-connection-pool-code.html.md.erb    |   59 -
 .../subscription-properties.html.md.erb         |   24 -
 .../1-how-cont-query-works.html.md.erb          |   59 -
 ...2-config-for-continuous-querying.html.md.erb |   15 -
 .../3-native-client-cq-api.html.md.erb          |   41 -
 .../5-implementing-cq.html.md.erb               |   47 -
 .../5a-writing-cq.html.md.erb                   |   26 -
 .../5b-writing-cq-listener.html.md.erb          |  280 --
 .../5c-cq-event-object.html.md.erb              |   60 -
 .../5d-when-error-occurs.html.md.erb            |   17 -
 .../5e-running-cq-code.html.md.erb              |   67 -
 .../5f-cq-execution-options.html.md.erb         |   13 -
 .../6-managing-cqs.html.md.erb                  |   35 -
 .../continuous-querying.html.md.erb             |   23 -
 .../cpp-caching-api/accessing-entry.html.md.erb |   28 -
 .../add-entry-to-cache.html.md.erb              |   43 -
 .../cpp-caching-api/cpp-caching-api.html.md.erb |   51 -
 .../cpp-caching-api/creating-cache.html.md.erb  |   22 -
 .../creating-new-statistics.html.md.erb         |   53 -
 .../cpp-caching-api/creating-region.html.md.erb |   34 -
 .../cpp-caching-api/data-as-blob.html.md.erb    |   11 -
 .../cpp-caching-api/gfe-cpp-api.html.md.erb     |   61 -
 .../cpp-caching-api/object-graphs.html.md.erb   |    9 -
 .../pdx_auto_serialization.html.md.erb          |  355 --
 .../pdx_ignore_unread_fields.html.md.erb        |   20 -
 .../pdx_serialization.html.md.erb               |   43 -
 .../pdx_with_delta_propagation.html.md.erb      |   28 -
 .../pdxserializable_interface.html.md.erb       |  100 -
 .../performing_ops_with_pdx_object.html.md.erb  |   43 -
 ...ion_data_requiring_serialization.html.md.erb |   19 -
 .../cpp-caching-api/removing-entry.html.md.erb  |   19 -
 .../serialization_options.html.md.erb           |   65 -
 .../serialization_overview.html.md.erb          |   31 -
 ...serialization_using_serializable.html.md.erb |  246 --
 .../type_interoperability.html.md.erb           |   46 -
 .../user-defined-objects.html.md.erb            |   31 -
 .../using-custom-class.html.md.erb              |   68 -
 .../using_enum_type_with_pdx.html.md.erb        |  113 -
 .../using_pdxinstance.html.md.erb               |   42 -
 .../using_pdxinstancefactory.html.md.erb        |  117 -
 .../using_pdxserializer.html.md.erb             |  102 -
 .../delta-propagation-api.html.md.erb           |   27 -
 .../delta-propagation-examples.html.md.erb      |  335 --
 .../delta-propagation-properties.html.md.erb    |   42 -
 .../delta-propagation.html.md.erb               |   31 -
 .../how-delta-propagation-works.html.md.erb     |   19 -
 .../implementing-delta-propagation.html.md.erb  |   41 -
 .../delta-propagation/performance.html.md.erb   |   48 -
 .../application-callbacks.html.md.erb           |   81 -
 .../dotnet-caching-api/cache-apis.html.md.erb   |   10 -
 ...p-class-to-dotnet-class-mappings.html.md.erb |  164 -
 .../creating-a-cache.html.md.erb                |   33 -
 .../creating-a-region.html.md.erb               |   37 -
 .../csharp-dotnet-api.html.md.erb               |   38 -
 ...csharp-dotnet-naming-conventions.html.md.erb |   15 -
 .../custom-class-igfserializable.html.md.erb    |  136 -
 .../data-serialization-apis.html.md.erb         |   23 -
 .../dotnet-accessing-an-entry.html.md.erb       |   34 -
 .../dotnet-adding-entry-to-cache.html.md.erb    |   29 -
 .../dotnet-application-domains.html.md.erb      |   16 -
 .../dotnet-caching-api.html.md.erb              |   63 -
 ...otnet-data-serialization-options.html.md.erb |   64 -
 .../dotnet-data-serialization.html.md.erb       |   35 -
 .../dotnet-pdx-autoserializer.html.md.erb       |   57 -
 ...otnet-pdx-serialization-features.html.md.erb |   27 -
 .../dotnet-pdx-serialization.html.md.erb        |   11 -
 .../event-handling-apis.html.md.erb             |   15 -
 .../extending-pdx-autoserializer.html.md.erb    |   59 -
 .../how-igfserializable-works.html.md.erb       |   19 -
 .../implementing-igfserializable.html.md.erb    |  122 -
 .../implementing-shared-assembly.html.md.erb    |   21 -
 .../java-to-dotnet-type-mapping.html.md.erb     |  146 -
 ...mapping-dotnet-domain-type-names.html.md.erb |   25 -
 .../object-lifetimes.html.md.erb                |   37 -
 .../dotnet-caching-api/other-apis.html.md.erb   |   14 -
 .../primary-apis-cache-generic.html.md.erb      |   30 -
 .../private-assembly.html.md.erb                |   39 -
 .../problem-scenarios.html.md.erb               |   24 -
 .../programming-ipdxinstance.html.md.erb        |   45 -
 .../region-entry-apis.html.md.erb               |   18 -
 .../registering-the-type.html.md.erb            |   27 -
 .../removing-entry.html.md.erb                  |   21 -
 .../resolving-the-error.html.md.erb             |    9 -
 .../serializable-types.html.md.erb              |   20 -
 .../serialize-using-igfserializable.html.md.erb |   23 -
 ...serialize-using-ipdxserializable.html.md.erb |  103 -
 .../serializing-domain-objects.html.md.erb      |   29 -
 .../simple-csharp-example.html.md.erb           |   43 -
 ...ubleshooting-dotnet-applications.html.md.erb |   25 -
 .../using-ipdxinstancefactory.html.md.erb       |  111 -
 .../data-aware-function-execution.html.md.erb   |   11 -
 .../executing-functions.html.md.erb             |   21 -
 .../function-execution.html.md.erb              |   22 -
 .../handling-function-results.html.md.erb       |   34 -
 .../how-functions-execute.html.md.erb           |   60 -
 .../running-function.html.md.erb                |  122 -
 .../solutions-use-cases.html.md.erb             |   13 -
 .../chapter_overview.html.md.erb                |   22 -
 .../default_sample_file.html.md.erb             |  104 -
 .../gfcpp.properties_search_path.html.md.erb    |   11 -
 .../overriding_gfcpp.properties.html.md.erb     |    9 -
 nativeclient/glossary.html.md.erb               |  213 --
 .../introduction/developing-linux.html.md.erb   |   86 -
 .../introduction/developing-solaris.html.md.erb |   44 -
 .../introduction/developing-windows.html.md.erb |   56 -
 .../examples-quickstart.html.md.erb             |   15 -
 .../introduction/install-overview.html.md.erb   |    7 -
 .../native-client-intro.html.md.erb             |   25 -
 .../native-client-overview.html.md.erb          |   20 -
 .../introduction/product-examples.html.md.erb   |   19 -
 .../introduction/quickstart.html.md.erb         |   11 -
 .../introduction/runnng-client-apps.html.md.erb |   19 -
 .../app-ops-during-int-reg.html.md.erb          |   17 -
 .../client-side-config.html.md.erb              |   19 -
 .../config-durable-interest-keys.html.md.erb    |   33 -
 .../config-durable-reconnect.html.md.erb        |   42 -
 .../configuring-durable-nc.html.md.erb          |   38 -
 .../configuring-nc-ha.html.md.erb               |   49 -
 .../disconnecting-from-server.html.md.erb       |   21 -
 .../preserving-data/disconnection.html.md.erb   |   27 -
 .../durable-client-life-cycle.html.md.erb       |   27 -
 .../durable-client-messaging-req.html.md.erb    |   21 -
 .../durable-client-messaging.html.md.erb        |   31 -
 .../durable-message-replay.html.md.erb          |   27 -
 .../high-availability-client-server.html.md.erb |   20 -
 ...-cache-listeners-durable-clients.html.md.erb |   19 -
 .../initial-operation.html.md.erb               |    9 -
 .../preserving-data/preserving-data.html.md.erb |   21 -
 .../preserving-data/reconnection.html.md.erb    |   32 -
 .../sending-cache-ready-message.html.md.erb     |   19 -
 .../sending-periodic-ack.html.md.erb            |   31 -
 .../using-queue-conflation.html.md.erb          |   25 -
 .../cpp-example.html.md.erb                     |   33 -
 .../csharp-example.html.md.erb                  |   85 -
 .../native-client-region.html.md.erb            |   29 -
 .../programming-examples.html.md.erb            |   19 -
 .../serialization-cpp.html.md.erb               |  296 --
 .../serialization-csharp.html.md.erb            |   98 -
 .../serialization-java.html.md.erb              |  210 --
 .../serialization-overview.html.md.erb          |   15 -
 .../1-quickintro-overview.html.md.erb           |   19 -
 .../2-quickintro-querycodeexamples.html.md.erb  |   40 -
 .../3-quickintro-requirements.html.md.erb       |   43 -
 ...uickintro-exampleportfolioregion.html.md.erb |   60 -
 ...quickintro-query-portfolioregion.html.md.erb |   97 -
 ...-quickintro-modify-cachecontents.html.md.erb |   25 -
 .../2-accessingdata.html.md.erb                 |   14 -
 .../21-basic-region-access.html.md.erb          |   31 -
 .../22-drilldown-modify-query-scope.html.md.erb |   29 -
 .../23-attribute-visibility.html.md.erb         |   49 -
 .../24-nested-query-scope.html.md.erb           |   38 -
 .../25-when-names-cant-resolve.html.md.erb      |    5 -
 .../1-querystring-overview.html.md.erb          |   11 -
 .../93-querystrings/3-from-clause.html.md.erb   |   58 -
 .../3a-iterator-variables.html.md.erb           |   16 -
 ...b-importing-using-object-classes.html.md.erb |   32 -
 .../3c-predefined-class-types.html.md.erb       |   29 -
 .../3d-specify-object-types.html.md.erb         |   53 -
 .../93-querystrings/4-where-clause.html.md.erb  |   23 -
 .../93-querystrings/5-joins.html.md.erb         |   15 -
 .../6-select-projection-list.html.md.erb        |   19 -
 ...7-select-statement-query-results.html.md.erb |  113 -
 .../8-query-language-elements.html.md.erb       |   19 -
 .../8a-method-invocation.html.md.erb            |   18 -
 .../8b-query-lang-literals.html.md.erb          |   19 -
 .../8c-type-conversions.html.md.erb             |   31 -
 .../94-indexes/indexes-overview.html.md.erb     |   31 -
 .../1-remote-query-api-overview.html.md.erb     |   23 -
 .../2-create-manage-queries.html.md.erb         |   46 -
 .../3-query-result-sets.html.md.erb             |   10 -
 .../2-query-code-examples-resultset.html.md.erb |   68 -
 .../3-query-code-examples-structset.html.md.erb |  192 -
 .../remote-querying/remote-querying.html.md.erb |   27 -
 .../security/LDAPserverauth.html.md.erb         |   27 -
 nativeclient/security/PKCS.html.md.erb          |   28 -
 .../security/authentication-levels.html.md.erb  |   21 -
 .../security/authforcacheserver.html.md.erb     |   23 -
 .../security/caveatregionservice.html.md.erb    |   26 -
 .../config-clientauthorization.html.md.erb      |   13 -
 .../createsecureconnregionservice.html.md.erb   |   43 -
 .../security/encrypted-auth.html.md.erb         |   15 -
 .../handling-serv-auth-errors.html.md.erb       |    7 -
 nativeclient/security/limitations.html.md.erb   |    9 -
 .../security/overviewauthentication.html.md.erb |   31 -
 .../overviewclientauthorization.html.md.erb     |   21 -
 .../security/overviewencryptcred.html.md.erb    |   42 -
 .../security/overviewsecurity.html.md.erb       |   29 -
 .../overviewsslclientserver.html.md.erb         |   13 -
 .../security/postopauthorization.html.md.erb    |   15 -
 .../security/security-systemprops.html.md.erb   |   68 -
 nativeclient/security/ssl-setup.html.md.erb     |  122 -
 .../security/systempropsforauth.html.md.erb     |   68 -
 .../security/usingoperationcontext.html.md.erb  |   23 -
 .../attribute-def-priority.html.md.erb          |   21 -
 .../attributes-gfcpp.html.md.erb                |  264 --
 .../cache-server-config.html.md.erb             |   19 -
 .../chapter-overview.html.md.erb                |   19 -
 .../config-overview.html.md.erb                 |   31 -
 .../define-programmatically.html.md.erb         |   18 -
 .../native-client-config.html.md.erb            |   33 -
 .../chapter_overview.html.md.erb                |   21 -
 .../linux_install.html.md.erb                   |   42 -
 .../solaris_install.html.md.erb                 |   54 -
 .../windows_install.html.md.erb                 |   37 -
 .../cache_performance_statistics.html.md.erb    |   30 -
 .../chapter_overview.html.md.erb                |   21 -
 .../continuous_query_statistics.html.md.erb     |   14 -
 .../cq_service_statistics.html.md.erb           |   15 -
 .../delta_statistics.html.md.erb                |   14 -
 .../linux_os_statistics.html.md.erb             |   17 -
 .../operating_system_statistics.html.md.erb     |   19 -
 .../pool_statistics.html.md.erb                 |   30 -
 .../region_statistics.html.md.erb               |  113 -
 .../sampling_statistics.html.md.erb             |   17 -
 .../solaris_os_statistics.html.md.erb           |   17 -
 .../system_performance_statistics.html.md.erb   |   31 -
 .../windows_os_statistics.html.md.erb           |   26 -
 .../how-native-client-xacts-work.html.md.erb    |   39 -
 .../running-native-client-xact.html.md.erb      |   73 -
 .../suspend-resume-xacts.html.md.erb            |   17 -
 .../transactions/transactions.html.md.erb       |   21 -
 .../type_mappings/chapter_overview.html.md.erb  |   13 -
 ...p-class-to-dotnet-class-mappings.html.md.erb |  169 -
 .../java-to-dotnet-type-mapping.html.md.erb     |  147 -
 prereq_and_install.html.md.erb                  |   23 -
 reference/book_intro.html.md.erb                |   31 -
 .../statistics/statistics_list.html.md.erb      | 1276 -------
 .../topics/cache-elements-list.html.md.erb      |  168 -
 reference/topics/cache_xml.html.md.erb          | 3090 ----------------
 .../chapter_overview_cache_xml.html.md.erb      |   30 -
 ...chapter_overview_regionshortcuts.html.md.erb |   90 -
 .../client-cache-elements-list.html.md.erb      |  120 -
 reference/topics/client-cache.html.md.erb       | 2666 --------------
 reference/topics/elements_ref.html.md.erb       |  100 -
 reference/topics/gemfire_properties.html.md.erb |  623 ----
 reference/topics/gfe_cache_xml.html.md.erb      | 3394 ------------------
 reference/topics/glossary.html.md.erb           |  601 ----
 ...handling_exceptions_and_failures.html.md.erb |   15 -
 ...mory_requirements_for_cache_data.html.md.erb |   31 -
 ...requirements_guidelines_and_calc.html.md.erb |  269 --
 ...on-ascii_strings_in_config_files.html.md.erb |   26 -
 .../region_shortcuts_reference.html.md.erb      | 1482 --------
 .../topics/region_shortcuts_table.html.md.erb   |  502 ---
 rest_apps/book_intro.html.md.erb                |   42 -
 rest_apps/chapter_overview.html.md.erb          |   15 -
 rest_apps/delete_all_data.html.md.erb           |   39 -
 rest_apps/delete_data_for_key.html.md.erb       |   39 -
 .../delete_data_for_multiple_keys.html.md.erb   |   39 -
 rest_apps/delete_named_query.html.md.erb        |   43 -
 rest_apps/develop_rest_apps.html.md.erb         |  666 ----
 rest_apps/get_execute_adhoc_query.html.md.erb   |  103 -
 rest_apps/get_functions.html.md.erb             |   50 -
 rest_apps/get_queries.html.md.erb               |   55 -
 rest_apps/get_region_data.html.md.erb           |  115 -
 ...et_region_data_for_multiple_keys.html.md.erb |  221 --
 rest_apps/get_region_key_data.html.md.erb       |   70 -
 rest_apps/get_region_keys.html.md.erb           |   50 -
 rest_apps/get_regions.html.md.erb               |   78 -
 rest_apps/get_servers.html.md.erb               |   47 -
 rest_apps/head_region_size.html.md.erb          |   45 -
 rest_apps/ping_service.html.md.erb              |   37 -
 rest_apps/post_create_query.html.md.erb         |   89 -
 rest_apps/post_execute_functions.html.md.erb    |  125 -
 rest_apps/post_execute_query.html.md.erb        |  155 -
 rest_apps/post_if_absent_data.html.md.erb       |  127 -
 .../put_multiple_values_for_keys.html.md.erb    |   86 -
 rest_apps/put_replace_data.html.md.erb          |   66 -
 rest_apps/put_update_cas_data.html.md.erb       |  198 -
 rest_apps/put_update_data.html.md.erb           |   65 -
 rest_apps/put_update_query.html.md.erb          |   68 -
 rest_apps/rest_admin.html.md.erb                |   15 -
 rest_apps/rest_api_reference.html.md.erb        |   26 -
 rest_apps/rest_examples.html.md.erb             |  691 ----
 rest_apps/rest_functions.html.md.erb            |   15 -
 rest_apps/rest_prereqs.html.md.erb              |   20 -
 rest_apps/rest_queries.html.md.erb              |   31 -
 rest_apps/rest_regions.html.md.erb              |   65 -
 rest_apps/setup_config.html.md.erb              |  162 -
 rest_apps/troubleshooting.html.md.erb           |  152 -
 rest_apps/using_swagger.html.md.erb             |   54 -
 tools_modules/book_intro.html.md.erb            |   34 -
 .../gemcached/about_gemcached.html.md.erb       |   29 -
 tools_modules/gemcached/advantages.html.md.erb  |   19 -
 .../gemcached/chapter_overview.html.md.erb      |   23 -
 .../gemcached/deploying_gemcached.html.md.erb   |   80 -
 tools_modules/gfsh/about_gfsh.html.md.erb       |   25 -
 tools_modules/gfsh/cache_xml_2_gfsh.html.md.erb |   88 -
 tools_modules/gfsh/chapter_overview.html.md.erb |   49 -
 .../gfsh/command-pages/alter.html.md.erb        |  503 ---
 .../gfsh/command-pages/backup.html.md.erb       |   68 -
 .../gfsh/command-pages/change.html.md.erb       |   81 -
 .../gfsh/command-pages/clear.html.md.erb        |   33 -
 .../gfsh/command-pages/close.html.md.erb        |  124 -
 .../gfsh/command-pages/compact.html.md.erb      |   97 -
 .../gfsh/command-pages/configure.html.md.erb    |   68 -
 .../gfsh/command-pages/connect.html.md.erb      |  155 -
 .../gfsh/command-pages/create.html.md.erb       |  937 -----
 .../gfsh/command-pages/debug.html.md.erb        |   37 -
 .../gfsh/command-pages/define.html.md.erb       |   51 -
 .../gfsh/command-pages/deploy.html.md.erb       |   61 -
 .../gfsh/command-pages/describe.html.md.erb     |  392 --
 .../gfsh/command-pages/destroy.html.md.erb      |  161 -
 .../gfsh/command-pages/disconnect.html.md.erb   |   39 -
 .../gfsh/command-pages/echo.html.md.erb         |   49 -
 .../gfsh/command-pages/encrypt.html.md.erb      |   40 -
 .../gfsh/command-pages/execute.html.md.erb      |   42 -
 .../gfsh/command-pages/exit.html.md.erb         |   23 -
 .../gfsh/command-pages/export.html.md.erb       |  254 --
 tools_modules/gfsh/command-pages/gc.html.md.erb |   41 -
 .../gfsh/command-pages/get.html.md.erb          |   50 -
 .../gfsh/command-pages/help.html.md.erb         |   60 -
 .../gfsh/command-pages/hint.html.md.erb         |   61 -
 .../gfsh/command-pages/history.html.md.erb      |   42 -
 .../gfsh/command-pages/import.html.md.erb       |   83 -
 .../gfsh/command-pages/list.html.md.erb         |  457 ---
 .../gfsh/command-pages/load-balance.html.md.erb |   47 -
 .../gfsh/command-pages/locate.html.md.erb       |   55 -
 .../gfsh/command-pages/netstat.html.md.erb      |  122 -
 .../gfsh/command-pages/pause.html.md.erb        |   34 -
 .../gfsh/command-pages/pdx.html.md.erb          |   73 -
 .../gfsh/command-pages/put.html.md.erb          |   61 -
 .../gfsh/command-pages/query.html.md.erb        |   52 -
 .../gfsh/command-pages/rebalance.html.md.erb    |   56 -
 .../gfsh/command-pages/remove.html.md.erb       |   46 -
 .../gfsh/command-pages/resume.html.md.erb       |   34 -
 .../gfsh/command-pages/revoke.html.md.erb       |   48 -
 .../gfsh/command-pages/run.html.md.erb          |   88 -
 .../gfsh/command-pages/set.html.md.erb          |   53 -
 tools_modules/gfsh/command-pages/sh.html.md.erb |   46 -
 .../gfsh/command-pages/show.html.md.erb         |  285 --
 .../gfsh/command-pages/shutdown.html.md.erb     |   45 -
 .../gfsh/command-pages/sleep.html.md.erb        |   40 -
 .../gfsh/command-pages/start.html.md.erb        |  759 ----
 .../gfsh/command-pages/status.html.md.erb       |  281 --
 .../gfsh/command-pages/stop.html.md.erb         |  210 --
 .../gfsh/command-pages/undeploy.html.md.erb     |   60 -
 .../gfsh/command-pages/validate.html.md.erb     |   31 -
 .../gfsh/command-pages/version.html.md.erb      |   43 -
 .../gfsh/command_scripting.html.md.erb          |   20 -
 tools_modules/gfsh/configuring_gfsh.html.md.erb |  112 -
 .../gfsh/getting_started_gfsh.html.md.erb       |  139 -
 .../gfsh/gfsh_command_index.html.md.erb         |  207 --
 .../gfsh/gfsh_quick_reference.html.md.erb       |   41 -
 .../gfsh/os_command_line_execution.html.md.erb  |   33 -
 .../gfsh/quick_ref_commands_by_area.html.md.erb |  301 --
 tools_modules/gfsh/starting_gfsh.html.md.erb    |   58 -
 tools_modules/gfsh/tour_of_gfsh.html.md.erb     |  440 ---
 .../useful_gfsh_shell_variables.html.md.erb     |   55 -
 .../hibernate_cache/advanced_config.html.md.erb |   34 -
 .../changing_gemfire_default_cfg.html.md.erb    |  138 -
 .../chapter_overview.html.md.erb                |   37 -
 .../chapter_overview_how_works.html.md.erb      |    8 -
 .../hibernate_why_use_gemfire.html.md.erb       |   27 -
 .../installing_gemfire_and_module.html.md.erb   |   11 -
 .../setting_up_the_module.html.md.erb           |   93 -
 ...sing_hibernate_with_http_session.html.md.erb |   22 -
 .../chapter_overview.html.md.erb                |   43 -
 .../common_gemfire_topologies.html.md.erb       |   19 -
 .../http_why_use_gemfire.html.md.erb            |   39 -
 .../interactive_mode_ref.html.md.erb            |  125 -
 .../http_session_mgmt/quick_start.html.md.erb   |  101 -
 .../session_mgmt_tcserver.html.md.erb           |   21 -
 .../session_mgmt_tomcat.html.md.erb             |   21 -
 .../session_mgmt_weblogic.html.md.erb           |   17 -
 .../session_state_log_files.html.md.erb         |   94 -
 .../tc_additional_info.html.md.erb              |   35 -
 .../tc_changing_gf_default_cfg.html.md.erb      |   81 -
 .../tc_installing_the_module.html.md.erb        |   21 -
 .../tc_setting_up_the_module.html.md.erb        |  122 -
 .../tomcat_changing_gf_default_cfg.html.md.erb  |  153 -
 .../tomcat_installing_the_module.html.md.erb    |   21 -
 .../tomcat_setting_up_the_module.html.md.erb    |  103 -
 ...weblogic_changing_gf_default_cfg.html.md.erb |  162 -
 ...gic_common_configuration_changes.html.md.erb |   35 -
 .../weblogic_setting_up_the_module.html.md.erb  |  196 -
 .../pulse/chapter_overview.html.md.erb          |   32 -
 tools_modules/pulse/quickstart.html.md.erb      |  810 -----
 .../pulse/system_requirements.html.md.erb       |   18 -
 tools_modules/redis_adapter.html.md.erb         |   73 -
 topologies_and_comm/book_intro.html.md.erb      |   25 -
 .../chapter_overview.html.md.erb                |   35 -
 ...nt_server_example_configurations.html.md.erb |  147 -
 .../client_server_whats_next.html.md.erb        |   39 -
 ...gure_servers_into_logical_groups.html.md.erb |   37 -
 ...etting_up_a_client_server_system.html.md.erb |   70 -
 ...tandard_client_server_deployment.html.md.erb |   18 -
 .../chapter_overview.html.md.erb                |   27 -
 .../multisite_topologies.html.md.erb            |   50 -
 .../setting_up_a_multisite_system.html.md.erb   |  364 --
 .../chapter_overview.html.md.erb                |   19 -
 .../configuring_peer_member_groups.html.md.erb  |   43 -
 .../setting_up_a_p2p_system.html.md.erb         |   25 -
 .../setting_up_peer_communication.html.md.erb   |   47 -
 .../topology_concepts/IPv4_and_IPv6.html.md.erb |   32 -
 .../chapter_overview.html.md.erb                |   31 -
 .../how_communication_works.html.md.erb         |   45 -
 .../how_member_discovery_works.html.md.erb      |   43 -
 .../how_multisite_systems_work.html.md.erb      |   27 -
 .../how_server_discovery_works.html.md.erb      |   60 -
 ...how_the_pool_manages_connections.html.md.erb |   61 -
 .../member_communication.html.md.erb            |   29 -
 .../multisite_overview.html.md.erb              |  105 -
 .../topology_types.html.md.erb                  |   31 -
 .../using_bind_addresses.html.md.erb            |   95 -
 1928 files changed, 68887 insertions(+), 68887 deletions(-)
----------------------------------------------------------------------



[55/76] [abbrv] incubator-geode git commit: GEODE-1952: removed native client docs, set aside until native client code is merged in (see GEODE-1964)

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/introduction/developing-solaris.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/introduction/developing-solaris.html.md.erb b/geode-docs/nativeclient/introduction/developing-solaris.html.md.erb
deleted file mode 100644
index da707bc..0000000
--- a/geode-docs/nativeclient/introduction/developing-solaris.html.md.erb
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title:  Developing C++ Programs on Solaris
----
-
-This section describes how to build and run a native client application on Solaris.
-
-## <a id="developing-solaris__section_B518757C7D7A405F9E43C1232C2D6B56" class="no-quick-link"></a>Step 1. Set Environment Variables
-
-**Note:** When compiling external projects or applications that are used or referenced by the native client, make sure that you compile them for the same target architecture as your native client installation. For example, if you installed the 32-bit (x86) version of the native client, compile your external projects for 32-bit (x86) architecture.
-
-Set the native client environment variables on each Solaris host. For each case, *&lt;productDir&gt;* is the path to the native client product directory.
-
-**For Bourne and Korn shells (sh, ksh, bash)**
-
-``` pre
-GFCPP=<productDir>; export GFCPP
-PATH=$GFCPP/bin:$PATH;export PATH
-LD_LIBRARY_PATH=$GFCPP/lib:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH
-```
-
-## <a id="developing-solaris__section_15D24DFEFE024690A2652A4DC17EFFFB" class="no-quick-link"></a>Step 2. Compile C++ Clients and Dynamically Link to Them to Native Client Library
-
-Version 5.9 of the *SUNpro* compiler is supported on Solaris. The linker switches vary according to whether you are statically linking to the native client library.
-
-To build and link a C++ client on Solaris, the compilation command line must include the appropriate arguments from this table.
-
-<a id="developing-solaris__table_428EFC82036240CA974E3061E5D31CCF"></a>
-
-| Argument                                                                                       | Explanation                                                |
-|------------------------------------------------------------------------------------------------|------------------------------------------------------------|
-| `-D_REENTRANT`                                                                                 | Required to compile Solaris programs in a thread-safe way. |
-| `-xarch=v8plus`                                                                                | Enables 32-bit compilation.                                |
-| `-xarch=v9`                                                                                    | Enables 64-bit compilation.                                |
-| `-ldl`; `-lpthread`; `-lc`; `-lm`; `-lsocket`; `-lrt`; `-lnsl`; `-ldemangle`; `-lkstat`; `-lz` | Additional libraries.                                      |
-| `-library=stlport4`                                                                            | Solaris library compilation.                               |
-| `-I$ GFCPP /include`                                                                           | Specifies the GemFire include directory.                   |
-
-
-
-## <a id="developing-solaris__section_81557A11797047A7941B47D44D1566AA" class="no-quick-link"></a>Step 3. Make Sure the Native Client Library Can Be Loaded
-
-When a C++ application is not statically linked to the native client library, the library must be dynamically loadable.
-
-To verify that the native client library is available for loading, make sure you have added the path *productDir*`/lib` to the *LD\_LIBRARY\_PATH* environment variable, where *productDir* is the path to the Geode product directory.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/introduction/developing-windows.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/introduction/developing-windows.html.md.erb b/geode-docs/nativeclient/introduction/developing-windows.html.md.erb
deleted file mode 100644
index 7ed37c0..0000000
--- a/geode-docs/nativeclient/introduction/developing-windows.html.md.erb
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title:  Developing C++ Programs on Windows
----
-
-Geode uses the Visual Studio 2010 Service Pack 1 compiler for C++ programs on Windows, which invokes Microsoft<sup>�</sup> `cl.exe` from the command line at compile time.
-
-The Geode native client supports .NET 4.0 and Visual Studio 2010. For advantages and more information on the features of .NET 4.0 and Visual Studio 2010 SP1, see [http://msdn.microsoft.com/en-us/library/dd831853(v=vs.100).aspx](http://msdn.microsoft.com/en-us/library/dd831853(v=vs.100).aspx) and [http://msdn.microsoft.com/en-us/library/vstudio/w0x726c2(v=vs.100).aspx](http://msdn.microsoft.com/en-us/library/vstudio/w0x726c2(v=vs.100).aspx).
-
-Visual Studio 2010 SP1 is the recommended compiler. If you are using any other compiler, contact technical support for assistance.
-
-**Note:** When compiling external projects or applications that are used or referenced by the native client, make sure that you compile them for the same target architecture as your native client installation. For example, if you installed the 32-bit (x86) version of the native client, compile your external projects for 32-bit (x86) architecture.
-
-## <a id="developing-windows__section_6BFD4982A7144301A03F948CFF953AFD" class="no-quick-link"></a>Step 1. Installer Sets Up Environment Variables
-
-When you install on Windows, the installer performs these tasks:
-
--   Sets the *GFCPP* environment variable to *&lt;productDir&gt;*, where *&lt;productDir&gt;* is the path to the native client product directory.
--   Adds the *%GFCPP%\\bin* executable directory to the Windows *PATH*.
-
-## <a id="developing-windows__section_0BF2BE9A38BC40D1B9FAD2AC8DBFAB0E" class="no-quick-link"></a>Step 2. Choose 32-bit or 64-bit Command-line Prompt
-
-For 32-bit:
-
-Start &gt; Programs &gt; Microsoft Visual Studio &gt; 2010 &gt; Visual Studio Tools &gt; Visual Studio 2010 Command Prompt
-
-For 64-bit:
-
-Start &gt; Programs &gt; Microsoft Visual Studio 2010 &gt; Visual Studio Tools &gt; Visual Studio 2010 x64 Win64 Command Prompt
-
-To build using the Microsoft Visual Studio Interface, from the Solutions Platform, choose **Win32** or **x86** from the Build menu for 32-bit builds or x64 for a 64-bit build.
-
-## <a id="developing-windows__section_597B20DBE5FD4F66A6BCB2A09C04C9C9" class="no-quick-link"></a>Step 3. Compile C++ Clients and Dynamically Link Them to Native Client Library
-
-The following table lists the compiler and linker switches that must be present on the `cl.exe` command line.
-
-**Note:**
-If you want to use the Visual Studio user interface instead of invoking `cl.exe` from the command line, be sure to supply these parameters.
-
-<a id="developing-windows__table_1FE5C01E91424CE9906CA1D0210B1237"></a>
-
-| Argument                          | Explanation                                                                                                           |
-|-----------------------------------|-----------------------------------------------------------------------------------------------------------------------|
-| `/MD`                             | Memory model.                                                                                                         |
-| `/EHsc`                           | Catches C++ exceptions only and tells the compiler to assume that \*extern\* C functions never throw a C++ exception. |
-| `/GR`                             | Runtime type information.                                                                                             |
-| `-I%GFCPP%\include`               | Specifies the Geode `include` directory.                                                 |
-| `%GFCPP%\lib\gfcppcache.lib`      | Specifies the library file for the shared library.                                                                    |
-| `/D_CRT_SECURE_NO_DEPRECATE`      | Suppresses warnings. Required for Visual Studio 2010.                                                                 |
-| `/D_CRT_NON_CONFORMING_SWPRINTFS` | Suppresses warnings. Required for Visual Studio 2010.                                                                 |
-
-
-## <a id="developing-windows__section_B66588EC7C6F4D9BA772406CFD5F3EAE" class="no-quick-link"></a>Step 4. Verify that You Can Load the Native Client Library
-
-Because Geode does not provide a library that can be linked statically into an application on Windows, you must dynamically link to the native client library.
-
-To make the native client library available for loading, verify that the directory `productDir/bin` is included in the *PATH* environment variable, where *productDir* is the path to the Geode product directory.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/introduction/examples-quickstart.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/introduction/examples-quickstart.html.md.erb b/geode-docs/nativeclient/introduction/examples-quickstart.html.md.erb
deleted file mode 100644
index 3708859..0000000
--- a/geode-docs/nativeclient/introduction/examples-quickstart.html.md.erb
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title:  QuickStart Examples and Guide
----
-
-Run the native client QuickStart examples and read the QuickStart Guide to understand native client functionality.
-
--   **[Running the QuickStart Examples](../../nativeclient/introduction/product-examples.html)**
-
-    The QuickStart examples demonstrate the capabilities of the native client, and they provide source code so you can examine how each example is designed. C++ and C\# examples demonstrate how the native client performs as a C++ or C\# client.
-
--   **[Accessing the QuickStart Guide](../../nativeclient/introduction/quickstart.html)**
-
-    The QuickStart Guide for the native client consists of a set of compact programming samples that demonstrate both C++ and C\# client operations.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/introduction/install-overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/introduction/install-overview.html.md.erb b/geode-docs/nativeclient/introduction/install-overview.html.md.erb
deleted file mode 100644
index e20cd42..0000000
--- a/geode-docs/nativeclient/introduction/install-overview.html.md.erb
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title:  Installing the Native Client
----
-
-Procedures for installing the native client will be here, once they are written. They will vary according to your operating system.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/introduction/native-client-intro.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/introduction/native-client-intro.html.md.erb b/geode-docs/nativeclient/introduction/native-client-intro.html.md.erb
deleted file mode 100644
index d787b40..0000000
--- a/geode-docs/nativeclient/introduction/native-client-intro.html.md.erb
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title:  Getting Started with a Native Client
----
-
-This section gives you a conceptual overview of the native client. It shows you how to install the product, build native client applications on various platforms, and run the product examples.
-
-The native client provides access for C++ and Microsoft<sup>�</sup> .NET\u2122 clients to a Geode distributed system.
-
--   **[About the Native Client](../../nativeclient/introduction/native-client-overview.html)**
-
-    The native client delivers the full set of capabilities supplied by Java clients communicating with a Geode server.
-
--   **[Installing the Native Client](../../nativeclient/introduction/install-overview.html)**
-
-    Procedures for installing the native client will be here, once they are written. They will vary according to your operating system.
-
--   **[Running Native Client Applications](../../nativeclient/introduction/runnng-client-apps.html)**
-
-    Set up the environment for the native client on multiple platforms. Compile and run client programs.
-
--   **[QuickStart Examples and Guide](../../nativeclient/introduction/examples-quickstart.html)**
-
-    Run the native client QuickStart examples and read the QuickStart Guide to understand native client functionality.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/introduction/native-client-overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/introduction/native-client-overview.html.md.erb b/geode-docs/nativeclient/introduction/native-client-overview.html.md.erb
deleted file mode 100644
index 467aa81..0000000
--- a/geode-docs/nativeclient/introduction/native-client-overview.html.md.erb
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title:  About the Native Client
----
-
-The native client delivers the full set of capabilities supplied by Java clients communicating with a Geode server.
-
-The native client is written entirely in C++, so its initialization process does not involve the creation of a Java virtual machine. The .NET native client provides native operations for the .NET Framework application developer who writes in .NET languages and needs to access the Geode server.
-
-Native clients in C++, Java, and .NET languages communicate only with the cache server and do not communicate with each other. The native clients interface with the server at the sockets level and implement the same wire protocol to the server. These capabilities produce extremely high performance and system scalability.
-
-C++ and .NET native clients provide access to the full region API, including support for application plug-ins, managed connectivity, highly available data, and reliable failover to a specified server list. All of this is transparent to the end user.
-
-You can configure native clients to cache data locally, or they can act in a cacheless mode where they retrieve data from a cache server and directly pass it to other system members without incurring the caching overhead. They can be configured as read only caches, or be configured to receive notifications from the server whenever a key of interest to the client changes on the server.
-
-This figure diagrams how .NET and C++ applications access the cache server. <a id="concept_BCE696D352144690ADF786A0E3D2BD98__fig_C19B4B30942D4F1BA59DBDCC6146241A"></a>
-
-
-<img src="../common/images/native-client-overview.gif" alt="Native Client Overview" id="concept_BCE696D352144690ADF786A0E3D2BD98__image_A0805B5079C64B0E8F2E9DA2A8A5A7A6" class="image" />
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/introduction/product-examples.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/introduction/product-examples.html.md.erb b/geode-docs/nativeclient/introduction/product-examples.html.md.erb
deleted file mode 100644
index 60c131c..0000000
--- a/geode-docs/nativeclient/introduction/product-examples.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  Running the QuickStart Examples
----
-
-The QuickStart examples demonstrate the capabilities of the native client, and they provide source code so you can examine how each example is designed. C++ and C\# examples demonstrate how the native client performs as a C++ or C\# client.
-
-Read the QuickStart Guide first (the `README.HTML` file included with the QuickStart examples) to learn more about running the QuickStart examples.
-
-QuickStart examples are packaged as part of the native client product download. Product examples are installed into the following directory when you install the Geode native client:
-
-``` pre
-<native_client_installdir>/SampleCode/quickstart
-```
-
-where *native\_client\_installdir* is the location where you installed the Geode native client.
-
-**Note:** The C\# examples have a `.config` file that should not be modified or deleted. The file provides references to support files for running the example.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/introduction/quickstart.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/introduction/quickstart.html.md.erb b/geode-docs/nativeclient/introduction/quickstart.html.md.erb
deleted file mode 100644
index c72f496..0000000
--- a/geode-docs/nativeclient/introduction/quickstart.html.md.erb
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title:  Accessing the QuickStart Guide
----
-
-The QuickStart Guide for the native client consists of a set of compact programming samples that demonstrate both C++ and C\# client operations.
-
-Open the QuickStart Guide to rapidly become familiar with native client functionality. To view the QuickStart Guide, navigate to the `SampleCode/quickstart` directory of your Geode native client installation, and open the `README.html` file.
-
-The `README.html` file describes each programming sample, explains initial environment setup, and provides instructions for running the QuickStart examples.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/introduction/runnng-client-apps.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/introduction/runnng-client-apps.html.md.erb b/geode-docs/nativeclient/introduction/runnng-client-apps.html.md.erb
deleted file mode 100644
index db40094..0000000
--- a/geode-docs/nativeclient/introduction/runnng-client-apps.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  Running Native Client Applications
----
-
-Set up the environment for the native client on multiple platforms. Compile and run client programs.
-
--   **[Developing C++ Programs on Linux](../../nativeclient/introduction/developing-linux.html)**
-
-    This section describes how to build and run a native client application on Linux.
-
--   **[Developing C++ Programs on Solaris](../../nativeclient/introduction/developing-solaris.html)**
-
-    This section describes how to build and run a native client application on Solaris.
-
--   **[Developing C++ Programs on Windows](../../nativeclient/introduction/developing-windows.html)**
-
-    Geode uses the Visual Studio 2010 Service Pack 1 compiler for C++ programs on Windows, which invokes Microsoft<sup>�</sup> `cl.exe` from the command line at compile time.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/preserving-data/app-ops-during-int-reg.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/preserving-data/app-ops-during-int-reg.html.md.erb b/geode-docs/nativeclient/preserving-data/app-ops-during-int-reg.html.md.erb
deleted file mode 100644
index dcf5717..0000000
--- a/geode-docs/nativeclient/preserving-data/app-ops-during-int-reg.html.md.erb
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title:  Application Operations During Interest Registration
----
-
-As soon as the client creates its regions, the application hosting the client can start cache operations, even while the client is still receiving its interest registration responses.
-
-In that case, application operations take precedence over interest registration responses.
-
-When adding register interest responses to the cache, the following rules are applied:
-
--   If the entry already exists in the cache with a valid value, it is not updated.
--   If the entry is invalid and the register interest response is valid, the valid value is put into the cache.
--   If an entry is marked destroyed, it is not updated. Destroyed entries are removed from the system after the register interest response is completed.
-
-If the interest response does not contain any results because all of those keys are absent from the server\u2019s cache, the client\u2019s cache can start out empty. If the queue contains old messages related to those keys, the events are still replayed in the client\u2019s cache.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/preserving-data/client-side-config.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/preserving-data/client-side-config.html.md.erb b/geode-docs/nativeclient/preserving-data/client-side-config.html.md.erb
deleted file mode 100644
index b2cc5c5..0000000
--- a/geode-docs/nativeclient/preserving-data/client-side-config.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  Client-Side Configuration
----
-
-All durable messaging configurations are performed on the client.
-
--   **[Configuring a Durable Native Client](../../nativeclient/preserving-data/configuring-durable-nc.html)**
-
-    The durable native client can be configured in the `gfcpp.properties` file, or in the `CacheFactory::set(name,             value)` call.
-
--   **[Configuring Durable Interest in Keys](../../nativeclient/preserving-data/config-durable-interest-keys.html)**
-
-    When a durable client disconnects, its servers keep queuing messages for selected keys. The client indicates which keys by registering durable interest for those keys.
-
--   **[Configuring Durable Client Reconnection](../../nativeclient/preserving-data/config-durable-reconnect.html)**
-
-    You can configure the durable native client to obtain an approximate count of pending events upon durable client reconnection. Based on the returned number, you can determine whether to proceed and receive the pending events or to close the cache.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/preserving-data/config-durable-interest-keys.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/preserving-data/config-durable-interest-keys.html.md.erb b/geode-docs/nativeclient/preserving-data/config-durable-interest-keys.html.md.erb
deleted file mode 100644
index e0395e2..0000000
--- a/geode-docs/nativeclient/preserving-data/config-durable-interest-keys.html.md.erb
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title:  Configuring Durable Interest in Keys
----
-
-When a durable client disconnects, its servers keep queuing messages for selected keys. The client indicates which keys by registering durable interest for those keys.
-
-This fine-grained control handles the constraints of queue size and memory by saving only the critical messages.
-
-You still register interest for other keys, but not durable interest. When the client is connected to its servers, it receives messages for those non-durable keys. When the client is disconnected, its non-durable interest registrations are deleted but messages that are already in the queue remain there.
-
-For durable clients, all interest registration is done immediately after the regions are created. This is required whether interest registration is durable or not durable. An extra `registerInterest` parameter specified for durable clients indicates whether the registration is durable (true) or not (false).
-
-## API Client Durable Interest List Registration (C++)
-
-The following programmatic example registers durable interest in Key-1. The interest registration happens immediately after region creation and before anything else.
-
-``` pre
-// Durable client interest registration can be
-// durable (true) or nondurable(default).
-VectorOfCacheableKey keys;
-keys.push_back( CacheableString::create("Key-1") );
-regionPtr->registerKeys(keys,true);
-```
-
-<a id="concept_6456354A9AD945C780A5AA864B41B564__section_3DE5872B0888410EB42D52CFB28C79E5"></a>
-You use the typical methods for interest registration and configure notification by subscription on the server as usual. For details, see [Registering Interest for Entries](../client-cache/registering-interest-for-entries.html#registering-interest-for-entries).
-
-**Note:**
-Changing interest registration after the durable client connects the first time can cause data inconsistency and is not recommended.
-
-At restart, if the client doesn't register durable interest for exactly the same keys as before then the entries in the interest list are not copied from the server during the registration. Instead, the client cache starts out empty and entries are added during updates. If no updates come in for an entry, it never shows up in the client cache.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/preserving-data/config-durable-reconnect.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/preserving-data/config-durable-reconnect.html.md.erb b/geode-docs/nativeclient/preserving-data/config-durable-reconnect.html.md.erb
deleted file mode 100644
index 20c2359..0000000
--- a/geode-docs/nativeclient/preserving-data/config-durable-reconnect.html.md.erb
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title:  Configuring Durable Client Reconnection
----
-
-You can configure the durable native client to obtain an approximate count of pending events upon durable client reconnection. Based on the returned number, you can determine whether to proceed and receive the pending events or to close the cache.
-
-Use the `getPendingEventCount` (C++ API) and the `PendingEventCount` (C\# .NET API) property to detect whether the previously registered subscription queue is available upon durable client reconnection and the count of pending events in the queue. Based on the returned results, you can then decide whether to receive the remaining events or close the cache if the number is too large.
-
-For example, consider this code fragment for a client with only the default pool created:
-
-``` pre
-Pool pool = PoolManager.Find("PoolName");
-int pendingEvents = pool.PendingEventCount;
-if (pendingEvents == -2) { // client connected for the first time
-  \u2026 // continue
-} else if (pendingEvents == -1) { // client reconnected but after the timeout period
-  \u2026 // handle possible data loss
-} else { // pendingEvents >= 0
-   // decide to invoke readyForEvents() or Cache.close(false)/Pool.destroy()
-}
-```
-
-For a client with multiple pools:
-
-``` pre
-int pendingEvents = 0;
-int pendingEvents1 = PoolManager.Find(\u201cpool1\u201d).PendingEventCount;
-pendingEvents += (pendingEvents1 > 0) ? pendingEvents1 : 0;
-int pendingEvents2 = PoolManager.Find(\u201cpool2\u201d).PendingEventCount;
-pendingEvents += (pendingEvents2 > 0) ? pendingEvents2 : 0;
-// process individual pool counts separately
-```
-
-The `getPendingEventCount` method and PendingEventCount property can return the following possible values:
-
--   A value representing a count of events pending at the server. Note that this count is an approximate value based on the time the durable client pool connected or reconnected to the server. Any number of invocations will return the same value.
--   A zero value if there are no events pending at server for this client pool
--   A negative value indicates that no queue is available at the server for the client pool.
-    -   A value of -1 indicates that the client pool has reconnected to the server after its durable-client-timeout period has elapsed. The pool's subscription queue has been removed possibly causing data loss.
-    -   A value of -2 indicates that this client pool has connected to server for the first time.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/preserving-data/configuring-durable-nc.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/preserving-data/configuring-durable-nc.html.md.erb b/geode-docs/nativeclient/preserving-data/configuring-durable-nc.html.md.erb
deleted file mode 100644
index 2d85021..0000000
--- a/geode-docs/nativeclient/preserving-data/configuring-durable-nc.html.md.erb
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title:  Configuring a Durable Native Client
----
-
-The durable native client can be configured in the `gfcpp.properties` file, or in the `CacheFactory::set(name,             value)` call.
-
--   **Durable client ID**\u2014You indicate that the client is durable by giving it a `durable-client-ID`. The servers use this ID to identify the client. For a non-durable client, the `durable-client-ID` is an empty string. The ID can be any number that is unique among the clients attached to servers in the same distributed system.
-
--   **Durable timeout**\u2014The `durable-timeout` setting specifies how long this client\u2019s servers should wait after the client disconnects before terminating its message queue. During that time, the servers consider the client alive and continue to accumulate messages for it. The default is 300 seconds.
-
-The `durable-timeout` setting is a tuning parameter. When setting the timeout, take into account the normal activity of your application, the average size of your messages, and the level of risk you can handle. Assuming that no messages are being removed from the queue, how long can the application run before the queue reaches the maximum message count? In addition, how long can it run before the queued messages consume all the memory on the client host? How serious is each of those failures to your operation?
-
-To assist with tuning, Geode provides statistics that track message queues for durable clients through the disconnect and reconnect cycles. For statistics documentation, see [Statistics](../../managing/statistics/chapter_overview.html).
-
-When the queue is full, it blocks further operations that add messages until the queue size drops to an acceptable level. The action to take is specified on the server. For details on configuring the queue, see [Implementing Durable Client/Server Messaging](../../developing/events/implementing_durable_client_server_messaging.html).
-
-## Configuring a Durable Native Client Using gfcpp.properties
-
-The following example shows `gfcpp.properties` settings to make the client durable and set the durable timeout to 200seconds.
-
-``` pre
-durable-client-id=31
-durable-timeout=200
-```
-
-## Configuring a Durable Client Through the API (C++)
-
-This programmatic example creates a durable client using the `CacheFactory::set(name, value)`.
-
-``` pre
-// Create durable client's properties using the C++ api
-PropertiesPtr pp = Properties::create();
-pp->insert("durable-client-id", "DurableClientId");
-pp->insert("durable-timeout", 200);
-cacheFactoryPtr = CacheFactory::createCacheFactory(pp);
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/preserving-data/configuring-nc-ha.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/preserving-data/configuring-nc-ha.html.md.erb b/geode-docs/nativeclient/preserving-data/configuring-nc-ha.html.md.erb
deleted file mode 100644
index 6e55991..0000000
--- a/geode-docs/nativeclient/preserving-data/configuring-nc-ha.html.md.erb
+++ /dev/null
@@ -1,49 +0,0 @@
----
-title:  Configuring Native Clients for High Availability
----
-
-Configure high availability by setting the pool attribute `subscription-redundancy` to the number of copies you want maintained.
-
-A client maintains its queue redundancy level at the time of a primary server failure by connecting to additional secondary servers.
-
-<a id="concept_7CEFF513CED14397A385ED88F3287AF1__section_BC1693F33FA1448296C00220962EDDEE"></a>
-Native clients can specify the number of secondary servers where the client registers interest and maintains subscription channels, in addition to the subscription channel with the primary server. The secondary servers maintain redundant update queues for the client. If the primary server fails, a secondary becomes a primary to provide uninterrupted messaging to the client. If possible, another secondary is then initialized so the total number of secondaries is not reduced by the failover.
-
-## Setting the Server Redundancy Level in cache.xml
-
-This example sets one redundant server as failover backup to the primary server:
-
-``` pre
-<cache>
-   <pool name="examplePool"
-      subscription-enabled="true" subscription-redundancy="1">
-      <server host="java_servername1" port="java_port1" />
-      <server host="java_servername2" port="java_port2" />
-   </pool>
-   <region name = "ThinClientRegion1" >
-      <region-attributes refid="CACHING_PROXY" pool-name="examplePool"/>
-   </region>
-</cache>
-```
-
-## Setting the Server Redundancy Level Programmatically
-
-You can set the redundancy level programmatically. This example creates a client cache with two redundant cache servers configured in addition to the primary server.
-
-The server redundancy level can be configured using the pool API. For more information about the pool API, see [Using Connection Pools](../connection-pools/connection-pools.html#using-connection-pools).
-
-``` pre
-PropertiesPtr pp = Properties::create( );
-systemPtr = CacheFactory::createCacheFactory(pp);
-// Create a cache.
-cachePtr = systemPtr->setSubscriptionEnabled(true)
-   ->addServer("localhost", 24680)
-   ->addServer("localhost", 24681)
-   ->addServer("localhost", 24682)
-   ->setSubscriptionRedundancy(2)
-   ->create();
-```
-
-When failover to a secondary server occurs, a new secondary is added to the redundancy set. If no new secondary server is found, the redundancy level is not satisfied but the failover procedure completes successfully. Any new live server is added as a secondary and interest is registered on it.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/preserving-data/disconnecting-from-server.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/preserving-data/disconnecting-from-server.html.md.erb b/geode-docs/nativeclient/preserving-data/disconnecting-from-server.html.md.erb
deleted file mode 100644
index d311e08..0000000
--- a/geode-docs/nativeclient/preserving-data/disconnecting-from-server.html.md.erb
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title:  Disconnecting from the Server
----
-
-When a durable client closes its cache and disconnects, it tells the servers whether to maintain its queues.
-
-For this purpose, use the version of `Cache::close` with the boolean `keepalive` parameter set, as shown in the following example. If the setting is true, the servers keep the durable client\u2019s queues and durable subscriptions alive for the timeout period. In addition to in-memory queue retention, the servers can evict the most recent durable client queue updates to disk to reduce memory consumption.
-
-Only the resources and data related to the session are removed, such as port numbers and non-durable subscriptions. If the setting is false, the servers do the same cleanup that they would do for a nondurable client.
-
-## Durable Client Disconnect With Queues Maintained
-
-``` pre
-// Close the Cache and disconnect with keepalive=true.
-// Server will queue events for durable registrations and CQs
-// When the client reconnects (within a timeout period) and sends
-// "readyForEvents()", the server will deliver all stored events
-cachePtr->close(true);
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/preserving-data/disconnection.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/preserving-data/disconnection.html.md.erb b/geode-docs/nativeclient/preserving-data/disconnection.html.md.erb
deleted file mode 100644
index ac653ba..0000000
--- a/geode-docs/nativeclient/preserving-data/disconnection.html.md.erb
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title:  Disconnection
----
-
-While the client and servers are disconnected, their operation varies depending on the circumstances.
-
-## <a id="concept_915EAD135DD942F28A38513097ACB1F1__section_6AB8F4B8993F4EF9B32A93A100F07BEC" class="no-quick-link"></a>Normal disconnect
-
-When a durable client disconnects normally, the `Cache.close` request states whether to maintain the client's message queue and durable subscriptions. The servers stop sending messages to the client and release its connection. See[Disconnecting From the Server](disconnecting-from-server.html#concept_3A9AC62F96FA44DBBB5CCBFD3EA19B56) for more information.
-
-If requested, the servers maintain the queues and durable interest list until the client reconnects or times out. The non-durable interest list is discarded. The servers continue to queue up incoming messages for entries on the durable interest list. All messages that were in the queue when the client disconnected remain in the queue, including messages for entries on the non-durable list.
-
-If the client requests to not have its subscriptions maintained, or if there are no durable subscriptions, the servers unregister the client and perform the same cleanup as for a non-durable client.
-
-## Abnormal disconnect
-
-If the client crashes or loses its connections to all servers, the servers automatically maintain its message queue and durable subscriptions until the client reconnects or times out.
-
-## Client disconnected but operational
-
-If the client operates while it is disconnected, it gets what data it can from the local cache. Since updates are not allowed, the data can become stale. An `UnconnectedException` occurs if an update is attempted.
-
-## Timing out while disconnected
-
-The servers track how long to keep a durable client queue alive based on the `durable-client-timeout` setting. If the client remains disconnected longer than the timeout, the servers unregister the client and do the same cleanup that is performed for a non-durable client. The servers also log an alert. When a timed-out client reconnects, the servers treat it as a new client making its initial connection.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/preserving-data/durable-client-life-cycle.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/preserving-data/durable-client-life-cycle.html.md.erb b/geode-docs/nativeclient/preserving-data/durable-client-life-cycle.html.md.erb
deleted file mode 100644
index 67ba0f8..0000000
--- a/geode-docs/nativeclient/preserving-data/durable-client-life-cycle.html.md.erb
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title:  Life Cycle of a Durable Client
----
-
-This section discusses the high-level operation of a durable client through initial startup, disconnection, and reconnection.
-
--   **[Initial Operation](../../nativeclient/preserving-data/initial-operation.html)**
-
-    The initial startup of a durable client is similar to the startup of any other client, except that it specifically calls the `Cache.readyForEvents` method when all regions and listeners on the client are ready to process messages from the server.
-
--   **[Disconnection](../../nativeclient/preserving-data/disconnection.html)**
-
-    While the client and servers are disconnected, their operation varies depending on the circumstances.
-
--   **[Reconnection](../../nativeclient/preserving-data/reconnection.html)**
-
-    During initialization, operations on the client cache can come from multiple sources.
-
--   **[Durable Message Replay](../../nativeclient/preserving-data/durable-message-replay.html)**
-
-    When the primary server receives the cache ready message, the servers and client execute a procedure to update the queue and replay the events from the stored messages.
-
--   **[Application Operations During Interest Registration](../../nativeclient/preserving-data/app-ops-during-int-reg.html)**
-
-    As soon as the client creates its regions, the application hosting the client can start cache operations, even while the client is still receiving its interest registration responses.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/preserving-data/durable-client-messaging-req.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/preserving-data/durable-client-messaging-req.html.md.erb b/geode-docs/nativeclient/preserving-data/durable-client-messaging-req.html.md.erb
deleted file mode 100644
index 691ad30..0000000
--- a/geode-docs/nativeclient/preserving-data/durable-client-messaging-req.html.md.erb
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title:  Durable Client Messaging Requirements
----
-
-The messaging queues used for durable messaging are the same regular messaging queues used for basic server-to-client messaging, with additional requirements.
-
-See [Implementing Durable Client/Server Messaging](../../developing/events/implementing_durable_client_server_messaging.html) for requirements, options, and functionality of messaging queues. If you are using highly available servers, see [High Availability for Client-Server Communication](high-availability-client-server.html#concept_F7A143F51EEA46B28AC612DEB7849D99)for additional requirements.
-
-For durable client messaging, you also need the following:
-
--   **Durable clients**. If the client is durable, the server continues to maintain the client queues when the client disconnects.
-    **Note:**
-    Redundancy management is handled by the client, so when the client is disconnected from the server the redundancy of client events is not maintained. Even if the servers fail one at a time, so that running clients have time to fail over and pick new secondary servers, an offline durable client cannot fail over. As a result, the client loses its queued messages.
-
--   **Durable interest registration**. A durable client\u2019s interest registrations specify whether its interest in a key is durable. If it is, the servers continue queuing messages for that key while the client is disconnected.
--   **Reconnection conditions.** You can program the durable client to detect whether the previously registered subscription queue is available upon reconnection and determine an approximate count of pending events in the queue. Based on the results, you can then decide whether to receive the remaining events (`Cache.readyForEvents`) or close the cache if the number is too large.
--   **Cache ready message**. When it is ready to receive the stored messages, a durable client must call `Cache.readyForEvents` to send a cache ready message to the server.
--   **Disconnect keepalive specification**. When a durable client disconnects normally it must tell the server whether to maintain the message queue or delete it.
--   **Durable client callback method**. If you use cache listeners on the durable clients, you have the option to implement the `afterRegionLive` callback method. This callback is invoked after the durable client connects to its servers, when it has received all of its stored messages and replayed the events.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/preserving-data/durable-client-messaging.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/preserving-data/durable-client-messaging.html.md.erb b/geode-docs/nativeclient/preserving-data/durable-client-messaging.html.md.erb
deleted file mode 100644
index 9ae99d1..0000000
--- a/geode-docs/nativeclient/preserving-data/durable-client-messaging.html.md.erb
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title:  Durable Client Messaging
----
-
-You can configure the redundancy level for client queues that are stored on cache servers. This ensures that the client will not lose messages if it loses the connection to its primary server.
-
-Durable messaging allows a disconnected client application to recover its subscribed data when it reconnects to the cache server because the server continues to queue messages for which the client has registered interest.
-
--   **[Durable Client Messaging Requirements](../../nativeclient/preserving-data/durable-client-messaging-req.html)**
-
-    The messaging queues used for durable messaging are the same regular messaging queues used for basic server-to-client messaging, with additional requirements.
-
--   **[Client-Side Configuration](../../nativeclient/preserving-data/client-side-config.html)**
-
--   **[Sending Cache Ready Messages to the Server](../../nativeclient/preserving-data/sending-cache-ready-message.html)**
-
-    After a durable client connects and initializes its cache, regions, cache listeners, and any interest registration, it invokes `readyForEvents` to indicate to the servers that the client is ready to receive any messages accumulated for it.
-
--   **[Disconnecting from the Server](../../nativeclient/preserving-data/disconnecting-from-server.html)**
-
-    When a durable client closes its cache and disconnects, it tells the servers whether to maintain its queues.
-
--   **[Life Cycle of a Durable Client](../../nativeclient/preserving-data/durable-client-life-cycle.html)**
-
-    This section discusses the high-level operation of a durable client through initial startup, disconnection, and reconnection.
-
--   **[Implementing Cache Listeners for Durable Clients](../../nativeclient/preserving-data/impl-cache-listeners-durable-clients.html)**
-
-    A cache listener for durable clients requires all callback methods to behave properly when stored events are replayed. A cache listener has a callback method, `afterRegionLive`, specifically for durable clients aspects.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/preserving-data/durable-message-replay.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/preserving-data/durable-message-replay.html.md.erb b/geode-docs/nativeclient/preserving-data/durable-message-replay.html.md.erb
deleted file mode 100644
index c4274ca..0000000
--- a/geode-docs/nativeclient/preserving-data/durable-message-replay.html.md.erb
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title:  Durable Message Replay
----
-
-When the primary server receives the cache ready message, the servers and client execute a procedure to update the queue and replay the events from the stored messages.
-
-Durable message replay proceeds as follows. To avoid overwriting current entries with old data, the client does not apply the updates to its cache.
-
-1.  The server finds the queue for this durable client ID and updates its information, including the client\u2019s socket and remote ports.
-
-    If the client has timed out while it was disconnected, its queues are gone and the server then treats it as a new client. See [Initial Operation](initial-operation.html).
-
-2.  All servers that have a queue for this client place a marker in the queue.
-
-    Messages in the queue before the marker are considered to have come while the client was disconnected. Messages after the marker are handled normally.
-
-3.  The cache server sends the queued messages to the client. This includes any messages that were evicted to disk.
-4.  The client receives the messages but does not apply the updates to its cache. If cache listeners are installed, they handle the events. For implications, see [Implementing Cache Listeners for Durable Clients](impl-cache-listeners-durable-clients.html#concept_3BD651087FC4470C8BAB6AFD97AEA689).
-5.  The client receives the marker message indicating that all past events have been played back.
-6.  The cache server sends the current list of live regions.
-7.  In each live region on the client, the marker event triggers the `afterRegionLive` callback.
-
-    After the callback, the client begins normal processing of events from the server and applies the updates to its cache.
-
-Even when a new client starts up for the first time, the cache ready markers are inserted in the queues. If messages start coming into the new queues before the servers insert the marker, those messages are considered as having happened while the client was disconnected, and their events are replayed the same as in the reconnect case.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/preserving-data/high-availability-client-server.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/preserving-data/high-availability-client-server.html.md.erb b/geode-docs/nativeclient/preserving-data/high-availability-client-server.html.md.erb
deleted file mode 100644
index 1007886..0000000
--- a/geode-docs/nativeclient/preserving-data/high-availability-client-server.html.md.erb
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title:  High Availability for Client-Server Communication
----
-
-The Geode native client provides reliable event messaging from cache server to client to prevent data loss during server failover operations. High availability is implemented in the cache server and is configured in the native client.
-
-See [Configuring Highly Available Servers](../../developing/events/configuring_highly_available_servers.html) for details about configuring a Java cache server for high availability.
-
-**Note:**
-High availability functions the same whether the region is partitioned or not. See [Partitioned Regions](../../developing/partitioned_regions/chapter_overview.html) for information about partitioned regions.
-
--   **[Configuring Native Clients for High Availability](../../nativeclient/preserving-data/configuring-nc-ha.html)**
-
-    Configure high availability by setting the pool attribute `subscription-redundancy` to the number of copies you want maintained.
-
--   **[Sending Periodic Acknowledgment](../../nativeclient/preserving-data/sending-periodic-ack.html)**
-
-    Servers use periodic acknowledgment to reduce the likelihood of duplicate notifications, and to reduce resource usage.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/preserving-data/impl-cache-listeners-durable-clients.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/preserving-data/impl-cache-listeners-durable-clients.html.md.erb b/geode-docs/nativeclient/preserving-data/impl-cache-listeners-durable-clients.html.md.erb
deleted file mode 100644
index a91cb3b..0000000
--- a/geode-docs/nativeclient/preserving-data/impl-cache-listeners-durable-clients.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  Implementing Cache Listeners for Durable Clients
----
-
-A cache listener for durable clients requires all callback methods to behave properly when stored events are replayed. A cache listener has a callback method, `afterRegionLive`, specifically for durable clients aspects.
-
-For general instructions on implementing a cache listener, see [CacheListener](../client-cache/application-plugins.html#application-plugins__section_3F43B898CD254076B4DD777E9B4CC8F0).
-
-## <a id="concept_3BD651087FC4470C8BAB6AFD97AEA689__section_EC28F9769A554CA28B0E9D2F924BA4C3" class="no-quick-link"></a>Writing Callbacks for Use With Durable Messaging
-
-Durable clients require special attention to cache callbacks generated by the cache listener. During the initialization window when a reconnecting client has a functioning cache but is still receiving the stored messages from the queue, the client can replay events that are long past. These events are not applied to the cache, but they are sent to the cache listener. If the listener\u2019s callbacks invoked by these events make changes to the cache, that could conflict with current operations and create data inconsistencies.
-
-Consequently, you need to keep your callback implementations lightweight and not do anything in the cache that could produce incorrect results during this window. For details on implementing callbacks for Geode event handlers, see[Implementing Cache Event Handlers](../../developing/events/implementing_cache_event_handlers.html).
-
-## <a id="concept_3BD651087FC4470C8BAB6AFD97AEA689__section_F39E695D88E94D518F3E1778F37FAF11" class="no-quick-link"></a>Implementing the afterRegionLive Method
-
-If you are using cache listeners, you can implement the `afterRegionLive` callback method provided for durable clients. This callback is invoked when the client has received all the old messages that were stored in its queue while it was disconnected. Implementing this method enables you to do application-specific operations when the client has replayed all of these old events.
-
-If you do not wish to use this callback, and your listener is an instance of `CacheListener` (not a `CacheListenerAdapter`), you must implement `afterRegionLive` as a non-operational method.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/preserving-data/initial-operation.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/preserving-data/initial-operation.html.md.erb b/geode-docs/nativeclient/preserving-data/initial-operation.html.md.erb
deleted file mode 100644
index c77d218..0000000
--- a/geode-docs/nativeclient/preserving-data/initial-operation.html.md.erb
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title:  Initial Operation
----
-
-The initial startup of a durable client is similar to the startup of any other client, except that it specifically calls the `Cache.readyForEvents` method when all regions and listeners on the client are ready to process messages from the server.
-
-See [Sending the Cache Ready Message to the Server](sending-cache-ready-message.html#concept_C28D015FA85B4EE4B2F8D2DA5FCAFBFF).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/preserving-data/preserving-data.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/preserving-data/preserving-data.html.md.erb b/geode-docs/nativeclient/preserving-data/preserving-data.html.md.erb
deleted file mode 100644
index ff851ad..0000000
--- a/geode-docs/nativeclient/preserving-data/preserving-data.html.md.erb
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title:  Preserving Data
----
-
-A server may preserve the data queued and intended to be sent to a native client, such that the data is not discarded if communication between the server and native client is disrupted. Preservation prevents message loss, which can cause a native client to have inconsistent data. Redundant queues and a high availability server implementation may further ensure that queued data is not lost.
-
-There is a tradeoff between the quantity of data that a server must queue and the amount of time that the server maintains and continues to queue data intended for a native client that is not communicating with the distributed system. Client configuration specifies the amount of time that the server is to continue queueing messages. High availability permits a secondary server to assume the role of a primary server with respect to queued data in the event that the primary server no longer functions. Designation of primary and secondary servers, as well as the number of redundant copies of the queue are configurable.
-
--   **[High Availability for Client-Server Communication](../../nativeclient/preserving-data/high-availability-client-server.html)**
-
-    The Geode native client provides reliable event messaging from cache server to client to prevent data loss during server failover operations. High availability is implemented in the cache server and is configured in the native client.
-
--   **[Enabling Queue Conflation to Improve Update Performance](../../nativeclient/preserving-data/using-queue-conflation.html)**
-
-    Conflation of entry update messages can reduce the number of update messages a native client receives, thereby increasing performance. The native client receives only the most recent update for a particular entry key.
-
--   **[Durable Client Messaging](../../nativeclient/preserving-data/durable-client-messaging.html)**
-
-    You can configure the redundancy level for client queues that are stored on cache servers. This ensures that the client will not lose messages if it loses the connection to its primary server.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/preserving-data/reconnection.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/preserving-data/reconnection.html.md.erb b/geode-docs/nativeclient/preserving-data/reconnection.html.md.erb
deleted file mode 100644
index a31f721..0000000
--- a/geode-docs/nativeclient/preserving-data/reconnection.html.md.erb
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title:  Reconnection
----
-
-During initialization, operations on the client cache can come from multiple sources.
-
--   Cache operations by the application.
--   Results returned by the cache server in response to the client\u2019s interest registrations.
--   Callbacks triggered by replaying old events from the queue.
-
-These procedures can act on the cache concurrently, and the cache is never blocked from doing operations.
-
-Geode handles the conflicts between the application and interest registration, but you need to prevent the callback problem. Writing callback methods that do cache operations is never recommended, but it is a particularly bad idea for durable clients, as explained in [Implementing Cache Listeners for Durable Clients](impl-cache-listeners-durable-clients.html).
-
-Program the durable client to perform these steps, in order, when it reconnects:
-
-1.  Create the cache and regions. This ensures that all cache listeners are ready. At this point, the application hosting the client can begin cache operations.
-2.  Issue its register interest requests. This allows the client cache to be populated with the initial interest registration results. The primary server responds with the current state of those entries if they still exist in the server\u2019s cache.
-3.  Call `Cache.readyForEvents`. This tells the servers that all regions and listeners on the client are now ready to process messages from the servers. The cache ready message triggers the queued message replay process on the primary server.
-
-For an example that demonstrates `Cache.readyForEvents`, see [Sending the Cache Ready Message to the Server](sending-cache-ready-message.html#concept_C28D015FA85B4EE4B2F8D2DA5FCAFBFF).
-
-This figure shows the concurrent procedures that occur during the initialization process. The application begins operations immediately on the client (step 1), while the client's cache ready message (also step 1) triggers a series of queue operations on the cache servers (starting with step 2 on the primary server). At the same time, the client registers interest (step 2 on the client) and receives a response from the server.
-
-Message B2 applies to an entry in Region A, so the cache listener handles B2's event. Because B2 comes before the marker, the client does not apply the update to the cache.
-
-<a id="concept_38C027837216434CB5DEC84DF56B807E__fig_5A5566FB9EBE4A6D906E9D8FA687B4C5"></a>
-<span class="figtitleprefix">Figure: </span> Initialization of a Reconnected Durable Client
-
-<img src="../common/images/7-Preserving_Data-2.gif" id="concept_38C027837216434CB5DEC84DF56B807E__image_1B3693DB90D041F193496BA24849D114" class="image" />
-
-Only one region is shown for simplicity, but the messages in the queue could apply to multiple regions. Also, the figure omits the concurrent cache updates on the servers, which would normally be adding more messages to the client's message queue.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/preserving-data/sending-cache-ready-message.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/preserving-data/sending-cache-ready-message.html.md.erb b/geode-docs/nativeclient/preserving-data/sending-cache-ready-message.html.md.erb
deleted file mode 100644
index ed3355a..0000000
--- a/geode-docs/nativeclient/preserving-data/sending-cache-ready-message.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  Sending Cache Ready Messages to the Server
----
-
-After a durable client connects and initializes its cache, regions, cache listeners, and any interest registration, it invokes `readyForEvents` to indicate to the servers that the client is ready to receive any messages accumulated for it.
-
-## Durable Client Cache Ready Notification (C++)
-
-The following example shows how to call `readyForEvents`.
-
-``` pre
-//Send ready for event message to server(only for durable clients).
-//Server will send queued events to client after receiving this.
-cachePtr->readyForEvents();
-```
-
-To keep the client from losing events, do not call this method until all regions and listeners are created. For more information, see [Reconnection](reconnection.html#concept_38C027837216434CB5DEC84DF56B807E).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/preserving-data/sending-periodic-ack.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/preserving-data/sending-periodic-ack.html.md.erb b/geode-docs/nativeclient/preserving-data/sending-periodic-ack.html.md.erb
deleted file mode 100644
index 2b33ab0..0000000
--- a/geode-docs/nativeclient/preserving-data/sending-periodic-ack.html.md.erb
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title:  Sending Periodic Acknowledgment
----
-
-Servers use periodic acknowledgment to reduce the likelihood of duplicate notifications, and to reduce resource usage.
-
-<a id="concept_868B8082463846DE9F35BBEA56105C82__section_D4375BCCF8A2426BA58073B9549B6F04"></a>
-When redundancy is enabled for high availability and `redundancy-level` is set to 1 or higher, clients send (and servers expect) periodic acknowledgment messages at configurable intervals for notifications they have received. A periodic ack is not sent by the client if there are no unacknowledged notifications at the time.
-
-Use the following system properties in the `gfcpp.properties` file to configure periodic ack.
-
-<table>
-<colgroup>
-<col width="50%" />
-<col width="50%" />
-</colgroup>
-<tbody>
-<tr class="odd">
-<td><code class="ph codeph">notify-ack-interval</code></td>
-<td><p>Minimum period between two consecutive acknowledgment messages sent from the client to the server. The default setting (in seconds) is 10.</p></td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">notify-dupcheck-life</code></td>
-<td><p>Minimum time a client continues to track a notification source for duplicates when no new notifications arrive before expiring it. The default setting (in seconds) is 300.</p></td>
-</tr>
-</tbody>
-</table>
-
-The Pool API also provides attributes to configure periodic ack and duplicate message tracking timeout. See `subscription-message-tracking-timeout` and `subscription-ack-interval` in the list of pool attributes under [Configuring Pools for Servers or Locators](../connection-pools/configuring-pools.html#configuring-pools).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/preserving-data/using-queue-conflation.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/preserving-data/using-queue-conflation.html.md.erb b/geode-docs/nativeclient/preserving-data/using-queue-conflation.html.md.erb
deleted file mode 100644
index 81b8ff5..0000000
--- a/geode-docs/nativeclient/preserving-data/using-queue-conflation.html.md.erb
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title:  Enabling Queue Conflation to Improve Update Performance
----
-
-Conflation of entry update messages can reduce the number of update messages a native client receives, thereby increasing performance. The native client receives only the most recent update for a particular entry key.
-
-Conflation is enabled for a cache server region, so all clients receiving updates for a particular region benefit from the conflation. To enable conflation, set the cache server\u2019s `enable-subscription-conflation` region attribute to `true`. This region attribute is `false` by default.
-
-The queue managment code conflates entry updates as part of the enqueue operation. If the previous enqueued item for that key is also an `update` operation, the queue management code removes that previously enqueued update, leaving only the latest update to be sent when event distribution occurs. For high availability, conflation also occurs for any secondary queues.
-
-Only entry `update` messages in a cache server region with `distributed-no-ack` scope are conflated. Region operations and entry operations other than updates are not conflated.
-
-For more information, see [Conflate the Server Subscription Queue](../../developing/events/conflate_server_subscription_queue.html).
-
-## <a id="concept_AEFA04AF9ABD42C0A37ED31806596D24__section_BE506A32A8E44073B197B03AC5232C01" class="no-quick-link"></a>Overriding Queue Conflation Per-Client
-
-Override conflation on a per-client basis by setting the conflate-events property in the native client\u2019s `gfcpp.properties` file.
-
-Valid settings are:
-
--   `server`. Uses the server settings.
--   `true`. Conflates everything sent to the client.
--   `false`. Does not conflate anything sent to the client.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/programming-examples/cpp-example.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/programming-examples/cpp-example.html.md.erb b/geode-docs/nativeclient/programming-examples/cpp-example.html.md.erb
deleted file mode 100644
index 697cfa3..0000000
--- a/geode-docs/nativeclient/programming-examples/cpp-example.html.md.erb
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title:  API Programming Example \u2013 C++
----
-
-The next example uses the C++ API to implement a cache loader, which is generally used to retrieve data from an outside source.
-
-``` pre
-CacheablePtr TestCacheLoader::load(const RegionPtr& region,
-                                   const CacheableKeyPtr& key,
-                                   const UserDataPtr& aCallbackArgument)
-{
-  m_bInvoked = true;
-  printf("CacheLoader.load : %s\n", printEvent(region, key,
-          aCallbackArgument).c_str());
-  CacheablePtr value = NULLPTR;
-  try {
-    value = region->get(key, aCallbackArgument);
-  } catch(Exception& ex) {
-    fprintf(stderr, "Exception in TestCacheCallback::printEvent [%s]\n", ex.getMessage());
-  }
-  if (value != NULLPTR) {
-    printf( "Loader found value: ");
-    std::string formatValue = printEntryValue(value);
-    printf( "%s\n",formatValue.c_str());
-  } else {
-    printf( " Loader did not find a value");
-  }
- 
-  return value;
-}
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/programming-examples/csharp-example.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/programming-examples/csharp-example.html.md.erb b/geode-docs/nativeclient/programming-examples/csharp-example.html.md.erb
deleted file mode 100644
index 92ce686..0000000
--- a/geode-docs/nativeclient/programming-examples/csharp-example.html.md.erb
+++ /dev/null
@@ -1,85 +0,0 @@
----
-title:  API Programming Example \u2013 C\#
----
-
-This C\# programming code in the next example demonstrates how to use two or more clients sharing a distributed region in a Geode cache.
-
-``` pre
-using System;
-using GemStone.GemFire.Cache;
- 
-namespace GemStone.GemFire.Cache.QuickStart {
-  // The BasicOperations QuickStart example.
-  class BasicOperations {
-      static void Main(string[] args) {
-      try {
-          // Create a Cache.
-          CacheFactory cacheFactory = CacheFactory.CreateCacheFactory(null);
- 
-          Cache cache = cacheFactory.SetSubscriptionEnabled(true).Create();
- 
-          Console.WriteLine("Created the Cache");
- 
-          RegionFactory regionFactory = 
-              cache.CreateRegionFactory(RegionShortcut.CACHING_PROXY);
- 
-          Region region = regionFactory.Create("exampleRegion");
- 
-          Console.WriteLine("Created the Region Programmatically.");
- 
-          // Put an Entry (Key and Value pair) into the Region using the 
-          // direct/shortcut method.
-          region.Put("Key1", "Value1");
- 
-          Console.WriteLine("Put the first Entry into the Region");
- 
-          // Put an Entry into the Region by manually creating a Key and 
-          // a Value pair.
-          CacheableInt32 key = new CacheableInt32(123);
-          CacheableString value = new CacheableString("123");
-          region.Put(key, value);
- 
-          Console.WriteLine("Put the second Entry into the Region");
- 
-          if (IntPtr.Size == 8) { // Are we a 64 bit process?
-              Char ch = 'A';
-              string text = new string(ch, 1024 * 1024);
-              for (int item = 0; item < (5 * 1024 /* 5 GB */); item++) {
-                  region.LocalPut(item, text);
-              }
-              Console.WriteLine("Put over 4 GB data locally");
-          }
-          // Get Entries back out of the Region.
-          IGFSerializable result1 = region.Get("Key1");
- 
-          Console.WriteLine("Obtained the first Entry from the Region");
- 
-          IGFSerializable result2 = region.Get(key);
- 
-          Console.WriteLine("Obtained the second Entry from the Region");
- 
-          // Invalidate an Entry in the Region.
-          region.Invalidate("Key1");
- 
-          Console.WriteLine("Invalidated the first Entry in the Region");
- 
-          // Destroy an Entry in the Region.
-          region.Destroy(key);
- 
-          Console.WriteLine("Destroyed the second Entry in the Region");
- 
-          // Close the GemFire Cache.
-          cache.Close();
- 
-          Console.WriteLine("Closed the Cache");
-      }
-      // An exception should not occur
-      catch (GemFireException gfex) {
-          Console.WriteLine("BasicOperations Exception: {0}", 
-              gfex.Message);
-      }
-  }
-}
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/programming-examples/native-client-region.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/programming-examples/native-client-region.html.md.erb b/geode-docs/nativeclient/programming-examples/native-client-region.html.md.erb
deleted file mode 100644
index 6e15afd..0000000
--- a/geode-docs/nativeclient/programming-examples/native-client-region.html.md.erb
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title:  Declaring a Native Client Region
----
-
-The following example shows how to declare a native client region in a `cache.xml` file.
-
-``` pre
-<cache>
-  <region name = "root1" >
-    <region-attributes refid="CACHING_PROXY" pool-name="poolName1"/>
-  </region>
-  <region name = "root2" >
-    <region-attributes refid="PROXY" pool-name="poolName2"/>
-  </region>
-  <pool name="poolName1" subscription-enabled="true">
-    <server host="localhost" port="40404" />
-  </pool>
-  <pool name="poolName2" subscription-enabled="true">
-    <server host="localhost" port="40404" />
-  </pool>
-</cache>
-```
-
--   The pool defines a list of cache servers that the native client region can communicate with.
--   The *CACHING\_PROXY* setting causes the client region to cache data and to communicate with the servers. The *PROXY* setting causes the client region to communicate with the servers, but cache no data.
--   The region *subscription-enabled* property, if `true` , indicates that the client should receive data updates when server data changes.
--   Native clients do not specify cache loaders or writers, which are provided by the server.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/programming-examples/programming-examples.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/programming-examples/programming-examples.html.md.erb b/geode-docs/nativeclient/programming-examples/programming-examples.html.md.erb
deleted file mode 100644
index 0e1446d..0000000
--- a/geode-docs/nativeclient/programming-examples/programming-examples.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  Programming Examples
----
-
-This chapter provides a set of programming examples to help you understand the Geode native client API.
-
--   **[Declaring a Native Client Region](../../nativeclient/programming-examples/native-client-region.html)**
-
-    The following example shows how to declare a native client region in a `cache.xml` file.
-
--   **[API Programming Example \u2013 C\#](../../nativeclient/programming-examples/csharp-example.html)**
-
-    This C\# programming code in the next example demonstrates how to use two or more clients sharing a distributed region in a Geode cache.
-
--   **[API Programming Example \u2013 C++](../../nativeclient/programming-examples/cpp-example.html)**
-
--   **[Data Serialization Examples](../../nativeclient/programming-examples/serialization-overview.html)**
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/programming-examples/serialization-cpp.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/programming-examples/serialization-cpp.html.md.erb b/geode-docs/nativeclient/programming-examples/serialization-cpp.html.md.erb
deleted file mode 100644
index 840dcb3..0000000
--- a/geode-docs/nativeclient/programming-examples/serialization-cpp.html.md.erb
+++ /dev/null
@@ -1,296 +0,0 @@
----
-title:  C++ Serialization Example
----
-
-This C++ example implements an embedded object.
-
-``` pre
-class User : public Serializable
-{
- private:
-  std::string name;
-  int32_t userId;
-  ExampleObject *eo;
- public:
- User( std::string name, int32_t userId )
-   : name( name ),userId( userId )
-  {
-    eo = new ExampleObject(this->userId);
-  }
- 
-  ~User() {
-    if (eo != NULL) delete eo;
-    eo = NULL;
-  }
- 
-  User () {
-      name = "";
-      userId = 0;
-      eo = new ExampleObject(userId);
-  }
- 
-  User( const char *strfmt, char delimeter ) {
-      std::string userId_str;
-      std::string sValue(strfmt);
-      std::string::size_type pos1 = sValue.find_first_of(delimeter);
-      std::string::size_type pos2;
-      if (pos1 == std::string::npos) {
-        userId_str = sValue;
-        name = sValue;
-      } else {
-        userId_str = sValue.substr(0, pos1);
-        pos2 = sValue.find(delimeter, pos1+1);
-        int len;
-          len = sValue.length()-pos1;
-        if (pos2==std::string::npos) {
-        } else {
-          len = pos2-pos1;
-        }
-        name = sValue.substr(pos1+1, len);
-      }
-      userId = (int32_t)atoi(userId_str.c_str());
-      eo = new ExampleObject(userId_str);
-  }
- 
-  CacheableStringPtr toString() const {
-    CacheableStringPtr eo_str = eo->toString();
-    char userId_str[128];
-    sprintf(userId_str,"User: %d", userId);
-    std::string sValue = std::string(userId_str) + "," + name + "\n";
-    sValue += std::string(eo_str->asChar());
-    return CacheableString::create( sValue.c_str() );
-  }
- 
-  int32_t getUserId( ) {
-    return userId;
-  }
- 
-  std::string getName( ) {
-      return name;
-  }
- 
-  ExampleObject *getEO() {
-    return eo;
-  }
- 
-  void setEO(ExampleObject *eObject) {
-    eo = eObject;
-  }
- 
-  // Add the following for the Serializable interface
-  // Our TypeFactoryMethod
- 
-  static Serializable* createInstance( ) {
-    return new User(std::string("gester"), 123);
-  }
- 
-  int32_t classId( ) const {
-    return 0x2d; // 45
-  }
- 
-  void toData( DataOutput& output ) const {
-    output.writeASCII( name.c_str(), name.size() );
-    output.writeInt( userId );
-    eo->toData(output);
-  }
- 
-  uint32_t objectSize( ) const {
-    return ( sizeof(char) * ( name.size() + 1 ) ) +
-      sizeof(User) + eo->objectSize();
-  }
- 
-  Serializable* fromData( DataInput& input ) {
-    char *readbuf;
-    input.readASCII( &readbuf );
-    name = std::string(readbuf);
-    input.freeUTFMemory( readbuf );
-    input.readInt( &userId );
-    eo->fromData(input);
-    return this;
-  }
-};
-```
-
-This C++ example implements complex data types.
-
-``` pre
-class ExampleObject
-: public Serializable
-{
- private:
-  double double_field;
-  float float_field;
-  long long_field;
-  int int_field;
-  short short_field;
-  std::string string_field;
-  std::vector<std::string> string_vector;
- public:
-  ExampleObject() {
-    double_field = 0.0;
-    float_field = 0.0;
-    long_field = 0;
-    int_field = 0;
-    short_field = 0;
-    string_field = "";
-    string_vector.clear();
-  }
-  
-  ~ExampleObject() {
-  }
-  
-  ExampleObject(int id) {
-    char buf[64];
-    sprintf(buf, "%d", id);
-    std::string sValue(buf);
-    int_field = id;
-    long_field = int_field;
-    short_field = int_field;
-    double_field = (double)int_field;
-    float_field = (float)int_field;
-    string_field = sValue;
-    string_vector.clear();
-    for (int i=0; i<3; i++) {
-      string_vector.push_back(sValue);
-    }
-  }
-  
-  ExampleObject(std::string sValue) {
-    int_field = atoi(sValue.c_str());
-    long_field = int_field;
-    short_field = int_field;
-    double_field = (double)int_field;
-    float_field = (float)int_field;
-    string_field = sValue;
-    string_vector.clear();
-    for (int i=0; i<3; i++) {
-      string_vector.push_back(sValue);
-    }
-  }
-  
-  CacheableStringPtr toString() const {
-    char buf[1024];
-    std::string sValue = "ExampleObject: ";
-    sprintf(buf,"%f(double),%f(double),%ld(long),%d(int),%d(short),", double_field,float_field,long_field,int_field,short_field);
-    sValue += std::string(buf) + string_field + "(string),";
-    if (string_vector.size() >0) {
-      sValue += "[";
-      for (unsigned int i=0; i<string_vector.size(); i++) {
-        sValue += string_vector[i];
-        if (i != string_vector.size()-1) {
-          sValue += ",";
-        }
-      }
-      sValue += "](string vector)";
-    }
-    return CacheableString::create( sValue.c_str() );
-  }
-  
-  double getDouble_field() {
-    return double_field;
-  }
-  
-  float getFloat_field() {
-    return float_field;
-  }
-  
-  long getLong_field() {
-    return long_field;
-  }
-  
-  int getInt_field() {
-    return int_field;
-  }
-  
-  short getShort_field() {
-    return short_field;
-  }
-  
-  std::string & getString_field() {
-    return string_field;
-  }
-  
-  std::vector<std::string> & getString_vector( ) {
-    return string_vector;
-  }
- 
-  // Add the following for the Serializable interface
-  // Our TypeFactoryMethod
- 
-  static Serializable* createInstance( ) {
-    return new ExampleObject();
-  }
-  
-  int32_t classId( ) const
-  {
-    return 0x2e; // 46
-  }
-  
-  bool operator== ( const Serializable& other ) const {
-    const ExampleObject& otherEO = static_cast<const ExampleObject&>( other );
-    return ( 0 == strcmp( otherEO.toString()->asChar(), toString()->asChar() ) );
-  }
-  
-  uint32_t hashcode( ) const {
-    return int_field;
-  }
- 
-  uint32_t objectSize( ) const
-  {
-    uint32_t objectSize = sizeof(ExampleObject);
-    objectSize += sizeof(char) * ( string_field.size() + 1 );
-    size_t itemCount = string_vector.size();
-    for( size_t idx = 0; idx < itemCount; idx++ ) {
-      // copy each string to the serialization buffer, including the null
-      // terminating character at the end of the string.
-      objectSize += sizeof(char) * ( string_vector[idx].size() + 1 );
-    }
-    return objectSize;
-  }
- 
-  void toData( DataOutput& output ) const {
-    output.writeDouble( double_field );
-    output.writeFloat( float_field );
-    output.writeInt( (int64_t)long_field );
-    output.writeInt( (int32_t)int_field );
-    output.writeInt( (int16_t)short_field );
-    output.writeASCII( string_field.c_str(), string_field.size());
-    size_t itemCount = string_vector.size();
-    output.writeInt( (int32_t) itemCount );
-    for( size_t idx = 0; idx < itemCount; idx++ ) {
-      // copy each string to the serialization buffer, including the null
-      // terminating character at the end of the string.
-      output.writeASCII( string_vector[idx].c_str(), string_vector[idx].size() );
-    }
-  }
- 
-  Serializable* fromData( DataInput& input )
-  {
-    char *readbuf;
-    input.readDouble( &double_field );
-    input.readFloat( &float_field );
-    input.readInt( (int64_t *)(void *)&long_field );
-    input.readInt( (int32_t *)(void *)&int_field );
-    input.readInt( (int16_t *)(void *)&short_field );
- 
-    int32_t itemCount = 0;
-    input.readASCII( &readbuf );
-    string_field = std::string(readbuf);
-    input.freeUTFMemory( readbuf );
- 
-    string_vector.clear();
-    input.readInt( (int32_t*) &itemCount );
-    for( int32_t idx = 0; idx < itemCount; idx++ ) {
-      // read from serialization buffer into a character array
-      input.readASCII( &readbuf );
-      // and store in the history list of strings.
-      string_vector.push_back( readbuf );
-      input.freeUTFMemory( readbuf );
-    }
-    return this;
-  }
-};
-typedef SharedPtr<ExampleObject> ExampleObjectPtr;
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/programming-examples/serialization-csharp.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/programming-examples/serialization-csharp.html.md.erb b/geode-docs/nativeclient/programming-examples/serialization-csharp.html.md.erb
deleted file mode 100644
index 3d17a68..0000000
--- a/geode-docs/nativeclient/programming-examples/serialization-csharp.html.md.erb
+++ /dev/null
@@ -1,98 +0,0 @@
----
-title:  C# Serialization Example
----
-
-This C# .NET example shows how to implement a user-defined Serializable object.
-
-``` pre
-class User : IGFSerializable
-{
-  private string m_name;
-  private int m_userId;
-  ExampleObject m_eo;
- 
-  public User(string name, int userId)
-  {
-    m_name = name;
-    m_userId = userId;
-    m_eo = new ExampleObject();
-  }
-
-  public User()
-  {
-    m_name = string.Empty;
-    m_userId = 0;
-    m_eo = new ExampleObject();
-  }
- 
-  public int UserId
-  {
-    get
-      {
-        return m_userId;
-      }
- 
-  }
- 
-  public string Name
-  {
-    get
-      {
-        return m_name;
-      }
-  }
-
-  public ExampleObject EO
-  {
-    get
-      {
-        return m_eo;
-      }
-    set
-      {
-        m_eo = value;
-      }
-  }
- 
-  public override string ToString()
-  {
-    return string.Format("User: {0}, {1}\n{2}", m_userId, m_name,
-                         m_eo.ToString());
-  }
- 
-  // Our TypeFactoryMethod
-  public static IGFSerializable CreateInstance()
-  {
-    return new User();
-  }
- 
-#region IGFSerializable Members
- 
-  public UInt32 ClassId()
-  {
-    get
-      {
-        return 45; // must match Java
-      }
-  }
-  
-  public IGFSerializable FromData(DataInput input)
-  {
-    m_name = input.ReadUTF();
-    m_userId = input.ReadInt32();
-    m_eo.FromData(input);
-    return this;
-  }
- 
-  public void ToData(DataOutput output)
-  {
-    output.writeUTF(m_name);
-    output.writeInt32(m_userId);
-    eo.ToData(output);
-  }
- 
-#endregion
-}
-```
-
-


[68/76] [abbrv] incubator-geode git commit: GEODE-1952: Add Apache license to all geode-docs erb files

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/getting_started/uninstall_gemfire.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/getting_started/uninstall_gemfire.html.md.erb b/geode-docs/getting_started/uninstall_gemfire.html.md.erb
index baf19eb..e5cac8a 100644
--- a/geode-docs/getting_started/uninstall_gemfire.html.md.erb
+++ b/geode-docs/getting_started/uninstall_gemfire.html.md.erb
@@ -2,6 +2,23 @@
 title:  How to Uninstall
 ---
 
+<!--
+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.
+-->
+
 This section describes how to remove Geode.
 
 Shut down any running Geode processes and then remove the entire directory tree. No additional system modifications or modification of Windows registry entries are needed.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/autoreconnect/member-reconnect.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/autoreconnect/member-reconnect.html.md.erb b/geode-docs/managing/autoreconnect/member-reconnect.html.md.erb
index 7303800..916d301 100644
--- a/geode-docs/managing/autoreconnect/member-reconnect.html.md.erb
+++ b/geode-docs/managing/autoreconnect/member-reconnect.html.md.erb
@@ -2,6 +2,23 @@
 title:  Handling Forced Cache Disconnection Using Autoreconnect
 ---
 
+<!--
+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 Geode member may be forcibly disconnected from a Geode distributed system if the member is unresponsive for a period of time, or if a network partition separates one or more members into a group that is too small to act as the distributed system.
 
 ## How the Autoreconnection Process Works

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/book_intro.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/book_intro.html.md.erb b/geode-docs/managing/book_intro.html.md.erb
index 568203a..d7929f2 100644
--- a/geode-docs/managing/book_intro.html.md.erb
+++ b/geode-docs/managing/book_intro.html.md.erb
@@ -2,6 +2,23 @@
 title:  Managing Apache Geode
 ---
 
+<!--
+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.
+-->
+
 *Managing Apache Geode* describes how to plan and implement tasks associated with managing, monitoring, and troubleshooting Apache Geode.
 
 -   **[Apache Geode Management and Monitoring](../managing/management/management_and_monitoring.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/cache_snapshots/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/cache_snapshots/chapter_overview.html.md.erb b/geode-docs/managing/cache_snapshots/chapter_overview.html.md.erb
index 38b4251..1439348 100644
--- a/geode-docs/managing/cache_snapshots/chapter_overview.html.md.erb
+++ b/geode-docs/managing/cache_snapshots/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Cache and Region Snapshots
 ---
 
+<!--
+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.
+-->
+
 Snapshots allow you to save region data and reload it later. A typical use case is loading data from one environment into another, such as capturing data from a production system and moving it into a smaller QA or development system.
 
 In effect, you can load data from one distributed system into another distributed system. Administrators export a snapshot of a region or an entire cache (multiple regions) and later import the snapshot into another region or distributed system by using the `RegionSnapshotService` or `CacheSnapshotService` interface and the `Region.getSnapshotService` or `Cache.getSnapshotService` method.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/cache_snapshots/exporting_a_snapshot.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/cache_snapshots/exporting_a_snapshot.html.md.erb b/geode-docs/managing/cache_snapshots/exporting_a_snapshot.html.md.erb
index 1cd2065..eaddd41 100644
--- a/geode-docs/managing/cache_snapshots/exporting_a_snapshot.html.md.erb
+++ b/geode-docs/managing/cache_snapshots/exporting_a_snapshot.html.md.erb
@@ -2,6 +2,23 @@
 title:  Exporting Cache and Region Snapshots
 ---
 
+<!--
+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.
+-->
+
 To save Geode cache or region data to a snapshot that you can later load into another distributed system or region, use the `cache.getSnapshotService.save` API, `region.getSnapshotService.save` API, or the `gfsh` command-line interface (`export data`).
 
 If an error occurs during export, the export halts and the snapshot operation is canceled. Typical errors that halt an export include scenarios such as full disk, problems with file permissions, and network partitioning.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/cache_snapshots/filtering_snapshot_entries.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/cache_snapshots/filtering_snapshot_entries.html.md.erb b/geode-docs/managing/cache_snapshots/filtering_snapshot_entries.html.md.erb
index 27b87c7..0acbaf3 100644
--- a/geode-docs/managing/cache_snapshots/filtering_snapshot_entries.html.md.erb
+++ b/geode-docs/managing/cache_snapshots/filtering_snapshot_entries.html.md.erb
@@ -2,6 +2,23 @@
 title:  Filtering Entries During Import or Export
 ---
 
+<!--
+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.
+-->
+
 You can customize your snapshot by filtering entries during the import or export of a region or a cache.
 
 For example, use filters to limit the export of data to a certain date range. If you set up a filter on the import or export of a cache, the filter is applied to every single region in the cache.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/cache_snapshots/importing_a_snapshot.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/cache_snapshots/importing_a_snapshot.html.md.erb b/geode-docs/managing/cache_snapshots/importing_a_snapshot.html.md.erb
index 626e0df..f8296a8 100644
--- a/geode-docs/managing/cache_snapshots/importing_a_snapshot.html.md.erb
+++ b/geode-docs/managing/cache_snapshots/importing_a_snapshot.html.md.erb
@@ -2,6 +2,23 @@
 title:  Importing Cache and Region Snapshots
 ---
 
+<!--
+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.
+-->
+
 To import a Geode cache or region data snapshot that you previously exported into another distributed system or region, use the `cache.getSnapshotService.load` API, `region.getSnapshotService.load` API, or the `gfsh` command-line interface (`import data`).
 
 ## <a id="concept_62B1E24DA7F342E9BB16C0818F7A7B70__section_4B2C73CA1A734D9D96693A52BF99D75A" class="no-quick-link"></a>Import Requirements

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/cache_snapshots/read_snapshots_programmatically.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/cache_snapshots/read_snapshots_programmatically.html.md.erb b/geode-docs/managing/cache_snapshots/read_snapshots_programmatically.html.md.erb
index 6d0d0ca..da455a5 100644
--- a/geode-docs/managing/cache_snapshots/read_snapshots_programmatically.html.md.erb
+++ b/geode-docs/managing/cache_snapshots/read_snapshots_programmatically.html.md.erb
@@ -2,6 +2,23 @@
 title:  Reading Snapshots Programmatically
 ---
 
+<!--
+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.
+-->
+
 You can read a snapshot entry-by-entry for further processing or transformation into other formats.
 
 The following is an example of a snapshot reader that processes entries from a previously generated snapshot file.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/cache_snapshots/using_cache_and_region_snapshots.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/cache_snapshots/using_cache_and_region_snapshots.html.md.erb b/geode-docs/managing/cache_snapshots/using_cache_and_region_snapshots.html.md.erb
index ccf5382..004d7d8 100644
--- a/geode-docs/managing/cache_snapshots/using_cache_and_region_snapshots.html.md.erb
+++ b/geode-docs/managing/cache_snapshots/using_cache_and_region_snapshots.html.md.erb
@@ -2,6 +2,23 @@
 title:  Usage and Performance Notes
 ---
 
+<!--
+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.
+-->
+
 Optimize the cache and region snapshot feature by understanding how it performs.
 
 ## <a id="concept_49775DA33EFF4534950E1A60158F4B36__section_D1AB128682CA41D2BEFB429BED892ABE" class="no-quick-link"></a>Cache Consistency and Concurrent Operations

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/disk_storage/backup_restore_disk_store.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/backup_restore_disk_store.html.md.erb b/geode-docs/managing/disk_storage/backup_restore_disk_store.html.md.erb
index 173cdfe..123ae31 100644
--- a/geode-docs/managing/disk_storage/backup_restore_disk_store.html.md.erb
+++ b/geode-docs/managing/disk_storage/backup_restore_disk_store.html.md.erb
@@ -2,6 +2,23 @@
 title:  Creating Backups for System Recovery and Operational Management
 ---
 
+<!--
+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 backup is a copy of persisted data from a disk store. A backup is used to restore the disk store to the state it was in when the backup was made. The appropriate back up and restore procedures differ based upon whether the distributed system is online or offline. An online system has currently running members. An offline system does not have any running members.
 
 -   [Making a Backup While the System Is Online](backup_restore_disk_store.html#backup_restore_disk_store__section_63AB5917BF24432898A79DBE8E4071FF)

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/disk_storage/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/chapter_overview.html.md.erb b/geode-docs/managing/disk_storage/chapter_overview.html.md.erb
index 70cba24..68e089f 100644
--- a/geode-docs/managing/disk_storage/chapter_overview.html.md.erb
+++ b/geode-docs/managing/disk_storage/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Disk Storage
 ---
 
+<!--
+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.
+-->
+
 With Apache Geode disk stores, you can persist data to disk as a backup to your in-memory copy and overflow data to disk when memory use gets too high.
 
 -   **[How Disk Stores Work](../../managing/disk_storage/how_disk_stores_work.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/disk_storage/compacting_disk_stores.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/compacting_disk_stores.html.md.erb b/geode-docs/managing/disk_storage/compacting_disk_stores.html.md.erb
index 8357948..0a88811 100644
--- a/geode-docs/managing/disk_storage/compacting_disk_stores.html.md.erb
+++ b/geode-docs/managing/disk_storage/compacting_disk_stores.html.md.erb
@@ -2,6 +2,23 @@
 title:  Running Compaction on Disk Store Log Files
 ---
 
+<!--
+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="compacting_disk_stores__section_64BA304595364E38A28098EB09494531"></a>
 When a cache operation is added to a disk store, any preexisting operation record for the same entry becomes obsolete, and Apache Geode marks it as garbage. For example, when you create an entry, the create operation is added to the store. If you update the entry later, the update operation is added and the create operation becomes garbage. Geode does not remove garbage records as it goes, but it tracks the percentage of garbage in each operation log, and provides mechanisms for removing garbage to compact your log files.
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/disk_storage/disk_free_space_monitoring.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/disk_free_space_monitoring.html.md.erb b/geode-docs/managing/disk_storage/disk_free_space_monitoring.html.md.erb
index b8df31b..837ac25 100644
--- a/geode-docs/managing/disk_storage/disk_free_space_monitoring.html.md.erb
+++ b/geode-docs/managing/disk_storage/disk_free_space_monitoring.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configuring Disk Free Space Monitoring
 ---
 
+<!--
+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.
+-->
+
 To modify `disk-usage-warning-percentage` and `disk-usage-critical-percentage` thresholds, specify the parameters when executing the `gfsh create disk-store` command.
 
 ``` pre

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/disk_storage/disk_store_configuration_params.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/disk_store_configuration_params.html.md.erb b/geode-docs/managing/disk_storage/disk_store_configuration_params.html.md.erb
index 53ad195..939028e 100644
--- a/geode-docs/managing/disk_storage/disk_store_configuration_params.html.md.erb
+++ b/geode-docs/managing/disk_storage/disk_store_configuration_params.html.md.erb
@@ -2,6 +2,23 @@
 title:  Disk Store Configuration Parameters
 ---
 
+<!--
+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.
+-->
+
 You define your disk stores by using the `gfsh create disk-store` command or in `<disk-store>` subelements of your cache declaration in `cache.xml`. All disk stores are available for use by all of your regions and queues.
 
 These `<disk-store>` attributes and subelements have corresponding `gfsh create disk-store` command-line parameters as well as getter and setter methods in the `org.apache.geode.cache.DiskStoreFactory` and `org.apache.geode.cache.DiskStore` APIs.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/disk_storage/file_names_and_extensions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/file_names_and_extensions.html.md.erb b/geode-docs/managing/disk_storage/file_names_and_extensions.html.md.erb
index 89e7178..727f23b 100644
--- a/geode-docs/managing/disk_storage/file_names_and_extensions.html.md.erb
+++ b/geode-docs/managing/disk_storage/file_names_and_extensions.html.md.erb
@@ -2,6 +2,23 @@
 title:  Disk Store File Names and Extensions
 ---
 
+<!--
+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.
+-->
+
 Disk store files include store management files, access control files, and the operation log, or oplog, files, consisting of one file for deletions and another for all other operations.
 
 <a id="file_names_and_extensions__section_AE90870A7BDB425B93111D1A6E166874"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/disk_storage/handling_missing_disk_stores.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/handling_missing_disk_stores.html.md.erb b/geode-docs/managing/disk_storage/handling_missing_disk_stores.html.md.erb
index c68441f..959ae51 100644
--- a/geode-docs/managing/disk_storage/handling_missing_disk_stores.html.md.erb
+++ b/geode-docs/managing/disk_storage/handling_missing_disk_stores.html.md.erb
@@ -2,6 +2,23 @@
 title:  Handling Missing Disk Stores
 ---
 
+<!--
+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="handling_missing_disk_stores__section_9345819FC27E41FB94F5E54979B7C506"></a>
 This section applies to disk stores that hold the latest copy of your data for at least one region.
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/disk_storage/how_disk_stores_work.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/how_disk_stores_work.html.md.erb b/geode-docs/managing/disk_storage/how_disk_stores_work.html.md.erb
index 902a310..ee75b98 100644
--- a/geode-docs/managing/disk_storage/how_disk_stores_work.html.md.erb
+++ b/geode-docs/managing/disk_storage/how_disk_stores_work.html.md.erb
@@ -2,6 +2,23 @@
 title:  How Disk Stores Work
 ---
 
+<!--
+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.
+-->
+
 Overflow and persistence use disk stores individually or together to store data.
 
 <a id="how_disk_stores_work__section_1A93EFBE3E514918833592C17CFC4C40"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/disk_storage/keeping_offline_disk_store_in_sync.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/keeping_offline_disk_store_in_sync.html.md.erb b/geode-docs/managing/disk_storage/keeping_offline_disk_store_in_sync.html.md.erb
index 279284c..0da24a8 100644
--- a/geode-docs/managing/disk_storage/keeping_offline_disk_store_in_sync.html.md.erb
+++ b/geode-docs/managing/disk_storage/keeping_offline_disk_store_in_sync.html.md.erb
@@ -2,6 +2,23 @@
 title:  Keeping a Disk Store Synchronized with the Cache
 ---
 
+<!--
+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="syncing_offline_disk_store__section_7D01550D750E48289EFBA9BBDB5A334E"></a>
 You can take several actions to optimize disk store use and data loading at startup.
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/disk_storage/managing_disk_buffer_flushes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/managing_disk_buffer_flushes.html.md.erb b/geode-docs/managing/disk_storage/managing_disk_buffer_flushes.html.md.erb
index 872cb5a..7238843 100644
--- a/geode-docs/managing/disk_storage/managing_disk_buffer_flushes.html.md.erb
+++ b/geode-docs/managing/disk_storage/managing_disk_buffer_flushes.html.md.erb
@@ -2,6 +2,23 @@
 title:  Altering When Buffers Are Flushed to Disk
 ---
 
+<!--
+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.
+-->
+
 You can configure Geode to write immediately to disk and you may be able to modify your operating system behavior to perform buffer flushes more frequently.
 
 Typically, Geode writes disk data into the operating system's disk buffers and the operating system periodically flushes the buffers to disk. Increasing the frequency of writes to disk decreases the likelihood of data loss from application or machine crashes, but it impacts performance. Your other option, which may give you better performance, is to use Geode's in-memory data backups. Do this by storing your data in multiple replicated regions or in partitioned regions that are configured with redundant copies. See [Region Types](../../developing/region_options/region_types.html#region_types).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/disk_storage/managing_disk_stores.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/managing_disk_stores.html.md.erb b/geode-docs/managing/disk_storage/managing_disk_stores.html.md.erb
index cda4981..5262be1 100644
--- a/geode-docs/managing/disk_storage/managing_disk_stores.html.md.erb
+++ b/geode-docs/managing/disk_storage/managing_disk_stores.html.md.erb
@@ -2,6 +2,23 @@
 title:  Disk Store Management
 ---
 
+<!--
+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.
+-->
+
 The `gfsh` command-line tool has a number of options for examining and managing your disk stores. The `gfsh` tool, the `cache.xml` file and the DiskStore APIs are your management tools for online and offline disk stores.
 
 See [Disk Store Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_1ACC91B493EE446E89EC7DBFBBAE00EA) for a list of available commands.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/disk_storage/managing_disk_stores_cmds.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/managing_disk_stores_cmds.html.md.erb b/geode-docs/managing/disk_storage/managing_disk_stores_cmds.html.md.erb
index 3d7ca92..1578e51 100644
--- a/geode-docs/managing/disk_storage/managing_disk_stores_cmds.html.md.erb
+++ b/geode-docs/managing/disk_storage/managing_disk_stores_cmds.html.md.erb
@@ -2,6 +2,23 @@
 title:  Disk Store Management Commands and Operations
 ---
 
+<!--
+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="concept_8E6C4AD311674880941DA0F224A7BF39__section_4AFD4B9EECDA448BA5235FB1C32A48F1"></a>
 You can manage your disk stores using the gfsh command-line tool. For more information on `gfsh` commands, see [gfsh (Geode SHell)](../../tools_modules/gfsh/chapter_overview.html) and [Disk Store Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_1ACC91B493EE446E89EC7DBFBBAE00EA).
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/disk_storage/operation_logs.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/operation_logs.html.md.erb b/geode-docs/managing/disk_storage/operation_logs.html.md.erb
index f9ca4f8..b8d4211 100644
--- a/geode-docs/managing/disk_storage/operation_logs.html.md.erb
+++ b/geode-docs/managing/disk_storage/operation_logs.html.md.erb
@@ -2,6 +2,23 @@
 title:  Disk Store Operation Logs
 ---
 
+<!--
+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.
+-->
+
 At creation, each operation log is initialized at the disk store's `max-oplog-size`, with the size divided between the `crf` and `drf` files. When the oplog is closed, Apache Geode shrinks the files to the space used in each file.
 
 <a id="operation_logs__section_C0B1391492394A908577C29772902A42"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/disk_storage/optimize_availability_and_performance.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/optimize_availability_and_performance.html.md.erb b/geode-docs/managing/disk_storage/optimize_availability_and_performance.html.md.erb
index 5a0b60e..5443d93 100644
--- a/geode-docs/managing/disk_storage/optimize_availability_and_performance.html.md.erb
+++ b/geode-docs/managing/disk_storage/optimize_availability_and_performance.html.md.erb
@@ -2,6 +2,23 @@
 title:  Optimizing a System with Disk Stores
 ---
 
+<!--
+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.
+-->
+
 Optimize availability and performance by following the guidelines in this section.
 
 1.  Apache Geode recommends the use of `ext4` filesystems when operating on Linux or Solaris platforms. The `ext4` filesystem supports preallocation, which benefits disk startup performance. If you are using `ext3` filesystems in latency-sensitive environments with high write throughput, you can improve disk startup performance by setting the `maxOplogSize` (see the `DiskStoreFactory.setMaxOplogSize`) to a value lower than the default 1 GB and by disabling preallocation by specifying the system property `gemfire.preAllocateDisk=false` upon Geode process startup.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/disk_storage/overview_using_disk_stores.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/overview_using_disk_stores.html.md.erb b/geode-docs/managing/disk_storage/overview_using_disk_stores.html.md.erb
index a142ee6..74c1b96 100644
--- a/geode-docs/managing/disk_storage/overview_using_disk_stores.html.md.erb
+++ b/geode-docs/managing/disk_storage/overview_using_disk_stores.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configuring Disk Stores
 ---
 
+<!--
+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.
+-->
+
 In addition to the disk stores you specify, Apache Geode has a default disk store that it uses when disk use is configured with no disk store name specified. You can modify default disk store behavior.
 
 -   **[Designing and Configuring Disk Stores](../../managing/disk_storage/using_disk_stores.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/disk_storage/starting_system_with_disk_stores.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/starting_system_with_disk_stores.html.md.erb b/geode-docs/managing/disk_storage/starting_system_with_disk_stores.html.md.erb
index 25fe244..d4a8cbc 100644
--- a/geode-docs/managing/disk_storage/starting_system_with_disk_stores.html.md.erb
+++ b/geode-docs/managing/disk_storage/starting_system_with_disk_stores.html.md.erb
@@ -2,6 +2,23 @@
 title:  Start Up and Shut Down with Disk Stores
 ---
 
+<!--
+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.
+-->
+
 This section describes what happens during startup and shutdown and provides procedures for those operations.
 
 ## Start Up

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/disk_storage/using_disk_stores.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/using_disk_stores.html.md.erb b/geode-docs/managing/disk_storage/using_disk_stores.html.md.erb
index a7144b9..4835533 100644
--- a/geode-docs/managing/disk_storage/using_disk_stores.html.md.erb
+++ b/geode-docs/managing/disk_storage/using_disk_stores.html.md.erb
@@ -2,6 +2,23 @@
 title:  Designing and Configuring Disk Stores
 ---
 
+<!--
+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.
+-->
+
 You define disk stores in your cache, then you assign them to your regions and queues by setting the `disk-store-name` attribute in your region and queue configurations.
 
 **Note:**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/disk_storage/using_the_default_disk_store.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/using_the_default_disk_store.html.md.erb b/geode-docs/managing/disk_storage/using_the_default_disk_store.html.md.erb
index bd2bfda..2618290 100644
--- a/geode-docs/managing/disk_storage/using_the_default_disk_store.html.md.erb
+++ b/geode-docs/managing/disk_storage/using_the_default_disk_store.html.md.erb
@@ -2,6 +2,23 @@
 title:  Modifying the Default Disk Store
 ---
 
+<!--
+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.
+-->
+
 You can modify the behavior of the default disk store by specifying the attributes you want for the disk store named "DEFAULT".
 
 <a id="using_the_default_disk_store__section_7D6E1A05D28840AC8606EF0D88E9B373"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/disk_storage/validating_disk_store.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/validating_disk_store.html.md.erb b/geode-docs/managing/disk_storage/validating_disk_store.html.md.erb
index 13c9801..c47c515 100644
--- a/geode-docs/managing/disk_storage/validating_disk_store.html.md.erb
+++ b/geode-docs/managing/disk_storage/validating_disk_store.html.md.erb
@@ -2,6 +2,23 @@
 title:  Validating a Disk Store
 ---
 
+<!--
+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="validating_disk_store__section_1782CD93DB6040A2BF52014A6600EA44"></a>
 The `validate offline-disk-store` command verifies the health of your offline disk store and gives you information about the regions in it, the total entries, and the number of records that would be removed if you compacted the store.
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/heap_use/heap_management.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/heap_use/heap_management.html.md.erb b/geode-docs/managing/heap_use/heap_management.html.md.erb
index f3b90b7..7fab249 100644
--- a/geode-docs/managing/heap_use/heap_management.html.md.erb
+++ b/geode-docs/managing/heap_use/heap_management.html.md.erb
@@ -2,6 +2,23 @@
 title: Managing Heap and Off-heap Memory
 ---
 
+<!--
+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.
+-->
+
 By default, Apache Geode uses the JVM heap. Apache Geode also offers an option to store data off heap. This section describes how to manage heap and off-heap memory to best support your application.
 
 ## <a id="section_590DA955523246ED980E4E351FF81F71" class="no-quick-link"></a>Tuning the JVM's Garbage Collection Parameters

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/heap_use/lock_memory.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/heap_use/lock_memory.html.md.erb b/geode-docs/managing/heap_use/lock_memory.html.md.erb
index 3c7e23f..f97e7e3 100644
--- a/geode-docs/managing/heap_use/lock_memory.html.md.erb
+++ b/geode-docs/managing/heap_use/lock_memory.html.md.erb
@@ -2,6 +2,23 @@
 title: Locking Memory (Linux Systems Only)
 ---
 
+<!--
+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="locking-memory"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/heap_use/off_heap_management.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/heap_use/off_heap_management.html.md.erb b/geode-docs/managing/heap_use/off_heap_management.html.md.erb
index 0c8bf7c..05f33e1 100644
--- a/geode-docs/managing/heap_use/off_heap_management.html.md.erb
+++ b/geode-docs/managing/heap_use/off_heap_management.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: Managing Off-Heap Memory
 ---
+
+<!--
+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="managing-off-heap-memory"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/logging/configuring_log4j2.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/logging/configuring_log4j2.html.md.erb b/geode-docs/managing/logging/configuring_log4j2.html.md.erb
index 09239d7..06b5c56 100644
--- a/geode-docs/managing/logging/configuring_log4j2.html.md.erb
+++ b/geode-docs/managing/logging/configuring_log4j2.html.md.erb
@@ -2,6 +2,23 @@
 title:  Advanced Users\u2014Configuring Log4j 2 for Geode
 ---
 
+<!--
+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.
+-->
+
 Basic Geode logging configuration is configured via the gemfire.properties file. This topic is intended for advanced users who need increased control over logging due to integration with third-party libraries.
 
 The default `log4j2.xml` that Geode uses is stored in geode.jar as `log4j2-default.xml`. The contents of the configuration can be viewed in the product distribution in the following location: `$GEMFIRE/defaultConfigs/log4j2.xml`.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/logging/how_logging_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/logging/how_logging_works.html.md.erb b/geode-docs/managing/logging/how_logging_works.html.md.erb
index 0f223a4..22634c6 100644
--- a/geode-docs/managing/logging/how_logging_works.html.md.erb
+++ b/geode-docs/managing/logging/how_logging_works.html.md.erb
@@ -2,6 +2,23 @@
 title:  How Geode Logging Works
 ---
 
+<!--
+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.
+-->
+
 Apache Geode uses Apache Log4j 2 as the basis for its logging system.
 
 Geode uses [Apache Log4j 2](http://logging.apache.org/log4j/2.x/) API and Core libraries as the basis for its logging system. Log4j 2 API is a popular and powerful front-end logging API used by all the Geode classes to generate log statements. Log4j 2 Core is a backend implementation for logging; you can route any of the front-end logging API libraries to log to this backend. Geode uses the Core backend to run two custom Log4j 2 Appenders: **AlertAppender** and **LogWriterAppender**.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/logging/log_collection_utility.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/logging/log_collection_utility.html.md.erb b/geode-docs/managing/logging/log_collection_utility.html.md.erb
index 92d324b..e83634f 100644
--- a/geode-docs/managing/logging/log_collection_utility.html.md.erb
+++ b/geode-docs/managing/logging/log_collection_utility.html.md.erb
@@ -2,6 +2,23 @@
 title:  Log Collection Utility
 ---
 
+<!--
+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.
+-->
+
 To aid in the troubleshooting of Apache Geode issues, you can use the provided log collection utility to gather and upload log files and other troubleshooting artifacts. This tool is only supported on Linux machines.
 
 This utility is used to gather log files and other troubleshooting artifacts from a Geode cluster.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/logging/logging.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/logging/logging.html.md.erb b/geode-docs/managing/logging/logging.html.md.erb
index e8bdb13..db4de7e 100644
--- a/geode-docs/managing/logging/logging.html.md.erb
+++ b/geode-docs/managing/logging/logging.html.md.erb
@@ -2,6 +2,23 @@
 title:  Logging
 ---
 
+<!--
+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.
+-->
+
 Comprehensive logging messages help you confirm system configuration and debug problems in configuration and code.
 
 -   **[How Geode Logging Works](../../managing/logging/how_logging_works.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/logging/logging_categories.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/logging/logging_categories.html.md.erb b/geode-docs/managing/logging/logging_categories.html.md.erb
index f22a23d..6dc94fa 100644
--- a/geode-docs/managing/logging/logging_categories.html.md.erb
+++ b/geode-docs/managing/logging/logging_categories.html.md.erb
@@ -2,6 +2,23 @@
 title:  Understanding Log Messages and Their Categories
 ---
 
+<!--
+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.
+-->
+
 System logging messages typically pertain to startup; logging management; connection and system membership; distribution; or cache, region, and entry management.
 
 -   **Startup information**. Describe the Java version, the Geode native version, the host system, current working directory, and environment settings. These messages contain all information about the system and configuration the process is running with.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/logging/logging_whats_next.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/logging/logging_whats_next.html.md.erb b/geode-docs/managing/logging/logging_whats_next.html.md.erb
index 4ffda14..4af7de0 100644
--- a/geode-docs/managing/logging/logging_whats_next.html.md.erb
+++ b/geode-docs/managing/logging/logging_whats_next.html.md.erb
@@ -2,6 +2,23 @@
 title:  Naming, Searching, and Creating Log Files
 ---
 
+<!--
+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.
+-->
+
 The best way to manage and understand the logs is to have each member log to its own files.
 
 ## <a id="logging_whats_next__section_82C0D09E8A414693A7E6342E30209FC4" class="no-quick-link"></a>Log File Naming Recommendation

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/logging/setting_up_logging.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/logging/setting_up_logging.html.md.erb b/geode-docs/managing/logging/setting_up_logging.html.md.erb
index 2222414..f2ab52e 100644
--- a/geode-docs/managing/logging/setting_up_logging.html.md.erb
+++ b/geode-docs/managing/logging/setting_up_logging.html.md.erb
@@ -2,6 +2,23 @@
 title:  Set Up Logging
 ---
 
+<!--
+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.
+-->
+
 You configure logging in a member's `gemfire.properties` or at startup with `gfsh`.
 
 <a id="setting_up_logging__section_35F8A9028A91441785BCACD6CD40A498"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/management/configuring_rmi_connector.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/configuring_rmi_connector.html.md.erb b/geode-docs/managing/management/configuring_rmi_connector.html.md.erb
index c81a3fa..5b29149 100644
--- a/geode-docs/managing/management/configuring_rmi_connector.html.md.erb
+++ b/geode-docs/managing/management/configuring_rmi_connector.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configuring RMI Registry Ports and RMI Connectors
 ---
 
+<!--
+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.
+-->
+
 Geode programmatically emulates out-of-the-box JMX provided by Java and creates a JMXServiceURL with RMI Registry and RMI Connector ports on all manageable members.
 
 ## <a id="concept_BC793A7ACF9A4BD9A29C2DCC6894767D__section_143531EBBCF94033B8058FCF5F8A5A0D" class="no-quick-link"></a>Configuring JMX Manager Port and Bind Addresses

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/management/gfsh_and_management_api.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/gfsh_and_management_api.html.md.erb b/geode-docs/managing/management/gfsh_and_management_api.html.md.erb
index d7127d8..e7ee5c2 100644
--- a/geode-docs/managing/management/gfsh_and_management_api.html.md.erb
+++ b/geode-docs/managing/management/gfsh_and_management_api.html.md.erb
@@ -2,6 +2,23 @@
 title:  Executing gfsh Commands through the Management API
 ---
 
+<!--
+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.
+-->
+
 You can also use management APIs to execute gfsh commands programmatically.
 
 **Note:**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/management/jmx_manager_node.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/jmx_manager_node.html.md.erb b/geode-docs/managing/management/jmx_manager_node.html.md.erb
index ebc4571..97ca066 100644
--- a/geode-docs/managing/management/jmx_manager_node.html.md.erb
+++ b/geode-docs/managing/management/jmx_manager_node.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: JMX Manager Operations
 ---
+
+<!--
+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="topic_36C918B4202D45F3AC225FFD23B11D7C"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/management/jmx_manager_operations.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/jmx_manager_operations.html.md.erb b/geode-docs/managing/management/jmx_manager_operations.html.md.erb
index 9dc8a4e..5ad3e23 100644
--- a/geode-docs/managing/management/jmx_manager_operations.html.md.erb
+++ b/geode-docs/managing/management/jmx_manager_operations.html.md.erb
@@ -2,6 +2,23 @@
 title: Starting a JMX Manager
 ---
 
+<!--
+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="topic_686158E9AFBD47518BE1B4BEB232C190"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/management/list_of_mbean_notifications.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/list_of_mbean_notifications.html.md.erb b/geode-docs/managing/management/list_of_mbean_notifications.html.md.erb
index d1ffea1..0d9229d 100644
--- a/geode-docs/managing/management/list_of_mbean_notifications.html.md.erb
+++ b/geode-docs/managing/management/list_of_mbean_notifications.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: List of JMX MBean Notifications
 ---
+
+<!--
+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="mbean_notifications_list"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/management/list_of_mbeans.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/list_of_mbeans.html.md.erb b/geode-docs/managing/management/list_of_mbeans.html.md.erb
index c8a8ad5..57a4a24 100644
--- a/geode-docs/managing/management/list_of_mbeans.html.md.erb
+++ b/geode-docs/managing/management/list_of_mbeans.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: List of Geode JMX MBeans
 ---
+
+<!--
+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="topic_4BCF867697C3456D96066BAD7F39FC8B"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/management/list_of_mbeans_full.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/list_of_mbeans_full.html.md.erb b/geode-docs/managing/management/list_of_mbeans_full.html.md.erb
index 74fb2bd..169d4f6 100644
--- a/geode-docs/managing/management/list_of_mbeans_full.html.md.erb
+++ b/geode-docs/managing/management/list_of_mbeans_full.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: JMX Manager MBeans
 ---
+
+<!--
+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="topic_14E3721DD0CF47D7AD8C742DFBE9FB9C"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/management/management_and_monitoring.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/management_and_monitoring.html.md.erb b/geode-docs/managing/management/management_and_monitoring.html.md.erb
index f0b57e6..98b18e5 100644
--- a/geode-docs/managing/management/management_and_monitoring.html.md.erb
+++ b/geode-docs/managing/management/management_and_monitoring.html.md.erb
@@ -2,6 +2,23 @@
 title:  Apache Geode Management and Monitoring
 ---
 
+<!--
+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.
+-->
+
 Apache Geode provides APIs and tools for managing your distributed system and monitoring the health of your distributed system members.
 
 -   **[Management and Monitoring Features](../../managing/management/management_and_monitoring_features.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/management/management_and_monitoring_features.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/management_and_monitoring_features.html.md.erb b/geode-docs/managing/management/management_and_monitoring_features.html.md.erb
index bbd0c29..1eb8c6c 100644
--- a/geode-docs/managing/management/management_and_monitoring_features.html.md.erb
+++ b/geode-docs/managing/management/management_and_monitoring_features.html.md.erb
@@ -2,6 +2,23 @@
 title:  Management and Monitoring Features
 ---
 
+<!--
+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.
+-->
+
 Apache Geode uses a federated Open MBean strategy to manage and monitor all members of the distributed system. This strategy gives you a consolidated, single-agent view of the distributed system.
 
 <a id="concept_F7B9EE348DA744D3BBDFD68E7F48A604__section_37CECE9B26644505A79784EA0CD1FDAE"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/management/management_system_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/management_system_overview.html.md.erb b/geode-docs/managing/management/management_system_overview.html.md.erb
index 33809b0..ecf69f5 100644
--- a/geode-docs/managing/management/management_system_overview.html.md.erb
+++ b/geode-docs/managing/management/management_system_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Architecture and Components
 ---
 
+<!--
+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.
+-->
+
 Geode's management and monitoring system consists of one JMX Manager node (there should only be one) and one or more managed nodes within a distributed system. All members in the distributed system are manageable through MBeans and Geode Management Service APIs.
 
 ## <a id="concept_1BAE2CE1146B4347ABD61F50B9F9781F__section_ABE7007BE3C244FBA0418C4B5BE7E1F2" class="no-quick-link"></a>Architecture

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/management/mbean_architecture.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/mbean_architecture.html.md.erb b/geode-docs/managing/management/mbean_architecture.html.md.erb
index d966cb6..a982701 100644
--- a/geode-docs/managing/management/mbean_architecture.html.md.erb
+++ b/geode-docs/managing/management/mbean_architecture.html.md.erb
@@ -2,6 +2,23 @@
 title:  Federated MBean Architecture
 ---
 
+<!--
+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.
+-->
+
 Geode uses MBeans to manage and monitor different parts of Geode. Geode's federated MBean architecture is scalable and allows you to have a single-agent view of a Geode distributed system.
 
 ## <a id="concept_40A475F186E249C597681069C835CF65__section_19948055E4184110910B11CD979A923A" class="no-quick-link"></a>Federation of Geode MBeans and MBeanServers

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/management/mbean_notifications.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/mbean_notifications.html.md.erb b/geode-docs/managing/management/mbean_notifications.html.md.erb
index 34b40d3..bf1a799 100644
--- a/geode-docs/managing/management/mbean_notifications.html.md.erb
+++ b/geode-docs/managing/management/mbean_notifications.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: Geode JMX MBean Notifications
 ---
+
+<!--
+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="topic_czt_hq2_vk"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/management/mbeans_jconsole.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/mbeans_jconsole.html.md.erb b/geode-docs/managing/management/mbeans_jconsole.html.md.erb
index 3a9f141..88dde64 100644
--- a/geode-docs/managing/management/mbeans_jconsole.html.md.erb
+++ b/geode-docs/managing/management/mbeans_jconsole.html.md.erb
@@ -2,6 +2,23 @@
 title:  Browsing Geode MBeans through JConsole
 ---
 
+<!--
+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.
+-->
+
 You can browse all the Geode MBeans in your distributed system by using JConsole.
 
 To view Geode MBeans through JConsole, perform the following steps:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/management/mm_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/mm_overview.html.md.erb b/geode-docs/managing/management/mm_overview.html.md.erb
index b21c7d1..89a8df5 100644
--- a/geode-docs/managing/management/mm_overview.html.md.erb
+++ b/geode-docs/managing/management/mm_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Overview of Geode Management and Monitoring Tools
 ---
 
+<!--
+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.
+-->
+
 Geode provides a variety of management tools you can use to manage a Geode distributed system.
 
 The Geode management and monitoring tools allow you to configure all members and processes of a distributed system, monitor operations in the system, and start and stop the members. Internally, Geode uses Java MBeans, specifically MXBeans, to expose management controls and monitoring features. You can monitor and control Geode by writing Java programs that use these MXBeans, or you can use one of several tools provided with Geode to monitor and manage your distributed system. The primary tool for these tasks is the gfsh command-line tool, as described in this section.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/managing/management/notification_federation_and_alerts.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/notification_federation_and_alerts.html.md.erb b/geode-docs/managing/management/notification_federation_and_alerts.html.md.erb
index ed56825..b8ad3f6 100644
--- a/geode-docs/managing/management/notification_federation_and_alerts.html.md.erb
+++ b/geode-docs/managing/management/notification_federation_and_alerts.html.md.erb
@@ -2,6 +2,23 @@
 title:  Notification Federation
 ---
 
+<!--
+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.
+-->
+
 All notifications emitted from managed nodes are federated to all JMX Managers in the system.
 
 These notifications are federated and then emitted by the DistributedSystemMXBean. If you attach a `javax.management.NotificationListener` to your DistributedSystemMXBean, the NotificationListener can listen to notifications from all MemberMXBeans and all CacheServerMXBeans.



[24/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/cache_data_loader.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/cache_data_loader.svg b/geode-docs/images_svg/cache_data_loader.svg
new file mode 100644
index 0000000..0493df6
--- /dev/null
+++ b/geode-docs/images_svg/cache_data_loader.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="113 230 427 229" width="427pt" height="229pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 09:40Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(360 441) scale(63.679373)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underl
 ine-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(387 369) scale(133.64318)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(378 315) scale(87.75)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radi
 alGradient><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(333 306) scale(19.091883)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(378 348.75) scale(82.73914)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M 11.7222214 0 L 0 -4.395833 L 0 4.395833 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(252 369) scale(133.64318)"/><radialGradient id="Obj_Gra
 dient_7" xl:href="#Gradient" gradientTransform="translate(243 315) scale(87.75)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(198 306) scale(19.091883)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient" gradientTransform="translate(243 348.75) scale(82.73914)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient" gradientTransform="translate(522 369) scale(133.64318)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient" gradientTransform="translate(513 315) scale(87.75)"/><radialGradient id="Obj_Gradient_c" xl:href="#Gradient_2" gradientTransform="translate(468 306) scale(19.091883)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient" gradientTransform="translate(513 348.75) scale(82.73914)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>data-loaders</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphi
 c" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id13_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id16_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id17_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id18_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 288 405 L 288 432 L 288 432 C 288 436.97056 304.11775 441 324 441 C 343.88225 441 360 436.97056 360 432 L 360 405 L 360 405 C 360 400.02944 343.88225 396 324 396 C 304.11775 396 288 400.02944 288 405 Z" fill="url(#Obj_Gradient)"/><path d="M 288 405 L 288 432 L 288 432 C 288 436.97056 304.11775 441 324 441 C 343.88225 441 360 436.970
 56 360 432 L 360 405 L 360 405 C 360 400.02944 343.88225 396 324 396 C 304.11775 396 288 400.02944 288 405 Z M 288 405 L 288 405 C 288 409.97056 304.11775 414 324 414 C 343.88225 414 360 409.97056 360 405" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(290 418.5)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="13.4262695" y="10" textLength="41.14746">database</tspan></text></g><g id="id4_Graphic"><path d="M 267.66 243 L 380.34 243 C 384.01822 243 387 245.98178 387 249.66 L 387 362.34 C 387 366.01822 384.01822 369 380.34 369 L 267.66 369 C 263.98178 369 261 366.01822 261 362.34 L 261 249.66 C 261 245.98178 263.98178 243 267.66 243 Z" fill="url(#Obj_Gradient_2)"/><path d="M 267.66 243 L 380.34 243 C 384.01822 243 387 245.98178 387 249.66 L 387 362.34 C 387 366.01822 384.01822 369 380.34 369 L 267.66 369 C 263.98178 369 261 366.01822 261 362.34 L 261 249.66 C 261 245.9817
 8 263.98178 243 267.66 243 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(265 247)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="22.99707" y="11" textLength="72.00586">Member (M2)</tspan></text></g><g id="id5_Graphic"><path d="M 276.66 270 L 371.34 270 C 375.01822 270 378 272.98178 378 276.66 L 378 308.34 C 378 312.01822 375.01822 315 371.34 315 L 276.66 315 C 272.98178 315 270 312.01822 270 308.34 L 270 276.66 C 270 272.98178 272.98178 270 276.66 270 Z" fill="url(#Obj_Gradient_3)"/><path d="M 276.66 270 L 371.34 270 C 375.01822 270 378 272.98178 378 276.66 L 378 308.34 C 378 312.01822 375.01822 315 371.34 315 L 276.66 315 C 272.98178 315 270 312.01822 270 308.34 L 270 276.66 C 270 272.98178 272.98178 270 276.66 270 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(272 272)" fill="black"><tspan 
 font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.411621" y="10" textLength="85.05371">Partitioned Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="91.918457" y="10" textLength="6.669922">A</tspan></text></g><g id="id6_Graphic"><rect x="315" y="288" width="18" height="18" fill="url(#Obj_Gradient_4)"/><rect x="315" y="288" width="18" height="18" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(319 291.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><g id="id7_Graphic"><path d="M 281.25 326.25 L 366.75 326.25 C 372.9632 326.25 378 331.2868 378 337.5 L 378 337.5 C 378 343.7132 372.9632 348.75 366.75 348.75 L 281.25 348.75 C 275.0368 348.75 270 343.7132 270 337.5 L 270 337.5 C 270 331.2868 275.0368 326.25 281.25 326.25 Z" fill="url(#Obj_Gradient_
 5)"/><path d="M 281.25 326.25 L 366.75 326.25 C 372.9632 326.25 378 331.2868 378 337.5 L 378 337.5 C 378 343.7132 372.9632 348.75 366.75 348.75 L 281.25 348.75 C 275.0368 348.75 270 343.7132 270 337.5 L 270 337.5 C 270 331.2868 275.0368 326.25 281.25 326.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(272 332)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="24.72998" y="9" textLength="56.54004">Cache Loader</tspan></text></g><path d="M 324 326.25 L 324 318.09 L 324 320.625 L 324 323.16 L 324 315" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.1600001"/><path d="M 324 396 C 324 386.95605 324 370.98784 324 358.69814" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id10_Graphic"><path d="M 132.66 243 L 245.34 243 C 249.01822 243 252 245.98178 252 249
 .66 L 252 362.34 C 252 366.01822 249.01822 369 245.34 369 L 132.66 369 C 128.98178 369 126 366.01822 126 362.34 L 126 249.66 C 126 245.98178 128.98178 243 132.66 243 Z" fill="url(#Obj_Gradient_6)"/><path d="M 132.66 243 L 245.34 243 C 249.01822 243 252 245.98178 252 249.66 L 252 362.34 C 252 366.01822 249.01822 369 245.34 369 L 132.66 369 C 128.98178 369 126 366.01822 126 362.34 L 126 249.66 C 126 245.98178 128.98178 243 132.66 243 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(130 247)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="22.99707" y="11" textLength="72.00586">Member (M1)</tspan></text></g><g id="id11_Graphic"><path d="M 141.66 270 L 236.34 270 C 240.01822 270 243 272.98178 243 276.66 L 243 308.34 C 243 312.01822 240.01822 315 236.34 315 L 141.66 315 C 137.98178 315 135 312.01822 135 308.34 L 135 276.66 C 135 272.98178 137.98178 270 141.66 270 Z" fill="u
 rl(#Obj_Gradient_7)"/><path d="M 141.66 270 L 236.34 270 C 240.01822 270 243 272.98178 243 276.66 L 243 308.34 C 243 312.01822 240.01822 315 236.34 315 L 141.66 315 C 137.98178 315 135 312.01822 135 308.34 L 135 276.66 C 135 272.98178 137.98178 270 141.66 270 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(137 272)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.411621" y="10" textLength="85.05371">Partitioned Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="91.918457" y="10" textLength="6.669922">A</tspan></text></g><g id="id12_Graphic"><path d="M 186.66 288 L 191.34 288 C 195.01822 288 198 290.98178 198 294.66 L 198 299.34 C 198 303.01822 195.01822 306 191.34 306 L 186.66 306 C 182.98178 306 180 303.01822 180 299.34 L 180 294.66 C 180 290.98178 182.98178 288 186.66 288 Z" fill="url(#Obj_Gradient_8)"/><path d="M 186.66
  288 L 191.34 288 C 195.01822 288 198 290.98178 198 294.66 L 198 299.34 C 198 303.01822 195.01822 306 191.34 306 L 186.66 306 C 182.98178 306 180 303.01822 180 299.34 L 180 294.66 C 180 290.98178 182.98178 288 186.66 288 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(184 291.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id13_Graphic"><path d="M 146.25 326.25 L 231.75 326.25 C 237.9632 326.25 243 331.2868 243 337.5 L 243 337.5 C 243 343.7132 237.9632 348.75 231.75 348.75 L 146.25 348.75 C 140.0368 348.75 135 343.7132 135 337.5 L 135 337.5 C 135 331.2868 140.0368 326.25 146.25 326.25 Z" fill="url(#Obj_Gradient_9)"/><path d="M 146.25 326.25 L 231.75 326.25 C 237.9632 326.25 243 331.2868 243 337.5 L 243 337.5 C 243 343.7132 237.9632 348.75 231.75 348.75 L 146.25 348.75 C 140.0368 348.75 135 343.7132 
 135 337.5 L 135 337.5 C 135 331.2868 140.0368 326.25 146.25 326.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(137 332)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="24.72998" y="9" textLength="56.54004">Cache Loader</tspan></text></g><path d="M 189 326.25 L 189 318.09 L 189 320.625 L 189 323.16 L 189 315" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.1600001"/><g id="id15_Graphic"><path d="M 402.66 243 L 515.34 243 C 519.01822 243 522 245.98178 522 249.66 L 522 362.34 C 522 366.01822 519.01822 369 515.34 369 L 402.66 369 C 398.98178 369 396 366.01822 396 362.34 L 396 249.66 C 396 245.98178 398.98178 243 402.66 243 Z" fill="url(#Obj_Gradient_a)"/><path d="M 402.66 243 L 515.34 243 C 519.01822 243 522 245.98178 522 249.66 L 522 362.34 C 522 366.01822 519.01822 369 515.34 369 L 402.66 369 C 398.98178 369 396 366.01822 396 362.34 L
  396 249.66 C 396 245.98178 398.98178 243 402.66 243 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(400 247)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="22.99707" y="11" textLength="72.00586">Member (M3)</tspan></text></g><g id="id16_Graphic"><path d="M 411.66 270 L 506.34 270 C 510.01822 270 513 272.98178 513 276.66 L 513 308.34 C 513 312.01822 510.01822 315 506.34 315 L 411.66 315 C 407.98178 315 405 312.01822 405 308.34 L 405 276.66 C 405 272.98178 407.98178 270 411.66 270 Z" fill="url(#Obj_Gradient_b)"/><path d="M 411.66 270 L 506.34 270 C 510.01822 270 513 272.98178 513 276.66 L 513 308.34 C 513 312.01822 510.01822 315 506.34 315 L 411.66 315 C 407.98178 315 405 312.01822 405 308.34 L 405 276.66 C 405 272.98178 407.98178 270 411.66 270 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(407
  272)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.411621" y="10" textLength="85.05371">Partitioned Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="91.918457" y="10" textLength="6.669922">A</tspan></text></g><g id="id17_Graphic"><path d="M 459 288 L 459 288 C 463.97056 288 468 292.02944 468 297 L 468 297 C 468 301.97056 463.97056 306 459 306 L 459 306 C 454.02944 306 450 301.97056 450 297 L 450 297 C 450 292.02944 454.02944 288 459 288 Z" fill="url(#Obj_Gradient_c)"/><path d="M 459 288 L 459 288 C 463.97056 288 468 292.02944 468 297 L 468 297 C 468 301.97056 463.97056 306 459 306 L 459 306 C 454.02944 306 450 301.97056 450 297 L 450 297 C 450 292.02944 454.02944 288 459 288 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(454 291.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="blac
 k" x="2.2512207" y="9" textLength="5.4975586">Z</tspan></text></g><g id="id18_Graphic"><path d="M 416.25 326.25 L 501.75 326.25 C 507.9632 326.25 513 331.2868 513 337.5 L 513 337.5 C 513 343.7132 507.9632 348.75 501.75 348.75 L 416.25 348.75 C 410.0368 348.75 405 343.7132 405 337.5 L 405 337.5 C 405 331.2868 410.0368 326.25 416.25 326.25 Z" fill="url(#Obj_Gradient_d)"/><path d="M 416.25 326.25 L 501.75 326.25 C 507.9632 326.25 513 331.2868 513 337.5 L 513 337.5 C 513 343.7132 507.9632 348.75 501.75 348.75 L 416.25 348.75 C 410.0368 348.75 405 343.7132 405 337.5 L 405 337.5 C 405 331.2868 410.0368 326.25 416.25 326.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(407 332)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="24.72998" y="9" textLength="56.54004">Cache Loader</tspan></text></g><path d="M 459 326.25 L 459 318.09 L 459 320.625 L 459 323.16 L 459 315" stroke="
 #252525" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.1600001"/><path d="M 324 396 C 324 381 323.53125 381 323.0625 381 C 322.60539 381 322.14828 381 198.67281 351.09306" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 324 396 C 324 381 357.75 381 391.5 381 C 421.38062 381 451.26123 381 457.72 358.61913" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/cache_data_loader_2.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/cache_data_loader_2.svg b/geode-docs/images_svg/cache_data_loader_2.svg
new file mode 100644
index 0000000..7334890
--- /dev/null
+++ b/geode-docs/images_svg/cache_data_loader_2.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="95 275 427 229" width="427pt" height="229pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 09:41Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(207 486) scale(63.679373)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underli
 ne-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(369 414) scale(133.64318)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(360 360) scale(87.75)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radia
 lGradient><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(315 351) scale(19.091883)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(234 414) scale(133.64318)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(225 360) scale(87.75)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(180 351) scale(19.091883)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient" gradientTransform="translate(225 393.75) scale(82.73914)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient" gradientTransform="translate(504 414) scal
 e(133.64318)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient" gradientTransform="translate(495 360) scale(87.75)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient_2" gradientTransform="translate(450 351) scale(19.091883)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M 11.7222214 0 L 0 -4.395833 L 0 4.395833 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>data-loaders-2</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="ur
 l(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id13_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 135 450 L 135 477 L 135 477 C 135 481.97056 151.11775 486 171 486 C 190.88225 486 207 481.97056 207 477 L 207 450 L 207 450 C 207 445.02944 190.88225 441 171 441 C 151.11775 441 135 445.02944 135 450 Z" fill="url(#Obj_Gradient)"/><path d="M 135 450 L 135 477 L 135 477 C 135 481.97056 151.11775 486 171 486 C 190.88225 486 207 481.97056 207 477 L 207 450 L 207 450 C 207 445.02944 190.88225 441 171 441 C 151.11775 441 135 445.02944 135 450 Z M 135 450 L 135 450 C 135 454.97056 151.11775 459 171 459 C 190.88225 459 207 454.97056 207 450" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(137 463.5)" fill="
 black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="13.4262695" y="10" textLength="41.14746">database</tspan></text></g><g id="id4_Graphic"><path d="M 249.66 288 L 362.34 288 C 366.01822 288 369 290.98178 369 294.66 L 369 407.34 C 369 411.01822 366.01822 414 362.34 414 L 249.66 414 C 245.98178 414 243 411.01822 243 407.34 L 243 294.66 C 243 290.98178 245.98178 288 249.66 288 Z" fill="url(#Obj_Gradient_2)"/><path d="M 249.66 288 L 362.34 288 C 366.01822 288 369 290.98178 369 294.66 L 369 407.34 C 369 411.01822 366.01822 414 362.34 414 L 249.66 414 C 245.98178 414 243 411.01822 243 407.34 L 243 294.66 C 243 290.98178 245.98178 288 249.66 288 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(247 292)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="22.99707" y="11" textLength="72.00586">Member (M2)</tspan></text></g><g id="id5_Graphic"><p
 ath d="M 258.66 315 L 353.34 315 C 357.01822 315 360 317.98178 360 321.66 L 360 353.34 C 360 357.01822 357.01822 360 353.34 360 L 258.66 360 C 254.98178 360 252 357.01822 252 353.34 L 252 321.66 C 252 317.98178 254.98178 315 258.66 315 Z" fill="url(#Obj_Gradient_3)"/><path d="M 258.66 315 L 353.34 315 C 357.01822 315 360 317.98178 360 321.66 L 360 353.34 C 360 357.01822 357.01822 360 353.34 360 L 258.66 360 C 254.98178 360 252 357.01822 252 353.34 L 252 321.66 C 252 317.98178 254.98178 315 258.66 315 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(254 317)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.416504" y="10" textLength="85.043945">Distributed Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="91.913574" y="10" textLength="6.669922">A</tspan></text></g><g id="id6_Graphic"><path d="M 303.66 333 L 308.34 333 C 312.
 01822 333 315 335.98178 315 339.66 L 315 344.34 C 315 348.01822 312.01822 351 308.34 351 L 303.66 351 C 299.98178 351 297 348.01822 297 344.34 L 297 339.66 C 297 335.98178 299.98178 333 303.66 333 Z" fill="url(#Obj_Gradient_4)"/><path d="M 303.66 333 L 308.34 333 C 312.01822 333 315 335.98178 315 339.66 L 315 344.34 C 315 348.01822 312.01822 351 308.34 351 L 303.66 351 C 299.98178 351 297 348.01822 297 344.34 L 297 339.66 C 297 335.98178 299.98178 333 303.66 333 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(301 336.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id7_Graphic"><path d="M 114.66 288 L 227.34 288 C 231.01822 288 234 290.98178 234 294.66 L 234 407.34 C 234 411.01822 231.01822 414 227.34 414 L 114.66 414 C 110.981783 414 108 411.01822 108 407.34 L 108 294.66 C 108 290.98178 110.981783 288
  114.66 288 Z" fill="url(#Obj_Gradient_5)"/><path d="M 114.66 288 L 227.34 288 C 231.01822 288 234 290.98178 234 294.66 L 234 407.34 C 234 411.01822 231.01822 414 227.34 414 L 114.66 414 C 110.981783 414 108 411.01822 108 407.34 L 108 294.66 C 108 290.98178 110.981783 288 114.66 288 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(112 292)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="22.99707" y="11" textLength="72.00586">Member (M1)</tspan></text></g><g id="id8_Graphic"><path d="M 123.66 315 L 218.34 315 C 222.01822 315 225 317.98178 225 321.66 L 225 353.34 C 225 357.01822 222.01822 360 218.34 360 L 123.66 360 C 119.98178 360 117 357.01822 117 353.34 L 117 321.66 C 117 317.98178 119.98178 315 123.66 315 Z" fill="url(#Obj_Gradient_6)"/><path d="M 123.66 315 L 218.34 315 C 222.01822 315 225 317.98178 225 321.66 L 225 353.34 C 225 357.01822 222.01822 360 218.34 360 L
  123.66 360 C 119.98178 360 117 357.01822 117 353.34 L 117 321.66 C 117 317.98178 119.98178 315 123.66 315 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(119 317)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.416504" y="10" textLength="85.043945">Distributed Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="91.913574" y="10" textLength="6.669922">A</tspan></text></g><g id="id9_Graphic"><path d="M 168.66 333 L 173.34 333 C 177.01822 333 180 335.98178 180 339.66 L 180 344.34 C 180 348.01822 177.01822 351 173.34 351 L 168.66 351 C 164.98178 351 162 348.01822 162 344.34 L 162 339.66 C 162 335.98178 164.98178 333 168.66 333 Z" fill="url(#Obj_Gradient_7)"/><path d="M 168.66 333 L 173.34 333 C 177.01822 333 180 335.98178 180 339.66 L 180 344.34 C 180 348.01822 177.01822 351 173.34 351 L 168.66 351 C 164.98178 351 162 348.018
 22 162 344.34 L 162 339.66 C 162 335.98178 164.98178 333 168.66 333 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(166 336.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id10_Graphic"><path d="M 123.66 371.25 L 218.34 371.25 C 222.01822 371.25 225 374.23178 225 377.91 L 225 387.09 C 225 390.76822 222.01822 393.75 218.34 393.75 L 123.66 393.75 C 119.98178 393.75 117 390.76822 117 387.09 L 117 377.91 C 117 374.23178 119.98178 371.25 123.66 371.25 Z" fill="url(#Obj_Gradient_8)"/><path d="M 123.66 371.25 L 218.34 371.25 C 222.01822 371.25 225 374.23178 225 377.91 L 225 387.09 C 225 390.76822 222.01822 393.75 218.34 393.75 L 123.66 393.75 C 119.98178 393.75 117 390.76822 117 387.09 L 117 377.91 C 117 374.23178 119.98178 371.25 123.66 371.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="ro
 und" stroke-width=".72000003"/><text transform="translate(119 377)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="24.72998" y="9" textLength="56.54004">Cache Loader</tspan></text></g><path d="M 171 371.25 L 171 363.09 L 171 365.625 L 171 368.16 L 171 360" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.1600001"/><g id="id12_Graphic"><path d="M 384.66 288 L 497.34 288 C 501.01822 288 504 290.98178 504 294.66 L 504 407.34 C 504 411.01822 501.01822 414 497.34 414 L 384.66 414 C 380.98178 414 378 411.01822 378 407.34 L 378 294.66 C 378 290.98178 380.98178 288 384.66 288 Z" fill="url(#Obj_Gradient_9)"/><path d="M 384.66 288 L 497.34 288 C 501.01822 288 504 290.98178 504 294.66 L 504 407.34 C 504 411.01822 501.01822 414 497.34 414 L 384.66 414 C 380.98178 414 378 411.01822 378 407.34 L 378 294.66 C 378 290.98178 380.98178 288 384.66 288 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-wi
 dth=".72000003"/><text transform="translate(382 292)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="22.99707" y="11" textLength="72.00586">Member (M3)</tspan></text></g><g id="id13_Graphic"><path d="M 393.66 315 L 488.34 315 C 492.01822 315 495 317.98178 495 321.66 L 495 353.34 C 495 357.01822 492.01822 360 488.34 360 L 393.66 360 C 389.98178 360 387 357.01822 387 353.34 L 387 321.66 C 387 317.98178 389.98178 315 393.66 315 Z" fill="url(#Obj_Gradient_a)"/><path d="M 393.66 315 L 488.34 315 C 492.01822 315 495 317.98178 495 321.66 L 495 353.34 C 495 357.01822 492.01822 360 488.34 360 L 393.66 360 C 389.98178 360 387 357.01822 387 353.34 L 387 321.66 C 387 317.98178 389.98178 315 393.66 315 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(389 317)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.416504" y="10" textLength="
 85.043945">Distributed Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="91.913574" y="10" textLength="6.669922">A</tspan></text></g><g id="id14_Graphic"><path d="M 438.66 333 L 443.34 333 C 447.01822 333 450 335.98178 450 339.66 L 450 344.34 C 450 348.01822 447.01822 351 443.34 351 L 438.66 351 C 434.98178 351 432 348.01822 432 344.34 L 432 339.66 C 432 335.98178 434.98178 333 438.66 333 Z" fill="url(#Obj_Gradient_b)"/><path d="M 438.66 333 L 443.34 333 C 447.01822 333 450 335.98178 450 339.66 L 450 344.34 C 450 348.01822 447.01822 351 443.34 351 L 438.66 351 C 434.98178 351 432 348.01822 432 344.34 L 432 339.66 C 432 335.98178 434.98178 333 438.66 333 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(436 336.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><path d=
 "M 171 441 C 171 431.95605 171 415.98784 171 403.69814" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="306" y1="360" x2="225" y2="382.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.1600001"/><line x1="441" y1="360" x2="225" y2="382.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.1600001"/></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/client_server_deployment.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/client_server_deployment.svg b/geode-docs/images_svg/client_server_deployment.svg
new file mode 100644
index 0000000..dbaff91
--- /dev/null
+++ b/geode-docs/images_svg/client_server_deployment.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="99 332 374 297" width="374pt" height="297pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 10:01Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".3" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(234 584.26172) scale(78.153857)"/><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="tra
 nslate(238.5 581.27344) scale(78.153857)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_2" gradientTransform="translate(225 413.26172) scale(78.153857)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(229.5 417.76172) scale(78.153857)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient_2" gradientTransform="translate(234 421.52344) scale(78.153857)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_6" xl:href="#Grad
 ient" gradientTransform="translate(250.875 415.89844) scale(95.47806)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient" gradientTransform="translate(243 578.25) scale(78.153857)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient" gradientTransform="translate(225 558.5625) scale(43.35671)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_9" xl:href="#Gradient" gradientTransform="translate(235.125 531.17578) scale(56.0951)"/><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><fo
 nt-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_2" gradientTransform="translate(450 480.02344) scale(109.683355)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M 8.9444437 0 L 0 -3.3541664 L 0 3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-10 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M -8.9444437 0 L 0 3.3541664 L 0 -3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_b" xl:href="#Gradient" gradientTransform="translate(216 414) scale(43.35671)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"
 ><title>cs</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id13_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id23_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 150.66 531.73828 L 227.34 531.73828 C 231.01822 531.73828 234 534.72006 234 538.39828 L 234 577.60172 C 234 581.27994 231.01822 584.26172 227.34 584.26172 L 150.66 584.26172 C 146.98178 584.26172 144 581.27994 144 577.60172 L 144 538.39828 C 144 534.72006 146.98178 531.73828 150.66 531.73828 Z" fill="url(#Obj_Gradien
 t)"/><path d="M 150.66 531.73828 L 227.34 531.73828 C 231.01822 531.73828 234 534.72006 234 538.39828 L 234 577.60172 C 234 581.27994 231.01822 584.26172 227.34 584.26172 L 150.66 584.26172 C 146.98178 584.26172 144 581.27994 144 577.60172 L 144 538.39828 C 144 534.72006 146.98178 531.73828 150.66 531.73828 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id4_Graphic"><path d="M 155.16 528.75 L 231.84 528.75 C 235.51822 528.75 238.5 531.73178 238.5 535.41 L 238.5 574.61344 C 238.5 578.29166 235.51822 581.27344 231.84 581.27344 L 155.16 581.27344 C 151.48178 581.27344 148.5 578.29166 148.5 574.61344 L 148.5 535.41 C 148.5 531.73178 151.48178 528.75 155.16 528.75 Z" fill="url(#Obj_Gradient_2)"/><path d="M 155.16 528.75 L 231.84 528.75 C 235.51822 528.75 238.5 531.73178 238.5 535.41 L 238.5 574.61344 C 238.5 578.29166 235.51822 581.27344 231.84 581.27344 L 155.16 581.27344 C 151.48178 581.27344 148.5 578.29166 148.5 574.61344 L 148
 .5 535.41 C 148.5 531.73178 151.48178 528.75 155.16 528.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id5_Graphic"><path d="M 141.66 360.73828 L 218.34 360.73828 C 222.01822 360.73828 225 363.72006 225 367.39828 L 225 406.60172 C 225 410.27994 222.01822 413.26172 218.34 413.26172 L 141.66 413.26172 C 137.98178 413.26172 135 410.27994 135 406.60172 L 135 367.39828 C 135 363.72006 137.98178 360.73828 141.66 360.73828 Z" fill="url(#Obj_Gradient_3)"/><path d="M 141.66 360.73828 L 218.34 360.73828 C 222.01822 360.73828 225 363.72006 225 367.39828 L 225 406.60172 C 225 410.27994 222.01822 413.26172 218.34 413.26172 L 141.66 413.26172 C 137.98178 413.26172 135 410.27994 135 406.60172 L 135 367.39828 C 135 363.72006 137.98178 360.73828 141.66 360.73828 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id6_Graphic"><path d="M 146.16 365.23828 L 222.84 365.23828 C 226.51822 365.2
 3828 229.5 368.22006 229.5 371.89828 L 229.5 411.10172 C 229.5 414.77994 226.51822 417.76172 222.84 417.76172 L 146.16 417.76172 C 142.48178 417.76172 139.5 414.77994 139.5 411.10172 L 139.5 371.89828 C 139.5 368.22006 142.48178 365.23828 146.16 365.23828 Z" fill="url(#Obj_Gradient_4)"/><path d="M 146.16 365.23828 L 222.84 365.23828 C 226.51822 365.23828 229.5 368.22006 229.5 371.89828 L 229.5 411.10172 C 229.5 414.77994 226.51822 417.76172 222.84 417.76172 L 146.16 417.76172 C 142.48178 417.76172 139.5 414.77994 139.5 411.10172 L 139.5 371.89828 C 139.5 368.22006 142.48178 365.23828 146.16 365.23828 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id7_Graphic"><path d="M 150.66 369 L 227.34 369 C 231.01822 369 234 371.98178 234 375.66 L 234 414.86344 C 234 418.54166 231.01822 421.52344 227.34 421.52344 L 150.66 421.52344 C 146.98178 421.52344 144 418.54166 144 414.86344 L 144 375.66 C 144 371.98178 146.98178 369 150.66 369 Z" f
 ill="url(#Obj_Gradient_5)"/><path d="M 150.66 369 L 227.34 369 C 231.01822 369 234 371.98178 234 375.66 L 234 414.86344 C 234 418.54166 231.01822 421.52344 227.34 421.52344 L 150.66 421.52344 C 146.98178 421.52344 144 418.54166 144 414.86344 L 144 375.66 C 144 371.98178 146.98178 369 150.66 369 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(148 373)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="26.273438" y="10" textLength="29.453125">Server</tspan></text></g><g id="id8_Graphic"><path d="M 132.66 391.14844 L 244.215 391.14844 C 247.89322 391.14844 250.875 394.13022 250.875 397.80844 L 250.875 409.23844 C 250.875 412.91666 247.89322 415.89844 244.215 415.89844 L 132.66 415.89844 C 128.98178 415.89844 126 412.91666 126 409.23844 L 126 397.80844 C 126 394.13022 128.98178 391.14844 132.66 391.14844 Z" fill="url(#Obj_Gradient_6)"/><path d="M 132.66 391.14844 L 244.215 
 391.14844 C 247.89322 391.14844 250.875 394.13022 250.875 397.80844 L 250.875 409.23844 C 250.875 412.91666 247.89322 415.89844 244.215 415.89844 L 132.66 415.89844 C 128.98178 415.89844 126 412.91666 126 409.23844 L 126 397.80844 C 126 394.13022 128.98178 391.14844 132.66 391.14844 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id9_Graphic"><path d="M 159.66 525.72656 L 236.34 525.72656 C 240.01822 525.72656 243 528.70834 243 532.38656 L 243 571.59 C 243 575.2682 240.01822 578.25 236.34 578.25 L 159.66 578.25 C 155.98178 578.25 153 575.2682 153 571.59 L 153 532.38656 C 153 528.70834 155.98178 525.72656 159.66 525.72656 Z" fill="url(#Obj_Gradient_7)"/><path d="M 159.66 525.72656 L 236.34 525.72656 C 240.01822 525.72656 243 528.70834 243 532.38656 L 243 571.59 C 243 575.2682 240.01822 578.25 236.34 578.25 L 159.66 578.25 C 155.98178 578.25 153 575.2682 153 571.59 L 153 532.38656 C 153 528.70834 155.98178 525.72656 159.66 525.72
 656 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(157 562.75)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="28.216797" y="10" textLength="25.566406">Client</tspan></text></g><g id="id10_Graphic"><path d="M 177.66 537.92578 L 218.34 537.92578 C 222.01822 537.92578 225 540.90756 225 544.58578 L 225 551.9025 C 225 555.5807 222.01822 558.5625 218.34 558.5625 L 177.66 558.5625 C 173.98178 558.5625 171 555.5807 171 551.9025 L 171 544.58578 C 171 540.90756 173.98178 537.92578 177.66 537.92578 Z" fill="url(#Obj_Gradient_8)"/><path d="M 177.66 537.92578 L 218.34 537.92578 C 222.01822 537.92578 225 540.90756 225 544.58578 L 225 551.9025 C 225 555.5807 222.01822 558.5625 218.34 558.5625 L 177.66 558.5625 C 173.98178 558.5625 171 555.5807 171 551.9025 L 171 544.58578 C 171 540.90756 173.98178 537.92578 177.66 537.92578 Z" stroke="#252525" stroke-linecap="round" stroke-linejo
 in="round" stroke-width=".72000003"/><text transform="translate(175 537.24414)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="12.2421875" y="9" textLength="24.016113">Local </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.9921875" y="20" textLength="26.015625">Cache</tspan></text></g><g id="id11_Graphic"><path d="M 165.375 522.17578 L 230.625 522.17578 C 233.11028 522.17578 235.125 524.1905 235.125 526.67578 L 235.125 526.67578 C 235.125 529.16106 233.11028 531.17578 230.625 531.17578 L 165.375 531.17578 C 162.88972 531.17578 160.875 529.16106 160.875 526.67578 L 160.875 526.67578 C 160.875 524.1905 162.88972 522.17578 165.375 522.17578 Z" fill="url(#Obj_Gradient_9)"/><path d="M 165.375 522.17578 L 230.625 522.17578 C 233.11028 522.17578 235.125 524.1905 235.125 526.67578 L 235.125 526.67578 C 235.125 529.16106 233.11028 531.17578 230.625 531.17578 L 165.375 531.17578 C 162.88972 531.17578 160.875 
 529.16106 160.875 526.67578 L 160.875 526.67578 C 160.875 524.1905 162.88972 522.17578 165.375 522.17578 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(164.875 521.17578)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.6008301" y="9" textLength="63.04834">connection pool</tspan></text></g><text transform="translate(145.75 341.375)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="11.1069336" y="14" textLength="77.786133">Server Farm</tspan></text><g id="id13_Graphic"><path d="M 312.66 454.5 L 443.34 454.5 C 447.01822 454.5 450 457.48178 450 461.16 L 450 473.36344 C 450 477.04166 447.01822 480.02344 443.34 480.02344 L 312.66 480.02344 C 308.98178 480.02344 306 477.04166 306 473.36344 L 306 461.16 C 306 457.48178 308.98178 454.5 312.66 454.5 Z" fill="url(#Obj_Gradient_a)"/><path d="M 312.66 454.5 L 443.34 454.5 C 447.01822 
 454.5 450 457.48178 450 461.16 L 450 473.36344 C 450 477.04166 447.01822 480.02344 443.34 480.02344 L 312.66 480.02344 C 308.98178 480.02344 306 477.04166 306 473.36344 L 306 461.16 C 306 457.48178 308.98178 454.5 312.66 454.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(310 461.26172)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="51.322754" y="10" textLength="33.354492">Locator</tspan></text></g><line x1="238.5" y1="427.5" x2="289.58177" y2="447.14683" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><text transform="translate(274 427.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="0" y="9" textLength="177.60938">send address and load information to locator</tspan></text><text transform="translate(144.625 585.648
 44)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="23.015625" y="14" textLength="44.358398">Cache </tspan><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="21.853516" y="31" textLength="42.79297">Clients</tspan></text><line x1="245.49798" y1="513.73185" x2="290.00202" y2="489.76815" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><text transform="translate(278.5 501)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="0" y="9" textLength="154.56006">request server information from locator</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="154.06787" y="9" textLength="2.5004883">,</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="0" y="20" textLength="163.
 58643">locator responds with least loaded server</tspan></text><line x1="198" y1="505.052" x2="198" y2="439.948" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(204.25 450.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="0" y="9" textLength="24.51709">send, </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="0" y="20" textLength="31.513184">receive </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="0" y="31" textLength="44.033203">cache data</tspan></text><line x1="180" y1="432" x2="180" y2="505.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(112 456)" fill="black"><tspan font-family="Helvetica" font-size="9" f
 ont-weight="500" fill="black" x="7.4819336" y="9" textLength="59.018555">receive server </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="37.483398" y="20" textLength="26.516602">events</tspan></text><g id="id23_Graphic"><path d="M 168.66 393.36328 L 209.34 393.36328 C 213.01822 393.36328 216 396.34506 216 400.02328 L 216 407.34 C 216 411.01822 213.01822 414 209.34 414 L 168.66 414 C 164.98178 414 162 411.01822 162 407.34 L 162 400.02328 C 162 396.34506 164.98178 393.36328 168.66 393.36328 Z" fill="url(#Obj_Gradient_b)"/><path d="M 168.66 393.36328 L 209.34 393.36328 C 213.01822 393.36328 216 396.34506 216 400.02328 L 216 407.34 C 216 411.01822 213.01822 414 209.34 414 L 168.66 414 C 164.98178 414 162 411.01822 162 407.34 L 162 400.02328 C 162 396.34506 164.98178 393.36328 168.66 393.36328 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(166 392.68164)" fill="black"><tspan fon
 t-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.9921875" y="9" textLength="28.516113">Cache </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="13.494629" y="20" textLength="19.010742">Data</tspan></text></g></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/client_server_event_dist.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/client_server_event_dist.svg b/geode-docs/images_svg/client_server_event_dist.svg
new file mode 100644
index 0000000..e19e46a
--- /dev/null
+++ b/geode-docs/images_svg/client_server_event_dist.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="66 203 487 337" width="487pt" height="337pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-06 22:51Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(535.5 301.5) scale(110.19259)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" und
 erline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(288 522) scale(124.46385)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_2" gradientTransform="translate(279 49
 9.5) scale(93.773997)"/><font-face font-family="Helvetica" font-size="8" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(387 351) scale(174.19709)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient_2" gradientTransform="translate(346.5 288) scale(87.75)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(301.5 279) scale(19.091883)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-sr
 c></font-face><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(423 522) scale(124.46385)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M 11.7222214 0 L 0 -4.395833 L 0 4.395833 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_8" xl:href="#Gradient" gradientTransform="translate(456.75 272.25) scale(19.091883)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient_2" gradientTransform="translate(414 499.5) scale(93.773997)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_2" gradientTransform="translate(283.5 425.25) scale(94.635506)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient_2" gradientTransform="translate(418.5 425.25) scale(94.635506)"/><radialGradient id="Obj_Gradient_c" xl:href="#Gradient" gradientTransform="translate(270 490.5) sc
 ale(19.091883)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient" gradientTransform="translate(409.5 490.5) scale(19.091883)"/><font-face font-family="Helvetica" font-size="11" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="532.22656" cap-height="719.72656" ascent="770.01953" descent="-229.98047" font-weight="bold"><font-face-src><font-face-name name="Helvetica-Bold"/></font-face-src></font-face></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>cs-event-distribution-2</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shad
 ow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id16_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id18_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id19_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 411.66 234 L 528.84 234 C 532.51822 234 535.5 236.98178 535.5 240.66 L 535.5 294.84 C 535.5 298.51822 532.51822 301.5 528.84 301.5 L 411.66 301.5 C 407.98178 301.5 405 298.51822 405 294.84 L 405 240.66 C 405 236.98178 407.98178 234 411.66 234 Z" fill="url(#Obj_Gradient)"/><path d="M 411.66 234 L 528.84 234 C 532.51822 234 535.5 236.98178 535.5 240.66 L 535.5 294.84 C 535.5 298.51822 532.51822 301.5 528.84 301.5 L 411.66 301.5 C 407.98178 301.5 405 298.51822 405 294.84 L 405 240.66 C 405 236.98178 407.98178 234 411.66 234 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text 
 transform="translate(409 286)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="19.291992" y="10" textLength="83.916016">Distributed System</tspan></text></g><g id="id4_Graphic"><path d="M 168.66 414 L 281.34 414 C 285.01822 414 288 416.98178 288 420.66 L 288 515.34 C 288 519.01822 285.01822 522 281.34 522 L 168.66 522 C 164.98178 522 162 519.01822 162 515.34 L 162 420.66 C 162 416.98178 164.98178 414 168.66 414 Z" fill="url(#Obj_Gradient_2)"/><path d="M 168.66 414 L 281.34 414 C 285.01822 414 288 416.98178 288 420.66 L 288 515.34 C 288 519.01822 285.01822 522 281.34 522 L 168.66 522 C 164.98178 522 162 519.01822 162 515.34 L 162 420.66 C 162 416.98178 164.98178 414 168.66 414 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(166 504.5)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="38.65625" y="11" textLength="40.6875">Clie
 nt 1</tspan></text></g><g id="id5_Graphic"><path d="M 177.66 436.5 L 272.34 436.5 C 276.01822 436.5 279 439.48178 279 443.16 L 279 492.84 C 279 496.51822 276.01822 499.5 272.34 499.5 L 177.66 499.5 C 173.98178 499.5 171 496.51822 171 492.84 L 171 443.16 C 171 439.48178 173.98178 436.5 177.66 436.5 Z" fill="url(#Obj_Gradient_3)"/><path d="M 177.66 436.5 L 272.34 436.5 C 276.01822 436.5 279 439.48178 279 443.16 L 279 492.84 C 279 496.51822 276.01822 499.5 272.34 499.5 L 177.66 499.5 C 173.98178 499.5 171 496.51822 171 492.84 L 171 443.16 C 171 439.48178 173.98178 436.5 177.66 436.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(173 438.5)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="2" y="10" textLength="34.467773">Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="35.920898" y="10" textLength="6.669922">A</tspan><tspan f
 ont-family="Helvetica" font-size="8" font-weight="500" fill="black" x="2" y="20" textLength="86.49219">pool-name = ServerPool</tspan></text></g><g id="id6_Graphic"><path d="M 204.66 216 L 380.34 216 C 384.01822 216 387 218.98178 387 222.66 L 387 344.34 C 387 348.01822 384.01822 351 380.34 351 L 204.66 351 C 200.98178 351 198 348.01822 198 344.34 L 198 222.66 C 198 218.98178 200.98178 216 204.66 216 Z" fill="url(#Obj_Gradient_4)"/><path d="M 204.66 216 L 380.34 216 C 384.01822 216 387 218.98178 387 222.66 L 387 344.34 C 387 348.01822 384.01822 351 380.34 351 L 204.66 351 C 200.98178 351 198 348.01822 198 344.34 L 198 222.66 C 198 218.98178 200.98178 216 204.66 216 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(202 220)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="72.828125" y="11" textLength="35.34375">Server</tspan></text></g><g id="id7_Graphic"><path d="M 245.16
  243 L 339.84 243 C 343.51822 243 346.5 245.98178 346.5 249.66 L 346.5 281.34 C 346.5 285.01822 343.51822 288 339.84 288 L 245.16 288 C 241.48178 288 238.5 285.01822 238.5 281.34 L 238.5 249.66 C 238.5 245.98178 241.48178 243 245.16 243 Z" fill="url(#Obj_Gradient_5)"/><path d="M 245.16 243 L 339.84 243 C 343.51822 243 346.5 245.98178 346.5 249.66 L 346.5 281.34 C 346.5 285.01822 343.51822 288 339.84 288 L 245.16 288 C 241.48178 288 238.5 285.01822 238.5 281.34 L 238.5 249.66 C 238.5 245.98178 241.48178 243 245.16 243 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(240.5 245)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="32.70459" y="10" textLength="34.467773">Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="66.62549" y="10" textLength="6.669922">A</tspan></text></g><g id="id8_Graphic"><path d="M 290.16 261 L 294.84 261 
 C 298.51822 261 301.5 263.98178 301.5 267.66 L 301.5 272.34 C 301.5 276.01822 298.51822 279 294.84 279 L 290.16 279 C 286.48178 279 283.5 276.01822 283.5 272.34 L 283.5 267.66 C 283.5 263.98178 286.48178 261 290.16 261 Z" fill="url(#Obj_Gradient_6)"/><path d="M 290.16 261 L 294.84 261 C 298.51822 261 301.5 263.98178 301.5 267.66 L 301.5 272.34 C 301.5 276.01822 298.51822 279 294.84 279 L 290.16 279 C 286.48178 279 283.5 276.01822 283.5 272.34 L 283.5 267.66 C 283.5 263.98178 286.48178 261 290.16 261 Z" stroke="#b00003" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(287.5 264.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id9_Graphic"><path d="M 303.66 414 L 416.34 414 C 420.01822 414 423 416.98178 423 420.66 L 423 515.34 C 423 519.01822 420.01822 522 416.34 522 L 303.66 522 C 299.98178 522 297 519.01822 297 515.34 L
  297 420.66 C 297 416.98178 299.98178 414 303.66 414 Z" fill="url(#Obj_Gradient_7)"/><path d="M 303.66 414 L 416.34 414 C 420.01822 414 423 416.98178 423 420.66 L 423 515.34 C 423 519.01822 420.01822 522 416.34 522 L 303.66 522 C 299.98178 522 297 519.01822 297 515.34 L 297 420.66 C 297 416.98178 299.98178 414 303.66 414 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(301 504.5)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="38.65625" y="11" textLength="40.6875">Client 2</tspan></text></g><path d="M 310.5 270 C 337.42271 270 388.54431 270 420.36352 270" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id11_Graphic"><path d="M 445.41 254.25 L 450.09 254.25 C 453.76822 254.25 456.75 257.23178 456.75 260.91 L 456.75 265.59 C 456.75 269.26822 453.76822 272.25 450.09 272.25 L 445.41 272
 .25 C 441.73178 272.25 438.75 269.26822 438.75 265.59 L 438.75 260.91 C 438.75 257.23178 441.73178 254.25 445.41 254.25 Z" fill="url(#Obj_Gradient_8)"/><path d="M 445.41 254.25 L 450.09 254.25 C 453.76822 254.25 456.75 257.23178 456.75 260.91 L 456.75 265.59 C 456.75 269.26822 453.76822 272.25 450.09 272.25 L 445.41 272.25 C 441.73178 272.25 438.75 269.26822 438.75 265.59 L 438.75 260.91 C 438.75 257.23178 441.73178 254.25 445.41 254.25 Z" stroke="#b00003" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(442.75 257.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id12_Graphic"><path d="M 312.66 436.5 L 407.34 436.5 C 411.01822 436.5 414 439.48178 414 443.16 L 414 492.84 C 414 496.51822 411.01822 499.5 407.34 499.5 L 312.66 499.5 C 308.98178 499.5 306 496.51822 306 492.84 L 306 443.16 C 306 439.48178 308.98178 436.5 312
 .66 436.5 Z" fill="url(#Obj_Gradient_9)"/><path d="M 312.66 436.5 L 407.34 436.5 C 411.01822 436.5 414 439.48178 414 443.16 L 414 492.84 C 414 496.51822 411.01822 499.5 407.34 499.5 L 312.66 499.5 C 308.98178 499.5 306 496.51822 306 492.84 L 306 443.16 C 306 439.48178 308.98178 436.5 312.66 436.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(308 438.5)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="2" y="10" textLength="34.467773">Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="35.920898" y="10" textLength="6.669922">A</tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="2" y="20" textLength="86.49219">pool-name = ServerPool</tspan></text></g><line x1="262.125" y1="466.875" x2="286.52117" y2="304.58747" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" strok
 e-linejoin="round" stroke-width=".72000003"/><line x1="346.5" y1="338.625" x2="394.49924" y2="456.53618" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id15_Graphic"><path d="M 173.16 378 L 276.84 378 C 280.51822 378 283.5 380.98178 283.5 384.66 L 283.5 418.59 C 283.5 422.26822 280.51822 425.25 276.84 425.25 L 173.16 425.25 C 169.48178 425.25 166.5 422.26822 166.5 418.59 L 166.5 384.66 C 166.5 380.98178 169.48178 378 173.16 378 Z" fill="url(#Obj_Gradient_a)"/><path d="M 173.16 378 L 276.84 378 C 280.51822 378 283.5 380.98178 283.5 384.66 L 283.5 418.59 C 283.5 422.26822 280.51822 425.25 276.84 425.25 L 173.16 425.25 C 169.48178 425.25 166.5 422.26822 166.5 418.59 L 166.5 384.66 C 166.5 380.98178 169.48178 378 173.16 378 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(168.5 385.625)" fill="black"><tspan font-family="Helvetica"
  font-size="10" font-weight="500" fill="black" x="18.59375" y="10" textLength="77.8125">pool \u201cServerPool\u201d</tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="30.601562" y="20" textLength="56.01953">(with or without </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="17.476562" y="30" textLength="80.046875">subscriptions enabled)</tspan></text></g><g id="id16_Graphic"><path d="M 308.16 378 L 411.84 378 C 415.51822 378 418.5 380.98178 418.5 384.66 L 418.5 418.59 C 418.5 422.26822 415.51822 425.25 411.84 425.25 L 308.16 425.25 C 304.48178 425.25 301.5 422.26822 301.5 418.59 L 301.5 384.66 C 301.5 380.98178 304.48178 378 308.16 378 Z" fill="url(#Obj_Gradient_b)"/><path d="M 308.16 378 L 411.84 378 C 415.51822 378 418.5 380.98178 418.5 384.66 L 418.5 418.59 C 418.5 422.26822 415.51822 425.25 411.84 425.25 L 308.16 425.25 C 304.48178 425.25 301.5 422.26822 301.5 418.59 L 301.5 384.66 C 301.5 380.98178 304.48178 378 3
 08.16 378 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(303.5 380.625)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="18.59375" y="10" textLength="77.8125">pool \u201cServerPool\u201d</tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="8.140625" y="20" textLength="98.71875">(with subscriptions enabled,</tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="20.818359" y="30" textLength="73.36328">interest register in X,</tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="19.886719" y="40" textLength="31.125">receiveV</tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="50.421875" y="40" textLength="44.691406">alues = true)</tspan></text></g><text transform="translate(79.375 489.5)" fill="black"><tspan font-family="Helvetica" font-size="9" fo
 nt-weight="500" fill="black" x="8.357422" y="9" textLength="58.535156">Update/Create</tspan></text><g id="id18_Graphic"><path d="M 258.66 472.5 L 263.34 472.5 C 267.01822 472.5 270 475.48178 270 479.16 L 270 483.84 C 270 487.51822 267.01822 490.5 263.34 490.5 L 258.66 490.5 C 254.98178 490.5 252 487.51822 252 483.84 L 252 479.16 C 252 475.48178 254.98178 472.5 258.66 472.5 Z" fill="url(#Obj_Gradient_c)"/><path d="M 258.66 472.5 L 263.34 472.5 C 267.01822 472.5 270 475.48178 270 479.16 L 270 483.84 C 270 487.51822 267.01822 490.5 263.34 490.5 L 258.66 490.5 C 254.98178 490.5 252 487.51822 252 483.84 L 252 479.16 C 252 475.48178 254.98178 472.5 258.66 472.5 Z" stroke="#b00003" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(256 476)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id19_Graphic"><path d="M 398.16 472.5 L 402
 .84 472.5 C 406.51822 472.5 409.5 475.48178 409.5 479.16 L 409.5 483.84 C 409.5 487.51822 406.51822 490.5 402.84 490.5 L 398.16 490.5 C 394.48178 490.5 391.5 487.51822 391.5 483.84 L 391.5 479.16 C 391.5 475.48178 394.48178 472.5 398.16 472.5 Z" fill="url(#Obj_Gradient_d)"/><path d="M 398.16 472.5 L 402.84 472.5 C 406.51822 472.5 409.5 475.48178 409.5 479.16 L 409.5 483.84 C 409.5 487.51822 406.51822 490.5 402.84 490.5 L 398.16 490.5 C 394.48178 490.5 391.5 487.51822 391.5 483.84 L 391.5 479.16 C 391.5 475.48178 394.48178 472.5 398.16 472.5 Z" stroke="#b00003" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(395.5 476)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><rect x="321.75" y="309.375" width="27" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="348.75" y="309.
 375" width="27" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="321.75" y="318.375" width="27" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="348.75" y="318.375" width="27" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="321.75" y="327.375" width="27" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="348.75" y="327.375" width="27" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(324.4289 297.125)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.23828125" y="9" textLength="48.023438">subscription</tspan></text><path d="M 90 486 C 126.28702 486 196.01551 486 237.54735 486" marker-end="url(#FilledArrow_Marker)" stroke="#
 252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="300.9375" y1="282.9375" x2="313.07417" y2="297.28083" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(94 470.5)" fill="black"><tspan font-family="Helvetica" font-size="11" font-weight="bold" fill="black" x="0" y="10" textLength="6.1176758">1</tspan></text><text transform="translate(267.125 360.25)" fill="black"><tspan font-family="Helvetica" font-size="11" font-weight="bold" fill="black" x="0" y="10" textLength="6.1176758">2</tspan></text><text transform="translate(303.125 289.5)" fill="black"><tspan font-family="Helvetica" font-size="11" font-weight="bold" fill="black" x="0" y="10" textLength="6.1176758">3</tspan></text><text transform="translate(355 254.5)" fill="black"><tspan font-family="Helvetica" font-size="11" font-weight="bold" fill="black" x="0" y="10" textLength="6.1176758">3</t
 span></text><text transform="translate(348 359.25)" fill="black"><tspan font-family="Helvetica" font-size="11" font-weight="bold" fill="black" x="0" y="10" textLength="6.1176758">4</tspan></text></g></g></svg>


[75/76] [abbrv] incubator-geode git commit: GEODE-1968 - set aside Hibernate Cache docs until feature is mainstreamed.

Posted by km...@apache.org.
GEODE-1968 - set aside Hibernate Cache docs until feature is mainstreamed.


Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/fd8927cb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/fd8927cb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/fd8927cb

Branch: refs/heads/feature/GEODE-1952-2
Commit: fd8927cb1d74b46125589daf032d4eab43789d85
Parents: 6bea820
Author: Dave Barnes <db...@pivotal.io>
Authored: Thu Oct 6 13:08:23 2016 -0700
Committer: Dave Barnes <db...@pivotal.io>
Committed: Thu Oct 6 13:08:23 2016 -0700

----------------------------------------------------------------------
 geode-docs/images/HibernateFlowchart.png        | Bin 138228 -> 0 bytes
 geode-docs/images_svg/hibernate_cs.svg          |   3 -
 geode-docs/images_svg/hibernate_overview.svg    |   3 -
 geode-docs/images_svg/hibernate_p2p.svg         |   3 -
 geode-docs/tools_modules/book_intro.html.md.erb |   4 -
 .../hibernate_cache/advanced_config.html.md.erb |  51 ------
 .../changing_gemfire_default_cfg.html.md.erb    | 155 -------------------
 .../chapter_overview.html.md.erb                |  54 -------
 .../chapter_overview_how_works.html.md.erb      |  25 ---
 .../hibernate_why_use_gemfire.html.md.erb       |  44 ------
 .../installing_gemfire_and_module.html.md.erb   |  28 ----
 .../setting_up_the_module.html.md.erb           | 110 -------------
 ...sing_hibernate_with_http_session.html.md.erb |  39 -----
 13 files changed, 519 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/fd8927cb/geode-docs/images/HibernateFlowchart.png
----------------------------------------------------------------------
diff --git a/geode-docs/images/HibernateFlowchart.png b/geode-docs/images/HibernateFlowchart.png
deleted file mode 100644
index 55c500c..0000000
Binary files a/geode-docs/images/HibernateFlowchart.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/fd8927cb/geode-docs/images_svg/hibernate_cs.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/hibernate_cs.svg b/geode-docs/images_svg/hibernate_cs.svg
deleted file mode 100644
index ce9c3a8..0000000
--- a/geode-docs/images_svg/hibernate_cs.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="59 233 493 205" width="493pt" height="205pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 09:24Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><filter id="Shadow_2" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".3" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" 
 stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(347.76562 413.64844) scale(43.35671)"/><font-face font-family="Helvetica" font-size="6" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(249.75 413.64844) scale(43.35671)"/><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(149.76562 413.64844) scale(43.35671)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(168.75 420.01172) scale(75.25816)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" un
 derline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(265.5 420.01172) scale(75.25816)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(362.25 420.01172) scale(75.25816)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(373.5 414.38672) scale(226.88561)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient" gradientTransform="translate(251.14637 413.26172) scale(45.532327)"/><font-face font-family="Helvetica" font-s
 ize="8" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_3" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e0e0e0" stop-opacity=".65"/><stop offset="1" stop-color="white" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_9" xl:href="#Gradient_3" gradientTransform="translate(375.75 340.875) scale(120.3727)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_2" 
 gradientTransform="translate(344.25 327.375) scale(64.88103)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -7 17 14" markerWidth="17" markerHeight="14" color="#252525"><g><path d="M 14.499999 0 L 0 -5.4374996 L 0 5.4374996 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M 8.9444437 0 L 0 -3.3541664 L 0 3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_3" viewBox="-10 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M -8.9444437 0 L 0 3.3541664 L 0 -3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_b" xl:href
 ="#Gradient_2" gradientTransform="translate(337.5 333) scale(51.073018)"/><font-face font-family="Helvetica" font-size="7" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_c" xl:href="#Gradient_3" gradientTransform="translate(534.47444 357.13215) rotate(-90) scale(66.31453)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_4" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_d" xl:href="#Gradient_4" gradientTransform="translate(344.3182 413.66863) scale(45.532327)"/><radialGradient id="Obj_Gradient_e" xl:href="#Gradient_4" gradientTransform="translate(149.76562 413.66863) scale(45.5323
 27)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>cs</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id13_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id20_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id25_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id27_Graphic" filter="url(#Shadow_2)"/><xl:use xl:href="#id28_Graphic" filter="url(#Shadow_2)"/></g><g id="id3_Graphic"><path d="M 300.42562 393.01172 L 341.10562 393.01172 C 344.
 78384 393.01172 347.76562 395.9935 347.76562 399.67172 L 347.76562 406.98844 C 347.76562 410.66666 344.78384 413.64844 341.10562 413.64844 L 300.42562 413.64844 C 296.7474 413.64844 293.76562 410.66666 293.76562 406.98844 L 293.76562 399.67172 C 293.76562 395.9935 296.7474 393.01172 300.42562 393.01172 Z" fill="url(#Obj_Gradient)"/><path d="M 300.42562 393.01172 L 341.10562 393.01172 C 344.78384 393.01172 347.76562 395.9935 347.76562 399.67172 L 347.76562 406.98844 C 347.76562 410.66666 344.78384 413.64844 341.10562 413.64844 L 300.42562 413.64844 C 296.7474 413.64844 293.76562 410.66666 293.76562 406.98844 L 293.76562 399.67172 C 293.76562 395.9935 296.7474 393.01172 300.42562 393.01172 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(297.76562 396.33008)" fill="black"><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="8.657715" y="6" textLength="30.351562">Partitioned </tspan><tspan 
 font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="5.1567383" y="13" textLength="35.686523">Session Data</tspan></text></g><g id="id4_Graphic"><path d="M 202.41 393.01172 L 243.09 393.01172 C 246.76822 393.01172 249.75 395.9935 249.75 399.67172 L 249.75 406.98844 C 249.75 410.66666 246.76822 413.64844 243.09 413.64844 L 202.41 413.64844 C 198.73178 413.64844 195.75 410.66666 195.75 406.98844 L 195.75 399.67172 C 195.75 395.9935 198.73178 393.01172 202.41 393.01172 Z" fill="url(#Obj_Gradient_2)"/><path d="M 202.41 393.01172 L 243.09 393.01172 C 246.76822 393.01172 249.75 395.9935 249.75 399.67172 L 249.75 406.98844 C 249.75 410.66666 246.76822 413.64844 243.09 413.64844 L 202.41 413.64844 C 198.73178 413.64844 195.75 410.66666 195.75 406.98844 L 195.75 399.67172 C 195.75 395.9935 198.73178 393.01172 202.41 393.01172 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(199.75 396.33008)" fill="blac
 k"><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="8.657715" y="6" textLength="30.351562">Partitioned </tspan><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="5.1567383" y="13" textLength="35.686523">Session Data</tspan></text></g><g id="id5_Graphic"><path d="M 102.42562 393.01172 L 143.10562 393.01172 C 146.78384 393.01172 149.76562 395.9935 149.76562 399.67172 L 149.76562 406.98844 C 149.76562 410.66666 146.78384 413.64844 143.10562 413.64844 L 102.42562 413.64844 C 98.747403 413.64844 95.76562 410.66666 95.76562 406.98844 L 95.76562 399.67172 C 95.76562 395.9935 98.747403 393.01172 102.42562 393.01172 Z" fill="url(#Obj_Gradient_3)"/><path d="M 102.42562 393.01172 L 143.10562 393.01172 C 146.78384 393.01172 149.76562 395.9935 149.76562 399.67172 L 149.76562 406.98844 C 149.76562 410.66666 146.78384 413.64844 143.10562 413.64844 L 102.42562 413.64844 C 98.747403 413.64844 95.76562 410.66666 95.76562 406.98844 L 95.76562 3
 99.67172 C 95.76562 395.9935 98.747403 393.01172 102.42562 393.01172 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(99.76562 396.33008)" fill="black"><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="8.657715" y="6" textLength="30.351562">Partitioned </tspan><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="5.1567383" y="13" textLength="35.686523">Session Data</tspan></text></g><g id="id6_Graphic"><path d="M 89.91 367.48828 L 162.09 367.48828 C 165.76822 367.48828 168.75 370.47006 168.75 374.14828 L 168.75 413.35172 C 168.75 417.02994 165.76822 420.01172 162.09 420.01172 L 89.91 420.01172 C 86.231783 420.01172 83.25 417.02994 83.25 413.35172 L 83.25 374.14828 C 83.25 370.47006 86.231783 367.48828 89.91 367.48828 Z" fill="url(#Obj_Gradient_4)"/><path d="M 89.91 367.48828 L 162.09 367.48828 C 165.76822 367.48828 168.75 370.47006 168.75 374.14828 L 168.75 4
 13.35172 C 168.75 417.02994 165.76822 420.01172 162.09 420.01172 L 89.91 420.01172 C 86.231783 420.01172 83.25 417.02994 83.25 413.35172 L 83.25 374.14828 C 83.25 370.47006 86.231783 367.48828 89.91 367.48828 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(87.25 371.48828)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="25.496094" y="9" textLength="26.507812">Server</tspan></text></g><g id="id7_Graphic"><path d="M 186.66 367.48828 L 258.84 367.48828 C 262.51822 367.48828 265.5 370.47006 265.5 374.14828 L 265.5 413.35172 C 265.5 417.02994 262.51822 420.01172 258.84 420.01172 L 186.66 420.01172 C 182.98178 420.01172 180 417.02994 180 413.35172 L 180 374.14828 C 180 370.47006 182.98178 367.48828 186.66 367.48828 Z" fill="url(#Obj_Gradient_5)"/><path d="M 186.66 367.48828 L 258.84 367.48828 C 262.51822 367.48828 265.5 370.47006 265.5 374.14828 L 265.5 413.35172 C 265.5 41
 7.02994 262.51822 420.01172 258.84 420.01172 L 186.66 420.01172 C 182.98178 420.01172 180 417.02994 180 413.35172 L 180 374.14828 C 180 370.47006 182.98178 367.48828 186.66 367.48828 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(184 371.48828)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="25.496094" y="9" textLength="26.507812">Server</tspan></text></g><g id="id8_Graphic"><path d="M 283.41 367.48828 L 355.59 367.48828 C 359.26822 367.48828 362.25 370.47006 362.25 374.14828 L 362.25 413.35172 C 362.25 417.02994 359.26822 420.01172 355.59 420.01172 L 283.41 420.01172 C 279.73178 420.01172 276.75 417.02994 276.75 413.35172 L 276.75 374.14828 C 276.75 370.47006 279.73178 367.48828 283.41 367.48828 Z" fill="url(#Obj_Gradient_6)"/><path d="M 283.41 367.48828 L 355.59 367.48828 C 359.26822 367.48828 362.25 370.47006 362.25 374.14828 L 362.25 413.35172 C 362.25 417.02994 
 359.26822 420.01172 355.59 420.01172 L 283.41 420.01172 C 279.73178 420.01172 276.75 417.02994 276.75 413.35172 L 276.75 374.14828 C 276.75 370.47006 279.73178 367.48828 283.41 367.48828 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(280.75 371.48828)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="25.496094" y="9" textLength="26.507812">Server</tspan></text></g><g id="id9_Graphic"><path d="M 78.66 389.63672 L 366.84 389.63672 C 370.51822 389.63672 373.5 392.6185 373.5 396.29672 L 373.5 407.72672 C 373.5 411.40494 370.51822 414.38672 366.84 414.38672 L 78.66 414.38672 C 74.981783 414.38672 72 411.40494 72 407.72672 L 72 396.29672 C 72 392.6185 74.981783 389.63672 78.66 389.63672 Z" fill="url(#Obj_Gradient_7)"/><path d="M 78.66 389.63672 L 366.84 389.63672 C 370.51822 389.63672 373.5 392.6185 373.5 396.29672 L 373.5 407.72672 C 373.5 411.40494 370.51822 414.38672 366.
 84 414.38672 L 78.66 414.38672 C 74.981783 414.38672 72 411.40494 72 407.72672 L 72 396.29672 C 72 392.6185 74.981783 389.63672 78.66 389.63672 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id11_Graphic"><path d="M 248.70658 413.26172 C 253.44378 407.63672 250.07797 404.36678 248.6232 402.17945 C 247.16842 399.99212 247.62468 398.8874 248.59245 396.616 C 249.56022 394.34459 251.0395 390.9065 248.70658 390.76172 L 198.17629 390.76172 C 198.17629 390.76172 195.89362 394.05715 195.09251 396.90375 C 194.2914 399.75034 194.97186 402.1481 196.76606 403.83844 C 198.56027 405.5288 201.46821 406.51172 198.17629 413.26172 L 248.70658 413.26172 Z" fill="url(#Obj_Gradient_8)"/><path d="M 248.70658 413.26172 C 253.44378 407.63672 250.07797 404.36678 248.6232 402.17945 C 247.16842 399.99212 247.62468 398.8874 248.59245 396.616 C 249.56022 394.34459 251.0395 390.9065 248.70658 390.76172 L 198.17629 390.76172 C 198.17629 390.76172 195.89362 
 394.05715 195.09251 396.90375 C 194.2914 399.75034 194.97186 402.1481 196.76606 403.83844 C 198.56027 405.5288 201.46821 406.51172 198.17629 413.26172 L 248.70658 413.26172 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(198.75997 392.01172)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="5.0701533" y="8" textLength="40.46875">Partitioned </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="15.7439815" y="18" textLength="16.898438">Data</tspan></text></g><g id="id13_Graphic"><path d="M 238.41 270 L 369.09 270 C 372.76822 270 375.75 272.98178 375.75 276.66 L 375.75 334.215 C 375.75 337.89322 372.76822 340.875 369.09 340.875 L 238.41 340.875 C 234.73178 340.875 231.75 337.89322 231.75 334.215 L 231.75 276.66 C 231.75 272.98178 234.73178 270 238.41 270 Z" fill="url(#Obj_Gradient_9)"/><path d="M 238.41 270 L 369.09 270 C 372.76822 270 375
 .75 272.98178 375.75 276.66 L 375.75 334.215 C 375.75 337.89322 372.76822 340.875 369.09 340.875 L 238.41 340.875 C 234.73178 340.875 231.75 337.89322 231.75 334.215 L 231.75 276.66 C 231.75 272.98178 234.73178 270 238.41 270 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(235.75 274)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="27.143066" y="10" textLength="81.713867">Hibernate Session</tspan></text></g><g id="id14_Graphic"><path d="M 269.91 297 L 337.59 297 C 341.26822 297 344.25 299.98178 344.25 303.66 L 344.25 320.715 C 344.25 324.39322 341.26822 327.375 337.59 327.375 L 269.91 327.375 C 266.23178 327.375 263.25 324.39322 263.25 320.715 L 263.25 303.66 C 263.25 299.98178 266.23178 297 269.91 297 Z" fill="url(#Obj_Gradient_a)"/><path d="M 269.91 297 L 337.59 297 C 341.26822 297 344.25 299.98178 344.25 303.66 L 344.25 320.715 C 344.25 324.39322 341.26822 327.375
  337.59 327.375 L 269.91 327.375 C 266.23178 327.375 263.25 324.39322 263.25 320.715 L 263.25 303.66 C 263.25 299.98178 266.23178 297 269.91 297 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(267.25 301)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="24.995117" y="9" textLength="23.009766">Client</tspan></text></g><path d="M 304.875 252 L 304.875 252 C 304.25368 252 303.75 252.50368 303.75 253.125 L 303.75 256.332 L 303.75 258.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="321.75" y1="252" x2="321.75" y2="258.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="285.75" y1="252" x2="285.75" y2="258.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stro
 ke-linejoin="round" stroke-width=".72000003"/><text transform="translate(235.75 242.5)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="18.863281" y="8" textLength="98.27344">access to Hibernate entities</tspan></text><path d="M 303.75 340.948 L 303.75 342.668 L 303.75 346.91258 C 303.75 349.2568 301.84963 351.15717 299.50541 351.15717 L 226.08156 351.15717 C 224.24159 351.15717 222.75 352.64876 222.75 354.48873 L 222.75 357.82028 L 222.75 359.54028" marker-end="url(#FilledArrow_Marker_2)" marker-start="url(#FilledArrow_Marker_3)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id20_Graphic"><path d="M 274.5 324 L 333 324 C 335.48528 324 337.5 326.01472 337.5 328.5 L 337.5 328.5 C 337.5 330.98528 335.48528 333 333 333 L 274.5 333 C 272.01472 333 270 330.98528 270 328.5 L 270 328.5 C 270 326.01472 272.01472 324 274.5 324 Z" fill="url(#Obj_Gradient_b)"/><path d="M 274.5 324 L 333 324 C 335.485
 28 324 337.5 326.01472 337.5 328.5 L 337.5 328.5 C 337.5 330.98528 335.48528 333 333 333 L 274.5 333 C 272.01472 333 270 330.98528 270 328.5 L 270 328.5 C 270 326.01472 272.01472 324 274.5 324 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(274 324.5)" fill="black"><tspan font-family="Helvetica" font-size="7" font-weight="500" fill="black" x="5.2312012" y="6" textLength="49.037598">connection pool</tspan></text></g><path d="M 287.62071 340.9359 C 286.70618 343.52216 284.23947 345.375 281.34 345.375 L 132.22264 345.375 C 128.78597 345.375 126 348.16097 126 351.59764 L 126 357.82028 L 126 359.54028" marker-end="url(#FilledArrow_Marker_2)" marker-start="url(#FilledArrow_Marker_3)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 319.5 340.948 L 319.5 351 L 319.5 357.82028 L 319.5 359.54028" marker-end="url(#FilledArrow_Marker_2)" marker-start="url(#FilledArrow_Mar
 ker_3)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 383.698 305.4375 L 385.418 305.4375 L 490.0275 305.4375 C 493.70572 305.4375 496.6875 308.41928 496.6875 312.0975 L 496.6875 347.55636" marker-end="url(#FilledArrow_Marker_2)" marker-start="url(#FilledArrow_Marker_3)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(395.5 311.25)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="10.113281" y="8" textLength="68.496094">If data not found in </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="13.009766" y="18" textLength="62.703125">cache, Hibernate </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="5.671875" y="28" textLength="75.15625">accesses database...</tspan></text><g id="id25_Graphic"><path d="M 459 398.07506 L 459 362.25001 C 483.69543 355.4
 262 509.779 355.4262 534.47444 362.25 L 534.47444 398.07506 C 509.779 404.89887 483.69543 404.89887 459 398.07506 Z" fill="url(#Obj_Gradient_c)"/><path d="M 459 398.07506 L 459 362.25001 C 483.69543 355.4262 509.779 355.4262 534.47444 362.25 L 534.47444 398.07506 C 509.779 404.89887 483.69543 404.89887 459 398.07506 Z M 459 362.25001 C 483.69543 369.07382 509.779 369.07382 534.47444 362.25" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><text transform="translate(467.5 374.1929)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.7373047" y="9" textLength="40.02539">Relational</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="10.486572" y="20" textLength="38.526855">Database</tspan></text><g id="id27_Graphic"><path d="M 341.87841 413.66863 C 346.61562 408.04363 343.2498 404.7737 341.79503 402.58637 C 340.34025 400.39903 340.79652 399.2943 341.76429 397.0229 C
  342.73206 394.7515 344.21133 391.31342 341.87841 391.16863 L 291.34812 391.16863 C 291.34813 391.16863 289.06545 394.46407 288.26434 397.31066 C 287.46323 400.15726 288.14369 402.55502 289.9379 404.24536 C 291.7321 405.9357 294.64005 406.91863 291.34812 413.66863 L 341.87841 413.66863 Z" fill="url(#Obj_Gradient_d)"/><path d="M 341.87841 413.66863 C 346.61562 408.04363 343.2498 404.7737 341.79503 402.58637 C 340.34025 400.39903 340.79652 399.2943 341.76429 397.0229 C 342.73206 394.7515 344.21133 391.31342 341.87841 391.16863 L 291.34812 391.16863 C 291.34813 391.16863 289.06545 394.46407 288.26434 397.31066 C 287.46323 400.15726 288.14369 402.55502 289.9379 404.24536 C 291.7321 405.9357 294.64005 406.91863 291.34812 413.66863 L 341.87841 413.66863 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(291.9318 392.41863)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="5.0701
 533" y="8" textLength="40.46875">Partitioned </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="15.7439815" y="18" textLength="16.898438">Data</tspan></text></g><g id="id28_Graphic"><path d="M 147.32583 413.66863 C 152.06304 408.04363 148.697225 404.7737 147.24245 402.58637 C 145.78767 400.39903 146.24394 399.2943 147.21171 397.0229 C 148.179475 394.7515 149.65875 391.31342 147.32583 391.16863 L 96.795544 391.16863 C 96.79555 391.16863 94.51287 394.46407 93.71176 397.31066 C 92.91065 400.15726 93.59111 402.55502 95.385315 404.24536 C 97.17952 405.9357 100.08747 406.91863 96.795544 413.66863 L 147.32583 413.66863 Z" fill="url(#Obj_Gradient_e)"/><path d="M 147.32583 413.66863 C 152.06304 408.04363 148.697225 404.7737 147.24245 402.58637 C 145.78767 400.39903 146.24394 399.2943 147.21171 397.0229 C 148.179475 394.7515 149.65875 391.31342 147.32583 391.16863 L 96.795544 391.16863 C 96.79555 391.16863 94.51287 394.46407 93.71176 397.31066 C 92.91065 40
 0.15726 93.59111 402.55502 95.385315 404.24536 C 97.17952 405.9357 100.08747 406.91863 96.795544 413.66863 L 147.32583 413.66863 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(97.37922 392.41863)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="5.0701533" y="8" textLength="40.46875">Partitioned </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="15.7439815" y="18" textLength="16.898438">Data</tspan></text></g></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/fd8927cb/geode-docs/images_svg/hibernate_overview.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/hibernate_overview.svg b/geode-docs/images_svg/hibernate_overview.svg
deleted file mode 100644
index 0fd8669..0000000
--- a/geode-docs/images_svg/hibernate_overview.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="146 287 389 228" width="389pt" height="19pc" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 09:06Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(490.5 394.52344) scale(72.40399)"/><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransf
 orm="translate(477 388.16016) scale(43.35671)"/><font-face font-family="Helvetica" font-size="8" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(495 398.28516) scale(72.40399)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(481.5 391.92188) scale(43.35671)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(499.5 402.04688) scale(72.40399)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-fac
 e-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e0e0e0" stop-opacity=".65"/><stop offset="1" stop-color="white" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(378 414) scale(127.358745)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_7" xl:href="#Gradient" gradientTransform="translate(346.5 402.75) scale(72.40399)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient" gradientTransform="translate(517.5 398.25) scale(203.349)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient" gr
 adientTransform="translate(333 396.38672) scale(43.35671)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -7 17 14" markerWidth="17" markerHeight="14" color="#252525"><g><path d="M 14.499999 0 L 0 -5.4374996 L 0 5.4374996 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M 8.9444437 0 L 0 -3.3541664 L 0 3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_3" viewBox="-10 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M -8.9444437 0 L 0 3.3541664 L 0 -3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_a" xl:href="#
 Gradient_2" gradientTransform="translate(343.22444 451.18923) rotate(-90) scale(66.31453)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient" gradientTransform="translate(486 395.6836) scale(43.35671)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>overview</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id19_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id21_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 416.16 3
 42 L 483.84 342 C 487.51822 342 490.5 344.98178 490.5 348.66 L 490.5 387.86344 C 490.5 391.54166 487.51822 394.52344 483.84 394.52344 L 416.16 394.52344 C 412.48178 394.52344 409.5 391.54166 409.5 387.86344 L 409.5 348.66 C 409.5 344.98178 412.48178 342 416.16 342 Z" fill="url(#Obj_Gradient)"/><path d="M 416.16 342 L 483.84 342 C 487.51822 342 490.5 344.98178 490.5 348.66 L 490.5 387.86344 C 490.5 391.54166 487.51822 394.52344 483.84 394.52344 L 416.16 394.52344 C 412.48178 394.52344 409.5 391.54166 409.5 387.86344 L 409.5 348.66 C 409.5 344.98178 412.48178 342 416.16 342 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id4_Graphic"><path d="M 429.66 367.52344 L 470.34 367.52344 C 474.01822 367.52344 477 370.50522 477 374.18344 L 477 381.50016 C 477 385.17838 474.01822 388.16016 470.34 388.16016 L 429.66 388.16016 C 425.98178 388.16016 423 385.17838 423 381.50016 L 423 374.18344 C 423 370.50522 425.98178 367.52344 429.66 367.523
 44 Z" fill="url(#Obj_Gradient_2)"/><path d="M 429.66 367.52344 L 470.34 367.52344 C 474.01822 367.52344 477 370.50522 477 374.18344 L 477 381.50016 C 477 385.17838 474.01822 388.16016 470.34 388.16016 L 429.66 388.16016 C 425.98178 388.16016 423 385.17838 423 381.50016 L 423 374.18344 C 423 370.50522 425.98178 367.52344 429.66 367.52344 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(427 367.8418)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="9.2128906" y="8" textLength="29.796875">Cached </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="14.550781" y="18" textLength="16.898438">Data</tspan></text></g><g id="id5_Graphic"><path d="M 420.66 345.76172 L 488.34 345.76172 C 492.01822 345.76172 495 348.7435 495 352.42172 L 495 391.62516 C 495 395.30338 492.01822 398.28516 488.34 398.28516 L 420.66 398.28516 C 416.98178 398.28516 414 395
 .30338 414 391.62516 L 414 352.42172 C 414 348.7435 416.98178 345.76172 420.66 345.76172 Z" fill="url(#Obj_Gradient_3)"/><path d="M 420.66 345.76172 L 488.34 345.76172 C 492.01822 345.76172 495 348.7435 495 352.42172 L 495 391.62516 C 495 395.30338 492.01822 398.28516 488.34 398.28516 L 420.66 398.28516 C 416.98178 398.28516 414 395.30338 414 391.62516 L 414 352.42172 C 414 348.7435 416.98178 345.76172 420.66 345.76172 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id6_Graphic"><path d="M 434.16 371.28516 L 474.84 371.28516 C 478.51822 371.28516 481.5 374.26694 481.5 377.94516 L 481.5 385.26188 C 481.5 388.9401 478.51822 391.92188 474.84 391.92188 L 434.16 391.92188 C 430.48178 391.92188 427.5 388.9401 427.5 385.26188 L 427.5 377.94516 C 427.5 374.26694 430.48178 371.28516 434.16 371.28516 Z" fill="url(#Obj_Gradient_4)"/><path d="M 434.16 371.28516 L 474.84 371.28516 C 478.51822 371.28516 481.5 374.26694 481.5 377.94516 L 481.
 5 385.26188 C 481.5 388.9401 478.51822 391.92188 474.84 391.92188 L 434.16 391.92188 C 430.48178 391.92188 427.5 388.9401 427.5 385.26188 L 427.5 377.94516 C 427.5 374.26694 430.48178 371.28516 434.16 371.28516 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(431.5 371.60352)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="9.2128906" y="8" textLength="29.796875">Cached </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="14.550781" y="18" textLength="16.898438">Data</tspan></text></g><g id="id7_Graphic"><path d="M 425.16 349.52344 L 492.84 349.52344 C 496.51822 349.52344 499.5 352.50522 499.5 356.18344 L 499.5 395.38688 C 499.5 399.0651 496.51822 402.04688 492.84 402.04688 L 425.16 402.04688 C 421.48178 402.04688 418.5 399.0651 418.5 395.38688 L 418.5 356.18344 C 418.5 352.50522 421.48178 349.52344 425.16 349.52344 Z" fill="url(#Obj_Gr
 adient_5)"/><path d="M 425.16 349.52344 L 492.84 349.52344 C 496.51822 349.52344 499.5 352.50522 499.5 356.18344 L 499.5 395.38688 C 499.5 399.0651 496.51822 402.04688 492.84 402.04688 L 425.16 402.04688 C 421.48178 402.04688 418.5 399.0651 418.5 395.38688 L 418.5 356.18344 C 418.5 352.50522 421.48178 349.52344 425.16 349.52344 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(422.5 353.52344)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="19.996338" y="9" textLength="33.007324">Member</tspan></text></g><g id="id8_Graphic"><path d="M 240.66 324 L 371.34 324 C 375.01822 324 378 326.98178 378 330.66 L 378 407.34 C 378 411.01822 375.01822 414 371.34 414 L 240.66 414 C 236.98178 414 234 411.01822 234 407.34 L 234 330.66 C 234 326.98178 236.98178 324 240.66 324 Z" fill="url(#Obj_Gradient_6)"/><path d="M 240.66 324 L 371.34 324 C 375.01822 324 378 326.98178 378 330.66 L 378 
 407.34 C 378 411.01822 375.01822 414 371.34 414 L 240.66 414 C 236.98178 414 234 411.01822 234 407.34 L 234 330.66 C 234 326.98178 236.98178 324 240.66 324 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(238 328)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="27.143066" y="10" textLength="81.713867">Hibernate Session</tspan></text></g><g id="id9_Graphic"><path d="M 272.16 350.22656 L 339.84 350.22656 C 343.51822 350.22656 346.5 353.20834 346.5 356.88656 L 346.5 396.09 C 346.5 399.76822 343.51822 402.75 339.84 402.75 L 272.16 402.75 C 268.48178 402.75 265.5 399.76822 265.5 396.09 L 265.5 356.88656 C 265.5 353.20834 268.48178 350.22656 272.16 350.22656 Z" fill="url(#Obj_Gradient_7)"/><path d="M 272.16 350.22656 L 339.84 350.22656 C 343.51822 350.22656 346.5 353.20834 346.5 356.88656 L 346.5 396.09 C 346.5 399.76822 343.51822 402.75 339.84 402.75 L 272.16 402.75 C 268.
 48178 402.75 265.5 399.76822 265.5 396.09 L 265.5 356.88656 C 265.5 353.20834 268.48178 350.22656 272.16 350.22656 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(269.5 354.22656)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="19.996338" y="9" textLength="33.007324">Member</tspan></text></g><g id="id10_Graphic"><path d="M 254.16 373.5 L 510.84 373.5 C 514.51822 373.5 517.5 376.48178 517.5 380.16 L 517.5 391.59 C 517.5 395.26822 514.51822 398.25 510.84 398.25 L 254.16 398.25 C 250.48178 398.25 247.5 395.26822 247.5 391.59 L 247.5 380.16 C 247.5 376.48178 250.48178 373.5 254.16 373.5 Z" fill="url(#Obj_Gradient_8)"/><path d="M 254.16 373.5 L 510.84 373.5 C 514.51822 373.5 517.5 376.48178 517.5 380.16 L 517.5 391.59 C 517.5 395.26822 514.51822 398.25 510.84 398.25 L 254.16 398.25 C 250.48178 398.25 247.5 395.26822 247.5 391.59 L 247.5 380.16 C 247.5 376.48178 250.48178 3
 73.5 254.16 373.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id11_Graphic"><path d="M 285.66 375.75 L 326.34 375.75 C 330.01822 375.75 333 378.73178 333 382.41 L 333 389.72672 C 333 393.40494 330.01822 396.38672 326.34 396.38672 L 285.66 396.38672 C 281.98178 396.38672 279 393.40494 279 389.72672 L 279 382.41 C 279 378.73178 281.98178 375.75 285.66 375.75 Z" fill="url(#Obj_Gradient_9)"/><path d="M 285.66 375.75 L 326.34 375.75 C 330.01822 375.75 333 378.73178 333 382.41 L 333 389.72672 C 333 393.40494 330.01822 396.38672 326.34 396.38672 L 285.66 396.38672 C 281.98178 396.38672 279 393.40494 279 389.72672 L 279 382.41 C 279 378.73178 281.98178 375.75 285.66 375.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(283 376.06836)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="9.2128906" y="8" textLength="29.796
 875">Cached </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="14.550781" y="18" textLength="16.898438">Data</tspan></text></g><line x1="306" y1="306" x2="306" y2="312.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="324" y1="306" x2="324" y2="312.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="288" y1="306" x2="288" y2="312.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(238 296.5)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="18.863281" y="8" textLength="98.27344">access to Hibernate entities</tspan></text><path d="M 306 421.948 L 306 423.668 L 306 432 L 306 440.332 L 306 442.052" marker-end="url(#Filled
 Arrow_Marker_2)" marker-start="url(#FilledArrow_Marker_3)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 292.41 450 L 319.59 450 C 323.26822 450 326.25 452.98178 326.25 456.66 L 326.25 470.34 C 326.25 474.01822 323.26822 477 319.59 477 L 292.41 477 C 288.73178 477 285.75 474.01822 285.75 470.34 L 285.75 456.66 C 285.75 452.98178 288.73178 450 292.41 450 Z" stroke="white" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(159.25 422)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="3.5117188" y="8" textLength="131.19922">If data not found in cache, Hibernate </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="30.421875" y="18" textLength="75.15625">accesses database...</tspan></text><g id="id19_Graphic"><path d="M 267.75 492.13214 L 267.75 456.3071 C 292.44543 449.48328 318.52901 449.48328 343.22444 456.
 3071 L 343.22444 492.13214 C 318.52901 498.95595 292.44543 498.95595 267.75 492.13214 Z" fill="url(#Obj_Gradient_a)"/><path d="M 267.75 492.13214 L 267.75 456.3071 C 292.44543 449.48328 318.52901 449.48328 343.22444 456.3071 L 343.22444 492.13214 C 318.52901 498.95595 292.44543 498.95595 267.75 492.13214 Z M 267.75 456.3071 C 292.44543 463.1309 318.52901 463.1309 343.22444 456.3071" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><text transform="translate(276.25 468.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.7373047" y="9" textLength="40.02539">Relational</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="10.486572" y="20" textLength="38.526855">Database</tspan></text><g id="id21_Graphic"><path d="M 438.66 375.04687 L 479.34 375.04687 C 483.01822 375.04687 486 378.02865 486 381.70687 L 486 389.0236 C 486 392.7018 483.01822 395.6836 479.34 395.6836
  L 438.66 395.6836 C 434.98178 395.6836 432 392.7018 432 389.0236 L 432 381.70687 C 432 378.02865 434.98178 375.04687 438.66 375.04687 Z" fill="url(#Obj_Gradient_b)"/><path d="M 438.66 375.04687 L 479.34 375.04687 C 483.01822 375.04687 486 378.02865 486 381.70687 L 486 389.0236 C 486 392.7018 483.01822 395.6836 479.34 395.6836 L 438.66 395.6836 C 434.98178 395.6836 432 392.7018 432 389.0236 L 432 381.70687 C 432 378.02865 434.98178 375.04687 438.66 375.04687 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(436 375.36523)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="9.2128906" y="8" textLength="29.796875">Cached </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="14.550781" y="18" textLength="16.898438">Data</tspan></text></g></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/fd8927cb/geode-docs/images_svg/hibernate_p2p.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/hibernate_p2p.svg b/geode-docs/images_svg/hibernate_p2p.svg
deleted file mode 100644
index bc536dc..0000000
--- a/geode-docs/images_svg/hibernate_p2p.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="59 269 499 228" width="499pt" height="19pc" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 09:09Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e0e0e0" stop-opacity=".65"/><stop offset="1" stop-color="white" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(216 396) scale(127.358745)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline
 -position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(184.5 384.75) scale(72.40399)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(378 396) sc
 ale(127.358745)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(346.5 384.75) scale(72.40399)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(540 396) scale(127.358745)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(504 384.75) scale(66.84142)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(517.5 380.25) scale(321.16189)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(171 378.38672) scale(43.35671)"/><font-face font-family="Helvetica" font-size="8" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_9" xl:href="#Gradient_2" gradientT
 ransform="translate(333 378.38672) scale(43.35671)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_2" gradientTransform="translate(495 378.38672) scale(43.35671)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -7 17 14" markerWidth="17" markerHeight="14" color="#252525"><g><path d="M 14.499999 0 L 0 -5.4374996 L 0 5.4374996 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M 8.9444437 0 L 0 -3.3541664 L 0 3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_3" viewBox="-10 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M -8.9444437 0 L 0 3.3541664 L 0 -3.3541664 Z" fill="
 currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_b" xl:href="#Gradient" gradientTransform="translate(343.22444 433.18923) rotate(-90) scale(66.31453)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>p2p</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id27_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id30_Graphic" filter="url(#Shadow)"/
 ></g><g id="id3_Graphic"><path d="M 78.66 306 L 209.34 306 C 213.01822 306 216 308.98178 216 312.66 L 216 389.34 C 216 393.01822 213.01822 396 209.34 396 L 78.66 396 C 74.981783 396 72 393.01822 72 389.34 L 72 312.66 C 72 308.98178 74.981783 306 78.66 306 Z" fill="url(#Obj_Gradient)"/><path d="M 78.66 306 L 209.34 306 C 213.01822 306 216 308.98178 216 312.66 L 216 389.34 C 216 393.01822 213.01822 396 209.34 396 L 78.66 396 C 74.981783 396 72 393.01822 72 389.34 L 72 312.66 C 72 308.98178 74.981783 306 78.66 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(76 310)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="27.143066" y="10" textLength="81.713867">Hibernate Session</tspan></text></g><g id="id4_Graphic"><path d="M 110.16 332.22656 L 177.84 332.22656 C 181.51822 332.22656 184.5 335.20834 184.5 338.88656 L 184.5 378.09 C 184.5 381.76822 181.51822 384.75 177.84 384
 .75 L 110.16 384.75 C 106.481783 384.75 103.5 381.76822 103.5 378.09 L 103.5 338.88656 C 103.5 335.20834 106.481783 332.22656 110.16 332.22656 Z" fill="url(#Obj_Gradient_2)"/><path d="M 110.16 332.22656 L 177.84 332.22656 C 181.51822 332.22656 184.5 335.20834 184.5 338.88656 L 184.5 378.09 C 184.5 381.76822 181.51822 384.75 177.84 384.75 L 110.16 384.75 C 106.481783 384.75 103.5 381.76822 103.5 378.09 L 103.5 338.88656 C 103.5 335.20834 106.481783 332.22656 110.16 332.22656 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(107.5 336.22656)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="12.736572" y="9" textLength="47.526855">Peer Cache</tspan></text></g><g id="id5_Graphic"><path d="M 240.66 306 L 371.34 306 C 375.01822 306 378 308.98178 378 312.66 L 378 389.34 C 378 393.01822 375.01822 396 371.34 396 L 240.66 396 C 236.98178 396 234 393.01822 234 389.34 L 234 312.66 C 
 234 308.98178 236.98178 306 240.66 306 Z" fill="url(#Obj_Gradient_3)"/><path d="M 240.66 306 L 371.34 306 C 375.01822 306 378 308.98178 378 312.66 L 378 389.34 C 378 393.01822 375.01822 396 371.34 396 L 240.66 396 C 236.98178 396 234 393.01822 234 389.34 L 234 312.66 C 234 308.98178 236.98178 306 240.66 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(238 310)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="27.143066" y="10" textLength="81.713867">Hibernate Session</tspan></text></g><g id="id6_Graphic"><path d="M 272.16 332.22656 L 339.84 332.22656 C 343.51822 332.22656 346.5 335.20834 346.5 338.88656 L 346.5 378.09 C 346.5 381.76822 343.51822 384.75 339.84 384.75 L 272.16 384.75 C 268.48178 384.75 265.5 381.76822 265.5 378.09 L 265.5 338.88656 C 265.5 335.20834 268.48178 332.22656 272.16 332.22656 Z" fill="url(#Obj_Gradient_4)"/><path d="M 272.16 332.22656 L 339.
 84 332.22656 C 343.51822 332.22656 346.5 335.20834 346.5 338.88656 L 346.5 378.09 C 346.5 381.76822 343.51822 384.75 339.84 384.75 L 272.16 384.75 C 268.48178 384.75 265.5 381.76822 265.5 378.09 L 265.5 338.88656 C 265.5 335.20834 268.48178 332.22656 272.16 332.22656 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(269.5 336.22656)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="12.736572" y="9" textLength="47.526855">Peer Cache</tspan></text></g><g id="id7_Graphic"><path d="M 402.66 306 L 533.34 306 C 537.01822 306 540 308.98178 540 312.66 L 540 389.34 C 540 393.01822 537.01822 396 533.34 396 L 402.66 396 C 398.98178 396 396 393.01822 396 389.34 L 396 312.66 C 396 308.98178 398.98178 306 402.66 306 Z" fill="url(#Obj_Gradient_5)"/><path d="M 402.66 306 L 533.34 306 C 537.01822 306 540 308.98178 540 312.66 L 540 389.34 C 540 393.01822 537.01822 396 533.34 396 L 402.66 3
 96 C 398.98178 396 396 393.01822 396 389.34 L 396 312.66 C 396 308.98178 398.98178 306 402.66 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(400 310)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="27.143066" y="10" textLength="81.713867">Hibernate Session</tspan></text></g><g id="id8_Graphic"><path d="M 438.66 332.22656 L 497.34 332.22656 C 501.01822 332.22656 504 335.20834 504 338.88656 L 504 378.09 C 504 381.76822 501.01822 384.75 497.34 384.75 L 438.66 384.75 C 434.98178 384.75 432 381.76822 432 378.09 L 432 338.88656 C 432 335.20834 434.98178 332.22656 438.66 332.22656 Z" fill="url(#Obj_Gradient_6)"/><path d="M 438.66 332.22656 L 497.34 332.22656 C 501.01822 332.22656 504 335.20834 504 338.88656 L 504 378.09 C 504 381.76822 501.01822 384.75 497.34 384.75 L 438.66 384.75 C 434.98178 384.75 432 381.76822 432 378.09 L 432 338.88656 C 432 335.20834 434.98178 33
 2.22656 438.66 332.22656 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(436 336.22656)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="8.2365723" y="9" textLength="47.526855">Peer Cache</tspan></text></g><g id="id9_Graphic"><path d="M 96.66 355.5 L 510.84 355.5 C 514.51822 355.5 517.5 358.48178 517.5 362.16 L 517.5 373.59 C 517.5 377.26822 514.51822 380.25 510.84 380.25 L 96.66 380.25 C 92.981783 380.25 90 377.26822 90 373.59 L 90 362.16 C 90 358.48178 92.981783 355.5 96.66 355.5 Z" fill="url(#Obj_Gradient_7)"/><path d="M 96.66 355.5 L 510.84 355.5 C 514.51822 355.5 517.5 358.48178 517.5 362.16 L 517.5 373.59 C 517.5 377.26822 514.51822 380.25 510.84 380.25 L 96.66 380.25 C 92.981783 380.25 90 377.26822 90 373.59 L 90 362.16 C 90 358.48178 92.981783 355.5 96.66 355.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g i
 d="id10_Graphic"><path d="M 123.66 357.75 L 164.34 357.75 C 168.01822 357.75 171 360.73178 171 364.41 L 171 371.72672 C 171 375.40494 168.01822 378.38672 164.34 378.38672 L 123.66 378.38672 C 119.98178 378.38672 117 375.40494 117 371.72672 L 117 364.41 C 117 360.73178 119.98178 357.75 123.66 357.75 Z" fill="url(#Obj_Gradient_8)"/><path d="M 123.66 357.75 L 164.34 357.75 C 168.01822 357.75 171 360.73178 171 364.41 L 171 371.72672 C 171 375.40494 168.01822 378.38672 164.34 378.38672 L 123.66 378.38672 C 119.98178 378.38672 117 375.40494 117 371.72672 L 117 364.41 C 117 360.73178 119.98178 357.75 123.66 357.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(121 358.06836)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="4.0996094" y="8" textLength="40.023438">Replicated </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="14.550781" y="18
 " textLength="16.898438">Data</tspan></text></g><g id="id11_Graphic"><path d="M 285.66 357.75 L 326.34 357.75 C 330.01822 357.75 333 360.73178 333 364.41 L 333 371.72672 C 333 375.40494 330.01822 378.38672 326.34 378.38672 L 285.66 378.38672 C 281.98178 378.38672 279 375.40494 279 371.72672 L 279 364.41 C 279 360.73178 281.98178 357.75 285.66 357.75 Z" fill="url(#Obj_Gradient_9)"/><path d="M 285.66 357.75 L 326.34 357.75 C 330.01822 357.75 333 360.73178 333 364.41 L 333 371.72672 C 333 375.40494 330.01822 378.38672 326.34 378.38672 L 285.66 378.38672 C 281.98178 378.38672 279 375.40494 279 371.72672 L 279 364.41 C 279 360.73178 281.98178 357.75 285.66 357.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(283 358.06836)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="4.0996094" y="8" textLength="40.023438">Replicated </tspan><tspan font-family="Helvetica" font-size="8
 " font-weight="500" fill="black" x="14.550781" y="18" textLength="16.898438">Data</tspan></text></g><g id="id12_Graphic"><path d="M 447.66 357.75 L 488.34 357.75 C 492.01822 357.75 495 360.73178 495 364.41 L 495 371.72672 C 495 375.40494 492.01822 378.38672 488.34 378.38672 L 447.66 378.38672 C 443.98178 378.38672 441 375.40494 441 371.72672 L 441 364.41 C 441 360.73178 443.98178 357.75 447.66 357.75 Z" fill="url(#Obj_Gradient_a)"/><path d="M 447.66 357.75 L 488.34 357.75 C 492.01822 357.75 495 360.73178 495 364.41 L 495 371.72672 C 495 375.40494 492.01822 378.38672 488.34 378.38672 L 447.66 378.38672 C 443.98178 378.38672 441 375.40494 441 371.72672 L 441 364.41 C 441 360.73178 443.98178 357.75 447.66 357.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(445 358.06836)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="4.0996094" y="8" textLength="40.023438">Replicated
  </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="14.550781" y="18" textLength="16.898438">Data</tspan></text></g><line x1="144" y1="288" x2="144" y2="294.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="162" y1="288" x2="162" y2="294.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="126" y1="288" x2="126" y2="294.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(76 278.5)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="18.863281" y="8" textLength="98.27344">access to Hibernate entities</tspan></text><line x1="306" y1="288" x2="306" y2="294.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-lin
 ecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="324" y1="288" x2="324" y2="294.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="288" y1="288" x2="288" y2="294.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(238 278.5)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="18.863281" y="8" textLength="98.27344">access to Hibernate entities</tspan></text><line x1="468" y1="288" x2="468" y2="294.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="486" y1="288" x2="486" y2="294.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="450" y1="288" x
 2="450" y2="294.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(400 278.5)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="18.863281" y="8" textLength="98.27344">access to Hibernate entities</tspan></text><path d="M 144 403.948 L 144 405.668 L 144 409.834 C 144 412.13482 145.86518 414 148.166 414 L 301.834 414 C 304.13482 414 306 415.86518 306 418.166 L 306 422.332 L 306 424.052" marker-end="url(#FilledArrow_Marker_2)" marker-start="url(#FilledArrow_Marker_3)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 306 403.948 L 306 405.668 L 306 414 L 306 422.332 L 306 424.052" marker-end="url(#FilledArrow_Marker_2)" marker-start="url(#FilledArrow_Marker_3)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id27_Graphic"/><path d="M 468 
 403.948 L 468 405.668 L 468 409.834 C 468 412.13482 466.13482 414 463.834 414 L 310.166 414 C 307.86518 414 306 415.86518 306 418.166 L 306 422.332 L 306 424.052" marker-end="url(#FilledArrow_Marker_2)" marker-start="url(#FilledArrow_Marker_3)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(134.5 419.75)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="3.5117188" y="8" textLength="131.19922">If data not found in cache, Hibernate </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="30.421875" y="18" textLength="75.15625">accesses database...</tspan></text><g id="id30_Graphic"><path d="M 267.75 474.13214 L 267.75 438.3071 C 292.44543 431.48328 318.52901 431.48328 343.22444 438.3071 L 343.22444 474.13214 C 318.52901 480.95595 292.44543 480.95595 267.75 474.13214 Z" fill="url(#Obj_Gradient_b)"/><path d="M 267.75 474.13214 L 267.75 438.3071 C
  292.44543 431.48328 318.52901 431.48328 343.22444 438.3071 L 343.22444 474.13214 C 318.52901 480.95595 292.44543 480.95595 267.75 474.13214 Z M 267.75 438.3071 C 292.44543 445.1309 318.52901 445.1309 343.22444 438.3071" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><text transform="translate(276.25 450.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.7373047" y="9" textLength="40.02539">Relational</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="10.486572" y="20" textLength="38.526855">Database</tspan></text></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/fd8927cb/geode-docs/tools_modules/book_intro.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/book_intro.html.md.erb b/geode-docs/tools_modules/book_intro.html.md.erb
index 44d3f96..852e3c9 100644
--- a/geode-docs/tools_modules/book_intro.html.md.erb
+++ b/geode-docs/tools_modules/book_intro.html.md.erb
@@ -31,10 +31,6 @@ limitations under the License.
 
     Gemcached is a Geode adapter that allows Memcached clients to communicate with a Geode server cluster, as if the servers were memcached servers. Memcached is an open-source caching solution that uses a distributed, in-memory hash map to store key-value pairs of string or object data.
 
--   **[Hibernate Cache Module](../tools_modules/hibernate_cache/chapter_overview.html)**
-
-    The Geode Hibernate Cache Module provides fast, scalable, distributed L2 caching for Hibernate.
-
 -   **[HTTP Session Management Modules](../tools_modules/http_session_mgmt/chapter_overview.html)**
 
     The Apache Geode HTTP Session Management modules provide fast, scalable, and reliable session replication for HTTP servers without requiring application changes.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/fd8927cb/geode-docs/tools_modules/hibernate_cache/advanced_config.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/hibernate_cache/advanced_config.html.md.erb b/geode-docs/tools_modules/hibernate_cache/advanced_config.html.md.erb
deleted file mode 100644
index e42d9d0..0000000
--- a/geode-docs/tools_modules/hibernate_cache/advanced_config.html.md.erb
+++ /dev/null
@@ -1,51 +0,0 @@
----
-title:  Advanced Configuration of the Hibernate Cache Module
----
-
-<!--
-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.
--->
-
-After you set up Hibernate to work with the Geode module, Geode will run automatically with preconfigured settings. Depending on your topology, you may want to change these settings.
-
-Geode has these default settings:
-
--   Geode runs in a peer-to-peer configuration, rather than a client/server configuration.
--   Locators provide member discovery and load balancing services.
--   The cache region is replicated.
-
-These settings might not reflect your preferred usage. To change these and other settings, refer to this section.
-
-## <a id="hib_cach_adv_conf__configuration_flowchart" class="no-quick-link"></a>Configuration Flowchart
-
-The following flowchart illustrates some of the decisions you might consider before making configuration changes. If the action says "no change req.", then no configuration change is required to run Geode in that mode. All other actions are cross-referenced below the flowchart. For more information about the common Geode topologies, refer to [Common Geode Topologies](advanced_config.html#hib_cach_adv_conf__common_gemfire_topologies). For general information on how to make configuration changes, refer to "Changing Geode's Default Configuration".
-
-<img src="../../images/HibernateFlowchart.png" id="hib_cach_adv_conf__image_vjs_5c2_wv" class="image" />
-
--   **Use a Client/Server configuration**: See [Changing the Geode Topology](changing_gemfire_default_cfg.html#changing_gemfire_default_cfg__changing_gemfire_topology) for more information.
--   **Use a replicated region for server**: Change the server region shortcut to REPLICATE\_HEAP\_LRU as described in [Changing the Client/Server Region Attributes](changing_gemfire_default_cfg.html#changing_gemfire_default_cfg__changing_cs_region_atts).
--   **Use a partitioned region for peer**: Change the peer region shortcut to PARTITION as described in [Changing the Peer-to-peer Region Attributes](changing_gemfire_default_cfg.html#changing_gemfire_default_cfg__changing_p2p_region_atts).
--   **Use a CACHING\_PROXY region for client**: Change the client region shortcut to CACHING\_PROXY as described in [Changing the Client/Server Region Attributes](changing_gemfire_default_cfg.html#changing_gemfire_default_cfg__changing_cs_region_atts).
-
-## <a id="hib_cach_adv_conf__common_gemfire_topologies" class="no-quick-link"></a>Common Geode Topologies
-
-Before configuring the Geode module, you must consider which basic topology is suited for your usage. The configuration process is slightly different for each topology.
-
--   **Peer-to-Peer Configuration**. In a peer-to-peer configuration, each Geode instance within a Hibernate JVM contains its own cache. It communicates with other Geode instances as peers (rather than clients and servers). Depending on the way the Geode data region is defined, data is either replicated across all Geode peers or it is partitioned so that each instance's cache contains a portion of the entire data set. By default, data is replicated. A peer-to-peer configuration is useful when multiple systems need fast access to all data. By default, the Geode module will operate in a peer-to-peer configuration.
-    <img src="../../images_svg/hibernate_p2p.svg" id="hib_cach_adv_conf__image_B94FF72772C84014B382F949C8CA998C" class="image" />
--   **Client/Server Configuration**. In a client/server configuration, the Hibernate JVM operates as a Geode client, which must communicate with one or more Geode servers to acquire data. A client/server configuration is useful when you want to separate the Hibernate JVM from the cached data. In this configuration, you can reduce the memory consumption of the Hibernate process since data is stored in separate Geode server processes. For instruction on running Geode in a client/server configuration, refer to [Changing the Geode Topology](changing_gemfire_default_cfg.html#changing_gemfire_default_cfg__changing_gemfire_topology).
-    <img src="../../images_svg/hibernate_cs.svg" id="hib_cach_adv_conf__image_AAB713A6A4BC4BBEB1AFD5E6668E77BD" class="image" />
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/fd8927cb/geode-docs/tools_modules/hibernate_cache/changing_gemfire_default_cfg.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/hibernate_cache/changing_gemfire_default_cfg.html.md.erb b/geode-docs/tools_modules/hibernate_cache/changing_gemfire_default_cfg.html.md.erb
deleted file mode 100644
index b13ed0e..0000000
--- a/geode-docs/tools_modules/hibernate_cache/changing_gemfire_default_cfg.html.md.erb
+++ /dev/null
@@ -1,155 +0,0 @@
----
-title:  Changing Default Configuration of the Hibernate Cache Module
----
-
-<!--
-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.
--->
-
-To edit Geode configuration information (such as how members locate each other), you can add Geode properties to Hibernate's `hibernate.cfg.xml` file.
-
-When adding properties, use the following syntax:
-
-``` pre
-<property name="gemfire.PROPERTY_NAME">PROPERTY_VALUE</property>
-```
-
-In the preceding code snippet, `PROPERTY_NAME` is the property name and `PROPERTY_VALUE` is the property value. The list of configurable system properties include any of the properties that can be specified in Geode's `gemfire.properties` file. The property changes associated with the most common configurations are described below.
-
-## <a id="changing_gemfire_default_cfg__changing_gemfire_topology" class="no-quick-link"></a>Changing the Geode Topology
-
-By default, the topology is set for a peer-to-peer configuration rather than a client/server configuration. To use the peer-to-peer configuration, you don't have to make any changes. If you want to change the configuration to a client/server topology, alter this line of the Hibernate configuration file to be:
-
-``` pre
-<property name="gemfire.cache-topology">client-server</property>
-```
-
-Since the Hibernate process operates as a Geode client in this configuration, you must manually launch a Geode cache server. Do this after starting the locator. Make sure the Hibernate jar and the Geode modules jar are in the classpath, along with any dependencies. This command to start the server assumes that gfsh is in your path and sets the classpath on the command line needs to be altered to fill in the path to the directory in which contains the Hibernate jar files and correct the names of the jar files:
-
-``` pre
-$ gfsh start server \
---name=server1 \
---locators=localhost[10334] \
---server-port=0 \
---classpath=path/to/hibernate-jars/geode-modules-1.0.0.jar:\
-path/to/hibernate-jars/geode-modules-hibernate-1.0.0.jar
-```
-
-## <a id="changing_gemfire_default_cfg__changing_p2p_region_atts" class="no-quick-link"></a>Changing Peer-to-Peer Region Attributes
-
-You can change the region attributes from within the `hibernate.cfg.xml` file using the same region shortcuts specified in [Region Shortcuts and Custom Named Region Attributes](../../basic_config/data_regions/region_shortcuts.html).
-
-``` pre
-<property name="gemfire.default-region-attributes-id">
-  REGION_ATTRIBUTE
-</property> 
-```
-
-In this example, `REGION_ATTRIBUTE` can be any of the pre-defined region shortcuts. By default, this is REPLICATE\_HEAP\_LRU. Other available region shortcuts include: REPLICATE, REPLICATE\_PERSISTENT, PARTITION, PARTITION\_PERSISTENT, PARTITION\_REDUNDANT, PARTITION\_REDUNDANT\_PERSISTENT. If you plan to configure a region for persistence, refer to [Turning On Persistence](changing_gemfire_default_cfg.html#changing_gemfire_default_cfg__turning_on_persistence).
-
-You can also control the region type on a per-entity basis using the following code:
-
-``` pre
-<property name="gemfire.region-attributes-for: com.foo.Bar">
-  REGION_ATTRIBUTE
-</property> 
-```
-
-In this example, com.foo.Bar is the name of your class and REGION\_ATTRIBUTE can be one of the region shortcuts.
-
-## <a id="changing_gemfire_default_cfg__section_1AB292DC8D0B420DABFD2120A38FEDB4" class="no-quick-link"></a>Changing Region Names
-
-By default, the Geode Hibernate module puts entities in a region whose name is the fully qualified path of the entity. The module uses these region names to eagerly prefetch related entities. Therefore, we recommend that you do not change the default names of the regions that are created by Hibernate.
-
-## <a id="changing_gemfire_default_cfg__changing_cs_region_atts" class="no-quick-link"></a>Changing Client/Server Region Attributes
-
-When using a client/server configuration, the default region attribute for the Geode servers is a PARTITION region. This means that the data is partitioned across the pool of Geode servers. You can modify this behavior using the same instructions specified in [Changing Peer-to-Peer Region Attributes](changing_gemfire_default_cfg.html#changing_gemfire_default_cfg__changing_p2p_region_atts).
-
-In addition to the region attribute of the servers, you can also modify the region attributes for the Geode client, which is the process running Hibernate. By default this region is set to PROXY. This means that the client will not cache data.
-
-You can change the client region attributes from within the hibernate.cfg.xml file using the same client region shortcuts specified in [Region Shortcuts and Custom Named Region Attributes](../../basic_config/data_regions/region_shortcuts.html).
-
-``` pre
-<property name="gemfire.default-client-region-attributes-id">
-  CLIENT_REGION_ATTRIBUTE
-</property> 
-```
-
-In this example, CLIENT\_REGION\_ATTRIBUTE can be any of the pre-defined region shortcuts. By default, this is PROXY. If you would like the client to keep a local cache of recently used data, change the region to CACHING\_PROXY.
-
-You can also control the client region type on a per-entity basis using the following code:
-
-``` pre
-<property name="gemfire.client-region-attributes-for: com.foo.Bar">
-  CLIENT_REGION_ATTRIBUTE
-</property> 
-```
-
-In this example, com.foo.Bar is the name of your class and CLIENT\_REGION\_ATTRIBUTE can be one of the client region shortcuts.
-
-## <a id="changing_gemfire_default_cfg__turning_on_persistence" class="no-quick-link"></a>Turning On Persistence
-
-If you change the region type to any one of the persistent modes (such as PARTITION\_PERSISTENT and REPLICATE\_PERSISTENT), cache data will get stored into the current working directory. To change this location, supply disk storage information in Geode's `cache.xml` configuration file. For example:
-
-``` pre
-<cache>
-  <!-- define a disk store with a couple of directories. -->
-  <!-- All data logs are stored here -->
- <disk-store name="CacheDataRepository">
-  <disk-dirs>
-    <disk-dir>c:\cache_data</disk-dir>
-    <disk-dir dir-size="20480">d:\cache_data</disk-dir>
-  </disk-dirs>
- </disk-store>
-
- <!-- now change the predefined region attributes to use this disk store --> 
- <region-attributes id="MYAPP_PARTITION_PERSISTENT" 
-      ref-id="PARTITION_PERSISTENT">
-   <disk-store>CacheDataRepository</disk-store>
- </region-attributes>
-</cache> 
-```
-
-This example creates a 20480 MB data repository in the `d:\cache_data` subdirectory. It also defines a region attribute called MYAPP\_PARTITION\_PERSISTENT, which is derived from the PARTITION\_PERSISTENT region definition.
-
-You must also change Hibernate's `hibernate.cfg.xml` file to point to this xml file and to reference this particular region definition:
-
-``` pre
-<property name="gemfire.default-region-attributes-id">  
-  MYAPP_PARTITION_PERSISTENT
-</property> 
-<property name="gemfire.cache-xml-file">
-  c:\gemfire_cache.xml
-</property> 
-```
-
-## <a id="changing_gemfire_default_cfg__section_6F67CECB091948129081FDD34B892F91" class="no-quick-link"></a>**Caching Query Results**
-
-In a Hibernate application, the caching of query results is recommended for queries that are run frequently with the same parameters. However, most applications using Hibernate do not benefit from query results caching because Hibernate will invalidate cached results when even a single entity involved in the query is updated. For example, suppose that a query on the Person entity is cached. As soon as any instance of Person is updated, created or deleted, Hibernate will invalidate this query because it cannot predict the impact of the change on the cached query results. Therefore, the Geode Hibernate Cache Module does not distribute query results to other Geode member caches. The query results are always cached only in the Geode cache local to the Hibernate session.
-
-## <a id="changing_gemfire_default_cfg__section_E884BF4251D6494695408B30D1F350B1" class="no-quick-link"></a>Remapping the Hibernate EnumType with the Geode EnumType
-
-Due to an issue with Hibernate in a client-server topology, application classes must be present on the Geode cache server when a Hibernate application uses annotations. If you do not want to place the application classes on the Geode cache server, you can modify the Hibernate configuration to use the `org.apache.geode.modules.hibernate.EnumType` in place of `org.hibernate.type.EnumType`.
-
-To configure Hibernate to use the Geode EnumType, modify `hibernate.cfg.xml` to add a property for the mapping. For example:
-
-``` pre
-<property name="myEnum">
-    <type name="org.apache.geode.modules.hibernate.EnumType">
-    <param name="enumClass">com.mycompany.MyEnum</param>
-   </type>
-</property>
-```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/fd8927cb/geode-docs/tools_modules/hibernate_cache/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/hibernate_cache/chapter_overview.html.md.erb b/geode-docs/tools_modules/hibernate_cache/chapter_overview.html.md.erb
deleted file mode 100644
index 4402548..0000000
--- a/geode-docs/tools_modules/hibernate_cache/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,54 +0,0 @@
----
-title:  Hibernate Cache Module
----
-
-<!--
-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.
--->
-
-The Geode Hibernate Cache Module provides fast, scalable, distributed L2 caching for Hibernate.
-
-For additional information about Hibernate, see the [Hibernate](http://www.hibernate.org/) website.
-
--   **[Why Use Geode with Hibernate?](../../tools_modules/hibernate_cache/hibernate_why_use_gemfire.html)**
-
-    Using Apache Geode with Hibernate improves performance and scalability, gives you flexible caching options, and more.
-
--   **[How Geode Works with Hibernate](../../tools_modules/hibernate_cache/chapter_overview_how_works.html)**
-
-    After a few configuration changes, Apache Geode will cache Hibernate data. Depending on your usage model, you can replicate data across multiple peers, partition data across multiple servers, or manage your data in many other customizable ways.
-
--   **[Installing the Hibernate Cache Module](../../tools_modules/hibernate_cache/installing_gemfire_and_module.html)**
-
-    The Hibernate module is included in the Apache Geode installation package.
-
--   **[Setting Up the Geode Hibernate Cache Module](../../tools_modules/hibernate_cache/setting_up_the_module.html)**
-
-    Edit the `hibernate.cfg.xml` file to use the Hibernate Cache module.
-
--   **[Advanced Configuration of the Hibernate Cache Module](../../tools_modules/hibernate_cache/advanced_config.html)**
-
-    After you set up Hibernate to work with the Geode module, Geode will run automatically with preconfigured settings. Depending on your topology, you may want to change these settings.
-
--   **[Changing Default Configuration of the Hibernate Cache Module](../../tools_modules/hibernate_cache/changing_gemfire_default_cfg.html)**
-
-    To edit Geode configuration information (such as how members locate each other), you can add Geode properties to Hibernate's `hibernate.cfg.xml` file.
-
--   **[Using Hibernate Cache Module with HTTP Session Management Module](../../tools_modules/hibernate_cache/using_hibernate_with_http_session.html)**
-
-    This section describes how to set up the Hibernate Cache module if you are also using the HTTP Session Management module.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/fd8927cb/geode-docs/tools_modules/hibernate_cache/chapter_overview_how_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/hibernate_cache/chapter_overview_how_works.html.md.erb b/geode-docs/tools_modules/hibernate_cache/chapter_overview_how_works.html.md.erb
deleted file mode 100644
index d1c576a..0000000
--- a/geode-docs/tools_modules/hibernate_cache/chapter_overview_how_works.html.md.erb
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title:  How Geode Works with Hibernate
----
-
-<!--
-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.
--->
-
-After a few configuration changes, Apache Geode will cache Hibernate data. Depending on your usage model, you can replicate data across multiple peers, partition data across multiple servers, or manage your data in many other customizable ways.
-
-<img src="../../images_svg/hibernate_overview.svg" id="hib_cac_mod__image_47CDCD5F218041F7B2D267B99486AAAD" class="image" />
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/fd8927cb/geode-docs/tools_modules/hibernate_cache/hibernate_why_use_gemfire.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/hibernate_cache/hibernate_why_use_gemfire.html.md.erb b/geode-docs/tools_modules/hibernate_cache/hibernate_why_use_gemfire.html.md.erb
deleted file mode 100644
index 29a1a83..0000000
--- a/geode-docs/tools_modules/hibernate_cache/hibernate_why_use_gemfire.html.md.erb
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title:  Why Use Geode with Hibernate?
----
-
-<!--
-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.
--->
-
-Using Apache Geode with Hibernate improves performance and scalability, gives you flexible caching options, and more.
-
--   **General**
-
-    -   Geode's L2 cache solution improves Hibernate performance
-    -   Reduces traffic to your database server
-    -   Simple to configure: requires just a few changes to `hibernate.cfg.xml`
-    -   Flexible caching options, supporting several local and distributed configurations
-    -   Access to many of the Geode features
--   **Performance**
-
-    -   Mesh-like architecture provides single hop access to any entity
-    -   Designed to minimize serialization costs
--   **Scalability**
-
-    -   Data can be partitioned across the entire cluster
-    -   Smart heap utilization / smart eviction algorithm
-    -   Supports all Hibernate concurrency strategies (read only, read/write, non-strict read/write, transactional)
-    -   Ensures data consistency without expensive distributed locks
-    -   Overflow to disk on each system member for a shared-nothing persistence
-    -   Supports tiered caching
-
-


[45/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/conflate_multisite_gateway_queue.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/conflate_multisite_gateway_queue.html.md.erb b/developing/events/conflate_multisite_gateway_queue.html.md.erb
deleted file mode 100644
index e2e7ff1..0000000
--- a/developing/events/conflate_multisite_gateway_queue.html.md.erb
+++ /dev/null
@@ -1,113 +0,0 @@
----
-title:  Conflating Events in a Queue
----
-
-Conflating a queue improves distribution performance. When conflation is enabled, only the latest queued value is sent for a particular key.
-
-<a id="conflate_multisite_gateway_queue__section_294AD2E2328E4D6B8D6A73966F7B3B14"></a>
-**Note:**
-Do not use conflation if your receiving applications depend on the specific ordering of entry modifications, or if they need to be notified of every change to an entry.
-
-Conflation is most useful when a single entry is updated frequently, but other sites only need to know the current value of the entry (rather than the value of each update). When an update is added to a queue that has conflation enabled, if there is already an update message in the queue for the entry key, then the existing message assumes the value of the new update and the new update is dropped, as shown here for key A.
-
-<img src="../../images/MultiSite-4.gif" id="conflate_multisite_gateway_queue__image_27219DAAB6D643348641389DBAEA1E94" class="image" />
-
-**Note:**
-This method of conflation is different from the one used for server-to-client subscription queue conflation and peer-to-peer distribution within a distributed system.
-
-## <a id="conflate_multisite_gateway_queue__section_207FA6BF0F734F9A91EAACB136F8D6B5" class="no-quick-link"></a>Examples\u2014Configuring Conflation for a Gateway Sender Queue
-
-To enable conflation for a gateway sender queue, use one of the following mechanisms:
-
--   **cache.xml configuration**
-
-    ``` pre
-    <cache>
-      <gateway-sender id="NY" parallel="true" 
-       remote-distributed-system-id="1"
-       enable-persistence="true"
-       disk-store-name="gateway-disk-store"
-       enable-batch-conflation="true"/> 
-       ... 
-    </cache>
-    ```
-
--   **Java API configuration**
-
-    ``` pre
-    Cache cache = new CacheFactory().create();
-
-    GatewaySenderFactory gateway = cache.createGatewaySenderFactory();
-    gateway.setParallel(true);
-    gateway.setPersistenceEnabled(true);
-    gateway.setDiskStoreName("gateway-disk-store");
-    gateway.setBatchConflationEnabled(true);
-    GatewaySender sender = gateway.create("NY", "1");
-    sender.start();
-    ```
-
-    Entry updates in the current, in-process batch are not eligible for conflation.
-
--   **gfsh:**
-
-    ``` pre
-    gfsh>create gateway-sender --id="NY" --parallel=true 
-       --remote-distributed-system-id="1"
-       --enable-persistence=true
-       --disk-store-name="gateway-disk-store"
-       --enable-batch-conflation=true
-    ```
-
-The following examples show how to configure conflation for an asynchronous event queue:
-
--   **cache.xml configuration**
-
-    ``` pre
-    <cache>
-       <async-event-queue id="sampleQueue" persistent="true"
-        disk-store-name="async-disk-store" parallel="false"
-        enable-batch-conflation="true">
-          <async-event-listener>
-             <class-name>MyAsyncEventListener</class-name>
-             <parameter name="url"> 
-               <string>jdbc:db2:SAMPLE</string> 
-             </parameter> 
-             <parameter name="username"> 
-               <string>gfeadmin</string> 
-             </parameter> 
-             <parameter name="password"> 
-               <string>admin1</string> 
-             </parameter> 
-       </async-event-listener>
-     </async-event-queue>
-    ...
-    </cache>
-    ```
-
--   **Java API configuration**
-
-    ``` pre
-    Cache cache = new CacheFactory().create();
-    AsyncEventQueueFactory factory = cache.createAsyncEventQueueFactory();
-    factory.setPersistent(true);
-    factory.setDiskStoreName("async-disk-store");
-    factory.setParallel(false);
-    factory.setBatchConflationEnabled(true);
-    AsyncEventListener listener = new MyAsyncEventListener();
-    AsyncEventQueue sampleQueue = factory.create("customerWB", listener);
-    ```
-
-    Entry updates in the current, in-process batch are not eligible for conflation.
-
--   **gfsh:**
-
-    ``` pre
-    gfsh>create async-event-queue --id="sampleQueue" --persistent=true 
-    --disk-store="async-disk-store" --parallel="false" 
-    --listener=myAsyncEventListener 
-    --listener-param=url#jdbc:db2:SAMPLE 
-    --listener-param=username#gfeadmin 
-    --listener-param=password#admin1
-    ```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/conflate_server_subscription_queue.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/conflate_server_subscription_queue.html.md.erb b/developing/events/conflate_server_subscription_queue.html.md.erb
deleted file mode 100644
index f6d4990..0000000
--- a/developing/events/conflate_server_subscription_queue.html.md.erb
+++ /dev/null
@@ -1,36 +0,0 @@
----
-title:  Conflate the Server Subscription Queue
----
-
-<a id="conflate_the_server_subscription_queue__section_1791DFB89502480EB57F81D16AC0EBAC"></a>
-Conflating the server subscription queue can save space in the server and time in message processing.
-
-Enable conflation at the server level in the server region configuration:
-
-``` pre
-<region ... >
-  <region-attributes enable-subscription-conflation="true" /> 
-</region>
-```
-
-Override the server setting as needed, on a per-client basis, in the client\u2019s `gemfire.properties`:
-
-``` pre
-conflate-events=false
-```
-
-Valid `conflate-events` settings are:
--   `server`, which uses the server settings
--   `true`, which conflates everything sent to the client
--   `false`, which does not conflate anything sent to this client
-
-Conflation can both improve performance and reduce the amount of memory required on the server for queuing. The client receives only the latest available update in the queue for a particular entry key. Conflation is disabled by default.
-
-Conflation is particularly useful when a single entry is updated often and the intermediate updates don\u2019t require processing by the client. With conflation, if an entry is updated and there is already an update in the queue for its key, the existing update is removed and the new update is placed at the end of the queue. Conflation is only done on messages that are not in the process of being sent to the client.
-
-<img src="../../images/ClientServerAdvancedTopics-7.gif" id="conflate_the_server_subscription_queue__image_FA77FD2857464D17BF2ED5B3CC62687A" class="image" />
-
-**Note:**
-This method of conflation is different from the one used for multi-site gateway sender queue conflation. It is the same as the method used for the conflation of peer-to-peer distribution messages within a single distributed system.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/event_handler_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/event_handler_overview.html.md.erb b/developing/events/event_handler_overview.html.md.erb
deleted file mode 100644
index c020e3a..0000000
--- a/developing/events/event_handler_overview.html.md.erb
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title:  Implementing Geode Event Handlers
----
-
-You can specify event handlers for region and region entry operations and for administrative events.
-
--   **[Implementing Cache Event Handlers](implementing_cache_event_handlers.html)**
-
-    Depending on your installation and configuration, cache events can come from local operations, peers, servers, and remote sites. Event handlers register their interest in one or more events and are notified when the events occur.
-
--   **[Implementing an AsyncEventListener for Write-Behind Cache Event Handling](implementing_write_behind_event_handler.html)**
-
-    An `AsyncEventListener` asynchronously processes batches of events after they have been applied to a region. You can use an `AsyncEventListener` implementation as a write-behind cache event handler to synchronize region updates with a database.
-
--   **[How to Safely Modify the Cache from an Event Handler Callback](writing_callbacks_that_modify_the_cache.html)**
-
-    Event handlers are synchronous. If you need to change the cache or perform any other distributed operation from event handler callbacks, be careful to avoid activities that might block and affect your overall system performance.
-
--   **[Cache Event Handler Examples](cache_event_handler_examples.html)**
-
-    Some examples of cache event handlers.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/filtering_multisite_events.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/filtering_multisite_events.html.md.erb b/developing/events/filtering_multisite_events.html.md.erb
deleted file mode 100644
index a46d18e..0000000
--- a/developing/events/filtering_multisite_events.html.md.erb
+++ /dev/null
@@ -1,109 +0,0 @@
----
-title:  Filtering Events for Multi-Site (WAN) Distribution
----
-
-You can optionally create gateway sender and/or gateway receiver filters to control which events are queued and distributed to a remote site, or to modify the data stream that is transmitted between Geode sites.
-
-You can implement and deploy two different types of filter for multi-site events:
-
--   `GatewayEventFilter`. A `GatewayEventFilter` implementation determines whether a region event is placed in a gateway sender queue and/or whether an event in a gateway queue is distributed to a remote site. You can optionally add one or more `GatewayEventFilter` implementations to a gateway sender, etiher in the `cache.xml` configuration file or using the Java API.
-
-    Geode makes a synchronous call to the filter's `beforeEnqueue` method before it places a region event in the gateway sender queue. The filter returns a boolean value that specifies whether the event should be added to the queue.
-
-    Geode asynchronously calls the filter's `beforeTransmit` method to determine whether the gateway sender dispatcher thread should distribute the event to a remote gateway receiver.
-
-    For events that are distributed to another site, Geode calls the listener's `afterAcknowledgement` method to indicate that is has received an ack from the remote site after the event was received.
-
--   GatewayTransportFilter. Use a `GatewayTransportFilter` implementation to process the TCP stream that sends a batch of events that is distributed from one Geode cluster to another over a WAN. A `GatewayTransportFilter` is typically used to perform encryption or compression on the data that distributed. You install the same `GatewayTransportFilter` implementation on both a gateway sender and gateway receiver.
-
-    When a gateway sender processes a batch of events for distribution, Geode delivers the stream to the `getInputStream` method of a configured `GatewayTransportFilter` implementation. The filter processes and returns the stream, which is then transmitted to the gateway receiver. When the gateway receiver receives the batch, Geode calls the `getOutputStream` method of a configured filter, which again processes and returns the stream so that the events can be applied in the local cluster.
-
-## <a id="topic_E97BB68748F14987916CD1A50E4B4542__section_E20B4A8A98FD4EDAAA8C14B8059AA7F7" class="no-quick-link"></a>Configuring Multi-Site Event Filters
-
-You install a `GatewayEventFilter` implementation to a configured gateway sender in order to decide which events are queued and distributed. You install a `GatewayTransportFilter` implementation to both a gateway sender and a gateway receiver to process the stream of batched events that are distributed between two sites:
-
--   **XML example**
-
-    ``` pre
-    <cache>
-      <gateway-sender id="remoteA" parallel="true" remote-distributed-system-id="1"> 
-        <gateway-event-filter>
-          <class-name>org.apache.geode.util.SampleEventFilter</class-name>
-          <parameter name="param1">
-            <string>"value1"</string>
-          </parameter>
-        </gateway-event-filter>
-        <gateway-transport-filter>
-          <class-name>org.apache.geode.util.SampleTransportFilter</class-name>
-          <parameter name="param1">
-            <string>"value1"</string>
-          </parameter>
-        </gateway-transport-filter>
-      </gateway-sender> 
-    </cache>
-    ```
-
-    ``` pre
-    <cache>
-      ...
-      <gateway-receiver start-port="1530" end-port="1551"> 
-        <gateway-transport-filter>
-          <class-name>org.apache.geode.util.SampleTransportFilter</class-name>
-          <parameter name="param1">
-            <string>"value1"</string>
-          </parameter>
-        </gateway-transport-filter>
-      </gateway-receiver>
-    </cache>
-    ```
-
--   **gfsh example**
-
-    ``` pre
-    gfsh>create gateway-sender --id=remoteA --parallel=true --remote-distributed-id="1" 
-    --gateway-event-filter=org.apache.geode.util.SampleEventFilter 
-    --gateway-transport-filter=org.apache.geode.util.SampleTransportFilter
-    ```
-
-    See [create gateway-sender](../../tools_modules/gfsh/command-pages/create.html#topic_hg2_bjz_ck).
-
-    ``` pre
-    gfsh>create gateway-receiver --start-port=1530 --end-port=1551 \
-    --gateway-transport-filter=org.apache.geode.util.SampleTransportFilter
-    ```
-
-    **Note:**
-    You cannot specify parameters and values for the Java class you specify with the `--gateway-transport-filter` option.
-
-    See [create gateway-receiver](../../tools_modules/gfsh/command-pages/create.html#topic_a4x_pb1_dk).
-
--   **API example**
-
-    ``` pre
-    Cache cache = new CacheFactory().create();
-
-    GatewayEventFilter efilter = new SampleEventFilter();
-    GatewayTransportFilter tfilter = new SampleTransportFilter();
-
-    GatewaySenderFactory gateway = cache.createGatewaySenderFactory();
-    gateway.setParallel(true);
-    gateway.addGatewayEventFilter(efilter);
-    gateway.addTransportFilter(tfilter);
-    GatewaySender sender = gateway.create("remoteA", "1");
-    sender.start();
-    ```
-
-    ``` pre
-    Cache cache = new CacheFactory().create();
-
-    GatewayTransportFilter tfilter = new SampleTransportFilter();
-
-    GatewayReceiverFactory gateway = cache.createGatewayReceiverFactory();
-    gateway.setStartPort(1530);
-    gateway.setEndPort(1551);
-    gateway.addTransportFilter(tfilter);
-    GatewayReceiver receiver = gateway.create();
-    receiver.start();
-    ```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/ha_event_messaging_whats_next.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/ha_event_messaging_whats_next.html.md.erb b/developing/events/ha_event_messaging_whats_next.html.md.erb
deleted file mode 100644
index f61aba6..0000000
--- a/developing/events/ha_event_messaging_whats_next.html.md.erb
+++ /dev/null
@@ -1,78 +0,0 @@
----
-title:  Highly Available Client/Server Event Messaging
----
-
-<a id="ha_event_messaging_whats_next__section_F163917311E8478399D1DD273E8BCDF5"></a>
-With server redundancy, each pool has a primary server and some number of secondaries. The primaries and secondaries are assigned on a per-pool basis and are generally spread out for load balancing, so a single client with multiple pools may have primary queues in more than one server.
-
-The primary server pushes events to clients and the secondaries maintain queue backups. If the primary server fails, one of the secondaries becomes primary to provide uninterrupted event messaging.
-
-For example, if there are six servers running and `subscription-redundancy` is set to two, one server is the primary, two servers are secondary, and the remaining three do not actively participate in HA for the client. If the primary server fails, the system assigns one of the secondaries as the new primary and attempts to add another server to the secondary pool to retain the initial redundancy level. If no new secondary server is found, then the redundancy level is not satisfied but the failover procedure completes successfully. As soon as another secondary is available, it is added.
-
-When high availability is enabled:
-
--   The primary server sends event messages to the clients.
--   Periodically, the clients send received messages to the server and the server removes the sent messages from its queues.
--   Periodically, the primary server synchronizes with its secondaries, notifying them of messages that can be discarded because they have already been sent and received. There is a lag in notification, so the secondary servers remain only roughly synchronized with the primary. Secondary queues contain all messages that are contained in the primary queue plus possibly a few messages that have already been sent to clients.
--   In the case of primary server failure, one of the secondaries becomes the primary and begins sending event messages from its queues to the clients. Immediately after failover, the new primary usually resends some messages that were already sent by the old primary. The client recognizes these as duplicates and discards them.
-
-In stage 1 of this figure, the primary sends an event message to the client and a synchronization message to its secondary. By stage 2, the secondary and client have updated their queue and message tracking information. If the primary failed at stage two, the secondary would start sending event messages from its queue beginning with message A10. The client would discard the resend of message A10 and then process subsequent messages as usual.
-<img src="../../images/ClientServerAdvancedTopics-5.gif" alt="High Availability Messaging: Server to Client and Primary Server to Secondary Server" id="ha_event_messaging_whats_next__image_8947A42EDEF74911BAB55B79ED8DA984" class="image" />
-
-## <a id="ha_event_messaging_whats_next__section_741052B413F24F47A14F5B7D7955F0AA" class="no-quick-link"></a>Change Server Queue Synchronization Frequency
-
-By default, the primary server sends queue synchronization messages to the secondaries every second. You can change this interval with the `gfsh alter                     runtime` command
-
-Set the interval for queue synchronization messages as follows:
-
--   gfsh:
-
-    ``` pre
-    gfsh>alter runtime --message-sync-interval=2
-    ```
-
--   XML:
-
-    ``` pre
-    <!-- Set sync interval to 2 seconds --> 
-    <cache ... message-sync-interval="2" />
-    ```
-
--   Java:
-
-    ``` pre
-    cache = CacheFactory.create();
-    cache.setMessageSyncInterval(2);  
-    ```
-
-The ideal setting for this interval depends in large part on your application behavior. These are the benefits of shorter and longer interval settings:
-
--   A shorter interval requires less memory in the secondary servers because it reduces queue buildup between synchronizations. In addition, fewer old messages in the secondary queues means reduced message re-sends after a failover. These considerations are most important for systems with high data update rates.
--   A longer interval requires fewer distribution messages between the primary and secondary, which benefits overall system performance.
-
-## <a id="ha_event_messaging_whats_next__section_DF51950D30154A58818F6AD777BB3090" class="no-quick-link"></a>Set Frequency of Orphan Removal from the Secondary Queues
-
-Usually, all event messages are removed from secondary subscription queues based on the primary's synchronization messages. Occasionally, however, some messages are orphaned in the secondary queues. For example, if a primary fails in the middle of sending a synchronization message to its secondaries, some secondaries might receive the message and some might not. If the failover goes to a secondary that did receive the message, the system will have secondary queues holding messages that are no longer in the primary queue. The new primary will never synchronize on these messages, leaving them orphaned in the secondary queues.
-
-To make sure these messages are eventually removed, the secondaries expire all messages that have been enqueued longer than the time indicated by the servers' `message-time-to-live`.
-
-Set the time-to-live as follows:
-
--   XML:
-
-    ``` pre
-    <!-- Set message ttl to 5 minutes --> 
-    <cache-server port="41414" message-time-to-live="300" />
-    ```
-
--   Java:
-
-    ``` pre
-    Cache cache = ...;
-    CacheServer cacheServer = cache.addCacheServer();
-    cacheServer.setPort(41414);
-    cacheServer.setMessageTimeToLive(200);
-    cacheServer.start();                
-    ```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/how_cache_events_work.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/how_cache_events_work.html.md.erb b/developing/events/how_cache_events_work.html.md.erb
deleted file mode 100644
index a0fa79e..0000000
--- a/developing/events/how_cache_events_work.html.md.erb
+++ /dev/null
@@ -1,54 +0,0 @@
----
-title:  Peer-to-Peer Event Distribution
----
-
-When a region or entry operation is performed, Geode distributes the associated events in the distributed system according to system and cache configurations.
-
-<a id="how_cache_events_work__section_7864A275FDB549FD8E2D046DD59CB9F4"></a>
-Install a cache listener for a region in each system member that needs to receive notification of region and entry changes.
-
-## <a id="how_cache_events_work__section_CACE500A00214CD88CE232D22899263B" class="no-quick-link"></a>Events in a Partitioned Region
-
-A distributed operation follows this sequence in a partitioned region:
-
-1.  Apply the operation to the cache with the primary data entry, if appropriate.
-2.  Do the distribution based on the subscription-attributes interest-policy of the other members.
-3.  Invoke any listeners in the caches that receive the distribution.
-4.  Invoke the listener in the cache with the primary data entry.
-
-In the following figure:
-
-1.  An API call in member M1 creates an entry.
-2.  The partitioned region creates the new entry in the cache in M2. M2, the holder of the primary copy, drives the rest of the procedure.
-3.  These two operations occur simultaneously:
-    -   The partitioned region creates a secondary copy of the entry in the cache in M3. Creating the secondary copy does not invoke the listener on M3.
-    -   M2 distributes the event to M4. This distribution to the other members is based on their interest policies. M4 has an interest-policy of all , so it receives notification of all events anywhere in the region. Since M1 and M3 have an interest-policy of cache-content , and this event does not affect any pre-existing entry in their local caches, they do not receive the event.
-
-4.  The cache listener on M4 handles the notification of the remote event on M2.
-5.  Once everything on the other members has completed successfully, the original create operation on M2 succeeds and invokes the cache listener on M2.
-
-<img src="../../images/Events-2.gif" id="how_cache_events_work__image_E5E187C14A774144B85FA7B636239DBE" class="image" />
-
-## <a id="how_cache_events_work__section_FACF58272C824907BA020B1727427D7A" class="no-quick-link"></a>Events in a Distributed Region
-
-A distributed operation follows this sequence in a distributed region:
-
-1.  Apply the operation to the local cache, if appropriate.
-2.  Invoke the local listeners.
-3.  Do the distribution.
-4.  Each member that receives the distribution carries out its own operation in response, which invokes any local listeners.
-
-In the following figure:
-
-1.  An entry is created through a direct API call on member M1.
-2.  The create invokes the cache listener on M1.
-3.  M1 distributes the event to the other members.
-4.  M2 and M3 apply the remote change through their own local operations.
-5.  M3 does a create, but M2 does an update, because the entry already existed in its cache.
-6.  The cache listener on M2 receives callbacks for the local update. Since there is no cache listener on M3, the callbacks from the create on M3 are not handled. An API call in member M1 creates an entry.
-
-<img src="../../images/Events-3.gif" id="how_cache_events_work__image_A24D6182B2A840D1843EBD4686966EEF" class="image" />
-
-## <a id="how_cache_events_work__section_B4DCA51DDF7F44699E7355277172BEF0" class="no-quick-link"></a>Managing Events in Multi-threaded Applications
-
-For partitioned regions, Geode guarantees ordering of events across threads, but for distributed regions it doesn\u2019t. For multi-threaded applications that create distributed regions, you need to use your application synchronization to make sure that one operation completes before the next one begins. Distribution through the distributed-no-ack queue can work with multiple threads if you set the `conserve-sockets` attribute to true. Then the threads share one queue, preserving the order of the events in distributed regions. Different threads can invoke the same listener, so if you allow different threads to send events, it can result in concurrent invocations of the listener. This is an issue only if the threads have some shared state - if they are incrementing a serial number, for example, or adding their events to a log queue. Then you need to make your code thread safe.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/how_client_server_distribution_works.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/how_client_server_distribution_works.html.md.erb b/developing/events/how_client_server_distribution_works.html.md.erb
deleted file mode 100644
index 869adf0..0000000
--- a/developing/events/how_client_server_distribution_works.html.md.erb
+++ /dev/null
@@ -1,120 +0,0 @@
----
-title:  Client-to-Server Event Distribution
----
-
-Clients and servers distribute events according to client activities and according to interest registered by the client in server-side cache changes.
-
-<a id="how_client_server_distribution_works__section_F1070B06B3344D1CA7309934FCE097B9"></a>
-When the client updates its cache, changes to client regions are automatically forwarded to the server side. The server-side update is then propagated to the other clients that are connected and have subscriptions enabled. The server does not return the update to the sending client.
-
-The update is passed to the server and then passed, with the value, to every other client that has registered interest in the entry key. This figure shows how a client\u2019s entry updates are propagated.
-
-<img src="../../images_svg/client_server_event_dist.svg" id="how_client_server_distribution_works__image_66AB57EEDC154962B32F7951667F4656" class="image" />
-
-The figure shows the following process:
-
-1.  Entry X is updated or created in Region A through a direct API call on Client1.
-2.  The update to the region is passed to the pool named in the region.
-3.  The pool propagates the event to the cache server, where the region is updated.
-4.  The server member distributes the event to its peers and also places it into the subscription queue for Client2 because that client has previously registered interest in entry X.
-5.  The event for entry X is sent out of the queue to Client2. When this happens is indeterminate.
-
-Client to server distribution uses the client pool connections to send updates to the server. Any region with a named pool automatically forwards updates to the server. Client cache modifications pass first through a client `CacheWriter`, if one is defined, then to the server through the client pool, and then finally to the client cache itself. A cache writer, either on the client or server side, may abort the operation.
-
-| Change in Client Cache                              | Effect on Server Cache                                                                                    |
-|-----------------------------------------------------|-----------------------------------------------------------------------------------------------------------|
-| Entry create or update                              | Creation or update of entry.                                                                              |
-| Distributed entry destroy                           | Entry destroy. The destroy call is propagated to the server even if the entry is not in the client cache. |
-| Distributed region destroy/clear (distributed only) | Region destroy/clear                                                                                      |
-
-**Note:**
-Invalidations on the client side are not forwarded to the server.
-
-## <a id="how_client_server_distribution_works__section_A16562611E094C88B12BC149D5EEEEBA" class="no-quick-link"></a>Server-to-Client Event Distribution
-
-The server automatically sends entry modification events only for keys in which the client has registered interest. In the interest registration, the client indicates whether to send new values or just invalidations for the server-side entry creates and updates. If invalidation is used, the client then updates the values lazily as needed.
-
-This figure shows the complete event subscription event distribution for interest registrations, with value receipt requested (receiveValues=true) and without.
-
-<img src="../../images_svg/server_client_event_dist.svg" id="how_client_server_distribution_works__image_7FD1450B9D58429F860400801EDFDCAE" class="image" />
-
-<table>
-<colgroup>
-<col width="50%" />
-<col width="50%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th>Change in Server Cache</th>
-<th>Effect on Client Cache</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td>Entry create/update</td>
-<td>For subscriptions with <code class="ph codeph">receiveValues</code> set to true, entry create or update.
-<p></p>
-For subscriptions with <code class="ph codeph">receiveValues</code> set to false, entry invalidate if the entry already exists in the client cache; otherwise, no effect. The next client get for the entry is forwarded to the server.</td>
-</tr>
-<tr class="even">
-<td>Entry invalidate/destroy (distributed only)</td>
-<td>Entry invalidate/destroy</td>
-</tr>
-<tr class="odd">
-<td>Region destroy/clear (distributed only)</td>
-<td>Region destroy or local region clear</td>
-</tr>
-</tbody>
-</table>
-
-Server-side distributed operations are all operations that originate as a distributed operation in the server or one of its peers. Region invalidation in the server is not forwarded to the client.
-
-**Note:**
-To maintain a unified set of data in your servers, do not do local entry invalidation in your server regions.
-
-## <a id="how_client_server_distribution_works__section_34613292788D4FA4AB730045FB9A405A" class="no-quick-link"></a>Server-to-Client Message Tracking
-
-The server uses an asynchronous messaging queue to send events to its clients. Every event in the queue originates in an operation performed by a thread in a client, a server, or an application in the server\u2019s or some other distributed system. The event message has a unique identifier composed of the originating thread\u2019s ID combined with its member\u2019s distributed system member ID, and the sequential ID of the operation. So the event messages originating in any single thread can be grouped and ordered by time from lowest sequence ID to highest. Servers and clients track the highest sequential ID for each member thread ID.
-
-A single client thread receives and processes messages from the server, tracking received messages to make sure it does not process duplicate sends. It does this using the process IDs from originating threads.
-
-<img src="../../images_svg/client_server_message_tracking.svg" id="how_client_server_distribution_works__image_F4F9D13252E14F11AD63240AED39191A" class="image" />
-
-The client\u2019s message tracking list holds the highest sequence ID of any message received for each originating thread. The list can become quite large in systems where there are many different threads coming and going and doing work on the cache. After a thread dies, its tracking entry is not needed. To avoid maintaining tracking information for threads that have died, the client expires entries that have had no activity for more than the `subscription-message-tracking-timeout`.
-
-## <a id="how_client_server_distribution_works__section_99E436C569F3422AA842AA74F73A6B36" class="no-quick-link"></a>Client Interest Registration on the Server
-
-The system processes client interest registration following these steps:
-
-1.  The entries in the client region that may be affected by this registration are silently destroyed. Other keys are left alone.
-    -   For the `registerInterest` method, the system destroys all of the specified keys, leaving other keys in the client region alone. So if you have a client region with keys A, B, and C and you register interest in the key list A, B, at the start of the `registerInterest` operation, the system destroys keys A and B in the client cache but does not touch key C.
-    -   For the `registerInterestRegex` method, the system silently destroys all keys in the client region.
-
-2.  The interest specification is sent to the server, where it is added to the client\u2019s interest list. The list can specify entries that are not in the server region at the time interest is registered.
-3.  If a bulk load is requested in the call's `InterestResultPolicy` parameter, before control is returned to the calling method, the server sends all data that currently satisfies the interest specification. The client's region is updated automatically with the downloaded data. If the server region is partitioned, the entire partitioned region is used in the bulk load. Otherwise, only the server\u2019s local cache region is used. The interest results policy options are:
-    -   KEYS\u2014The client receives a bulk load of all available keys matching the interest registration criteria.
-    -   KEYS\_VALUES\u2014The client receives a bulk load of all available keys and values matching the interest registration criteria. This is the default interest result policy.
-    -   NONE\u2014The client does not receive any immediate bulk loading.
-
-Once interest is registered, the server continually monitors region activities and sends events to its clients that match the interest.
-
--   No events are generated by the register interest calls, even if they load values into the client cache.
--   The server maintains the union of all of the interest registrations, so if a client registers interest in key \u2018A\u2019, then registers interest in regular expression "B\*", the server will send updates for all entries with key \u2018A\u2019 or key beginning with the letter \u2018B\u2019.
--   The server maintains the interest registration list separate from the region. The list can contain specifications for entries that are not currently in the server region.
--   The `registerInterestRegex` method uses the standard `java.util.regex` methods to parse the key specification.
-
-## <a id="how_client_server_distribution_works__section_928BB60066414BEB9FAA7FB3120334A3" class="no-quick-link"></a>Server Failover
-
-When a server hosting a subscription queue fails, the queueing responsibilities pass to another server. How this happens depends on whether the new server is a secondary server. In any case, all failover activities are carried out automatically by the Geode system.
-
--   **Non-HA failover:** The client fails over without high availability if it is not configured for redundancy or if all secondaries also fail before new secondaries can be initialized. As soon as it can attach to a server, the client goes through an automatic reinitialization process. In this process, the failover code on the client side silently destroys all entries of interest to the client and refetches them from the new server, essentially reinitializing the client cache from the new server\u2019s cache. For the notify all configuration, this clears and reloads all of the entries for the client regions that are connected to the server. For notify by subscription, it clears and reloads only the entries in the region interest lists. To reduce failover noise, the events caused by the local entry destruction and refetching are blocked by the failover code and do not reach the client cache listeners. Because of this, your clients could receive some out-of-sequence events during and af
 ter a server failover. For example, entries that exist on the failed server and not on its replacement are destroyed and never recreated during a failover. Because the destruction events are blocked, the client ends up with entries removed from its cache with no associated destroy events.
--   **HA failover:** If your client pool is configured with redundancy and a secondary server is available at the time the primary fails, the failover is invisible to the client. The secondary server resumes queueing activities as soon as the primary loss is detected. The secondary might resend a few events, which are discarded automatically by the client message tracking activities.
-
-    **Note:**
-    There is a very small potential for message loss during HA server failover. The risk is not present for failover to secondaries that have fully initialized their subscription queue data. The risk is extremely low in healthy systems that use at least two secondary servers. The risk is higher in unstable systems where servers often fail and where secondaries do not have time to initialize their subscription queue data before becoming primaries. To minimize the risk, the failover logic chooses the longest-lived secondary as the new primary.
-
-
-    **Note:**
-    Redundancy management is handled by the client, so when a durable client is disconnected from the server, client event redundancy is not maintained. Even if the servers fail one at a time, so that running clients have time to fail over and pick new secondary servers, an offline durable client cannot fail over. As a result, the client loses its queued messages.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/how_events_work.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/how_events_work.html.md.erb b/developing/events/how_events_work.html.md.erb
deleted file mode 100644
index 4553582..0000000
--- a/developing/events/how_events_work.html.md.erb
+++ /dev/null
@@ -1,94 +0,0 @@
----
-title:  How Events Work
----
-
-Members in your Geode distributed system receive cache updates from other members through cache events. The other members can be peers to the member, clients or servers or other distributed systems.
-
-## <a id="how_events_work__section_6C75098DDBB84944ADE57F2088330D5A" class="no-quick-link"></a>Events Features
-
-These are the primary features of Geode events:
-
--   Content-based events
--   Asynchronous event notifications with conflation
--   Synchronous event notifications for low latency
--   High availability through redundant messaging queues
--   Event ordering and once and only-once delivery
--   Distributed event notifications
--   Durable subscriptions
--   Continuous querying
-
-## <a id="how_events_work__section_F5F0E506652940DFBA0D6B7AAA72E3EF" class="no-quick-link"></a>Types of Events
-
-There are two categories of events and event handlers.
-
--   Cache events in the caching API are used by applications with a cache. Cache events provide detail-level notification for changes to your data. Continuous query events are in this category.
--   Administrative events in the administration API are used by administrative applications without caches.
-
-Both kinds of events can be generated by a single member operation.
-
-**Note:**
-You can handle one of these categories of events in a single system member. You cannot handle both cache and administrative events in a single member.
-
-Because Geode maintains the order of administrative events and the order of cache events separately, using cache events and administrative events in a single process can cause unexpected results.
-
-## <a id="how_events_work__section_4BCDB22AB927478EBF1035B0DE230DD3" class="no-quick-link"></a>Event Cycle
-
-The following steps describe the event cycle:
-
-1.  An operation begins, such as data put or a cache close.
-2.  The operation execution generates these objects:
-    -   An object of type `Operation` that describes the method that triggered the event.
-    -   An event object that describes the event, such as the member and region where the operation originated.
-
-3.  The event handlers that can handle the event are called and passed the event objects. Different event types require different handler types in different locations. If there is no matching event handler, that does not change the effect of the operation, which happens as usual.
-4.  When the handler receives the event, it triggers the handler\u2019s callback method for this event. The callback method can hand off the event object as input to another method. Depending on the type of event handler, the callbacks can be triggered before or after the operation. The timing depends on the event handler, not on the event itself.
-    **Note:**
-    For transactions, after-operation listeners receive the events after the transaction has committed.
-
-5.  If the operation is distributed, so that it causes follow-on operations in other members, those operations generate their own events, which can be handled by their listeners in the same way.
-
-## <a id="how_events_work__section_E48ECC8A1B39411AA23D17BA0C05517E" class="no-quick-link"></a>Event Objects
-
-Event objects come in several types, depending on the operation. Some operations generate multiple objects of different types. All event objects contain data describing the event, and each event type carries slightly different kinds of data appropriate to its matching operation. An event object is stable. For example, its content does not change if you pass it off to a method on another thread.
-
-For cache events, the event object describes the operation performed in the local cache. If the event originated remotely, it describes the local application of the remote entry operation, not the remote operation itself. The only exception is when the local region has an empty data policy; then the event carries the information for the remote (originating) cache operation.
-
-## <a id="how_events_work__section_2EA59E9F7203433A8AD248C499D61BF4" class="no-quick-link"></a>Event Distribution
-
-After a member processes an event in its local cache, it distributes it to remote caches according to the member's configuration and the configurations of the remote caches. For example, if a client updates its cache, the update is forwarded to the client's server. The server distributes the update to its peers and forwards it to any other clients according to their interest in the data entry. If the server system is part of a multi-site deployment and the data region is configured to use a gateway sender, then the gateway sender also forwards the update to a remote site, where the update is further distributed and propagated.
-
-## <a id="how_events_work__section_C18D3CA923FB427AA01DD811589D63C0" class="no-quick-link"></a>Event Handlers and Region Data Storage
-
-You can configure a region for no local data storage and still send and receive events for the region. Conversely, if you store data in the region, the cache is updated with data from the event regardless of whether you have any event handlers installed.
-
-## <a id="how_events_work__section_22EB4B9E6C4445F898DB64A769780460" class="no-quick-link"></a>Multiple Listeners
-
-When multiple listeners are installed, as can be done with cache listeners, the listeners are invoked sequentially in the order they were added to the region or cache. Listeners are executed one at a time. So, unless you program a listener to pass off processing to another thread, you can use one listener's work in later listeners.
-
-## <a id="how_events_work__section_C4758D7E2CA2498A87315DE903A07AE4" class="no-quick-link"></a>Event Ordering
-
-During a cache operation, event handlers are called at various stages of the operation. Some event handlers are called before a region update and some are called after the region update operation. Depending on the type of event handler being called, the event handler can receive the events in-order or out-of-order in which they are applied on Region.
-
--   `CacheWriter` and `AsyncEventListener` always receive events in the order in which they are applied on region.
--   `CacheListener` and `CqListener` can receive events in a different order than the order in which they were applied on the region.
-
-**Note:**
-An `EntryEvent` contains both the old value and the new value of the entry, which helps to indicate the value that was replaced by the cache operation on a particular key.
-
--   **[Peer-to-Peer Event Distribution](../../developing/events/how_cache_events_work.html)**
-
-    When a region or entry operation is performed, Geode distributes the associated events in the distributed system according to system and cache configurations.
-
--   **[Client-to-Server Event Distribution](../../developing/events/how_client_server_distribution_works.html)**
-
-    Clients and servers distribute events according to client activities and according to interest registered by the client in server-side cache changes.
-
--   **[Multi-Site (WAN) Event Distribution](../../developing/events/how_multisite_distribution_works.html)**
-
-    Geode distributes a subset of cache events between distributed systems, with a minimum impact on each system's performance. Events are distributed only for regions that you configure to use a gateway sender for distribution.
-
--   **[List of Event Handlers and Events](../../developing/events/list_of_event_handlers_and_events.html)**
-
-    Geode provides many types of events and event handlers to help you manage your different data and application needs.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/how_multisite_distribution_works.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/how_multisite_distribution_works.html.md.erb b/developing/events/how_multisite_distribution_works.html.md.erb
deleted file mode 100644
index c43d850..0000000
--- a/developing/events/how_multisite_distribution_works.html.md.erb
+++ /dev/null
@@ -1,51 +0,0 @@
----
-title:  Multi-Site (WAN) Event Distribution
----
-
-Geode distributes a subset of cache events between distributed systems, with a minimum impact on each system's performance. Events are distributed only for regions that you configure to use a gateway sender for distribution.
-
-## <a id="how_multisite_distribution_works__section_A16562611E094C88B12BC149D5EEEEBA" class="no-quick-link"></a>Queuing Events for Distribution
-
-In regions that are configured with one or more gateway senders (`gateway-sender-ids` attribute), events are automatically added to a gateway sender queue for distribution to other sites. Events that are placed in a gateway sender queue are distributed asynchronously to remote sites. For serial gateway queues, the ordering of events sent between sites can be preserved using the `order-policy` attribute.
-
-If a queue becomes too full, it is overflowed to disk to keep the member from running out of memory. You can optionally configure the queue to be persisted to disk (with the `enable-persistence` `gateway-sender` attribute). With persistence, if the member that manages the queue goes down, the member picks up where it left off after it restarts.
-
-## Operation Distribution from a Gateway Sender
-
-The multi-site installation is designed for minimal impact on distributed system performance, so only the farthest-reaching entry operations are distributed between sites.
-
-These operations are distributed:
-
--   entry create
--   entry put
--   entry distributed destroy, providing the operation is not an expiration action
-
-These operations are not distributed:
-
--   get
--   invalidate
--   local destroy
--   expiration actions of any kind
--   region operations
-
-## <a id="how_multisite_distribution_works__section_EE819CBF41274312BD5C3EA4A660475C" class="no-quick-link"></a>How a Gateway Sender Processes Its Queue
-
-Each primary gateway sender contains a processor thread that reads messages from the queue, batches them, and distributes the batches to a gateway receiver in a remote site. To process the queue, a gateway sender thread takes the following actions:
-
-1.  Reads messages from the queue
-2.  Creates a batch of the messages
-3.  Synchronously distributes the batch to the other site and waits for a reply
-4.  Removes the batch from the queue after the other site has successfully replied
-
-Because the batch is not removed from the queue until after the other site has replied, the message cannot get lost. On the other hand, in this mode a message could be processed more than once. If a site goes offline in the middle of processing a batch of messages, then that same batch will be sent again once the site is back online.
-
-You can configure the batch size for messages as well as the batch time interval settings. A gateway sender processes a batch of messages from the queue when either the batch size or the time interval is reached. In an active network, it is likely that the batch size will be reached before the time interval. In an idle network, the time interval will most likely be reached before the batch size. This may result in some network latency that corresponds to the time interval.
-
-## <a id="how_multisite_distribution_works__section_EF240AB26CF242F99689222E9E1D2512" class="no-quick-link"></a>How a Gateway Sender Handles Batch Processing Failure
-
-Exceptions can occur at different points during batch processing:
-
--   The gateway receiver could fail with acknowledgment. If processing fails while the gateway receiver is processing a batch, the receiver replies with a failure acknowledgment that contains the exception, including the identity of the message that failed, and the ID of the last message that it successfully processed. The gateway sender then removes the successfully processed messages and the failed message from the queue and logs an exception with the failed message information. The sender then continues processing the messages remaining in the queue.
--   The gateway receiver can fail without acknowledgment. If the gateway receiver does not acknowledge a sent batch, the gateway sender does not know which messages were successfully processed. In this case the gateway sender re-sends the entire batch.
--   No gateway receivers may be available for processing. If a batch processing exception occurs because there are no remote gateway receivers available, then the batch remains in the queue. The gateway sender waits for a time, and then attempts to re-send the batch. The time period between attempts is five seconds. The existing server monitor continuously attempts to connect to the gateway receiver, so that a connection can be made and queue processing can continue. Messages build up in the queue and possibly overflow to disk while waiting for the connection.
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/implementing_cache_event_handlers.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/implementing_cache_event_handlers.html.md.erb b/developing/events/implementing_cache_event_handlers.html.md.erb
deleted file mode 100644
index 583fcdc..0000000
--- a/developing/events/implementing_cache_event_handlers.html.md.erb
+++ /dev/null
@@ -1,136 +0,0 @@
----
-title:  Implementing Cache Event Handlers
----
-
-Depending on your installation and configuration, cache events can come from local operations, peers, servers, and remote sites. Event handlers register their interest in one or more events and are notified when the events occur.
-
-<a id="implementing_cache_event_handlers__section_9286E8C6B3C54089888E1680B4F43692"></a>
-For each type of handler, Geode provides a convenience class with empty stubs for the interface callback methods.
-
-**Note:**
-Write-behind cache listeners are created by extending the `AsyncEventListener` interface, and they are configured with an `AsyncEventQueue` that you assign to one or more regions.
-
-**Procedure**
-
-1.  Decide which events your application needs to handle. For each region, decide which events you want to handle. For the cache, decide whether to handle transaction events.
-2.  For each event, decide which handlers to use. The `*Listener` and `*Adapter` classes in `org.apache.geode.cache.util` show the options.
-3.  Program each event handler:
-
-    1.  Extend the handler's adapter class.
-    2.  If you want to declare the handler in the `cache.xml`, implement the `org.apache.geode.cache.Declarable` interface as well.
-    3.  Implement the handler's callback methods as needed by your application.
-
-        **Note:**
-        Improperly programmed event handlers can block your distributed system. Cache events are synchronous. To modify your cache or perform distributed operations based on events, avoid blocking your system by following the guidelines in [How to Safely Modify the Cache from an Event Handler Callback](writing_callbacks_that_modify_the_cache.html#writing_callbacks_that_modify_the_cache).
-
-        Example:
-
-        ``` pre
-        package myPackage;
-        import org.apache.geode.cache.Declarable;
-        import org.apache.geode.cache.EntryEvent;
-        import org.apache.geode.cache.util.CacheListenerAdapter;
-        import java.util.Properties;
-                                
-        public class MyCacheListener extends CacheListenerAdapter implements Declarable {
-        /** Processes an afterCreate event.
-         * @param event The afterCreate EntryEvent received
-        */
-          public void afterCreate(EntryEvent event) {
-            String eKey = event.getKey();
-            String eVal = event.getNewValue();
-              ... do work with event info
-          }
-            ... process other event types                     
-        }
-                                
-        ```
-
-4.  Install the event handlers, either through the API or the `cache.xml`.
-
-    XML Region Event Handler Installation:
-
-    ``` pre
-    <region name="trades">
-      <region-attributes ... >
-        <!-- Cache listener -->
-        <cache-listener>
-          <class-name>myPackage.MyCacheListener</class-name>
-        <cache-listener>
-      </region-attributes>
-    </region>
-    ```
-
-    Java Region Event Handler Installation:
-
-    ``` pre
-    tradesRegion = cache.createRegionFactory(RegionShortcut.PARTITION)
-      .addCacheListener(new MyCacheListener())
-      .create("trades");
-    ```
-
-    XML Transaction Writer and Listener Installation:
-
-    ``` pre
-    <cache search-timeout="60">
-          <cache-transaction-manager>
-            <transaction-listener>
-              <class-name>com.company.data.MyTransactionListener</class-name>
-                    <parameter name="URL">
-                      <string>jdbc:cloudscape:rmi:MyData</string>
-                    </parameter>
-               </transaction-listener> 
-               <transaction-listener>
-                . . . 
-               </transaction-listener> 
-               <transaction-writer>
-                    <class-name>com.company.data.MyTransactionWriter</class-name>
-                    <parameter name="URL">
-                        <string>jdbc:cloudscape:rmi:MyData</string>
-                    </parameter>
-                    <parameter 
-                      ...
-                    </parameter>
-               </transaction-writer> 
-          </cache-transaction-manager>
-          . . . 
-    </cache>
-    ```
-
-The event handlers are initialized automatically during region creation when you start the member.
-
-## <a id="implementing_cache_event_handlers__section_C62E9535C43B4BC5A7AA7B8B4125D1EB" class="no-quick-link"></a>Installing Multiple Listeners on a Region
-
-XML:
-
-``` pre
-<region name="exampleRegion">
-  <region-attributes>
-    . . .
-    <cache-listener>
-      <class-name>myCacheListener1</class-name>
-    </cache-listener>
-    <cache-listener>
-      <class-name>myCacheListener2</class-name>
-    </cache-listener>
-    <cache-listener>
-      <class-name>myCacheListener3</class-name>
-    </cache-listener>
-  </region-attributes>
-</region>
-```
-
-API:
-
-``` pre
-CacheListener listener1 = new myCacheListener1(); 
-CacheListener listener2 = new myCacheListener2(); 
-CacheListener listener3 = new myCacheListener3(); 
-
-Region nr = cache.createRegionFactory()
-  .initCacheListeners(new CacheListener[]
-    {listener1, listener2, listener3})
-  .setScope(Scope.DISTRIBUTED_NO_ACK)
-  .create(name);
-  
-```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/implementing_durable_client_server_messaging.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/implementing_durable_client_server_messaging.html.md.erb b/developing/events/implementing_durable_client_server_messaging.html.md.erb
deleted file mode 100644
index d60f55a..0000000
--- a/developing/events/implementing_durable_client_server_messaging.html.md.erb
+++ /dev/null
@@ -1,182 +0,0 @@
----
-title:  Implementing Durable Client/Server Messaging
----
-
-<a id="implementing_durable_client_server_messaging__section_7A0D0B7D1F2748C7BA7479E0FD5C6BFA"></a>
-Use durable messaging for subscriptions that you need maintained for your clients even when your clients are down or disconnected. You can configure any of your event subscriptions as durable. Events for durable queries and subscriptions are saved in queue when the client is disconnected and played back when the client reconnects. Other queries and subscriptions are removed from the queue.
-
-Use durable messaging for client/server installations that use event subscriptions.
-
-These are the high-level tasks described in this topic:
-
-1.  Configure your client as durable
-2.  Decide which subscriptions should be durable and configure accordingly
-3.  Program your client to manage durable messaging for disconnect, reconnect, and event handling
-
-## <a id="implementing_durable_client_server_messaging__section_643EB5FA6F09463C80646786394F1E02" class="no-quick-link"></a>Configure the Client as Durable
-
-Use one of the following methods:
-
--   `gemfire.properties` file:
-
-    ``` pre
-    durable-client-id=31 
-    durable-client-timeout=200 
-    ```
-
--   Java:
-
-    ``` pre
-    Properties props = new Properties(); 
-    props.setProperty("durable-client-id", "31"); 
-    props.setProperty("durable-client-timeout", "" + 200); 
-    CacheFactory cf = new CacheFactory(props);
-    ```
-
-<a id="implementing_durable_client_server_messaging__section_B8E01FE4B5A347EB96085DA3194F6AE8"></a>
-
-The `durable-client-id` indicates that the client is durable and gives the server an identifier to correlate the client to its durable messages. For a non-durable client, this id is an empty string. The ID can be any number that is unique among the clients attached to servers in the same distributed system.
-
-The `durable-client-timeout` tells the server how long to wait for client reconnect. When this timeout is reached, the server stops storing to the client's message queue and discards any stored messages. The default is 300 seconds. This is a tuning parameter. If you change it, take into account the normal activity of your application, the average size of your messages, and the level of risk you can handle, both in lost messages and in the servers' capacity to store enqueued messages. Assuming that no messages are being removed from the queue, how long can the server run before the queue reaches the maximum capacity? How many durable clients can the server handle? To assist with tuning, use the Geode message queue statistics for durable clients through the disconnect and reconnect cycles.
-
-## <a id="implementing_durable_client_server_messaging__section_BB5DCCE0582E4FE8B62DE473512FC704" class="no-quick-link"></a>Configure Durable Subscriptions and Continuous Queries
-
-The register interest and query creation methods all have an optional boolean parameter for indicating durability. By default all are non-durable.
-
-``` pre
-// Durable registration
-// Define keySpecification, interestResultPolicy, durability 
-exampleRegion.registerInterest(keySpecification, interestResultPolicySpecification, true);
-                    
-// Durable CQ
-// Define cqName, queryString, cqAttributes, durability
-CqQuery myCq = queryService.newCq(cqName, queryString, cqAttributes, true);
-```
-
-Save only critical messages while the client is disconnected by only indicating durability for critical subscriptions and CQs. When the client is connected to its servers, it receives messages for all keys and queries reqistered. When the client is disconnected, non-durable interest registrations and CQs are discontinued but all messages already in the queue for them remain there.
-
-**Note:**
-For a single durable client ID, you must maintain the same durability of your registrations and queries between client runs.
-
-## <a id="implementing_durable_client_server_messaging__section_0FBD23CC79784E588135FE93306EC0A4" class="no-quick-link"></a>Program the Client to Manage Durable Messaging
-
-Program your durable client to be durable-messaging aware when it disconnects, reconnects, and handles events from the server.
-
-1.  Disconnect with a request to keep your queues active by using `Pool.close` or `ClientCache.close` with the boolean `keepalive` parameter.
-
-    ``` pre
-    clientCache.close(true);
-    ```
-
-    To be retained during client down time, durable continuous queries (CQs) must be executing at the time of disconnect.
-
-2.  Program your durable client's reconnection to:
-
-    1.  If desired, detect whether the previously registered subscription queue is available upon durable client reconnection and the count of pending events in the queue. Based on the results, you can then decide whether to receive the remaining events or close the cache if the number is too large.
-
-        For example, for a client with only the default pool created:
-
-        ``` pre
-        int pendingEvents = cache.getDefaultPool().getPendingEventCount();
-
-        if (pendingEvents == -2) { // client connected for the first time  \u2026 // continue
-        } 
-        else if (pendingEvents == -1) { // client reconnected but after the timeout period  
-        \u2026 // handle possible data loss
-        } 
-        else { // pendingEvents >= 0  
-        \u2026 // decide to invoke readyForEvents() or ClientCache::close(false)/pool.destroy()
-        }
-        ```
-
-        For a client with multiple pools:
-
-        ``` pre
-        int pendingEvents = 0;
-
-        int pendingEvents1 = PoolManager.find(\u201cpool1\u201d).getPendingEventCount();
-
-        pendingEvents += (pendingEvents1 > 0) ? pendingEvents1 : 0;
-
-        int pendingEvents2 = PoolManager.find(\u201cpool2\u201d).getPendingEventCount();
-
-        pendingEvents += (pendingEvents2 > 0) ? pendingEvents2 : 0;
-
-        // process individual pool counts separately.
-        ```
-
-        The `getPendingEventCount` API can return the following possible values:
-        -   A value representing a count of events pending at the server. Note that this count is an approximate value based on the time the durable client pool connected or reconnected to the server. Any number of invocations will return the same value.
-        -   A zero value if there are no events pending at server for this client pool
-        -   A negative value indicates that no queue is available at the server for the client pool.
-            -   -1 indicates that the client pool has reconnected to the server after its durable-client-timeout period has elapsed. The pool's subscription queue has been removed possibly causing data loss.
-            -   A value of -2 indicates that this client pool has connected to server for the first time.
-
-    2.  Connect, initialize the client cache, regions, and any cache listeners, and create and execute any durable continuous queries.
-    3.  Run all interest registration calls.
-
-        **Note:**
-        Registering interest with `InterestResultPolicy.KEYS_VALUES` initializes the client cache with the *current* values of specified keys. If concurrency checking is enabled for the region, any earlier (older) region events that are replayed to the client are ignored and are not sent to configured listeners. If your client must process all replayed events for a region, register with `InterestResultPolicy.KEYS` or `InterestResultPolicy.NONE` when reconnecting. Or, disable concurrency checking for the region in the client cache. See [Consistency for Region Updates](../distributed_regions/region_entry_versions.html#topic_CF2798D3E12647F182C2CEC4A46E2045).
-
-    4.  Call `ClientCache.readyForEvents` so the server will replay stored events. If the ready message is sent earlier, the client may lose events.
-
-    ``` pre
-    ClientCache clientCache = ClientCacheFactory.create(); 
-    // Here, create regions, listeners that are not defined in the cache.xml . . .
-    // Here, run all register interest calls before doing anything else
-    clientCache.readyForEvents(); 
-    ```
-
-3.  When you program your durable client `CacheListener`:
-    1.  Implement the callback methods to behave properly when stored events are replayed. The durable client\u2019s `CacheListener` must be able to handle having events played after the fact. Generally listeners receive events very close to when they happen, but the durable client may receive events that occurred minutes before and are not relevant to current cache state.
-    2.  Consider whether to use the `CacheListener` callback method, `afterRegionLive`, which is provided specifically for the end of durable event replay. You can use it to perform application-specific operations before resuming normal event handling. If you do not wish to use this callback, and your listener is an instance of `CacheListener` (instead of a `CacheListenerAdapter`) implement `afterRegionLive` as an empty method.
-
-## Initial Operation
-
-The initial startup of a durable client is similar to the startup of any other client, except that it specifically calls the `ClientCache.readyForEvents` method when all regions and listeners on the client are ready to process messages from the server.
-
-## <a id="implementing_durable_client_server_messaging__section_9B9A9EE8C7FF47948C8108A0F7F4E32E" class="no-quick-link"></a>Disconnection
-
-While the client and servers are disconnected, their operation varies depending on the circumstances.
-
--   **Normal disconnect**. When a client closes its connection, the servers stop sending messages to the client and release its connection. If the client requests it, the servers maintain the queues and durable interest list information until the client reconnects or times out. The non-durable interest lists are discarded. The servers continue to queue up incoming messages for entries on the durable interest list. All messages that were in the queue when the client disconnected remain in the queue. If the client requests not to have its subscriptions maintained, or if there are no durable subscriptions, the servers unregister the client and do the same cleanup as for a non-durable client.
--   **Abnormal disconnect**. If the client crashes or loses its connections to all servers, the servers automatically maintain its message queue and durable subscriptions until it reconnects or times out.
--   **Client disconnected but operational**. If the client operates while it is disconnected, it gets what data it can from the local client cache. Since updates are not allowed, the data can become stale. An `UnconnectedException` occurs if an update is attempted.
--   **Client stays disconnected past timeout period**. The servers track how long to keep a durable subscription queue alive based on the `durable-client-timeout` setting. If the client remains disconnected longer than the timeout, the servers unregister the client and do the same cleanup that is performed for a non-durable client. The servers also log an alert. When a timed-out client reconnects, the servers treat it as a new client making its initial connection.
-
-## <a id="implementing_durable_client_server_messaging__section_E3C42A6FDC884FC38ECC121955C06BDC" class="no-quick-link"></a>Reconnection
-
-During initialization, the client cache is not blocked from doing operations, so you might be receiving old stored events from the server at the same time that your client cache is being updated by much more current events. These are the things that can act on the cache concurrently:
-
--   Results returned by the server in response to the client\u2019s interest registrations.
--   Client cache operations by the application.
--   Callbacks triggered by replaying old events from the queue
-
-Geode handles the conflicts between the application and interest registrations so they do not create cache update conflicts. But you must program your event handlers so they don't conflict with current operations. This is true for all event handlers, but it is especially important for those used in durable clients. Your handlers may receive events well after the fact and you must ensure your programming takes that into account.
-
-This figure shows the three concurrent procedures during the initialization process. The application begins operations immediately on the client (step 1), while the client\u2019s cache ready message (also step 1) triggers a series of queue operations on the servers (starting with step 2 on the primary server). At the same time, the client registers interest (step 2 on the client) and receives a response from the server. Message B2 applies to an entry in Region A, so the cache listener handles B2\u2019s event. Because B2 comes before the marker, the client does not apply the update to the cache.
-
-<img src="../../images/ClientServerAdvancedTopics-6.gif" alt="Durable client reconnection. " id="implementing_durable_client_server_messaging__image_068A59FA019E46FA9DE0BC7FA60AAADD" class="image" />
-
-## <a id="implementing_durable_client_server_messaging__section_C848DF6D649F4DCAA2B895F5439BAA97" class="no-quick-link"></a>Durable Event Replay
-
-When a durable client reconnects before the timeout period, the servers replay the events that were stored while the client was gone and then resume normal event messaging to the client. To avoid overwriting current entries with old data, the stored events are not applied to the client cache. Stored events are distinguished from new normal events by a marker that is sent to the client once all old events are replayed.
-
-1.  All servers with a queue for this client place a marker in their queue when the client reconnects.
-2.  The primary server sends the queued messages to the client up to the marker.
-3.  The client receives the messages but does not apply the usual automatic updates to its cache. If cache listeners are installed, they handle the events.
-4.  The client receives the marker message indicating that all past events have been played back.
-5.  The server sends the current list of live regions.
-6.  For every `CacheListener` in each live region on the client, the marker event triggers the `afterRegionLive` callback. After the callback, the client begins normal processing of events from the server and applies the updates to its cache.
-
-Even when a new client starts up for the first time, the client cache ready markers are inserted in the queues. If messages start coming into the new queues before the servers insert the marker, those messages are considered as having happened while the client was disconnected, and their events are replayed the same as in the reconnect case.
-
-## <a id="implementing_durable_client_server_messaging__section_E519D541E2844292ABD2E0BDF5FB5798" class="no-quick-link"></a>Application Operations During Interest Registration
-
-Application operations take precedence over interest registration responses. The client can perform operations while it is receiving its interest registration responses. When adding register interest responses to the client cache, the following rules are applied:
-
--   If the entry already exists in the cache with a valid value, it is not updated.
--   If the entry is invalid, and the register interest response is valid, the valid value is put into the cache.
--   If an entry is marked destroyed, it is not updated. Destroyed entries are removed from the system after the register interest response is completed.
--   If the interest response does not contain any results, because all of those keys are absent from the server\u2019s cache, the client\u2019s cache can start out empty. If the queue contains old messages related to those keys, the events are still replayed in the client\u2019s cache.
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/events/implementing_write_behind_event_handler.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/events/implementing_write_behind_event_handler.html.md.erb b/developing/events/implementing_write_behind_event_handler.html.md.erb
deleted file mode 100644
index 908b0f5..0000000
--- a/developing/events/implementing_write_behind_event_handler.html.md.erb
+++ /dev/null
@@ -1,228 +0,0 @@
----
-title:  Implementing an AsyncEventListener for Write-Behind Cache Event Handling
----
-
-An `AsyncEventListener` asynchronously processes batches of events after they have been applied to a region. You can use an `AsyncEventListener` implementation as a write-behind cache event handler to synchronize region updates with a database.
-
-## <a id="implementing_write_behind_cache_event_handling__section_35B3ADC77E1147468A568E49C8C308E1" class="no-quick-link"></a>How an AsyncEventListener Works
-
-An `AsyncEventListener` instance is serviced by its own dedicated thread in which a callback method is invoked. Events that update a region are placed in an internal `AsyncEventQueue`, and one or more threads dispatch batches of events at a time to the listener implementation.
-
-You can configure an `AsyncEventQueue` to be either serial or parallel. A serial queue is deployed to one Geode member, and it delivers all of a region's events, in order of occurrence, to a configured `AsyncEventListener` implementation. A parallel queue is deployed to multiple Geode members, and each instance of the queue delivers region events, possibly simultaneously, to a local `AsyncEventListener` implementation.
-
-While a parallel queue provides the best throughput for writing events, it provides less control for ordering those events. With a parallel queue, you cannot preserve event ordering for a region as a whole because multiple Geode servers queue and deliver the region's events at the same time. However, the ordering of events for a given partition (or for a given queue of a distributed region) can be preserved.
-
-For both serial and parallel queues, you can control the maximum amount of memory that each queue uses, as well as the batch size and frequency for processing batches in the queue. You can also configure queues to persist to disk (instead of simply overflowing to disk) so that write-behind caching can pick up where it left off when a member shuts down and is later restarted.
-
-Optionally, a queue can use multiple threads to dispatch queued events. When you configure multiple threads for a serial queue, the logical queue that is hosted on a Geode member is divided into multiple physical queues, each with a dedicated dispatcher thread. You can then configure whether the threads dispatch queued events by key, by thread, or in the same order in which events were added to the queue. When you configure multiple threads for a parallel queue, each queue hosted on a Geode member is processed by dispatcher threads; the total number of queues created depends on the number of members that host the region.
-
-A `GatewayEventFilter` can be placed on the `AsyncEventQueue` to control whether a particular event is sent to a selected `AsyncEventListener`. For example, events associated with sensitive data could be detected and not queued. For more detail, see the Javadocs for `GatewayEventFilter`.
-
-A `GatewayEventSubstitutionFilter` can specify whether the event is transmitted in its entirety or in an altered representation. For example, to reduce the size of the data being serialized, it might be a more efficient to represent a full object by only its key. For more detail, see the Javadocs for `GatewayEventSubstitutionFilter`.
-
-## Operation Distribution from an AsyncEventQueue
-
-An `AsyncEventQueue` distributes these operations:
-
--   Entry create
--   Entry put
--   Entry distributed destroy, providing the operation is not an expiration action
--   Expiration destroy, if the `forward-expiration-destroy` attribute is set to `true`. By default, this attribute is `false`, but you can set it to `true` using `cache.xml` or `gfsh`. To set this attribute in the Java API, use `AsyncEventQueueFactory.setForwardExpirationDestroy()`. See the javadocs for details.
-
-These operations are not distributed:
-
--   Get
--   Invalidate
--   Local destroy
--   Region operations
--   Expiration actions
--   Expiration destroy, if the `forward-expiration-destroy` attribute is set to `false`. The default value is `false`.
-
-## <a id="implementing_write_behind_cache_event_handling__section_6FDBAFCB9C194EB0AF0822A509F2F9F2" class="no-quick-link"></a>Guidelines for Using an AsyncEventListener
-
-Review the following guidelines before using an AsyncEventListener:
-
--   If you use an `AsyncEventListener` to implement a write-behind cache listener, your code should check for the possibility that an existing database connection may have been closed due to an earlier exception. For example, check for `Connection.isClosed()` in a catch block and re-create the connection as needed before performing further operations.
--   Use a serial `AsyncEventQueue` if you need to preserve the order of region events within a thread when delivering events to your listener implementation. Use parallel queues when the order of events within a thread is not important, and when you require maximum throughput for processing events. In both cases, serial and parallel, the order of operations on a given key is preserved within the scope of the thread.
--   You must install the `AsyncEventListener` implementation on a Geode member that hosts the region whose events you want to process.
--   If you configure a parallel `AsyncEventQueue`, deploy the queue on each Geode member that hosts the region.
--   You can install a listener on more than one member to provide high availability and guarantee delivery for events, in the event that a member with the active `AsyncEventListener` shuts down. At any given time only one member has an active listener for dispatching events. The listeners on other members remain on standby for redundancy. For best performance and most efficient use of memory, install only one standby listener (redundancy of at most one).
--   Install no more than one standby listener (redundancy of at most one) for performance and memory reasons.
--   To preserve pending events through member shutdowns, configure Geode to persist the internal queue of the `AsyncEventListener` to an available disk store. By default, any pending events that reside in the internal queue of an `AsyncEventListener` are lost if the active listener's member shuts down.
--   To ensure high availability and reliable delivery of events, configure the event queue to be both persistent and redundant.
-
-## <a id="implementing_write_behind_cache_event_handling__section_FB3EB382E37945D9895E09B47A64D6B9" class="no-quick-link"></a>Implementing an AsyncEventListener
-
-To receive region events for processing, you create a class that implements the `AsyncEventListener` interface. The `processEvents` method in your listener receives a list of queued `AsyncEvent` objects in each batch.
-
-Each `AsyncEvent` object contains information about a region event, such as the name of the region where the event occurred, the type of region operation, and the affected key and value.
-
-The basic framework for implementing a write-behind event handler involves iterating through the batch of events and writing each event to a database. For example:
-
-``` pre
-class MyAsyncEventListener implements AsyncEventListener {
-    
-  public boolean processEvents(List<AsyncEvent> events) {
-
-      // Process each AsyncEvent
-
-      for(AsyncEvent event: events) {
-
-          // Write the event to a database
-
-      }
-    }
-}
-```
-
-## <a id="implementing_write_behind_cache_event_handling__section_AB80262CFB6D4867B52A5D6D880A5294" class="no-quick-link"></a>Processing AsyncEvents
-
-Use the [AsyncEventListener.processEvents](/releases/latest/javadoc/org/apache/geode/cache/asyncqueue/AsyncEventListener.html) method to process AsyncEvents. This method is called asynchronously when events are queued to be processed. The size of the list reflects the number of batch events where batch size is defined in the AsyncEventQueueFactory. The `processEvents` method returns a boolean; true if the AsyncEvents are processed correctly, and false if any events fail processing. As long as `processEvents` returns false, Geode continues to re-try processing the events.
-
-You can use the `getDeserializedValue` method to obtain cache values for entries that have been updated or created. Since the `getDeserializedValue` method will return a null value for destroyed entries, you should use the `getKey` method to obtain references to cache objects that have been destroyed. Here's an example of processing AsyncEvents:
-
-``` pre
-public boolean processEvents(@SuppressWarnings("rawtypes") List<AsyncEvent> list)   
- {  
-     logger.log (Level.INFO, String.format("Size of List<GatewayEvent> = %s", list.size()));  
-     List<JdbcBatch> newEntries = new ArrayList<JdbcBatch>();  
-       
-     List<JdbcBatch> updatedEntries = new ArrayList<JdbcBatch>();  
-     List<String> destroyedEntries = new ArrayList<String>();  
-     int possibleDuplicates = 0;  
-       
-     for (@SuppressWarnings("rawtypes") AsyncEvent ge: list)  
-     {  
-         
-       if (ge.getPossibleDuplicate())  
-        possibleDuplicates++;  
-          
-       if ( ge.getOperation().equals(Operation.UPDATE))   
-       {  
-      updatedEntries.add((JdbcBatch) ge.getDeserializedValue());  
-       }  
-       else if ( ge.getOperation().equals(Operation.CREATE))  
-       {  
-         newEntries.add((JdbcBatch) ge.getDeserializedValue());  
-       }  
-       else if ( ge.getOperation().equals(Operation.DESTROY))  
-       {  
-      destroyedEntries.add(ge.getKey().toString());  
-       }  
-        
-     }  
-```
-
-## <a id="implementing_write_behind_cache_event_handling__section_9286E8C6B3C54089888E1680B4F43692" class="no-quick-link"></a>Configuring an AsyncEventListener
-
-To configure a write-behind cache listener, you first configure an asynchronous queue to dispatch the region events, and then create the queue with your listener implementation. You then assign the queue to a region in order to process that region's events.
-
-**Procedure**
-
-1.  Configure a unique `AsyncEventQueue` with the name of your listener implementation. You can optionally configure the queue for parallel operation, persistence, batch size, and maximum memory size. See [WAN Configuration](../../reference/topics/elements_ref.html#topic_7B1CABCAD056499AA57AF3CFDBF8ABE3) for more information.
-
-    **gfsh configuration**
-
-    ``` pre
-    gfsh>create async-event-queue --id=sampleQueue --persistent --disk-store=exampleStore --listener=com.myCompany.MyAsyncEventListener --listener-param=url#jdbc:db2:SAMPLE,username#gfeadmin,password#admin1
-    ```
-
-    The parameters for this command uses the following syntax:
-
-    ``` pre
-    create async-event-queue --id=value --listener=value [--group=value] [--batch-size=value] 
-    [--persistent(=value)?] [--disk-store=value] [--max-queue-memory=value] [--listener-param=value(,value)*]
-    ```
-
-    For more information, see [create async-event-queue](../../tools_modules/gfsh/command-pages/create.html#topic_ryz_pb1_dk).
-
-    **cache.xml Configuration**
-
-    ``` pre
-    <cache>
-       <async-event-queue id="sampleQueue" persistent="true"
-        disk-store-name="exampleStore" parallel="false">
-          <async-event-listener>
-             <class-name>MyAsyncEventListener</class-name>
-             <parameter name="url"> 
-               <string>jdbc:db2:SAMPLE</string> 
-             </parameter> 
-             <parameter name="username"> 
-               <string>gfeadmin</string> 
-             </parameter> 
-             <parameter name="password"> 
-               <string>admin1</string> 
-             </parameter> 
-          </async-event-listener>
-        </async-event-queue>
-    ...
-    </cache>
-    ```
-
-    **Java Configuration**
-
-    ``` pre
-    Cache cache = new CacheFactory().create();
-    AsyncEventQueueFactory factory = cache.createAsyncEventQueueFactory();
-    factory.setPersistent(true);
-    factory.setDiskStoreName("exampleStore");
-    factory.setParallel(false);
-    AsyncEventListener listener = new MyAsyncEventListener();
-    AsyncEventQueue asyncQueue = factory.create("sampleQueue", listener);
-    ```
-
-2.  If you are using a parallel `AsyncEventQueue`, the gfsh example above requires no alteration, as gfsh applies to all members. If using cache.xml or the Java API to configure your `AsyncEventQueue`, repeat the above configuration in each Geode member that will host the region. Use the same ID and configuration settings for each queue configuration.
-    **Note:**
-    You can ensure other members use the sample configuration by using the cluster configuration service available in gfsh. See [Overview of the Cluster Configuration Service](../../configuring/cluster_config/gfsh_persist.html).
-
-3.  On each Geode member that hosts the `AsyncEventQueue`, assign the queue to each region that you want to use with the `AsyncEventListener` implementation.
-
-    **gfsh Configuration**
-
-    ``` pre
-    gfsh>create region --name=Customer --async-event-queue-id=sampleQueue 
-    ```
-
-    Note that you can specify multiple queues on the command line in a comma-delimited list.
-
-    **cache.xml Configuration**
-
-    ``` pre
-    <cache>
-    <region name="Customer">
-        <region-attributes async-event-queue-ids="sampleQueue">
-        </region-attributes>
-      </region>
-    ...
-    </cache>
-    ```
-
-    **Java Configuration**
-
-    ``` pre
-    RegionFactory rf1 = cache.createRegionFactory();
-    rf1.addAsyncEventQueue(sampleQueue);
-    Region customer = rf1.create("Customer");
-        
-    // Assign the queue to multiple regions as needed
-    RegionFactory rf2 = cache.createRegionFactory();
-    rf2.addAsyncEventQueue(sampleQueue);
-    Region order = rf2.create("Order");
-    ```
-
-    Using the Java API, you can also add and remove queues to regions that have already been created:
-
-    ``` pre
-    AttributesMutator mutator = order.getAttributesMutator();
-    mutator.addAsyncEventQueueId("sampleQueue");        
-    ```
-
-    See the [Geode API documentation](/releases/latest/javadoc/org/apache/geode/cache/AttributesMutator.html) for more information.
-
-4.  Optionally configure persistence and conflation for the queue.
-    **Note:**
-    You must configure your AsyncEventQueue to be persistent if you are using persistent data regions. Using a non-persistent queue with a persistent region is not supported.
-
-5.  Optionally configure multiple dispatcher threads and the ordering policy for the queue using the instructions in [Configuring Dispatcher Threads and Order Policy for Event Distribution](configuring_gateway_concurrency_levels.html).
-
-The `AsyncEventListener` receives events from every region configured with the associated `AsyncEventQueue`.



[62/76] [abbrv] incubator-geode git commit: GEODE-1952: Update geode-docs dir for docs donation

Posted by km...@apache.org.
GEODE-1952: Update geode-docs dir for docs donation

- Alter the only 2 files that did not have a title component
at the top of the file. This facilitates easily adding the
Apache license to the files.


Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/e0f52033
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/e0f52033
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/e0f52033

Branch: refs/heads/feature/GEODE-1952-2
Commit: e0f5203356991e15ab49abb193d25ed30030a572
Parents: 381d0fa
Author: Karen Miller <km...@pivotal.io>
Authored: Wed Oct 5 15:40:26 2016 -0700
Committer: Karen Miller <km...@pivotal.io>
Committed: Wed Oct 5 15:40:26 2016 -0700

----------------------------------------------------------------------
 .../reference/topics/gfe_cache_xml.html.md.erb  |   3 +
 ...mory_requirements_for_cache_data.html.md.erb | 269 ++++++++++++++++++-
 ...requirements_guidelines_and_calc.html.md.erb | 269 -------------------
 3 files changed, 264 insertions(+), 277 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/e0f52033/geode-docs/reference/topics/gfe_cache_xml.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/reference/topics/gfe_cache_xml.html.md.erb b/geode-docs/reference/topics/gfe_cache_xml.html.md.erb
index fbe289d..03b0956 100644
--- a/geode-docs/reference/topics/gfe_cache_xml.html.md.erb
+++ b/geode-docs/reference/topics/gfe_cache_xml.html.md.erb
@@ -1,3 +1,6 @@
+---
+title: "&lt;cache&gt; Element Reference"
+---
 <a id="id_zn4_qbq_rr"></a>
 
 # &lt;cache&gt; Element Reference

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/e0f52033/geode-docs/reference/topics/memory_requirements_for_cache_data.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/reference/topics/memory_requirements_for_cache_data.html.md.erb b/geode-docs/reference/topics/memory_requirements_for_cache_data.html.md.erb
index 2de6d98..2111573 100644
--- a/geode-docs/reference/topics/memory_requirements_for_cache_data.html.md.erb
+++ b/geode-docs/reference/topics/memory_requirements_for_cache_data.html.md.erb
@@ -12,20 +12,273 @@ These requirements include estimates for the following resources:
 
 The information here is only a guideline, and assumes a basic understanding of Geode. While no two applications or use cases are exactly alike, the information here should be a solid starting point, based on real-world experience. Much like with physical database design, ultimately the right configuration and physical topology for deployment is based on the performance requirements, application data access characteristics, and resource constraints (i.e., memory, CPU, and network bandwidth) of the operating environment.
 
--   **[Core Guidelines for Geode Data Region Design](../../reference/topics/memory_requirements_guidelines_and_calc.html#topic_ipt_dqz_j4)**
 
--   **[Memory Usage Overview](../../reference/topics/memory_requirements_guidelines_and_calc.html#topic_ppn_pqz_j4)**
+<a id="topic_ipt_dqz_j4"></a>
 
--   **[Calculating Application Object Overhead](../../reference/topics/memory_requirements_guidelines_and_calc.html#topic_kjx_brz_j4)**
+# Core Guidelines for Geode Data Region Design
 
--   **[Using Key Storage Optimization](../../reference/topics/memory_requirements_guidelines_and_calc.html#topic_exn_2tz_j4)**
+The following guidelines apply to region design:
 
--   **[Measuring Cache Overhead](../../reference/topics/memory_requirements_guidelines_and_calc.html#topic_ac4_mtz_j4)**
+-   For 32-bit JVMs: If you have a small data set (&lt; 2GB) and a read-heavy requirement, you should be using replicated regions.
+-   For 64-bit JVMs: If you have a data set that is larger than 50-60% of the JVM heap space you can use replicated regions. For read heavy applications this can be a performance win. For write heavy applications you should use partitioned caches.
+-   If you have a large data set and you are concerned about scalability you should be using partitioned regions.
+-   If you have a large data set and can tolerate an on-disk subset of data, you should be using either replicated regions or partitioned regions with overflow to disk.
+-   If you have different data sets that meet the above conditions, then you might want to consider a hybrid solution mixing replicated and partition regions. Do not exceed 50 to 75% of the JVM heap size depending on how write intensive your application is.
 
--   **[Estimating Management and Monitoring Overhead](../../reference/topics/memory_requirements_guidelines_and_calc.html#topic_i1m_stz_j4)**
+## <a id="topic_ppn_pqz_j4" class="no-quick-link"></a>Memory Usage Overview
 
--   **[Determining Object Serialization Overhead](../../reference/topics/memory_requirements_guidelines_and_calc.html#topic_psn_5tz_j4)**
+The following guidelines should provide a rough estimate of the amount of memory consumed by your system.
 
--   **[Calculating Socket Memory Requirements](../../reference/topics/memory_requirements_guidelines_and_calc.html#topic_d3g_c5z_j4)**
+Memory calculation about keys and entries (objects) and region overhead for them can be divided by the number of members of the distributed system for data placed in partitioned regions only. For other regions, the calculation is for each member that hosts the region. Memory used by sockets, threads, and the small amount of application overhead for Geode is per member.
 
+For each entry added to a region, the Geode cache API consumes a certain amount of memory to store and manage the data. This overhead is required even when an entry is overflowed or persisted to disk. Thus objects on disk take up some JVM memory, even when they are paged to disk. The Java cache overhead introduced by a region, using a 32-bit JVM, can be approximated as listed below.
 
+Actual memory use varies based on a number of factors, including the JVM you are using and the platform you are running on. For 64-bit JVMs, the usage will usually be larger than with 32-bit JVMs. As much as 80% more memory may be required for 64-bit JVMs, due to object references and headers using more memory.
+
+There are several additional considerations for calculating your memory requirements:
+
+-   **Size of your stored data.** To estimate the size of your stored data, determine first whether you are storing the data in serialized or non-serialized form. In general, the non-serialized form will be the larger of the two. See [Determining Object Serialization Overhead](#topic_psn_5tz_j4)
+
+    Objects in Geode are serialized for storage into partitioned regions and for all distribution activities, including moving data to disk for overflow and persistence. For optimum performance, Geode tries to reduce the number of times an object is serialized and deserialized, so your objects may be stored in serialized or non-serialized form in the cache.
+
+-   **Application object overhead for your data.** When calculating application overhead, make sure to count the key as well as the value, and to count every object if the key and/or value is a composite object.
+
+    The following section "Calculating Application Object Overhead" provides details on how to estimate the memory overhead of the keys and values stored in the cache.
+
+## <a id="topic_kjx_brz_j4" class="no-quick-link"></a>Calculating Application Object Overhead
+
+To compute the memory overhead of a Java object, perform the following steps:
+
+1.  **Determine the object header size.** Each Java object has an object header. For a 32-bit JVM, it is 8 bytes. For a 64-bit JVM with a heap less than or equal to 32GB, it is 12 bytes. For a 64-bit JVM with a heap greater than 32GB, it is 16 bytes.
+2.  **Determine the memory overhead of the fields of the object.** For every instance field (including fields from super classes), add in the field's size. For primitive fields the sizes are:
+    -   8 for long and double
+    -   4 for int and float
+    -   2 for char and short
+    -   1 for byte and boolean
+
+    For object reference fields, the size is 8 bytes for 64-bit JVM with a heap greater than 32GB. For all other JVMs, use 4 bytes.
+3.  **Add up the numbers from Step 1 and 2 and round it up to the next multiple of 8.** The result is the memory overhead of that Java object.
+
+**Java arrays.** To compute the memory overhead of a Java array, you would add the object header (since the array is an object) and a primitive int field that contains its size. Treat each element of the array as if it was an instance field. For example, a byte array of the size 100 bytes would have one object header, one int field, and 100 byte fields. Use the three step process described above to do the computation.
+
+**Serialized objects.** When computing the memory overhead of a serialized value, remember that the serialized form is stored in a byte array. Therefore, to figure out how many bytes the serialized form contains, compute the memory overhead of a Java byte array of that size and then add in the size of the serialized value wrapper.
+
+When a value is initially stored in the cache in serialized form, a wrapper around the value is introduced that is kept in memory for the life of that value even if the value is later deserialized. Although this wrapper is only used internally, it does add to the memory footprint. The wrapper is an object with one int field and one object reference.
+
+If you are using partitioned regions, every value is initially stored in serialized form. For other region types only values that come from a remote member (peers or clients) are initially stored in serialized form. (This is the most common case.) However, if a local operation stores the value in the local JVM's cache, then the value will be stored in object form. A large number of operations can cause a value stored in serialized form to be deserialized. Any operation that needs the object form of the value to be local can cause this deserialization. If such operations are performed, then that value will be stored in object form (with the additional serialized wrapper) and the serialized form becomes garbage.
+
+**Note:**
+An exception to this is if the serialized from is encoded with PDX, then setting `read-serialized` to true will keep the serialized form in the cache.
+
+See [Determining Object Serialization Overhead](#topic_psn_5tz_j4) for additional information on how to calculate memory usage requirements for storing serialized objects.
+
+## <a id="topic_exn_2tz_j4" class="no-quick-link"></a>Using Key Storage Optimization
+
+Keys are stored in object form except for certain classes where the storage of keys is optimized. Key storage is optimized by replacing the entry's object reference to the key with one or two primitive fields on the entry that store the key's data "inline". The following rules apply to determine whether a key is stored "inline":
+
+-   If the key's class is `java.lang.Integer`, `java.lang.Long`, or `java.util.UUID`, then the key is always stored inline. The memory overhead for an inlined Integer or Long key is 0 (zero). The memory overhead for an inlined UUID is 8.
+-   If the key's class is `java.lang.String`, then the key will be inlined if the string's length is small enough.
+
+    -   For ASCII strings whose length is less than 8, the inline memory overhead is 0 (zero).
+    -   For ASCII strings whose length is less than 16, the inline memory overhead is 8.
+    -   For non-ASCII strings whose length is less then 4, the inline memory overhead is 0 (zero).
+    -   For non-ASCII strings whose length is less then 8 the inline memory overhead is 8.
+
+    All other strings are not inlined.
+
+**When to disable inline key storage.** In some cases, storing keys inline may introduce extra memory or CPU usage. If all of your keys are also referenced from some other object, then it is better to not inline the key. If you frequently ask for the key from the region, then you may want to keep the object form stored in the cache so that you do not need to recreate the object form constantly. Note that the basic operation of checking whether a key is in a region does not require the object form but uses the inline primitive data.
+
+The key inlining feature can be disabled by specifying the following Geode property upon member startup:
+
+``` pre
+-Dgemfire.DISABLE_INLINE_REGION_KEYS=true
+```
+
+## <a id="topic_ac4_mtz_j4" class="no-quick-link"></a>Measuring Cache Overhead
+
+This table gives estimates for the cache overhead in a 32-bit JVM. The overhead is required even when an entry is overflowed or persisted to disk. Actual memory use varies based on a number of factors, including the JVM type and the platform you run on. For 64-bit JVMs, the usage will usually be larger than with 32-bit JVMs and may be as much as 80% more.
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>When calculating cache overhead...</th>
+<th>You should ...</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td>For each region
+<div class="note note">
+<b>Note:</b>
+<p>Memory consumption for object headers and object references can vary for 64-bit JVMs, different JVM implementations, and different JDK versions.</p>
+</div></td>
+<td>add 64 bytes per entry</td>
+</tr>
+<tr class="even">
+<td>And concurrency checking is disabled (it is enabled by default)</td>
+<td>subtract 16 bytes per entry
+<p>(See <a href="../../developing/distributed_regions/how_region_versioning_works.html#topic_0BDACA590B2C4974AC9C450397FE70B2">Overhead for Consistency Checks</a>.)</p></td>
+</tr>
+<tr class="odd">
+<td>And statistics are enabled for the region</td>
+<td>add 16 bytes per entry</td>
+</tr>
+<tr class="even">
+<td>And the region is persisted</td>
+<td>add 52 bytes per entry</td>
+</tr>
+<tr class="odd">
+<td>And the region is overflow only</td>
+<td>add 44 bytes per entry</td>
+</tr>
+<tr class="even">
+<td>And the region has an LRU eviction controller</td>
+<td>add 16 bytes per entry</td>
+</tr>
+<tr class="odd">
+<td>And the region has global scope</td>
+<td>add 110 bytes per entry</td>
+</tr>
+<tr class="even">
+<td>And the region has entry expiration configured</td>
+<td>add 112 bytes per entry</td>
+</tr>
+<tr class="odd">
+<td>For each optional user attribute</td>
+<td>add 40 bytes per entry plus the memory overhead of the user attribute object</td>
+</tr>
+</tbody>
+</table>
+
+For indexes used in querying, the overhead varies greatly depending on the type of data you are storing and the type of index you create. You can roughly estimate the overhead for some types of indexes as follows:
+
+-   If the index has a single value per region entry for the indexed expression, the index introduces at most 243 bytes per region entry. An example of this type of index is: `fromClause="/portfolios",               indexedExpression="id"`. The maximum of 243 bytes per region entry is reached if each entry has a unique value for the indexed expression. The overhead is reduced if the entries do not have unique index values.
+-   If each region entry has more than one value for the indexed expression, but no two region entries have the same value for it, then the index introduces at most 236 C + 75 bytes per region entry, where C is the average number of values per region entry for the expression.
+
+## <a id="topic_i1m_stz_j4" class="no-quick-link"></a>Estimating Management and Monitoring Overhead
+
+Geode's JMX management and monitoring system contributes to memory overhead and should be accounted for when establishing the memory requirements for your deployment. Specifically, the memory footprint of any processes (such as locators) that are running as JMX managers can increase.
+
+For each resource in the distributed system that is being managed and monitored by the JMX Manager (for example, each MXBean such as MemberMXBean, RegionMXBean, DiskStoreMXBean, LockServiceMXBean and so on), you should add 10 KB of required memory to the JMX Manager node.
+
+## <a id="topic_psn_5tz_j4" class="no-quick-link"></a>Determining Object Serialization Overhead
+
+Geode PDX serialization can provide significant space savings over Java Serializable in addition to better performance. In some cases we have seen savings of up to 65%, but the savings will vary depending on the domain objects. PDX serialization is most likely to provide the most space savings of all available options. DataSerializable is more compact, but it requires that objects are deserialized on access, so that should be taken into account. On the other hand, PDX serializable does not require deserialization for most operations, and because of that, it may provide greater space savings.
+
+In any case, the kinds and volumes of operations that would be done on the server side should be considered in the context of data serialization, as Geode has to deserialize data for some types of operations (access). For example, if a function invokes a get operation on the server side, the value returned from the get operation will be deserialized in most cases (the only time it will not be deserialized is when PDX serialization is used and the read-serialized attribute is set). The only way to find out the actual overhead is by running tests, and examining the memory usage.
+
+Some additional serialization guidelines and tips:
+
+-   If you are using compound objects, do not mix using standard Java serialization with with Geode serialization (either DataSerializable or PDX). Standard Java serialization functions correctly when mixed with Geode serialization, but it can end up producing many more serialized bytes.
+
+    To determine if you are using standard Java serialization, specify the `-DDataSerializer.DUMP_SERIALIZED=true` upon process execution. Then check your log for messages of this form:
+
+    ``` pre
+    DataSerializer Serializing an instance of <className>
+    ```
+
+    Any classes list are being serialized with standard Java serialization. You can optimize your serialization by handling those classes in a `PdxSerializer` or a `DataSerializer` or changing the class to be `PdxSerializable` or `DataSerializable`.
+
+-   A simple way to determine the serialized size of an object is to create an instance of that object and then call `DataSerializer.writeObject(obj dataOutput)` where "dataOutput" wraps a `ByteArrayOutputStream`. You can then ask the stream for its size, and it will return the serialized size. Make sure you have configured your `PdxSerializer` and/or `DataSerializer`(s) configured before you calling `writeObject`.
+
+If you do want to estimate memory usage for PDX serialized data, the following table provides estimated sizes for various types when using PDX serialization:
+
+| Type          | Memory Usage                                                                                                                                       |
+|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------|
+| boolean       | 1 byte                                                                                                                                             |
+| byte          | 1 byte                                                                                                                                             |
+| char          | 2 bytes                                                                                                                                            |
+| short         | 2 bytes                                                                                                                                            |
+| int           | 4 bytes                                                                                                                                            |
+| long          | 8 bytes                                                                                                                                            |
+| float         | 8 bytes                                                                                                                                            |
+| String        | String.length + 3 bytes                                                                                                                            |
+| Domain Object | 9 bytes (for PDX header) + object serialization length (total all member fields) + 1 to 4 extra bytes (depends on the total size of Domain object) |
+
+A note of caution-- if the domain object contains many domain objects as member fields, then the memory overhead of PDX serialization can be considerably more than other types of serialization.
+
+## <a id="topic_d3g_c5z_j4" class="no-quick-link"></a>Calculating Socket Memory Requirements
+
+Servers always maintain two outgoing connections to each of their peers. So for each peer a server has, there are four total connections: two going out to the peer and two coming in from the peer.
+
+The server threads that service client requests also communicate with peers to distribute events and forward client requests. If the server's Geode connection property *conserve-sockets* is set to true (the default), these threads use the already-established peer connections for this communication.
+
+If *conserve-sockets* is false, each thread that services clients establishes two of its own individual connections to its server peers, one to send, and one to receive. Each socket uses a file descriptor, so the number of available sockets is governed by two operating system settings:
+
+-   maximum open files allowed on the system as a whole
+-   maximum open files allowed for each session
+
+In servers with many threads servicing clients, if *conserve-sockets* is set to false, the demand for connections can easily overrun the number of available sockets. Even with *conserve-sockets* set to false, you can cap the number of these connections by setting the server's *max-threads* parameter.
+
+Since each client connection takes one server socket on a thread to handle the connection, and since that server acts as a proxy on partitioned regions to get results, or execute the function service on behalf of the client, for partitioned regions, if conserve sockets is set to false, this also results in a new socket on the server being opened to each peer. Thus N sockets are opened, where N is the number of peers. Large number of clients simultaneously connecting to a large set of peers with a partitioned region with conserve sockets set to false can cause a huge amount of memory to be consumed by socket. Set conserve-sockets to true in these instances.
+
+**Note:**
+There is also JVM overhead for the thread stack for each client connection being processed, set at 256KB or 512KB for most JVMs . On some JVMs you can reduce it to 128KB. You can use the Geode `max-threads` property or the Geode `max-connections` property to limit the number of client threads and thus both thread overhead and socket overhead.
+
+The following table lists the memory requirements based on connections.
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Connections</th>
+<th>Memory requirements</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td>Per socket</td>
+<td><p>32,768 /socket (configurable)</p>
+<p>Default value per socket should be set to a number &gt; 100 + sizeof (largest object in region) + sizeof (largest key)</p></td>
+</tr>
+<tr class="even">
+<td>If server (for example if there are clients that connect to it)</td>
+<td>= (lesser of max-threads property on server or max-connections)* (socket buffer size +thread overhead for the JVM )</td>
+</tr>
+<tr class="odd">
+<td>Per member of the distributed system if conserve sockets is set to true</td>
+<td>4* number of peers</td>
+</tr>
+<tr class="even">
+<td>Per member, if conserve sockets is set to false</td>
+<td>4 * number of peers hosting that region* number of threads</td>
+</tr>
+<tr class="odd">
+<td>If member hosts a Partitioned Region, If conserve sockets set to false and it is a Server (this is cumulative with the above)</td>
+<td><p>=&lt; max-threads * 2 * number of peers</p>
+<div class="note note">
+<b>Note:</b>
+<p>it is = 2* current number of clients connected * number of peers. Each connection spawns a thread.</p>
+</div></td>
+</tr>
+<tr class="even">
+<td><strong>Subscription Queues</strong></td>
+<td></td>
+</tr>
+<tr class="odd">
+<td><p>Per Server, depending on whether you limit the queue size. If you do, you can specify the number of megabytes or the number of entries until the queue overflows to disk. When possible, entries on the queue are references to minimize memory impact. The queue consumes memory not only for the key and the entry but also for the client ID/or thread ID as well as for the operation type. Since you can limit the queue to 1 MB, this number is completely configurable and thus there is no simple formula.</p></td>
+<td>1 MB +</td>
+</tr>
+<tr class="even">
+<td><strong>Geode classes and JVM overhead</strong></td>
+<td>Roughly 50MB</td>
+</tr>
+<tr class="odd">
+<td><strong>Thread overhead</strong></td>
+<td></td>
+</tr>
+<tr class="even">
+<td><p>Each concurrent client connection into the a server results in a thread being spawned up to max-threads setting. After that a thread services multiple clients up to max-clients setting.</p></td>
+<td>There is a thread stack overhead per connection (at a minimum 256KB to 512 KB, you can set it to smaller to 128KB on many JVMs.)</td>
+</tr>
+</tbody>
+</table>
+
+<a id="topic_eww_rvz_j4"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/e0f52033/geode-docs/reference/topics/memory_requirements_guidelines_and_calc.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/reference/topics/memory_requirements_guidelines_and_calc.html.md.erb b/geode-docs/reference/topics/memory_requirements_guidelines_and_calc.html.md.erb
deleted file mode 100644
index 82c93e6..0000000
--- a/geode-docs/reference/topics/memory_requirements_guidelines_and_calc.html.md.erb
+++ /dev/null
@@ -1,269 +0,0 @@
-<a id="topic_ipt_dqz_j4"></a>
-
-# Core Guidelines for Geode Data Region Design
-
-The following guidelines apply to region design:
-
--   For 32-bit JVMs: If you have a small data set (&lt; 2GB) and a read-heavy requirement, you should be using replicated regions.
--   For 64-bit JVMs: If you have a data set that is larger than 50-60% of the JVM heap space you can use replicated regions. For read heavy applications this can be a performance win. For write heavy applications you should use partitioned caches.
--   If you have a large data set and you are concerned about scalability you should be using partitioned regions.
--   If you have a large data set and can tolerate an on-disk subset of data, you should be using either replicated regions or partitioned regions with overflow to disk.
--   If you have different data sets that meet the above conditions, then you might want to consider a hybrid solution mixing replicated and partition regions. Do not exceed 50 to 75% of the JVM heap size depending on how write intensive your application is.
-
-## <a id="topic_ppn_pqz_j4" class="no-quick-link"></a>Memory Usage Overview
-
-The following guidelines should provide a rough estimate of the amount of memory consumed by your system.
-
-Memory calculation about keys and entries (objects) and region overhead for them can be divided by the number of members of the distributed system for data placed in partitioned regions only. For other regions, the calculation is for each member that hosts the region. Memory used by sockets, threads, and the small amount of application overhead for Geode is per member.
-
-For each entry added to a region, the Geode cache API consumes a certain amount of memory to store and manage the data. This overhead is required even when an entry is overflowed or persisted to disk. Thus objects on disk take up some JVM memory, even when they are paged to disk. The Java cache overhead introduced by a region, using a 32-bit JVM, can be approximated as listed below.
-
-Actual memory use varies based on a number of factors, including the JVM you are using and the platform you are running on. For 64-bit JVMs, the usage will usually be larger than with 32-bit JVMs. As much as 80% more memory may be required for 64-bit JVMs, due to object references and headers using more memory.
-
-There are several additional considerations for calculating your memory requirements:
-
--   **Size of your stored data.** To estimate the size of your stored data, determine first whether you are storing the data in serialized or non-serialized form. In general, the non-serialized form will be the larger of the two. See [Determining Object Serialization Overhead](#topic_psn_5tz_j4)
-
-    Objects in Geode are serialized for storage into partitioned regions and for all distribution activities, including moving data to disk for overflow and persistence. For optimum performance, Geode tries to reduce the number of times an object is serialized and deserialized, so your objects may be stored in serialized or non-serialized form in the cache.
-
--   **Application object overhead for your data.** When calculating application overhead, make sure to count the key as well as the value, and to count every object if the key and/or value is a composite object.
-
-    The following section "Calculating Application Object Overhead" provides details on how to estimate the memory overhead of the keys and values stored in the cache.
-
-## <a id="topic_kjx_brz_j4" class="no-quick-link"></a>Calculating Application Object Overhead
-
-To compute the memory overhead of a Java object, perform the following steps:
-
-1.  **Determine the object header size.** Each Java object has an object header. For a 32-bit JVM, it is 8 bytes. For a 64-bit JVM with a heap less than or equal to 32GB, it is 12 bytes. For a 64-bit JVM with a heap greater than 32GB, it is 16 bytes.
-2.  **Determine the memory overhead of the fields of the object.** For every instance field (including fields from super classes), add in the field's size. For primitive fields the sizes are:
-    -   8 for long and double
-    -   4 for int and float
-    -   2 for char and short
-    -   1 for byte and boolean
-
-    For object reference fields, the size is 8 bytes for 64-bit JVM with a heap greater than 32GB. For all other JVMs, use 4 bytes.
-3.  **Add up the numbers from Step 1 and 2 and round it up to the next multiple of 8.** The result is the memory overhead of that Java object.
-
-**Java arrays.** To compute the memory overhead of a Java array, you would add the object header (since the array is an object) and a primitive int field that contains its size. Treat each element of the array as if it was an instance field. For example, a byte array of the size 100 bytes would have one object header, one int field, and 100 byte fields. Use the three step process described above to do the computation.
-
-**Serialized objects.** When computing the memory overhead of a serialized value, remember that the serialized form is stored in a byte array. Therefore, to figure out how many bytes the serialized form contains, compute the memory overhead of a Java byte array of that size and then add in the size of the serialized value wrapper.
-
-When a value is initially stored in the cache in serialized form, a wrapper around the value is introduced that is kept in memory for the life of that value even if the value is later deserialized. Although this wrapper is only used internally, it does add to the memory footprint. The wrapper is an object with one int field and one object reference.
-
-If you are using partitioned regions, every value is initially stored in serialized form. For other region types only values that come from a remote member (peers or clients) are initially stored in serialized form. (This is the most common case.) However, if a local operation stores the value in the local JVM's cache, then the value will be stored in object form. A large number of operations can cause a value stored in serialized form to be deserialized. Any operation that needs the object form of the value to be local can cause this deserialization. If such operations are performed, then that value will be stored in object form (with the additional serialized wrapper) and the serialized form becomes garbage.
-
-**Note:**
-An exception to this is if the serialized from is encoded with PDX, then setting `read-serialized` to true will keep the serialized form in the cache.
-
-See [Determining Object Serialization Overhead](#topic_psn_5tz_j4) for additional information on how to calculate memory usage requirements for storing serialized objects.
-
-## <a id="topic_exn_2tz_j4" class="no-quick-link"></a>Using Key Storage Optimization
-
-Keys are stored in object form except for certain classes where the storage of keys is optimized. Key storage is optimized by replacing the entry's object reference to the key with one or two primitive fields on the entry that store the key's data "inline". The following rules apply to determine whether a key is stored "inline":
-
--   If the key's class is `java.lang.Integer`, `java.lang.Long`, or `java.util.UUID`, then the key is always stored inline. The memory overhead for an inlined Integer or Long key is 0 (zero). The memory overhead for an inlined UUID is 8.
--   If the key's class is `java.lang.String`, then the key will be inlined if the string's length is small enough.
-
-    -   For ASCII strings whose length is less than 8, the inline memory overhead is 0 (zero).
-    -   For ASCII strings whose length is less than 16, the inline memory overhead is 8.
-    -   For non-ASCII strings whose length is less then 4, the inline memory overhead is 0 (zero).
-    -   For non-ASCII strings whose length is less then 8 the inline memory overhead is 8.
-
-    All other strings are not inlined.
-
-**When to disable inline key storage.** In some cases, storing keys inline may introduce extra memory or CPU usage. If all of your keys are also referenced from some other object, then it is better to not inline the key. If you frequently ask for the key from the region, then you may want to keep the object form stored in the cache so that you do not need to recreate the object form constantly. Note that the basic operation of checking whether a key is in a region does not require the object form but uses the inline primitive data.
-
-The key inlining feature can be disabled by specifying the following Geode property upon member startup:
-
-``` pre
--Dgemfire.DISABLE_INLINE_REGION_KEYS=true
-```
-
-## <a id="topic_ac4_mtz_j4" class="no-quick-link"></a>Measuring Cache Overhead
-
-This table gives estimates for the cache overhead in a 32-bit JVM. The overhead is required even when an entry is overflowed or persisted to disk. Actual memory use varies based on a number of factors, including the JVM type and the platform you run on. For 64-bit JVMs, the usage will usually be larger than with 32-bit JVMs and may be as much as 80% more.
-
-<table>
-<colgroup>
-<col width="50%" />
-<col width="50%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th>When calculating cache overhead...</th>
-<th>You should ...</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td>For each region
-<div class="note note">
-<b>Note:</b>
-<p>Memory consumption for object headers and object references can vary for 64-bit JVMs, different JVM implementations, and different JDK versions.</p>
-</div></td>
-<td>add 64 bytes per entry</td>
-</tr>
-<tr class="even">
-<td>And concurrency checking is disabled (it is enabled by default)</td>
-<td>subtract 16 bytes per entry
-<p>(See <a href="../../developing/distributed_regions/how_region_versioning_works.html#topic_0BDACA590B2C4974AC9C450397FE70B2">Overhead for Consistency Checks</a>.)</p></td>
-</tr>
-<tr class="odd">
-<td>And statistics are enabled for the region</td>
-<td>add 16 bytes per entry</td>
-</tr>
-<tr class="even">
-<td>And the region is persisted</td>
-<td>add 52 bytes per entry</td>
-</tr>
-<tr class="odd">
-<td>And the region is overflow only</td>
-<td>add 44 bytes per entry</td>
-</tr>
-<tr class="even">
-<td>And the region has an LRU eviction controller</td>
-<td>add 16 bytes per entry</td>
-</tr>
-<tr class="odd">
-<td>And the region has global scope</td>
-<td>add 110 bytes per entry</td>
-</tr>
-<tr class="even">
-<td>And the region has entry expiration configured</td>
-<td>add 112 bytes per entry</td>
-</tr>
-<tr class="odd">
-<td>For each optional user attribute</td>
-<td>add 40 bytes per entry plus the memory overhead of the user attribute object</td>
-</tr>
-</tbody>
-</table>
-
-For indexes used in querying, the overhead varies greatly depending on the type of data you are storing and the type of index you create. You can roughly estimate the overhead for some types of indexes as follows:
-
--   If the index has a single value per region entry for the indexed expression, the index introduces at most 243 bytes per region entry. An example of this type of index is: `fromClause="/portfolios",               indexedExpression="id"`. The maximum of 243 bytes per region entry is reached if each entry has a unique value for the indexed expression. The overhead is reduced if the entries do not have unique index values.
--   If each region entry has more than one value for the indexed expression, but no two region entries have the same value for it, then the index introduces at most 236 C + 75 bytes per region entry, where C is the average number of values per region entry for the expression.
-
-## <a id="topic_i1m_stz_j4" class="no-quick-link"></a>Estimating Management and Monitoring Overhead
-
-Geode's JMX management and monitoring system contributes to memory overhead and should be accounted for when establishing the memory requirements for your deployment. Specifically, the memory footprint of any processes (such as locators) that are running as JMX managers can increase.
-
-For each resource in the distributed system that is being managed and monitored by the JMX Manager (for example, each MXBean such as MemberMXBean, RegionMXBean, DiskStoreMXBean, LockServiceMXBean and so on), you should add 10 KB of required memory to the JMX Manager node.
-
-## <a id="topic_psn_5tz_j4" class="no-quick-link"></a>Determining Object Serialization Overhead
-
-Geode PDX serialization can provide significant space savings over Java Serializable in addition to better performance. In some cases we have seen savings of up to 65%, but the savings will vary depending on the domain objects. PDX serialization is most likely to provide the most space savings of all available options. DataSerializable is more compact, but it requires that objects are deserialized on access, so that should be taken into account. On the other hand, PDX serializable does not require deserialization for most operations, and because of that, it may provide greater space savings.
-
-In any case, the kinds and volumes of operations that would be done on the server side should be considered in the context of data serialization, as Geode has to deserialize data for some types of operations (access). For example, if a function invokes a get operation on the server side, the value returned from the get operation will be deserialized in most cases (the only time it will not be deserialized is when PDX serialization is used and the read-serialized attribute is set). The only way to find out the actual overhead is by running tests, and examining the memory usage.
-
-Some additional serialization guidelines and tips:
-
--   If you are using compound objects, do not mix using standard Java serialization with with Geode serialization (either DataSerializable or PDX). Standard Java serialization functions correctly when mixed with Geode serialization, but it can end up producing many more serialized bytes.
-
-    To determine if you are using standard Java serialization, specify the `-DDataSerializer.DUMP_SERIALIZED=true` upon process execution. Then check your log for messages of this form:
-
-    ``` pre
-    DataSerializer Serializing an instance of <className>
-    ```
-
-    Any classes list are being serialized with standard Java serialization. You can optimize your serialization by handling those classes in a `PdxSerializer` or a `DataSerializer` or changing the class to be `PdxSerializable` or `DataSerializable`.
-
--   A simple way to determine the serialized size of an object is to create an instance of that object and then call `DataSerializer.writeObject(obj dataOutput)` where "dataOutput" wraps a `ByteArrayOutputStream`. You can then ask the stream for its size, and it will return the serialized size. Make sure you have configured your `PdxSerializer` and/or `DataSerializer`(s) configured before you calling `writeObject`.
-
-If you do want to estimate memory usage for PDX serialized data, the following table provides estimated sizes for various types when using PDX serialization:
-
-| Type          | Memory Usage                                                                                                                                       |
-|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------|
-| boolean       | 1 byte                                                                                                                                             |
-| byte          | 1 byte                                                                                                                                             |
-| char          | 2 bytes                                                                                                                                            |
-| short         | 2 bytes                                                                                                                                            |
-| int           | 4 bytes                                                                                                                                            |
-| long          | 8 bytes                                                                                                                                            |
-| float         | 8 bytes                                                                                                                                            |
-| String        | String.length + 3 bytes                                                                                                                            |
-| Domain Object | 9 bytes (for PDX header) + object serialization length (total all member fields) + 1 to 4 extra bytes (depends on the total size of Domain object) |
-
-A note of caution-- if the domain object contains many domain objects as member fields, then the memory overhead of PDX serialization can be considerably more than other types of serialization.
-
-## <a id="topic_d3g_c5z_j4" class="no-quick-link"></a>Calculating Socket Memory Requirements
-
-Servers always maintain two outgoing connections to each of their peers. So for each peer a server has, there are four total connections: two going out to the peer and two coming in from the peer.
-
-The server threads that service client requests also communicate with peers to distribute events and forward client requests. If the server's Geode connection property *conserve-sockets* is set to true (the default), these threads use the already-established peer connections for this communication.
-
-If *conserve-sockets* is false, each thread that services clients establishes two of its own individual connections to its server peers, one to send, and one to receive. Each socket uses a file descriptor, so the number of available sockets is governed by two operating system settings:
-
--   maximum open files allowed on the system as a whole
--   maximum open files allowed for each session
-
-In servers with many threads servicing clients, if *conserve-sockets* is set to false, the demand for connections can easily overrun the number of available sockets. Even with *conserve-sockets* set to false, you can cap the number of these connections by setting the server's *max-threads* parameter.
-
-Since each client connection takes one server socket on a thread to handle the connection, and since that server acts as a proxy on partitioned regions to get results, or execute the function service on behalf of the client, for partitioned regions, if conserve sockets is set to false, this also results in a new socket on the server being opened to each peer. Thus N sockets are opened, where N is the number of peers. Large number of clients simultaneously connecting to a large set of peers with a partitioned region with conserve sockets set to false can cause a huge amount of memory to be consumed by socket. Set conserve-sockets to true in these instances.
-
-**Note:**
-There is also JVM overhead for the thread stack for each client connection being processed, set at 256KB or 512KB for most JVMs . On some JVMs you can reduce it to 128KB. You can use the Geode `max-threads` property or the Geode `max-connections` property to limit the number of client threads and thus both thread overhead and socket overhead.
-
-The following table lists the memory requirements based on connections.
-
-<table>
-<colgroup>
-<col width="50%" />
-<col width="50%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th>Connections</th>
-<th>Memory requirements</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td>Per socket</td>
-<td><p>32,768 /socket (configurable)</p>
-<p>Default value per socket should be set to a number &gt; 100 + sizeof (largest object in region) + sizeof (largest key)</p></td>
-</tr>
-<tr class="even">
-<td>If server (for example if there are clients that connect to it)</td>
-<td>= (lesser of max-threads property on server or max-connections)* (socket buffer size +thread overhead for the JVM )</td>
-</tr>
-<tr class="odd">
-<td>Per member of the distributed system if conserve sockets is set to true</td>
-<td>4* number of peers</td>
-</tr>
-<tr class="even">
-<td>Per member, if conserve sockets is set to false</td>
-<td>4 * number of peers hosting that region* number of threads</td>
-</tr>
-<tr class="odd">
-<td>If member hosts a Partitioned Region, If conserve sockets set to false and it is a Server (this is cumulative with the above)</td>
-<td><p>=&lt; max-threads * 2 * number of peers</p>
-<div class="note note">
-<b>Note:</b>
-<p>it is = 2* current number of clients connected * number of peers. Each connection spawns a thread.</p>
-</div></td>
-</tr>
-<tr class="even">
-<td><strong>Subscription Queues</strong></td>
-<td></td>
-</tr>
-<tr class="odd">
-<td><p>Per Server, depending on whether you limit the queue size. If you do, you can specify the number of megabytes or the number of entries until the queue overflows to disk. When possible, entries on the queue are references to minimize memory impact. The queue consumes memory not only for the key and the entry but also for the client ID/or thread ID as well as for the operation type. Since you can limit the queue to 1 MB, this number is completely configurable and thus there is no simple formula.</p></td>
-<td>1 MB +</td>
-</tr>
-<tr class="even">
-<td><strong>Geode classes and JVM overhead</strong></td>
-<td>Roughly 50MB</td>
-</tr>
-<tr class="odd">
-<td><strong>Thread overhead</strong></td>
-<td></td>
-</tr>
-<tr class="even">
-<td><p>Each concurrent client connection into the a server results in a thread being spawned up to max-threads setting. After that a thread services multiple clients up to max-clients setting.</p></td>
-<td>There is a thread stack overhead per connection (at a minimum 256KB to 512 KB, you can set it to smaller to 128KB on many JVMs.)</td>
-</tr>
-</tbody>
-</table>
-
-<a id="topic_eww_rvz_j4"></a>



[04/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/security/implementing_security.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/implementing_security.html.md.erb b/geode-docs/managing/security/implementing_security.html.md.erb
new file mode 100644
index 0000000..a38dd03
--- /dev/null
+++ b/geode-docs/managing/security/implementing_security.html.md.erb
@@ -0,0 +1,63 @@
+---
+title:  Security Implementation Introduction and Overview
+---
+
+## Security Features
+
+Encryption, SSL secure communication, authentication, and authorization 
+features help to secure the distributed system.
+
+Security features include:
+
+-   **A single security interface for all components**. The single
+authentication and authorization mechanism simplifies the security
+implementation.
+It views and interacts with all components in a consistent manner. 
+-   **System-wide role-based access control**.
+Roles regiment authorized operations requested by the various components.
+-   **SSL communication**. Allows configuration of connections to be 
+SSL-based, rather than plain socket connections.
+You can enable SSL separately for peer-to-peer, client, JMX, gateway senders and receivers, and HTTP connections.
+-   **Post processing of region data**. Return values for operations that
+return region values may be altered, permitting the filtering of returned data.
+
+## Overview
+
+An authentication and authorization mechanism forms the core of
+the internal security of the distributed system.
+Communications may be further protected by enabling SSL for
+data in transit.
+
+Authentication verifies the identity of communicating components,
+leading to control over participation.
+The variety of participants include peer members, servers,
+clients, originators of JMX operations, Pulse,
+gateway senders and receivers representing WAN members of the system,
+and commands arriving from `gfsh` on behalf of system users
+or administrators.
+
+Connection requests trigger the invocation of an authentication
+callback.
+This special-purpose callback is written as part of the application,
+and it attempts to authenticate the requester by whatever
+algorithm it chooses. 
+The result is either a returned principal representing the requester's
+authenticated identity or an exception indicating that the requester
+has not been authenticated.
+The principal becomes part of any request for operations,
+which go through the authorization process.
+
+
+Given authentication,
+isolation and access to cache data and system state can be further
+protected by implementing the authorization mechanism,
+also implemented as a special-purpose callback as part of the application.
+For example, the protection may be to permit only certain system administrators
+to start and stop servers. 
+The authority to do this needs to be limited to specific
+verified accounts, preventing those without the authorization. 
+An implementation of the authorization callback will require
+that an authenticate identity accompanies all requests to the system,
+and that the system maintains a representation of which identities
+are permitted to complete which actions or cache commands.
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/security/implementing_ssl.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/implementing_ssl.html.md.erb b/geode-docs/managing/security/implementing_ssl.html.md.erb
new file mode 100644
index 0000000..73bbf49
--- /dev/null
+++ b/geode-docs/managing/security/implementing_ssl.html.md.erb
@@ -0,0 +1,209 @@
+---
+title:  Configuring SSL
+---
+
+You can configure SSL for authentication between members and to protect your data during
+distribution. You can use SSL alone or in conjunction with the other Geode security options.
+Geode SSL connections use the Java Secure Sockets Extension (JSSE) package.
+
+## <a id="ssl_configurable_components" class="no-quick-link"></a>SSL-Configurable Components
+
+You can specify that SSL be used system-wide, or you can independently configure SSL for specific
+system components.  The following list shows the system components that can be separately configured
+to communicate using SSL, and the kind of communications to which each component name refers:
+
+<dt>**cluster**</dt>
+<dd>Peer-to-peer communications among members of a distributed system</dd>
+
+<dt>**gateway**</dt>
+<dd>Communication across WAN gateways from one site to another</dd>
+
+<dt>**web**</dt>
+<dd>All web-based services hosted on the configured server, which can include the Developer REST API
+service, the Management REST API service (used for remote cluster management) and the Pulse
+monitoring tool's web-based user interface.</dd>
+
+<dt>**jmx**</dt>
+<dd>Java management extension communications, including communications with the `gfsh` utility. 
+The Pulse monitoring tool uses JMX for server-side communication with a locator, but SSL
+applies to this connection only if Pulse is located on an app server separate from the
+locator. When Pulse and the locator are colocated, JMX communication between the two does not
+involve a TCP connection, so SSL does not apply.</dd>
+
+<dt>**locator**</dt>
+<dd>Communication with and between locators</dd>
+
+<dt>**server**</dt>
+<dd>Communication between clients and servers</dd>
+
+<dt>**all**</dt>
+<dd>All of the above (use SSL system-wide)</dd>
+
+Specifying that a component is enabled for SSL applies to the component's server-socket side and its
+client-socket side.  For example, if you enable SSL for locators, then any process that communicates
+with a locator must also have SSL enabled.
+
+## <a id="ssl_configuration_properties" class="no-quick-link"></a>SSL Configuration Properties
+
+You can use Geode configuration properties to enable or disable SSL, to identify SSL ciphers and
+protocols, and to provide the location and credentials for key and trust stores.
+
+<dt>**ssl-enabled-components**</dt>
+<dd>list of components for which to enable SSL. "all" or comma-separated list of components</dd>
+
+<dt>**ssl-require-authentication**</dt>
+<dd>Requires two-way authentication, applies to all components except web. boolean - if true (the default), two-way authentication is required.</dd>
+
+<dt>**ssl-web-require-authentication**</dt>
+<dd>Requires two-way authentication for web component. boolean - if true, two-way authentication is required. Default is false (one-way authentication only).</dd>
+
+<dt>**ssl-default-alias**</dt>
+<dd>A server uses one key store to hold its SSL certificates. All components on that server can share a
+single certificate, designated by the ssl-default-alias property.  If ssl-default-alias
+is not specified, the first certificate in the key store acts as the default certificate.</dd>
+
+<dt>**ssl-_component_-alias=string**</dt>
+<dd>You can configure a separate certificate for any component. All certificates reside in the same key
+store, but can be designated by separate aliases that incorporate the component name, using this syntax,
+where _component_ is the name of a component. When a component-specific alias is specified, it
+overrides the ssl-default-alias for the _component_ specified.
+
+For example, ssl-locator-alias would specify a name for the locator component's certificate in the system key store.</dd>
+
+<dt>**ssl-ciphers**</dt>
+<dd>A comma-separated list of the valid SSL ciphers for SSL-enabled component connections. A setting of 'any'
+uses any ciphers that are enabled by default in the configured JSSE provider.</dd>
+
+<dt>**ssl-protocols**</dt>
+<dd>A comma-separated list of the valid SSL-enabled component connections. A setting of 'any' uses
+any protocol that is enabled by default in the configured JSSE provider.</dd>
+
+<dt>**ssl-keystore, ssl-keystore-password**</dt>
+<dd>The path to the key store and the key store password, specified as strings</dd>
+
+<dt>**ssl-truststore, ssl-truststore-password**</dt>
+<dd>The path to the trust store and the trust store password, specified as strings</dd>
+
+### Example: secure communications throughout
+
+To implement secure SSL communications throughout an entire distributed system, each process should
+enable SSL for all components.
+ 
+``` pre
+ssl-enabled-components=all
+ssl-keystore=secure/keystore.dat
+ssl-keystore-password=changeit
+ssl-truststore=secure/truststore.dat
+ssl-truststore-password=changeit
+```
+ 
+If the key store has multiple certificates you may want to specify the alias of the one you wish to use for each process.  For instance, `ssl-default-alias=Hiroki`.
+
+
+### Example: non-secure cluster communications, secure client/server
+
+In this example, SSL is used to secure communications between the client and the server:
+
+**Server properties**
+
+Cluster SSL is not enabled.
+
+``` pre
+ssl-enabled-components=server,locator
+ssl-server-alias=server
+ssl-keystore=secure/keystore.dat
+ssl-keystore-password=changeit
+ssl-truststore=secure/truststore.dat
+ssl-truststore-password=changeit
+ssl-default-alias=Server-Cert
+```
+
+**Locator properties**
+
+Cluster SSL is not enabled.
+
+``` pre
+ssl-enabled-components=locator
+ssl-locator-alias=locator
+ssl-keystore=secure/keystore.dat
+ssl-keystore-password=changeit
+ssl-truststore=secure/truststore.dat
+ssl-truststore-password=changeit
+ssl-default-alias=Locator-Cert
+```
+ 
+**Client properties**
+
+The client's trust store must trust both locator and server certificates.
+
+Since the client did not specify a certificate alias, SSL will use the default certificate in its key store.
+
+``` pre
+ssl-enabled-components=server,locator
+ssl-keystore=secret/keystore.dat
+ssl-keystore-password=changeit
+ssl-truststore=secret/truststore.dat
+ssl-truststore-password=changeit
+```
+ 
+## <a id="ssl_property_reference_tables" class="no-quick-link"></a>SSL Property Reference Tables
+
+The following table lists the components you can configure to use SSL.
+
+<span class="tablecap">Table 1. SSL-Configurable Components</span>
+
+| Component | Communication Types                                                   |
+|-----------|-----------------------------------------------------------------------|
+| cluster   | Peer-to-peer communications among members of a distributed system     |
+| gateway   | Communication across WAN gateways from one site to another            |
+| web       | Web-based communication, including REST interfaces                    |
+| jmx       | Java management extension communications, including gfsh              |
+| locator   | Communication with and between locators                               |
+| server    | Communication between clients and servers                             |
+| all       | All of the above                                                      |
+
+The following table lists the properties you can use to configure SSL on your Geode system.
+
+<span class="tablecap">Table 2. SSL Configuration Properties</span>
+
+| Property                           | Description                                                                  | Value |
+|------------------------------------|------------------------------------------------------------------------------|-------|
+| ssl&#8209;enabled&#8209;components | list of components for which to enable SSL | "all" or comma-separated list of components: cluster, gateway, web, jmx, locator, server |
+| ssl-require-authentication         | requires two-way authentication, applies to all components except web | boolean - if true (the default), two-way authentication is required |
+| ssl&#8209;web&#8209;require&#8209;authentication    | requires two-way authentication for web component | boolean - if true, two-way authentication is required. Default is false (one-way authentication only) |
+| ssl-default-alias                  | default certificate name                   | string - if empty, use first certificate in key store |
+| ssl-_component_-alias              | component-specific certificate name        | string - applies to specified _component_ |
+| ssl-ciphers                        | list of SSL ciphers                        | comma-separated list (default "any") |
+| ssl-protocols                      | list of SSL protocols                      | comma-separated list (default "any") |
+| ssl-keystore                       | path to key store                           | string |
+| ssl-keystore-password              | key store password                          | string |
+| ssl-truststore                     | path to trust store                         | string |
+| ssl-truststore-password            | trust store password                        | string |
+
+## <a id="implementing_ssl__sec_ssl_impl_proc" class="no-quick-link"></a>Procedure
+
+1.  Make sure your Java installation includes the JSSE API and familiarize yourself with its
+use. For information, see the [Oracle JSSE website](http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136007.html).
+
+2.  Configure SSL as needed for each connection type:
+
+    1.  Use locators for member discovery within the distributed systems and for client discovery of
+    servers. See [Configuring Peer-to-Peer Discovery](../../topologies_and_comm/p2p_configuration/setting_up_a_p2p_system.html) and
+    [Configuring a Client/Server System](../../topologies_and_comm/cs_configuration/setting_up_a_client_server_system.html#setting_up_a_client_server_system).
+
+    2.  Configure SSL properties as necessary for different component types, using the properties
+    described above. For example, to enable SSL for
+    communication between clients and servers you would configure properties in the
+    `gemfire.properties` file similar to:
+
+        ``` pre
+        ssl-enabled-components=server
+        ssl-protocols=any
+        ssl-ciphers=SSL_RSA_WITH_NULL_MD5, SSL_RSA_WITH_NULL_SHA
+        ssl-keystore=/path/to/trusted.keystore
+        ssl-keystore-password=password
+        ssl-truststore=/path/to/trusted.keystore
+        ssl-truststore-password=password
+        ```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/security/post_processing.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/post_processing.html.md.erb b/geode-docs/managing/security/post_processing.html.md.erb
new file mode 100644
index 0000000..2a6dc50
--- /dev/null
+++ b/geode-docs/managing/security/post_processing.html.md.erb
@@ -0,0 +1,50 @@
+---
+title:  Post Processing of Region Data
+---
+
+The  `PostProcessor` interface allows the definition of a callback
+that is invoked after any and all client and `gfsh` operations that get data,
+but before the data is returned.
+It permits the callback to intervene and modify of the data
+that is to be returned.
+The callbacks do not modify the region data,
+only the data to be returned.
+
+The `processRegionValue` method is given the principal of the 
+operation requester.
+The operation will already have been completed, 
+implying that the principal will have been authorized to complete
+the requested operation.
+The post processing can therefore modify the returned data based
+on the identity of the requester (principal).
+
+A use of post processing will be to sanitize or mask out sensitive
+region information,
+while providing the remainder of a region entry unchanged.
+An implementation can alter the entry for some requesters,
+but not other requesters.
+
+The `processRegionValue` method is invoked for these API calls:
+ 
+- `Region.get`
+- `Region.getAll`
+- `Query.execute`
+- `CqQuery.execute`
+- `CqQuery.executeWithInitialResults`
+- `CqListener.onEvent`
+- for a relevant region event from `CacheListener.afterUpdate` for which
+there is interest registered with `Region.registerInterest` 
+
+Care should be taken when designing a system that implements the
+post processing callback.
+It incurs the performance penalty of an extra method invocation
+on every get operation.
+
+## Implement Post Processing
+
+Complete these items to implement post processing.
+
+- Define the `security-post-processor` property.
+See [Enable Security with Property Definitions](enable_security.html)
+for details about this property.
+- Implement the  `processRegionValue` method of the `PostProcessor` interface.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/security/properties_file.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/properties_file.html.md.erb b/geode-docs/managing/security/properties_file.html.md.erb
new file mode 100644
index 0000000..d4758c1
--- /dev/null
+++ b/geode-docs/managing/security/properties_file.html.md.erb
@@ -0,0 +1,17 @@
+---
+title: Where to Place Security Configuration Settings 
+---
+<a id="implementing_security__section_155ED414321E4D4ABBD7ED3508E7BD62"></a>
+
+Any security-related (properties that begin with `security-*`) configuration properties that are normally configured in `gemfire.properties` can be moved to a separate `gfsecurity.properties` file. Placing these configuration settings in a separate file allows you to restrict access to security configuration data. This way, you can still allow read or write access for your `gemfire.properties` file.
+
+Upon startup, Geode processes will look for the `gfsecurity.properties` file in the following locations in order:
+
+-   current working directory
+-   user's home directory
+-   classpath
+
+If any password-related security properties are listed in the file but have a blank value, the process will prompt the user to enter a password upon startup.
+
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/security/security-audit.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/security-audit.html.md.erb b/geode-docs/managing/security/security-audit.html.md.erb
new file mode 100644
index 0000000..f35a29a
--- /dev/null
+++ b/geode-docs/managing/security/security-audit.html.md.erb
@@ -0,0 +1,47 @@
+---
+title: External Interfaces, Ports, and Services
+---
+<a id="topic_686158E9AFBD47518BE1B4BEB232C190"></a>
+
+
+Geode processes use either UDP or TCP/IP ports to communicate with other processes or clients.
+
+For example:
+
+-   Members can use multicast to communicate with peer members. You specify multicast addresses and multicast ports in your `gemfire.properties` file or as parameters on the command-line when starting the members using `gfsh`.
+-   Clients connect to a locator to discover cache servers.
+-   JMX clients (such as `gfsh` and JConsole) can connect to JMX Managers and other manageable members on the pre-defined RMI port 1099. You can configure a different port if necessary.
+-   Each gateway receiver usually has a port range where it listens for incoming communication.
+
+See [Firewalls and Ports](../../configuring/running/firewalls_ports.html#concept_5ED182BDBFFA4FAB89E3B81366EBC58E) for the complete list of ports used by Geode, their default values, and how to configure them if you do not want to use the default value.
+
+Geode does not have any external interfaces or services that need to be enabled or opened.
+
+## <a id="topic_263072624B8D4CDBAD18B82E07AA44B6" class="no-quick-link"></a>Resources That Must Be Protected
+
+These configuration files should be readable and writeable *only* by the dedicated user who runs servers:
+
+-   `gemfire.properties`
+-   `cache.xml`
+-   `gfsecurity.properties`
+    A default `gfsecurity.properties` is not provided in the `defaultConfigs` directory. If you choose to use this properties file, you must create it manually. A clear text user name and associated clear text password may be in this file for authentication purposes. The file system's access rights are relied upon to protect this sensitive information.
+
+The default location of the `gemfire.properties` and `cache.xml` configuration files is the `defaultConfigs` child directory of the main installation directory.
+
+## <a id="topic_5B6DF783A14241399DC25C6EE8D0048A" class="no-quick-link"></a>Log File Locations
+
+By default, the log files are located in the working directory used when you started the corresponding processes.
+
+For Geode members (locators and cache servers), you can also specify a custom working directory location when you start each process. See [Logging](../logging/logging.html#concept_30DB86B12B454E168B80BB5A71268865) for more details.
+
+The log files are as follows:
+
+-   `locator-name.log`: Contains logging information for the locator process.
+-   `server-name.log`: Contains logging information for a cache server process.
+-   `gfsh-%u_%g.log`: Contains logging information of an individual `gfsh` environment and session.
+
+    **Note:** By default, `gfsh` session logging is disabled. To enable `gfsh` logging, you must set the Java system property `-Dgfsh.                                 log-level=desired_log_level`. See [Configuring the gfsh Environment](../../tools_modules/gfsh/configuring_gfsh.html#concept_3B9C6CE2F64841E98C33D9F6441DF487) for more information.
+
+These log files should be readable and writable *only* by the dedicated user who runs the servers.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/security/security_audit_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/security_audit_overview.html.md.erb b/geode-docs/managing/security/security_audit_overview.html.md.erb
new file mode 100644
index 0000000..307dc2c
--- /dev/null
+++ b/geode-docs/managing/security/security_audit_overview.html.md.erb
@@ -0,0 +1,22 @@
+---
+title: Security Detail Considerations
+---
+<a id="topic_36C918B4202D45F3AC225FFD23B11D7C"></a>
+
+
+This section gathers discrete details in one convenient location to better help you assess and configure the security of your environment.
+
+-   **[External Interfaces, Ports, and Services](security-audit.html)**
+
+    Geode processes use either UDP or TCP/IP ports to communicate with other processes or clients.
+
+-   **[Resources That Must Be Protected](security-audit.html#topic_263072624B8D4CDBAD18B82E07AA44B6)**
+
+    Certain Geode configuration files should be readable and writeable *only* by the dedicated user who runs servers.
+
+-   **[Log File Locations](security-audit.html#topic_5B6DF783A14241399DC25C6EE8D0048A)**
+
+    By default, the log files are located in the working directory used when you started the corresponding processes.
+
+-   **[Where to Place Security Configuration Settings](properties_file.html)**
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/security/security_intro.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/security_intro.html.md.erb b/geode-docs/managing/security/security_intro.html.md.erb
new file mode 100644
index 0000000..1ebf105
--- /dev/null
+++ b/geode-docs/managing/security/security_intro.html.md.erb
@@ -0,0 +1,21 @@
+---
+title:  Security Features
+---
+
+Encryption, SSL secure communication, authentication, and authorization 
+features help to secure the distributed system.
+
+The features include:
+
+-   **A single security interface for all components**. The single
+authentication and authorization mechanism simplifies the security
+implementation.
+It views and interacts with all components in a consistent manner. 
+-   **System-wide role-based access control**.
+Roles regiment authorized operations requested by the various components.
+-   **SSL communication**. Allows configuration of connections to be 
+SSL-based, rather than plain socket connections.
+You can enable SSL separately for peer-to-peer, client, JMX, gateway senders and receivers, and HTTP connections.
+-   **Post processing of region data**. Return values for operations that
+return region values may be altered, permitting the filtering of returned data.
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/security/ssl_example.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/ssl_example.html.md.erb b/geode-docs/managing/security/ssl_example.html.md.erb
new file mode 100644
index 0000000..8cde042
--- /dev/null
+++ b/geode-docs/managing/security/ssl_example.html.md.erb
@@ -0,0 +1,88 @@
+---
+title:  SSL Sample Implementation
+---
+
+A simple example demonstrates the configuration and startup of Geode system components with SSL.
+
+## <a id="ssl_example__section_A8817FA8EF654CFB862F2375C0DD6770" class="no-quick-link"></a>Provider-Specific Configuration File
+
+This example uses a keystore created by the Java `keytool` application to provide the proper credentials to the provider. To create the keystore, run the `keytool` utility:
+
+``` pre
+keytool -genkey \ 
+-alias self \ 
+-dname "CN=trusted" \ 
+-validity 3650 \ 
+-keypass password \ 
+-keystore ./trusted.keystore \ 
+-storepass password \ 
+-storetype JKS 
+```
+
+This creates a `./trusted.keystore` file to be used later.
+
+## <a id="ssl_example__section_4D54B2E9045C4E34AE6DFFBECDED9271" class="no-quick-link"></a>gemfire.properties File
+
+You can enable SSL in the `gemfire.properties` file. In this example, SSL is enabled for all
+components.
+
+``` pre
+ssl-enabled-components=all
+mcast-port=0
+locators=<hostaddress>[<port>]
+```
+
+## <a id="ssl_example__section_7B8E0BBF4A4C4B9FB9BC34AC1CDD4D3E" class="no-quick-link"></a>gfsecurity.properties File
+
+You can specify the provider-specific settings in a `gfsecurity.properties` file, which can then be
+secured by restricting access to this file. The following example configures the default JSSE
+provider settings included with the JDK.
+
+``` pre
+ssl-keystore=/path/to/trusted.keystore
+ssl-keystore-password=password
+ssl-truststore=/path/to/trusted.keystore
+ssl-truststore-password=/path/to/trusted.truststore
+security-username=xxxx
+security-userPassword=yyyy 
+```
+
+
+## <a id="ssl_example__section_32E55F2088804667BB448DB577AC2940" class="no-quick-link"></a>Locator Startup
+
+Before starting other system members, we started the locator with the SSL and provider-specific
+configuration settings. After properly configuring `gemfire.properties` and `gfsecurity.properties`,
+start the locator and provide the location of the properties files. If any of the password fields
+are left empty, you will be prompted to enter a password.
+
+``` pre
+gfsh>start locator --name=my_locator --port=12345 \
+--properties-file=/path/to/your/gemfire.properties \
+--security-properties-file=/path/to/your/gfsecurity.properties
+```
+
+## <a id="ssl_example__section_8FCC32091E97422BA45AA76C82D8294D" class="no-quick-link"></a>Other Member Startup
+
+Applications and cache servers can be started similarly to the locator startup, with the appropriate
+`gemfire.properties` file and `gfsecurity.properties` files placed in the current working
+directory. You can also pass in the location of both files as system properties on the command
+line. For example:
+
+``` pre
+gfsh>start server --name=my_server \
+--properties-file=/path/to/your/gemfire.properties \
+--security-properties-file=/path/to/your/gfsecurity.properties
+```
+
+## <a id="ssl_example__section_connect_cluster" class="no-quick-link"></a>Connecting to a Running Cluster
+
+You can use `gfsh` to connect to an SSL-enabled cluster that is already running by specifying the
+`use-ssl` command-line option and providing a path to the security configuration file:
+
+``` pre
+gfsh>connect --locator=localhost[10334] --use-ssl \
+--security-properties-file=/path/to/your/gfsecurity.properties
+```
+
+Once connected, you can then issue `gfsh` commands to perform a variety of operations, including
+listing members and displaying region characteristics.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/security/ssl_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/security/ssl_overview.html.md.erb b/geode-docs/managing/security/ssl_overview.html.md.erb
new file mode 100644
index 0000000..8d975b9
--- /dev/null
+++ b/geode-docs/managing/security/ssl_overview.html.md.erb
@@ -0,0 +1,28 @@
+---
+title:  SSL
+---
+
+SSL protects your data in transit between applications by ensuring
+that only the applications identified by you can share distributed system data.
+
+To be secure, the data that is cached in a Geode system must be protected during storage, distribution, and processing. At any time, data in a distributed system may be in one or more of these locations:
+
+-   In memory
+-   On disk
+-   In transit between processes (for example, in an internet or intranet)
+
+For the protection of data in memory or on disk, Geode relies on your standard system security features such as firewalls, operating system settings, and JDK security settings.
+
+The SSL implementation ensures that only the applications identified by you can share distributed system data in transit. In this figure, the data in the visible portion of the distributed system is secured by the firewall and by security settings in the operating system and in the JDK. The data in the disk files, for example, is protected by the firewall and by file permissions. Using SSL for data distribution provides secure communication between Geode system members inside and outside the firewalls.
+
+<img src="../../images/security-5.gif" id="how_ssl_works__image_0437E0FC3EE74FB297BE4EBCC0FD4321" class="image" />
+
+
+-   **[Configuring SSL](implementing_ssl.html)**
+
+    You configure SSL for mutual authentication between members and to protect your data during distribution. You can use SSL alone or in conjunction with the other Geode security options.
+
+-   **[SSL Sample Implementation](ssl_example.html)**
+
+    A simple example demonstrates the configuration and startup of Geode system components with SSL.
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/statistics/application_defined_statistics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/statistics/application_defined_statistics.html.md.erb b/geode-docs/managing/statistics/application_defined_statistics.html.md.erb
new file mode 100644
index 0000000..8a4743b
--- /dev/null
+++ b/geode-docs/managing/statistics/application_defined_statistics.html.md.erb
@@ -0,0 +1,22 @@
+---
+title:  Application-Defined and Custom Statistics
+---
+
+Geode includes interfaces for defining and maintaining your own statistics.
+
+<a id="application_defined_statistics__section_88C31FA62A194947BF71AD54B5F9BAB3"></a>
+The Geode package, `org.apache.geode`, includes the following interfaces for defining and maintaining your own statistics:
+
+-   **StatisticDescriptor**. Describes an individual statistic. Each statistic has a name and information on the statistic it holds, such as its class type (long, int, etc.) and whether it is a counter that always increments, or a gauge that can vary in any manner.
+-   **StatisticsType**. Logical type that holds a list of `StatisticDescriptors` and provides access methods to them. The `StatisticDescriptors` contained by a `StatisticsType` are each assigned a unique ID within the list. `StatisticsType` is used to create a `Statistics` instance.
+-   **Statistics**. Instantiation of an existing `StatisticsType` object with methods for setting, incrementing, getting individual `StatisticDescriptor` values, and setting a callback which will recompute the statistic's value at configured sampling intervals.
+-   **StatisticsFactory**. Creates instances of `Statistics`. You can also use it to create instances of `StatisticDescriptor` and `StatisticsType`, because it implements `StatisticsTypeFactory`. `DistributedSystem` is an instance of `StatisticsFactory`.
+-   **StatisticsTypeFactory**. Creates instances of `StatisticDescriptor` and `StatisticsType`.
+
+The statistics interfaces are instantiated using statistics factory methods that are included in the package. For coding examples, see the online Java API documentation for `StatisticsFactory` and `StatisticsTypeFactory`.
+
+As an example, an application server might collect statistics on each client session in order to gauge whether client requests are being processed in a satisfactory manner. Long request queues or long server response times could prompt some capacity-management action such as starting additional application servers. To set this up, each session-state data point is identified and defined in a `StatisticDescriptor` instance. One instance might be a `RequestsInQueue` gauge, a non-negative integer that increments and decrements. Another could be a `RequestCount` counter, an integer that always increments. A list of these descriptors is used to instantiate a `SessionStateStats` `StatisticsType`. When a client connects, the application server uses the `StatisticsType` object to create a session-specific `Statistics` object. The server then uses the `Statistics` methods to modify and retrieve the client\u2019s statistics. This figure illustrates the relationships between the statistics interfa
 ces and shows the implementation of this use case.
+
+<img src="../../images/statistics-1.gif" id="application_defined_statistics__image_1fb717d9-4fe3-43c2-aeaa-bdceda5639d8" class="image" />
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/statistics/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/statistics/chapter_overview.html.md.erb b/geode-docs/managing/statistics/chapter_overview.html.md.erb
new file mode 100644
index 0000000..3bfee25
--- /dev/null
+++ b/geode-docs/managing/statistics/chapter_overview.html.md.erb
@@ -0,0 +1,25 @@
+---
+title:  Statistics
+---
+
+Every application and server in a distributed system can access statistical data about Apache Geode operations. You can configure the gathering of statistics by using the `alter runtime` command of `gfsh` or in the `gemfire.properties` file to facilitate system analysis and troubleshooting.
+
+-   **[How Statistics Work](../../managing/statistics/how_statistics_work.html)**
+
+    Each application or cache server that joins the distributed system can collect and archive statistical data for analyzing system performance.
+
+-   **[Transient Region and Entry Statistics](../../managing/statistics/transient_region_and_entry_statistics.html)**
+
+    For replicated, distributed, and local regions, Geode provides a standard set of statistics for the region and its entries.
+
+-   **[Application-Defined and Custom Statistics](../../managing/statistics/application_defined_statistics.html)**
+
+    Geode includes interfaces for defining and maintaining your own statistics.
+
+-   **[Configuring and Using Statistics](../../managing/statistics/setting_up_statistics.html)**
+
+    You configure statistics and statistics archiving in gemfire.properties
+
+-   **[Viewing Archived Statistics](../../managing/statistics/viewing_statistics.html)**
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/statistics/how_statistics_work.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/statistics/how_statistics_work.html.md.erb b/geode-docs/managing/statistics/how_statistics_work.html.md.erb
new file mode 100644
index 0000000..08d3cf2
--- /dev/null
+++ b/geode-docs/managing/statistics/how_statistics_work.html.md.erb
@@ -0,0 +1,17 @@
+---
+title:  How Statistics Work
+---
+
+Each application or cache server that joins the distributed system can collect and archive statistical data for analyzing system performance.
+
+<a id="how_statistics_work__section_C12B3CDFF04743688BA5F8FB374899D5"></a>
+Set the configuration attributes that control statistics collection in `gfsh` or in the `gemfire.properties` configuration file. You can also collect your own application defined statistics.
+
+When Java applications and servers join a distributed system, they can be configured via the cluster configuration service to enable statistics sampling and whether to archive the statistics that are gathered.
+
+**Note:**
+Geode statistics use the Java `System.nanoTimer` for nanosecond timing. This method provides nanosecond precision, but not necessarily nanosecond accuracy. For more information, see the online Java documentation for `System.nanoTimer` for the JRE you are using with Geode.
+
+Statistics sampling provides valuable information for ongoing system tuning and troubleshooting. Sampling statistics (not including time-based statistics) at the default sample rate does not impact overall distributed system performance. We recommend enabling statistics sampling in production environments. We do not recommend enabling time-based statistics (configured with the enable-time-statistics property) in production environments.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/statistics/setting_up_statistics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/statistics/setting_up_statistics.html.md.erb b/geode-docs/managing/statistics/setting_up_statistics.html.md.erb
new file mode 100644
index 0000000..53b8c97
--- /dev/null
+++ b/geode-docs/managing/statistics/setting_up_statistics.html.md.erb
@@ -0,0 +1,134 @@
+---
+title:  Configuring and Using Statistics
+---
+
+You configure statistics and statistics archiving in gemfire.properties
+
+## <a id="setting_up_statistics__section_215BB4074BD64834BAADA87BE84C34DE" class="no-quick-link"></a>Configure Statistics
+
+In this procedure it is assumed that you understand [Basic Configuration and Programming](../../basic_config/book_intro.html).
+
+1.  In gfsh, start your locator running the cluster configuration service (`--enable-cluster-configuration=true`).
+2.  Execute the following command to modify the cluster's configuration:
+
+    ``` pre
+    gfsh>alter runtime --enable-statistics=true
+    ```
+
+    You can also configure sample rate and the filename of your statistic archive files. See [alter runtime](../../tools_modules/gfsh/command-pages/alter.html#topic_7E6B7E1B972D4F418CB45354D1089C2B) for more command options.
+
+3.  Alternately, if you are not using the cluster configuration service, configure `gemfire.properties` for the statistics monitoring and archival that you need:
+    1.  Enable statistics gathering for the distributed system. This is required for all other statistics activities:
+
+        ``` pre
+        statistic-sampling-enabled=true
+        ```
+
+        **Note:**
+        Statistics sampling at the default sample rate (1000 milliseconds) does not impact system performance and is recommended in production environments for troubleshooting.
+
+    2.  Change the statistics sample rate as needed. Example:
+
+        ``` pre
+        statistic-sampling-enabled=true
+        statistic-sample-rate=2000
+        ```
+
+    3.  To archive the statistics to disk, enable that and set any file or disk space limits that you need. Example:
+
+        ``` pre
+        statistic-sampling-enabled=true
+        statistic-archive-file=myStatisticsArchiveFile.gfs
+        archive-file-size-limit=100
+        archive-disk-space-limit=1000
+        ```
+
+    4.  If you need time-based statistics, enable that. Time-based statistics require statistics sampling and archival. Example:
+
+        ``` pre
+        statistic-sampling-enabled=true
+        statistic-archive-file=myStatisticsArchiveFile.gfs
+        enable-time-statistics=true
+        ```
+
+        **Note:**
+        Time-based statistics can impact system performance and is not recommended for production environments.
+
+4.  Enable transient region and entry statistics gathering on the regions where you need it. Expiration requires statistics.
+
+    gfsh example:
+
+    ``` pre
+    gfsh>create region --name=myRegion --type=REPLICATE --enable-statistics=true
+    ```
+
+    Example:
+
+    ``` pre
+    <region name="myRegion" refid="REPLICATE">
+        <region-attributes statistics-enabled="true">
+        </region-attributes>
+    </region>
+    ```
+
+    **Note:**
+    Region and entry statistics are not archived and can only be accessed through the API. As needed, retrieve region and entry statistics through the `getStatistics` methods of the `Region` and `Region.Entry` objects. Example:
+
+    ``` pre
+    out.println("Current Region:\n\t" + this.currRegion.getName());
+    RegionAttributes attrs = this.currRegion.getAttributes();
+    if (attrs.getStatisticsEnabled()) {
+        CacheStatistics stats = this.currRegion.getStatistics();
+        out.println("Stats:\n\tHitCount is " + stats.getHitCount() +
+            "\n\tMissCount is " + stats.getMissCount() +
+            "\n\tLastAccessedTime is " + stats.getLastAccessedTime() +
+            "\n\tLastModifiedTime is " + stats.getLastModifiedTime());
+    }
+
+    ```
+
+5.  Create and manage any custom statistics that you need through the `cache.xml` and the API. Example:
+
+    ``` pre
+    // Create custom statistics
+    <?xml version="1.0" encoding="UTF-8"?>
+      <!DOCTYPE statistics PUBLIC
+        "-//Example Systems, Inc.//Example Statistics Type//EN"
+        "http://www.example.com/dtd/statisticsType.dtd">
+      <statistics>
+        <type name="StatSampler">
+          <description>Stats on the statistic sampler.</description>
+          <stat name="sampleCount" storage="int" counter="true">
+            <description>Total number of samples taken by this sampler.</description>
+            <unit>samples</unit>
+          </stat>
+          <stat name="sampleTime" storage="long" counter="true">
+            <description>Total amount of time spent taking samples.</description>
+            <unit>milliseconds</unit>
+          </stat>
+        </type>
+      </statistics>
+    ```
+
+    ``` pre
+    // Update custom stats through the API
+    this.samplerStats.incInt(this.sampleCountId, 1);
+    this.samplerStats.incLong(this.sampleTimeId, nanosSpentWorking / 1000000);
+    ```
+
+6.  Access archived statistics through the `gfsh show metrics` command.
+
+## <a id="setting_up_statistics__section_D511BB61B27A44749E2012B066A5C906" class="no-quick-link"></a>Controlling the Size of Archive Files
+
+You can specify limits on the archive files for statistics using `alter                 runtime` command. These are the areas of control:
+
+-   **Archive File Growth Rate**.
+    -   The `--statistic-sample-rate` parameter controls how often samples are taken, which affects the speed at which the archive file grows.
+    -   The `--statistic-archive-file` parameter controls whether the statistics files are compressed. If you give the file name a `.gz` suffix, it is compressed, thereby taking up less disk space.
+-   **Maximum Size of a Single Archive File**. If the value of the `--archive-file-size-limit` is greater than zero, a new archive is started when the size of the current archive exceeds the limit. Only one archive can be active at a time.
+    **Note:**
+    If you modify the value of `--archive-file-size-limit` while the distributed system is running, the new value does not take effect until the current archive becomes inactive (that is, when a new archive is started).
+
+-   **Maximum Size of All Archive Files**. The `--archive-disk-space-limit` parameter controls the maximum size of all inactive archive files combined. By default, the limit is set to 0, meaning that archive space is unlimited. Whenever an archive becomes inactive or when the archive file is renamed, the combined size of the inactive files is calculated. If the size exceeds the `--archive-disk-space-limit`, the inactive archive with the oldest modification time is deleted. This continues until the combined size is less than the limit. If `--archive-disk-space-limit` is less than or equal to `--archive-file-size-limit`, when the active archive is made inactive due to its size, it is immediately deleted.
+    **Note:**
+    If you modify the value of `--archive-disk-space-limit` while the distributed system is running, the new value does not take effect until the current archive becomes inactive.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/statistics/transient_region_and_entry_statistics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/statistics/transient_region_and_entry_statistics.html.md.erb b/geode-docs/managing/statistics/transient_region_and_entry_statistics.html.md.erb
new file mode 100644
index 0000000..74453a8
--- /dev/null
+++ b/geode-docs/managing/statistics/transient_region_and_entry_statistics.html.md.erb
@@ -0,0 +1,25 @@
+---
+title:  Transient Region and Entry Statistics
+---
+
+For replicated, distributed, and local regions, Geode provides a standard set of statistics for the region and its entries.
+
+Geode gathers these statistics when the `--enable-statistics` parameter of the `create region` command of `gfsh` is set to true or in cache.xml the region attribute `statistics-enabled` is set to true.
+
+**Note:**
+Unlike other Geode statistics, these region and entry statistics are not archived and cannot be charted.
+
+**Note:**
+Enabling these statistics requires extra memory per entry. See [Memory Requirements for Cached Data](../../reference/topics/memory_requirements_for_cache_data.html#calculating_memory_requirements).
+
+These are the transient statistics gathered for all but partitioned regions:
+
+-   **Hit and miss counts**. For the entry, the hit count is the number of times the cached entry was accessed through the `Region.get` method and the miss count is the number of times these hits did not find a valid value. For the region these counts are the totals for all entries in the region. The API provides `get` methods for the hit and miss counts, a convenience method that returns the hit-to-miss ratio, and a method for zeroing the counts.
+-   **Last accessed time**. For the entry, this is the last time a valid value was retrieved from the locally cached entry. For the region, this is the most recent "last accessed time" for all entries contained in the region. This statistic is used for idle timeout expiration activities.
+-   **Last modified time**. For the entry, this is the last time the entry value was updated (directly or through distribution) due to a load, create, or put operation. For the region, this is the most recent "last modified time" for all entries contained in the region. This statistic is used for time to live and idle timeout expiration activities.
+
+The hit and miss counts collected in these statistics can be useful for fine-tuning your system\u2019s caches. If you have a region\u2019s entry expiration enabled, for example, and see a high ratio of misses to hits on the entries, you might choose to increase the expiration times.
+
+Retrieve region and entry statistics through the `getStatistics` methods of the `Region` and `Region.Entry` objects.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/statistics/viewing_statistics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/statistics/viewing_statistics.html.md.erb b/geode-docs/managing/statistics/viewing_statistics.html.md.erb
new file mode 100644
index 0000000..eba7f3a
--- /dev/null
+++ b/geode-docs/managing/statistics/viewing_statistics.html.md.erb
@@ -0,0 +1,7 @@
+---
+title:  Viewing Archived Statistics
+---
+
+When sampling and archiving are enabled, you can examine archived historical data to help diagnose performance problems. Study statistics in archive files by using the gfsh `show metrics` command. You may also wish to use a separate statistics display utility.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/troubleshooting/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/troubleshooting/chapter_overview.html.md.erb b/geode-docs/managing/troubleshooting/chapter_overview.html.md.erb
new file mode 100644
index 0000000..ed45895
--- /dev/null
+++ b/geode-docs/managing/troubleshooting/chapter_overview.html.md.erb
@@ -0,0 +1,43 @@
+---
+title:  Troubleshooting and System Recovery
+---
+
+This section provides strategies for handling common errors and failure situations.
+
+-   **[Producing Artifacts for Troubleshooting](../../managing/troubleshooting/producing_troubleshooting_artifacts.html)**
+
+    There are several types of files that are critical for troubleshooting.
+
+-   **[Diagnosing System Problems](../../managing/troubleshooting/diagnosing_system_probs.html)**
+
+    This section provides possible causes and suggested responses for system problems.
+
+-   **[System Failure and Recovery](../../managing/troubleshooting/system_failure_and_recovery.html)**
+
+    This section describes alerts for and appropriate responses to various kinds of system failures. It also helps you plan a strategy for data recovery.
+
+-   **[Handling Forced Cache Disconnection Using Autoreconnect](../../managing/autoreconnect/member-reconnect.html)**
+
+    A Geode member may be forcibly disconnected from a Geode distributed system if the member is unresponsive for a period of time, or if a network partition separates one or more members into a group that is too small to act as the distributed system.
+
+-   **[Recovering from Application and Cache Server Crashes](../../managing/troubleshooting/recovering_from_app_crashes.html)**
+
+    When the application or cache server crashes, its local cache is lost, and any resources it owned (for example, distributed locks) are released. The member must recreate its local cache upon recovery.
+
+-   **[Recovering from Machine Crashes](../../managing/troubleshooting/recovering_from_machine_crashes.html)**
+
+    When a machine crashes because of a shutdown, power loss, hardware failure, or operating system failure, all of its applications and cache servers and their local caches are lost.
+
+-   **[Recovering from ConfictingPersistentDataExceptions](../../managing/troubleshooting/recovering_conflicting_data_exceptions.html)**
+
+    A `ConflictingPersistentDataException` while starting up persistent members indicates that you have multiple copies of some persistent data, and Geode cannot determine which copy to use.
+
+-   **[Preventing and Recovering from Disk Full Errors](../../managing/troubleshooting/prevent_and_recover_disk_full_errors.html)**
+
+    It is important to monitor the disk usage of Geode members. If a member lacks sufficient disk space for a disk store, the member attempts to shut down the disk store and its associated cache, and logs an error message. A shutdown due to a member running out of disk space can cause loss of data, data file corruption, log file corruption and other error conditions that can negatively impact your applications.
+
+-   **[Understanding and Recovering from Network Outages](../../managing/troubleshooting/recovering_from_network_outages.html)**
+
+    The safest response to a network outage is to restart all the processes and bring up a fresh data set.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/troubleshooting/diagnosing_system_probs.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/troubleshooting/diagnosing_system_probs.html.md.erb b/geode-docs/managing/troubleshooting/diagnosing_system_probs.html.md.erb
new file mode 100644
index 0000000..1e71ace
--- /dev/null
+++ b/geode-docs/managing/troubleshooting/diagnosing_system_probs.html.md.erb
@@ -0,0 +1,420 @@
+---
+title:  Diagnosing System Problems
+---
+
+This section provides possible causes and suggested responses for system problems.
+
+-   [Locator does not start](diagnosing_system_probs.html#diagnosing_system_probs__section_7BC1FF8CE0FC492CB49235FC4BC4060B)
+-   [Application or cache server process does not start](diagnosing_system_probs.html#diagnosing_system_probs__section_D51F5FA86ABA43C699B593D890BC3E28)
+-   [Application or cache server does not join the distributed system](diagnosing_system_probs.html#diagnosing_system_probs__section_53D97CED679443F28E20E8B08C699056)
+-   [Member process seems to hang](diagnosing_system_probs.html#diagnosing_system_probs__section_D607C96A6CBE42FD880F1463A20A8BEF)
+-   [Member process does not read settings from the gemfire.properties file](diagnosing_system_probs.html#diagnosing_system_probs__section_E3B4A6DB81AB4C659C6093D2D61EFD71)
+-   [Cache creation fails - must match schema definition root](diagnosing_system_probs.html#diagnosing_system_probs__section_B0698527A4DF4D84877B1AF66291ABFD)
+-   [Cache is not configured properly](diagnosing_system_probs.html#diagnosing_system_probs__section_B2DAD06E80A4475D96FF2ACCF30FE198)
+-   [Unexpected results for keySetOnServer and containsKeyOnServer](diagnosing_system_probs.html#diagnosing_system_probs__section_6B4E2AD4ECBB4C08B8F1DB5E07AFE7F6)
+-   [Data operation returns PartitionOfflineException](diagnosing_system_probs.html#diagnosing_system_probs__section_9276E09D9FAC408E899F73B7068E80C6)
+-   [Entries are not being evicted or expired as expected](diagnosing_system_probs.html#diagnosing_system_probs__section_A3BB709B754949C6981C431F1F8023D6)
+-   [Cannot find the log file](diagnosing_system_probs.html#diagnosing_system_probs__section_346C62F16B19491E83B59B0A51D9E2B6)
+-   [OutOfMemoryError](diagnosing_system_probs.html#diagnosing_system_probs__section_3CFAA7BA258B43A795AEAB09F9DD9AAB)
+-   [PartitionedRegionDistributionException](diagnosing_system_probs.html#diagnosing_system_probs__section_B49BD03F4CA241C7BED4A2C4D5936A7A)
+-   [PartitionedRegionStorageException](diagnosing_system_probs.html#diagnosing_system_probs__section_7DE15A6C99974821B6CA418BC2AF98F1)
+-   [Application crashes without producing an exception](diagnosing_system_probs.html#diagnosing_system_probs__section_AFA1D06BC3AA44A4AB0593FD1EF0B0B7)
+-   [Timeout alert](diagnosing_system_probs.html#diagnosing_system_probs__section_06C68EA0DACC46C58AA88E98C19AD2D8)
+-   [Member produces SocketTimeoutException](diagnosing_system_probs.html#diagnosing_system_probs__section_66D11C8E84F941B58800EDB52194B087)
+-   [Member logs ForcedDisconnectException, Cache and DistributedSystem forcibly closed](diagnosing_system_probs.html#diagnosing_system_probs__section_8C7CB2EA0A274DAF90083FECE0BF3B1F)
+-   [Members cannot see each other](diagnosing_system_probs.html#diagnosing_system_probs__section_778D150443044847B1C73B9E02BE247B)
+-   [One part of the distributed system cannot see another part](diagnosing_system_probs.html#diagnosing_system_probs__section_E31AFADE4A3A45C7A6EABB67697CFF33)
+-   [Data distribution has stopped, although member processes are running](diagnosing_system_probs.html#diagnosing_system_probs__section_04CEF27475924E5D9860BEE6D64C49E2)
+-   [Distributed-ack operations take a very long time to complete](diagnosing_system_probs.html#diagnosing_system_probs__section_7A6113ED20044B8C868483AABC45216E)
+-   [Slow system performance](diagnosing_system_probs.html#diagnosing_system_probs__section_E5DB25F2CC454510A9E58790C09C8CE3)
+-   [Can\u2019t get Windows performance data](diagnosing_system_probs.html#diagnosing_system_probs__section_F93DD765FF2A43439D3FF7936F8883DE)
+-   [Java applications on 64-bit platforms hang or use 100% CPU](diagnosing_system_probs.html#diagnosing_system_probs__section_E70C332303A242BEAE9D2C0A2EE70E0A)
+
+## <a id="diagnosing_system_probs__section_7BC1FF8CE0FC492CB49235FC4BC4060B" class="no-quick-link"></a>Locator does not start
+
+Invocation of a locator with gfsh fails with an error like this:
+
+``` pre
+Starting a GemFire Locator in C:\devel\gfcache\locator\locator
+The Locator process terminated unexpectedly with exit status 1. Please refer to the log
+        file in C:\devel\gfcache\locator\locator for full details.
+Exception in thread "main" java.lang.RuntimeException: An IO error occurred while
+        starting a Locator in C:\devel\gfcache\locator\locator on 192.0.2.0[10999]: Network is
+        unreachable; port (10999) is not available on 192.0.2.0.
+at
+org.apache.geode.distributed.LocatorLauncher.start(LocatorLauncher.java:622)
+at
+org.apache.geode.distributed.LocatorLauncher.run(LocatorLauncher.java:513)
+at
+org.apache.geode.distributed.LocatorLauncher.main(LocatorLauncher.java:188)
+Caused by: java.net.BindException: Network is unreachable; port (10999) is not available on
+        192.0.2.0.
+at
+org.apache.geode.distributed.AbstractLauncher.assertPortAvailable(AbstractLauncher.java:136)
+at
+org.apache.geode.distributed.LocatorLauncher.start(LocatorLauncher.java:596)
+...
+```
+
+This indicates a mismatch somewhere in the address, port pairs used for locator startup and configuration. The address you use for locator startup must match the address you list for the locator in the `gemfire.properties` locators specification. Every member of the locator\u2019s distributed system, including the locator itself, must have the complete locators specification in the `gemfire.properties`.
+
+Response:
+
+-   Check that your locators specification includes the address you are using to start your locator.
+-   If you use a bind address, you must use numeric addresses for the locator specification. The bind address will not resolve to the machine\u2019s default address.
+-   If you are using a 64-bit Linux system, check whether your system is experiencing the leap second bug. See [Java applications on 64-bit platforms hang or use 100% CPU](diagnosing_system_probs.html#diagnosing_system_probs__section_E70C332303A242BEAE9D2C0A2EE70E0A) for more information.
+
+## <a id="diagnosing_system_probs__section_D51F5FA86ABA43C699B593D890BC3E28" class="no-quick-link"></a>Application or cache server process does not start
+
+If the process tries to start and then silently disappears, on Windows this indicates a memory problem.
+
+Response:
+
+-   On a Windows host, decrease the maximum JVM heap size. This property is specified on the `gfsh` command line:
+
+    ``` pre
+    gfsh>start server --name=server_name --max-heap=1024m
+    ```
+
+    For details, see [JVM Memory Settings and System Performance](../monitor_tune/system_member_performance_jvm_mem_settings.html#sys_mem_perf).
+
+-   If this doesn\u2019t work, try rebooting.
+
+## <a id="diagnosing_system_probs__section_53D97CED679443F28E20E8B08C699056" class="no-quick-link"></a>Application or cache server does not join the distributed system
+
+Response: Check these possible causes.
+
+-   Network problem\u2014the most common cause. First, try to ping the other hosts.
+-   Firewall problems. If members of your distributed Geode system are located outside the LAN, check whether the firewall is blocking communication. Geode is a network-centric distributed system, so if you have a firewall running on your machine, it could cause connection problems. For example, your connections may fail if your firewall places restrictions on inbound or outbound permissions for Java-based sockets. You may need to modify your firewall configuration to permit traffic to Java applications running on your machine. The specific configuration depends on the firewall you are using.
+-   Wrong multicast port when using multicast for membership. Check the `gemfire.properties` file of this application or cache server to see that the mcast-port is configured correctly. If you are running multiple distributed systems at your site, each distributed system must use a unique multicast port.
+-   Can not connect to locator (when using TCP for discovery).
+    -   Check that the locators attribute in this process\u2019s `gemfire.properties` has the correct IP address for the locator.
+    -   Check that the locator process is running. If not, see instructions for related problem, [Data distribution has stopped, although member processes are running](diagnosing_system_probs.html#diagnosing_system_probs__section_04CEF27475924E5D9860BEE6D64C49E2).
+    -   Bind address set incorrectly on a multi-homed host. When you specify the bind address, use the IP address rather than the host name. Sometimes multiple network adapters are configured with the same hostname. See [Topology and Communication General Concepts](../../topologies_and_comm/topology_concepts/chapter_overview.html#concept_7628F498DB534A2D8A99748F5DA5DC94) for more information about using bind addresses.
+-   Wrong version of Geode . A version mismatch can cause the process to hang or crash. Check the software version with the gemfire version command.
+
+## <a id="diagnosing_system_probs__section_D607C96A6CBE42FD880F1463A20A8BEF" class="no-quick-link"></a>Member process seems to hang
+
+Response:
+
+-   **During initialization**\u2014For persistent regions, the member may be waiting for another member with more recent data to start and load from its disk stores. See [Disk Storage](../disk_storage/chapter_overview.html). Wait for the initialization to finish or time out. The process could be busy\u2014some caches have millions of entries, and they can take a long time to load. Look for this especially with cache servers, because their regions are typically replicas and therefore store all the entries in the region. Applications, on the other hand, typically store just a subset of the entries. For partitioned regions, if the initialization eventually times out and produces an exception, the system architect needs to repartition the data.
+-   **For a running process**\u2014Investigate whether another member is initializing. Under some optional distributed system configurations, a process can be required to wait for a response from other processes before it proceeds.
+
+## <a id="diagnosing_system_probs__section_E3B4A6DB81AB4C659C6093D2D61EFD71" class="no-quick-link"></a>Member process does not read settings from the gemfire.properties file
+
+Either the process can\u2019t find the configuration file or, if it is an application, it may be doing programmatic configuration.
+
+Response:
+
+-   Check that the `gemfire.properties` file is in the right directory.
+-   Make sure the process is not picking up settings from another `gemfire.properties` file earlier in the search path. Geode looks for a `gemfire.properties` file in the current working directory, the home directory, and the CLASSPATH, in that order.
+-   For an application, check the documentation to see whether it does programmatic configuration. If so, the properties that are set programmatically cannot be reset in a `gemfire.properties` file. See your application\u2019s customer support group for configuration changes.
+
+## <a id="diagnosing_system_probs__section_B0698527A4DF4D84877B1AF66291ABFD" class="no-quick-link"></a>Cache creation fails - must match schema definition root
+
+System member startup fails with an error like one of these:
+
+``` pre
+Exception in thread "main" org.apache.geode.cache.CacheXmlException:
+While reading Cache XML file:/C:/gemfire/client_cache.xml.
+Error while parsing XML, caused by org.xml.sax.SAXParseException:
+Document root element "client-cache", must match DOCTYPE root "cache".
+```
+
+``` pre
+Exception in thread "main" org.apache.geode.cache.CacheXmlException:
+While reading Cache XML file:/C:/gemfire/cache.xml.
+Error while parsing XML, caused by org.xml.sax.SAXParseException:
+Document root element "cache", must match DOCTYPE root "client-cache".
+```
+
+Geode declarative cache creation uses one of two root element pairs: `cache` or `client-cache`. The name must be the same in both places.
+
+Response:
+
+-   Modify your `cache.xml` file so it has the proper XML namespace and schema definition.
+
+**For peers and servers:**
+
+``` pre
+<?xml version="1.0" encoding="UTF-8"?>
+<cache
+    xmlns="http://geode.incubator.apache.org/schema/cache"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://geode.incubator.apache.org/schema/cache http://geode.incubator.apache.org/schema/cache/cache-1.0.xsd"
+    version="1.0\u201d>
+...
+</cache>
+```
+
+**For clients:**
+
+``` pre
+<?xml version="1.0" encoding="UTF-8"?>
+<client-cache
+    xmlns="http://geode.incubator.apache.org/schema/cache"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://geode.incubator.apache.org/schema/cache http://geode.incubator.apache.org/schema/cache/cache-1.0.xsd"
+    version="1.0">
+...
+</client-cache>
+```
+
+## <a id="diagnosing_system_probs__section_B2DAD06E80A4475D96FF2ACCF30FE198" class="no-quick-link"></a>Cache is not configured properly
+
+An empty cache can be a normal condition. Some applications start with an empty cache and populate it programmatically, but others are designed to bulk load data during initialization.
+
+Response:
+
+If your application should start with a full cache but it comes up empty, check these possible causes:
+
+-   **No regions**\u2014If the cache has no regions, the process isn\u2019t reading the cache configuration file. Check that the name and location of the cache configuration file match those configured in the cache-xml-file attribute in `gemfire.properties`. If they match, the process may not be reading `gemfire.properties`. See [Member process does not read settings from the gemfire.properties file](diagnosing_system_probs.html#diagnosing_system_probs__section_E3B4A6DB81AB4C659C6093D2D61EFD71).
+-   **Regions without data**\u2014If the cache starts with regions, but no data, this process may not have joined the correct distributed system. Check the log file for messages that indicate other members. If you don\u2019t see any, the process may be running alone in its own distributed system. In a process that is clearly part of the correct distributed system, regions without data may indicate an implementation design error.
+
+## <a id="diagnosing_system_probs__section_6B4E2AD4ECBB4C08B8F1DB5E07AFE7F6" class="no-quick-link"></a>Unexpected results for keySetOnServer and containsKeyOnServer
+
+Client calls to keySetOnServer and containsKeyOnServer can return incomplete or inconsistent results if your server regions are not configured as partitioned or replicated regions.
+
+A non-partitioned, non-replicate server region may not hold all data for the distributed region, so these methods would operate on a partial view of the data set.
+
+In addition, the client methods use the least loaded server for each method call, so may use different servers for two calls. If the servers do not have a consistent view in their local data set, responses to client requests will vary.
+
+The consistent view is only guaranteed by configuring the server regions with partitioned or replicate data-policy settings. Non-server members of the server system can use any allowable configuration as they are not available to take client requests.
+
+The following server region configurations give inconsistent results. These configurations allow different data on different servers. There is no additional messaging on the servers, so no union of keys across servers or checking other servers for the key in question.
+
+-   Normal
+-   Mix (replicated, normal, empty) for a single distributed region. Inconsistent results depending on which server the client sends the request to
+
+These configurations provide consistent results:
+
+-   Partitioned server region
+-   Replicated server region
+-   Empty server region: keySetOnServer returns the empty set and containsKeyOnServer returns false
+
+Response: Use a partitioned or replicate data-policy for your server regions. This is the only way to provide a consistent view to clients of your server data set. See [Region Data Storage and Distribution Options](../../developing/region_options/chapter_overview.html).
+
+## <a id="diagnosing_system_probs__section_9276E09D9FAC408E899F73B7068E80C6" class="no-quick-link"></a>Data operation returns PartitionOfflineException
+
+In partitioned regions that are persisted to disk, if you have any members offline, the partitioned region will still be available but may have some buckets represented only in offline disk stores. In this case, methods that access the bucket entries return a PartitionOfflineException, similar to this:
+
+``` pre
+org.apache.geode.cache.persistence.PartitionOfflineException:
+Region /__PR/_B__root_partitioned__region_7 has persistent data that is no
+longer online stored at these locations:
+[/192.0.2.1:/export/straw3/users/jpearson/bugfix_Apr10/testCL/hostB/backupDirectory 
+created at timestamp 1270834766733 version 0]
+```
+
+Response: Bring the missing member online, if possible. This restores the buckets to memory and you can work with them again. If the missing member cannot be brought back online, or the disk stores for the member are corrupt, you may need to revoke the member, which will allow the system to create the buckets in new members and resume operations with the entries. See [Handling Missing Disk Stores](../disk_storage/handling_missing_disk_stores.html#handling_missing_disk_stores).
+
+## <a id="diagnosing_system_probs__section_A3BB709B754949C6981C431F1F8023D6" class="no-quick-link"></a>Entries are not being evicted or expired as expected
+
+Check these possible causes.
+
+-   Transactions\u2014Entries that are old enough for eviction may remain in the cache if they are involved in a transaction. Further, transactions never time out, so if a transaction hangs, the entries involved in the transaction will remain stuck in the cache. If you have a process with a hung transaction, you may need to end the process to remove the transaction. In your application programming, do not leave transactions open ended. Program all transactions to end with a commit or a rollback. See [Using Eviction and Expiration Operations](../../developing/transactions/working_with_transactions.html#concept_vyt_txz_vk).
+-   Partitioned regions\u2014For performance reasons, eviction and expiration behave differently in partitioned regions and can cause entries to be removed before you expect. See [Eviction](../../developing/eviction/chapter_overview.html) and [Expiration](../../developing/expiration/chapter_overview.html).
+
+## <a id="diagnosing_system_probs__section_346C62F16B19491E83B59B0A51D9E2B6" class="no-quick-link"></a>Cannot find the log file
+
+Operating without a log file can be a normal condition, so the process does not log a warning.
+
+Response:
+
+-   Check whether the log-file attribute is configured in `gemfire.properties`. If not, logging defaults to standard output, and on Windows it may not be visible at all.
+-   If log-file is configured correctly, the process may not be reading `gemfire.properties`. See [Member process does not read settings from the gemfire.properties file](diagnosing_system_probs.html#diagnosing_system_probs__section_E3B4A6DB81AB4C659C6093D2D61EFD71).
+
+## <a id="diagnosing_system_probs__section_3CFAA7BA258B43A795AEAB09F9DD9AAB" class="no-quick-link"></a>OutOfMemoryError
+
+An application gets an OutOfMemoryError if it needs more object memory than the process is able to give. The messages include java.lang.OutOfMemoryError.
+
+Response:
+
+The process may be hitting its virtual address space limits. The virtual address space has to be large enough to accommodate the heap, code, data, and dynamic link libraries (DLLs).
+
+-   If your application is out of memory frequently, you may want to profile it to determine the cause.
+-   If you suspect your heap size is set too low, you can increase direct memory by resetting the maximum heap size, using -Xmx. For details, see [JVM Memory Settings and System Performance](../monitor_tune/system_member_performance_jvm_mem_settings.html#sys_mem_perf).
+-   You may need to lower the thread stack size. The default thread stack size is quite large: 512kb on Sparc and 256kb on Intel for 1.3 and 1.4 32-bit JVMs, 1mb with the 64-bit Sparc 1.4 JVM; and 128k for 1.2 JVMs. If you have thousands of threads then you might be wasting a significant amount of stack space. If this is your problem, the error may be this:
+
+    ``` pre
+    OutOfMemoryError: unable to create new native thread
+    ```
+
+    The minimum setting in 1.3 and 1.4 is 64kb, and in 1.2 is 32kb. You can change the stack size using the -Xss flag, like this: -Xss64k
+
+-   You can also control memory use by setting entry limits for the regions.
+
+
+## <a id="diagnosing_system_probs__section_B49BD03F4CA241C7BED4A2C4D5936A7A" class="no-quick-link"></a>PartitionedRegionDistributionException
+
+The org.apache.geode.cache.PartitionedRegionDistributionException appears when Geode fails after many attempts to complete a distributed operation. This exception indicates that no data store member can be found to perform a destroy, invalidate, or get operation.
+
+Response:
+
+-   Check the network for traffic congestion or a broken connection to a member.
+-   Look at the overall installation for problems, such as operations at the application level set to a higher priority than the Geode processes.
+-   If you keep seeing PartitionedRegionDistributionException, you should evaluate whether you need to start more members.
+
+## <a id="diagnosing_system_probs__section_7DE15A6C99974821B6CA418BC2AF98F1" class="no-quick-link"></a>PartitionedRegionStorageException
+
+The org.apache.geode.cache.PartitionedRegionStorageException appears when Geode can\u2019t create a new entry. This exception arises from a lack of storage space for put and create operations or for get operations with a loader. PartitionedRegionStorageException often indicates data loss or impending data loss.
+
+The text string indicates the cause of the exception, as in these examples:
+
+``` pre
+Unable to allocate sufficient stores for a bucket in the partitioned region....
+```
+
+``` pre
+Ran out of retries attempting to allocate a bucket in the partitioned region....
+```
+
+Response:
+
+-   Check the network for traffic congestion or a broken connection to a member.
+-   Look at the overall installation for problems, such as operations at the application level set to a higher priority than the Geode processes.
+-   If you keep seeing PartitionedRegionStorageException, you should evaluate whether you need to start more members.
+
+## <a id="diagnosing_system_probs__section_AFA1D06BC3AA44A4AB0593FD1EF0B0B7" class="no-quick-link"></a>Application crashes without producing an exception
+
+If an application crashes without any exception, this may be caused by an object memory problem. The process is probably hitting its virtual address space limits. For details, see [OutOfMemoryError](diagnosing_system_probs.html#diagnosing_system_probs__section_3CFAA7BA258B43A795AEAB09F9DD9AAB).
+
+Response: Control memory use by setting entry limits for the regions.
+
+
+## <a id="diagnosing_system_probs__section_06C68EA0DACC46C58AA88E98C19AD2D8" class="no-quick-link"></a>Timeout alert
+
+If a distributed message does not get a response within a specified time, it sends an alert to signal that something might be wrong with the system member that hasn\u2019t responded. The alert is logged in the sender\u2019s log as a warning.
+
+A timeout alert can be considered normal.
+
+Response:
+
+-   If you\u2019re seeing a lot of timeouts and you haven\u2019t seen them before, check whether your network is flooded.
+-   If you see these alerts constantly during normal operation, consider raising the ack-wait-threshold above the default 15 seconds.
+
+## <a id="diagnosing_system_probs__section_66D11C8E84F941B58800EDB52194B087" class="no-quick-link"></a>Member produces SocketTimeoutException
+
+A client and server produces a SocketTimeoutException when it stops waiting for a response from the other side of the connection and closes the socket. This exception typically happens on the handshake or when establishing a callback connection.
+
+Response:
+
+Increase the default socket timeout setting for the member. This timeout is set separately for the client Pool. For a client/server configuration, adjust the "read-timeout" value as described in [&lt;pool&gt;](../../reference/topics/client-cache.html#cc-pool) or use the `org.apache.geode.cache.client.PoolFactory.setReadTimeout` method.
+
+## <a id="diagnosing_system_probs__section_8C7CB2EA0A274DAF90083FECE0BF3B1F" class="no-quick-link"></a>Member logs ForcedDisconnectException, Cache and DistributedSystem forcibly closed
+
+A distributed system member\u2019s Cache and DistributedSystem are forcibly closed by the system membership coordinator if it becomes sick or too slow to respond to heartbeat requests. When this happens, listeners receive RegionDestroyed notification with an opcode of FORCED\_DISCONNECT. The Geode log file for the member shows a ForcedDisconnectException with the message
+
+``` pre
+This member has been forced out of the distributed system because it did not respond
+within member-timeout milliseconds
+```
+
+Response:
+
+To minimize the chances of this happening, you can increase the DistributedSystem property member-timeout. Take care, however, as this setting also controls the length of time required to notice a network failure. It should not be set too high.
+
+## <a id="diagnosing_system_probs__section_778D150443044847B1C73B9E02BE247B" class="no-quick-link"></a>Members cannot see each other
+
+Suspect a network problem or a problem in the configuration of transport for memory and discovery.
+
+Response:
+
+-   Check your network monitoring tools to see whether the network is down or flooded.
+-   If you are using multi-homed hosts, make sure a bind address is set and consistent for all system members. For details about using bind addresses, see [Topology and Communication General Concepts](../../topologies_and_comm/topology_concepts/chapter_overview.html#concept_7628F498DB534A2D8A99748F5DA5DC94).
+-   Check that all the applications and cache servers are using the same locator address.
+
+## <a id="diagnosing_system_probs__section_E31AFADE4A3A45C7A6EABB67697CFF33" class="no-quick-link"></a>One part of the distributed system cannot see another part
+
+This situation can leave your caches in an inconsistent state. In networking circles, this kind of network outage is called the "split brain problem."
+
+Response:
+
+-   Restart all the processes to ensure data consistency.
+-   Going forward, set up network monitoring tools to detect these kinds of outages quickly.
+-   Enable network partition detection.
+
+Also see
+[Understanding and Recovering from Network Outages](recovering_from_network_outages.html#rec_network_crash).
+
+## <a id="diagnosing_system_probs__section_04CEF27475924E5D9860BEE6D64C49E2" class="no-quick-link"></a>Data distribution has stopped, although member processes are running
+
+Suspect a problem with the network, the locator, or the multicast configuration, depending on the transport your distributed system is using.
+
+Response:
+
+-   Check the health of your system members. Search the logs for this string:
+
+    ``` pre
+    Uncaught exception
+    ```
+
+    An uncaught exception means a severe error, often an OutOfMemoryError. See [OutOfMemoryError](diagnosing_system_probs.html#diagnosing_system_probs__section_3CFAA7BA258B43A795AEAB09F9DD9AAB).
+
+-   Check your network monitoring tools to see whether the network is down or flooded.
+-   If you are using multicast, check whether the existing configuration is no long appropriate for the current network traffic.
+-   Check whether the locators have stopped. For a list of the locators in use, check the locators property in one of the application `gemfire.properties` files.
+    -   Restart the locator processes on the same hosts, if possible. The distributed system begins normal operation, and data distribution restarts automatically.
+    -   If a locator must be moved to another host or a different IP address, complete these steps:
+        1.  Shut down all the members of the distributed system in the usual order.
+        2.  Restart the locator process in its new location.
+        3.  Edit all the gemfire.properties files to change this locator\u2019s IP address in the locators attribute.
+        4.  Restart the applications and cache servers in the usual order.
+-   Create a watchdog daemon or service on each locator host to restart the locator process when it stops
+
+## <a id="diagnosing_system_probs__section_7A6113ED20044B8C868483AABC45216E" class="no-quick-link"></a>Distributed-ack operations take a very long time to complete
+
+This problem can occur in systems with a great number of distributed-no-ack operations. That is, the presence of many no-ack operations can cause ack operation to take a long time to complete.
+
+Response:
+
+For information on alleviating this problem, see [Slow distributed-ack Messages](../monitor_tune/slow_messages.html#slow_mess).
+
+## <a id="diagnosing_system_probs__section_E5DB25F2CC454510A9E58790C09C8CE3" class="no-quick-link"></a>Slow system performance
+
+Slow system performance is sometimes caused by a buffer size that is too small for the objects being distributed.
+
+Response:
+
+If you are experiencing slow performance and are sending large objects (multiple megabytes), try increasing the socket buffer size settings in your system. For more information, see [Socket Communication](../monitor_tune/socket_communication.html).
+
+## <a id="diagnosing_system_probs__section_F93DD765FF2A43439D3FF7936F8883DE" class="no-quick-link"></a>Can\u2019t get Windows performance data
+
+Attempting to run performance measurements for Geode on Windows can produce this error message:
+
+``` pre
+Can't get Windows performance data. RegQueryValueEx returned 5
+```
+
+This error can occur because incorrect information is returned when a Win32 application calls the ANSI version of RegQueryValueEx Win32 API with HKEY\_PERFORMANCE\_DATA. This error is described in Microsoft KB article ID 226371 at [http://support.microsoft.com/kb/226371/en-us](http://support.microsoft.com/kb/226371/en-us).
+
+Response:
+
+To successfully acquire Windows performance data, you need to verify that you have the proper registry key access permissions in the system registry. In particular, make sure that Perflib in the following registry path is readable (KEY\_READ access) by the Geode process:
+
+``` pre
+HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
+```
+
+An example of reasonable security on the performance data would be to grant administrators KEY\_ALL\_ACCESS access and interactive users KEY\_READ access. This particular configuration would prevent non-administrator remote users from querying performance data.
+
+See [http://support.microsoft.com/kb/310426](http://support.microsoft.com/kb/310426) and [http://support.microsoft.com/kb/146906](http://support.microsoft.com/kb/146906) for instructions about how to ensure that Geode processes have access to the registry keys associated with performance.
+
+## <a id="diagnosing_system_probs__section_E70C332303A242BEAE9D2C0A2EE70E0A" class="no-quick-link"></a>Java applications on 64-bit platforms hang or use 100% CPU
+
+If your Java applications suddenly start to use 100% CPU, you may be experiencing the leap second bug. This bug is found in the Linux kernel and can severely affect Java programs. In particular, you may notice that method invocations using `Thread.sleep(n)` where `n` is a small number will actually sleep for much longer period of time than defined by the method. To verify that you are experiencing this bug, check the host's `dmesg` output for the following message:
+
+``` pre
+[10703552.860274] Clock: inserting leap second 23:59:60 UTC
+```
+
+To fix this problem, issue the following commands on your affected Linux machines:
+
+``` pre
+prompt> /etc/init.d/ntp stop
+prompt> date -s "$(date)"
+```
+
+See the following web site for more information:
+
+[http://blog.wpkg.org/2012/07/01/java-leap-second-bug-30-june-1-july-2012-fix/](http://blog.wpkg.org/2012/07/01/java-leap-second-bug-30-june-1-july-2012-fix/)

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/troubleshooting/prevent_and_recover_disk_full_errors.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/troubleshooting/prevent_and_recover_disk_full_errors.html.md.erb b/geode-docs/managing/troubleshooting/prevent_and_recover_disk_full_errors.html.md.erb
new file mode 100644
index 0000000..7dc9a19
--- /dev/null
+++ b/geode-docs/managing/troubleshooting/prevent_and_recover_disk_full_errors.html.md.erb
@@ -0,0 +1,28 @@
+---
+title:  Preventing and Recovering from Disk Full Errors
+---
+
+It is important to monitor the disk usage of Geode members. If a member lacks sufficient disk space for a disk store, the member attempts to shut down the disk store and its associated cache, and logs an error message. A shutdown due to a member running out of disk space can cause loss of data, data file corruption, log file corruption and other error conditions that can negatively impact your applications.
+
+After you make sufficient disk space available to the member, you can restart the member.
+
+You can prevent disk file errors using the following techniques:
+
+-   If you are using ext4 file system, we recommend that you pre-allocate disk store files and disk store metadata files. Pre-allocation reserves disk space for these files and leaves the member in a healthy state when the disk store and regions are shut down, allowing you to restart the member once sufficient disk space has been made available. Pre-allocation is enabled by default.
+-   Configure critical usage thresholds (disk-usage-warning-percentage and disk-usage-critical-percentage) for the disk. By default, these are set to 90% for warning and 99% for errors that will shut down the cache.
+-   Follow the recommendations in [Optimizing a System with Disk Stores](../disk_storage/optimize_availability_and_performance.html#optimize_avail_disk_store) for general disk management best practices.
+
+When a disk write fails due to disk full conditions, the member is shutdown and removed from the distributed system.
+
+## Recovering from Disk Full Errors
+
+If a member of your Geode distributed system fails due to a disk full error condition, add or make additional disk capacity available and attempt to restart the member normally. If the member does not restart and there is a redundant copy of its regions in a disk store on another member, you can restore the member using the following steps:
+
+1.  Delete or move the disk store files from the failed member.
+2.  Use the gfsh `show missing-disk-stores` command to identify any missing data. You may need to manually restore this data.
+3.  Revoke the missing disk stores using the [revoke missing-disk-store](../../tools_modules/gfsh/command-pages/revoke.html) gfsh command.
+4.  Restart the member.
+
+See [Handling Missing Disk Stores](../disk_storage/handling_missing_disk_stores.html#handling_missing_disk_stores) for more information.
+
+


[50/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index eaf0351..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-geode-book/Gemfile.lock
-geode-book/final_app
-geode-book/output
-out
-temp
-*.bak

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/CONTRIBUTE.md
----------------------------------------------------------------------
diff --git a/CONTRIBUTE.md b/CONTRIBUTE.md
deleted file mode 100644
index dd97f47..0000000
--- a/CONTRIBUTE.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# Contributing to the Project Geode Documentation
-
-Project Geode welcomes your contributions to the community's documentation efforts. You can participate by writing new content, reviewing and editing existing content, or fixing bugs. This document covers the following topics:
-
-- [How to Contribute](#contribute)
-- [Document Source Files and Tools](#source_tools)
-- [Writing Guidelines](#guidelines)
-
-[]()
-
-## How to Contribute
-
-We use the fork-and-pull collaboration method on GitHub:
-
-1. In your GitHub account, fork the gemfire/docs-geode-md repository.
-2. Create a local clone of your fork.
-3. Make changes and commit them in your fork.
-4. In the gemfire/docs-geode-md repository, create a pull request.
-
-See [Using Pull Requests](https://help.github.com/articles/using-pull-requests/) on GitHub for more about the fork-and-pull collaboration method.
-
-[]()
-
-## Document Source Files and Tools
-
-Project Geode documentation source files are written in markdown. Image files include .gif and .png graphics and editable image files in the open source SVG format.
-
-- [Working with Markdown Files](#markdown)
-- [Working with Images and Graphics](#images)
-
-[]()
-
-### Working with Markdown Files
-
-You can edit markdown files in any text editor. For more, read [Daring Fireball's Markdown Syntax page](https://daringfireball.net/projects/markdown/syntax).
-
-[]()
-
-### Working with Images and Graphics
-
-Image files in .gif or .png format are in the `images` directory in the Project Geode docs repo. Images in .svg format are in the `images_svg` directory.
-
-Most of the Project Geode image files have been converted to the open source SVG format. You can insert SVG images directly into an XML topic and modify images using a SVG editor.
-
-The Wikipedia page [Comparison of Vector Graphics Editors](http://en.wikipedia.org/wiki/Comparison_of_vector_graphics_editors) provides a list and comparison of commercial and free vector graphics editors. Note, however, that not all of these programs support the SVG format.
-
-[]()
-
-## Writing Guidelines
-
-The most important advice we can provide for working with the Project Geode docs is to spend some time becoming familiar with the existing source files and the structure of the project directory. In particular, note the following conventions and tips:
-
-- Top-level subdirectories organize topics into "books": basic_config, configuring, developing, etc.
-
-- Use lowercase characters for all file and directory names. Separate words in filenames with an underscore (`_`) character.
-
-- Use the `.md` file extension for topic files.
-
-- Add new topics to the existing directories by subject type. Only create a new directory if you are starting a new subject or a new book.
-
-- To start a new topic, you can make a copy of an existing file with similar content and edit it.
-
-- Use the appropriate document type for the content you are writing. Create multiple topics if you are writing overview, procedural, and reference content.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
deleted file mode 100644
index a018ca1..0000000
--- a/README.md
+++ /dev/null
@@ -1,93 +0,0 @@
-# Project Geode End-User Documentation
-
-The latest check-ins to `project-geode/docs` are automatically built and published to <http://geode-docs.cfapps.io>.
-
-Project Geode provides the full source for end-user documentation in markdown format. The markdown can be built into HTML using [Bookbinder](https://github.com/pivotal-cf/bookbinder).
-
-Bookbinder is a gem that binds together a unified documentation web application from markdown, html, and/or DITA source material. The source material for bookbinder must be stored either in local directories or in GitHub repositories. Bookbinder runs [middleman](http://middlemanapp.com/) to produce a Rackup app that can be deployed locally or as a Web application.
-
-This document contains instructions for building the local Geode documentation and publishing it to Cloud Foundry or Pivotal Web Services. It contains the sections:
-
-- [Bookbinder Usage](#usage)
-- [Prerequisites](#prereq)
-- [Building the Documentation](#building)
-- [Publishing the Documentation](#publishing)
-- [Getting More Information](#moreinfo)
-
-[]()
-
-## Bookbinder Usage
-
-Bookbinder is meant to be used from within a project called a **book**. The book includes a configuration file that describes which documentation repositories to use as source materials. Bookbinder provides a set of scripts to aggregate those repositories and publish them to various locations.
-
-For Geode, a preconfigured **book** is provided in the directory `/geode-book`. You can use this configuration to build HTML for project Geode on your local system.
-
-[]()
-
-## Prerequisites
-
-- Bookbinder requires Ruby version 2.0.0-p195 or higher.
-
-## Building the Documentation
-
-1. Begin by moving or copying the `/geode-book directory` to a directory that is parallel to `project-geode/docs`. For example:
-
-  ```
-  $ cd /repos/project-geode/docs
-  $ cp -r geode-book ..
-  $ cd ../geode-book
-  ```
-
-2. The GemFile in the book directory already defines the `gem "bookbindery"` dependency. Make sure you are in the relocated book directory and enter:
-
-  ```
-  $ bundle install
-  ```
-
-3. The installed `config.yml` file configures the Project Geode book for building locally. The installed file configures the local directory for the markdown source files. It uses the configuration:
-
-  ```
-  book_repo: project-geode/geode-book
-  public_host: localhost
-
-  sections:
-  - repository:
-     name: gemfire/docs-geode-md
-   directory: docs-geode
-   subnav_template: geode-nav
-
-  template_variables:
-   product_url: http://geode.incubator.apache.org
-   book_title: Project Geode Documentation
-  ```
-
-4. Build the files locally using the installed `config.yml` file. Execute the command:
-
-  ```
-  $ bundle exec bookbinder bind local
-  ```
-
-  Bookbinder converts the markdown source into HTML, putting the final output in the `final_app` directory.
-
-5. To view the local documentation:
-
-  ```
-  $ cd final_app
-  $ rackup
-  ```
-
-  You can now view the local documentation at <http://localhost:9292>
-
-[]()
-
-## Publishing the Documentation
-
-Because the `final_app` directory contains the full output of the HTML conversion process, you can easily publish this directory as a hosted Web application.
-
-[]()
-
-## Getting More Information
-
-Bookbinder provides additional functionality to construct books from multiple Github repos, to perform variable substitution, and also to automatically build documentation in a continuous integration pipeline. For more information, see <https://github.com/pivotal-cf/bookbinder>.
-
-The latest check-ins to `gemfire/docs-geode-md` are automatically built and published to <http://geode-docs.cfapps.io>.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/about_geode.html.md.erb
----------------------------------------------------------------------
diff --git a/about_geode.html.md.erb b/about_geode.html.md.erb
deleted file mode 100644
index 3117eb4..0000000
--- a/about_geode.html.md.erb
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title:  Apache Geode 1.0.0-incubating Documentation
----
-
-This documentation describes product concepts and provides complete setup instructions for Apache Geode 1.0.0-incubating. Source files and instructions on how to build this documentation are available at [https://github.com/project-geode/docs](https://github.com/project-geode/docs) and [https://github.com/project-geode/docs/blob/master/README.md](https://github.com/project-geode/docs/blob/master/README.md).
-
-You can also find additional documentation about Geode on the **Apache Geode Wiki**: [https://cwiki.apache.org/confluence/display/GEODE/Index](https://cwiki.apache.org/confluence/display/GEODE/Index).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/book_intro.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/book_intro.html.md.erb b/basic_config/book_intro.html.md.erb
deleted file mode 100644
index 1b6114e..0000000
--- a/basic_config/book_intro.html.md.erb
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title:  Basic Configuration and Programming
----
-
-*Basic Configuration and Programming* describes how to configure distributed system and cache properties for your Apache Geode installation. For your applications, it provides guidance for writing code to manage your cache and distributed system connection, data regions, and data entries, including custom classes.
-
--   **[Distributed System and Cache Configuration](../basic_config/config_concepts/chapter_overview.html)**
-
-    To work with your Apache Geode applications, you use a combination of configuration files and application code.
-
--   **[Cache Management](../basic_config/the_cache/chapter_overview.html)**
-
-    The Geode cache is the entry point to Geode caching management. Geode provides different APIs and XML configuration models to support the behaviors of different members.
-
--   **[Data Regions](../basic_config/data_regions/chapter_overview.html)**
-
-    The region is the core building block of the Apache Geode distributed system. All cached data is organized into data regions and you do all of your data puts, gets, and querying activities against them.
-
--   **[Data Entries](../basic_config/data_entries_custom_classes/chapter_overview.html)**
-
-    The data entry is the key/value pair where you store your data. You can manage your entries individually and in batches. To use domain objects for your entry values and keys, you need to follow Apache Geode requirements for data storage and distribution.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/config_concepts/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/config_concepts/chapter_overview.html.md.erb b/basic_config/config_concepts/chapter_overview.html.md.erb
deleted file mode 100644
index 8f3fa6d..0000000
--- a/basic_config/config_concepts/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title:  Distributed System and Cache Configuration
----
-
-To work with your Apache Geode applications, you use a combination of configuration files and application code.
-
--   **[Distributed System Members](../../basic_config/config_concepts/distributed_system_member_configuration.html)**
-
-    Distributed system members are programs that connect to a Geode distributed system. You configure members to belong to a single distributed system, and you can optionally configure them to be clients or servers to members in other distributed systems, and to communicate with other distributed systems.
-
--   **[Setting Properties](../../basic_config/gemfire_properties/setting_distributed_properties.html)**
-
-    Geode provides a default distributed system configuration for out-of-the-box systems. To use non-default configurations and to fine-tune your member communication, you can use a mix of various options to customize your distributed system configuration.
-
--   **[Options for Configuring the Cache and Data Regions](../../basic_config/the_cache/setting_cache_properties.html)**
-
-    To populate your Apache Geode cache and fine-tune its storage and distribution behavior, you need to define cached data regions and provide custom configuration for the cache and regions.
-
--   **[Local and Remote Membership and Caching](../../basic_config/config_concepts/local_vs_remote.html)**
-
-    For many Apache Geode discussions, you need to understand the difference between local and remote membership and caching.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/config_concepts/distributed_system_member_configuration.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/config_concepts/distributed_system_member_configuration.html.md.erb b/basic_config/config_concepts/distributed_system_member_configuration.html.md.erb
deleted file mode 100644
index 5da27bc..0000000
--- a/basic_config/config_concepts/distributed_system_member_configuration.html.md.erb
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title:  Distributed System Members
----
-
-Distributed system members are programs that connect to a Geode distributed system. You configure members to belong to a single distributed system, and you can optionally configure them to be clients or servers to members in other distributed systems, and to communicate with other distributed systems.
-
-## <a id="distributed_system_member_configuration__section_326B2609B67E4FBE9BF2074C3B211E50" class="no-quick-link"></a>Member Overview
-
-Distributed system members (or simply "members") connect to the Geode system when they create the Geode data cache. The members' distributed system is configured through Geode properties. See [gemfire.properties and gfsecurity.properties (Geode Properties)](../../reference/topics/gemfire_properties.html). Geode properties specify all necessary information for system member startup, initialization, and communication.
-
-**Note:**
-You cannot change a member's properties while the member is connected to the distributed system.
-
-Use the properties to define:
-
--   How to find and communicate with other system members
--   How to perform logging and statistics activities
--   Which persistent configuration or `cache.xml` file to use for cache and data region initialization
--   Other options, including event conflation, how to handle network loss, and security settings
-
-## <a id="distributed_system_member_configuration__section_E755E9E4A31149C980561D617A99A002" class="no-quick-link"></a>Distributed System Membership and System Topologies
-
-Every Geode process is a member of a distributed system, even if the distributed system is defined as standalone, with just one member. You can run an individual distributed system in isolation or you can combine systems for vertical and horizontal scaling. See [Topology and Communication General Concepts](../../topologies_and_comm/topology_concepts/chapter_overview.html).
-
--   **Peer-to-Peer Distributed Systems**. Members that define the same member discovery properties belong to the same distributed system and are peers to one another.
--   **Client/Server Installations**. The client/server topology uses relationships that you configure between members of multiple distributed systems. You configure some or all of the peers in one distributed system to act as cache servers to clients connecting from outside the system. Each server can host many client processes, managing cache access for all in an efficient, vertically hierarchical cache configuration. You configure the client applications to connect to the servers, using a client cache configuration. Clients run as members of standalone Geode distributed systems, with no peers, so all data updates and requests go to the servers.
-
-## **Multi-site Installations**
-
-The multi-site topology uses relationships that you configure between members of multiple distributed systems. Through this configuration, you loosely couple two or more distributed systems for automated data distribution. This is usually done for sites at geographically separate locations. You configure a subset of peers in each distributed system site with gateway senders and/or gateway receivers to manage events that are distributed between the sites.
-
-In the context of a single distributed system, unless otherwise specified, remote members refers to other members of the same distributed system. In client/server and multi-site installations, remote generally refers to members in other distributed systems. For example, all servers are remote to the clients that connect to them. Each client runs standalone, with connections only to the server tier, so all servers and their other clients are remote to the individual client. All gateway receivers are remote to the gateway senders that connect to them from other distributed systems,and to those gateway senders\u2019 peers.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/config_concepts/local_vs_remote.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/config_concepts/local_vs_remote.html.md.erb b/basic_config/config_concepts/local_vs_remote.html.md.erb
deleted file mode 100644
index f48b459..0000000
--- a/basic_config/config_concepts/local_vs_remote.html.md.erb
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title:  Local and Remote Membership and Caching
----
-
-For many Apache Geode discussions, you need to understand the difference between local and remote membership and caching.
-
-<a id="local_vs_remote_member_and_cache__section_5535DC4C94494B6A9B106DA39F63A439"></a>
-Discussions of Geode membership and caching activities often differentiate between local and remote. Local caching always refers to the central member under discussion, if there is one such obvious member, and remote refers to other members. If there is no clear, single local member, the discussion assigns names to the members to differentiate. Operations, data, configuration, and so forth that are "local to member Q" are running or resident inside the member Q process. Operations, data, configuration, and so on, that are "remote to member Q" are running or resident inside some other member.
-
-The local cache is the cache belonging to the local member. All other caches are remote, whether in other members of the same distributed system or in different distributed systems.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/data_entries_custom_classes/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/data_entries_custom_classes/chapter_overview.html.md.erb b/basic_config/data_entries_custom_classes/chapter_overview.html.md.erb
deleted file mode 100644
index 565cd87..0000000
--- a/basic_config/data_entries_custom_classes/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title:  Data Entries
----
-
-The data entry is the key/value pair where you store your data. You can manage your entries individually and in batches. To use domain objects for your entry values and keys, you need to follow Apache Geode requirements for data storage and distribution.
-
--   **[Managing Data Entries](../../basic_config/data_entries_custom_classes/managing_data_entries.html)**
-
-    Program your applications to create, modify, and manage your cached data entries.
-
--   **[Requirements for Using Custom Classes in Data Caching](../../basic_config/data_entries_custom_classes/using_custom_classes.html)**
-
-    Follow these guidelines to use custom domain classes for your cached entry keys and values.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/data_entries_custom_classes/managing_data_entries.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/data_entries_custom_classes/managing_data_entries.html.md.erb b/basic_config/data_entries_custom_classes/managing_data_entries.html.md.erb
deleted file mode 100644
index d809635..0000000
--- a/basic_config/data_entries_custom_classes/managing_data_entries.html.md.erb
+++ /dev/null
@@ -1,129 +0,0 @@
----
-title:  Managing Data Entries
----
-
-Program your applications to create, modify, and manage your cached data entries.
-
-<a id="managing_data_entries__section_AACC36127F17411F86D1E409B86C6E5C"></a>
-**Note:**
-If you do not have the cache's `copy-on-read` attribute set to true, do not change the objects returned from the Java entry access methods. Instead, create a copy of the object, then modify the copy and pass it to the Java `put` method. Modifying a value in place bypasses the entire distribution framework provided by Geode, including cache listeners and expiration activities, and can produce undesired results.
-
-## <a id="managing_data_entries__section_B095A4073EFB4A3C91AF7C03632EEBFB" class="no-quick-link"></a>Basic Create and Update
-
-To create or update an entry in the cache, use `Region.put`. For example:
-
-``` pre
-String name = ... 
-String value = ...  
-this.currRegion.put(name,value); 
-```
-
-**Note:**
-You can also use the `gfsh put` command to add entries to a region, and the `get` command to retrieve entries from a region. See [get](../../tools_modules/gfsh/command-pages/get.html) and [put](../../tools_modules/gfsh/command-pages/put.html) for more information.
-
-If you want only to create the entry (with a null value and with method failure if the entry already exists), use `Region.create` instead.
-
-## <a id="managing_data_entries__section_7578349EA26A4621B732FE851D71A84F" class="no-quick-link"></a>Batch Operations (getAll, putAll, removeAll)
-
-Geode provides three APIs to perform batch operations on multiple region entries:
-
--   `Region.getAll`
--   `Region.putAll`
--   `Region.removeAll`
-
-The `getAll` method takes a collection of keys and returns a `Map` of values for the provided keys. If a given key does not exist in the region, then that key's value in the returned map will be null.
-
-The `putAll` method takes a `Map` of key-value pairs and puts them into the cache and distributes them in a single operation.
-
-**Example:**
-
-``` pre
-void putAll(String command) throws CacheException 
-{ 
-// Get Entry keys and values into Strings key1, ... keyN and value1, ... valueN 
-  Map map = new LinkedHashMap(); 
-  map.put(key1, value1)); 
-  ...
-  map.put(keyN, valueN));
-  this.currRegion.putAll(map); 
-}
-```
-
-The updates to the cache are done individually in the order in which they were placed in the `Map`. For partitioned regions, multiple events are sent as a single message to the primary buckets and then distributed to the secondary buckets.
-
-**Note:**
-The processing of maps with very many entries and/or very large data may affect system performance and cause cache update timeouts, especially if the region uses overflow or persistence to disk.
-
-The `removeAll` method takes a collection of keys and removes all of the entries for the specified keys from this region. This call performs the equivalent of calling`destroy(Object)` on this region once for each key in the specified collection. If an entry does not exist, then that key is skipped. An `EntryNotFoundException` is not thrown. This operation will be distributed to other caches if the region's scope is not set to `Scope.LOCAL`.
-
-## <a id="managing_data_entries__section_A0E0F889AC344EFA8DF304FD64418809" class="no-quick-link"></a>Safe Entry Modification
-
-When you get an entry value from the cache, by default, the retrieval methods return a direct reference to the cached object. This provides the value as quickly as possible, but also opens the cache to direct, in-place changes.
-
-**Note:**
-Do not directly modify cached values. Modifying a value in place bypasses the Geode distribution framework, including cache writers and listeners, expiration activities, and transaction management, and can produce undesired results.
-
-Always change your entries using copies of the retrieved objects\u2014never directly modify the returned objects. You can do this in one of two ways:
-
-1.  Change the entry retrieval behavior for your cache by setting the cache attribute, `copy-on-read`, to true (the default is false).
-
-    ``` pre
-    <cache copy-on-read="true">
-     ...
-    </cache>
-    ```
-
-    When `copy-on-read` is true, the entry access methods return copies of the entries. This protects you from inadvertently modifying in-place, but negatively impacts performance and memory consumption when copying is not needed.
-
-    These entry access methods return an entry reference if `copy-on-read` is false and a copy of the entry if `copy-on-read` is true:
-
-    `Region.get`
-    result of `Region.put`
-    `EntryEvent.getNewValue`
-    `Region.values`
-    `Region.Entry.getValue`
-    `EntryEvent.getOldValue`
-    `Query.select`
-
-2.  Create a copy of the returned object and work with that. For objects that are cloneable or serializable, you can copy the entry value to a new object using `org.apache.geode.CopyHelper.copy`. Example:
-
-    ``` pre
-    Object o = (StringBuffer)region.get("stringBuf");
-    StringBuffer s = (StringBuffer) CopyHelper.copy(o);
-    s.append("Changes to value, added using put.");
-    region.put("stringBuf", s);
-    ```
-
-## <a id="managing_data_entries__section_78F6731642944DE594316B86ECB4E70F" class="no-quick-link"></a>Retrieving Region Entries from Proxy Members
-
-The `Region.values` method call applies to the local region instance only. If you call the `values` method from a client region using the PROXY shortcut, the method call will not be redirected to the server region. To obtain a collection of all values in the Region from a client, you should use interest registration on ALL\_KEYS, or use a query.
-
-If you use the `Region.get` method from a proxy member, the method call will redirect to the region on the server if it cannot find the key locally.
-
-## Using gfsh to get and put
-
-You can use the gfsh `get` and `put` commands to manage data. See [get](../../tools_modules/gfsh/command-pages/get.html) and [put](../../tools_modules/gfsh/command-pages/put.html).
-
-For example:
-
-``` pre
-get --key=('id':'133abg124') --region=region1
-
-// Retrieving when key type is a wrapper(primitive)/String
-get --key=('133abg124') --region=/region1/region12 --value-class=data.ProfileDetails
-
-get --key=('100L') --region=/region1/region12 --value-class=data.ProfileDetails 
---key-class=java.lang.Long
-```
-
-``` pre
-put --key=('id':'133abg125') --value=('firstname':'James','lastname':'Gosling') 
---region=/region1 --key-class=data.ProfileKey --value-class=data.ProfileDetails
-
-put --key=('133abg124') --value=('Hello World!!') --region=/region2
-
-put --key=('100F') --value=('2146547689879658564')  --region=/region1/region12 
---key-class=java.lang.Float --value-class=java.lang.Long
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/data_entries_custom_classes/using_custom_classes.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/data_entries_custom_classes/using_custom_classes.html.md.erb b/basic_config/data_entries_custom_classes/using_custom_classes.html.md.erb
deleted file mode 100644
index 0fe6171..0000000
--- a/basic_config/data_entries_custom_classes/using_custom_classes.html.md.erb
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title:  Requirements for Using Custom Classes in Data Caching
----
-
-Follow these guidelines to use custom domain classes for your cached entry keys and values.
-
-## <a id="using_custom_classes__section_F098CAC546164094BE6872BF0C443A71" class="no-quick-link"></a>CLASSPATH
-
-Each member\u2019s `CLASSPATH` must include classes for all objects the member accesses.
-
--   For Java applications, use the standard Java `CLASSPATH`.
--   For the cache server process, use the `CLASSPATH` environment variable or the `gfsh                             start server`'s `--classpath` parameter. See [Running Geode Server Processes](../../configuring/running/running_the_cacheserver.html).
-
-Data is sent between clients and servers in serialized form and the server stores client data in serialized form. The server does not need to deserialize data to send it to another client or to access it through a `PDXInstance`, but it does need to deserialize it to access it in other ways. The server `CLASSPATH` must include the classes for:
-
--   All entry keys
--   Entry values in regions that the server persists to disk
--   Entry values the server accesses for any reason other than access using a `PdxInstance` or transfer of the full entry value to a client
-
-For information on `PdxInstance`s, see [Data Serialization](../../developing/data_serialization/chapter_overview.html#data_serialization).
-
-## <a id="using_custom_classes__section_57EB5D02C06947B4BDE75A49286D581D" class="no-quick-link"></a>Data Serialization
-
-Geode serializes data entry keys and values for distribution, so all data that Geode moves out of the local cache for any reason must be serializable. Additionally, partitioned regions store data in serialized form. Almost every configuration requires serialization.
-
-For information on the requirements and options for data serialization, see [Data Serialization](../../developing/data_serialization/chapter_overview.html#data_serialization).
-
-## <a id="using_custom_classes__section_CE776B94EDCB4D269A71C3C9CFEDD5FD" class="no-quick-link"></a>Classes Used as Keys
-
-The region uses hashing on keys. If you define a custom class to use as a key, for the class, override:
-
--   `equals`
--   `hashCode`. The default `hashCode` inherited from `Object` uses identity, which is different in every system member. In partitioned regions, hashing based on identity puts data in the wrong place. For details, see the Java API documentation for `java.lang.Object`.
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/data_regions/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/data_regions/chapter_overview.html.md.erb b/basic_config/data_regions/chapter_overview.html.md.erb
deleted file mode 100644
index 3786906..0000000
--- a/basic_config/data_regions/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,48 +0,0 @@
----
-title:  Data Regions
----
-
-The region is the core building block of the Apache Geode distributed system. All cached data is organized into data regions and you do all of your data puts, gets, and querying activities against them.
-
--   **[Data Region Management](../../basic_config/data_regions/managing_data_regions.html)**
-
-    Apache Geode provides different APIs and XML configuration models to support configuration and management of your data regions.
-
--   **[Creating a Region with gfsh](../../basic_config/data_regions/create_a_region_with_gfsh.html)**
-
-    A simple and fast way to create a data region in the Apache Geode cache is to use the `gfsh` command-line tool.
-
--   **[Creating a Region Through the cache.xml File](../../basic_config/data_regions/create_a_region_with_cacheXML.html)**
-
-    A common way to create a data region in the Apache Geode cache is through `cache.xml` declarations.
-
--   **[Creating a Region Through the API](../../basic_config/data_regions/create_a_region_with_API.html)**
-
-    You can use the Geode caching API to create regions in your cache after startup. For run-time region creation, you need to use the API.
-
--   **[Region Naming](../../basic_config/data_regions/region_naming.html)**
-
-    To be able to perform all available operations on your data regions, 
-follow these region naming guidelines.
-
--   **[Region Shortcuts and Custom Named Region Attributes](../../basic_config/data_regions/region_shortcuts.html)**
-
-    Geode provides region shortcut settings, with preset region configurations for the most common region types. For the easiest configuration, start with a shortcut setting and customize as needed. You can also store your own custom configurations in the cache for use by multiple regions.
-
--   **[Storing and Retrieving Region Shortcuts and Custom Named Region Attributes](../../basic_config/data_regions/store_retrieve_region_shortcuts.html)**
-
-    Use these examples to get started with Geode region shortcuts.
-
--   **[Managing Region Attributes](../../basic_config/data_regions/managing_region_attributes.html)**
-
-    Use region attributes to fine-tune the region configuration provided by the region shortcut settings.
-
--   **[Creating Custom Attributes for Regions and Entries](../../basic_config/data_regions/creating_custom_attributes.html)**
-
-    Use custom attributes to store information related to your region or its entries in your cache. These attributes are only visible to the local application and are not distributed.
-
--   **[Building a New Region with Existing Content](../../basic_config/data_regions/new_region_existing_data.html)**
-
-    A new region or distributed system may need to be loaded with the data of an existing system. There are two approaches to accomplish this task. The approach used depends upon the organization of both the new and the existing distributed system.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/data_regions/create_a_region_with_API.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/data_regions/create_a_region_with_API.html.md.erb b/basic_config/data_regions/create_a_region_with_API.html.md.erb
deleted file mode 100644
index ba8e384..0000000
--- a/basic_config/data_regions/create_a_region_with_API.html.md.erb
+++ /dev/null
@@ -1,63 +0,0 @@
----
-title:  Creating a Region Through the API
----
-
-You can use the Geode caching API to create regions in your cache after startup. For run-time region creation, you need to use the API.
-
-Before you start, configure your `Cache` or `ClientCache` and determine the region shortcut and other attributes settings your region needs.
-
-Region creation is subject to attribute consistency checks, both internal to the cache and, if the region is not local, between all caches where the region is defined. The requirements for consistency between region attributes are detailed in the online Java API documentation.
-
-1.  
-
-    Use a region shortcut to create your region factory. 
-    -   
-
-        In peers and servers, use `org.apache.geode.cache.RegionFactory`.
-    -   
-
-        In clients, use `org.apache.geode.cache.client.ClientRegionFactory`.
-
-2.  
-
-    (Optional) Use the region factory to further configure your region. 
-3.  
-
-    Create your region from the configured region factory. 
-
-When you run your member with the region creation code, the region will be created in the cache.
-
-## Examples
-
-Creating a partitioned region using RegionFactory:
-
-``` pre
-RegionFactory rf =   
-    cache.createRegionFactory(RegionShortcut.PARTITION);
-rf.addCacheListener(new LoggingCacheListener());
-custRegion = rf.create("customer");
-```
-
-Creating a modified partitioned region using RegionFactory:
-
-``` pre
-PartitionAttributesFactory paf = new PartitionAttributesFactory<CustomerId, String>();
-paf.setPartitionResolver(new CustomerOrderResolver());
-
-RegionFactory rf = 
-    cache.createRegionFactory(RegionShortcut.PARTITION);
-rf.setPartitionAttributes(paf.create());
-rf.addCacheListener(new LoggingCacheListener());
-custRegion = rf.create("customer");
-```
-
-Creating a client region with a pool specification using ClientRegionFactory:
-
-``` pre
-ClientRegionFactory<String,String> cRegionFactory = 
-    cache.createClientRegionFactory(PROXY);
-Region<String, String> region = 
-    cRegionFactory.setPoolName("Pool3").create("DATA");
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/data_regions/create_a_region_with_cacheXML.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/data_regions/create_a_region_with_cacheXML.html.md.erb b/basic_config/data_regions/create_a_region_with_cacheXML.html.md.erb
deleted file mode 100644
index 2737c88..0000000
--- a/basic_config/data_regions/create_a_region_with_cacheXML.html.md.erb
+++ /dev/null
@@ -1,68 +0,0 @@
----
-title:  Creating a Region Through the cache.xml File
----
-
-A common way to create a data region in the Apache Geode cache is through `cache.xml` declarations.
-
-Before you start, configure your `<cache>` or `<client-cache>` in your `cache.xml` file and determine the region shortcut and other attributes settings your region needs. The `cache.xml` file must conform to the schema definition provided in the product's `cache-1.0.xsd`.
-
-Region creation is subject to attribute consistency checks, both internal to the cache and, if the region is not local, between all caches where the region is defined. The requirements for consistency between region attributes are detailed in the online Java API documentation.
-
-1.  
-
-    In your `cache.xml` file, create a `<region>` element for your new region as a subelement to the `<cache>` element or the `<client-cache>` element. 
-2.  
-
-    Define your region\u2019s name and a region attributes shortcut setting, if one applies. Find the shortcut setting that most closely fits your region configuration. 
-3.  
-
-    Add other attributes as needed to customize the region\u2019s behavior. 
-
-When you start your member with the `cache.xml` file, the region will be created.
-
-## Examples
-
-Partitioned Region Declaration
-
-``` pre
-<region name="myRegion" refid="PARTITION"/>
-```
-
-Partitioned Region Declaration with Backup to Disk
-
-``` pre
-<region name="myRegion" refid="PARTITION_PERSISTENT"/>
-```
-
-Partitioned Region Declaration with HA and Modified Storage Capacity in Host Member
-
-``` pre
-<region name="myRegion" refid="PARTITION_REDUNDANT">
-    <region-attributes>
-        <partition-attributes local-max-memory="512" />
-    </region-attributes>
-</region>
-```
-
-Replicated Region Declaration
-
-``` pre
-<region name="myRegion" refid="REPLICATE"/>
-```
-
-Replicated Region Declaration with Event Listener and Expiration
-
-``` pre
-<region name="myRegion" refid="REPLICATE">
-    <region-attributes statistics-enabled="true">
-        <entry-time-to-live>
-            <expiration-attributes timeout="60" action="destroy"/>
-        </entry-time-to-live>
-        <cache-listener>
-            <class-name>myPackage.MyCacheListener</class-name>
-        </cache-listener>
-    </region-attributes>
-</region>
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/data_regions/create_a_region_with_gfsh.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/data_regions/create_a_region_with_gfsh.html.md.erb b/basic_config/data_regions/create_a_region_with_gfsh.html.md.erb
deleted file mode 100644
index c15c5fc..0000000
--- a/basic_config/data_regions/create_a_region_with_gfsh.html.md.erb
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title:  Creating a Region with gfsh
----
-
-A simple and fast way to create a data region in the Apache Geode cache is to use the `gfsh` command-line tool.
-
-Before you start, configure your `Cache` or `ClientCache` and determine the region shortcut and other attributes settings your region needs.
-
-Region creation is subject to attribute consistency checks, both internal to the cache and, if the region is not local, between all caches where the region is defined. The requirements for consistency between region attributes are detailed in the online Java API documentation.
-
-1.  
-
-    Start a `gfsh` prompt. 
-2.  
-
-    Connect to a server that is currently acting as a JMX Manager node. 
-3.  
-
-    Enter the `create region` command providing any desired region attributes as arguments. 
-    For example:
-    ``` pre
-    gfsh>create region --name=region1 --type=REPLICATE
-    ```
-
-4.  
-
-    Add data into the region by using the [import data](../../tools_modules/gfsh/command-pages/import.html#topic_jw2_2ld_2l) command or [put](../../tools_modules/gfsh/command-pages/put.html) gfsh command. 
-5.  
-
-    After you modify data in the region you can use the [export data](../../tools_modules/gfsh/command-pages/export.html#topic_263B70069BFC4A7185F86B3272011734) command to generate a snapshot of the current region's data for later use. 
-6.  
-
-    Export the configuration files of your server so that you can save your region's configuration and recreate the region with the same attributes the next time you start up your cache server. See [export config](../../tools_modules/gfsh/command-pages/export.html#topic_C7C69306F93743459E65D46537F4A1EE) for details. 
-
-    **Note:**
-    The cluster configuration service, which is enabled by default, automatically saves the configuration on the locators in the distributed system. After you use the gfsh create region command, any new servers that you start that attach to the same locator receive the same configuration. You can also create alternate configurations within a distributed system by specifying a group when creating the region and starting servers. See [Overview of the Cluster Configuration Service](../../configuring/cluster_config/gfsh_persist.html).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/data_regions/creating_custom_attributes.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/data_regions/creating_custom_attributes.html.md.erb b/basic_config/data_regions/creating_custom_attributes.html.md.erb
deleted file mode 100644
index c234016..0000000
--- a/basic_config/data_regions/creating_custom_attributes.html.md.erb
+++ /dev/null
@@ -1,47 +0,0 @@
----
-title:  Creating Custom Attributes for Regions and Entries
----
-
-Use custom attributes to store information related to your region or its entries in your cache. These attributes are only visible to the local application and are not distributed.
-
-<a id="creating_custom_attributes__section_A8752F55C157480FAF435738D6244503"></a>
-You can define custom user attributes so you can associate data with the region or entry and retrieve it later. Unlike the other configuration settings, these attributes are used only by your application.
-
-**Note:**
-User attributes are not distributed.
-
-1.  Create a Java `Object` with your attribute definitions.
-2.  Attach the object to the region or to an entry:
-    -   `Region.setUserAttribute(userAttributeObject)`
-    -   `Region.getEntry(key).setUserAttribute(userAttributeObject)`
-
-3.  Get the attribute value:
-    -   `Region.getUserAttribute()`
-    -   `Region.getEntry(key).getUserAttribute()`
-
-This example stores attributes for later retrieval by a cache writer.
-
-``` pre
-// Attach a user attribute to a Region with database info for table portfolio
-Object myAttribute = "portfolio"; 
-final Region portfolios = 
-      new RegionFactory().setCacheWriter(new PortfolioDBWriter()).create("Portfolios"); 
-Portfolios.setUserAttribute(myAttribute);
-```
-
-``` pre
-//Implement a cache writer that reads the user attribute setting
-public class PortfolioDBWriter extends CacheWriterAdapter {
-  public void beforeCreate(RegionEvent event) {
-    table = (String)event.getRegion().getUserAttribute();
-    // update database table using name from attribute
-        . . .
-  }
-}
-```
-
-## <a id="creating_custom_attributes__section_A5CB456E4E96410584F8856EAFB5BB83" class="no-quick-link"></a>Limitations and Alternatives
-
-User attributes are not distributed to other processes, so if you need to define each attribute in every process that uses the region or entry. You need to update every instance of the region separately. User attributes are not stored to disk for region persistence or overflow, so they cannot be recovered to reinitialize the region.
-
-If your application requires features not supported by user attributes, an alternative is to create a separate region to hold this data instead. For instance, a region, AttributesRegion, defined by you, could use region names as keys and the user attributes as values. Changes to AttributesRegion would be distributed to other processes, and you could configure the region for persistence or overflow if needed.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/data_regions/managing_data_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/data_regions/managing_data_regions.html.md.erb b/basic_config/data_regions/managing_data_regions.html.md.erb
deleted file mode 100644
index cd9427b..0000000
--- a/basic_config/data_regions/managing_data_regions.html.md.erb
+++ /dev/null
@@ -1,205 +0,0 @@
----
-title:  Data Region Management
----
-
-Apache Geode provides different APIs and XML configuration models to support configuration and management of your data regions.
-
-<a id="data_regions__section_18A9481217204613958897FE64105097"></a>
-You store your data in region entry key/value pairs, with keys and values being any object types your application needs.
-
-The `org.apache.geode.cache.Region` interface implements `java.util.Map`.
-
-Each region's attributes define how the data in the region is stored, distributed, and managed. Data regions can be distributed, partitioned among system members, or local to the member.
-
-You can create regions in the `cache.xml` file, by using the API, or with the gfsh command-line interface. You can use *region shortcuts* to configure commonly-used types of regions. For more information about region shortcuts, see [Region Shortcuts Reference](../../reference/topics/region_shortcuts_reference.html#reference_lt4_54c_lk).
-
-**Note:**
-If you change attributes that define a region, you must restart the member for the changes to take effect.
-
-## <a id="data_regions__section_028F2602395646818680C906F205526B" class="no-quick-link"></a>The Region APIs
-
-Geode's regions APIs provide specialized behavior for different system member types.
-
--   **Peer/Server Region APIs**. Use these methods, interfaces, and classes for peer/server region creation. These are in the `org.apache.geode.cache` package. They correspond to declarations in the `<cache>` element for creating and configuring regions.
-    -   **`org.apache.geode.cache.Cache.createRegionFactory`** . This method takes a `RegionShortcut` `enum` to initiate region configuration, and returns a `RegionFactory`. Use `createRegionFactory()`, not "`new                                     RegionFactory`," to create a RegionFactory.
-    -   **`org.apache.geode.cache.RegionFactory`**. Provides methods to set individual region attributes and to create the region. The `create` call returns `Region`.
-    -   **`org.apache.geode.cache.RegionShortcut`**. Common region configurations can be retrieved through `Cache` `createRegionShortcut` and with the region attribute, `refid`.
--   **Client Region APIs**. Use these methods, interfaces, and classes for client region creation. These are in the `org.apache.geode.cache.client` package. They correspond to declarations in the `<client-cache>` element for creating and configuring regions.
-
-    These are client versions of the Peer/Server Region APIs. These client APIs provide similar functionality, but are tailored to the needs and behaviors of client regions.
-
-    -   **`org.apache.geode.cache.clientCache.createRegionFactory`** . This method takes a `ClientRegionShortcut` `enum` to initiate region configuration, and returns a `ClientRegionFactory`.
-    -   **`org.apache.geode.cache.client.ClientRegionFactory`**. Provides methods to set individual region attributes and to create the region. The `create` call returns `Region`.
-    -   **`org.apache.geode.cache.client.ClientRegionShortcut`** . Common region configurations can be retrieved through `ClientCache` `createClientRegionFactory` and with the region attribute, `refid`.
--   **Region APIs Used For All Member Types**. These interfaces and classes are used universally for region management. These are in the `org.apache.geode.cache` package. They correspond to declarations under the `<cache>` and `<client-cache>` elements for creating and configuring regions.
-    -   **`org.apache.geode.cache.Region`** . Interface for managing your regions and their entries.
-    -   **`org.apache.geode.cache.RegionAttributes`** . Object holding region configuration settings.
-    -   **`org.apache.geode.cache.createRegionFactory`**. Can be used to create `RegionAttributes` to pass to `RegionFactory` and `ClientRegionFactory`.
-
-## <a id="data_regions__section_9F898C23D2164ED5BB3789FD8B1F68C3" class="no-quick-link"></a>Create and Access Data Regions
-
-Before you start, have your cache configuration defined, along with any cache-wide configuration your region requires, like disk store configuration and client server pool configuration.
-
-1.  Determine the region attributes requirements and identify the region shortcut setting that most closely matches your needs. See [Region Shortcuts and Custom Named Region Attributes](region_shortcuts.html) and [Region Shortcuts](../../reference/topics/chapter_overview_regionshortcuts.html) for more information.
-2.  Define any region attributes that are not provided in the shortcut you chose.
-3.  Create a region using any of the following methods:
-    -   `gfsh`. After starting up servers, a JMX manager and connecting to the cluster, execute the following command:
-
-            gfsh>create region --name=Portfolios --type=REPLICATE
-    -   Declaration in the `cache.xml`:
-
-            <?xml version="1.0" encoding="UTF-8"?>
-            <cache
-                xmlns="http://geode.incubator.apache.org/schema/cache"
-                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                xsi:schemaLocation="http://geode.incubator.apache.org/schema/cache http://geode.incubator.apache.org/schema/cache/cache-1.0.xsd"
-                version="1.0"
-                lock-lease="120"
-                lock-timeout="60"
-                search-timeout="300">
-            <!-- Create a region named Portfolios -->
-              <region name="Portfolios" id="REPLICATE"/>
-            </cache>
-
-        When the `cache.xml` is loaded at cache creation, the system automatically creates any declared regions.
-    -   `RegionFactory` API calls:
-
-            Cache cache = CacheFactory.create();
-            RegionFactory rf = cache.createRegionFactory(REPLICATE);
-            Region pfloRegion = rf.create("Portfolios");
-
-Once you have created your regions, you can access them through the `Cache` and `Region` APIs as full region lists or individually.
-
-## <a id="data_regions__section_jn1_sry_5m" class="no-quick-link"></a>Create and Access Data Subregions
-
-An individual region can contain multiple subregions.
-Subregions are an older feature that will not be useful in new designs
-and applications.
-They are used to create a hierarchical namespace within a cache,
-providing naming that feels like paths in a file system.
-Here are limitations on the use of subregions:
-
--   A region with LOCAL scope can only have subregions with LOCAL scope.
--   Partitioned region types may not be used with subregions. A subregion may not have a parent that is a partitioned region, and a subregion may not be of type PARTITION.
--   A subregion must have the same scope (GLOBAL, DISTRIBUTED\_ACK, DISTRIBUTED\_NO\_ACK) as its parent region.
--   Subregion names must be unique within the cache.
-
-You can create subregions using one of the following methods:
-
--   Declaration in the `cache.xml`:
-
-        <?xml version="1.0"?>
-        <cache
-            xmlns="http://geode.incubator.apache.org/schema/cache"
-            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-            xsi:schemaLocation="http://geode.incubator.apache.org/schema/cache http://geode.incubator.apache.org/schema/cache/cache-1.0.xsd"
-            version="1.0"
-            lock-lease="120"
-            lock-timeout="60"
-            search-timeout="300">
-        <!-- Create a region named Portfolios -->
-          <region name="Portfolios" id="REPLICATE">
-              <region name="Private" id="REPLICATE">
-              ...
-              </region>
-          </region>
-        </cache>
-
-    When the `cache.xml` is loaded at cache creation, the system automatically creates any declared regions and subregions.
-
--   `RegionFactory` API calls:
-
-        Cache cache = CacheFactory.create();
-        RegionFactory rf = cache.createRegionFactory(REPLICATE);
-        Region pfloRegion = rf.create("Portfolios");
-        Region pvtSubregion = rf.createSubregion(pfloRegion, "Private");
-
-`Region` method calls with a `recursive` parameter operate on the given
-region(s) and then recursively on all contained subregions. 
-
-## <a id="data_regions__section_7AD53DCC71064883BFA9C53E6040D85A" class="no-quick-link"></a>Update Data Regions
-
-Update your region properties and contents through `alter region` command, the API or from `cache.xml` file declarations.
-
--   Execute the [alter region](../../tools_modules/gfsh/command-pages/alter.html#topic_E74ED23CB60342538B2175C326E7D758) command.
--   In the API, use `Cache` and `Region` methods to change configuration parameters and modify region structure and data.
--   Load new XML declarations using the `Cache.loadCacheXml` method. Where possible, declarations in the new `cache.xml` file supersede existing definitions. For example, if a region declared in the `cache.xml` file already exists in the cache, its mutable attributes are modified according to the file declarations. Immutable attributes are not affected. If a region does not already exist, it is created. Entries and indexes are created or updated according to the state of the cache and the file declarations.
-
-## <a id="data_regions__section_953E19F03F4541BAA3AE58118E7EA7E4" class="no-quick-link"></a>Invalidate a Region
-
-An invalidate region operation removes all entry values for a region, while leaving the entry keys intact. This operation can be invoked only through the API on a `Region` instance. Event notification occurs.
-
-``` pre
-// Invalidate the entire distributed region 
-Region.invalidateRegion(); 
-```
-
-The API also offers a method to invalidate only the entries within the local cache. This method may not be used on a replicated region, as doing so would invalidate the replication contract.
-
-``` pre
-// Invalidate the region within this member
-Region.localInvalidateRegion(); 
-```
-
-## Clear a Region
-
-A clear region operation removes all entries from a region. This operation is not available for partitioned regions. This operation can be invoked through the API on a `Region` instance:
-
-``` pre
-// Remove all entries for the region
-Region.clear(); 
-```
-
-It can be invoked with the `gfsh` command:
-
-``` pre
-gfsh>remove --region=Region1 --all 
-```
-
-Event notification occurs for a clear region operation.
-
-## Destroy a Region
-
-A destroy region operation removes the entire region. This operation can be invoked through the API on a `Region` instance:
-
-``` pre
-// Remove the entire region
-Region.destroyRegion();
-```
-
-A destroy region operation can be invoked with the `gfsh` command:
-
-``` pre
-gfsh>destroy region --name=Region1
-```
-
-Event notification occurs for a destroy region operation.
-
-A region can be destroyed by removing the region's specification from the `cache.xml` file.
-
-Destroying the region by an API invocation or by using the `gfsh                     destroy` command while all members are online is the best way to remove a region, as Geode handles all aspects of the removal, including removing the region's persistent disk stores across the online members hosting the region. Destroying the region by removing its specification from the `cache.xml` file does not remove the region's existing persistent disk stores.
-
-The destroy operation can be propagated only to online members. The system will encounter restart issues if a region is destroyed while some members are online and others are offline. As those members that were offline restart, they will block indefinitely, waiting for persistent region data that no longer exists. To fix this issue, shut down all members that are blocked waiting for the removed region. Once those members are in the offline state, use the `gfsh alter                     disk-store` command with the `--remove` option on each offline member to remove the region. Then, restart each member.
-
-An edge case results in issues when destroying a persistent region (R-removed) by removing its specification from the `cache.xml` file, and region R-removed was colocated with another persistent region (R-remains). The issue occurs because the persistent information contained within R-remains is inconsistent with the (lack of) specification of R-removed. Upon restart of R-remains, its persisted metadata refers to R-removed as a colocated region, and the startup of R-remains is dependent on that removed region. Thus, the startup of R-remains blocks, unable to complete. The issue may manifest with operations on the R-remains region such as a query, put, or get, that never finishes. To fix this issue, shut down all members with the persisted metadata that refers to the removed region. Once those members are in the offline state, use the `gfsh alter disk-store` command with the `--remove` option on each offline member to remove the region. Then, restart each member.
-
-## <a id="data_regions__section_3C0A7E088FDB413297ED8C0CD606968D" class="no-quick-link"></a>Close a Region
-
-Use this to stop local caching of persistent and partitioned regions without closing the entire cache:
-
-``` pre
-Region.close();
-```
-
-The `Region.close` operation works like the `Region.localDestroyRegion` operation with these significant differences:
-
--   The `close` method is called for every callback installed on the region.
--   No events are invoked. Of particular note, the entry events, `beforeDestroy` and `afterDestroy`, and the region events, `beforeRegionDestroy` and `afterRegionDestroy`, are not invoked. See [Events and Event Handling](../../developing/events/chapter_overview.html#implementing_event_handlers).
--   If persistent, the region is removed from memory but its disk files are retained.
--   If partitioned, the region is removed from the local cache. If the partitioned region is redundant, local data caching fails over to another cache. Otherwise, local data is lost.
-
-## Using gfsh to Manage Regions
-
-You can also use gfsh commands to manage regions. There are commands to create, alter, describe, destroy, rebalance, and list the regions in your distributed system. By default, the cluster configuration service saves the cluster configuration as you execute gfsh commands. When you add new servers to the cluster, the servers receive this cluster-wide configuration and create the specified regions. You can also define *groups* that apply only to some of the servers in the cluster. Servers you start that specify a group also receive the group configuration from the cluster configuration service. See [Overview of the Cluster Configuration Service](../../configuring/cluster_config/gfsh_persist.html).
-
-See [Creating a Region with gfsh](create_a_region_with_gfsh.html#task_75639BFA7847461D9E006E91B728BB44) and the [create](../../tools_modules/gfsh/command-pages/create.html) command reference page.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/data_regions/managing_region_attributes.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/data_regions/managing_region_attributes.html.md.erb b/basic_config/data_regions/managing_region_attributes.html.md.erb
deleted file mode 100644
index 541c8dd..0000000
--- a/basic_config/data_regions/managing_region_attributes.html.md.erb
+++ /dev/null
@@ -1,96 +0,0 @@
----
-title:  Managing Region Attributes
----
-
-Use region attributes to fine-tune the region configuration provided by the region shortcut settings.
-
-<a id="managing_region_attributes__section_B6363B281A994141B9B9BDD952173330"></a>
-All region attributes have default settings, so you only need to use region attributes to set the ones you want to override. See [&lt;region-attributes&gt;](../../reference/topics/cache_xml.html#region-attributes).
-
-## <a id="managing_region_attributes__section_DDBF2810ABB54A55B1479AD786ED48DF" class="no-quick-link"></a>Define Region Attributes
-
-Create region attributes using any of these methods:
-
--   Declarations inside the `cache.xml` `<region>` element:
-
-    ``` pre
-    <cache>
-       <region name="exampleRegion" refid="REPLICATE">
-          <region-attributes statistics-enabled="true">
-            <entry-idle-time>
-              <expiration-attributes timeout="10" action="destroy"/>
-            </entry-idle-time>
-            <cache-listener>
-              <class-name>quickstart.SimpleCacheListener</class-name>
-            </cache-listener>
-          </region-attributes>
-        </region>
-    </cache>
-    ```
-
-    When the `cache.xml` is loaded at startup, declared region attributes are automatically created and applied to the region.
-
--   `RegionFactory` API `set`\* method calls:
-
-    ``` pre
-    // Creating a partitioned region using the RegionFactory
-    RegionFactory rf = cache.createRegionFactory(RegionShortcut.PARTITION);
-    rf.addCacheListener(new LoggingCacheListener());
-    custRegion = rf.create("customer");
-    ```
-
-    ``` pre
-    // Creating a partitioned region using the RegionFactory, with attribute modifications
-    RegionFactory rf = 
-      cache.createRegionFactory(RegionShortcut.PARTITION);
-    rf.setPartitionResolver(new CustomerOrderResolver());
-    rf.addCacheListener(new LoggingCacheListener());
-    custRegion = rf.create("customer");
-    ```
-
-    ``` pre
-    // Creating a client with a Pool Specification Using ClientRegionFactory
-    ClientRegionFactory<String,String> cRegionFactory = 
-        cache.createClientRegionFactory(PROXY);
-    Region<String, String> region = 
-        cRegionFactory.setPoolName("Pool3").create("DATA");
-    ```
-
--   By issuing the gfsh `create region` command.
-
-## <a id="managing_region_attributes__section_F69A7664F72D47BBA463D81B72C03B4D" class="no-quick-link"></a>Modify Region Attributes
-
-You can modify a region\u2019s event handlers and expiration and eviction attributes after the region is created.
-
-**Note:**
-Do not modify attributes for existing regions unless absolutely necessary. Creating the attributes you need at region creation is more efficient.
-
-Modify attributes in one of these ways:
-
--   By loading a `cache.xml` with modified region attribute specifications:
-
-    ``` pre
-    <!-- Change the listener for exampleRegion
-    ...
-        <region name="exampleRegion">
-          <region-attributes statistics-enabled="true">
-            <cache-listener>
-              <class-name>quickstart.ComplicatedCacheListener</class-name>
-            </cache-listener>
-          </region-attributes>
-        </region>
-    ... 
-    ```
-
--   Using the `AttributesMutator` API:
-    1.  Retrieve the `AttributesMutator` from the region
-    2.  Call the mutator set methods to modify attributes:
-
-    ``` pre
-    currRegion = cache.getRegion("root");
-    AttributesMutator mutator = this.currRegion.getAttributesMutator();
-    mutator.addCacheListener(new LoggingCacheListener()); 
-    ```
-
--   By issuing the gfsh `alter region` command. See [alter region](../../tools_modules/gfsh/command-pages/alter.html#topic_E74ED23CB60342538B2175C326E7D758).
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/data_regions/new_region_existing_data.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/data_regions/new_region_existing_data.html.md.erb b/basic_config/data_regions/new_region_existing_data.html.md.erb
deleted file mode 100644
index ad17ebd..0000000
--- a/basic_config/data_regions/new_region_existing_data.html.md.erb
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title:  Building a New Region with Existing Content
----
-
-A new region or distributed system may need to be loaded with the data of an existing system. There are two approaches to accomplish this task. The approach used depends upon the organization of both the new and the existing distributed system.
-
-If both the number and the type of members is the same in both the new and the existing distributed system, then the simplest option is to use backup and restore on the persistent disk store contents. Make a full online backup of the persistent data in the disk store of the existing distributed system. Copy the files that comprise the backup to the new distributed system location. A restore instills the data into the new distributed system. See [Creating Backups for System Recovery and Operational Management](../../managing/disk_storage/backup_restore_disk_store.html) for details on how to make a backup and use the backup to restore a disk store.
-
-Take a different approach when the number or the type of members is *not* the same in both the new and the existing distributed system. This approach uses export and import of region data. Export the region data of the existing distributed system to create a snapshot. Copy the snapshot to the new distributed system location. Import the snapshot into the new distributed system. See appropriate sections within [Cache and Region Snapshots](../../managing/cache_snapshots/chapter_overview.html) for details on making and using a snapshot.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/data_regions/region_naming.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/data_regions/region_naming.html.md.erb b/basic_config/data_regions/region_naming.html.md.erb
deleted file mode 100644
index 021079d..0000000
--- a/basic_config/data_regions/region_naming.html.md.erb
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title:  Region Naming
----
-
-To be able to perform all available operations on your data regions,
-follow these region naming guidelines.
-
--   Permitted characters within region names are alphanumeric characters
-(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789`),
-the underscore character (`_`), and the hyphen character (`-`).
--   Do not use the slash character (`/`).
--   Do not begin region names with two underscore characters (`__`),
-as this is reserved for internal use.
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/data_regions/region_shortcuts.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/data_regions/region_shortcuts.html.md.erb b/basic_config/data_regions/region_shortcuts.html.md.erb
deleted file mode 100644
index 270987b..0000000
--- a/basic_config/data_regions/region_shortcuts.html.md.erb
+++ /dev/null
@@ -1,98 +0,0 @@
----
-title:  Region Shortcuts and Custom Named Region Attributes
----
-
-Geode provides region shortcut settings, with preset region configurations for the most common region types. For the easiest configuration, start with a shortcut setting and customize as needed. You can also store your own custom configurations in the cache for use by multiple regions.
-
-<a id="region_shortcuts__section_D9E58754D2B0435FA2986DBBF3063D4C"></a>
-You configure automated management of data regions and their entries through region shortcuts and region attributes. These region configuration settings determine such things as where the data resides, how the region is managed in memory, reliability behavior, and the automatic loading, distribution, and expiration of data entries.
-
-**Note:**
-Whenever possible, use region shortcuts to configure your region, and further customize behavior using region attributes. The shortcut settings are preset with the most common region configurations.
-
-Geode provides a number of predefined, shortcut region attributes settings for your use. You can also define your own 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 region shortcuts and custom named attributes by providing the ID to the region creation, in the `refid` attribute setting. This example uses the shortcut REPLICATE attributes to create a region:
-
-``` pre
-<region name="testREP" refid="REPLICATE"/>
-```
-
-You can create your own named attributes as needed, by providing an `id` in your region attributes declaration. The following region declaration:
-
-1.  Retrieves all of the attribute settings provided by the persistent partitioned region shortcut
-2.  Modifies the shortcut attribute settings by specifying a disk store name to use for persistence
-3.  Assigns the new attribute settings to the new region named `testPR`
-4.  Stores the attribute settings in a new custom attributes named `testPRPersist`:
-
-    ``` pre
-    <disk-store name="testDiskStore" >
-        <disk-dirs>
-            <disk-dir>PRPersist1</disk-dir>
-            <disk-dir>PRPersist2</disk-dir>
-        </disk-dirs>
-    </disk-store>
-    <region name="testPR" >
-        <region-attributes id="testPRPersist"
-            refid="PARTITION_PERSISTENT" disk-store-name="testDiskStore"/>
-    </region>
-    ```
-
-## <a id="region_shortcuts__section_20548383511141B19EBC053E36877B1A" class="no-quick-link"></a>Shortcut Attribute Options
-
-You can select the most common region attributes settings from Geode\u2019s predefined named region attributes in these classes:
-
--   **`org.apache.geode.cache.RegionShortcut`**. For peers and servers.
--   **`org.apache.geode.cache.client.ClientRegionShortcut`**. For clients.
-
-Shortcut attributes are a convenience only. They are just named attributes that Geode has already stored for you. You can override their settings by storing new attributes with the same id as the predefined attributes.
-
-For a full list of all available region shortcuts, see [Region Shortcuts Quick Reference](../../reference/topics/region_shortcuts_table.html#reference_ufj_5kz_4k).
-
-The `org.apache.geode.cache.RegionShortcut` Javadocs give complete listings of the options.
-
-## <a id="region_shortcuts__section_D0975C76572E41F79C1A6EE7CF371251" class="no-quick-link"></a>RegionShortcuts for Peers and Servers
-
-These are the primary options available in the region shortcut settings. The names listed appear in the shortcut identifier alone or in combination, like "`PARTITION`" in `PARTITION`, `PARTITION_PROXY`, and `PARTITION_REDUNDANT`.
-
-**Cache Data Storage Mode**
-
--   **`PARTITION`** . Creates a partitioned region. This is a data store for the region. You can also specify these options with `PARTITION`:
-    -   **`PROXY`**. Data is not stored in the local cache and the member is a data accessor to the region. This requires other members to create non-proxy copies of the region, so the data is stored somewhere.
-    -   **`REDUNDANT`**. The region stores a secondary copy of all data, for high availability.
--   **`REPLICATE`**. Creates a replicated region. This is a data store for the region. You can also specify these options with `REPLICATE`:
-    -   **`PROXY`**. Data is not stored in the local cache and the member is a data accessor to the region. This requires other members to create non-proxy copies of the region, so the data is stored somewhere.
--   **`LOCAL`**. Creates a region private to the defining member.
-
-**Data Eviction**
-
--   **`HEAP_LRU`**. Causes least recently used data to be evicted from memory when the Geode resource manager determines that the cache has reached configured storage limits.
-
-**Disk Storage**
-
-You can specify these alone or in combination:
-
--   **`PERSISTENT`**. Backs up all data to disk, in addition to storing it in memory.
--   **`OVERFLOW`**. Moves data out of memory and on to disk, when memory use becomes too high.
-
-## <a id="region_shortcuts__section_BD136ACEB8274B17ACFB9A5954D116E4" class="no-quick-link"></a>ClientRegionShortcuts for Clients
-
-These are the primary options available in the client region shortcut settings. The names listed appear in the shortcut identifier alone or in combination, like "`PROXY`" in `PROXY` and `CACHING_PROXY`.
-
-**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. The client is a data accessor to the region.
--   **`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. Note that this is not the same as setting the region's `scope` attribute to `LOCAL`.
-
-**Data Eviction**
-
--   **`HEAP_LRU`**. Causes least recently used data to be evicted from memory when the Geode resource manager determines that the cache has reached configured storage limits.
-
-**Disk Storage**
-
-With the LOCAL and CACHING data storage shortcut options, you can also specify these disk storage options, alone or in combination:
-
--   **`PERSISTENT`**. Backs up all data to disk, in addition to storing it in memory.
--   **`OVERFLOW`**. Moves data out of memory and on to disk, when memory use becomes too high.
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/data_regions/store_retrieve_region_shortcuts.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/data_regions/store_retrieve_region_shortcuts.html.md.erb b/basic_config/data_regions/store_retrieve_region_shortcuts.html.md.erb
deleted file mode 100644
index 9d39bd5..0000000
--- a/basic_config/data_regions/store_retrieve_region_shortcuts.html.md.erb
+++ /dev/null
@@ -1,60 +0,0 @@
----
-title:  Storing and Retrieving Region Shortcuts and Custom Named Region Attributes
----
-
-Use these examples to get started with Geode region shortcuts.
-
-<a id="region_shortcuts__section_D9E58754D2B0435FA2986DBBF3063D4C"></a>
-Geode region shortcuts, in `org.apache.geode.cache.RegionShortcut` for peers and servers and `org.apache.geode.cache.client.ClientRegionShortcut` for clients, are available wherever you create a region in the `cache.xml` or through the API. Custom named attributes, stored by you, are available from the moment you store them on.
-
-The region shortcuts are special Geode named region attributes, with identifying names. Create custom named region attributes by setting the attributes and storing them with a unique identifier in the region attribute `id`. Retrieve named attributes by providing the shortcut enum value or the name you assigned in the `id` to the region creation:
-
--   In the API, use the identifier in the region factory creation
--   In the `cache.xml`, use the identifier in the `<region>` or `<region-attribute>` `refid` setting. The `refid` is available in both elements for convenience
-
-## <a id="region_shortcuts__section_8FCBCC4BDCDE4A85A27E5B9B70603F63" class="no-quick-link"></a>Examples
-
-**Example \#1**
-
-This example shows partitioned region creation in the `cache.xml`:
-
--   The first `region-attributes` declaration starts with the predefined `PARTITION_REDUNDANT` attributes, modifies the `local-max-memory` setting, and stores the resulting attributes in the custom-named `myPartition` attributes.
--   The region declarations use the new stored attributes, but each has its own interest policy, which is specified in the individual region creation.
-
-    ``` pre
-    <!-- Retrieving and storing attributes -->
-    <region-attributes id="myPartition" refid="PARTITION_REDUNDANT">
-        <partition-attributes local-max-memory="512"/>
-    </region-attributes>
-
-    <!-- Two partitioned regions, one colocated with the other -->
-
-    <!-- Attributes are retrieved and applied in the first region -->
-    <region name="PartitionedRegion1" refid="myPartition"/>
-
-    <!-- Same stored attributes, modification for this region-->
-    <region name="PartitionedRegion2" refid="myPartition">
-        <region-attributes>
-            <partition-attributes colocated-with="PartitionedRegion1" />
-        </region-attributes>
-    </region>
-    ```
-
-**Example \#2**
-
-This example uses the `RegionFactory` API to create a region based on the predefined `PARTITION` region shortcut:
-
-``` pre
-final Region diskPortfolios = 
-    new RegionFactory("PARTITION").create("Portfolios");
-```
-
-This example retrieves an attributes template and passes it to the region creation with a modified pool specification:
-
-``` pre
-ClientRegionFactory<String,String> regionFactory =         
-    cache.createClientRegionFactory(PROXY);
-Region<String, String> region = regionFactory
-    .setPoolName("publisher")
-    .create("DATA");
-```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/gemfire_properties/setting_distributed_properties.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/gemfire_properties/setting_distributed_properties.html.md.erb b/basic_config/gemfire_properties/setting_distributed_properties.html.md.erb
deleted file mode 100644
index db03d15..0000000
--- a/basic_config/gemfire_properties/setting_distributed_properties.html.md.erb
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title:  Setting Properties
----
-
-Geode provides a default distributed system configuration for out-of-the-box systems. To use non-default configurations and to fine-tune your member communication, you can use a mix of various options to customize your distributed system configuration.
-
-<a id="setting_distributed_properties__section_67EBCC53EB174B108DA7271E2CD2B76C"></a>
-Geode properties are used to join a distributed system and configure system member behavior. Configure your Geode properties through the `gemfire.properties` file, the Java API, or command-line input. Generally, you store all your properties in the `gemfire.properties` file, but you may need to provide properties through other means, for example, to pass in security properties for username and password that you have received from keyboard input.
-
-**Note:**
-Check with your Geode system administrator before changing properties through the API, including the `gemfire.properties` and `gfsecurity.properties` settings. The system administrator may need to set properties at the command line or in configuration files. Any change made through the API overrides those other settings.
-
-**Note:**
-The product `defaultConfigs` directory has a sample `gemfire.properties` file with all default settings.
-
-Set distributed system properties by any combination of the following. The system looks for the settings in the order listed:
-
-1.  `java.lang.System` property setting. Usually set at the command line. For applications, set these in your code or at the command line.
-
-    Naming: Specify these properties in the format `gemfire.property-name`, where `property-name` matches the name in the `gemfire.properties` file. To set the gemfire property file name, use `gemfirePropertyFile` by itself
-    -   In the API, set the `System` properties before the cache creation call. Example:
-
-        ``` pre
-        System.setProperty("DgemfirePropertyFile", "gfTest");
-        System.setProperty("Dgemfire.mcast-port", "10999");
-
-        Cache cache = new CacheFactory().create();
-        ```
-    -   At the `java` command line, pass in `System` properties using the `-D` switch. Example:
-
-        ``` pre
-        java -DgemfirePropertyFile=gfTest -Dgemfire.mcast-port=10999 test.Program
-        ```
-2.  Entry in a `Properties` object.
-
-    Naming: Specify these properties using the names in the `gemfire.properties` file. To set the gemfire property file name, use `gemfirePropertyFile`.
-    -   In the API, create a `Properties` object and pass it to the cache create method. Example:
-
-        ``` pre
-        Properties properties= new Properties();
-        properties.setProperty("log-level", "warning");
-        properties.setProperty("name", "testMember2");
-        ClientCache userCache = 
-            new ClientCacheFactory(properties).create();
-        ```
-    -   For the cache server, pass the properties files on the `gfsh` command line as command-line options. Example:
-
-        ``` pre
-        gfsh>start server --name=server_name --mcast-port=10338 --properties-file=serverConfig/gemfire.properties --security-properties-file=gfsecurity.properties
-        ```
-
-        See [Running Geode Server Processes](../../configuring/running/running_the_cacheserver.html) for more information on running cache servers.
-
-3.  Entry in a `gemfire.properties` file. See [Deploying Configuration Files without the Cluster Configuration Service](../../configuring/running/deploying_config_files.html). Example:
-
-    ``` pre
-    cache-xml-file=cache.xml
-    conserve-sockets=true
-    disable-tcp=false
-    ```
-
-4.  Default value. The default property values are listed in the online Java documentation for `org.apache.geode.distributed.DistributedSystem`.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/the_cache/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/the_cache/chapter_overview.html.md.erb b/basic_config/the_cache/chapter_overview.html.md.erb
deleted file mode 100644
index c003e8b..0000000
--- a/basic_config/the_cache/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title:  Cache Management
----
-
-The Geode cache is the entry point to Geode caching management. Geode provides different APIs and XML configuration models to support the behaviors of different members.
-
--   **[Introduction to Cache Management](../../basic_config/the_cache/intro_cache_management.html)**
-
-    The cache provides in-memory storage and management for your data.
-
--   **[Managing a Peer or Server Cache](../../basic_config/the_cache/managing_a_peer_server_cache.html)**
-
-    You start your peer or server cache using a combination of XML declarations and API calls. Close the cache when you are done.
-
--   **[Managing a Client Cache](../../basic_config/the_cache/managing_a_client_cache.html)**
-
-    You have several options for client cache configuration. Start your client cache using a combination of XML declarations and API calls. Close the client cache when you are done.
-
--   **[Managing a Cache in a Secure System](../../basic_config/the_cache/managing_a_secure_cache.html)**
-
-    When you create your cache in a secure system, you provide credentials to the connection process for authentication by already-running, secure members. Clients connect to secure servers. Peers are authenticated by secure locators or peer members.
-
--   **[Managing RegionServices for Multiple Secure Users](../../basic_config/the_cache/managing_a_multiuser_cache.html)**
-
-    In a secure system, you can create clients with multiple, secure connections to the servers from each client. The most common use case is a Geode client embedded in an application server that supports data requests from many users. Each user may be authorized to access a subset of data on the servers. For example, customer users may be allowed to see and update only their own orders and shipments.
-
--   **[Launching an Application after Initializing the Cache](../../basic_config/the_cache/setting_cache_initializer.html)**
-
-    You can specify a callback application that is launched after the cache initialization.
-
-


[59/76] [abbrv] incubator-geode git commit: GEODE-1952: removed native client docs, set aside until native client code is merged in (see GEODE-1964)

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/connection-pools/configuring-pools-attributes-example.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/connection-pools/configuring-pools-attributes-example.html.md.erb b/geode-docs/nativeclient/connection-pools/configuring-pools-attributes-example.html.md.erb
deleted file mode 100644
index 62e033b..0000000
--- a/geode-docs/nativeclient/connection-pools/configuring-pools-attributes-example.html.md.erb
+++ /dev/null
@@ -1,156 +0,0 @@
----
-title:  Pool Configuration Example and Settings
----
-
-Connection pools require standard client/server distributed system and cache configuration settings. You must also configure settings for the locator, server, and pool elements.
-
--   Locator. Host and port where a server locator is listening.
--   Server. Host and port where a server is listening.
--   Pool. Client/server connection pool.
-
-The example shows a declarative pool configuration. Following the example is a table that describes the attributes that can be configured.
-
-## Example\u2014Declarative Pool Configuration
-
-This example shows a declarative pool configuration.
-
-**Note:**
-You create an instance of `PoolFactory` through `PoolManager`.
-
-``` pre
-<pool free-connection-timeout="12345" idle-timeout="5555"
-      load-conditioning-interval="23456"
-      max-connections="7" min-connections="3"
-      name="test_pool_1" ping-interval="12345"
-      read-timeout="23456" retry-attempts="3" server-group="ServerGroup1"
-      socket-buffer-size="32768" statistic-interval="10123"
-      subscription-ack-interval="567" subscription-enabled="true"
-      subscription-message-tracking-timeout="900123"
-      subscription-redundancy="0" thread-local-connections="true">
-   <locator host="localhost" port="34756"/>
-</pool>
-```
-
-## <a id="configuring-pools__section_E7AA69F3BB6C4FEA8094E2BC5278A349" class="no-quick-link"></a>Pool Attributes
-
-<table>
-<colgroup>
-<col width="25%" />
-<col width="50%" />
-<col width="25%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th>Attribute Name</th>
-<th>Description</th>
-<th>Default</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td><code class="ph codeph">free-connection-timeout</code></td>
-<td><p>Number of milliseconds (ms) that the client waits for a free connection if <code class="ph codeph"> max-connections</code> limit is configured and all connections are in use.</p></td>
-<td><p>10000 ms</p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">idle-timeout</code></p></td>
-<td><p>Number of milliseconds to wait for a connection to become idle for load balancing</p></td>
-<td><p>5000 ms</p></td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">load-conditioning-interval</code></td>
-<td><p>Interval in which the pool checks to see if a connection to a specific server should be moved to a different server to improve the load balance.</p></td>
-<td><p>300000 ms (5 minutes)</p></td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">max-connections</code></td>
-<td><p>Maximum number of connections that the pool can create. If all connections are in use, an operation requiring a client-to server-connection is blocked until a connection is available or the <code class="ph codeph"> free-connection-timeout</code> is reached. If set to -1, there is no maximum. The setting must indicate a cap greater than <code class="ph codeph"> min-connections</code>.</p>
-<div class="note note">
-**Note:**
-<p>If you use this setting to cap your pool connections, disable the pool attribute <code class="ph codeph"> pr-single-hop-enabled</code>. Leaving single hop enabled can increase thrashing and lower performance.</p>
-</div></td>
-<td><p>-1</p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">min-connections</code></p></td>
-<td><p>Number of connections that must be created initially.</p></td>
-<td><p>5</p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">name</code></p></td>
-<td><p>Pool name.</p></td>
-<td><p></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">ping-interval</code></p></td>
-<td><p>Interval between pinging the server to show the client is alive, set in milliseconds. Pings are only sent when the <code class="ph codeph">ping-interval</code> elapses between normal client messages. This must be set lower than the server\u2019s <code class="ph codeph">maximum-time-between-pings</code>.</p></td>
-<td><p>10000 ms</p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">pr-single-hop-enabled</code></p></td>
-<td><p>Setting used for single-hop access to partitioned region data in the servers for some data operations. See <a href="../client-cache/application-plugins.html#application-plugins__section_348E00A84F274D4B9DBA9ECFEB2F012E">PartitionResolver</a>. See note in <code class="ph codeph">thread-local-connections</code> below.</p></td>
-<td><p>True</p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">read-timeout</code></p></td>
-<td><p>Number of milliseconds to wait for a response from a server before the connection times out.</p></td>
-<td><p>10000</p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">retry-attempts</code></p></td>
-<td><p>Number of times to retry an operation after a time-out or exception for high availability. If set to -1, the pool tries every available server once until it succeeds or has tried all servers.</p></td>
-<td><p>-1</p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">server-group</code></p></td>
-<td><p>Server group from which to select connections. If not specified, the global group of all connected servers is used.</p></td>
-<td><p>empty</p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">socket-buffer-size</code></p></td>
-<td><p>Size of the socket buffer, in bytes, on each connection established.</p></td>
-<td><p>32768</p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">statistic-interval</code></p></td>
-<td><p>Default frequency, in milliseconds, with which the client statistics are sent to the server. A value of <code class="ph codeph">-1</code> indicates that the statistics are not sent to the server.</p></td>
-<td><p>-1</p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">subscription-ack-interval</code></p></td>
-<td><p>Number of milliseconds to wait before sending an acknowledgment to the server about events received from the subscriptions.</p></td>
-<td><p>100</p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">subscription-enabled</code></p></td>
-<td><p>Whether to establish a server to client subscription.</p></td>
-<td><p>False</p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">subscription-message-tracking-timeout</code></p></td>
-<td><p>Number of milliseconds for which messages sent from a server to a client are tracked. The tracking is done to minimize duplicate events.</p></td>
-<td><p>90000</p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">subscription-redundancy</code></p></td>
-<td><p>Redundancy for servers that contain subscriptions established by the client. A value of <code class="ph codeph">-1</code> causes all available servers in the specified group to be made redundant.</p></td>
-<td><p>0</p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">thread-local-connections</code></p></td>
-<td><p>Whether the connections must have affinity to the thread that last used them.</p>
-<div class="note note">
-**Note:**
-<p>To set this to <code class="ph codeph">true</code>, also set <code class="ph codeph">pr-single-hop-enabled</code> to <code class="ph codeph">false</code>. A <code class="ph codeph">true</code> value in <code class="ph codeph">pr-single-hop-enabled</code> automatically assigns a <code class="ph codeph">false</code> value to <code class="ph codeph">thread-local-connections</code>...</p>
-</div></td>
-<td><p>False</p></td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">update-locator-list-interval</code></td>
-<td>An integer number of milliseconds defining the interval between locator list updates. If the value is less than or equal to 0, the update will be disabled.</td>
-<td>5000</td>
-</tr>
-</tbody>
-</table>
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/connection-pools/configuring-pools.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/connection-pools/configuring-pools.html.md.erb b/geode-docs/nativeclient/connection-pools/configuring-pools.html.md.erb
deleted file mode 100644
index 3b04643..0000000
--- a/geode-docs/nativeclient/connection-pools/configuring-pools.html.md.erb
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title:  Configuring Pools
----
-
-A pool can be configured as locators or as a list of servers.
-
-You configure locator, server, and pool settings declaratively in the client's `cache.xml` file or programmatically through the `PoolFactory` method. You create an instance of `PoolFactory` through `PoolManager`.
-
--   **[Native Client Pool API](../../nativeclient/connection-pools/native-client-pool-api.html)**
-
-    The Geode native client API allows your clients to create and manage connection pools. The server side does not have an API.
-
--   **[Pool Configuration Example and Settings](../../nativeclient/connection-pools/configuring-pools-attributes-example.html)**
-
-    Connection pools require standard client/server distributed system and cache configuration settings. You must also configure settings for the locator, server, and pool elements.
-
--   **[Subscription Properties](../../nativeclient/connection-pools/subscription-properties.html)**
-
-    Each connection pool has a single subscription connection that can be to any server that matches the requirements of the connection pool.
-
--   **[Running the Connection Pool Code](../../nativeclient/connection-pools/running-connection-pool-code.html)**
-
-    Examples demonstrate a simple procedure to create a pool factory and then create a pool instance in C++ and C\#. They also help you to execute a query.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/connection-pools/connection-pools.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/connection-pools/connection-pools.html.md.erb b/geode-docs/nativeclient/connection-pools/connection-pools.html.md.erb
deleted file mode 100644
index ef6547a..0000000
--- a/geode-docs/nativeclient/connection-pools/connection-pools.html.md.erb
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title:  Using Connection Pools
----
-
-*Using Connection Pools* describes how connection pools achieve load balancing for the client and describes how to configure connection pools as server locators or as a list of servers.
-
--   **[How Client Load Balancing Works](../../nativeclient/connection-pools/client-load-balancing.html)**
-
-    In a distributed system, servers can be added or removed and their capacity to service new client connections may vary. The server connectivity options are specified in the connection pool configuration.
-
--   **[Configuring Pools](../../nativeclient/connection-pools/configuring-pools.html)**
-
-    A pool can be configured as locators or as a list of servers.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/connection-pools/discovering-locators-dynamically.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/connection-pools/discovering-locators-dynamically.html.md.erb b/geode-docs/nativeclient/connection-pools/discovering-locators-dynamically.html.md.erb
deleted file mode 100644
index ed9ee6a..0000000
--- a/geode-docs/nativeclient/connection-pools/discovering-locators-dynamically.html.md.erb
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title:  Discovering Locators Dynamically
----
-
-A background thread periodically queries the locator for any other locators joining the distributed system.
-
-However, if locator A (to which the client is connected) goes down before it discovers locator B, locator B is never discovered even though it is alive and the client receives a `NoLocatorsAvailable` exception.
-
-One connection is attached to every application thread that is `local` to the respective thread. This is known as a thread local connection.
-
-In this case, to perform any cache operation the client is not required to obtain a connection from pool. Instead the thread local connection of the client is used.
-
-A thread local connection can be released by invoking the `Pool::releaseThreadLocalConnection()` method. The released connection is returned to the pool. If the number of threads is larger than the number of `max-connections`, the client throws an `AllConnectionsInUseException` after the `free-connection-timeout` lapses, unless the `Pool::releaseThreadLocalConnection()` method is used judiciously.
-
-If a connection expires or the server goes down on which the connection was established, a thread local connection is immediately replaced with a good connection obtained from the pool.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/connection-pools/native-client-pool-api.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/connection-pools/native-client-pool-api.html.md.erb b/geode-docs/nativeclient/connection-pools/native-client-pool-api.html.md.erb
deleted file mode 100644
index afd8f43..0000000
--- a/geode-docs/nativeclient/connection-pools/native-client-pool-api.html.md.erb
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title:  Native Client Pool API
----
-
-The Geode native client API allows your clients to create and manage connection pools. The server side does not have an API.
-
-This section lists the primary native client API for pool management. For complete information on the classes and interfaces described here, see the API documentation.
-
-**Note:**
-Only C\# versions of Pool API interfaces, classes, and methods are shown throughout the text in this section (example: `Pool.GetQueryService()`) . The code examples demonstrate both C++ and C\# versions.
-
-**Gemstone::GemFire::Cache**
-
--   `Pool` interface. API to retrieve pool attributes.
--   `PoolFactory` interface. API to configure pool attributes.
--   `PoolManager` interface. API to create a `PoolFactory` object and to find the pool objects.
--   `AttributesFactory` class. Has a new method `setPoolname` which assigns a pool to a region. Operations performed on the configured region use connections from the pool.
-
-**Note:**
-A region can have a pool attached to it. A pool may have multiple regions attached to it.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/connection-pools/running-connection-pool-code.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/connection-pools/running-connection-pool-code.html.md.erb b/geode-docs/nativeclient/connection-pools/running-connection-pool-code.html.md.erb
deleted file mode 100644
index 8ae4fcb..0000000
--- a/geode-docs/nativeclient/connection-pools/running-connection-pool-code.html.md.erb
+++ /dev/null
@@ -1,59 +0,0 @@
----
-title:  Running the Connection Pool Code
----
-
-Examples demonstrate a simple procedure to create a pool factory and then create a pool instance in C++ and C\#. They also help you to execute a query.
-
-The examples create a pool with locators. Ensure that you create a pool with locators or endpoints, but not both. The first example demonstrates creating a pool by adding locators. The second example demonstrates creating a pool by adding servers. For more information, see the example in the QuickStart Guide.
-
-## Connection Pool Creation and Execution Using C++
-
-``` pre
-PropertiesPtr prptr = Properties::create();
-systemPtr = CacheFactory::createCacheFactory(prptr);
-
-cachePtr = systemPtr->create();
-PoolFactoryPtr poolFacPtr = PoolManager::createFactory();
-//to create pool add either endpoints or add locators or servers
-//pool with endpoint, adding to pool factory
-//poolFacPtr->addServer("localhost", 12345 /*port number*/);
-//pool with locator, adding to pool factory
-poolFacPtr->addLocator("localhost", 34756 /*port number*/);
-PoolPtr pptr = NULLPTR;
-if ((PoolManager::find("examplePool")) == NULLPTR) {
-  // Pool with this name does not exist
-  pptr = poolFacPtr->create("examplePool");
-}
-RegionFactoryPtr regionFactory =
-    cachePtr->createRegionFactory(CACHING_PROXY);
-regionPtr = regionFactory
-    ->setPoolName("examplePool")
-    ->create("regionName");
-QueryServicePtr qs = cachePtr->getQueryService("examplePool");
-```
-
-## Connection Pool Creation and Execution Using C\# .NET
-
-``` pre
-Properties prop = Properties.Create();
-CacheFactory cacheFactory = CacheFactory.CreateCacheFactory(prop);
-Cache cache = cacheFactory.Create();
-
-PoolFactory poolFact = PoolManager.CreateFactory();
-//to create pool add either endpoints or add locators
-//pool with endpoint, adding to pool factory.
-poolFact.AddServer("localhost", 40404 /*port number*/);
-//pool with locator, adding to pool factory
-//poolFact.AddLocator("hostname", 15000 /*port number*/);
-Pool pool = null;
-if (PoolManager.Find("poolName") == null) {
-  pool = poolFact.Create("poolName");
-}
-int loadConditInterval = pool.LoadConditioningInterval;
-RegionFactory regionFactory =
-    cache.CreateRegionFactory(RegionShortcut.CACHING_PROXY);
-IRegion<string, string> region =
-    regionFactory.SetPoolName(poolName).Create<string, string>(regionName);
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/connection-pools/subscription-properties.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/connection-pools/subscription-properties.html.md.erb b/geode-docs/nativeclient/connection-pools/subscription-properties.html.md.erb
deleted file mode 100644
index 0e175ab..0000000
--- a/geode-docs/nativeclient/connection-pools/subscription-properties.html.md.erb
+++ /dev/null
@@ -1,24 +0,0 @@
----
-title:  Subscription Properties
----
-
-Each connection pool has a single subscription connection that can be to any server that matches the requirements of the connection pool.
-
-When a client registers interest for a region, if the connection pool does not already have a subscription channel, the connection pool sends a message to the server locator, and the server locator chooses servers to host the queue and return those server names to the client. The client then contacts the chosen servers and asks them to create the queue.
-
-The client maintains at least one connection with each server hosting a queue. If the server does not detect any connections from a non-durable client, it drops the client queue and closes all artifacts for the client. For information about durable client subscriptions, see [Durable Client Messaging](../preserving-data/durable-client-messaging.html#concept_F88B659FB4324F599924F3F2933452B4).
-
-## <a id="subscription-properties__section_294BD33FBDC6454FAD9C5118829EBBA4" class="no-quick-link"></a>Requesting a Subscription Region Queue
-
-The client-to-server locator request is a short lived TCP request. The client sends a message with:
-
--   The client ID.
--   (Optional) target server group.
--   Number of redundant copies.
--   Servers to exclude from the results. This list is used if the client cannot connect to a server and needs to request a new one.
-
-The server locator responds with a list of servers. The client is responsible for contacting the primary and secondaries and asking them to host the queue.
-
-For durable subscriptions, the server locator must be able to locate the servers that host the queues for the durable client. When a durable client sends a request, the server locator queries all the available servers to see if they are hosting the subscription region queue for the durable client. If the server is located, the client is connected to the server hosting the subscription region queue.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/continuous-querying/1-how-cont-query-works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/continuous-querying/1-how-cont-query-works.html.md.erb b/geode-docs/nativeclient/continuous-querying/1-how-cont-query-works.html.md.erb
deleted file mode 100644
index 3b2214b..0000000
--- a/geode-docs/nativeclient/continuous-querying/1-how-cont-query-works.html.md.erb
+++ /dev/null
@@ -1,59 +0,0 @@
----
-title:  How Continuous Querying Works
----
-
-C++ and .NET clients register interest in events using simple query expressions. Events are sent to client listeners that you can program to do whatever your application requires.
-
--   [Overview of CQ Operations](1-how-cont-query-works.html#security__section_D4F0FAC4880A49A18D6E11B777C2716A)
--   [Logical Architecture and Data Flow](1-how-cont-query-works.html#security__section_9FEA0CFD3DA64BF5B42B37F5CE05C993)
--   [State and Life Cycle](1-how-cont-query-works.html#security__section_677EB38AB60E4410A8A60980CD3BAACB)
-
-## <a id="security__section_D4F0FAC4880A49A18D6E11B777C2716A" class="no-quick-link"></a>Overview of CQ Operations
-
-You subscribe to server-side events using SQL-type query filtering. The native client sends a query to the server side for execution and receives the events that satisfy the criteria.
-
-For example, in a region storing stock market trade orders, you can retrieve all orders over a certain price by running a CQ with a query like this:
-
-``` pre
-SELECT * FROM /tradeOrder t WHERE t.price > 100.00
-```
-
-When the CQ is running, the server sends the client all new events that affect the results of the query. On the native client side, listeners programmed by you receive and process incoming events. For the example query on `/tradeOrder`, you might program a listener to push events to a GUI where higher-priced orders are displayed. CQ event delivery uses the client/server subscription framework described in [Client to Server Connection Process](../client-cache/client-to-server-connection.html#client-to-server-connection).
-
-CQs do not update the native client region. This is in contrast to other server-to-client messaging, such as the updates sent to satisfy interest registration and responses to get requests from the client. CQs are notification tools for the CQ listeners, which can be programmed in any way your application requires.
-
-When a CQ is running against a server region, each entry event is evaluated against the CQ query by the thread that updates the server cache. If either the old or the new entry value satisfies the query, the thread puts a `CqEvent` in the client's queue. The `CqEvent` contains information from the original cache event, plus information specific to the CQ's execution. Once received by the client, the `CqEvent` is passed to the `onEvent` method of all `CqListeners` defined for the CQ.
-
-## <a id="security__section_9FEA0CFD3DA64BF5B42B37F5CE05C993" class="no-quick-link"></a>Logical Architecture and Data Flow
-
-Clients can execute any number of CQs, with each CQ given any number of listeners. This figure shows the logical architecture of continuous querying.
-
-<img src="../common/images/10-Continuous_Querying-1.gif" id="security__image_7B1C48755BE541BDBCD7DCD442728754" class="image" />
-
-The next figure shows the typical CQ data flow when entries are updated in the server cache. A description of the data flow follows, along with a description of CQ state and life cycle.
-
-<img src="../common/images/10-Continuous_Querying-3.gif" id="security__image_F5E03A24E29C41B683EC6E85B3B64977" class="image" />
-
-1.  Entry events come to the server's cache from any source: the server or its peers, distribution from remote sites, or updates from a client.
-2.  For each event, the server's CQ executor framework checks for a match with the CQs it has running.
-3.  If the old or new entry value satisfies a CQ query, a CQ event is sent to the CQ's listeners on the client side. Each listener for the CQ gets the event. In the preceding figure:
-    -   Both new and old prices for entry X satisfy the CQ query, so that event is sent indicating an update to the query results.
-    -   The old price for entry Y satisfied the query, so it was part of the query results. The invalidation of entry Y means that it does not satisfy the query. Because of this, the event is sent indicating that it is destroyed in the query results.
-    -   The price for the newly created entry Z does not satisfy the query, so no event is sent.
-
-The region operations do not translate directly to specific query operations, and the query operations do not specifically describe the region events. Instead, each query operation describes how its corresponding region event affects the query results. For more information, see [CqEvent Object](5c-cq-event-object.html#security).
-
-## <a id="security__section_677EB38AB60E4410A8A60980CD3BAACB" class="no-quick-link"></a>State and Life Cycle
-
-A CQ has three possible states that can be accessed from the client by calling `CqQuery.getState`.
-
--   `STOPPED`. The CQ has been created but not yet executed, or it has been explicitly stopped from executing. The stopped CQ uses system resources. You start or restart the CQ by calling the execute method on `CqQuery`.
--   `RUNNING`. The CQ is being executed on the server for all events in the region referenced by the query. Results are sent to all client listeners associated with the `CqQuery`.
--   `CLOSED`. The CQ is closed and is not using system resources. Invoking an `execute` or `stop` method on closed `CqQuery` throws an exception.
-
-**Typical CQ life cycle**
-
-1.  The client creates the CQ. This sets up everything for running the query and provides the client with a `CqQuery` object, but does not execute the CQ. At this point, the query is in a `STOPPED `state, ready to be closed or run.
-2.  The client runs the CQ with an API call to one of the `CqQuery execute*` methods. This puts the query into a `RUNNING` state on the client and on the server.
-3.  The CQ is closed by a client call to `CqQuery.close`. This de-allocates all resources in use for the CQ on the client and server. At this point, the cycle could begin again with the creation of a new `CqQuery` instance.
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/continuous-querying/2-config-for-continuous-querying.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/continuous-querying/2-config-for-continuous-querying.html.md.erb b/geode-docs/nativeclient/continuous-querying/2-config-for-continuous-querying.html.md.erb
deleted file mode 100644
index 5644a34..0000000
--- a/geode-docs/nativeclient/continuous-querying/2-config-for-continuous-querying.html.md.erb
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title:  Configuring Your System for Continuous Querying
----
-
-The continuous query (CQ) functionality requires standard client/server distributed system and cache configuration settings.
-
--   The client region must use a pool with subscription-enabled set to true .
--   If you want your CQs to be highly available, configure your servers for high availability as described in [Configuring Highly Available Servers](../../developing/events/configuring_highly_available_servers.html) in the *User's Guide*. When your servers are highly available, CQs are registered on primary and secondary servers, and server failover is performed without any interruption to CQ messaging. CQ events messaging uses the same queues used for server-to-client messaging.
-    **Note:**
-    When CQ is used with high availability, the overhead for CQs is higher than for the key-based interest list registration. CQs are executed on the primary and all secondary servers, so they require more overall server processing.
-
--   To obtain a list of all durable CQs registered on the server, use the `QueryService.getAllDurableCqsFromServer` API.
--   If you want your CQs to be durable, configure your native clients for durable messaging. When your clients are durable, you can create durable CQs whose events are maintained during client disconnects and replayed for the client when it reconnects. The process and data flow particular to durable CQs is described in [Durable Client Messaging](../preserving-data/durable-client-messaging.html#concept_F88B659FB4324F599924F3F2933452B4).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/continuous-querying/3-native-client-cq-api.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/continuous-querying/3-native-client-cq-api.html.md.erb b/geode-docs/nativeclient/continuous-querying/3-native-client-cq-api.html.md.erb
deleted file mode 100644
index 46d66a9..0000000
--- a/geode-docs/nativeclient/continuous-querying/3-native-client-cq-api.html.md.erb
+++ /dev/null
@@ -1,41 +0,0 @@
----
-title:  CQ API and Main Features
----
-
-This chapter documents the primary native client API for CQ management.
-
-The Apache Geode native client API allows your clients to create and manage CQs. (The server side does not have an API.) Continuous querying provides native client query syntax, events-based management, integration with client/server architecture, active query execution, and interest criteria based on data values. For complete information on the classes and interfaces described here, see the online API documentation.
-
--   [CQ API and Main Features](3-native-client-cq-api.html)
--   [Main Features of Continuous Querying](3-native-client-cq-api.html#security__section_74A3A0ECC2B645CEAEFDF68350E55EB4)
-
-**Gemstone::GemFire::Cache**
-
-Only C\# versions of CQ API interfaces, classes, and methods are shown here (example: `CqQuery.execute`). The code examples demonstrate both C++ and C\# versions.
-
--   `QueryService` interface. Provides methods that enable you to:
-    -   Create a new CQ and specify whether it is durable (available for durable clients)
-    -   Execute a CQ with or without an initial result
-    -   List all the CQs registered by the client
-    -   Close and stop CQs
-    -   Get a handle on `CqStatistics` for the client
-
-    You run `QueryService` CQ methods against the server cache. The QueryService can be obtained from the cache or from a pool.
--   `CqQuery`interface. Provides methods for managing a continuous query after it is created through the `QueryService`. This interface is used typically to begin and end CQ execution and to retrieve other CQ-related objects such as CQ attributes, CQ statistics, and CQ state.
--   `CqListener` application plug-in interface. Handles continuous query events after they occur. You program this interface.
--   `CqEvent`interface. Provides all information sent from the server about the CQ event, which is passed to the CQ's `CqListener` methods.
--   `CqState` interface. Provides information on the state of a `CqQuery`, through the getState method of the `CqQuery` instance.
--   `CqAttributes, CqAttributesFactory, CqAttributesMutator` interfaces. Allow you to manage CQ attributes. The attributes consist of `CqListener `plug-in specifications.
--   `CqStatistics, CqServiceStatistics` interfaces. Allow you to access statistics information for a single CQ and for the query service's management of CQs as a whole. For details on statistics, see [Statistics API](../cpp-caching-api/gfe-cpp-api.html#concept_AB12290E89CA4724AC9F51EFF7B8B8EA__section_42764C6327944514AE4A26684D7EBCB0).
-
-## <a id="security__section_74A3A0ECC2B645CEAEFDF68350E55EB4" class="no-quick-link"></a>Main Features of Continuous Querying
-
-Continuous querying in the native client has the following features:
-
--   **Standard Geode native client query syntax and semantics**. CQ queries are expressed in the same language used for other native client queries (see [Remote Querying.](../remote-querying/remote-querying.html#security)).
--   **Standard Geode events-based management of CQ events**. The event handling used to process CQ events is based on the standard Geode event handling framework. The CQListener interface is similar to [Application Plug-Ins](../client-cache/application-plugins.html#application-plugins) and [Application Callbacks](../dotnet-caching-api/application-callbacks.html#concept_E66738BC9B3B4E239D19ABFB198BE754).
--   **Complete integration with the client/server architecture**. CQ functionality uses existing server-to-client messaging mechanisms to send events. All tuning of your server-to-client messaging also tunes the messaging of your CQ events. If your system is configured for high availability then your CQs are highly available, with seamless failover provided in case of server failure (see [High Availability for Client-to-Server Communication](../preserving-data/high-availability-client-server.html#concept_F7A143F51EEA46B28AC612DEB7849D99)). If your clients are durable, you can also define any of your CQs as durable (see [Durable Client Messaging](../preserving-data/durable-client-messaging.html#concept_F88B659FB4324F599924F3F2933452B4)).
--   **Interest criteria based on data values**. CQ queries are run against the region's entry values. Compare this to register interest by reviewing [Registering Interest for Entries](../client-cache/registering-interest-for-entries.html#registering-interest-for-entries).
--   **Active query execution**. Once initialized, the queries only operate on new events instead of on the entire region data set. Events that change the query result are sent to the client immediately.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/continuous-querying/5-implementing-cq.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/continuous-querying/5-implementing-cq.html.md.erb b/geode-docs/nativeclient/continuous-querying/5-implementing-cq.html.md.erb
deleted file mode 100644
index 58351d6..0000000
--- a/geode-docs/nativeclient/continuous-querying/5-implementing-cq.html.md.erb
+++ /dev/null
@@ -1,47 +0,0 @@
----
-title:  Implementing a Continuous Query
----
-
-You can specify CQs for any client region.
-
-Here are the high-level steps for implementing a continuous query, with links to more detailed information in this chapter.
-
-1.  Make sure your system is configured properly to run CQs. See [Configuring for Continuous Querying](2-config-for-continuous-querying.html#security).
-2.  Decide what data to track on the server and write your queries. Use your criteria for tracking data changes to write your CQ queries. See [Writing the Continuous Query](5a-writing-cq.html#security).
-3.  Determine how to handle the CQ events on the client and write your listeners.
-
-    Each CQ can have any number of listeners. In addition to your core CQ listeners, you might have listeners that you use for all CQs to track statistics or other general information. See [Writing the CQ Listener](5b-writing-cq-listener.html#security).
-
-4.  Write the client code to put the queries and their listeners into named CQ queries and execute the queries. Make sure you close the queries if your client no longer needs them and when the client exits. See [Running the Continuous Query Code](5e-running-cq-code.html#security).
-5.  Write any code you need for monitoring and managing your CQ query. See [Managing Continous Queries](6-managing-cqs.html#security).
-6.  Run your code, monitor and tune as needed.
-
--   **[Configuring Your System for Continuous Querying](../../nativeclient/continuous-querying/2-config-for-continuous-querying.html)**
-
-    The continuous query (CQ) functionality requires standard client/server distributed system and cache configuration settings.
-
--   **[Writing the Continuous Query](../../nativeclient/continuous-querying/5a-writing-cq.html)**
-
-    Each CQ uses a query and any number of listeners. The query filters the events on the server and the listener handles the events that make it through the query filter. With the query and the listener in hand, you can create and execute your query through the API.
-
--   **[Writing the CQ Listener or CQ Status Listener](../../nativeclient/continuous-querying/5b-writing-cq-listener.html)**
-
-    The following C++ and .NET examples show how you might program a simple `CqListener` or `CqStatusListener` to update a display screen based on the CQ events it receives.
-
--   **[CqEvent Object](../../nativeclient/continuous-querying/5c-cq-event-object.html)**
-
-    The `CqEvent` object contains information about the CQ event.
-
--   **[Running the Continuous Query Code](../../nativeclient/continuous-querying/5e-running-cq-code.html)**
-
-    Create your CQ from an instance of the QueryService . Once created, the CQ is maintained primarily through the CqQuery interface. The following two C++ and C\# examples show the basic calls in the CQ life cycle.
-
--   **[CQ Execution Options](../../nativeclient/continuous-querying/5f-cq-execution-options.html)**
-
-    CQ execution can be done with or without an initial result set by calling `CqQuery.Execute` or `CqQuery.ExecuteWithInitialResults`. The initial `SelectResults` returned from `ExecuteWithInitialResults` is the same as the one you would get if you ran the query ad hoc by calling `QueryService.NewQuery.Execute` on the server cache, but with the key added.
-
--   **[When an Error Occurs in a Running CQ](../../nativeclient/continuous-querying/5d-when-error-occurs.html)**
-
-    When an error occurs in CQ execution on the server, specific information on the error itself is stored in the server's log file. An exception is passed to the client, and the client throws an exception.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/continuous-querying/5a-writing-cq.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/continuous-querying/5a-writing-cq.html.md.erb b/geode-docs/nativeclient/continuous-querying/5a-writing-cq.html.md.erb
deleted file mode 100644
index 1070b1f..0000000
--- a/geode-docs/nativeclient/continuous-querying/5a-writing-cq.html.md.erb
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title:  Writing the Continuous Query
----
-
-Each CQ uses a query and any number of listeners. The query filters the events on the server and the listener handles the events that make it through the query filter. With the query and the listener in hand, you can create and execute your query through the API.
-
-This is the basic syntax for the CQ query:
-
-``` pre
-SELECT * FROM /fullRegionPath [iterator] [WHERE clause]
-```
-
-The CQ query must satisfy the standard Geode native client querying specifications described in [Remote Querying](../remote-querying/remote-querying.html#security). It also must satisfy these restrictions:
-
--   The `FROM` clause must contain only a single region specification, with optional iterator variable.
--   The query must be a `SELECT` expression only, preceded by zero or more `IMPORT` statements. This means the query cannot be a statement like `/tradeOrder.name` or `(SELECT * from                     /tradeOrder).size`.
--   The CQ query cannot use:
-    -   Cross region joins
-    -   Drill-downs into nested collections
-    -   `DISTINCT`
-    -   Projections
-    -   Bind parameters
-
-Queries not meeting these constraints generate an `UnsupportedOperationException` from the `QueryServicenewCq` method.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/continuous-querying/5b-writing-cq-listener.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/continuous-querying/5b-writing-cq-listener.html.md.erb b/geode-docs/nativeclient/continuous-querying/5b-writing-cq-listener.html.md.erb
deleted file mode 100644
index 2e3c06e..0000000
--- a/geode-docs/nativeclient/continuous-querying/5b-writing-cq-listener.html.md.erb
+++ /dev/null
@@ -1,280 +0,0 @@
----
-title:  Writing the CQ Listener or CQ Status Listener
----
-
-The following C++ and C\# .NET examples show how you might program a simple `CqListener` or `CqStatusListener` to update a display screen based on the CQ events it receives.
-
-The listener retrieves the `queryOperation` and entry key and value from the `CqEvent` , then updates the screen according to the operation type provided in `queryOperation`.
-
-CQ events do not change your client cache. They are provided as an event service only. This allows you to have any collection of CQs without storing large amounts of data in your regions. If you need to persist information from CQ events, program your listener to store the information where it makes the most sense for your application.
-
-Be very careful if you choose to update your cache from your `CqListener`. If your listener updates the region that is queried in its own CQ, the update may be forwarded to the server. If the update on the server satisfies the same CQ, it may be returned to the same listener that did the update, which could put your application into an infinite loop. This same scenario could be played out with multiple regions and multiple CQs if the listeners are programmed to update each other's regions.
-
-## CqListener Implementation (C++)
-
-``` pre
-// CqListener class
-class TradeEventListener : public CqListener {
-   public:
-  void onEvent(const CqEvent& cqEvent) {
-    // Operation associated with the query op
-    CqOperation::CqOperationType queryOperation = cqEvent.getQueryOperation();
-    // key and new value from the event
-    CacheableKeyPtr key = cqEvent.getKey();
-    TradeOrderPtr tradeOrder = dynCast<TradeOrderPtr>(cqEvent.getNewValue());
-    if (queryOperation==CqOperation::OP_TYPE_UPDATE) {
-      // update data on the screen for the trade order
-      . . .
-    }
-    else if (queryOperation==CqOperation::OP_TYPE_CREATE) {
-     // add the trade order to the screen
-      . . .
-    }
-    else if (queryOperation==CqOperation::OP_TYPE_DESTROY) {
-    // remove the trade order from the screen
-      . . .
-   }
- }
- void onError(const CqEvent& cqEvent) {
-  // handle the error
- }
- void close() {
-  // close the output screen for the trades
-  . . .
- }
-}
-```
-
-## CqListener Implementation (C\# .NET)
-
-``` pre
-// CqListener class
-public class TradeEventListener : ICqListener {
-  public void onEvent(CqEvent cqEvent) {
-     // Operation associated with the query op
-     CqOperationType queryOperation = cqEvent.getQueryOperation();
-     // key and new value from the event
-     ICacheableKey key = cqEvent.getKey();
-     CacheableString keyStr = key as CacheableString;
-     IGFSerializable val = cqEvent.getNewValue();
-     TradeOrder tradeOrder = val as TradeOrder;
-     if (queryOperation==CqOperationType.OP_TYPE_UPDATE) {
-        // update data on the screen for the trade order
-        // . . .
-        }
-     else if (queryOperation== CqOperationType.OP_TYPE_CREATE) {
-        // add the trade order to the screen
-        // . . .
-     }
-     else if (queryOperation== CqOperationType.OP_TYPE_DESTROY) {
-        // remove the trade order from the screen
-        // . . .
-     }
-   }
-   public void onError(CqEvent cqEvent) {
-       // handle the error
-   }
-   // From CacheCallback
-   public void close() {
-      // close the output screen for the trades  
-      // . . .
-   }
-} 
-```
-
-## <a id="security__section_B80352FB8FC94C929C934598FE958692" class="no-quick-link"></a>Writing a CqStatusListener
-
-If you need your CQs to detect whether they are connected to any of the servers that host its subscription queues, implement a `CqStatusListener` instead of a `CqListener`.
-
-`CqStatusListener` extends the current `CqListener`, allowing a client to detect when a CQ is connected and/or disconnected from the server(s). The `onCqConnected()` method will be invoked when the CQ is connected, and when the CQ has been reconnected after being disconnected. The `onCqDisconnected()` method will be invoked when the CQ is no longer connected to any servers.
-
-Taking the examples from above, we can instead implement a `CqStatusListener`.
-
-When you install the `CqStatusListener`, your listener will be able to detect its connection status to the servers that it is querying.
-
-## CqStatusListener Implementation (C++)
-
-``` pre
-class MyCqStatusListener : public CqStatusListener {
-  uint8_t m_id;
-  uint32_t m_numInserts;
-  uint32_t m_numUpdates;
-  uint32_t m_numDeletes;
-  uint32_t m_numEvents;
-  uint32_t m_cqsConnectedCount;
-  uint32_t m_cqsDisconnectedCount;
-
-  public:
-  uint8_t getId()
-  {
-    return m_id;
-  }
-  uint32_t getNumInserts()
-  {
-    return m_numInserts;
-  }
-  uint32_t getNumUpdates()
-  {
-    return m_numUpdates;
-  }
-  uint32_t getNumDeletes()
-  {
-    return m_numDeletes;
-  }
-  uint32_t getNumEvents()
-  {
-    return m_numEvents;
-  }
-  uint32_t getCqsConnectedCount()
-  {
-    return m_cqsConnectedCount;
-  }
-  uint32_t getCqsDisConnectedCount()
-  {
-    return m_cqsDisconnectedCount;
-  }
-  MyCqStatusListener(uint8_t id):
-    m_id(id),
-    m_numInserts(0),
-    m_numUpdates(0),
-    m_numDeletes(0),
-    m_numEvents(0),
-    m_cqsDisconnectedCount(0),
-    m_cqsConnectedCount(0)
-  {
-  }
-  inline void updateCount(const CqEvent& cqEvent)
-  {
-    m_numEvents++;
-    switch (cqEvent.getQueryOperation())
-    {
-      case CqOperation::OP_TYPE_CREATE: {
-        m_numInserts++;
-        break;
-        }
-      case CqOperation::OP_TYPE_UPDATE: {
-        m_numUpdates++;
-        break;
-        }
-      case CqOperation::OP_TYPE_DESTROY: {
-        m_numDeletes++;
-        break;
-        }
-      default:
-        break;
-       }
-  }
-  void onEvent(const CqEvent& cqe){
-    updateCount(cqe);
-  }
-  void onError(const CqEvent& cqe){
-    updateCount(cqe);
-  }
-  void close(){
-  }
-  void onCqDisconnected() {
-    //This is called when the cq loses connection with all servers.
-    m_cqsDisconnectedCount++;
-  }
-  void onCqConnected() {
-    //This is called when the cq establishes a connection with a server.
-    m_cqsConnectedCount++;
-  }
-  void clear() {
-    m_numInserts = 0;
-    m_numUpdates = 0;
-    m_numDeletes = 0;
-    m_numEvents = 0;
-    m_cqsDisconnectedCount = 0;
-    m_cqsConnectedCount = 0;
-  }
-};
-```
-
-## CQStatusListener Implementation (C\# .NET)
-
-``` pre
-  public class MyCqStatusListener<TKey, TResult> : ICqStatusListener<TKey, TResult>
-  {
-    #region Private members
-    private bool m_failedOver = false;
-    private UInt32 m_eventCountBefore = 0;
-    private UInt32 m_errorCountBefore = 0;
-    private UInt32 m_eventCountAfter = 0;
-    private UInt32 m_errorCountAfter = 0;
-    private UInt32 m_CqConnectedCount = 0;
-    private UInt32 m_CqDisConnectedCount = 0;
-    #endregion
-
-    #region Public accessors
-    public MyCqStatusListener(int id)
-    {
-    }
-    public void failedOver()
-    {
-      m_failedOver = true;
-    }
-    public UInt32 getEventCountBefore()
-    {
-      return m_eventCountBefore;
-    }
-    public UInt32 getErrorCountBefore()
-    {
-      return m_errorCountBefore;
-    }
-    public UInt32 getEventCountAfter()
-    {
-      return m_eventCountAfter;
-    }
-    public UInt32 getErrorCountAfter()
-    {
-      return m_errorCountAfter;
-    }
-    public UInt32 getCqConnectedCount()
-    {
-      return m_CqConnectedCount;
-    }
-    public UInt32 getCqDisConnectedCount()
-    {
-      return m_CqDisConnectedCount;
-    }
-    #endregion
-
-    public virtual void OnEvent(CqEvent<TKey, TResult> ev)
-    {
-      if (m_failedOver == true)
-        m_eventCountAfter++;
-      else
-        m_eventCountBefore++;      
-    }
-    public virtual void OnError(CqEvent<TKey, TResult> ev)
-    {
-      if (m_failedOver == true)
-        m_errorCountAfter++;
-      else
-        m_errorCountBefore++;
-    }
-    public virtual void Close()
-    {
-    }
-    public virtual void OnCqConnected()
-    {
-      m_CqConnectedCount++;      
-    }
-    public virtual void OnCqDisconnected()
-    {
-      m_CqDisConnectedCount++;      
-    }
-    public virtual void Clear()
-    {
-      m_eventCountBefore = 0;
-      m_errorCountBefore = 0;
-      m_eventCountAfter = 0;
-      m_errorCountAfter = 0;
-      m_CqConnectedCount = 0;
-      m_CqDisConnectedCount = 0;
-    }
-  }
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/continuous-querying/5c-cq-event-object.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/continuous-querying/5c-cq-event-object.html.md.erb b/geode-docs/nativeclient/continuous-querying/5c-cq-event-object.html.md.erb
deleted file mode 100644
index 1917675..0000000
--- a/geode-docs/nativeclient/continuous-querying/5c-cq-event-object.html.md.erb
+++ /dev/null
@@ -1,60 +0,0 @@
----
-title:  CqEvent Object
----
-
-The `CqEvent` object contains information about the CQ event.
-
--   Entry key and new value.
--   Base operation that triggered the CQ event in the server.
--   `CqQuery` object associated with this CQ event.
--   Query operation associated with this CQ event. This operation describes the change affected to the query results by the cache event. Possible values are:
-    -   `CREATE`, which corresponds to the standard database `INSERT` operation.
-    -   ` UPDATE`
-    -   `DESTROY`, which corresponds to the standard database `DELETE` operation.
-
-<a id="security__section_A619799378B14214AF922D819907FF38"></a>
-This table describes the query operation based on whether the old and new entry values in the region entry event satisfy the query criteria.
-
-<a id="security__table_92A6A66523764199A19BCD66BA189921"></a>
-
-<table>
-<caption><span class="tablecap">Table 1. Query Operation Based on Old and New Entry Values</span></caption>
-<colgroup>
-<col width="33%" />
-<col width="33%" />
-<col width="33%" />
-</colgroup>
-<tbody>
-<tr class="odd">
-<td><strong>Old Entry Value</strong></td>
-<td><strong>New Entry Value</strong></td>
-<td><strong>Query Operation</strong></td>
-</tr>
-<tr class="even">
-<td>No value or value does not satisfy the query criteria.</td>
-<td>No value (operation is <code class="ph codeph">invalidate</code> or <code class="ph codeph">destroy</code>) or value does not satisfy the query.
-<p></p>
-<p>Value satisfies the query.</p></td>
-<td>N/A - no event
-<p></p>
-<p></p>
-<p><code class="ph codeph">create</code></p></td>
-</tr>
-<tr class="odd">
-<td>Value satisfies the query</td>
-<td>No value (operation is <code class="ph codeph">invalidate</code> or <code class="ph codeph">destroy</code>) or value does not satisfy the query.
-<p></p>
-<p>Value satisfies the query.</p></td>
-<td><code class="ph codeph">destroy</code>
-<p></p>
-<p></p>
-<p><code class="ph codeph">update</code></p></td>
-</tr>
-</tbody>
-</table>
-
-<span class="tablecap">**Table 1.** Query Operation Based on Old and New Entry Values</span>
-
-You can use the query operation to decide what to do with the `CqEvent` in your listeners. For example, a `CqListener` that displays query results on screen might stop displaying the entry, start displaying the entry, or update the entry display depending on the query operation.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/continuous-querying/5d-when-error-occurs.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/continuous-querying/5d-when-error-occurs.html.md.erb b/geode-docs/nativeclient/continuous-querying/5d-when-error-occurs.html.md.erb
deleted file mode 100644
index 25cd1fd..0000000
--- a/geode-docs/nativeclient/continuous-querying/5d-when-error-occurs.html.md.erb
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title:  When an Error Occurs in a Running CQ
----
-
-When an error occurs in CQ execution on the server, specific information on the error itself is stored in the server's log file. An exception is passed to the client, and the client throws an exception.
-
-The server log will contain an error message indicating an error while processing CQ , like this:
-
-``` pre
-[error 2007/12/18 12:03:18.903 PST <RMI TCP Connection(2)-
-192.0.2.0> tid=0x18] Error while processing CQ on the event, key :
-key-1, CqName :testCQEvents_0, ClientId :
-identity(carlos(3249):52623/35391,connection=1,durableAttributes=null)
-Error :No public attribute named 'ID' was found in class java.lang.Object
-```
-
-Errors in CQ execution are usually caused by data errors, such as invalid object types that are stored in the server region. In this case, the query is trying to read into an object of type Portfolio for an entry where an empty object has been stored. You can avoid these types of errors by placing constraints on the region entries, or by otherwise controlling the types of objects stored in your server regions.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/continuous-querying/5e-running-cq-code.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/continuous-querying/5e-running-cq-code.html.md.erb b/geode-docs/nativeclient/continuous-querying/5e-running-cq-code.html.md.erb
deleted file mode 100644
index b5626d8..0000000
--- a/geode-docs/nativeclient/continuous-querying/5e-running-cq-code.html.md.erb
+++ /dev/null
@@ -1,67 +0,0 @@
----
-title:  Running the Continuous Query Code
----
-
-Create your CQ from an instance of the QueryService. Once created, the CQ is maintained primarily through the CqQuery interface. The following two C++ and C\# examples show the basic calls in the CQ life cycle.
-
-## CQ Creation, Execution, and Close (C++)
-
-``` pre
-// Get cache and qrySvcPtr - refs to local cache and QueryService
-// Create client /tradeOrder region configured to talk to the server
-// Create CqAttribute using CqAttributeFactory
-CqAttributesFactory cqf;
-// Create a listener and add it to the CQ attributes
-// callback defined below
-CqListenerPtr tradeEventListener (new TradeEventListener());
-QueryServicePtr qrySvcPtr = cachePtr->getQueryService();" cqf.addCqListener(tradeEventListener);
-CqAttributesPtr cqa = cqf.create();
-// Name of the CQ and its query
-char* cqName = "priceTracker";
-char* queryStr = "SELECT * FROM /tradeOrder t where t.price > 100.00";
-// Create the CqQuery
-CqQueryPtr priceTracker = qrySvcPtr->newCq(cqName, queryStr, cqa); try {
-  // Execute CQ
-  priceTracker->execute();
-} catch (Exception& ex){
-  ex.printStackTrace();
-}
-  // Now the CQ is running on the server, sending CqEvents to the listener
-  . . .
-}
-// End of life for the CQ - clear up resources by closing
-priceTracker->close()
-```
-
-## CQ Creation, Execution, and Close (C\# .NET)
-
-``` pre
-// Get cache and queryService - refs to local cache and QueryService
-// Create client /tradeOrder region configured to talk to the server
-// Create CqAttribute using CqAttributeFactory
-CqAttributesFactory cqf = new CqAttributesFactory();
-// Create a listener and add it to the CQ attributes
-//callback defined below
-ICqListener tradeEventListener = new TradeEventListener();
-cqf.addCqListener(tradeEventListener);
-CqAttributes cqa = cqf.create();
-// Name of the CQ and its query
-String cqName = "priceTracker ";
-String queryStr = "SELECT * FROM /tradeOrder t where t.price >100.00 ";
-QueryService queryService = cache.GetQueryService();
-// Create the CqQuery
-CqQuery priceTracker = queryService.newCq(cqName, queryStr, cqa, true);
-try {
-  // Execute CQ
-  priceTracker.execute();
-  }catch (Exception ex){
-  //handle exception
-  }
-// Now the CQ is running on the server, sending CqEvents to the listener
-// . . .
-}
-// End of life for the CQ - clear up resources by closing
-priceTracker.close();
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/continuous-querying/5f-cq-execution-options.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/continuous-querying/5f-cq-execution-options.html.md.erb b/geode-docs/nativeclient/continuous-querying/5f-cq-execution-options.html.md.erb
deleted file mode 100644
index 4a6c5fc..0000000
--- a/geode-docs/nativeclient/continuous-querying/5f-cq-execution-options.html.md.erb
+++ /dev/null
@@ -1,13 +0,0 @@
----
-title:  CQ Execution Options
----
-
-CQ execution can be done with or without an initial result set by calling `CqQuery.Execute` or `CqQuery.ExecuteWithInitialResults`. The initial `SelectResults` returned from `ExecuteWithInitialResults` is the same as the one you would get if you ran the query ad hoc by calling `QueryService.NewQuery.Execute` on the server cache, but with the key added.
-
-Individual CQs are executed using` CqQueryexecute*` methods. You can also execute all CQs for the client or for a region through the client `QueryService`. CQs that are running can be stopped or closed.
-
-If you are managing a data set from the CQ results, you can initialize the set by iterating over the result set and then updating it from your listeners as events arrive. For example, you might populate a new screen with initial results and then update the screen from a listener.
-
-Just as with the standalone query, the initial results represents a possibly moving snapshot of the cache. If there are updates to the server region while the result set is being created, the result set and the subsequent event-by-event CQ query execution might miss some events.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/continuous-querying/6-managing-cqs.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/continuous-querying/6-managing-cqs.html.md.erb b/geode-docs/nativeclient/continuous-querying/6-managing-cqs.html.md.erb
deleted file mode 100644
index 0159125..0000000
--- a/geode-docs/nativeclient/continuous-querying/6-managing-cqs.html.md.erb
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title:  Managing Continuous Queries
----
-
-This section discusses how to access and manage your CQs from your client. The calls discussed here are all executed specifically for the calling client. A client cannot access or modify the CQs belonging to another client.
-
-This section discusses how to access and manage your CQs from your client. The calls discussed here are all executed specifically for the calling client. A client cannot access or modify the CQs belonging to another client.
-
-For detailed method usage, see the online API documentation.
-
-## <a id="security__section_939E26544C6E4C419336B7B04D1DE77F" class="no-quick-link"></a>Accessing CQs and CQ Statistics
-
-You can use the `QueryServicegetCq*` methods to access a single named CQ, an array of all CQs registered, and an array of all CQs registered in the client. You canuse the `CqEvent.getCq` method to access the CQ used to produce a `CqEvent`.
-
-CQ runtime statistics are available for the client through the `CqServiceStatistics` and `CqStatistics` interfaces described under [CQ API and Main Features](3-native-client-cq-api.html#security). You can get information on the events generated by a specific CQ from the `CqStatistics` object returned by `CqQuery.GetStatistics`. You can get higher-level information about the CQs the client has registered, running, and so on, from the `CqServiceStatistics` object returned by `QueryService.GetCqStatistics` .
-
-Client statistics are for the single client only. The server's pertain to all clients with CQs on this server.
-
-## <a id="security__section_0803146FEC9F4E088C01C521ED83723D" class="no-quick-link"></a>Modifying CQ Attributes
-
-You can modify the attributes for an existing CQ using the methods provided by `CqQuery.GetCqAttributesMutator`. The attributes consist of a list of listeners.
-
-## <a id="security__section_132104D528A7457A90EAE120B9080565" class="no-quick-link"></a>Stopping and Closing CQs
-
-You stop individual CQs with the `CqQuerystop` method. You can stop all CQs for the client through the `QueryService`. Stopped CQs are in the same state as new CQs that have not yet been executed. You can close or execute a stopped CQ.
-
-You close individual CQs with the `CqQueryclose` method. You can also close all CQs for the client through the `QueryService`. Closed CQs cannot be executed. CQs are also closed in the following cases:
-
--   The client closes its cache after closing all of its CQs--Closing the client cache closes the `QueryService` and all associated CQs on the client and server.
--   The client disconnects from its server--This might be because of a network outage or some other failure. When a client disconnects, all CQs created by the client are removed from the server and put into a `CLOSED` state on the client.
--   The server region is destroyed--When a server region is destroyed, all associated CQs are also cleaned up on the server and the region destroy event is sent to the client. On the client, the `CqListener.Close` method is called for all CQs on the region.
-
-## <a id="security__section_C11FA08192934D578C4FC1EFB610F50B" class="no-quick-link"></a>Getting All Durable CQs Registered with the Server
-
-To obtain a list of all durable CQs registered on the server, use the `QueryService.getAllDurableCqsFromServer` API.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/continuous-querying/continuous-querying.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/continuous-querying/continuous-querying.html.md.erb b/geode-docs/nativeclient/continuous-querying/continuous-querying.html.md.erb
deleted file mode 100644
index db5df3d..0000000
--- a/geode-docs/nativeclient/continuous-querying/continuous-querying.html.md.erb
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title:  Continuous Querying
----
-
-*Continuous Querying* describes how to implement continuous querying in the Apache Geode native client so that C++ and .NET clients can run queries against events in the Geode cache server region. It also describes main features and the native client CQ API.
-
--   **[How Continuous Querying Works](../../nativeclient/continuous-querying/1-how-cont-query-works.html)**
-
-    C++ and .NET clients register interest in events using simple query expressions. Events are sent to client listeners that you can program to do whatever your application requires.
-
--   **[Implementing a Continuous Query](../../nativeclient/continuous-querying/5-implementing-cq.html)**
-
-    You can specify CQs for any client region.
-
--   **[Managing Continuous Queries](../../nativeclient/continuous-querying/6-managing-cqs.html)**
-
-    This section discusses how to access and manage your CQs from your client. The calls discussed here are all executed specifically for the calling client. A client cannot access or modify the CQs belonging to another client.
-
--   **[CQ API and Main Features](../../nativeclient/continuous-querying/3-native-client-cq-api.html)**
-
-    This chapter documents the primary native client API for CQ management.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/accessing-entry.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/accessing-entry.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/accessing-entry.html.md.erb
deleted file mode 100644
index 4a97d6f..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/accessing-entry.html.md.erb
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title:  Accessing an Entry
----
-
-The standard `Region::get API` method returns the value associated with the specified key, and passes the callback argument to any cache loaders or cache writers that are invoked in the operation.
-
-If the value is not present locally, it is requested from the cache server. If the cache server request is unsuccessful, a local cache loader is invoked.
-
-The entry value is either retrieved from the local cache or fetched by the region\u2019s locally defined cache loader.
-
-In the following example, the program uses the API to do a get for each entry that was put into the cache:
-
-``` pre
-for ( int32_t i=0; i< 100; i++) {
-    CacheableInt32Ptr res = dynCast<CacheableInt32Ptr>(regionPtr->get(i));
-}
-```
-
-## <a id="concept_2B85EC4AB9FA446998147A1539D818CC__section_80F9A9E8F8514A9FBA19106C2473B370" class="no-quick-link"></a>Bulk Get Operations Using getAll
-
-You can use the `Region::getAll` API (`Region.GetAll` for .NET) to get values for an array of keys from the local cache or server. If the value for a key is not present locally, then it is requested from the server.
-
-**Note:**
-The value returned is not copied, so multi-threaded applications should not modify the value directly, but should instead use the update methods.
-
-The getAll API also supports providing a callback argument to any cache loaders or cache writers that are invoked in the operation. See the Region API documentation for more information about using `getAll`.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/add-entry-to-cache.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/add-entry-to-cache.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/add-entry-to-cache.html.md.erb
deleted file mode 100644
index e54306a..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/add-entry-to-cache.html.md.erb
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title:  Adding an Entry to the Cache
----
-
-You can populate a native client region with cache entries using the `Region::put` or the `Region::create` API functions. Code examples demonstrate these actions.
-
-The `put` function places a new value into a region entry with the specified key, while the `create` function creates a new entry in the region. Both functions provide a user-defined parameter object to any cache writer invoked in the process, and new values for both functions are propagated to a connected cache server.
-
-## Adding Entries Using create
-
-When the put function adds an entry, the previous value is overwritten if there is already an entry associated with the specified key in the region. In the next example, the program uses the API to put 100 entries into the cache by iteratively creating keys and values, both of which are integers.
-
-``` pre
-for ( int32_t i=0; i < 100; i++ ) {
-    regionPtr->put( i, CacheableInt32::create(i) );
-}
-```
-
-## <a id="concept_26D4E6C6BC6F4AB8884E33119999656D__section_748916759F0246619CD27E7456DCA365" class="no-quick-link"></a>Bulk Put Operations Using putAll
-
-You can batch up multiple key/value pairs into a hashmap and put them into the cache with a single operation using the `Region::putAll` API function (`Region.PutAll` for .NET) . Each entry is processed for interest registration on the server, so each entry requires its own unique event ID. Updates and creates can be mixed in a `putAll` operation, so those events need to be addressed on the cache server for appropriate cache listener invocation on distributed system members. Map entries retain their original order when they are processed at the server.
-
-The following table lists the client and cache server statistics for `putAll`.
-
-<a id="concept_26D4E6C6BC6F4AB8884E33119999656D__table_4693B08B5B4D44118DC399C8826C9750"></a>
-
-| Statistic Type     | Chart Name                | Description                                                                                                                                     |
-|--------------------|---------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|
-| `CachePerfStats`   | `Putalls`                 | Total number of times a map is added or replaced in the cache as a result of a local operation. Also reports the number of `putAll` operations. |
-| `CachePerfStats`   | `putallTime`              | Total time to replace a map in the cache as a result of a local operation.                                                                      |
-| `CacheServerStats` | `putAllRequests`          | Number of `putAll` requests.                                                                                                                    |
-| `CacheServerStats` | `putAllResponses`         | Number of `putAll` responses written to the cache client.                                                                                       |
-| `CacheServerStats` | `processPutAllTime`       | Total time to process a cache client `putAll` request, including the time to put all objects into the cache.                                    |
-| `CacheServerStats` | `readPutAllRequestTime`   | Total time to read `putAll` requests.                                                                                                           |
-| `CacheServerStats` | `writePutAllResponseTime` | Total time to write `putAll` responses.                                                                                                         |
-| `CacheClientStats` | `putAll`                  | Number of `putAll` requests sent to the cache server.                                                                                           |
-| `CacheClientStats` | `sendPutAllTime`          | Total time for `sendPutAll` .                                                                                                                   |
-
-<span class="tablecap">**Table 1.** putAll Statistics for Cache Server and Client</span>
-
-The putAll API also supports providing a callback argument to any cache loaders or cache writers that are invoked in the operation.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/cpp-caching-api.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/cpp-caching-api.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/cpp-caching-api.html.md.erb
deleted file mode 100644
index fdaa372..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/cpp-caching-api.html.md.erb
+++ /dev/null
@@ -1,51 +0,0 @@
----
-title:  Working with the C++ API
----
-
-This section describes the primary classes and usage conventions for the native client C++ API. It demonstrates how to use the API to create caches and perform data serialization.
-
-The online C++ API documentation is included in the `docs/cppdocs` directory of the native client product installation. It provides extensive implementation details for the C++ structures and functions.
-
-Several example API programs are included in the `SampleCode` directory. See [QuickStart Examples and Guide](../introduction/examples-quickstart.html#examples-quickstart).
-
--   **[About the Native Client C++ API](../../nativeclient/cpp-caching-api/gfe-cpp-api.html)**
-
-    The native client C++ API allows C++ and .NET developers to programmatically create, populate, and manage a Geode distributed system. The C++ library is thread-safe, except where specified otherwise in the online API documentation.
-
--   **[Creating a Cache](../../nativeclient/cpp-caching-api/creating-cache.html)**
-
-    The code snippets in this section show cache creation.
-
--   **[Creating a Proxy Client-Side Region](../../nativeclient/cpp-caching-api/creating-region.html)**
-
-    This section provides code examples for creating and customizing proxy client-side regions.
-
--   **[Adding an Entry to the Cache](../../nativeclient/cpp-caching-api/add-entry-to-cache.html)**
-
-    You can populate a native client region with cache entries using the `Region::put` or the `Region::create` API functions. Code examples demonstrate these actions.
-
--   **[Accessing an Entry](../../nativeclient/cpp-caching-api/accessing-entry.html)**
-
-    The standard `Region::get API` method returns the value associated with the specified key, and passes the callback argument to any cache loaders or cache writers that are invoked in the operation.
-
--   **[Removing an Entry](../../nativeclient/cpp-caching-api/removing-entry.html)**
-
-    The standard `Region::remove` API removes the entry with the specified key and provides a user-defined parameter object to any `CacheWriter` or `CacheListener` invoked in the process.
-
--   **[Serializing Data](../../nativeclient/cpp-caching-api/serialization_overview.html)**
-
-    All data that Geode moves out of the local cache must be serializable.
-
--   **[Implementing User-Defined Objects in Java Clients](../../nativeclient/cpp-caching-api/user-defined-objects.html)**
-
-    You can use one of two methods to implement a user-defined object in a Java client that works with C++ clients: `Instantiator.register` and `DataSerializable`.
-
--   **[Using a Custom Class](../../nativeclient/cpp-caching-api/using-custom-class.html)**
-
-    This example shows how to use the defined `BankAccount` custom key type and the `AccountHistory` value type.
-
--   **[Creating New Statistics](../../nativeclient/cpp-caching-api/creating-new-statistics.html)**
-
-    This example provides a programmatic code sample for creating and registering new statistics.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/creating-cache.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/creating-cache.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/creating-cache.html.md.erb
deleted file mode 100644
index 59b8979..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/creating-cache.html.md.erb
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title:  Creating a Cache
----
-
-The code snippets in this section show cache creation.
-
-When you create your cache, the system automatically connects your process to the server tier. For systems with security enabled, the credentials for a connecting client are authenticated when it creates the cache. See [Security](../security/overviewsecurity.html#security) for more information about authenticated connections.
-
-## Creating the System Connection and the Cache
-
-In this example, the application creates the cache by calling the `CacheFactory::create` function, specifying the servers to connect to:
-
-``` pre
-CacheFactoryPtr cacheFactory = CacheFactory::createCacheFactory();
-    CachePtr cachePtr = cacheFactory  
-                        ->addServer("localhost", 40404)
-                        ->addServer("localhost", 40405)
-                        ->setSubscriptionEnabled(true)
-                        ->create();
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/creating-new-statistics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/creating-new-statistics.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/creating-new-statistics.html.md.erb
deleted file mode 100644
index 9a30dca..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/creating-new-statistics.html.md.erb
+++ /dev/null
@@ -1,53 +0,0 @@
----
-title:  Creating New Statistics
----
-
-This example provides a programmatic code sample for creating and registering new statistics.
-
-For information about the `gemfire_statistics` API, see [Statistics API](gfe-cpp-api.html#concept_AB12290E89CA4724AC9F51EFF7B8B8EA__section_42764C6327944514AE4A26684D7EBCB0).
-
-## Creating New Statistics Programmatically
-
-``` pre
-//Get StatisticsFactory 
-StatisticsFactory* factory = StatisticsFactory::getExistingInstance(); 
-�
-�
-//Define each StatisticDescriptor and put each in an array 
-StatisticDescriptor** statDescriptorArr = new StatisticDescriptor*[6]; 
-statDescriptorArr[0] = statFactory->createIntCounter("IntCounter",
-    "Test Statistic Descriptor Int Counter.","TestUnit"); 
-�
-statDescriptorArr[1] = statFactory->createIntGauge("IntGauge",
-    "Test Statistic Descriptor Int Gauge.","TestUnit");
-�
-statDescriptorArr[2] = statFactory->createLongCounter("LongCounter",
-    "Test Statistic Descriptor Long Counter.","TestUnit");
-�
-statDescriptorArr[3] = statFactory->createLongGauge("LongGauge",
-    "Test Statistic Descriptor Long Gauge.","TestUnit");
-�
-statDescriptorArr[4] = statFactory->createDoubleCounter("DoubleCounter",
-    "Test Statistic Descriptor Double Counter.","TestUnit");
-�
-statDescriptorArr[5] = statFactory->createDoubleGauge("DoubleGauge",
-    "Test Statistic Descriptor Double Gauge.","TestUnit");
-�
-�
-//Create a StatisticsType 
-StatisticsType* statsType = statFactory->createType("TestStatsType", 
-    "Statistics for Unit Test.",statDescriptorArr, 6); 
-�
-//Create Statistics of a given type 
-Statistics* testStat = 
-    factory->createStatistics(statsType,"TestStatistics"); 
-�
-�
-//Statistics are created and registered. Set and increment individual values 
-Int statIdIntCounter = statsType->nameToId("IntCounter"); 
-testStat->setInt(statIdIntCounter, 10 );
-testStat->incInt(statIdIntCounter, 1 );
-int currentValue = testStat->getInt(statIdIntCounter);
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/creating-region.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/creating-region.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/creating-region.html.md.erb
deleted file mode 100644
index c6f8eb1..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/creating-region.html.md.erb
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title:  Creating a Proxy Client-Side Region
----
-
-This section provides code examples for creating and customizing proxy client-side regions.
-
-**Note:**
-Creating a region through the native client API creates only a proxy client-side region. A corresponding region with the same name and path should also exist on the servers that have been configured for client connections and upon which the client will perform its operations.
-
-To create a region, you create a `RegionFactory` using the `RegionShortcut` that most closely fits your region configuration. From that, create your region, customizing the settings as region attributes as needed.
-
-## Creating a CACHING\_PROXY Region
-
-This example creates a region using a CACHING\_PROXY `RegionShortcut` with no further modifications:
-
-``` pre
-RegionFactoryPtr regionFactory = 
-            cachePtr->createRegionFactory(CACHING_PROXY);
-regionPtr = regionFactory ->create("exampleRegion");
-```
-
-## Creating a CACHING\_PROXY Region with LRU
-
-This example creates a region based on the CACHING\_PROXY RegionShortcut with two additional region attributes settings. For information on the settings, see [Region Attributes Descriptions](../client-cache/region-attributes-desc.html#region-attributes-desc).
-
-``` pre
-RegionFactoryPtr regionFactory = 
-              cachePtr->createRegionFactory(CACHING_PROXY);
-regionPtr = regionFactory->setLruEntriesLimit( 20000 )
-              ->setInitialCapacity( 20000 )
-              ->create("exampleRegion");
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/data-as-blob.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/data-as-blob.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/data-as-blob.html.md.erb
deleted file mode 100644
index 85d3209..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/data-as-blob.html.md.erb
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title:  Serializing and Accessing Data as a Blob
----
-
-If you have data that is best handled as a blob, such as structs that do not contain pointers, use the serializable type `CacheableBytes` . `CacheableBytes` is a blob class that implements the serialization for you.
-
-`CacheableBytes` also provides direct access to the blob data. Because it is not derived from the `CacheableKey` interface, `CacheableBytes` enables you to modify data in place and then put it into the region again to distribute the change.
-
-For more information, see the API documentation for `CacheableBytes.`
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/gfe-cpp-api.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/gfe-cpp-api.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/gfe-cpp-api.html.md.erb
deleted file mode 100644
index f6258fa..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/gfe-cpp-api.html.md.erb
+++ /dev/null
@@ -1,61 +0,0 @@
----
-title:  About the Native Client C++ API
----
-
-The native client C++ API allows C++ and .NET developers to programmatically create, populate, and manage a Geode distributed system. The C++ library is thread-safe, except where specified otherwise in the online API documentation.
-
-This chapter gives a general overview of the classes in the `gemfire`, `gemfire_statistics`, and `gemfire_admin` namespaces. For complete and current information on the classes listed here, see the online C++ API documentation.
-
-## <a id="concept_AB12290E89CA4724AC9F51EFF7B8B8EA__section_14B45E09CA014951AD38D0E051DF8727" class="no-quick-link"></a>Cache Classes
-
-The native client C++ API has the following cache classes:
-
--   **CacheFactory**. Use this class to create and configure a `Cache` instance. If `cache.xml` is specified, the cache is created based on the declarations loaded from that file.
--   **Cache**. Entry point to the client caching API. The cache is created by calling the `create` function of the factory class, `CacheFactory`. Regions are configured and obtained using the `Cache::createRegionFactory()` API.
-
-## <a id="concept_AB12290E89CA4724AC9F51EFF7B8B8EA__section_9F27929D85CC4EBFB29925974776C985" class="no-quick-link"></a>Region Classes
-
-The native client C++ API has the following region classes:
-
--   **Region**. Provides functions for managing regions and cached data. Use these functions to perform the following actions:
-    -   Retrieve information about the region, such as its parent region and region attribute objects.
-    -   Invalidate or destroy the region.
-    -   Create, update, invalidate and destroy region entries.
-    -   Retrieve region entry keys, entry values, and RegionEntry objects, either individually or as entire sets.
-    -   Retrieve the statistics object associated with the region.
-    -   Set and get user-defined attributes.
--   **RegionEntry**. Contains the key and value for the entry, and provides all non-distributed entry operations. This object's operations are not distributed and do not affect statistics.
-
-## <a id="concept_AB12290E89CA4724AC9F51EFF7B8B8EA__section_CEC4E57E76E84D099D0F55F49F3B64DA" class="no-quick-link"></a>Region Attribute Classes
-
-The native client C++ API has the following region attribute classes:
-
--   **RegionAttributes**. Holds all attribute values for a region and provides functions for retrieving all attribute settings. This class can be modified by the `AttributesMutator` class after region creation.
--   **AttributesMutator** . Allows modification of an existing region\u2019s attributes for application plug-ins and expiration actions. Each region has an `AttributesMutator` instance.
-
-## <a id="concept_AB12290E89CA4724AC9F51EFF7B8B8EA__section_658D04298E13459382D48544AF36A2FA" class="no-quick-link"></a>Application Plug-In Classes
-
-The native client C++ API has the following application plug-in classes:
-
--   **CacheLoader**. Loads data into a region on a cache miss.
--   **CacheWriter**. Synchronously handles region and entry events before the events occur. Entry events are `create`, `update`, `invalidate`, and `destroy`. Region events are invalidate and destroy. This class has the ability to abort events.
--   **CacheListener**. Handles region and entry events after they occur. Entry events are `create`, `update`, `invalidate`, and `destroy`. Region events are `invalidate` and `destroy`.
-
-## <a id="concept_AB12290E89CA4724AC9F51EFF7B8B8EA__section_B3479F5739B048C0BD3EDA89BE0266E0" class="no-quick-link"></a>Event Handling Classes
-
-The native client C++ API has the following event handling classes:
-
--   **RegionEvent**. Provides information about the event, such as in what region the event originated, whether the event originated in a cache remote to the event handler, and whether the event resulted from a distributed operation.
--   **EntryEvent**. Provides all available information for the `RegionEvent`, and provides entry-specific information such as the old and new entry values and whether the event resulted from a `load` operation.
-
-## <a id="concept_AB12290E89CA4724AC9F51EFF7B8B8EA__section_42764C6327944514AE4A26684D7EBCB0" class="no-quick-link"></a>Statistics API
-
-The `StatisticsType` API represents a blueprint for the same type of `Statistics`. The `StatisticsType` API is a collection of `StatisticDescriptor`. Internally, each `StatisticDescriptor` describes data of each individual statistic. `StatisticsFactory` provides functionality for creating `StatisticDescriptor`, `StatisticsType`, and `Statistics`.
-
--   **CacheStatistics** --This class defines common statistics functions. `Region` and `RegionEntry` both have functions that return a `CacheStatistics` object for accessing and resetting their statistics counts.
--   **StatisticDescriptor**. An instance of this class describes a statistic whose value is updated by an application and may be archived by the native client. Each statistic has a type of either `int`, `long`, or `double`, and either a gauge or a counter. The value of a gauge can increase and decrease, and the value of a counter strictly increases. Create an instance of `StatisticDescriptor` by calling one of these `StatisticsFactory` functions: `createDoubleCounter`, `createDoubleGauge`, `createIntCounter`, `createIntGauge`, `createLongCounter`, `createLongGauge`.
--   **StatisticsType**. An instance of this class describes a logical collection of `StatisticDescriptors`. These descriptions are used to create an instance of `Statistics`. Create an instance of `StatisticsType` by calling `StatisticsFactory::createType`.
--   **Statistics**. An instance of this class represents concrete `Statistics` of the associated `StatisticsType`. This class stores data related to all individual statistic objects. Create an instance by calling `StatisticsFactory::createStatistics`. This class has functions to get, set, and increment statistic values.
--   **StatisticsFactory**. This class provides functions for creating instances of `StatisticDescriptor`, `StatisticsType`, and `Statistics objects`. This is a singleton class, and you acquire its instance by using `StatisticsFactory::getExistingInstance`.
-
-To create new statistics, see [Creating New Statistics](creating-new-statistics.html#concept_664156CBD79C44C4B200DA2D64180A65).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/object-graphs.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/object-graphs.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/object-graphs.html.md.erb
deleted file mode 100644
index 9cced86..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/object-graphs.html.md.erb
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title:  Serializing Object Graphs
----
-
-If you have a graph of objects where each node can be serializable, the parent node can call `DataOutput::writeObject` to delegate the serialization responsibility to its child nodes. Similarly, your application can call `DataInput::readObject` to deserialize the object graph.
-
-For more information, see the API documentation for `DataOutput` and `DataInput`.
-
-



[47/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/data_serialization/auto_serialization.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/data_serialization/auto_serialization.html.md.erb b/developing/data_serialization/auto_serialization.html.md.erb
deleted file mode 100644
index 7e3dfa2..0000000
--- a/developing/data_serialization/auto_serialization.html.md.erb
+++ /dev/null
@@ -1,124 +0,0 @@
----
-title:  Using Automatic Reflection-Based PDX Serialization
----
-
-You can configure your cache to automatically serialize and deserialize domain objects without having to add any extra code to them.
-
-<a id="auto_serialization__section_E2B7719D3C1545808CC21E0FDBD2D610"></a>
-You can automatically serialize and deserialize domain objects without coding a `PdxSerializer` class. You do this by registering your domain objects with a custom `PdxSerializer` called `ReflectionBasedAutoSerializer` that uses Java reflection to infer which fields to serialize.
-
-You can also extend the ReflectionBasedAutoSerializer to customize its behavior. For example, you could add optimized serialization support for BigInteger and BigDecimal types. See [Extending the ReflectionBasedAutoSerializer](extending_the_autoserializer.html#concept_9E020566EE794A81A48A90BA798EC279) for details.
-
-**Note:**
-Your custom PDX autoserializable classes cannot use the `com.gemstone` package. If they do, the classes will be ignored by the PDX auto serializer.
-
-<a id="auto_serialization__section_C69046B44729454F8CD464B0289EFDD8"></a>
-
-**Prerequisites**
-
--   Understand generally how to configure the Geode cache.
--   Understand how PDX serialization works and how to configure your application to use `PdxSerializer`.
-
-<a id="auto_serialization__section_43F6E45FF69E470897FD9D002FBE896D"><strong>Procedure</strong></a>
-
-In your application where you manage data from the cache, provide the following configuration and code as appropriate:
-
-1.  In the domain classes that you wish to autoserialize, make sure each class has a zero-arg constructor. For example:
-
-    ``` pre
-    public PortfolioPdx(){}
-    ```
-
-2.  Using one of the following methods, set the PDX serializer to `ReflectionBasedAutoSerializer`.
-    1.  In gfsh, execute the following command prior to starting up any members that host data:
-
-        ``` pre
-        gfsh>configure pdx --auto-serializable-classes=com\.company\.domain\..*
-        ```
-
-        By using gfsh, this configuration can propagated across the cluster through the [Cluster Configuration Service](../../configuring/cluster_config/gfsh_persist.html).
-
-    2.  Alternately, in `cache.xml`:
-
-        ``` pre
-        <!-- Cache configuration configuring auto serialization behavior -->
-        <cache>
-          <pdx>
-            <pdx-serializer>
-              <class-name>
-               org.apache.geode.pdx.ReflectionBasedAutoSerializer
-              </class-name>
-              <parameter name="classes">
-              <string>com.company.domain.DomainObject</string>
-             </parameter>
-          </pdx-serializer>
-         </pdx>
-          ...
-        </cache>
-        ```
-
-        The parameter, `classes`, takes a comma-separated list of class patterns to define the domain classes to serialize. If your domain object is an aggregation of other domain classes, you need to register the domain object and each of those domain classes explicitly for the domain object to be serialized completely.
-
-    3.  Using the Java API:
-
-        ``` pre
-        Cache c = new CacheFactory()
-          .setPdxSerializer(new ReflectionBasedAutoSerializer("com.company.domain.DomainObject"))
-          .create();
-        ```
-
-3.  Customize the behavior of the `ReflectionBasedAutoSerializer` using one of the following mechanisms:
-    -   By using a class pattern string to specify the classes to auto-serialize and customize how the classes are serialized. Class pattern strings can be specified in the API by passing strings to the `ReflectionBasedAutoSerializer` constructor or by specifying them in cache.xml. See [Customizing Serialization with Class Pattern Strings](autoserialization_with_class_pattern_strings.html#concept_9B67BBE94B414B7EA63BD7E8D61D0312) for details.
-    -   By creating a subclass of `ReflectionBasedAutoSerializer` and overriding specific methods. See [Extending the ReflectionBasedAutoSerializer](extending_the_autoserializer.html#concept_9E020566EE794A81A48A90BA798EC279) for details.
-
-4.  If desired, configure the `ReflectionBasedAutoSerializer` to check the portability of the objects it is passed before it tries to autoserialize them. When this flag is set to true, the `ReflectionBasedAutoSerializer` will throw a `NonPortableClassException` error when trying to autoserialize a non-portable object. To set this, use the following configuration:
-    -   In gfsh, use the following command:
-
-        ``` pre
-        gfsh>configure pdx --portable-auto-serializable-classes=com\.company\.domain\..*
-        ```
-
-        By using gfsh, this configuration can propagated across the cluster through the [Cluster Configuration Service](../../configuring/cluster_config/gfsh_persist.html).
-    -   In cache.xml:
-
-        ``` pre
-        <!-- Cache configuration configuring auto serialization behavior -->
-        <cache>
-          <pdx>
-            <pdx-serializer>
-              <class-name>
-               org.apache.geode.pdx.ReflectionBasedAutoSerializer
-              </class-name>
-            <parameter name="classes">
-              <string>com.company.domain.DomainObject</string>
-            </parameter>
-            <parameter name="check-portability">
-              <string>true</string>
-            </parameter>
-          </pdx-serializer>
-         </pdx>
-          ...
-        </cache>
-        ```
-    -   Using the Java API:
-
-        ``` pre
-        Cache c = new CacheFactory()
-          .setPdxSerializer(new ReflectionBasedAutoSerializer(true,"com.company.domain.DomainObject"))
-          .create();
-        ```
-
-For each domain class you provide, all fields are considered for serialization except those defined as `static` or `transient` and those you explicitly exclude using the class pattern strings.
-
-**Note:**
-The `ReflectionBasedAutoSerializer` traverses the given domain object's class hierarchy to retrieve all fields to be considered for serialization. So if `DomainObjectB` inherits from `DomainObjectA`, you only need to register `DomainObjectB` to have all of `DomainObjectB` serialized.
-
--   **[Customizing Serialization with Class Pattern Strings](../../developing/data_serialization/autoserialization_with_class_pattern_strings.html)**
-
-    Use class pattern strings to name the classes that you want to serialize using Geode's reflection-based autoserializer and to specify object identity fields and to specify fields to exclude from serialization.
-
--   **[Extending the ReflectionBasedAutoSerializer](../../developing/data_serialization/extending_the_autoserializer.html)**
-
-    You can extend the `ReflectionBasedAutoSerializer` to handle serialization in a customized manner. This section provides an overview of the available method-based customization options and an example of extending the serializer to support BigDecimal and BigInteger types.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/data_serialization/autoserialization_with_class_pattern_strings.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/data_serialization/autoserialization_with_class_pattern_strings.html.md.erb b/developing/data_serialization/autoserialization_with_class_pattern_strings.html.md.erb
deleted file mode 100644
index ba18558..0000000
--- a/developing/data_serialization/autoserialization_with_class_pattern_strings.html.md.erb
+++ /dev/null
@@ -1,68 +0,0 @@
----
-title:  Customizing Serialization with Class Pattern Strings
----
-
-Use class pattern strings to name the classes that you want to serialize using Geode's reflection-based autoserializer and to specify object identity fields and to specify fields to exclude from serialization.
-
-The class pattern strings used to configured the `ReflectionBasedAutoSerializer` are standard regular expressions. For example, this expression would select all classes defined in the `com.company.domain` package and its subpackages:
-
-``` pre
-com\.company\.domain\..*
-```
-
-You can augment the pattern strings with a special notation to define fields to exclude from serialization and to define fields to mark as PDX identity fields. The full syntax of the pattern string is:
-
-``` pre
-<class pattern> [# (identity|exclude) = <field pattern>]... [, <class pattern>...]
-```
-
-The following example pattern string sets these PDX serialization criteria:
-
--   Classes with names matching the pattern `com.company.DomainObject.*` are serialized. In those classes, fields beginning with `id` are marked as identity fields and fields named `creationDate` are not serialized.
--   The class `com.company.special.Patient` is serialized. In the class, the field, `ssn` is marked as an identity field
-
-``` pre
-com.company.DomainObject.*#identity=id.*#exclude=creationDate, 
-com.company.special.Patient#identity=ssn
-```
-
-**Note:**
-There is no association between the `identity` and `exclude` options, so the pattern above could also be expressed as:
-
-``` pre
-com.company.DomainObject.*#identity=id.*, com.company.DomainObject.*#exclude=creationDate, 
-com.company.special.Patient#identity=ssn
-            
-```
-
-**Note:**
-The order of the patterns is not relevant. All defined class patterns are used when determining whether a field should be considered as an identity field or should be excluded.
-
-Examples:
-
--   This XML uses the example pattern shown above:
-
-    ``` pre
-    <parameter name="classes">
-      <string>com.company.DomainObject.*#identity=id.*#exclude=creationDate, 
-    com.company.special.Patient#identity=ssn</string>
-    </parameter>
-    ```
-
--   This application code sets the same pattern:
-
-    ``` pre
-    classPatterns.add("com.company.DomainObject.*#identity=id.*#exclude=creationDate,
-       com.company.special.Patient#identity=ssn");
-    ```
-
--   This application code has the same effect:
-
-    ``` pre
-     Cache c = new CacheFactory().set("cache-xml-file", cacheXmlFileName)
-         .setPdxSerializer(new ReflectionBasedAutoSerializer("com.foo.DomainObject*#identity=id.*",
-             "com.company.DomainObject.*#exclude=creationDate","com.company.special.Patient#identity=ssn"))
-         .create();
-    ```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/data_serialization/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/data_serialization/chapter_overview.html.md.erb b/developing/data_serialization/chapter_overview.html.md.erb
deleted file mode 100644
index 5ef0877..0000000
--- a/developing/data_serialization/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title:  Data Serialization
----
-
-Data that you manage in Geode must be serialized and deserialized for storage and transmittal between processes. You can choose among several options for data serialization.
-
--   **[Overview of Data Serialization](../../developing/data_serialization/data_serialization_options.html)**
-
-    Geode offers serialization options other than Java serialization that give you higher performance and greater flexibility for data storage, transfers, and language types.
-
--   **[Geode PDX Serialization](../../developing/data_serialization/gemfire_pdx_serialization.html)**
-
-    Geode's Portable Data eXchange (PDX) is a cross-language data format that can reduce the cost of distributing and serializing your objects. PDX stores data in named fields that you can access individually, to avoid the cost of deserializing the entire data object. PDX also allows you to mix versions of objects where you have added or removed fields.
-
--   **[Geode Data Serialization (DataSerializable and DataSerializer)](../../developing/data_serialization/gemfire_data_serialization.html)**
-
-    Geode's `DataSerializable` interface gives you quick serialization of your objects.
-
--   **[Standard Java Serialization](../../developing/data_serialization/java_serialization.html)**
-
-    You can use standard Java serialization for data you only distribute between Java applications. If you distribute your data between non-Java clients and Java servers, you need to do additional programming to get the data between the various class formats.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/data_serialization/data_serialization_options.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/data_serialization/data_serialization_options.html.md.erb b/developing/data_serialization/data_serialization_options.html.md.erb
deleted file mode 100644
index 7402ee7..0000000
--- a/developing/data_serialization/data_serialization_options.html.md.erb
+++ /dev/null
@@ -1,51 +0,0 @@
----
-title:  Overview of Data Serialization
----
-
-Geode offers serialization options other than Java serialization that give you higher performance and greater flexibility for data storage, transfers, and language types.
-
-<a id="data_serialization_options__section_B1BDB0E7F6814DFD8BACD8D8C5CAA81B"></a>
-All data that Geode moves out of the local cache must be serializable. However, you do not necessarily need to implement `java.io.Serializable` since other serialization options are available in Geode. Region data that must be serializable falls under the following categories:
-
--   Partitioned regions
--   Distributed regions
--   Regions that are persisted or overflowed to disk
--   Server or client regions in a client/server installation
--   Regions configured with a gateway sender for distributing events in a multi-site installation
--   Regions that receive events from remote caches
--   Regions that provide function arguments and results
-
-**Note:**
-If you are storing objects with the [HTTP Session Management Modules](../../tools_modules/http_session_mgmt/chapter_overview.html), these objects must be serializable since they are serialized before being stored in the region.
-
-To minimize the cost of serialization and deserialization, Geode avoids changing the data format whenever possible. This means your data might be stored in the cache in serialized or deserialized form, depending on how you use it. For example, if a server acts only as a storage location for data distribution between clients, it makes sense to leave the data in serialized form, ready to be transmitted to clients that request it. Partitioned region data is always initially stored in serialized form.
-
-## <a id="data_serialization_options__section_691C2CF5A4E24D599070A7AADEDF2BEC" class="no-quick-link"></a>Data Serialization Options
-
-<a id="data_serialization_options__section_44CC2DEEDA0F41D49D416ABA921A6436"></a>
-
-With Geode, you have the option to serialize your domain objects automatically or to implement serialization using one of Geode's interfaces. Enabling automatic serialization means that domain objects are serialized and deserialized without your having to make any code changes to those objects. This automatic serialization is performed by registering your domain objects with a custom `PdxSerializer` called the `ReflectionBasedAutoSerializer`, which uses Java reflection to infer which fields to serialize.
-
-If autoserialization does not meet your needs, you can serialize your objects by implementing one of the Geode interfaces, `PdxSerializable` or `DataSerializable`. You can use these interfaces to replace any standard Java data serialization for better performance. If you cannot or do not want to modify your domain classes, each interface has an alternate serializer class, `PdxSerializer` and `DataSerializer`. To use these, you create your custom serializer class and then associate it with your domain class in the Geode cache configuration.
-
-Geode Data serialization is about 25% faster than PDX serialization, however using PDX serialization will help you to avoid the even larger costs of performing deserialization.
-
-<a id="data_serialization_options__section_993B4A298874459BB4A8A0A9811854D9"></a><a id="data_serialization_options__table_ccf00c9f-9b98-47f7-ab30-3d23ecaff0a1"></a>
-
-| Capability                                                                                                                       | Geode Data Serializable | Geode PDX Serializable |
-|----------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------|-----------------------------------------------------|
-| Implements Java Serializable.                                                                                                    | X                                                    | �                                                   |
-| Handles multiple versions of application domain objects, providing the versions differ by the addition or subtraction of fields. | �                                                    | X                                                   |
-| Provides single field access of serialized data, without full deserialization - supported also for OQL querying.                 | �                                                    | X                                                   |
-| Automatically ported to other languages by Geode                                                    | �                                                    | X                                                   |
-| Works with .NET clients.                                                                                                         | X                                                    | X                                                   |
-| Works with C++ clients.                                                                                                         | X                                                    | X                                                   |
-| Works with Geode delta propagation.                                                                 | X                                                    | X (See note below.)                                 |
-
-<span class="tablecap">**Table 1.** Serialization Options: Comparison of Features</span>
-
-**Note:** By default, you can use Geode delta propagation with PDX serialization. However, delta propagation will not work if you have set the Geode property `read-serialized` to "true". In terms of deserialization, to apply a change delta propagation requires a domain class instance and the `fromDelta `method. If you have set `read-serialized` to true, then you will receive a `PdxInstance` instead of a domain class instance and `PdxInstance` does not have the `fromDelta` method required for delta propagation.
-
-## <a id="data_serialization_options__section_D90C2C09B95C40B6803CF202CF8008BF" class="no-quick-link"></a>Differences between Geode Serialization (PDX or Data Serializable) and Java Serialization
-
-Geode serialization (either PDX Serialization or Data Serialization) does not support circular object graphs whereas Java serialization does. In Geode serialization, if the same object is referenced more than once in an object graph, the object is serialized for each reference, and deserialization produces multiple copies of the object. By contrast in this situation, Java serialization serializes the object once and when deserializing the object, it produces one instance of the object with multiple references.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/data_serialization/extending_the_autoserializer.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/data_serialization/extending_the_autoserializer.html.md.erb b/developing/data_serialization/extending_the_autoserializer.html.md.erb
deleted file mode 100644
index 35cbe66..0000000
--- a/developing/data_serialization/extending_the_autoserializer.html.md.erb
+++ /dev/null
@@ -1,106 +0,0 @@
----
-title:  Extending the ReflectionBasedAutoSerializer
----
-
-You can extend the `ReflectionBasedAutoSerializer` to handle serialization in a customized manner. This section provides an overview of the available method-based customization options and an example of extending the serializer to support BigDecimal and BigInteger types.
-
-## <a id="concept_9E020566EE794A81A48A90BA798EC279__section_378C0C68A1B342DD9D754DDBDC4874B3" class="no-quick-link"></a>Reasons to Extend the ReflectionBasedAutoSerializer
-
-One of the main use cases for extending the `ReflectionBasedAutoSerializer` is that you want it to handle an object that would currently need to be handled by standard Java serialization. There are several issues with having to use standard Java serialization that can be addressed by extending the PDX `ReflectionBasedAutoSerializer`.
-
--   Each time we transition from a Geode serialized object to an object that will be Java I/O serialized, extra data must get serialized. This can cause a great deal of serialization overhead. This is why it is worth extending the `ReflectionBasedAutoSerializer` to handle any classes that normally would have to be Java I/O serialized.
--   Expanding the number of classes that can use the `ReflectionBasedAutoSerializer` is beneficial when you encounter object graphs. After we use Java I/O serialization on an object, any objects under that object in the object graph will also have to be Java I/O serialized. This includes objects that normally would have been serialized using PDX or `DataSerializable`.
--   If standard Java I/O serialization is done on an object and you have enabled check-portability, then an exception will be thrown. Even if you are not concerned with the object's portability, you can use this flag to find out what classes would use standard Java serialization (by getting an exception on them) and then enhancing your auto serializer to handle them.
-
-## <a id="concept_9E020566EE794A81A48A90BA798EC279__section_A739691C60FB4EB291289AADCD66C675" class="no-quick-link"></a>Overriding ReflectionBasedAutoSerializer Behavior
-
-You can customize the specific behaviors in `ReflectionBasedAutoSerializer` by overriding the following methods:
-
--   **`isClassAutoSerialized`** customizes which classes to autoserialize.
--   **`isFieldIncluded`** specifies which fields of a class to autoserialize.
--   **`getFieldName`** defines the specific field names that will be generated during autoserialization.
--   **`isIdentifyField`** controls which field is marked as the identity field. Identity fields are used when a PdxInstance computes its hash code to determine whether it is equal to another object.
--   **`getFieldType`** determines the field type that will be used when autoserializing the given field.
--   **`transformFieldValue`** controls whether specific field values of a PDX object can be transformed during serialization.
--   **`writeTransform`** controls what field value is written during auto serialization.
--   **`readTransform`** controls what field value is read during auto deserialization.
-
-These methods are only called the first time the `ReflectionBasedAutoSerializer` sees a new class. The results will be remembered and used the next time the same class is seen.
-
-For details on these methods and their default behaviors, see the JavaDocs on [ReflectionBasedAutoSerializer](/releases/latest/javadoc/org/apache/geode/pdx/ReflectionBasedAutoSerializer.html) for details.
-
-## <a id="concept_9E020566EE794A81A48A90BA798EC279__section_7C4CC39FD82A48A9B5F8376522078192" class="no-quick-link"></a>Example of Optimizing Autoserialization of BigInteger and BigDecimal Types
-
-This section provides an example of extending the `ReflectionBasedAutoSerializer` to optimize the automatic serialization of BigInteger and BigDecimal types.
-
-The following code sample illustrates a subclass of the `ReflectionBasedAutoSerializer` that optimizes BigInteger and BigDecimal autoserialization:
-
-``` pre
-public static class BigAutoSerializer extends ReflectionBasedAutoSerializer {
-   public BigAutoSerializer(Boolean checkPortability, string\u2026 patterns) {
-    super(checkPortability, patterns);
-}
-
-@Override
-public FieldType get FieldType(Field f, Class<?> clazz) {
-   if (f.getType().equals(BigInteger.class)) {
-        return FieldType.BYTE_ARRAY; 
-      } else if (f.getType().equals(BigDecimal.class)) {
-        return FieldType.STRING; 
-      } else {
-        return super.getFieldType(f, clazz);
-      }
-    }
-@Override
-    public boolean transformFieldValue(Field f, Class<?> clazz) {
-      if (f.getType().equals(BigInteger.class)) {
-        return true;
-      } else if (f.getType().equals(BigDecimal.class)) {
-        return true;
-      } else {
-        return super.transformFieldValue(f, clazz);
-      }
-    }
-
-@Override
-    public Object writeTransform(Field f, Class<?> clazz, Object originalValue) {
-      if (f.getType().equals(BigInteger.class)) {
-        byte[] result = null;
-        if (originalValue != null) {
-          BigInteger bi = (BigInteger)originalValue;
-          result = bi.toByteArray();
-        }
-        return result;
-      } else if (f.getType().equals(BigDecimal.class)) {
-        Object result = null;
-        if (originalValue != null) {
-          BigDecimal bd = (BigDecimal)originalValue;
-          result = bd.toString();
-        }
-        return result;
-      } else {
-        return super.writeTransform(f, clazz, originalValue);
-      }
-    }
-
-@Override
-    public Object readTransform(Field f, Class<?> clazz, Object serializedValue) {
-      if (f.getType().equals(BigInteger.class)) {
-        BigInteger result = null;
-        if (serializedValue != null) {
-          result = new BigInteger((byte[])serializedValue);
-        }
-        return result;
-      } else if (f.getType().equals(BigDecimal.class)) {
-        BigDecimal result = null;
-        if (serializedValue != null) {
-          result = new BigDecimal((String)serializedValue);
-        }
-        return result;
-      } else {
-        return super.readTransform(f, clazz, serializedValue);
-      }
-    }
-    
-  }
-```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/data_serialization/gemfire_data_serialization.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/data_serialization/gemfire_data_serialization.html.md.erb b/developing/data_serialization/gemfire_data_serialization.html.md.erb
deleted file mode 100644
index 58aeb7e..0000000
--- a/developing/data_serialization/gemfire_data_serialization.html.md.erb
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title:  Geode Data Serialization (DataSerializable and DataSerializer)
----
-
-Geode's `DataSerializable` interface gives you quick serialization of your objects.
-
-## <a id="gemfire_data_serialization__section_0C84D6BF5E9748CB865E6BB944A077DE" class="no-quick-link"></a>Data Serialization with the DataSerializable Interface
-
-Geode's `DataSerializable` interface gives you faster and more compact data serialization than the standard Java serialization or Geode PDX serialization. However, while Geode `DataSerializable` interface is generally more performant than Geode's `PdxSerializable`, it requires full deserialization on the server and then reserialization to send the data back to the client.
-
-You can further speed serialization by registering the instantiator for your `DataSerializable` class through `Instantiator`, eliminating the need for reflection to find the right serializer. You can provide your own serialization through the API.
-
-The recommended way to register your custom `Instantiator` is by specifying it in the `serialization-registration` element of cache.xml.
-
-For more information, see the online Java documentation for `DataSerializable` and `DataSerializer`.
-
-**Example cache.xml:**
-
-The following provides an example of how to register an instantiator using cache.xml.
-
-``` pre
-<serialization-registration>
-<instantiator id="30">
-   <class-name>com.package.MyClass</class-name>
-</instantiator>
-</serialization-registration>
-```
-
-In addition to speeding standard object serialization, you can use the `DataSerializable` interface to serialize any custom objects you store in the cache.
-
-## <a id="gemfire_data_serialization__section_B21408E7090C41B08BF300146F87648B" class="no-quick-link"></a>Serializing Your Domain Object with DataSerializer
-
-You can also use `DataSerializer` to serialize domain objects. It serializes data in the same way as `DataSerializable` but allows you to serialize classes without modifying the domain class code.
-
-See the JavaDocs on [DataSerializable](/releases/latest/javadoc/org/apache/geode/DataSerializable.html) and [DataSerializer](/releases/latest/javadoc/org/apache/geode/DataSerializer.html) for more information.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/data_serialization/gemfire_pdx_serialization.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/data_serialization/gemfire_pdx_serialization.html.md.erb b/developing/data_serialization/gemfire_pdx_serialization.html.md.erb
deleted file mode 100644
index 1053618..0000000
--- a/developing/data_serialization/gemfire_pdx_serialization.html.md.erb
+++ /dev/null
@@ -1,47 +0,0 @@
----
-title:  Geode PDX Serialization
----
-
-Geode's Portable Data eXchange (PDX) is a cross-language data format that can reduce the cost of distributing and serializing your objects. PDX stores data in named fields that you can access individually, to avoid the cost of deserializing the entire data object. PDX also allows you to mix versions of objects where you have added or removed fields.
-
--   **[Geode PDX Serialization Features](../../developing/data_serialization/PDX_Serialization_Features.html)**
-
-    Geode PDX serialization offers several advantages in terms of functionality.
-
--   **[High Level Steps for Using PDX Serialization](../../developing/data_serialization/use_pdx_high_level_steps.html)**
-
-    To use PDX serialization, you can configure and use Geode's reflection-based autoserializer, or you can program the serialization of your objects by using the PDX interfaces and classes.
-
--   **[Using Automatic Reflection-Based PDX Serialization](../../developing/data_serialization/auto_serialization.html)**
-
-    You can configure your cache to automatically serialize and deserialize domain objects without having to add any extra code to them.
-
--   **[Serializing Your Domain Object with a PdxSerializer](../../developing/data_serialization/use_pdx_serializer.html)**
-
-    For a domain object that you cannot or do not want to modify, use the `PdxSerializer` class to serialize and deserialize the object's fields. You use one `PdxSerializer` implementation for the entire cache, programming it for all of the domain objects that you handle in this way.
-
--   **[Implementing PdxSerializable in Your Domain Object](../../developing/data_serialization/use_pdx_serializable.html)**
-
-    For a domain object with source that you can modify, implement the `PdxSerializable` interface in the object and use its methods to serialize and deserialize the object's fields.
-
--   **[Programming Your Application to Use PdxInstances](../../developing/data_serialization/program_application_for_pdx.html)**
-
-    A `PdxInstance` is a light-weight wrapper around PDX serialized bytes. It provides applications with run-time access to fields of a PDX serialized object.
-
--   **[Adding JSON Documents to the Geode Cache](../../developing/data_serialization/jsonformatter_pdxinstances.html)**
-
-    The `JSONFormatter` API allows you to put JSON formatted documents into regions and retrieve them later by storing the documents internally as PdxInstances.
-
--   **[Using PdxInstanceFactory to Create PdxInstances](../../developing/data_serialization/using_PdxInstanceFactory.html)**
-
-    You can use the `PdxInstanceFactory` interface to create a `PdxInstance` from raw data when the domain class is not available on the server.
-
--   **[Persisting PDX Metadata to Disk](../../developing/data_serialization/persist_pdx_metadata_to_disk.html)**
-
-    Geode allows you to persist PDX metadata to disk and specify the disk store to use.
-
--   **[Using PDX Objects as Region Entry Keys](../../developing/data_serialization/using_pdx_region_entry_keys.html)**
-
-    Using PDX objects as region entry keys is highly discouraged.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/data_serialization/java_serialization.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/data_serialization/java_serialization.html.md.erb b/developing/data_serialization/java_serialization.html.md.erb
deleted file mode 100644
index 14b9ea3..0000000
--- a/developing/data_serialization/java_serialization.html.md.erb
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title:  Standard Java Serialization
----
-
-You can use standard Java serialization for data you only distribute between Java applications. If you distribute your data between non-Java clients and Java servers, you need to do additional programming to get the data between the various class formats.
-
-<a id="java_serialization__section_AD2524E4E3C145D4A2CEB379DD8E9389"></a>
-Standard Java types are serializable by definition. For your domain classes, implement `java.io.Serializable`, then make sure to mark your transient and static variables as needed for your objects. For information, see the online documentation for `java.io.Serializable` for your Java version.
-
-Mixing `DataSerializable` with `Serializable` or `PdxSerializable` use on the same data can result in increased memory use and lower throughput than using just `Serializable` on the entire data, especially if the `Serializable` entries are in collections. The bigger the data collection, the lower the throughput as the metadata for the collection entries is not shared when using `DataSerializable`.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/data_serialization/jsonformatter_pdxinstances.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/data_serialization/jsonformatter_pdxinstances.html.md.erb b/developing/data_serialization/jsonformatter_pdxinstances.html.md.erb
deleted file mode 100644
index 59ceb3c..0000000
--- a/developing/data_serialization/jsonformatter_pdxinstances.html.md.erb
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title:  Adding JSON Documents to the Geode Cache
----
-
-The `JSONFormatter` API allows you to put JSON formatted documents into regions and retrieve them later by storing the documents internally as PdxInstances.
-
-Geode now supports the use of JSON formatted documents natively. When you add a JSON document to a Geode cache, you call the JSONFormatter APIs to transform them into the PDX format (as a `PdxInstance`), which enables Geode to understand the JSON document at a field level.
-
-In terms of querying and indexing, because the documents are stored internally as PDX, applications can index on any field contained inside the JSON document including any nested field (within JSON objects or JSON arrays.) Any queries run on these stored documents will return PdxInstances as results. To update a JSON document stored in Geode , you can execute a function on the PdxInstance.
-
-You can then use the `JSONFormatter` to convert the PdxInstance results back into the JSON document.
-
-`JSONFormatter` uses a streaming parser ([Jackson](http://wiki.fasterxml.com/JacksonHome), JSON processor) to turn JSON documents into the optimized PDX format. To use the JSONFormatter, make sure that `$GEMFIRE/lib/server-dependencies.jar` is available in your application's CLASSPATH.
-
-The `JSONFormatter` class has four static methods that are used to convert JSON document into PdxInstances and then to convert those PdxInstances back into JSON document.
-
-You need to call the following methods before putting any JSON document into the Geode region:
-
--   `fromJSON`. Creates a PdxInstance from a JSON byte array. Returns the PdxInstance.
--   `fromJSON`. Creates a PdxInstance from a JSON string. Returns the PdxInstance.
-
-After putting the JSON document into a region as a PdxInstance, you can execute standard Geode queries and create indexes on the JSON document in the same manner you would query or index any other Geode PdxInstance.
-
-After executing a Geode query or calling `region.get`, you can use the following methods to convert a PdxInstance back into the JSON format:
-
--   `toJSON`. Reads a PdxInstance and returns a JSON string.
--   `toJSONByteArray`. Reads a PdxInstance and returns a JSON byte array.
-
-For more information on using the JSONFormatter, see the Java API documentation for `org.apache.geode.pdx.JSONFormatter`.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/data_serialization/persist_pdx_metadata_to_disk.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/data_serialization/persist_pdx_metadata_to_disk.html.md.erb b/developing/data_serialization/persist_pdx_metadata_to_disk.html.md.erb
deleted file mode 100644
index 37b11fc..0000000
--- a/developing/data_serialization/persist_pdx_metadata_to_disk.html.md.erb
+++ /dev/null
@@ -1,36 +0,0 @@
----
-title:  Persisting PDX Metadata to Disk
----
-
-Geode allows you to persist PDX metadata to disk and specify the disk store to use.
-
-<a id="persist_pdx_metadata_to_disk__section_7F357A8E56B54BFB9A5778C0F89E034E"></a>
-**Prerequisites**
-
--   Understand generally how to configure the Geode cache. See [Basic Configuration and Programming](../../basic_config/book_intro.html).
--   Understand how Geode disk stores work. See [Disk Storage](../../managing/disk_storage/chapter_overview.html).
-
-**Procedure**
-
-1.  Set the `<pdx>` attribute `persistent` to true in your cache configuration. This is required for caches that use PDX with persistent regions and with regions that use a gateway sender to distribute events across a WAN.. Otherwise, it is optional.
-2.  (Optional) If you want to use a disk store that is not the Geode default disk store, set the `<pdx>` attribute `disk-store-name` to the name of your non-default disk store.
-    **Note:**
-    If you are using PDX serialized objects as region entry keys and you are using persistent regions, then you must configure your PDX disk store to be a different one than the disk store used by the persistent regions.
-
-3.  (Optional) If you later want to rename the PDX types that are persisted to disk, you can do so on your offline disk-stores by executing the `pdx                             rename` command. See [pdx rename](../../tools_modules/gfsh/command-pages/pdx.html).
-
-**Example cache.xml:**
-
-This example `cache.xml` enables PDX persistence and sets a non-default disk store in a server cache configuration:
-
-``` pre
-  <pdx read-serialized="true" 
-       persistent="true" disk-store-name="SerializationDiskStore">
-    <pdx-serializer>
-      <class-name>pdxSerialization.defaultSerializer</class-name>
-    </pdx-serializer>
-  </pdx>
-  <region ...
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/data_serialization/program_application_for_pdx.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/data_serialization/program_application_for_pdx.html.md.erb b/developing/data_serialization/program_application_for_pdx.html.md.erb
deleted file mode 100644
index 9bfbe12..0000000
--- a/developing/data_serialization/program_application_for_pdx.html.md.erb
+++ /dev/null
@@ -1,90 +0,0 @@
----
-title:  Programming Your Application to Use PdxInstances
----
-
-A `PdxInstance` is a light-weight wrapper around PDX serialized bytes. It provides applications with run-time access to fields of a PDX serialized object.
-
-<a id="program_application_for_pdx__section_7F357A8E56B54BFB9A5778C0F89E034E"></a>
-You can configure your cache to return a `PdxInstance` when a PDX serialized object is deserialized instead of deserializing the object to a domain class. You can then program your application code that reads your entries to handle `PdxInstance`s fetched from the cache.
-
-**Note:**
-This applies only to entry retrieval that you explicitly code using methods like `EntryEvent.getNewValue` and `Region.get`, as you do inside functions or in cache listener code. This does not apply to querying because the query engine retrieves the entries and handles object access for you.
-
-If you configure your cache to allow PDX serialized reads, a fetch from the cache returns the data in the form it is found. If the object is not serialized, the fetch returns the domain object. If the object is serialized, the fetch returns the `PdxInstance` for the object.
-
-**Note:**
-If you are using `PdxInstance`s, you cannot use delta propagation to apply changes to PDX serialized objects.
-
-For example, in client/server applications that are programmed and configured to handle all data activity from the client, PDX serialized reads done on the server side will always return a `PdxInstance`. This is because all of data is serialized for transfer from the client, and you are not performing any server-side activities that would deserialize the objects in the server cache.
-
-In mixed situations, such as where a server cache is populated from client operations and also from data loads done on the server side, fetches done on the server can return a mix of `PdxInstance`s and domain objects.
-
-When fetching data in a cache with PDX serialized reads enabled, the safest approach is to code to handle both types, receiving an `Object` from the fetch operation, checking the type and casting as appropriate. However, if you know that the class is not available in the JVM, then you can avoid performing the type check.
-
-`PdxInstance` overrides any custom implementation you might have coded for your object's `equals` and `hashcode` methods. Make sure you have marked at least one identity field when writing PDX serialized objects. If you do not set as least one identity field, then the PdxInstance`equals` and `hashCode` methods will use all PDX fields to compare objects and consequently, will not perform as well.
-
-<a id="program_application_for_pdx__section_03F8918B4CAD49CCA1823FAAE25D53A8"></a>
-
-**Prerequisites**
-
--   Understand generally how to configure the Geode cache. See [Basic Configuration and Programming](../../basic_config/book_intro.html#basic_config_management).
-
-<a id="program_application_for_pdx__section_B3C7C7629DFD4483B32B27F84D64DFCF"></a>
-
-**Procedure**
-
-In your application where you fetch data from the cache, provide the following configuration and code as appropriate:
-
-1.  In the cache.xml file of the member where entry fetches are run, set the `<pdx>` `read-serialized` attribute to true.
-    Data is not necessarily accessed on the member that you have coded for it. For example, if a client application runs a function on a server, the actual data access is done on the server, so you set `read-serialized` to true on the server.
-
-    For example:
-
-    ``` pre
-    // Cache configuration setting PDX read behavior 
-    <cache>
-      <pdx read-serialized="true" />
-      ...
-    </cache>
-                                
-    ```
-
-2.  Write the application code that fetches data from the cache to handle a `PdxInstance`. If you are sure you will only retrieve `PdxInstance`s from the cache, you can code only for that. In many cases, a `PdxInstance` or a domain object may be returned from your cache entry retrieval operation, so you should check the object type and handle each possible type.
-
-    For example:
-
-    ``` pre
-    // put/get code with serialized read behavior
-    // put is done as normal
-    myRegion.put(myKey, myPdxSerializableObject);
-
-    // get checks Object type and handles each appropriately
-    Object myObject = myRegion.get(myKey);
-    if (myObject instanceof PdxInstance) {
-      // get returned PdxInstance instead of domain object    
-      PdxInstance myPdxInstance = (PdxInstance)myObject;
-
-      // PdxInstance.getField deserializes the field, but not the object
-      String fieldValue = myPdxInstance.getField("stringFieldName"); 
-
-      // Update a field and put it back into the cache 
-      // without deserializing the entire object
-      WritablePdxInstance myWritablePdxI = myPdxInstance.createWriter();
-      myWritablePdxI.setField("fieldName", fieldValue);
-      region.put(key, myWritablePdxI);
-
-      // Deserialize the entire object if needed, from the PdxInstance
-      DomainClass myPdxObject = (DomainClass)myPdxInstance.getObject();
-    }
-    else if (myObject instanceof DomainClass) {
-      // get returned instance of domain object  
-      // code to handle domain object instance  
-      ...  
-    }
-    ...
-    ```
-
-    **Note:**
-    Due to a limitation with PDX, if your PDX-enabled cache contains TreeSet domain objects, you should implement a Comparator that can handle both your domain objects and PdxInstance objects. You will also need to make the domain classes available on the server.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/data_serialization/use_pdx_high_level_steps.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/data_serialization/use_pdx_high_level_steps.html.md.erb b/developing/data_serialization/use_pdx_high_level_steps.html.md.erb
deleted file mode 100644
index f47e81f..0000000
--- a/developing/data_serialization/use_pdx_high_level_steps.html.md.erb
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title:  High Level Steps for Using PDX Serialization
----
-
-To use PDX serialization, you can configure and use Geode's reflection-based autoserializer, or you can program the serialization of your objects by using the PDX interfaces and classes.
-
-<a id="concept_A7C8890826394B4293C036DD739835BD__section_7F357A8E56B54BFB9A5778C0F89E034E"></a>
-Optionally, program your application code to deserialize individual fields out of PDX representations of your serialized objects. You may also need to persist your PDX metadata to disk for recovery on startup.
-
-**Procedure**
-
-1.  Use one of these serialization options for each object type that you want to serialize using PDX serialization:
-    -   [Using Automatic Reflection-Based PDX Serialization](auto_serialization.html)
-    -   [Serializing Your Domain Object with a PdxSerializer](use_pdx_serializer.html)
-    -   [Implementing PdxSerializable in Your Domain Object](use_pdx_serializable.html)
-
-2.  To ensure that your servers do not need to load the application classes, set the `pdx` `read-serialized` attribute to true. In gfsh, execute the following command before starting up your servers:
-
-    ``` pre
-    gfsh>configure pdx --read-serialized=true
-    ```
-
-    By using gfsh, this configuration can propagated across the cluster through the [Cluster Configuration Service](../../configuring/cluster_config/gfsh_persist.html). Alternately, you would need to configure `pdx read-serialized` in each server's `cache.xml` file.
-
-3.  If you are storing any Geode data on disk, then you must configure PDX serialization to use persistence. See [Persisting PDX Metadata to Disk](persist_pdx_metadata_to_disk.html) for more information.
-4.  (Optional) Wherever you run explicit application code to retrieve and manage your cached entries, you may want to manage your data objects without using full deserialization. To do this, see [Programming Your Application to Use PdxInstances](program_application_for_pdx.html).
-
-## PDX and Multi-Site (WAN) Deployments
-
-For multisite (WAN) installations only-- if you will use PDX serialization in any of your WAN-enabled regions, for each distributed system, you must choose a unique integer between 0 (zero) and 255 and set the `distributed-system-id` in every member's `gemfire.properties` file. See [Configuring a Multi-site (WAN) System](../../topologies_and_comm/multi_site_configuration/setting_up_a_multisite_system.html).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/data_serialization/use_pdx_serializable.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/data_serialization/use_pdx_serializable.html.md.erb b/developing/data_serialization/use_pdx_serializable.html.md.erb
deleted file mode 100644
index 948112b..0000000
--- a/developing/data_serialization/use_pdx_serializable.html.md.erb
+++ /dev/null
@@ -1,98 +0,0 @@
----
-title:  Implementing PdxSerializable in Your Domain Object
----
-
-For a domain object with source that you can modify, implement the `PdxSerializable` interface in the object and use its methods to serialize and deserialize the object's fields.
-
-<a id="use_pdx_serializable__section_7F357A8E56B54BFB9A5778C0F89E034E"></a>
-**Procedure**
-
-1.  In your domain class, implement `PdxSerializable`, importing the required `org.apache.geode.pdx` classes.
-
-    For example:
-
-    ``` pre
-    import org.apache.geode.pdx.PdxReader;
-    import org.apache.geode.pdx.PdxSerializable;
-    import org.apache.geode.pdx.PdxWriter;
-
-    public class PortfolioPdx implements PdxSerializable {
-      ...
-    ```
-
-2.  If your domain class does not have a zero-arg constructor, create one for it.
-
-    For example:
-
-    ``` pre
-    public PortfolioPdx(){}
-    ```
-
-3.  Program `PdxSerializable.toData.`
-    1.  Write each standard Java data field of your domain class using the `PdxWriter` write methods. Geode automatically provides `PdxWriter` to the `toData` method for `PdxSerializable` objects.
-    2.  Call the `PdxWriter` `markIdentifyField` method for each field you want to have Geode use to identify your object. Put this after the field's write method. Geode uses this information to compare objects for operations like distinct queries. If you do not set as least one identity field, then the `equals` and `hashCode` methods will use all PDX fields to compare objects and consequently, will not perform as well. It is important that the fields used by your `equals` and `hashCode` implementations are the same fields that you mark as identity fields.
-    3.  For a particular version of your class, you need to consistently write the same named field each time. The field names or number of fields must not change from one instance to another for the same class version.
-    4.  For best performance, do fixed width fields first and then variable length fields.
-
-        Example `toData` code:
-
-        ``` pre
-        // PortfolioPdx fields
-          private int id;
-          private String pkid;
-          private Map<String, PositionPdx> positions;
-          private String type;
-          private String status;
-          private String[] names;
-          private byte[] newVal;
-          private Date creationDate;
-          ...
-
-          public void toData(PdxWriter writer)
-          {
-            writer.writeInt("id", id)
-        // The markIdentifyField call for a field must 
-        // come after the field's write method 
-            .markIdentityField("id")
-            .writeDate("creationDate", creationDate) //fixed length field
-            .writeString("pkid", pkid)
-            .writeObject("positions", positions)
-            .writeString("type", type)
-            .writeString("status", status)
-            .writeStringArray("names", names)
-            .writeByteArray("newVal", newVal)
-          }
-        ```
-
-4.  Program `PdxSerializable.fromData` to read your data fields from the serialized form into the object's fields using the `PdxReader` read methods.
-
-    Provide the same names that you did in `toData` and call the read operations in the same order as you called the write operations in your `toData` implementation.
-
-    Geode automatically provides `PdxReader` to the `fromData` method for `PdxSerializable` objects.
-
-    Example `fromData` code:
-
-    ``` pre
-      
-    public void fromData(PdxReader reader)
-      {
-        id = reader.readInt("id");
-        creationDate = reader.readDate("creationDate");
-        pkid = reader.readString("pkid");
-        position1 = (PositionPdx)reader.readObject("position1");
-        position2 = (PositionPdx)reader.readObject("position2");
-        positions = (Map<String, PositionPdx>)reader.readObject("positions");
-        type = reader.readString("type");
-        status = reader.readString("status");
-        names = reader.readStringArray("names");
-        newVal = reader.readByteArray("newVal");
-        arrayNull = reader.readByteArray("arrayNull");
-        arrayZeroSize = reader.readByteArray("arrayZeroSize");
-      }
-    ```
-
-**What to do next**
-
--   As needed, configure and program your Geode applications to use `PdxInstance` for selective object deserialization. See [Programming Your Application to Use PdxInstances](program_application_for_pdx.html).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/data_serialization/use_pdx_serializer.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/data_serialization/use_pdx_serializer.html.md.erb b/developing/data_serialization/use_pdx_serializer.html.md.erb
deleted file mode 100644
index 7ef401e..0000000
--- a/developing/data_serialization/use_pdx_serializer.html.md.erb
+++ /dev/null
@@ -1,128 +0,0 @@
----
-title:  Serializing Your Domain Object with a PdxSerializer
----
-
-For a domain object that you cannot or do not want to modify, use the `PdxSerializer` class to serialize and deserialize the object's fields. You use one `PdxSerializer` implementation for the entire cache, programming it for all of the domain objects that you handle in this way.
-
-With `PdxSerializer`, you leave your domain object as-is and handle the serialization and deserialization in the separate serializer. You register the serializer in your cache PDX configuration. Program the serializer to handle all of the domain objects you need.
-
-If you write your own `PdxSerializer` and you also use the `ReflectionBasedAutoSerializer`, then the `PdxSerializer` needs to own the `ReflectionBasedAutoSerializer` and delegate to it. A Cache can only have a single `PdxSerializer` instance.
-
-**Note:**
-The `PdxSerializer` `toData` and `fromData` methods differ from those for `PdxSerializable`. They have different parameters and results.
-
-**Procedure**
-
-1.  In the domain classes that you wish to PDX serialize, make sure each class has a zero-arg constructor. For example:
-
-    ``` pre
-    public PortfolioPdx(){}
-    ```
-
-2.  If you have not already implemented `PdxSerializer` for some other domain object, perform these steps:
-    1.  Create a new class as your cache-wide serializer and make it implement `PdxSerializer`. If you want to declare your new class in the `cache.xml` file, have it also implement `Declarable`.
-
-        Example:
-
-        ``` pre
-        import org.apache.geode.cache.Declarable;
-        import org.apache.geode.pdx.PdxReader;
-        import org.apache.geode.pdx.PdxSerializer;
-        import org.apache.geode.pdx.PdxWriter;
-
-        public class ExamplePdxSerializer implements PdxSerializer, Declarable {
-        ...
-        ```
-
-    2.  In your cache pdx configuration, register the serializer class in the cache's `<pdx>` `<pdx-serializer>` `<class-name>` attribute.
-
-        Example:
-
-        ``` pre
-        // Configuration setting PDX serializer for the cache
-        <cache>
-          <pdx>
-            <pdx-serializer>
-             <class-name>com.company.ExamplePdxSerializer</class-name>
-            </pdx-serializer>
-          </pdx> 
-          ...
-        </cache>
-        ```
-
-        Or use the `CacheFactory.setPdxSerializer ` API.
-
-        ``` pre
-        Cache c = new CacheFactory
-           .setPdxSerializer(new ExamplePdxSerializer())
-           .create();
-        ```
-
-    **Note:**
-    You cannot specify a custom `pdx-serializer` class using gfsh, however the `configure pdx` command automatically configures the <span class="keyword apiname">org.apache.geode.pdx.ReflectionBasedAutoSerializer</span> class. See [configure pdx](../../tools_modules/gfsh/command-pages/configure.html#topic_jdkdiqbgphqh).
-
-3.  Program `PdxSerializer.toData` to recognize, cast, and handle your domain object:
-
-    1.  Write each standard Java data field of your domain class using the `PdxWriter` write methods.
-    2.  Call the `PdxWriter` `markIdentityField` method for each field you want to have Geode use to identify your object. Put this after the field's write method. Geode uses this information to compare objects for operations like distinct queries. If you do not set as least one identity field, then the `equals` and `hashCode` methods will use all PDX fields to compare objects and consequently, will not perform as well. It is important that the fields used by your `equals` and `hashCode` implementations are the same fields that you mark as identity fields.
-    3.  For a particular version of your class, you need to consistently write the same named field each time. The field names or number of fields must not change from one instance to another for the same class version.
-    4.  For best performance, do fixed width fields first and then variable length fields.
-    5.  If desired, you can check the portability of the object before serializing it by adding the `checkPortability` parameter when using the`                                 PdxWriter` `writeObject`, `writeObjectArray`, and `writeField` methods.
-
-    Example `toData` code:
-
-    ``` pre
-    public boolean toData(Object o, PdxWriter writer)
-      {
-        if(!(o instanceof PortfolioPdx)) {
-          return false;
-        }
-
-        PortfolioPdx instance = (PortfolioPdx) o;
-        writer.writeInt("id", instance.id)
-        //identity field
-        .markIdentityField("id")
-        .writeDate("creationDate", instance.creationDate)
-        .writeString("pkid", instance.pkid)
-        .writeObject("positions", instance.positions)
-        .writeString("type", instance.type)
-        .writeString("status", instance.status)
-        .writeStringArray("names", instance.names)
-        .writeByteArray("newVal", instance.newVal)
-
-        return true;
-      }
-    ```
-
-    1.  Program `PdxSerializer.fromData` to create an instance of your class, read your data fields from the serialized form into the object's fields using the `PdxReader` read methods, and return the created object.
-
-        Provide the same names that you did in `toData` and call the read operations in the same order as you called the write operations in your `toData` implementation.
-
-        Geode provides the domain class type and `PdxReader` to the `fromData` method.
-
-        Example `fromData` code:
-
-        ``` pre
-          public Object fromData(Class<?> clazz, PdxReader reader)
-          {
-            if(!clazz.equals(PortfolioPdx.class)) {
-              return null;
-            }
-
-            PortfolioPdx instance = new PortfolioPdx();
-            instance.id = reader.readInt("id");
-            instance.creationDate = reader.readDate("creationDate");
-            instance.pkid = reader.readString("pkid");
-            instance.positions = (Map<String, PositionPdx>)reader.readObject("positions");
-            instance.type = reader.readString("type");
-            instance.status = reader.readString("status");
-            instance.names = reader.readStringArray("names");
-            instance.newVal = reader.readByteArray("newVal");
-
-            return instance;
-          }
-        ```
-
-4.  If desired, you can also enable extra validation in your use of `PdxWriter`. You can set this by setting the system property `gemfire.validatePdxWriters` to **true**. Note that you should only set this option if you are debugging new code as this option can decrease system performance.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/data_serialization/using_PdxInstanceFactory.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/data_serialization/using_PdxInstanceFactory.html.md.erb b/developing/data_serialization/using_PdxInstanceFactory.html.md.erb
deleted file mode 100644
index 7b9501d..0000000
--- a/developing/data_serialization/using_PdxInstanceFactory.html.md.erb
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title:  Using PdxInstanceFactory to Create PdxInstances
----
-
-You can use the `PdxInstanceFactory` interface to create a `PdxInstance` from raw data when the domain class is not available on the server.
-
-This can be particularly useful when you need an instance of a domain class for plug in code such as a function or a loader. If you have the raw data for the domain object (the class name and each field's type and data), then you can explicitly create a `PdxInstance`. The `PdxInstanceFactory` is very similar to the `PdxWriter` except that after writing each field, you need to call the create method which returns the created PdxInstance.
-
-To create a factory call `RegionService.createPdxInstanceFactory`. A factory can only create a single instance. To create multiple instances create multiple factories or use `PdxInstance.createWriter()` to create subsequent instances. Using `PdxInstance.createWriter()` is usually faster.
-
-When you create a PdxInstance, set as least one identity field using the `markIndentityField` method. If you do not mark an identity field, the PdxInstance`equals` and `hashCode` methods will use all PDX fields to compare objects and consequently, will not perform as well. It is important that the fields used by your `equals` and `hashCode` implementations are the same fields that you mark as identity fields.
-
-The following is a code example of using `PdxInstanceFactory`:
-
-``` pre
-PdxInstance pi = cache.createPdxInstanceFactory("com.company.DomainObject")
-   .writeInt("id", 37)
-   .markIdentityField("id")
-   .writeString("name", "Mike Smith")
-   .writeObject("favoriteDay", cache.createPdxEnum("com.company.Day", "FRIDAY", 5))
-   .create();
-```
-
-For more information, see `PdxInstanceFactory` in the Java API documentation.
-
-## <a id="concept_FFECBE8249D848E9A2CF7FD02514EC68__section_F4EC56197730427084FBF040820A6149" class="no-quick-link"></a>Enum Objects as PdxInstances
-
-You can now work with enum objects as PdxInstances. When you fetch an enum object from the cache, you can now deserialize it as a `PdxInstance`. To check whether a `PdxInstance` is an enum, use the `PdxInstance.isEnum` method. An enum `PdxInstance` will have one field named "name" whose value is a String that corresponds to the enum constant name.
-
-An enum `PdxInstance` is not writable; if you call `createWriter` it will throw an exception.
-
-The `RegionService` has a method that allows you to create a `PdxInstance` that represents an enum. See `RegionService.createPdxEnum` in the Java API documentation.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/data_serialization/using_pdx_region_entry_keys.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/data_serialization/using_pdx_region_entry_keys.html.md.erb b/developing/data_serialization/using_pdx_region_entry_keys.html.md.erb
deleted file mode 100644
index 91c91c4..0000000
--- a/developing/data_serialization/using_pdx_region_entry_keys.html.md.erb
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title:  Using PDX Objects as Region Entry Keys
----
-
-Using PDX objects as region entry keys is highly discouraged.
-
-<a id="concept_E5B95958B8D04B2285CB5E4DC6FABC78__section_900BD620D716407AA78BE0E38C2C396D"></a>
-The best practice for creating region entry keys is to use a simple key; for example, use a String or Integer. If the key must be a domain class, then you should use a non-PDX-serialized class.
-
-If you must use PDX serialized objects as region entry keys, ensure that you do not set `read-serialized` to `true`. This configuration setting will cause problems in partitioned regions because partitioned regions require the hash code of the key to be the same on all JVMs in the distributed system. When the key is a `PdxInstance` object, its hash code will likely not be the same as the hash code of the domain object.
-
-If you are using PDX serialized objects as region entry keys and you are using persistent regions, then you must configure your PDX disk store to be a different one than the disk store used by the persistent regions.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/delta_propagation/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/delta_propagation/chapter_overview.html.md.erb b/developing/delta_propagation/chapter_overview.html.md.erb
deleted file mode 100644
index 1beb847..0000000
--- a/developing/delta_propagation/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title:  Delta Propagation
----
-
-Delta propagation allows you to reduce the amount of data you send over the network by including only changes to objects rather than the entire object.
-
--   **[How Delta Propagation Works](how_delta_propagation_works.html)**
-
-    Delta propagation reduces the amount of data you send over the network. You do this by only sending the change, or delta, information about an object, instead of sending the entire changed object. If you do not use cloning when applying the deltas, you can also expect to generate less garbage in your receiving JVMs.
-
--   **[When to Avoid Delta Propagation](when_to_use_delta_prop.html)**
-
-    Generally, the larger your objects and the smaller the deltas, the greater the benefits of using delta propagation. Partitioned regions with higher redundancy levels generally benefit more from delta propagation. However, in some application scenarios, delta propagation does not show any significant benefits. On occasion it results in performance degradation.
-
--   **[Delta Propagation Properties](delta_propagation_properties.html)**
-
-    This topic describes the properties that can be used to configure delta propagation.
-
--   **[Implementing Delta Propagation](implementing_delta_propagation.html)**
-
-    By default, delta propagation is enabled in your distributed system. When enabled, delta propagation is used for objects that implement `org.apache.geode.Delta`. You program the methods to store and extract delta information for your entries and to apply received delta information.
-
--   **[Errors In Delta Propagation](errors_in_delta_propagation.html)**
-
-    This topic lists the errors that can occur when using delta propagation.
-
--   **[Delta Propagation Example](delta_propagation_example.html)**
-
-    This topic provides an example of delta propagation.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/delta_propagation/delta_propagation_example.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/delta_propagation/delta_propagation_example.html.md.erb b/developing/delta_propagation/delta_propagation_example.html.md.erb
deleted file mode 100644
index 075b32e..0000000
--- a/developing/delta_propagation/delta_propagation_example.html.md.erb
+++ /dev/null
@@ -1,113 +0,0 @@
----
-title:  Delta Propagation Example
----
-
-This topic provides an example of delta propagation.
-
-<a id="delta_propagation_example__section_F6700EB7F305462D9F0DEE3080497A14"></a>
-In this example, the feeder client is connected to the first server, and the receiver client is connected to the second. The servers are peers to each other.
-
-<img src="../../images/DeltaPropagation-3.gif" id="delta_propagation_example__image_E20DAE5925C44EBDA03D1AC8325D1122" class="image" />
-
-The example demonstrates the following operations:
-
-1.  In the Feeder client, the application updates the entry object and puts the entry. In response to the `put`, Geode calls `hasDelta`, which returns true, so Geode calls `toDelta` and forwards the extracted delta to the server. If `hasDelta` returned false, Geode would distribute the full entry value.
-2.  In Server1, Geode applies the delta to the cache, distributes the received delta to the server's peers, and forwards it to any other clients with interest in the entry (there are no other clients to Server1 in this example)
-3.  In Server2, Geode applies the delta to the cache and forwards it to its interested clients, which in this case is just the Receiver client.
-
-<a id="delta_propagation_example__section_185444FC51FB467587A62DFEC07C9C7D"></a>
-
-This example shows the basic approach to programming a `Delta` implementation.
-
-``` pre
-package delta;
-
-import org.apache.geode.Delta;
-import org.apache.geode.InvalidDeltaException;
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-import java.io.Serializable;
-
-/**
- * Sample implementation of Delta
- * 
- * @author GemStone Systems, Inc.
- * @since 6.1
- */
-public class SimpleDelta implements Delta, Serializable {
-
-// Original object fields
-    private int intVal;
-    private double doubleVal;
-
-    // Added for delta - one boolean per field to track changed status
-    private transient boolean intFldChd = false;
-    private transient boolean dblFldChd = false;
-
-    public SimpleDelta(){}
-
-    public SimpleDelta(int i, double d){
-        this.intVal = i;
-        this.doubleVal = d;
-    }
-
-    public boolean hasDelta() {
-        return this.intFldChd || this.dblFldChd;
-    }
-
-    public void toDelta(DataOutput out) throws IOException {
-        System.out.println("Extracting delta from " + this.toString());
-    // Write information on what has changed to the 
-    // data stream, so fromDelta knows what it's getting 
-        out.writeBoolean(intFldChd);
-        if (intFldChd) {
-    // Write just the changes into the data stream
-            out.writeInt(this.intVal);
-    // Once the delta information is written, reset the delta status field
-            this.intFldChd = false;
-            System.out.println(" Extracted delta from field 'intVal' = "
-                                                + this.intVal);
-        }
-        out.writeBoolean(dblFldChd);
-        if (dblFldChd) {
-            out.writeDouble(this.doubleVal);
-            this.dblFldChd = false;
-            System.out.println(" Extracted delta from field 'doubleVal' = "
-                                                + this.doubleVal);
-        }
-    }
-
-    public void fromDelta(DataInput in) throws IOException, InvalidDeltaException {
-        System.out.println("Applying delta to " + this.toString());
-        // For each field, read whether there is a change 
-        if (in.readBoolean()) {
-            // Read the change and apply it to the object 
-            this.intVal = in.readInt();
-            System.out.println(" Applied delta to field 'intVal' = "
-                        + this.intVal);
-        }
-        if (in.readBoolean()) {
-            this.doubleVal = in.readDouble();
-            System.out.println(" Applied delta to field 'doubleVal' = "
-                        + this.doubleVal);
-        }
-    }
-    // In the setter methods, add setting of delta-related 
-    // fields indicating what has changed 
-    public void setIntVal(int anIntVal) {
-        this.intFldChd = true;
-        this.intVal = anIntVal;
-    }
-
-    public void setDoubleVal(double aDoubleVal) {
-        this.dblFldChd = true;
-        this.doubleVal = aDoubleVal;
-    }
-
-    public String toString() {
-        return "SimpleDelta [ hasDelta = " + hasDelta() + ", intVal = " + 
-                this.intVal + ", doubleVal = {" + this.doubleVal + "} ]";
-    }
-}
-```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/delta_propagation/delta_propagation_properties.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/delta_propagation/delta_propagation_properties.html.md.erb b/developing/delta_propagation/delta_propagation_properties.html.md.erb
deleted file mode 100644
index c95fab4..0000000
--- a/developing/delta_propagation/delta_propagation_properties.html.md.erb
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title:  Delta Propagation Properties
----
-
-This topic describes the properties that can be used to configure delta propagation.
-
-Delta propagation properties can be configured through the API and through the `gemfire.properties` and `cache.xml` files.
-
-## <a id="delta_propagation_properties__section_561D6DA876E24469B7536E98AB12F676" class="no-quick-link"></a>delta-propagation
-
-A `gemfire.properties` boolean that enables or disables delta propagation. When false, full entry values are sent for every update. The default setting is true, which enables delta propagation.
-
-Disable delta propagation as follows:
-
--   `gemfire.properties`:
-
-    ``` pre
-    delta-propagation=false
-    ```
-
--   API:
-
-    ``` pre
-    Properties props = new Properties();
-    props.setProperty("delta-propagation", false);
-    this.cache = new ClientCacheFactory(props).create();
-    ```
-
-## <a id="delta_propagation_properties__section_7D4590512D1548FD94F81C8726A2CA44" class="no-quick-link"></a>cloning-enabled
-
-A region attributes boolean that affects how `fromDelta` applies deltas to the local cache. When true, the updates are applied to a clone of the value and then the clone is saved to the cache. When false, the value is modified in place in the cache. The default value is false.
-
-Exceptions to this behavior:
-
--   If the `Cache` attribute `copy-on-read` is true, cloning is enabled, regardless of what this attribute is set to.
--   If the `Region` attribute `off-heap` is true, cloning is enabled, regardless of what this attribute is set to.
-
-Cloning can be expensive, but it ensures that the new object is fully initialized with the delta before any application code sees it.
-
-When cloning is enabled, by default Geode does a deep copy of the object, using serialization. You may be able to improve performance by implementing `java.lang.Cloneable` and then implementing the `clone` method, making a deep copy of anything to which a delta may be applied. The goal is to reduce significantly the overhead of copying the object while still retaining the isolation needed for your deltas.
-
-Without cloning:
-
--   It is possible for application code to read the entry value as it is being modified, possibly seeing the value in an intermediate, inconsistent state, with just part of the delta applied. You may choose to resolve this issue by having your application code synchronize on reads and writes.
--   Geode loses any reference to the old value because the old value is transformed in place into the new value. Because of this, your `CacheListener` sees the same new value returned for `EntryEvent.getOldValue` and `EntryEvent.getNewValue` .
--   Exceptions thrown from `fromDelta` may leave your cache in an inconsistent state. Without cloning, any interruption of the delta application could leave you with some of the fields in your cached object changed and others unchanged. If you do not use cloning, keep this in mind when you program your error handling in your `fromDelta` implementation.
-
-With cloning:
-
--   The `fromDelta` method generates more garbage in memory.
--   Performance is reduced.
-
-Enable cloning as follows:
-
--   `cache.xml`:
-
-    ``` pre
-    <region name="region_with_cloning">
-        <region-attributes refid="REPLICATE" cloning-enabled="true">
-        </region-attributes>
-    </region>
-    ```
-
--   API:
-
-    ``` pre
-    RegionFactory rf = cache.createRegionFactory(REPLICATE);
-    rf.setCloningEnabled(true);
-    custRegion = rf.create("customer");
-    ```
-
--   gfsh:
-
-    ``` pre
-    gfsh>create region --name="region_with_cloning" --type=REPLICATE
-    --enable-cloning=true
-    ```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/delta_propagation/errors_in_delta_propagation.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/delta_propagation/errors_in_delta_propagation.html.md.erb b/developing/delta_propagation/errors_in_delta_propagation.html.md.erb
deleted file mode 100644
index f6441e8..0000000
--- a/developing/delta_propagation/errors_in_delta_propagation.html.md.erb
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title:  Errors In Delta Propagation
----
-
-This topic lists the errors that can occur when using delta propagation.
-
-<a id="errors_in_delta_propagation__section_877AC61D691C44078A782683F90D169B"></a>
-Errors in delta propagation fall into two categories based on how they are handled by the system:
-
--   Problems applying the delta that can be remedied by requesting the full value in place of the delta. Your `put` operation does not see errors or exceptions related to this type of delta propagation failure. The system automatically does a full value distribution from the sender to the receiver where the problem occurs. This type of error includes:
-    -   Unavailable entry value in the receiving cache, either because the entry is missing or its value is null. In both cases, there is nothing to apply the delta to and the full value must be sent. This is most likely to occur if you destroy or invalidate your entries locally, either through application calls or through configured actions like eviction or entry expiration.
-    -   `InvalidDeltaException` thrown by `fromDelta` method, programmed by you. This exception enables you to avoid applying deltas that would violate data consistency checks or other application requirements.
-    -   Any error applying the delta in a client in server-to-client propagation. The client logs a warning in addition to retrieving the full value from the server.
--   Problems creating or distributing the delta that cannot be fixed by distributing the full value. In these cases, your `put` operation fails with an exception. This type of error includes:
-    -   Error or exception in `hasDelta` or `toDelta`.
-    -   Error or exception in a server or peer receiver that fall outside of the situations described above in the first category.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/delta_propagation/how_delta_propagation_works.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/delta_propagation/how_delta_propagation_works.html.md.erb b/developing/delta_propagation/how_delta_propagation_works.html.md.erb
deleted file mode 100644
index a37bd8a..0000000
--- a/developing/delta_propagation/how_delta_propagation_works.html.md.erb
+++ /dev/null
@@ -1,52 +0,0 @@
----
-title:  How Delta Propagation Works
----
-
-Delta propagation reduces the amount of data you send over the network. You do this by only sending the change, or delta, information about an object, instead of sending the entire changed object. If you do not use cloning when applying the deltas, you can also expect to generate less garbage in your receiving JVMs.
-
-<a id="how_delta_propagation_works__section_78D584B3FFD04D1D9BA83203FF2B55A9"></a>
-In most distributed data management systems, the data stored in the system tends to be created once and then updated frequently. These updates are sent to other members for event propagation, redundancy management, and cache consistency in general. Tracking only the changes in an updated object and sending only the deltas mean lower network transmission costs and lower object serialization/deserialization costs. Performance improvements can be significant, especially when changes to an object are small relative to its overall size.
-
-<a id="how_delta_propagation_works__section_ABE3589920D6477BBB2223A583AF169A"></a>
-
-Geode propagates object deltas using methods that you program. The methods are in the `Delta` interface, which you implement in your cached objects' classes. If any of your classes are plain old Java objects, you need to wrap them for this implementation.
-
-This figure shows delta propagation for a change to an entry with key, k, and value object, v.
-
-<img src="../../images/DeltaPropagation-1.gif" id="how_delta_propagation_works__image_06A25185C31548669423DDA3136B1851" class="image" />
-
-1.  **`get` operation**. The `get` works as usual: the cache returns the full entry object from the local cache or, if it isn't available there, from a remote cache or from a loader.
-2.  **update methods**. You need to add code to the object's update methods so that they save delta information for object updates, in addition to the work they were already doing.
-3.  **`put` operation**. The `put` works as usual in the local cache, using the full value, then calls `hasDelta` to see if there are deltas and `toDelta` to serialize the information. Distribution is the same as for full values, according to member and region configuration.
-4.  **receipt of delta at remote member**. `fromDelta` extracts the delta information that was serialized by `toDelta` and applies it to the object in the local cache. The delta is applied directly to the existing value or to a clone, depending on how you configure it for the region.
-5.  **additional distributions**. As with full distributions, receiving members forward the delta according to their configurations and connections to other members. For example, if VM1 is a client and VM2 is a server, VM2 forwards the delta to its peers and its other clients as needed. Receiving members do not recreate the delta; `toDelta` is only called in the originating member.
-
-## <a id="how_delta_propagation_works__section_25EC5BE960F0402DAEDBE0A5A6589ACA" class="no-quick-link"></a>General Characteristics of Delta Propagation
-
-To use the delta propagation feature, all updates on a key in a region must have value types that implement the `Delta` interface. You cannot mix object types for an entry key where some of the types implement delta and some do not. This is because, when a type implementing the delta interface is received for an update, the existing value for the key is cast to a `Delta` type to apply the received delta. If the existing type does not also implement the `Delta` interface, the operation throws a `ClassCastException`.
-
-**Note:** Only the object itself being placed in the cache can implement the `Delta` interface and propagate changes. Any sub-objects of the cache object do not propagate their changes.
-
-Sometimes `fromDelta` cannot be invoked because there is no object to apply the delta to in the receiving cache. When this happens, the system automatically does a full value distribution to the receiver. These are the possible scenarios:
-1.  If the system can determine beforehand that the receiver does not have a local copy, it sends the initial message with the full value. This is possible when regions are configured with no local data storage, such as with the region shortcut settings `PARTITION_PROXY` and `REPLICATE_PROXY`. These configurations are used to accomplish things like provide data update information to listeners and to pass updates forward to clients.
-2.  In less obvious cases, such as when an entry has been locally deleted, first the delta is sent, then the receiver requests a full value and that is sent. Whenever the full value is received, any further distributions to the receiver's peers or clients uses the full value.
-
-Geode also does not propagate deltas for:
-
--   Transactional commit
--   The `putAll` operation
--   JVMs running Geode versions that do not support delta propagation (6.0 and earlier)
-
-## <a id="how_delta_propagation_works__section_F4A102A74530429F87BEA53C90D5CCFB" class="no-quick-link"></a>Supported Topologies and Limitations
-
-The following topologies support delta propagation (with some limitations):
-
--   **Peer-to-peer**. Geode system members distribute and receive entry changes using delta propagation, with these requirements and caveats:
-    -   Regions must be partitioned or have their scope set to `distributed-ack` or `global`. The region shortcut settings for distributed regions use `distributed-ack` `scope`. Delta propagation does not work for regions with `distributed-no-ack` `scope` because the receiver could not recover if an exception occurred while applying the delta.
-    -   For partitioned regions, if a receiving peer does not hold the primary or a secondary copy of the entry, but still requires a value, the system automatically sends the full value.
-    -   To receive deltas, a region must be non-empty. The system automatically sends the full value to empty regions. Empty regions can send deltas.
--   **Client/server**. Geode clients can always send deltas to the servers, and servers can usually sent deltas to clients. These configurations require the servers to send full values to the clients, instead of deltas:
-    -   When the client's `gemfire.properties` setting `conflate-events` is set to true, the servers send full values for all regions.
-    -   When the server region attribute `enable-subscription-conflation` is set to true and the client `gemfire.properties` setting `conflate-events` is set to `server`, the servers send full values for the region.
-    -   When the client region is configured with the `PROXY` client region shortcut setting (empty client region), servers send full values.
-


[22/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/cs_connection_pool.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/cs_connection_pool.svg b/geode-docs/images_svg/cs_connection_pool.svg
new file mode 100644
index 0000000..dcba00d
--- /dev/null
+++ b/geode-docs/images_svg/cs_connection_pool.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="103 268 246 268" width="246pt" height="268pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 09:14Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(297 374.0625) scale(106.801054)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" 
 underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(252 518.625) scale(88.419195)"/><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_2" gradientTransform="translate(244.125 447.92578) scale(59.156552)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="He
 lvetica"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="8" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="-1500" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-style="italic" font-weight="500"><font-face-src><font-face-name name="Helvetica-Oblique"/></font-face-src></font-face><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(270 333) scale(43.35671)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient_2" gradientTransform="translate(283.5 365.0625) scale(61.58797)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M 8.9444437 0 L 0 -3.3541664 L 0 3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="Fill
 edArrow_Marker_2" viewBox="-10 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M -8.9444437 0 L 0 3.3541664 L 0 -3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>connection_pool</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 195.66 281.25 L 290.34 281.25 C 294.01822 281.25 297 284.23178 297 287.91 L 297 367.4025 C 297 371.08072 294.01822 374.0625 290.34 374.0625 L 195.66 374.0625 C 191.98178 374.0625 189 371.08072 189 367.4025 L 189 287.91 C 189 284.23178 191.98178 281.25 195.66 281.25 Z" fill="url(#Obj_Gradient)"/><path d="M 195.66 
 281.25 L 290.34 281.25 C 294.01822 281.25 297 284.23178 297 287.91 L 297 367.4025 C 297 371.08072 294.01822 374.0625 290.34 374.0625 L 195.66 374.0625 C 191.98178 374.0625 189 371.08072 189 367.4025 L 189 287.91 C 189 284.23178 191.98178 281.25 195.66 281.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(193 285.25)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="32.328125" y="11" textLength="35.34375">Server</tspan></text></g><g id="id4_Graphic"><path d="M 168.66 442.47656 L 245.34 442.47656 C 249.01822 442.47656 252 445.45834 252 449.13656 L 252 511.965 C 252 515.64322 249.01822 518.625 245.34 518.625 L 168.66 518.625 C 164.98178 518.625 162 515.64322 162 511.965 L 162 449.13656 C 162 445.45834 164.98178 442.47656 168.66 442.47656 Z" fill="url(#Obj_Gradient_2)"/><path d="M 168.66 442.47656 L 245.34 442.47656 C 249.01822 442.47656 252 445.45834 252 449.13656 L 252 
 511.965 C 252 515.64322 249.01822 518.625 245.34 518.625 L 168.66 518.625 C 164.98178 518.625 162 515.64322 162 511.965 L 162 449.13656 C 162 445.45834 164.98178 442.47656 168.66 442.47656 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(166 501.125)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="25.660156" y="11" textLength="30.679688">Client</tspan></text></g><g id="id5_Graphic"><path d="M 176.535 421.3125 L 237.465 421.3125 C 241.14322 421.3125 244.125 424.29428 244.125 427.9725 L 244.125 441.26578 C 244.125 444.944 241.14322 447.92578 237.465 447.92578 L 176.535 447.92578 C 172.85678 447.92578 169.875 444.944 169.875 441.26578 L 169.875 427.9725 C 169.875 424.29428 172.85678 421.3125 176.535 421.3125 Z" fill="url(#Obj_Gradient_3)"/><path d="M 176.535 421.3125 L 237.465 421.3125 C 241.14322 421.3125 244.125 424.29428 244.125 427.9725 L 244.125 441.26578 C 244.125 
 444.944 241.14322 447.92578 237.465 447.92578 L 176.535 447.92578 C 172.85678 447.92578 169.875 444.944 169.875 441.26578 L 169.875 427.9725 C 169.875 424.29428 172.85678 421.3125 176.535 421.3125 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(173.875 433.42578)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.6008301" y="9" textLength="63.04834">connection pool</tspan></text></g><text transform="translate(161.5 465.55078)" fill="black"><tspan font-family="Helvetica" font-size="8" font-style="italic" font-weight="500" fill="black" x="5.4746094" y="8" textLength="82.273438">client threads use pool </tspan><tspan font-family="Helvetica" font-size="8" font-style="italic" font-weight="500" fill="black" x="8.5878906" y="18" textLength="76.046875">connection for cache </tspan><tspan font-family="Helvetica" font-size="8" font-style="italic" font-weight="500" fill="black" x
 ="26.820312" y="28" textLength="37.359375">operations</tspan></text><text transform="translate(278.5 413.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="0" y="9" textLength="55.01953">requests from</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="0" y="20" textLength="48.524414">other clients</tspan></text><g id="id8_Graphic"><path d="M 222.66 312.36328 L 263.34 312.36328 C 267.01822 312.36328 270 315.34506 270 319.02328 L 270 326.34 C 270 330.01822 267.01822 333 263.34 333 L 222.66 333 C 218.98178 333 216 330.01822 216 326.34 L 216 319.02328 C 216 315.34506 218.98178 312.36328 222.66 312.36328 Z" fill="url(#Obj_Gradient_4)"/><path d="M 222.66 312.36328 L 263.34 312.36328 C 267.01822 312.36328 270 315.34506 270 319.02328 L 270 326.34 C 270 330.01822 267.01822 333 263.34 333 L 222.66 333 C 218.98178 333 216 330.01822 216 326.34 L 216 319.02328 C 216 315.34506 218.98178 312.36328 222.66 312.36328 Z" 
 stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(220 311.68164)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.9921875" y="9" textLength="28.516113">Cache </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="13.494629" y="20" textLength="19.010742">Data</tspan></text></g><g id="id9_Graphic"><rect x="202.5" y="351.5625" width="81" height="13.5" fill="url(#Obj_Gradient_5)"/><rect x="202.5" y="351.5625" width="81" height="13.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(206.5 352.8125)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.4865723" y="9" textLength="70.026855">listener for clients</tspan></text></g><rect x="180" y="421.3125" width="9" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" s
 troke-width=".72000003"/><rect x="189" y="421.3125" width="9" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="198" y="421.3125" width="9" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="207" y="421.3125" width="9" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="216" y="421.3125" width="9" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="225" y="421.3125" width="9" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="220.5" y1="373.0105" x2="220.5" y2="413.3645" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="229.5" y1="373.0105" x2="229.5" y2="413.3645" 
 marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="292.68064" y1="407.32813" x2="269.81936" y2="372.01562" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="283.68064" y1="407.32813" x2="260.81936" y2="372.01562" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="274.68064" y1="407.32813" x2="251.81936" y2="372.01562" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="198.18064" y1="415.48437" x2="175.31936" y2="380.17186" marker-end="url(#FilledArrow_Marker)" marker-start="u
 rl(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="189.18064" y1="415.48437" x2="166.31936" y2="380.17186" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="180.18064" y1="415.48437" x2="157.31936" y2="380.17186" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 222.66 385.875 L 227.34 385.875 C 231.01822 385.875 234 388.85678 234 392.535 L 234 398.34 C 234 402.01822 231.01822 405 227.34 405 L 222.66 405 C 218.98178 405 216 402.01822 216 398.34 L 216 392.535 C 216 388.85678 218.98178 385.875 222.66 385.875 Z" fill="white"/><text transform="translate(193 378.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="
 2.8598633" y="9" textLength="60.530273">client requests,</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="20.622559" y="20" textLength="27.505371">server </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="12.363037" y="31" textLength="41.523926">responses</tspan></text><text transform="translate(116.5 351.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="12.724609" y="9" textLength="44.52539">requests to</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="4.730957" y="20" textLength="52.519043">other servers</tspan></text><line x1="243" y1="343.6145" x2="243" y2="340.948" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/cs_locator_discovery.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/cs_locator_discovery.svg b/geode-docs/images_svg/cs_locator_discovery.svg
new file mode 100644
index 0000000..dd55275
--- /dev/null
+++ b/geode-docs/images_svg/cs_locator_discovery.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="122 365 391 242" width="391pt" height="242pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-06 22:29Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M 8.9444437 0 L 0 -3.3541664 L 0 3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" unde
 rline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(234 567) scale(78.153857)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(216 560.63672) scale(43.35671)"/><font-face fon
 t-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(486 566.26172) scale(78.153857)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(468 559.89844) scale(43.35671)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(234 430.52344) scale(78.153857)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(360 430.52344) scale(78.153857)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-10 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M -8.9444437 0 L 0 3.3541664 L 0 -3
 .3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(288 487.54688) scale(70.161873)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient" gradientTransform="translate(486 430.52344) scale(78.153857)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient_2" gradientTransform="translate(432 487.54688) scale(70.161873)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient" gradientTransform="translate(495 424.89844) scale(270.63733)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient" gradientTransform="translate(216 422.8418) scale(43.35671)"/><radialGradient id="Obj_Gradient_c" xl:href="#Gradient" gradientTransform="translate(342 422.8418) 
 scale(43.35671)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient" gradientTransform="translate(468 422.8418) scale(43.35671)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>p2p and cs with locators</title><g><title>Layer 1</title><g><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id13_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id16_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id17_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id18_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id19_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id20_Graphic" filter="url
 (#Shadow)"/></g><line x1="189" y1="514.47656" x2="209.55407" y2="499.6498" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><line x1="441" y1="513.73828" x2="420.52958" y2="499.5316" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><text transform="translate(139 580.25)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="71.629883" y="11" textLength="208.74023">Client/Server Discovery Using Locators</tspan></text><g id="id6_Graphic"><path d="M 150.66 514.47656 L 227.34 514.47656 C 231.01822 514.47656 234 517.45834 234 521.13656 L 234 560.34 C 234 564.0182 231.01822 567 227.34 567 L 150.66 567 C 146.98178 567 144 564.0182 144 560.34 L 144 521.13656 C 144 517.45834 146.98178 514.47656 150.66 514.47656 Z" fill="url(#Obj_Gradient)"/><path d="M 1
 50.66 514.47656 L 227.34 514.47656 C 231.01822 514.47656 234 517.45834 234 521.13656 L 234 560.34 C 234 564.0182 231.01822 567 227.34 567 L 150.66 567 C 146.98178 567 144 564.0182 144 560.34 L 144 521.13656 C 144 517.45834 146.98178 514.47656 150.66 514.47656 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(148 518.47656)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="28.216797" y="10" textLength="25.566406">Client</tspan></text></g><g id="id7_Graphic"><path d="M 168.66 540 L 209.34 540 C 213.01822 540 216 542.98178 216 546.66 L 216 553.97672 C 216 557.65494 213.01822 560.63672 209.34 560.63672 L 168.66 560.63672 C 164.98178 560.63672 162 557.65494 162 553.97672 L 162 546.66 C 162 542.98178 164.98178 540 168.66 540 Z" fill="url(#Obj_Gradient_2)"/><path d="M 168.66 540 L 209.34 540 C 213.01822 540 216 542.98178 216 546.66 L 216 553.97672 C 216 557.65494 213.01822 560.
 63672 209.34 560.63672 L 168.66 560.63672 C 164.98178 560.63672 162 557.65494 162 553.97672 L 162 546.66 C 162 542.98178 164.98178 540 168.66 540 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(166 539.31836)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="12.2421875" y="9" textLength="24.016113">Local </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.9921875" y="20" textLength="26.015625">Cache</tspan></text></g><g id="id8_Graphic"><path d="M 402.66 513.73828 L 479.34 513.73828 C 483.01822 513.73828 486 516.72006 486 520.39828 L 486 559.60172 C 486 563.27994 483.01822 566.26172 479.34 566.26172 L 402.66 566.26172 C 398.98178 566.26172 396 563.27994 396 559.60172 L 396 520.39828 C 396 516.72006 398.98178 513.73828 402.66 513.73828 Z" fill="url(#Obj_Gradient_3)"/><path d="M 402.66 513.73828 L 479.34 513.73828 C 483.01822 513.73828
  486 516.72006 486 520.39828 L 486 559.60172 C 486 563.27994 483.01822 566.26172 479.34 566.26172 L 402.66 566.26172 C 398.98178 566.26172 396 563.27994 396 559.60172 L 396 520.39828 C 396 516.72006 398.98178 513.73828 402.66 513.73828 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(400 517.73828)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="28.216797" y="10" textLength="25.566406">Client</tspan></text></g><g id="id9_Graphic"><path d="M 420.66 539.26172 L 461.34 539.26172 C 465.01822 539.26172 468 542.2435 468 545.92172 L 468 553.23844 C 468 556.91666 465.01822 559.89844 461.34 559.89844 L 420.66 559.89844 C 416.98178 559.89844 414 556.91666 414 553.23844 L 414 545.92172 C 414 542.2435 416.98178 539.26172 420.66 539.26172 Z" fill="url(#Obj_Gradient_4)"/><path d="M 420.66 539.26172 L 461.34 539.26172 C 465.01822 539.26172 468 542.2435 468 545.92172 L 468 553.23844 
 C 468 556.91666 465.01822 559.89844 461.34 559.89844 L 420.66 559.89844 C 416.98178 559.89844 414 556.91666 414 553.23844 L 414 545.92172 C 414 542.2435 416.98178 539.26172 420.66 539.26172 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(418 538.58008)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="12.2421875" y="9" textLength="24.016113">Local </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.9921875" y="20" textLength="26.015625">Cache</tspan></text></g><g id="id10_Graphic"><path d="M 150.66 378 L 227.34 378 C 231.01822 378 234 380.98178 234 384.66 L 234 423.86344 C 234 427.54166 231.01822 430.52344 227.34 430.52344 L 150.66 430.52344 C 146.98178 430.52344 144 427.54166 144 423.86344 L 144 384.66 C 144 380.98178 146.98178 378 150.66 378 Z" fill="url(#Obj_Gradient_5)"/><path d="M 150.66 378 L 227.34 378 C 231.01822 378 234 380.
 98178 234 384.66 L 234 423.86344 C 234 427.54166 231.01822 430.52344 227.34 430.52344 L 150.66 430.52344 C 146.98178 430.52344 144 427.54166 144 423.86344 L 144 384.66 C 144 380.98178 146.98178 378 150.66 378 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(148 382)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="30.438477" y="10" textLength="21.123047">Peer</tspan></text></g><g id="id11_Graphic"><path d="M 276.66 378 L 353.34 378 C 357.01822 378 360 380.98178 360 384.66 L 360 423.86344 C 360 427.54166 357.01822 430.52344 353.34 430.52344 L 276.66 430.52344 C 272.98178 430.52344 270 427.54166 270 423.86344 L 270 384.66 C 270 380.98178 272.98178 378 276.66 378 Z" fill="url(#Obj_Gradient_6)"/><path d="M 276.66 378 L 353.34 378 C 357.01822 378 360 380.98178 360 384.66 L 360 423.86344 C 360 427.54166 357.01822 430.52344 353.34 430.52344 L 276.66 430.52344 C 272.98178 430.
 52344 270 427.54166 270 423.86344 L 270 384.66 C 270 380.98178 272.98178 378 276.66 378 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(274 382)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="30.438477" y="10" textLength="21.123047">Peer</tspan></text></g><line x1="295.948" y1="474.78516" x2="334.052" y2="474.78516" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><g id="id13_Graphic"><path d="M 204.66 462.02344 L 281.34 462.02344 C 285.01822 462.02344 288 465.00522 288 468.68344 L 288 480.88688 C 288 484.5651 285.01822 487.54688 281.34 487.54688 L 204.66 487.54688 C 200.98178 487.54688 198 484.5651 198 480.88688 L 198 468.68344 C 198 465.00522 200.98178 462.02344 204.66 462.02344 Z" fill="url(#Obj_Gradient_7)"/><path d="M 2
 04.66 462.02344 L 281.34 462.02344 C 285.01822 462.02344 288 465.00522 288 468.68344 L 288 480.88688 C 288 484.5651 285.01822 487.54688 281.34 487.54688 L 204.66 487.54688 C 200.98178 487.54688 198 484.5651 198 480.88688 L 198 468.68344 C 198 465.00522 200.98178 462.02344 204.66 462.02344 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(202 468.78516)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="24.322754" y="10" textLength="33.354492">Locator</tspan></text></g><g id="id14_Graphic"><path d="M 402.66 378 L 479.34 378 C 483.01822 378 486 380.98178 486 384.66 L 486 423.86344 C 486 427.54166 483.01822 430.52344 479.34 430.52344 L 402.66 430.52344 C 398.98178 430.52344 396 427.54166 396 423.86344 L 396 384.66 C 396 380.98178 398.98178 378 402.66 378 Z" fill="url(#Obj_Gradient_8)"/><path d="M 402.66 378 L 479.34 378 C 483.01822 378 486 380.98178 486 384.66 L 486 423.8634
 4 C 486 427.54166 483.01822 430.52344 479.34 430.52344 L 402.66 430.52344 C 398.98178 430.52344 396 427.54166 396 423.86344 L 396 384.66 C 396 380.98178 398.98178 378 402.66 378 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(400 382)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="30.438477" y="10" textLength="21.123047">Peer</tspan></text></g><line x1="420.10582" y1="447.93525" x2="434.89418" y2="435.61163" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><g id="id16_Graphic"><path d="M 348.66 462.02344 L 425.34 462.02344 C 429.01822 462.02344 432 465.00522 432 468.68344 L 432 480.88688 C 432 484.5651 429.01822 487.54688 425.34 487.54688 L 348.66 487.54688 C 344.98178 487.54688 342 484.5651 342 480.88688 L 342 468.68344 C 3
 42 465.00522 344.98178 462.02344 348.66 462.02344 Z" fill="url(#Obj_Gradient_9)"/><path d="M 348.66 462.02344 L 425.34 462.02344 C 429.01822 462.02344 432 465.00522 432 468.68344 L 432 480.88688 C 432 484.5651 429.01822 487.54688 425.34 487.54688 L 348.66 487.54688 C 344.98178 487.54688 342 484.5651 342 480.88688 L 342 468.68344 C 342 465.00522 344.98178 462.02344 348.66 462.02344 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(346 468.78516)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="24.322754" y="10" textLength="33.354492">Locator</tspan></text></g><g id="id17_Graphic"><path d="M 141.66 400.14844 L 488.34 400.14844 C 492.01822 400.14844 495 403.13022 495 406.80844 L 495 418.23844 C 495 421.91666 492.01822 424.89844 488.34 424.89844 L 141.66 424.89844 C 137.98178 424.89844 135 421.91666 135 418.23844 L 135 406.80844 C 135 403.13022 137.98178 400.14844 141.66 40
 0.14844 Z" fill="url(#Obj_Gradient_a)"/><path d="M 141.66 400.14844 L 488.34 400.14844 C 492.01822 400.14844 495 403.13022 495 406.80844 L 495 418.23844 C 495 421.91666 492.01822 424.89844 488.34 424.89844 L 141.66 424.89844 C 137.98178 424.89844 135 421.91666 135 418.23844 L 135 406.80844 C 135 403.13022 137.98178 400.14844 141.66 400.14844 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id18_Graphic"><path d="M 168.66 402.20508 L 209.34 402.20508 C 213.01822 402.20508 216 405.18686 216 408.86508 L 216 416.1818 C 216 419.86002 213.01822 422.8418 209.34 422.8418 L 168.66 422.8418 C 164.98178 422.8418 162 419.86002 162 416.1818 L 162 408.86508 C 162 405.18686 164.98178 402.20508 168.66 402.20508 Z" fill="url(#Obj_Gradient_b)"/><path d="M 168.66 402.20508 L 209.34 402.20508 C 213.01822 402.20508 216 405.18686 216 408.86508 L 216 416.1818 C 216 419.86002 213.01822 422.8418 209.34 422.8418 L 168.66 422.8418 C 164.98178 422.8418 162
  419.86002 162 416.1818 L 162 408.86508 C 162 405.18686 164.98178 402.20508 168.66 402.20508 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(166 401.52344)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.9921875" y="9" textLength="28.516113">Cache </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="13.494629" y="20" textLength="19.010742">Data</tspan></text></g><g id="id19_Graphic"><path d="M 294.66 402.20508 L 335.34 402.20508 C 339.01822 402.20508 342 405.18686 342 408.86508 L 342 416.1818 C 342 419.86002 339.01822 422.8418 335.34 422.8418 L 294.66 422.8418 C 290.98178 422.8418 288 419.86002 288 416.1818 L 288 408.86508 C 288 405.18686 290.98178 402.20508 294.66 402.20508 Z" fill="url(#Obj_Gradient_c)"/><path d="M 294.66 402.20508 L 335.34 402.20508 C 339.01822 402.20508 342 405.18686 342 408.86508 L 342 416.1818 C 342 419.86002 
 339.01822 422.8418 335.34 422.8418 L 294.66 422.8418 C 290.98178 422.8418 288 419.86002 288 416.1818 L 288 408.86508 C 288 405.18686 290.98178 402.20508 294.66 402.20508 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(292 401.52344)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.9921875" y="9" textLength="28.516113">Cache </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="13.494629" y="20" textLength="19.010742">Data</tspan></text></g><g id="id20_Graphic"><path d="M 420.66 402.20508 L 461.34 402.20508 C 465.01822 402.20508 468 405.18686 468 408.86508 L 468 416.1818 C 468 419.86002 465.01822 422.8418 461.34 422.8418 L 420.66 422.8418 C 416.98178 422.8418 414 419.86002 414 416.1818 L 414 408.86508 C 414 405.18686 416.98178 402.20508 420.66 402.20508 Z" fill="url(#Obj_Gradient_d)"/><path d="M 420.66 402.20508 L 461.34 402.20508 C 46
 5.01822 402.20508 468 405.18686 468 408.86508 L 468 416.1818 C 468 419.86002 465.01822 422.8418 461.34 422.8418 L 420.66 422.8418 C 416.98178 422.8418 414 419.86002 414 416.1818 L 414 408.86508 C 414 405.18686 416.98178 402.20508 420.66 402.20508 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(418 401.52344)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.9921875" y="9" textLength="28.516113">Cache </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="13.494629" y="20" textLength="19.010742">Data</tspan></text></g><line x1="209.89418" y1="447.93525" x2="195.10582" y2="435.61163" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><line x1="315" y1="438.47144" x2="315" y2="451.052" marker-end="ur
 l(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/cs_subscriptions.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/cs_subscriptions.svg b/geode-docs/images_svg/cs_subscriptions.svg
new file mode 100644
index 0000000..9764499
--- /dev/null
+++ b/geode-docs/images_svg/cs_subscriptions.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="229 275 261 257" width="261pt" height="257pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 09:18Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(451.125 406.125) scale(162.18008)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000
 " underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(472.5 514.125) scale(134.25332)"/><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_2" gradientTransform="translate(463.5 443.42578) scale(110.658763)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name=
 "Helvetica"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="8" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="-1500" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-style="italic" font-weight="500"><font-face-src><font-face-name name="Helvetica-Oblique"/></font-face-src></font-face><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(432 333) scale(115.98417)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M 8.9444437 0 L 0 -3.3541664 L 0 3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-10 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M -8.9444437 
 0 L 0 3.3541664 L 0 -3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-family="Helvetica" font-size="8" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="7" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>subscriptions</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="u
 rl(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 276.66 288 L 444.465 288 C 448.14322 288 451.125 290.98178 451.125 294.66 L 451.125 399.465 C 451.125 403.14322 448.14322 406.125 444.465 406.125 L 276.66 406.125 C 272.98178 406.125 270 403.14322 270 399.465 L 270 294.66 C 270 290.98178 272.98178 288 276.66 288 Z" fill="url(#Obj_Gradient)"/><path d="M 276.66 288 L 444.465 288 C 448.14322 288 451.125 290.98178 451.125 294.66 L 451.125 399.465 C 451.125 403.14322 448.14322 406.125 444.465 406.125 L 276.66 406.125 C 272.98178 406.125 270 403.14322 270 399.465 L 270 294.66 C 270 290.98178 272.98178 288 276.66 288 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(274 292)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="68.890625" y="11" textLength="35.34375">Server</ts
 pan></text></g><g id="id4_Graphic"><path d="M 317.16 437.97656 L 465.84 437.97656 C 469.51822 437.97656 472.5 440.95834 472.5 444.63656 L 472.5 507.465 C 472.5 511.14322 469.51822 514.125 465.84 514.125 L 317.16 514.125 C 313.48178 514.125 310.5 511.14322 310.5 507.465 L 310.5 444.63656 C 310.5 440.95834 313.48178 437.97656 317.16 437.97656 Z" fill="url(#Obj_Gradient_2)"/><path d="M 317.16 437.97656 L 465.84 437.97656 C 469.51822 437.97656 472.5 440.95834 472.5 444.63656 L 472.5 507.465 C 472.5 511.14322 469.51822 514.125 465.84 514.125 L 317.16 514.125 C 313.48178 514.125 310.5 511.14322 310.5 507.465 L 310.5 444.63656 C 310.5 440.95834 313.48178 437.97656 317.16 437.97656 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(314.5 496.625)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="61.660156" y="11" textLength="30.679688">Client</tspan></text></g><g id="id5_Graphic"
 ><path d="M 325.035 416.8125 L 456.84 416.8125 C 460.51822 416.8125 463.5 419.79428 463.5 423.4725 L 463.5 436.76578 C 463.5 440.444 460.51822 443.42578 456.84 443.42578 L 325.035 443.42578 C 321.35678 443.42578 318.375 440.444 318.375 436.76578 L 318.375 423.4725 C 318.375 419.79428 321.35678 416.8125 325.035 416.8125 Z" fill="url(#Obj_Gradient_3)"/><path d="M 325.035 416.8125 L 456.84 416.8125 C 460.51822 416.8125 463.5 419.79428 463.5 423.4725 L 463.5 436.76578 C 463.5 440.444 460.51822 443.42578 456.84 443.42578 L 325.035 443.42578 C 321.35678 443.42578 318.375 440.444 318.375 436.76578 L 318.375 423.4725 C 318.375 419.79428 321.35678 416.8125 325.035 416.8125 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(322.375 428.92578)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="48.03833" y="9" textLength="63.04834">connection pool</tspan></text></g><text transform="tra
 nslate(322.375 464.48828)" fill="black"><tspan font-family="Helvetica" font-size="8" font-style="italic" font-weight="500" fill="black" x="0" y="8" textLength="107.63281">used for updates to cache and</tspan><tspan font-family="Helvetica" font-size="8" font-style="italic" font-weight="500" fill="black" x="0" y="18" textLength="106.28125">for sending events to listeners</tspan></text><text transform="translate(242.5 428.875)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="10.3635254" y="9" textLength="39.023438">events to </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="4.362793" y="20" textLength="48.524414">other clients</tspan></text><g id="id8_Graphic"><path d="M 285.66 310.5 L 425.34 310.5 C 429.01822 310.5 432 313.48178 432 317.16 L 432 326.34 C 432 330.01822 429.01822 333 425.34 333 L 285.66 333 C 281.98178 333 279 330.01822 279 326.34 L 279 317.16 C 279 313.48178 281.98178 310.5 285.66 310.5 Z"
  fill="url(#Obj_Gradient_4)"/><path d="M 285.66 310.5 L 425.34 310.5 C 429.01822 310.5 432 313.48178 432 317.16 L 432 326.34 C 432 330.01822 429.01822 333 425.34 333 L 285.66 333 C 281.98178 333 279 330.01822 279 326.34 L 279 317.16 C 279 313.48178 281.98178 310.5 285.66 310.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(283 316.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="44.983643" y="9" textLength="55.032715">Cache events</tspan></text></g><rect x="337.5" y="416.8125" width="18" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="382.5" y="416.8125" width="9" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="391.5" y="416.8125" width="9" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><r
 ect x="400.5" y="416.8125" width="9" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="409.5" y="416.8125" width="9" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="346.5" y1="405.073" x2="346.5" y2="408.8645" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="297.78036" y1="421.5596" x2="314.21964" y2="403.0654" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="270.78036" y1="421.5596" x2="287.21964" y2="403.0654" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="346.68775" y1="4
 55.1663" x2="346.62709" y2="451.37276" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="283.5" y="346.5" width="18" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="283.5" y="355.5" width="18" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="283.5" y="364.5" width="18" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="283.5" y="373.5" width="18" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="283.5" y="388.125" width="18" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="310.5" y="346.5" width="18" height="9" stroke="#252525" stroke-linecap="round" stroke-l
 inejoin="round" stroke-width=".72000003"/><rect x="310.5" y="355.5" width="18" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="310.5" y="364.5" width="18" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="310.5" y="373.5" width="18" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="310.5" y="388.125" width="18" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="337.5" y="346.5" width="18" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="337.5" y="355.5" width="18" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="337.5" y="364.5" width="18" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=
 ".72000003"/><rect x="337.5" y="373.5" width="18" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="337.5" y="388.125" width="18" height="9" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(359.5 354.5)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="0" y="8" textLength="44.910156">subscription </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="0" y="18" textLength="26.246094">queues</tspan></text><text transform="translate(359.5 382.75)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="0" y="8" textLength="53.8125">connections to </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="0" y="18" textLength="22.675781">clients</tspan></text><text transform="translate(325.75 427.58333)" fill="black"><tspan 
 font-family="Helvetica" font-size="7" font-weight="500" fill="black" x="2.0742188" y="4.6666665" textLength="37.351562">subscription</tspan><tspan font-family="Helvetica" font-size="7" font-weight="500" fill="black" x="3.8208008" y="11.333333" textLength="33.858398">connection</tspan></text></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/cs_topology.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/cs_topology.svg b/geode-docs/images_svg/cs_topology.svg
new file mode 100644
index 0000000..e14dd6e
--- /dev/null
+++ b/geode-docs/images_svg/cs_topology.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="131 238 355 201" width="355pt" height="201pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 10:03Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(243 421.52344) scale(78.153857)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" 
 underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(351 420.75) scale(78.153857)"/><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(459 421.52344) scale(78.153857)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(468 415.125) scale(243.70795)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_3" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e0e0e0" stop-opacity=".65"/><stop offset="1" stop-color="whit
 e" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_5" xl:href="#Gradient_3" gradientTransform="translate(378 340.875) scale(127.358745)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(351 327.375) scale(78.153857)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(333 315.38672) scale(43.35671)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name
  name="Helvetica"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M 8.9444437 0 L 0 -3.3541664 L 0 3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-10 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M -8.9444437 0 L 0 3.3541664 L 0 -3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(342 333) scale(54.42024)"/><font-face font-family="Helvetica" font-size="8" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="50
 0"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="SharpArrow_Marker" viewBox="-5 -5 12 10" markerWidth="12" markerHeight="10" color="#252525"><g><path d="M 5.5902773 0 L -3.3541664 -3.3541664 L 0 0 L 0 0 L -3.3541664 3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_9" xl:href="#Gradient_2" gradientTransform="translate(225 413.06836) scale(43.35671)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_2" gradientTransform="translate(333 413.06836) scale(43.35671)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient_2" gradientTransform="translate(441 413.06836) scale(43.35671)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>cs</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter=
 "url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id16_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id17_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 159.66 369 L 236.34 369 C 240.01822 369 243 371.98178 243 375.66 L 243 414.86344 C 243 418.54166 240.01822 421.52344 236.34 421.52344 L 159.66 421.52344 C 155.98178 421.52344 153 418.54166 153 414.86344 L 153 375.66 C 153 371.98178 155.98178 369 159.66 369 Z" fill="url(#Obj_Gradient)"/><path d="M 159.66 369 L 236.34 369 C 240.01822 369 243 371.98178 243 375.66 L 243 414.86344 C 243 418.54166 240.01822 421.52344 236.34 421.52344 L 159.66 421.52344 C 155
 .98178 421.52344 153 418.54166 153 414.86344 L 153 375.66 C 153 371.98178 155.98178 369 159.66 369 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(157 373)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="26.273438" y="10" textLength="29.453125">Server</tspan></text></g><g id="id4_Graphic"><path d="M 267.66 368.22656 L 344.34 368.22656 C 348.01822 368.22656 351 371.20834 351 374.88656 L 351 414.09 C 351 417.76822 348.01822 420.75 344.34 420.75 L 267.66 420.75 C 263.98178 420.75 261 417.76822 261 414.09 L 261 374.88656 C 261 371.20834 263.98178 368.22656 267.66 368.22656 Z" fill="url(#Obj_Gradient_2)"/><path d="M 267.66 368.22656 L 344.34 368.22656 C 348.01822 368.22656 351 371.20834 351 374.88656 L 351 414.09 C 351 417.76822 348.01822 420.75 344.34 420.75 L 267.66 420.75 C 263.98178 420.75 261 417.76822 261 414.09 L 261 374.88656 C 261 371.20834 263.98178 368.22656 26
 7.66 368.22656 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(265 372.22656)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="26.273438" y="10" textLength="29.453125">Server</tspan></text></g><g id="id5_Graphic"><path d="M 375.66 369 L 452.34 369 C 456.01822 369 459 371.98178 459 375.66 L 459 414.86344 C 459 418.54166 456.01822 421.52344 452.34 421.52344 L 375.66 421.52344 C 371.98178 421.52344 369 418.54166 369 414.86344 L 369 375.66 C 369 371.98178 371.98178 369 375.66 369 Z" fill="url(#Obj_Gradient_3)"/><path d="M 375.66 369 L 452.34 369 C 456.01822 369 459 371.98178 459 375.66 L 459 414.86344 C 459 418.54166 456.01822 421.52344 452.34 421.52344 L 375.66 421.52344 C 371.98178 421.52344 369 418.54166 369 414.86344 L 369 375.66 C 369 371.98178 371.98178 369 375.66 369 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text 
 transform="translate(373 373)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="26.273438" y="10" textLength="29.453125">Server</tspan></text></g><g id="id6_Graphic"><path d="M 150.66 390.375 L 461.34 390.375 C 465.01822 390.375 468 393.35678 468 397.035 L 468 408.465 C 468 412.14322 465.01822 415.125 461.34 415.125 L 150.66 415.125 C 146.98178 415.125 144 412.14322 144 408.465 L 144 397.035 C 144 393.35678 146.98178 390.375 150.66 390.375 Z" fill="url(#Obj_Gradient_4)"/><path d="M 150.66 390.375 L 461.34 390.375 C 465.01822 390.375 468 393.35678 468 397.035 L 468 408.465 C 468 412.14322 465.01822 415.125 461.34 415.125 L 150.66 415.125 C 146.98178 415.125 144 412.14322 144 408.465 L 144 397.035 C 144 393.35678 146.98178 390.375 150.66 390.375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id7_Graphic"><path d="M 240.66 250.875 L 371.34 250.875 C 375.01822 250.875 378 253.85678 378 2
 57.535 L 378 334.215 C 378 337.89322 375.01822 340.875 371.34 340.875 L 240.66 340.875 C 236.98178 340.875 234 337.89322 234 334.215 L 234 257.535 C 234 253.85678 236.98178 250.875 240.66 250.875 Z" fill="url(#Obj_Gradient_5)"/><path d="M 240.66 250.875 L 371.34 250.875 C 375.01822 250.875 378 253.85678 378 257.535 L 378 334.215 C 378 337.89322 375.01822 340.875 371.34 340.875 L 240.66 340.875 C 236.98178 340.875 234 337.89322 234 334.215 L 234 257.535 C 234 253.85678 236.98178 250.875 240.66 250.875 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(238 254.875)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="15.306641" y="11" textLength="105.38672">Application Process</tspan></text></g><g id="id8_Graphic"><path d="M 267.66 274.85156 L 344.34 274.85156 C 348.01822 274.85156 351 277.83334 351 281.51156 L 351 320.715 C 351 324.39322 348.01822 327.375 344.34 327.375 L 267
 .66 327.375 C 263.98178 327.375 261 324.39322 261 320.715 L 261 281.51156 C 261 277.83334 263.98178 274.85156 267.66 274.85156 Z" fill="url(#Obj_Gradient_6)"/><path d="M 267.66 274.85156 L 344.34 274.85156 C 348.01822 274.85156 351 277.83334 351 281.51156 L 351 320.715 C 351 324.39322 348.01822 327.375 344.34 327.375 L 267.66 327.375 C 263.98178 327.375 261 324.39322 261 320.715 L 261 281.51156 C 261 277.83334 263.98178 274.85156 267.66 274.85156 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(265 278.85156)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="28.216797" y="10" textLength="25.566406">Client</tspan></text></g><g id="id9_Graphic"><path d="M 285.66 294.75 L 326.34 294.75 C 330.01822 294.75 333 297.73178 333 301.41 L 333 308.72672 C 333 312.40494 330.01822 315.38672 326.34 315.38672 L 285.66 315.38672 C 281.98178 315.38672 279 312.40494 279 308.72672 L 279 30
 1.41 C 279 297.73178 281.98178 294.75 285.66 294.75 Z" fill="url(#Obj_Gradient_7)"/><path d="M 285.66 294.75 L 326.34 294.75 C 330.01822 294.75 333 297.73178 333 301.41 L 333 308.72672 C 333 312.40494 330.01822 315.38672 326.34 315.38672 L 285.66 315.38672 C 281.98178 315.38672 279 312.40494 279 308.72672 L 279 301.41 C 279 297.73178 281.98178 294.75 285.66 294.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(283 294.06836)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="12.2421875" y="9" textLength="24.016113">Local </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.9921875" y="20" textLength="26.015625">Cache</tspan></text></g><path d="M 306 340.948 L 306 342.668 L 306 350.61328 L 306 358.55856 L 306 360.27856" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="roun
 d" stroke-linejoin="round" stroke-width=".72000003"/><g id="id11_Graphic"><path d="M 274.5 324 L 337.5 324 C 339.98528 324 342 326.01472 342 328.5 L 342 328.5 C 342 330.98528 339.98528 333 337.5 333 L 274.5 333 C 272.01472 333 270 330.98528 270 328.5 L 270 328.5 C 270 326.01472 272.01472 324 274.5 324 Z" fill="url(#Obj_Gradient_8)"/><path d="M 274.5 324 L 337.5 324 C 339.98528 324 342 326.01472 342 328.5 L 342 328.5 C 342 330.98528 339.98528 333 337.5 333 L 274.5 333 C 272.01472 333 270 330.98528 270 328.5 L 270 328.5 C 270 326.01472 272.01472 324 274.5 324 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(274 323.5)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="3.9785156" y="8" textLength="56.04297">connection pool</tspan></text></g><path d="M 288 340.948 L 288 344.34 C 288 348.01822 285.01822 351 281.34 351 L 202.166 351 C 199.86518 351 198 352.86518 198 355.166 L 1
 98 359.332 L 198 361.052" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 319.5 340.948 L 319.5 344.34 C 319.5 348.01822 322.48178 351 326.16 351 L 409.834 351 C 412.13482 351 414 352.86518 414 355.166 L 414 359.332 L 414 361.052" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 306 340.875 L 306 360.97356 L 306 362.69356" marker-end="url(#SharpArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id15_Graphic"><path d="M 177.66 392.43164 L 218.34 392.43164 C 222.01822 392.43164 225 395.41342 225 399.09164 L 225 406.40836 C 225 410.08658 222.01822 413.06836 218.34 413.06836 L 177.66 413.06836 C 173.98178 413.06836 171 410.08658 171 406.40836 L 171 399.09164 C 171 39
 5.41342 173.98178 392.43164 177.66 392.43164 Z" fill="url(#Obj_Gradient_9)"/><path d="M 177.66 392.43164 L 218.34 392.43164 C 222.01822 392.43164 225 395.41342 225 399.09164 L 225 406.40836 C 225 410.08658 222.01822 413.06836 218.34 413.06836 L 177.66 413.06836 C 173.98178 413.06836 171 410.08658 171 406.40836 L 171 399.09164 C 171 395.41342 173.98178 392.43164 177.66 392.43164 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(175 391.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.9921875" y="9" textLength="28.516113">Cache </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="13.494629" y="20" textLength="19.010742">Data</tspan></text></g><g id="id16_Graphic"><path d="M 285.66 392.43164 L 326.34 392.43164 C 330.01822 392.43164 333 395.41342 333 399.09164 L 333 406.40836 C 333 410.08658 330.01822 413.06836 326.34 413.06836 L 285.6
 6 413.06836 C 281.98178 413.06836 279 410.08658 279 406.40836 L 279 399.09164 C 279 395.41342 281.98178 392.43164 285.66 392.43164 Z" fill="url(#Obj_Gradient_a)"/><path d="M 285.66 392.43164 L 326.34 392.43164 C 330.01822 392.43164 333 395.41342 333 399.09164 L 333 406.40836 C 333 410.08658 330.01822 413.06836 326.34 413.06836 L 285.66 413.06836 C 281.98178 413.06836 279 410.08658 279 406.40836 L 279 399.09164 C 279 395.41342 281.98178 392.43164 285.66 392.43164 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(283 391.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.9921875" y="9" textLength="28.516113">Cache </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="13.494629" y="20" textLength="19.010742">Data</tspan></text></g><g id="id17_Graphic"><path d="M 393.66 392.43164 L 434.34 392.43164 C 438.01822 392.43164 441 395.41342 441 
 399.09164 L 441 406.40836 C 441 410.08658 438.01822 413.06836 434.34 413.06836 L 393.66 413.06836 C 389.98178 413.06836 387 410.08658 387 406.40836 L 387 399.09164 C 387 395.41342 389.98178 392.43164 393.66 392.43164 Z" fill="url(#Obj_Gradient_b)"/><path d="M 393.66 392.43164 L 434.34 392.43164 C 438.01822 392.43164 441 395.41342 441 399.09164 L 441 406.40836 C 441 410.08658 438.01822 413.06836 434.34 413.06836 L 393.66 413.06836 C 389.98178 413.06836 387 410.08658 387 406.40836 L 387 399.09164 C 387 395.41342 389.98178 392.43164 393.66 392.43164 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(391 391.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.9921875" y="9" textLength="28.516113">Cache </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="13.494629" y="20" textLength="19.010742">Data</tspan></text></g></g></g></svg>


[42/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_additional/case_sensitivity.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_additional/case_sensitivity.html.md.erb b/developing/query_additional/case_sensitivity.html.md.erb
deleted file mode 100644
index 2d49259..0000000
--- a/developing/query_additional/case_sensitivity.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  Case Sensitivity
----
-
-Query language keywords such as SELECT, NULL, DATE, and &lt;TRACE&gt; are case-insensitive. Identifiers such as attribute names, method names, and path expressions are case-sensitive.
-
-In terms of query string and region entry matching, if you want to perform a case-insensitive search on a particular field, you can use the Java String class `toUpperCase` and `toLowerCase` methods in your query. For example:
-
-``` pre
-SELECT entry.value FROM /exampleRegion.entries entry WHERE entry.value.toUpperCase LIKE '%BAR%'
-```
-
-or
-
-``` pre
-SELECT * FROM /exampleRegion WHERE foo.toLowerCase LIKE '%bar%'
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_additional/literals.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_additional/literals.html.md.erb b/developing/query_additional/literals.html.md.erb
deleted file mode 100644
index 37fcc0f..0000000
--- a/developing/query_additional/literals.html.md.erb
+++ /dev/null
@@ -1,65 +0,0 @@
----
-title:  Supported Literals
----
-
-## <a id="literals__section_BA2D0AC444EB45088F00D9E2C8A1DD06" class="no-quick-link"></a>Comparing Values With java.util.Date
-
-Geode supports the following literal types:
-
-<dt>**boolean**</dt>
-<dd>A `boolean` value, either TRUE or FALSE</dd>
-<dt>**int** and **long**</dt>
-<dd>An integer literal is of type `long` if has a suffix of the ASCII letter L. Otherwise it is of type `int`.</dd>
-<dt>**floating point**</dt>
-<dd>A floating-point literal is of type `float` if it has a suffix of an ASCII letter `F`. Otherwise its type is `double`. Optionally, it can have a suffix of an ASCII letter `D`. A double or floating point literal can optionally include an exponent suffix of `E` or `e`, followed by a signed or unsigned number.</dd>
-
-<dt>**string**</dt>
-<dd>String literals are delimited by single quotation marks. Embedded single-quotation marks are doubled. For example, the character string `'Hello'` evaluates to the value `Hello`, while the character string `'He said, ''Hello'''` evaluates to `He said, 'Hello'`. Embedded newlines are kept as part of the string literal.</dd>
-<dt>**char**</dt>
-<dd>A literal is of type char if it is a string literal prefixed by the keyword `CHAR`, otherwise it is of type `string`. The `CHAR` literal for the single-quotation mark character is `CHAR` `''''` (four single quotation marks).</dd>
-<dt>**date**</dt>
-<dd>A `java.sql.Date` object that uses the JDBC format prefixed with the DATE keyword: `DATE yyyy-mm-dd`. In the `Date`, `yyyy` represents the year, `mm` represents the month, and `dd` represents the day. The year must be represented by four digits; a two-digit shorthand for the year is not allowed.</dd>
-<dt>**time**</dt>
-<dd>A `java.sql.Time` object that uses the JDBC format (based on a 24-hour clock) prefixed with the TIME keyword: `TIME hh:mm:ss`. In the `Time`, `hh` represents the hours, `mm` represents the minutes, and `ss` represents the seconds.</dd>
-<dt>**timestamp**</dt>
-<dd>A `java.sql.Timestamp` object that uses the JDBC format with a TIMESTAMP prefix: `TIMESTAMP yyyy-mm-dd hh:mm:ss.fffffffff` In the `Timestamp`, `yyyy-mm-dd` represents the `date`, `hh:mm:ss` represents the `time`, and `fffffffff` represents the fractional seconds (up to nine digits).</dd>
-<dt>**NIL**</dt>
-<dd>Equivalent alternative of `NULL`.</dd>
-<dt>**NULL**</dt>
-<dd>The same as `null` in Java.</dd>
-<dt>**UNDEFINED**</dt>
-<dd>A special literal that is a valid value for any data type. An `UNDEFINED` value is the result of accessing an attribute of a null-valued attribute. Note that if you access an attribute that has an explicit value of null, then it is not undefined. For example if a query accesses the attribute address.city and address is null, the result is undefined. If the query accesses address, then the result is not undefined, it is `NULL`.</dd>
-
-You can compare temporal literal values `DATE`, `TIME`, and `TIMESTAMP` with `java.util.Date` values. There is no literal for `java.util.Date` in the query language.
-
-## <a id="literals__section_9EE6CFC410D2409188EDEAA43AC85851" class="no-quick-link"></a>Type Conversion
-
-The Geode query processor performs implicit type conversions and promotions under certain cases in order to evaluate expressions that contain different types. The query processor performs binary numeric promotion, method invocation conversion, and temporal type conversion.
-
-## <a id="literals__section_F5A3FC509FD04E09B5468BA94B814701" class="no-quick-link"></a>Binary Numeric Promotion
-
-The query processor performs binary numeric promotion on the operands of the following operators:
-
--   Comparison operators &lt;, &lt;=, &gt;, and &gt;=
--   Equality operators = and &lt;&gt;
--   Binary numeric promotion widens the operands in a numeric expression to the widest representation used by any of the operands. In each expression, the query processor applies the following rules in the prescribed order until a conversion is made:
-    1.  If either operand is of type double, the other is converted to double
-    2.  If either operand is of type float, the other is converted to float
-    3.  If either operand is of type long, the other is converted to long
-    4.  Both operands are converted to type int char
-
-## <a id="literals__section_BA277AC4A9B34C93A5291ECC1FDC11C7" class="no-quick-link"></a>Method Invocation Conversion
-
-Method invocation conversion in the query language follows the same rules as Java method invocation conversion, except that the query language uses runtime types instead of compile time types, and handles null arguments differently than in Java. One aspect of using runtime types is that an argument with a null value has no typing information, and so can be matched with any type parameter. When a null argument is used, if the query processor cannot determine the proper method to invoke based on the non-null arguments, it throws an AmbiguousNameException
-
-## <a id="literals__section_0A1A6EFE98A24538B651373B1C6ED8C0" class="no-quick-link"></a>Temporal Type Conversion
-
-The temporal types that the query language supports include the Java types java.util.Date , java.sql.Date , java.sql.Time , and java.sql.Timestamp , which are all treated the same and can be compared and used in indexes. When compared with each other, these types are all treated as nanosecond quantities.
-
-## <a id="literals__section_73255A4630C94D04B461B1480AAF2F66" class="no-quick-link"></a>Enum Conversion
-
-Enums are not automatically converted. To use Enum values in query, you must use the toString method of the enum object or use a query bind parameter. See [Enum Objects](../query_select/the_where_clause.html#the_where_clause__section_59E7D64746AE495D942F2F09EF7DB9B5) for more information.
-
-## <a id="literals__section_CB624C143A2743C5ADC6F95C962F176B" class="no-quick-link"></a>Query Evaulation of Float.NaN and Double.NaN
-
-Float.NaN and Double.NaN are not evaluated as primitives; instead, they are compared in the same manner used as the JDK methods Float.compareTo and Double.compareTo. See [Double.NaN and Float.NaN Comparisons](../query_select/the_where_clause.html#the_where_clause__section_E7206D045BEC4F67A8D2B793922BF213) for more information.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_additional/operators.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_additional/operators.html.md.erb b/developing/query_additional/operators.html.md.erb
deleted file mode 100644
index b05d5d3..0000000
--- a/developing/query_additional/operators.html.md.erb
+++ /dev/null
@@ -1,40 +0,0 @@
----
-title:  Operators
----
-
-Geode supports comparison, logical, unary, map, index, dot, and right arrow operators.
-
-## <a id="operators__section_A3FB372F85D840D7A49CB95BD7FCA7C6" class="no-quick-link"></a>Comparison Operators
-
-Comparison operators compare two values and return the results, either TRUE or FALSE.
-
-The following are supported comparison operators:
-
-|                       |                                |
-|-----------------------|--------------------------------|
-| = equal to            | &lt; less than                 |
-| &lt;&gt; not equal to | &lt;= less than or equal to    |
-| != not equal to       | &gt; greater than              |
-| �                     | &gt;= greater than or equal to |
-
-The equal and not equal operators have lower precedence than the other comparison operators. They can be used with null. To perform equality or inequality comparisons with UNDEFINED, use the IS\_DEFINED and IS\_UNDEFINED preset query functions instead of these comparison operators.
-
-## <a id="operators__section_6A85A9DDA47E47009FDE1CC38D7BA66C" class="no-quick-link"></a>Logical Operators
-
-The logical operators AND and OR allow you to create more complex expressions by combining expressions to produce a boolean result. When you combine two conditional expressions using the AND operator, both conditions must evaluate to true for the entire expression to be true. When you combine two conditional expressions using the OR operator, the expression evaluates to true if either one or both of the conditions are true. You can create complex expressions by combining multiple simple conditional expressions with AND and OR operators. When expressions use AND and OR operators, AND has higher precedence than OR.
-
-## <a id="operators__section_A970AE75B0D24E0B9E1B61BE2D9842D8" class="no-quick-link"></a>Unary Operators
-
-Unary operators operate on a single value or expression, and have lower precedence than comparison operators in expressions. Geode supports the unary operator NOT. NOT is the negation operator, which changes the value of the operand to its opposite. So if an expression evaluates to TRUE, NOT changes it to FALSE. The operand must be a boolean.
-
-## <a id="operators__section_E78FB4FB3703471C8186A0E26D25F01F" class="no-quick-link"></a>Map and Index Operators
-
-Map and index operators access elements in key/value collections (such as maps and regions) and ordered collections (such as arrays, lists, and `String`s). The operator is represented by a set of square brackets (`[ ]`) immediately following the name of the collection. The mapping or indexing specification is provided inside these brackets.
-
-Array, list, and `String` elements are accessed using an index value. Indexing starts from zero for the first element, 1 for the second element and so on. If `myList` is an array, list, or String and `index` is an expression that evaluates to a non-negative integer, then `myList[index]` represents the (`index + 1`)th element of `myList`. The elements of a `String` are the list of characters that make up the string.
-
-Map and region values are accessed by key using the same syntax. The key can be any `Object`. For a `Region`, the map operator performs a non-distributed `get` in the local cache only - with no use of `netSearch`. So `myRegion[keyExpression]` is the equivalent of `myRegion.getEntry(keyExpression).getValue`.
-
-## <a id="operators__section_6C0BB787B2324B85AA02AA19D4822A83" class="no-quick-link"></a>Dot, Right Arrow, and Forward Slash Operators
-
-The dot operator (`.`) separates attribute names in a path expression, and specifies the navigation through object attributes. An alternate equivalent to the dot is the right arrow, (`->`). The forward slash is used to separate region names when navigating into subregions.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_additional/order_by_on_partitioned_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_additional/order_by_on_partitioned_regions.html.md.erb b/developing/query_additional/order_by_on_partitioned_regions.html.md.erb
deleted file mode 100644
index 4d52a88..0000000
--- a/developing/query_additional/order_by_on_partitioned_regions.html.md.erb
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title:  Using ORDER BY on Partitioned Regions
----
-
-To execute a query with an ORDER BY clause on a partitioned region, the fields specified in the ORDER BY clause must be part of the projection list.
-
-When an ORDER BY clause is used with a partition region query, the query is executed separately on each region host, the local query coordinator, and all remote members. The results are all gathered by the query coordinator. The cumulative result set is built by applying ORDER BY on the gathered results. If the LIMIT clause is also used in the query, ORDER BY and LIMIT are applied on each node before each node\u2019s results are returned to the coordinator. Then the clauses are applied to the cumulative result set to get the final result set, which is returned to the calling application.
-
-**Example:**
-
-``` pre
-// This query works because p.status is part of projection list
-select distinct p.ID, p.status from /region p where p.ID > 5 order by p.status
-// This query works providing status is part of the value indicated by *
-select distinct * from /region where ID > 5 order by status 
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_additional/partitioned_region_key_or_field_value.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_additional/partitioned_region_key_or_field_value.html.md.erb b/developing/query_additional/partitioned_region_key_or_field_value.html.md.erb
deleted file mode 100644
index f97c011..0000000
--- a/developing/query_additional/partitioned_region_key_or_field_value.html.md.erb
+++ /dev/null
@@ -1,66 +0,0 @@
----
-title:  Optimizing Queries on Data Partitioned by a Key or Field Value
----
-
-You can improve query performance on data that is partitioned by key or a field value by creating a key index and then executing the query using the `FunctionService` with the key or field value used as filter.
-
-The following is an example how to optimize a query that will be run on data partitioned by region key value. In the following example, data is partitioned by the "orderId" field.
-
-1.  Create a key index on the orderId field. See [Creating Key Indexes](../query_index/creating_key_indexes.html#concept_09E29507AF0D42CF81D261B030D0B7C8) for more details.
-2.  Execute the query using the function service with orderId provided as the filter to the function context. For example:
-
-    ``` pre
-    /**
-     * Execute MyFunction for query on data partitioned by orderId key
-     *
-     */
-    public class TestFunctionQuery {
-
-      public static void main(String[] args) {
-
-        Set filter =  new HashSet();
-        ResultCollector rcollector = null;
-
-        //Filter data based on orderId  = '12345'
-        filter.add(12345);
-
-        //Query to get all orders that match ID 12345 and amount > 1000
-        String qStr = "SELECT * FROM /Orders WHERE orderId = '12345' AND amount > 1000";
-
-        try {
-          Function func = new MyFunction("testFunction");
-
-          Region region = CacheFactory.getAnyInstance().getRegion("myPartitionRegion");
-
-          //Function will be routed to one node containing the bucket
-          //for ID=1 and query will execute on that bucket.
-          rcollector = FunctionService
-              .onRegion(region)
-              .withArgs(qStr)
-              .withFilter(filter)
-              .execute(func);
-
-          Object result = rcollector.getResult();
-
-          //Results from one or multiple nodes.
-          ArrayList resultList = (ArrayList)result;
-
-          List queryResults = new ArrayList();
-
-          if (resultList.size()!=0) {
-            for (Object obj: resultList) {
-              if (obj != null) {
-                queryResults.addAll((ArrayList)obj);
-              }
-            }
-          }
-          printResults(queryResults);
-
-        } catch (FunctionException ex) {
-            getLogger().info(ex);
-        }
-      }
-    }
-    ```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_additional/partitioned_region_query_restrictions.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_additional/partitioned_region_query_restrictions.html.md.erb b/developing/query_additional/partitioned_region_query_restrictions.html.md.erb
deleted file mode 100644
index 429081e..0000000
--- a/developing/query_additional/partitioned_region_query_restrictions.html.md.erb
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title:  Partitioned Region Query Restrictions
----
-
-## <a id="concept_5353476380D44CC1A7F586E5AE1CE7E8__section_16875A7EA07D42C08FB194F4A854360D" class="no-quick-link"></a>Query Restrictions in Partitioned Regions
-
-Partitioned region queries function the same as non-partitioned region queries, except for the restrictions listed in this section. Partitioned region queries that do not follow these guidelines generate an `UnsupportedOperationException`.
-
--   Join queries between partitioned region and between partitioned regions and replicated regions are supported through the function service only. Join queries partitioned regions are not supported through the client server API.
--   You can run join queries on partitioned regions and on partitioned regions and replicated regions only if they are co-located. Equi-join queries are supported only on partitioned regions that are co-located and where the co-located columns are indicated in the WHERE clause of the query. In the case of multi-column partitioning, there should also be an AND clause in the WHERE specification. See [Colocate Data from Different Partitioned Regions](../partitioned_regions/colocating_partitioned_region_data.html#colocating_partitioned_region_data) for more information on partitioned region co-location.
--   Equi-join queries are allowed between partitioned regions and between partitioned regions and local replicated regions as long as the local replicated region also exists on all partitioned region nodes. To perform a join query on a partitioned region and another region (partitioned or not), you need to use the `query.execute` method and supply it with a function execution context. See [Performing an Equi-Join Query on Partitioned Regions](../partitioned_regions/join_query_partitioned_regions.html#concept_B930D276F49541F282A2CFE639F107DD) for an example.
--   The query must be just a SELECT expression (as opposed to arbitrary OQL expressions), preceded by zero or more IMPORT statements. For example, this query is not allowed because it is not just a SELECT expression:
-
-    ``` pre
-    // NOT VALID for partitioned regions
-    (SELECT DISTINCT *FROM /prRgn WHERE attribute > 10).size
-    ```
-
-    This query is allowed:
-
-    ``` pre
-    // VALID for partitioned regions
-    SELECT DISTINCT *FROM /prRgn WHERE attribute > 10
-    ```
-
--   The SELECT expression itself can be arbitrarily complex, including nested SELECT expressions, as long as only one partitioned region is referenced.
--   The partitioned region reference can only be in the first FROM clause iterator. Additional FROM clause iterators are allowed if they do not reference any regions (such as drilling down into the values in the partitioned region).
--   The first FROM clause iterator must contain only one reference to the partitioned region (the reference can be a parameter, such as $1).
--   The first FROM clause iterator cannot contain a subquery, but subqueries are allowed in additional FROM clause iterators.
--   You can use ORDER BY on partitioned region queries, but the fields that are specified in the ORDER BY clause must be part of the projection list.
--   If a partition region (or a bucket) being queried has been destroyed, the query is reattempted on the new primary for the destroyed bucket (if it exists). After certain number of attempts, a QueryException is thrown if all buckets (calculated at the startup of the query) cannot be queried.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_additional/query_debugging.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_additional/query_debugging.html.md.erb b/developing/query_additional/query_debugging.html.md.erb
deleted file mode 100644
index b39cf08..0000000
--- a/developing/query_additional/query_debugging.html.md.erb
+++ /dev/null
@@ -1,87 +0,0 @@
----
-title:  Query Debugging
----
-
-You can debug a specific query at the query level by adding the `<trace>` keyword before the query string that you want to debug.
-
-Here is an example:
-
-``` pre
-<trace> select * from /exampleRegion
-```
-
-You can also write:
-
-``` pre
-<TRACE> select * from /exampleRegion
-```
-
-When the query is executed, Geode will log a message in `$GEMFIRE_DIR/system.log` with the following information:
-
-``` pre
-[info 2011/08/29 11:24:35.472 PDT CqServer <main> tid=0x1] Query Executed in 9.619656 ms; rowCount = 99; indexesUsed(0) "select *  from /exampleRegion" 
-```
-
-If you want to enable debugging for all queries, you can enable query execution logging by setting a System property on the command line during start-up:
-
-``` pre
-gfsh>start server --name=server_name -\u2013J=-Dgemfire.Query.VERBOSE=true
-```
-
-Or you can set the property programmatically:
-
-``` pre
-System.setProperty("gemfire.Query.VERBOSE","true");
-```
-
-As an example, let us say you have an EmployeeRegion that that contains Employee objects as values and the objects have public fields in them like ID and status.
-
-``` pre
-Employee.java
-Class Employee {
- public int ID;
- public String status;
- - - - - - -
- - - - - - -
-}
-```
-
-In addition, you have created the following indexes for the region:
-
-``` pre
-<index name="sampleIndex-1">
-<functional from-clause="/test " expression="ID"/>
-</index>
-<index name="sampleIndex-2">
-<functional from-clause="/test " expression="status"/>
-</index>
-```
-
-After you have set `gemfire.Query.VERBOSE` to "true", you could see the following debug messages in the logs after running queries on the EmployeeRegion or its indexes:
-
--   If indexes are not used in the query execution, you would see a debug message like this:
-
-    ``` pre
-    [info 2011/08/29 11:24:35.472 PDT CqServer <main> tid=0x1] Query Executed in 9.619656 ms; rowCount = 99; indexesUsed(0) "select * from /test k where ID > 0 and status='active'"
-    ```
-
--   When single index is used in query execution, you might see a debug message like this:
-
-    ``` pre
-    [info 2011/08/29 11:24:35.472 PDT CqServer <main> tid=0x1] Query Executed in 101.43499 ms; rowCount = 199; indexesUsed(1):sampleIndex-1(Results: 199) "select count *   from /test k where ID > 0"
-    ```
-
--   When multiple indexes are used by a query, you might see a debug message like this:
-
-    ``` pre
-    [info 2011/08/29 11:24:35.472 PDT CqServer <main> tid=0x1] Query Executed in 79.43847 ms; rowCount = 199; indexesUsed(2):sampleIndex-2(Results: 100),sampleIndex-1(Results: 199) "select * from /test k where ID > 0 OR status='active'"
-    ```
-
-In above log messages, the following information is provided:
-
--   "rowCount" represents ResultSet size for the query.
--   "indexesUsed(\\n) " shows n indexes were used for finding the results of the query.
--   Each index name and its corresponding results are reported respectively.
--   The log can be identified with the original query string itself appended in the end.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_additional/query_language_features.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_additional/query_language_features.html.md.erb b/developing/query_additional/query_language_features.html.md.erb
deleted file mode 100644
index eea7cc0..0000000
--- a/developing/query_additional/query_language_features.html.md.erb
+++ /dev/null
@@ -1,24 +0,0 @@
----
-title:  OQL Syntax and Semantics
----
-
-<a id="concept_5B8BA904DF2A41BEAA057017777D4E90__section_33F0FD791A2448CB812E8397828B33C2"></a>
-This section covers the following querying language features:
-
--   **[Supported Character Sets](../../developing/querying_basics/supported_character_sets.html)**
-
--   **[Supported Keywords](../../developing/query_additional/supported_keywords.html)**
-
--   **[Case Sensitivity](../../developing/query_additional/case_sensitivity.html)**
-
--   **[Comments in Query Strings](../../developing/querying_basics/comments_in_query_strings.html)**
-
--   **[Query Language Grammar](../../developing/querying_basics/query_grammar_and_reserved_words.html)**
-
--   **[Operators](../../developing/query_additional/operators.html)**
-
--   **[Reserved Words](../../developing/querying_basics/reserved_words.html)**
-
--   **[Supported Literals](../../developing/query_additional/literals.html)**
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_additional/query_on_a_single_node.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_additional/query_on_a_single_node.html.md.erb b/developing/query_additional/query_on_a_single_node.html.md.erb
deleted file mode 100644
index 6b56cb0..0000000
--- a/developing/query_additional/query_on_a_single_node.html.md.erb
+++ /dev/null
@@ -1,155 +0,0 @@
----
-title:  Querying a Partitioned Region on a Single Node
----
-
-To direct a query to specific partitioned region node, you can execute the query within a function. Use the following steps:
-
-1.  Implement a function which executes a query using RegionFunctionContext.
-
-    ``` pre
-    /**
-     * This function executes a query using its RegionFunctionContext
-     * which provides a filter on data which should be queried.
-     *
-     */
-    public class MyFunction extends FunctionAdapter {
-
-        private final String id;
-
-        @Override
-        public void execute(FunctionContext context) {
-
-          Cache cache = CacheFactory.getAnyInstance();
-          QueryService queryService = cache.getQueryService();
-
-          String qstr = (String) context.getArguments();
-
-          try {
-            Query query = queryService.newQuery(qstr);
-
-            //If function is executed on region, context is RegionFunctionContext
-            RegionFunctionContext rContext = (RegionFunctionContext)context;
-
-            SelectResults results = (SelectResults) query.execute(rContext)
-
-            //Send the results to function caller node.
-            context.getResultSender().sendResult((ArrayList) (results).asList());
-            context.getResultSender().lastResult(null);
-
-          } catch (Exception e) {
-            throw new FunctionException(e);
-          }
-        }
-
-        @Override
-        public boolean hasResult() {
-          return true;
-        }
-
-        @Override
-        public boolean isHA() {
-          return false;
-        }
-
-
-        public MyFunction(String id) {
-          super();
-          this.id = id;
-        }
-
-        @Override
-        public String getId() {
-          return this.id;
-        }
-      }
-    ```
-
-2.  Decide on the data you want to query. Based on this decision, you can use `PartitionResolver` to configure the organization of buckets to be queried in the Partitioned Region.
-
-    For example, let's say that you have defined the PortfolioKey class:
-
-    ``` pre
-    public class PortfolioKey implements DataSerializable {
-      private int id;
-      private long startValidTime;
-      private long endValidTime
-      private long writtenTime
-      
-      public int getId() {
-        return this.id;
-      }
-    ...
-    }
-    ```
-
-    You could use the `MyPartitionResolver` to store all keys with the same ID in the same bucket. This `PartitionResolver` has to be configured at the time of Partition Region creation either declaratively using xml OR using APIs. See [Configuring Partitioned Regions](../partitioned_regions/managing_partitioned_regions.html#configure_partitioned_regions) for more information.
-
-    ``` pre
-    /** This resolver returns the value of the ID field in the key. With this resolver, 
-     * all Portfolios using the same ID are colocated in the same bucket.
-     */
-    public class MyPartitionResolver implements PartitionResolver, Declarable {
-
-       public Serializable getRoutingObject(EntryOperation operation) {
-       return operation.getKey().getId();
-    }
-    ```
-
-3.  Execute the function on a client or any other node by setting the filter in the function call.
-
-    ``` pre
-    /**
-     * Execute MyFunction for query on specified keys.
-     *
-     */
-    public class TestFunctionQuery {
-
-      public static void main(String[] args) {
-
-        ResultCollector rcollector = null;
-        PortfolioKey portfolioKey1 = ...;
-
-        //Filter data based on portfolioKey1 which is the key used in 
-        //region.put(portfolioKey1, portfolio1);
-        Set filter = Collections.singleton(portfolioKey1);
-
-        //Query to get all positions for portfolio ID = 1
-        String qStr = "SELECT positions FROM /myPartitionRegion WHERE ID = 1";
-
-        try {
-          Function func = new MyFunction("testFunction");
-
-          Region region = CacheFactory.getAnyInstance().getRegion("myPartitionRegion");
-
-          //Function will be routed to one node containing the bucket
-          //for ID=1 and query will execute on that bucket.
-          rcollector = FunctionService
-              .onRegion(region)
-              .withArgs(qStr)
-              .withFilter(filter)
-              .execute(func);
-
-          Object result = rcollector.getResult();
-
-          //Results from one or multiple nodes.
-          ArrayList resultList = (ArrayList)result;
-
-          List queryResults = new ArrayList();
-
-          if (resultList.size()!=0) {
-            for (Object obj: resultList) {
-              if (obj != null) {
-                queryResults.addAll((ArrayList)obj);
-              }
-            }
-          }
-          printResults(queryResults);
-
-        } catch (FunctionException ex) {
-            getLogger().info(ex);
-        }
-      }
-    }
-    ```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_additional/supported_keywords.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_additional/supported_keywords.html.md.erb b/developing/query_additional/supported_keywords.html.md.erb
deleted file mode 100644
index 1a257f6..0000000
--- a/developing/query_additional/supported_keywords.html.md.erb
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title:  Supported Keywords
----
-
-| Query Language Keyword | Description                                                                                                                                                                                                                                                                                                                                         | Example                                                                                                                                                                                                                                                    |
-|------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| AND                    | Logical operator used to create complex expressions by combining two or more expressions to produce a Boolean result. When you combine two conditional expressions using the AND operator, both conditions must evaluate to true for the entire expression to be true.                                                                              | See [Operators](operators.html#operators)                                                                                                                                                                                          |
-| AS                     | Used to provide a label for a path expression so you can refer to the path by the label later.                                                                                                                                                                                                                                                      | See [Aliases and Synonyms](../query_select/the_from_clause.html#the_from_clause__section_AB1734C16DC348479C00FD6829B933AA)                                                                                                         |
-| COUNT                  | Returns the number of results that match the provided criteria.                                                                                                                                                                                                                                                                                     | See [COUNT](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_B2CBA00EB83F463DAF4769D7859C64C8)                                                                                          |
-| DISTINCT               | Restricts the select statement to unique results (eliminates duplicates).                                                                                                                                                                                                                                                                           | See [DISTINCT](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_972EE73A6F3E4427B6A99DB4EDF5860D)                                                                                       |
-| ELEMENT                | Query function. Extracts a single element from a collection or array. This function throws a `FunctionDomainException ` if the argument is not a collection or array with exactly one element.                                                                                                                                                      | See [Preset Query Functions](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_69DCAD624E9640028BC86FD67649DEB2)                                                                         |
-| FROM                   | You can access any object or object attribute that is available in the current scope of the query.                                                                                                                                                                                                                                                  | See [FROM Clause](../query_select/the_from_clause.html#the_from_clause)                                                                                                                                                            |
-| &lt;HINT&gt;           | Keyword that instructs the query engine to prefer certain indexes.                                                                                                                                                                                                                                                                                  | See [Using Query Index Hints](../query_index/query_index_hints.html)                                                             |
-| IMPORT                 | Used to establish the namescope for objects.                                                                                                                                                                                                                                                                                                        | See [IMPORT Statement](../query_select/the_import_statement.html#concept_2E9F15B2FE9041238B54736103396BF7)                                                                                                                         |
-| IN                     | The IN expression is a Boolean indicating whether one expression is present inside a collection of expressions of a compatible type.                                                                                                                                                                                                                | See [IN and SET](../query_select/the_where_clause.html#the_where_clause__section_AC12146509F141378E493078540950C7)                                                                                                                 |
-| IS\_DEFINED            | Query function. Returns TRUE if the expression does not evaluate to UNDEFINED.                                                                                                                                                                                                                                                                      | See [Preset Query Functions](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_69DCAD624E9640028BC86FD67649DEB2)                                                                         |
-| IS\_UNDEFINED          | Query function. Returns TRUE if the expression evaluates to UNDEFINED. In most queries, undefined values are not included in the query results. The IS\_UNDEFINED function allows undefined values to be included, so you can identify element with undefined values.                                                                               | See [Preset Query Functions](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_69DCAD624E9640028BC86FD67649DEB2)                                                                         |
-| LIMIT                  | Limits the number of returned results. If you use the limit keyword, you cannot also run operations on the query result set that perform any kind of summary activities. For example trying to run add or addAll or a SelectResult from a query with a LIMIT clause throws an exception.                                                            | See [LIMIT](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_25D7055B33EC47B19B1B70264B39212F)                                                                                          |
-| LIKE                   | LIKE can be used to mean 'equals to', or if you terminate the string with a wildcard character (`%`), it behaves like 'starts with'. Note that the wildcard can only be used at the end of the comparison string. You can escape the wildcard character to represent the `%` character. You can also use the LIKE predicate if an index is present. | See [LIKE](../query_select/the_where_clause.html#the_where_clause__section_D91E0B06FFF6431490CC0BFA369425AD)                                                                                                                       |
-| NOT                    | The example returns the set of portfolios that have positions. Note that NOT cannot use an index.                                                                                                                                                                                                                                                   | See [Operators](operators.html#operators)                                                                                                                                                                                          |
-| NVL                    | Returns expr2 if expr1 is null. The expressions can be query parameters (bind arguments), path expressions, or literals.                                                                                                                                                                                                                            | See [Preset Query Functions](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_69DCAD624E9640028BC86FD67649DEB2)                                                                         |
-| OR                     | If an expression uses both AND and OR operators, the AND expression has higher precedence than OR.                                                                                                                                                                                                                                                  | See [Operators](operators.html#operators)                                                                                                                                                                                          |
-| ORDER BY               | Allows you to order query results (either in ascending or descending order).                                                                                                                                                                                                                                                                        | See [ORDER BY](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_D9DF0F785CA94EF8B367C3326CC12990)                                                                                       |
-| SELECT                 | Allows you to filter data from the collection of object(s) returned by a WHERE search operation.                                                                                                                                                                                                                                                    | See [SELECT Statement](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E)                                                                                                                         |
-| SET                    | Specifies a collection of values that can be compared to the returned values of query.                                                                                                                                                                                                                                                              | See [IN and SET](../query_select/the_where_clause.html#the_where_clause__section_AC12146509F141378E493078540950C7)                                                                                                                 |
-| &lt;TRACE&gt;          | Enables debugging on the following query string.                                                                                                                                                                                                                                                                                                    | See [Query Debugging](query_debugging.html#concept_2D557E24AAB24044A3DB36B3124F6748) |
-| TO\_DATE               | Returns a Java Data class object. The arguments must be String S with date\_str representing the date and format\_str representing the format used by date\_str. The format\_str you provide is parsed using java.text.SimpleDateFormat.                                                                                                            | See [Preset Query Functions](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_69DCAD624E9640028BC86FD67649DEB2)                                                                         |
-| TYPE                   | Specifying object type in the FROM clause helps the query engine to process the query at optimal speed.                                                                                                                                                                                                                                             | See [Object Typing](../query_select/the_from_clause.html#the_from_clause__section_A5B42CCB7C924949954AEC2DAAD51134)                                                                                                                |
-| WHERE                  | Resolves to a collection of objects. The collection is then available for iteration in the query expressions that follow in the WHERE clause.                                                                                                                                                                                                       | See [WHERE Clause](../query_select/the_where_clause.html#the_where_clause)                                                                                                                                                         |
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_additional/using_query_bind_parameters.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_additional/using_query_bind_parameters.html.md.erb b/developing/query_additional/using_query_bind_parameters.html.md.erb
deleted file mode 100644
index cf9dcea..0000000
--- a/developing/query_additional/using_query_bind_parameters.html.md.erb
+++ /dev/null
@@ -1,48 +0,0 @@
----
-title:  Using Query Bind Parameters
----
-
-Using query bind parameters in Geode queries is similar to using prepared statements in SQL where parameters can be set during query execution. This allows user to build a query once and execute it multiple times by passing the query conditions during run time.
-
-Query objects are thread-safe.
-
-The use of query bind parameters is now supported in Client-to-Server queries.
-
-The query parameters are identified by a dollar sign, $, followed by a digit that represents the parameter's position in the parameter array passed to the execute method. Counting begins at 1, so $1 references the first bound attribute, $2 the second attribute, and so on.
-
-The Query interface provides an overloaded execute method that accepts parameters inside an Object array. See the [Query.execute](/releases/latest/javadoc/org/apache/geode/cache/query/Query.html) JavaDocs for more details.
-
-The 0th element of the Object array is used for the first query parameter, and so on. If the parameter count or parameter types do not match the query specification, the execute method throws an exception. Specifically, if you pass in the wrong number of parameters, the method call throws a `QueryParameterCountInvalidException`. If a parameter object type is not compatible with what is expected, the method call throws a `TypeMismatchException`.
-
-In the following example, the first parameter, the integer **2**, is bound to the first element in the object array. The second parameter, **active**, is bound to the second element.
-
-## <a id="concept_173E775FE46B47DF9D7D1E40680D34DF__section_7F5A800E2DA643F2B30162EF45DBA390" class="no-quick-link"></a>Sample Code
-
-``` pre
-// specify the query string
-String queryString = "SELECT DISTINCT * FROM /exampleRegion p WHERE p.id = $1 and p.status = $2";
-
-QueryService queryService = cache.getQueryService();
-Query query = queryService.newQuery(queryString);
-
-// set query bind parameters
-Object[] params = new Object[2];
-params[0] = 2;
-params[1] = "active";
-
-// Execute the query locally. It returns the results set.
-SelectResults results = (SelectResults) query.execute(params);
-
-// use the results of the query; this example only looks at the size 
- int size = results.size();
-```
-
-## <a id="concept_173E775FE46B47DF9D7D1E40680D34DF__section_90B4A0010CDA481581B650AE6D9EBA34" class="no-quick-link"></a>Using Query Bind Parameters in the Path Expression
-
-Additionally the query engine supports the use of query bind parameter in place of a region path. When you specify a bind parameter in the query's FROM clause, the parameter's referenced value must be bound to a collection.
-
-For example, the following query can be used on any collection by passing in the collection as a query parameter value. In this query you could pass in a Region Object for $1, but not the String name of a region.
-
-``` pre
-SELECT DISTINCT * FROM $1 p WHERE p.status = $2
-```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_index/create_multiple_indexes.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_index/create_multiple_indexes.html.md.erb b/developing/query_index/create_multiple_indexes.html.md.erb
deleted file mode 100644
index a629349..0000000
--- a/developing/query_index/create_multiple_indexes.html.md.erb
+++ /dev/null
@@ -1,61 +0,0 @@
----
-title:  Creating Multiple Indexes at Once
----
-
-In order to speed and promote efficiency when creating indexes, you can define multiple indexes and then create them all at once.
-
-Defining multiple indexes before creating them speeds up the index creation process by iterating over region entries only once.
-
-You can define multiple indexes of different types at once by specifying the `--type` parameter at definition time.
-
-To define multiple indexes, you can use gfsh or the Java API:
-
-**gfsh example:**
-
-``` pre
-gfsh> define index --name=myIndex1 --expression=exp1 --region=/exampleRegion 
-
-gfsh> define index --name=myIndex2 --expression="c.exp2" --region="/exampleRegion e, e.collection1 c" 
-
-gfsh> define index --name=myIndex3 --expression=exp3 --region=/exampleRegion --type=hash 
-
-gfsh> create defined indexes
- 
-```
-
-If index creation fails, you may receive an error message in gfsh similar to the following:
-
-``` pre
-gfsh>create defined indexes
-Exception : org.apache.geode.cache.query.RegionNotFoundException , 
-Message : Region ' /r3' not found: from  /r3Occurred on following members
-1. india(s1:17866)<v1>:27809
-```
-
-**Java API example:**
-
-``` pre
- Cache cache = new CacheFactory().create();
-    QueryService queryService = cache.getQueryService();
-    queryService.defineIndex("name1", "indexExpr1", "regionPath1");
-    queryService.defineIndex("name2", "indexExpr2", "regionPath2");
-    queryService.defineHashIndex("name3", "indexExpr3", "regionPath2");
-    queryService.defineKeyIndex("name4", "indexExpr4", "regionPath2");
-    List<Index> indexes = queryService.createDefinedIndexes();
-```
-
-If one or more index population fails, Geode collect the Exceptions and continues to populate the rest of the indexes. The collected `Exceptions` are stored in a Map of index names and exceptions that can be accessed through `MultiIndexCreationException`.
-
-Index definitions are stored locally on the `gfsh` client. If you want to create a new set of indexes or if one or more of the index creations fail, you might want to clear the definitions stored by using `clear defined indexes`command. The defined indexes can be cleared by using the Java API:
-
-``` pre
-queryService.clearDefinedIndexes();
-```
-
-or gfsh:
-
-``` pre
-gfsh> clear defined indexes
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_index/creating_an_index.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_index/creating_an_index.html.md.erb b/developing/query_index/creating_an_index.html.md.erb
deleted file mode 100644
index 8e977a7..0000000
--- a/developing/query_index/creating_an_index.html.md.erb
+++ /dev/null
@@ -1,94 +0,0 @@
----
-title:  Creating, Listing and Removing Indexes
----
-
-The Geode `QueryService` API provides methods to create, list and remove the index. You can also use `gfsh` command-line interface to create, list and remove indexes, and use cache.xml to create an index.
-
-## <a id="indexing__section_565C080FBDD0443C8504DF372E3C32C8" class="no-quick-link"></a>Creating Indexes
-
-Indexes can be created programmatically, by using the `gfsh` command line interface or by using cache.xml.
-
-To create an index, use one of the following `QueryService` methods:
-
--   `createIndex`. Creates the default type of index, a range index. Use this type of index if you will be writing queries that will be doing any kind of comparison operation besides an equality comparison.
--   `createKeyIndex`. Creates a key index. See [Creating Key Indexes](creating_key_indexes.html#concept_09E29507AF0D42CF81D261B030D0B7C8) for more information.
--   `createHashIndex`. Creates a hash index. See [Creating Hash Indexes](creating_hash_indexes.html#concept_5C7614F71F394C62ACA1BDC5684A7AC4) for more information.
--   `createDefinedIndexes`. Creates multiple indexes that were previously defined using `defineIndex`. See [Creating Multiple Indexes at Once](create_multiple_indexes.html) for more information.
-
-The following sections provide examples of index creation:
-
-**Using gfsh:**
-
-``` pre
-gfsh> create index --name=myIndex --expression=status --region=/exampleRegion
-gfsh> create index --name=myKeyIndex --type=key --expression=id --region=/exampleRegion
-gfsh> create index --name=myHashIndex --type=hash --expression=mktValue --region=/exampleRegion
-```
-
-See [Index Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_688C66526B4649AFA51C0F72F34FA45E) for more examples.
-
-**Using Java API:**
-
-``` pre
-QueryService qs = cache.getQueryService();
- qs.createIndex("myIndex", "status", "/exampleRegion");
- qs.createKeyIndex("myKeyIndex", "id", "/exampleRegion");
- qs.createHashIndex("myHashIndex", "mktValue", "/exampleRegion");
-```
-
-**Using cache.xml:**
-
-``` pre
-<region name=exampleRegion>
- <region-attributes . . . >
- </region-attributes>
- <index name="myIndex" from-clause="/exampleRegion" expression="status"/>
- <index name="myKeyIndex" from-clause="/exampleRegion" expression="id" key-index="true"/>
- <index name="myHashIndex" from-clause="/exampleRegion p" expression="p.mktValue" type="hash"/>
- ...
-</region>
-```
-
-**Note:**
-If you do not specify the type of index in cache.xml, the type defaults to "range".
-
-## <a id="indexing__section_40089270C67A49FFA0C749E287F722F8" class="no-quick-link"></a>Listing Indexes
-
-To retrieve a list of indexes from the cache or region, use the `QueryService.getIndexes` method or the `gfsh` command line interface.
-
-**Using gfsh:**
-
-``` pre
-gfsh> list indexes
-gfsh> list indexes --with-stats
-```
-
-**Using Java API:**
-
-``` pre
-QueryService qs = cache.getQueryService();
- qs.getIndexes(); //returns a collection of all indexes in the cache
- qs.getIndexes(exampleRegion); //returns a collection of all indexes in exampleRegion
- qs.getIndexes(exampleRegion, myKeyIndex); //returns the index named myKeyIndex from the exampleRegion
-```
-
-## <a id="indexing__section_ACBFB76C539A405D90B05856CB79BEFF" class="no-quick-link"></a>Removing Indexes
-
-To remove an index or all indexes from the cache or region, use the `QueryService.removeIndexes` method or the `gfsh` command line interface.
-
-**Using gfsh:**
-
-``` pre
-gfsh> destroy index
-gfsh> destroy index --name=myIndex
-gfsh> destroy index --region=/exampleRegion
-```
-
-**Using Java API:**
-
-``` pre
-QueryService qs = cache.getQueryService();
- qs.removeIndexes(); //removes all indexes from the cache
- qs.removeIndexes(myKeyIndex); //removes the index named myKeyIndex
- qs.removeIndexes(exampleRegion); //removes all indexes from the exampleRegion
-```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_index/creating_hash_indexes.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_index/creating_hash_indexes.html.md.erb b/developing/query_index/creating_hash_indexes.html.md.erb
deleted file mode 100644
index f7fe579..0000000
--- a/developing/query_index/creating_hash_indexes.html.md.erb
+++ /dev/null
@@ -1,51 +0,0 @@
----
-title:  Creating Hash Indexes
----
-
-Geode supports the creation of hash indexes for the purposes of performing equality-based queries.
-
-## <a id="concept_5C7614F71F394C62ACA1BDC5684A7AC4__section_8A927DFB29364DA7856E7FE122FC1654" class="no-quick-link"></a>Why Create a HashIndex
-
-By creating a hash index, you can vastly improve the memory usage of your index. If you are doing equality based queries, your indexing footprint is significantly reduced. As an example, previously when you created an index that contained string fields, copies of the strings were included in the index. By using hash indexes, we ensure that indexed expressions are canonicalized and stored in the index as pointers to the objects lying in the region. In internal test cases we have seen improvements in the 30% range depending on the keys and data being used.
-
-**Note:**
-Your performance results may vary depending on the keys and data being indexed.
-
-## <a id="concept_5C7614F71F394C62ACA1BDC5684A7AC4__section_2EF23A54378E44FFBF1BEB32E41ABD61" class="no-quick-link"></a>Performance Considerations
-
-The performance of put operations when using a hash index should be comparable to other indexes or slightly slower. Queries themselves are expected to be slightly slower due to the implementation of hash index and the cost of recalculating the key on request, which is the trade-off for the space savings that using a hash index provides.
-
-## <a id="concept_5C7614F71F394C62ACA1BDC5684A7AC4__section_800401C53E5841269F389329B8A4CDF3" class="no-quick-link"></a>Limitations
-
-The following limitations must be considered when creating hash indexes:
-
--   You can only use hash indexes with equals and not equals queries.
--   Hash index maintenance will be slower than the other indexes due to synchronized add methods.
--   Hash indexes cannot be maintained asynchronously. If you attempt to create a hash index on a region with asynchronous set as the maintenance mode, an exception will be thrown.
--   You cannot use hash indexes for queries with multiple iterators or nested collections.
-
-## <a id="concept_5C7614F71F394C62ACA1BDC5684A7AC4__section_CA2476E015D14DE7B522377C931A8492" class="no-quick-link"></a>Examples of Creating a Hash Index
-
-**Using the Java API:**
-
-``` pre
-QueryService qs = cache.getQueryService();
- qs.createHashIndex("myHashIndex", "mktValue", "/exampleRegion");
-```
-
-**Using gfsh:**
-
-``` pre
-gfsh> create index --name=myHashIndex --expression=mktValue --region=/exampleRegion
-```
-
-**Using cache.xml:**
-
-``` pre
-<region name=exampleRegion>
- <region-attributes . . . >
- </region-attributes>
- <index name="myHashIndex" from-clause="/exampleRegion p" expression="p.mktValue" type="hash"/>
- ...
-</region>
-```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_index/creating_key_indexes.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_index/creating_key_indexes.html.md.erb b/developing/query_index/creating_key_indexes.html.md.erb
deleted file mode 100644
index fb9de44..0000000
--- a/developing/query_index/creating_key_indexes.html.md.erb
+++ /dev/null
@@ -1,49 +0,0 @@
----
-title:  Creating Key Indexes
----
-
-Creating a key index is a good way to improve query performance when data is partitioned using a key or a field value. You can create key indexes by using the `createKeyIndex` method of the QueryService or by defining the index in `cache.xml`. Creating a key index makes the query service aware of the relationship between the values in the region and the keys in the region.
-
-The FROM clause for a primary key index must be just a region path. The indexed expression is an expression that, when applied to an entry value, produces the key. For example, if a region has Portfolios as the values and the keys are the id field of the Portfolios region, the indexed expression is id.
-
-You can then use the FunctionService (using the partitioned key as a filter passed to the function and as part of the query equality condition) to execute the query against the indexed data. See [Optimizing Queries on Data Partitioned by a Key or Field Value](../query_additional/partitioned_region_key_or_field_value.html#concept_3010014DFBC9479783B2B45982014454) for more details.
-
-There are two issues to note with key indexes:
-
--   The key index is not sorted. Without sorting, you can only do equality tests. Other comparisons are not possible. To obtain a sorted index on your primary keys, create a functional index on the attribute used as the primary key.
--   The query service is not automatically aware of the relationship between the region values and keys. For this, you must create the key index.
-
-**Note:**
-Using a key-index with an explicit type='range' in the cache.xml will lead to an exception. Key indexes will not be used in 'range' queries.
-
-## <a id="concept_09E29507AF0D42CF81D261B030D0B7C8__section_8F1B7893F6D44D9CB36679222927031C" class="no-quick-link"></a>Examples of Creating a Key Index
-
-**Using Java API:**
-
-``` pre
-QueryService qs = cache.getQueryService();
- qs.createKeyIndex("myKeyIndex", "id", "/exampleRegion");
- 
-```
-
-**Using gfsh:**
-
-``` pre
-gfsh> create index --name=myKeyIndex --expression=id --region=/exampleRegion
-```
-
-**Using cache.xml:**
-
-``` pre
-<region name=exampleRegion>
- <region-attributes . . . >
- </region-attributes>
- <index name="myKeyIndex" from-clause="/exampleRegion" expression="id" key-index="true"/>
- ...
-</region>
-```
-
-**Note:**
-If you do not specify the type of index when defining indexes using cache.xml, the type defaults to "range".
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_index/creating_map_indexes.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_index/creating_map_indexes.html.md.erb b/developing/query_index/creating_map_indexes.html.md.erb
deleted file mode 100644
index 32a5cf2..0000000
--- a/developing/query_index/creating_map_indexes.html.md.erb
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title:  Creating Indexes on Map Fields ("Map Indexes")
----
-
-To assist with the quick lookup of multiple values in a Map (or HashMap) type field, you can create an index (sometimes referred to as a "map index") on specific (or all) keys in that field.
-
-For example, you could create a map index to support the following query:
-
-``` pre
-SELECT * fROM /users u WHERE u.name['first'] = 'John' OR u.name['last'] = 'Smith'
-```
-
-The map index extends regular range indexes created on single key by maintaining indexes for other specified keys, or for all keys if `*` is used. The underlying structure of the map index can be thought of as a wrapper around all these indexes.
-
-The following Java code samples provide examples of how to create a map index:
-
-``` pre
-QueryService qs = cache.getQueryService();
-
-//This will create indexes for for keys 'PVTL' and 'VMW'
-qs.createIndex("indexName", "p.positions['PVTL', 'VMW']", "/portfolio p");
-```
-
-``` pre
-QueryService qs = cache.getQueryService();
-
-//This will create indexes for all keys
-qs.createIndex("indexName", "p.positions[*]", "/portfolio p");
-```
-
-In gfsh, the equivalents are:
-
-``` pre
-gfsh>create index --name="IndexName" --expression="p.positions['PVTL', 'VMW']" --region="/portfolio p"
-
-gfsh>create index --name="IndexName" --expression="p.positions[*]" --region="/portfolio p"
-```
-
-In order to create or query a map index, you must use the bracket notation to list the map field keys you wish to index or query. For example: `[*]`, `['keyX1','keyX2\u2019]`. Note that using `p.pos.get('keyX1')` will not create or query the map index.
-
-**Note:**
-You can still query against Map or HashMap fields without querying against a map index. For example, you can always create a regular range query on a single key in any Map or HashMap field. However, note that subsequent query lookups will be limited to a single key.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_index/index_samples.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_index/index_samples.html.md.erb b/developing/query_index/index_samples.html.md.erb
deleted file mode 100644
index ce2e67c..0000000
--- a/developing/query_index/index_samples.html.md.erb
+++ /dev/null
@@ -1,63 +0,0 @@
----
-title:  Index Samples
----
-
-This topic provides code samples for creating query indexes.
-
-``` pre
- // Key index samples. The field doesn't have to be present.
-createKeyIndex("pkidIndex","p.pkid1","/root/exampleRegion p");
- 
-createKeyIndex("Index4","ID","/portfolios");
- 
-// Simple index
-createIndex("pkidIndex","p.pkid","/root/exampleRegion p");
-createIndex("i", "p.status", "/exampleRegion p")
-createIndex("i", "p.ID", "/exampleRegion p")
-createIndex("i", "p.position1.secId", "/exampleRegion p"
- 
-// On Set type
- createIndex("setIndex","s","/root/exampleRegion p, p.sp s");
- 
-// Positions is a map
-createIndex("secIdIndex","b.secId","/portfolios pf, pf.positions.values b");
-
-//...
-createIndex("i", "pf.collectionHolderMap[(pf.Id).toString()].arr[pf.ID]", "/exampleRegion pf")
-createIndex("i", "pf.ID", "/exampleRegion pf", "pf.positions.values pos")
-createIndex("i", "pos.secId", "/exampleRegion pf", "pf.positions.values pos")
-createIndex("i", "e.value.getID()", "/exampleRegion.entrySet e")
-createIndex("i", "e.value.ID", "/exampleRegion.entrySet e")
-
-//...
-createIndex("i", "entries.value.getID", "/exampleRegion.entrySet() entries")
-createIndex("i", "ks.toString", "/exampleRegion.getKeys() ks")
-createIndex("i", "key.status", "/exampleRegion.keys key")
-createIndex("i", "secIds.length", "/exampleRegion p, p.secIds secIds")
-createIndex("i", "secId", "/portfolios.asList[1].positions.values")
-createIndex("i", "secId", "/portfolios['1'].positions.valules")
-
-//Index on Map types
-createIndex("i", "p.positions['key1']", "/exampleRegion p")
-createIndex("i", "p.positions['key1','key2',key3',key7']", "/exampleRegion p")
-createIndex("i", "p.positions[*]", "/exampleRegion p")
-```
-
-The following are some sample queries on indexes.
-
-``` pre
-SELECT * FROM (SELECT * FROM /R2 m) r2, (SELECT * FROM  /exampleRegion e WHERE e.pkid IN r2.sp) p
-
-SELECT * FROM (SELECT * FROM /R2 m WHERE m.ID IN SET (1, 5, 10)) r2, 
-     (SELECT * FROM  /exampleRegion e WHERE e.pkid IN  r2.sp) p
-
-//examples using position index in the collection
-SELECT * FROM /exampleRegion p WHERE p.names[0] = 'aaa'
-
-SELECT * FROM /exampleRegion p WHERE p.position3[1].portfolioId = 2
-
-SELECT DISTINCT positions.values.toArray[0], positions.values.toArray[0], status 
-FROM /exampleRegion
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_index/indexes_on_single_region_queries.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_index/indexes_on_single_region_queries.html.md.erb b/developing/query_index/indexes_on_single_region_queries.html.md.erb
deleted file mode 100644
index 35662f7..0000000
--- a/developing/query_index/indexes_on_single_region_queries.html.md.erb
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title:  Using Indexes on Single Region Queries
----
-
-Queries with one comparison operation may be improved with either a key or range index, depending on whether the attribute being compared is also the primary key.
-
-<a id="concept_0210701C193A470E8C572111F6CEC3FC__section_751427643EC3480BABCE9CA44E831E27"></a>
-If pkid is the key in the /exampleRegion region, creating a key index on pkid is the best choice as a key index does not have maintenance overhead. If pkid is not the key, a range index on pkid should improve performance.
-
-``` pre
-SELECT DISTINCT * FROM /exampleRegion portfolio WHERE portfolio.pkid = '123'
-```
-
-With multiple comparison operations, you can create a range index on one or more of the attributes. Try the following:
-
-1.  Create a single index on the condition you expect to have the smallest result set size. Check performance with this index.
-2.  Keeping the first index, add an index on a second condition. Adding the second index may degrade performance. If it does, remove it and keep only the first index. The order of the two comparisons in the query can also impact performance. Generally speaking, in OQL queries, as in SQL queries, you should order your comparisons so the earlier ones give you the fewest results on which to run subsequent comparisons.
-
-For this query, you would try a range index on name, age, or on both:
-
-``` pre
-SELECT DISTINCT * FROM /exampleRegion portfolio WHERE portfolio.status = 'active' and portfolio.ID > 45
-```
-
-For queries with nested levels, you may get better performance by drilling into the lower levels in the index as well as in the query.
-
-This query drills down one level:
-
-``` pre
-SELECT DISTINCT * FROM /exampleRegion portfolio, portfolio.positions.values positions where positions.secId = 'AOL' and positions.MktValue > 1
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_index/indexes_with_overflow_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_index/indexes_with_overflow_regions.html.md.erb b/developing/query_index/indexes_with_overflow_regions.html.md.erb
deleted file mode 100644
index 126b2e6..0000000
--- a/developing/query_index/indexes_with_overflow_regions.html.md.erb
+++ /dev/null
@@ -1,41 +0,0 @@
----
-title:  Using Indexes with Overflow Regions
----
-
-You can use indexes when querying on overflow regions; however, there are caveats.
-
-The following are caveats for querying overflow regions:
-
--   You must use synchronous index maintenance for the region. This is the default maintenance setting.
--   The index FROM clause must specify only one iterator, and it must refer to the keys or entry values. The index cannot refer to the region\u2019s entrySet.
--   The index data itself is not stored on (overflowed to) disk .
-
-**Examples:**
-
-The following example index creation calls DO NOT work for overflow regions.
-
-``` pre
-// This index will not work on an overflow region because there are two iterators in the FROM clause.
-createIndex("secIdIndex", "b.secId","/portfolios pf, pf.positions.values b");
-
-// This index will not work on an overflow region because the FROM clause specifies the entrySet
-createIndex("indx1", "entries.value.getID", "/exampleRegion.entrySet() entries");
-```
-
-The following example indexes will work for overflow regions.
-
-``` pre
-createIndex("pkidIndex", "p.pkid", "/Portfolios p");
-
-createIndex("indx1", "ks.toString", "/portfolio.keySet() ks");
-```
-
-The same working examples in gfsh:
-
-``` pre
-gfsh> create index -name="pkidIndex" --expression="p.pkid" --region="/Portfolios p"
-
-gfsh> create index -name="indx1" --expression="ks.toString" --region="/portfolio.keySet() ks"
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_index/indexing_guidelines.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_index/indexing_guidelines.html.md.erb b/developing/query_index/indexing_guidelines.html.md.erb
deleted file mode 100644
index 8cf229f..0000000
--- a/developing/query_index/indexing_guidelines.html.md.erb
+++ /dev/null
@@ -1,24 +0,0 @@
----
-title:  Tips and Guidelines on Using Indexes
----
-
-Optimizing your queries with indexes requires a cycle of careful planning, testing, and tuning. Poorly-defined indexes can degrade the performance of your queries instead of improving it. This section gives guidelines for index usage in the query service.
-
-<a id="indexing_guidelines__section_A8885DFC334243508C4563C9692E0801"></a>
-When creating indexes, keep in mind the following:
-
--   Indexes incur maintenance costs as they must be updated when the indexed data changes. An index that requires many updates and is not used very often may require more system resources than using no index at all.
--   Indexes consume memory.
--   Indexes have limited support on overflow regions. See [Using Indexes with Overflow Regions](indexes_with_overflow_regions.html#concept_87BE7DB32C714EB0BF7532AF93569328) for details.
--   If you are creating multiple indexes on the same region, first define your indexes and then create the indexes all at once to avoid iterating over the region multiple times. See [Creating Multiple Indexes at Once](create_multiple_indexes.html) for details.
-
-## <a id="indexing_guidelines__section_A8AFAA243B5C43DD9BB9F9235A48AF53" class="no-quick-link"></a>Tips for Writing Queries that Use Indexes
-
-As with query processors that run against relational databases, the way a query is written can greatly affect execution performance. Among other things, whether indexes are used depends on how each query is stated. These are some of the things to consider when optimizing your Geode queries for performance:
-
--   In general an index will improve query performance if the FROM clauses of the query and index match exactly.
--   The query evaluation engine does not have a sophisticated cost-based optimizer. It has a simple optimizer which selects best index (one) or multiple indexes based on the index size and the operator that is being evaluated.
--   For AND operators, you may get better results if the conditions that use indexes and conditions that are more selective come before other conditions in the query.
--   Indexes are not used in expressions that contain NOT, so in a WHERE clause of a query, `qty >= 10` could have an index on `qty` applied for efficiency. However, `NOT(qty < 10)` could not have the same index applied.
--   Whenever possible, provide a hint to allow the query engine to prefer a specific index. See [Using Query Index Hints](query_index_hints.html)
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_index/maintaining_indexes.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_index/maintaining_indexes.html.md.erb b/developing/query_index/maintaining_indexes.html.md.erb
deleted file mode 100644
index ae8c29b..0000000
--- a/developing/query_index/maintaining_indexes.html.md.erb
+++ /dev/null
@@ -1,52 +0,0 @@
----
-title:  Maintaining Indexes (Synchronously or Asynchronously) and Index Storage
----
-
-Indexes are automatically kept current with the region data they reference. The region attribute `IndexMaintenanceSynchronous` specifies whether the region indexes are updated synchronously when a region is modified or asynchronously in a background thread.
-
-## <a id="concept_98ED3F38919A490B9AE2553568455C35__section_FF1945F2AAFA4B158067CEE967410616" class="no-quick-link"></a>Index Maintenance Behavior
-
-Asynchronous index maintenance batches up multiple updates to the same region key. The default mode is synchronous, since this provides the greatest consistency with region data.
-
-See [RegionFactory.setIndexMaintenanceSynchronous](/releases/latest/javadoc/org/apache/geode/cache/RegionFactory.html).
-
-This declarative index creation sets the maintenance mode to asynchronous:
-
-``` pre
-<region-attributes index-update-type="asynchronous"> 
-</region-attributes>
-```
-
-## <a id="concept_98ED3F38919A490B9AE2553568455C35__section_68308B5597CF4A9EAA8EC0BD83A233E6" class="no-quick-link"></a>Internal Index Structure and Storage
-
-Indexes are stored either as compact or non-compact data structures based on the indexed expression (even if the index key type is the same.) For example, consider the following Passenger object:
-
-``` pre
-Passenger {
-   String name,
-   Date travelDate,
-   int age,
-   Flight flt,
-}
-Flight {
-   int flightId,
-   String origin,
-   String dest,
-}
-```
-
-An index on the Passenger name field will have different memory space requirements in the cache than the Flight origin field even though they are both String field types. The internal data structure selected by Geode for index storage will depend on the field's level in the object. In this example, name is a top-level field and an index on name can be stored as a compact index. Since origin is a second-level field, any index that uses origin as the indexed expression will be stored as a non-compact index.
-
-**Compact Index**
-
-A compact index has simple data structures to minimize its footprint, at the expense of doing extra work at index maintenance. This index does not support the storage of projection attributes.
-
-Currently compact indexes are only selected only supports the creation of an index on a region path. In addition, the following conditions must be met:
-
--   Index maintenance is synchronous.
--   The indexed expression is a path expression.
--   The FROM clause has only one iterator. This implies that there is only one value in the index for each region entry and it is directly on the region values (not supported with keys, entries).
-
-**Non-Compact Index**
-
-Used whenever a compact index cannot be used.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_index/query_index.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_index/query_index.html.md.erb b/developing/query_index/query_index.html.md.erb
deleted file mode 100644
index accbf00..0000000
--- a/developing/query_index/query_index.html.md.erb
+++ /dev/null
@@ -1,62 +0,0 @@
----
-title:  Working with Indexes
----
-
-The Geode query engine supports indexing. An index can provide significant performance gains for query execution.
-
-<a id="indexing__section_565C080FBDD0443C8504DF372E3C32C8"></a>
-A query run without the aid of an index iterates through every object in the collection. If an index is available that matches part or all of the query specification, the query iterates only over the indexed set, and query processing time can be reduced.
-
--   **[Tips and Guidelines on Using Indexes](../../developing/query_index/indexing_guidelines.html)**
-
-    Optimizing your queries with indexes requires a cycle of careful planning, testing, and tuning. Poorly-defined indexes can degrade the performance of your queries instead of improving it. This section gives guidelines for index usage in the query service.
-
--   **[Creating, Listing and Removing Indexes](../../developing/query_index/creating_an_index.html)**
-
-    The Geode `QueryService` API provides methods to create, list and remove the index. You can also use `gfsh` command-line interface to create, list and remove indexes, and use cache.xml to create an index.
-
--   **[Creating Key Indexes](../../developing/query_index/creating_key_indexes.html)**
-
-    Creating a key index is a good way to improve query performance when data is partitioned using a key or a field value. You can create key indexes by using the `createKeyIndex` method of the QueryService or by defining the index in `cache.xml`. Creating a key index makes the query service aware of the relationship between the values in the region and the keys in the region.
-
--   **[Creating Hash Indexes](../../developing/query_index/creating_hash_indexes.html)**
-
-    Geode supports the creation of hash indexes for the purposes of performing equality-based queries.
-
--   **[Creating Indexes on Map Fields ("Map Indexes")](../../developing/query_index/creating_map_indexes.html)**
-
-    To assist with the quick lookup of multiple values in a Map (or HashMap) type field, you can create an index (sometimes referred to as a "map index") on specific (or all) keys in that field.
-
--   **[Creating Multiple Indexes at Once](../../developing/query_index/create_multiple_indexes.html)**
-
-    In order to speed and promote efficiency when creating indexes, you can define multiple indexes and then create them all at once.
-
--   **[Maintaining Indexes (Synchronously or Asynchronously) and Index Storage](../../developing/query_index/maintaining_indexes.html)**
-
-    Indexes are automatically kept current with the region data they reference. The region attribute `IndexMaintenanceSynchronous` specifies whether the region indexes are updated synchronously when a region is modified or asynchronously in a background thread.
-
--   **[Using Query Index Hints](../../developing/query_index/query_index_hints.html)**
-
-    You can use the hint keyword to allow Geode's query engine to prefer certain indexes.
-
--   **[Using Indexes on Single Region Queries](../../developing/query_index/indexes_on_single_region_queries.html)**
-
-    Queries with one comparison operation may be improved with either a key or range index, depending on whether the attribute being compared is also the primary key.
-
--   **[Using Indexes with Equi-Join Queries](../../developing/query_index/using_indexes_with_equijoin_queries.html)**
-
-    Equi-join queries are queries in which two regions are joined through an equality condition in the WHERE clause.
-
--   **[Using Indexes with Overflow Regions](../../developing/query_index/indexes_with_overflow_regions.html)**
-
-    You can use indexes when querying on overflow regions; however, there are caveats.
-
--   **[Using Indexes on Equi-Join Queries using Multiple Regions](../../developing/query_index/using_indexes_with_equijoin_queries_multiple_regions.html)**
-
-    To query across multiple regions, identify all equi-join conditions. Then, create as few indexes for the equi-join conditions as you can while still joining all regions.
-
--   **[Index Samples](../../developing/query_index/index_samples.html)**
-
-    This topic provides code samples for creating query indexes.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_index/query_index_hints.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_index/query_index_hints.html.md.erb b/developing/query_index/query_index_hints.html.md.erb
deleted file mode 100644
index 37b1005..0000000
--- a/developing/query_index/query_index_hints.html.md.erb
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title:  Using Query Index Hints
----
-
-You can use the hint keyword to allow Geode's query engine to prefer certain indexes.
-
-In cases where one index is hinted in a query, the query engine filters off the hinted index (if possible) and then iterates and filters from the resulting values.
-
-**Example:**
-
-``` pre
-<HINT 'IDIndex'> SELECT * FROM /Portfolios p WHERE p.ID > 10 AND p.owner = 'XYZ'
-```
-
-If multiple indexes are added as hints, then the query engine will try to use as many indexes as possible while giving a preference for the hinted indexes.
-
-**Example:**
-
-``` pre
-<HINT 'IDIndex', 'OwnerIndex'> SELECT * FROM /Portfolios p WHERE p.ID > 10 AND p.owner = 'XYZ' AND p.value < 100
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_index/using_indexes_with_equijoin_queries.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_index/using_indexes_with_equijoin_queries.html.md.erb b/developing/query_index/using_indexes_with_equijoin_queries.html.md.erb
deleted file mode 100644
index 2d7accc..0000000
--- a/developing/query_index/using_indexes_with_equijoin_queries.html.md.erb
+++ /dev/null
@@ -1,52 +0,0 @@
----
-title:  Using Indexes with Equi-Join Queries
----
-
-Equi-join queries are queries in which two regions are joined through an equality condition in the WHERE clause.
-
-<a id="concept_A90C5FD84FCB45B2B28D6CE78DE1D117__section_47CFF4EF4D964FCFBB772B0347C02214"></a>
-To use an index with an equi-join query:
-
-1.  Create an index for each side of the equi-join condition. The query engine can quickly evaluate the query's equi-join condition by iterating over the keys of the left-side and right-side indexes for an equality match.
-
-    **Note:**
-    Equi-join queries require regular indexes. Key indexes are not applied to equi-join queries.
-
-    For this query:
-
-    ``` pre
-    SELECT DISTINCT inv.name, ord.orderID, ord.status 
-    FROM /investors inv, /orders ord 
-    WHERE inv.investorID = ord.investorID 
-    ```
-
-    Create two indexes:
-
-    | FROM clause    | Indexed expression |
-    |----------------|--------------------|
-    | /investors inv | inv.investorID     |
-    | /orders ord    | ord.investorID     |
-
-2.  If there are additional, single-region queries in a query with an equi-join condition, create additional indexes for the single-region conditions only if you are able to create at least one such index for each region in the query. Any indexing on a subset of the regions in the query will degrade performance.
-
-    For this example query:
-
-    ``` pre
-    SELECT DISTINCT *
-    FROM /investors inv, /securities sc, inv.heldSecurities inv_hs
-        WHERE sc.status = "active"
-        AND inv.name = "xyz"
-        AND inv.age > 75
-        AND inv_hs.secName = sc.secName
-    ```
-
-    Create the indexes for the equi-join condition:
-
-    | FROM clause                                | Indexed expression |
-    |--------------------------------------------|--------------------|
-    | /investors inv, inv.heldSecurities inv\_hs | inv\_hs.secName    |
-    | /securities sc                             | sc.secName         |
-
-    Then, if you create any more indexes, create one on `sc.status` and one on `inv.age` or `inv.name` or both.
-
-


[73/76] [abbrv] incubator-geode git commit: GEODE-1952: Add Apache license to all geode-docs erb files

Posted by km...@apache.org.
GEODE-1952: Add Apache license to all geode-docs erb files


Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/6bea8204
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/6bea8204
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/6bea8204

Branch: refs/heads/feature/GEODE-1952-2
Commit: 6bea8204c24c0f0b6424e97f491d787e016ab8fc
Parents: e0f5203
Author: Karen Miller <km...@pivotal.io>
Authored: Wed Oct 5 15:49:58 2016 -0700
Committer: Karen Miller <km...@pivotal.io>
Committed: Wed Oct 5 15:49:58 2016 -0700

----------------------------------------------------------------------
 geode-docs/about_geode.html.md.erb                 | 17 +++++++++++++++++
 geode-docs/basic_config/book_intro.html.md.erb     | 17 +++++++++++++++++
 .../config_concepts/chapter_overview.html.md.erb   | 17 +++++++++++++++++
 ...ributed_system_member_configuration.html.md.erb | 17 +++++++++++++++++
 .../config_concepts/local_vs_remote.html.md.erb    | 17 +++++++++++++++++
 .../chapter_overview.html.md.erb                   | 17 +++++++++++++++++
 .../managing_data_entries.html.md.erb              | 17 +++++++++++++++++
 .../using_custom_classes.html.md.erb               | 17 +++++++++++++++++
 .../data_regions/chapter_overview.html.md.erb      | 17 +++++++++++++++++
 .../create_a_region_with_API.html.md.erb           | 17 +++++++++++++++++
 .../create_a_region_with_cacheXML.html.md.erb      | 17 +++++++++++++++++
 .../create_a_region_with_gfsh.html.md.erb          | 17 +++++++++++++++++
 .../creating_custom_attributes.html.md.erb         | 17 +++++++++++++++++
 .../data_regions/managing_data_regions.html.md.erb | 17 +++++++++++++++++
 .../managing_region_attributes.html.md.erb         | 17 +++++++++++++++++
 .../new_region_existing_data.html.md.erb           | 17 +++++++++++++++++
 .../data_regions/region_naming.html.md.erb         | 17 +++++++++++++++++
 .../data_regions/region_shortcuts.html.md.erb      | 17 +++++++++++++++++
 .../store_retrieve_region_shortcuts.html.md.erb    | 17 +++++++++++++++++
 .../setting_distributed_properties.html.md.erb     | 17 +++++++++++++++++
 .../the_cache/chapter_overview.html.md.erb         | 17 +++++++++++++++++
 .../the_cache/intro_cache_management.html.md.erb   | 17 +++++++++++++++++
 .../the_cache/managing_a_client_cache.html.md.erb  | 17 +++++++++++++++++
 .../managing_a_multiuser_cache.html.md.erb         | 17 +++++++++++++++++
 .../managing_a_peer_server_cache.html.md.erb       | 17 +++++++++++++++++
 .../the_cache/managing_a_secure_cache.html.md.erb  | 17 +++++++++++++++++
 .../setting_cache_initializer.html.md.erb          | 17 +++++++++++++++++
 .../the_cache/setting_cache_properties.html.md.erb | 17 +++++++++++++++++
 .../configuring/chapter_overview.html.md.erb       | 17 +++++++++++++++++
 .../deploying_application_jars.html.md.erb         | 17 +++++++++++++++++
 .../cluster_config/export-import.html.md.erb       | 17 +++++++++++++++++
 .../gfsh_config_troubleshooting.html.md.erb        | 17 +++++++++++++++++
 .../gfsh_load_from_shared_dir.html.md.erb          | 17 +++++++++++++++++
 .../cluster_config/gfsh_persist.html.md.erb        | 17 +++++++++++++++++
 .../cluster_config/gfsh_remote.html.md.erb         | 17 +++++++++++++++++
 .../persisting_configurations.html.md.erb          | 17 +++++++++++++++++
 .../cluster_config/using_member_groups.html.md.erb | 17 +++++++++++++++++
 .../running/change_file_spec.html.md.erb           | 17 +++++++++++++++++
 .../running/default_file_specs.html.md.erb         | 17 +++++++++++++++++
 .../running/deploy_config_files_intro.html.md.erb  | 17 +++++++++++++++++
 .../running/deploying_config_files.html.md.erb     | 17 +++++++++++++++++
 .../running/deploying_config_jar_files.html.md.erb | 17 +++++++++++++++++
 .../running/firewall_ports_config.html.md.erb      | 17 +++++++++++++++++
 .../running/firewalls_connections.html.md.erb      | 17 +++++++++++++++++
 .../running/firewalls_multisite.html.md.erb        | 17 +++++++++++++++++
 .../running/firewalls_ports.html.md.erb            | 17 +++++++++++++++++
 .../running/managing_output_files.html.md.erb      | 17 +++++++++++++++++
 .../running/running_the_cacheserver.html.md.erb    | 17 +++++++++++++++++
 .../running/running_the_locator.html.md.erb        | 17 +++++++++++++++++
 .../running/starting_up_shutting_down.html.md.erb  | 17 +++++++++++++++++
 geode-docs/developing/book_intro.html.md.erb       | 17 +++++++++++++++++
 .../chapter_overview.html.md.erb                   | 17 +++++++++++++++++
 .../continuous_querying_whats_next.html.md.erb     | 17 +++++++++++++++++
 .../how_continuous_querying_works.html.md.erb      | 17 +++++++++++++++++
 .../implementing_continuous_querying.html.md.erb   | 17 +++++++++++++++++
 .../PDX_Serialization_Features.html.md.erb         | 17 +++++++++++++++++
 .../auto_serialization.html.md.erb                 | 17 +++++++++++++++++
 ...lization_with_class_pattern_strings.html.md.erb | 17 +++++++++++++++++
 .../chapter_overview.html.md.erb                   | 17 +++++++++++++++++
 .../data_serialization_options.html.md.erb         | 17 +++++++++++++++++
 .../extending_the_autoserializer.html.md.erb       | 17 +++++++++++++++++
 .../gemfire_data_serialization.html.md.erb         | 17 +++++++++++++++++
 .../gemfire_pdx_serialization.html.md.erb          | 17 +++++++++++++++++
 .../java_serialization.html.md.erb                 | 17 +++++++++++++++++
 .../jsonformatter_pdxinstances.html.md.erb         | 17 +++++++++++++++++
 .../persist_pdx_metadata_to_disk.html.md.erb       | 17 +++++++++++++++++
 .../program_application_for_pdx.html.md.erb        | 17 +++++++++++++++++
 .../use_pdx_high_level_steps.html.md.erb           | 17 +++++++++++++++++
 .../use_pdx_serializable.html.md.erb               | 17 +++++++++++++++++
 .../use_pdx_serializer.html.md.erb                 | 17 +++++++++++++++++
 .../using_PdxInstanceFactory.html.md.erb           | 17 +++++++++++++++++
 .../using_pdx_region_entry_keys.html.md.erb        | 17 +++++++++++++++++
 .../delta_propagation/chapter_overview.html.md.erb | 17 +++++++++++++++++
 .../delta_propagation_example.html.md.erb          | 17 +++++++++++++++++
 .../delta_propagation_properties.html.md.erb       | 17 +++++++++++++++++
 .../errors_in_delta_propagation.html.md.erb        | 17 +++++++++++++++++
 .../how_delta_propagation_works.html.md.erb        | 17 +++++++++++++++++
 .../implementing_delta_propagation.html.md.erb     | 17 +++++++++++++++++
 .../when_to_use_delta_prop.html.md.erb             | 17 +++++++++++++++++
 .../chapter_overview.html.md.erb                   | 17 +++++++++++++++++
 .../choosing_level_of_dist.html.md.erb             | 17 +++++++++++++++++
 .../how_distribution_works.html.md.erb             | 17 +++++++++++++++++
 .../how_region_versioning_works.html.md.erb        | 17 +++++++++++++++++
 .../how_region_versioning_works_wan.html.md.erb    | 17 +++++++++++++++++
 .../how_replication_works.html.md.erb              | 17 +++++++++++++++++
 .../locking_in_global_regions.html.md.erb          | 17 +++++++++++++++++
 .../managing_distributed_regions.html.md.erb       | 17 +++++++++++++++++
 .../region_entry_versions.html.md.erb              | 17 +++++++++++++++++
 .../cache_event_handler_examples.html.md.erb       | 17 +++++++++++++++++
 .../developing/events/chapter_overview.html.md.erb | 17 +++++++++++++++++
 ...igure_client_server_event_messaging.html.md.erb | 17 +++++++++++++++++
 ...configure_multisite_event_messaging.html.md.erb | 17 +++++++++++++++++
 .../configure_p2p_event_messaging.html.md.erb      | 17 +++++++++++++++++
 ...figuring_gateway_concurrency_levels.html.md.erb | 17 +++++++++++++++++
 ...ing_highly_available_gateway_queues.html.md.erb | 17 +++++++++++++++++
 ...onfiguring_highly_available_servers.html.md.erb | 17 +++++++++++++++++
 .../conflate_multisite_gateway_queue.html.md.erb   | 17 +++++++++++++++++
 .../conflate_server_subscription_queue.html.md.erb | 17 +++++++++++++++++
 .../events/event_handler_overview.html.md.erb      | 17 +++++++++++++++++
 .../events/filtering_multisite_events.html.md.erb  | 17 +++++++++++++++++
 .../ha_event_messaging_whats_next.html.md.erb      | 17 +++++++++++++++++
 .../events/how_cache_events_work.html.md.erb       | 17 +++++++++++++++++
 ...ow_client_server_distribution_works.html.md.erb | 17 +++++++++++++++++
 .../developing/events/how_events_work.html.md.erb  | 17 +++++++++++++++++
 .../how_multisite_distribution_works.html.md.erb   | 17 +++++++++++++++++
 .../implementing_cache_event_handlers.html.md.erb  | 17 +++++++++++++++++
 ...ing_durable_client_server_messaging.html.md.erb | 17 +++++++++++++++++
 ...ementing_write_behind_event_handler.html.md.erb | 17 +++++++++++++++++
 ...imit_server_subscription_queue_size.html.md.erb | 17 +++++++++++++++++
 .../list_of_event_handlers_and_events.html.md.erb  | 17 +++++++++++++++++
 .../resolving_multisite_conflicts.html.md.erb      | 17 +++++++++++++++++
 ...une_client_message_tracking_timeout.html.md.erb | 17 +++++++++++++++++
 .../tune_client_server_event_messaging.html.md.erb | 17 +++++++++++++++++
 ...ing_callbacks_that_modify_the_cache.html.md.erb | 17 +++++++++++++++++
 .../eviction/chapter_overview.html.md.erb          | 17 +++++++++++++++++
 .../eviction/configuring_data_eviction.html.md.erb | 17 +++++++++++++++++
 .../eviction/how_eviction_works.html.md.erb        | 17 +++++++++++++++++
 .../expiration/chapter_overview.html.md.erb        | 17 +++++++++++++++++
 .../configuring_data_expiration.html.md.erb        | 17 +++++++++++++++++
 .../expiration/how_expiration_works.html.md.erb    | 17 +++++++++++++++++
 .../function_exec/chapter_overview.html.md.erb     | 17 +++++++++++++++++
 .../function_exec/function_execution.html.md.erb   | 17 +++++++++++++++++
 .../how_function_execution_works.html.md.erb       | 17 +++++++++++++++++
 .../chapter_overview.html.md.erb                   | 17 +++++++++++++++++
 .../chapter_overview.html.md.erb                   | 17 +++++++++++++++++
 .../how_data_loaders_work.html.md.erb              | 17 +++++++++++++++++
 .../implementing_data_loaders.html.md.erb          | 17 +++++++++++++++++
 .../sync_outside_data.html.md.erb                  | 17 +++++++++++++++++
 .../chapter_overview.html.md.erb                   | 17 +++++++++++++++++
 .../checking_region_redundancy.html.md.erb         | 17 +++++++++++++++++
 .../colocating_partitioned_region_data.html.md.erb | 17 +++++++++++++++++
 .../configure_pr_single_hop.html.md.erb            | 17 +++++++++++++++++
 .../configuring_bucket_for_pr.html.md.erb          | 17 +++++++++++++++++
 .../configuring_ha_for_pr.html.md.erb              | 17 +++++++++++++++++
 ...om_partitioning_and_data_colocation.html.md.erb | 17 +++++++++++++++++
 .../how_partitioning_works.html.md.erb             | 17 +++++++++++++++++
 .../how_pr_ha_works.html.md.erb                    | 17 +++++++++++++++++
 .../how_pr_single_hop_works.html.md.erb            | 17 +++++++++++++++++
 .../join_query_partitioned_regions.html.md.erb     | 17 +++++++++++++++++
 .../managing_partitioned_regions.html.md.erb       | 17 +++++++++++++++++
 .../moving_partitioned_data.html.md.erb            | 17 +++++++++++++++++
 ...om_partitioning_and_data_colocation.html.md.erb | 17 +++++++++++++++++
 .../overview_how_pr_ha_works.html.md.erb           | 17 +++++++++++++++++
 .../overview_how_pr_single_hop_works.html.md.erb   | 17 +++++++++++++++++
 .../rebalancing_pr_data.html.md.erb                | 17 +++++++++++++++++
 .../set_crash_redundancy_recovery.html.md.erb      | 17 +++++++++++++++++
 .../set_enforce_unique_host.html.md.erb            | 17 +++++++++++++++++
 .../set_join_redundancy_recovery.html.md.erb       | 17 +++++++++++++++++
 .../set_pr_redundancy.html.md.erb                  | 17 +++++++++++++++++
 .../set_redundancy_zones.html.md.erb               | 17 +++++++++++++++++
 .../using_custom_partition_resolvers.html.md.erb   | 17 +++++++++++++++++
 .../query_additional/advanced_querying.html.md.erb | 17 +++++++++++++++++
 .../query_additional/case_sensitivity.html.md.erb  | 17 +++++++++++++++++
 .../query_additional/literals.html.md.erb          | 17 +++++++++++++++++
 .../query_additional/operators.html.md.erb         | 17 +++++++++++++++++
 .../order_by_on_partitioned_regions.html.md.erb    | 17 +++++++++++++++++
 ...rtitioned_region_key_or_field_value.html.md.erb | 17 +++++++++++++++++
 ...rtitioned_region_query_restrictions.html.md.erb | 17 +++++++++++++++++
 .../query_additional/query_debugging.html.md.erb   | 17 +++++++++++++++++
 .../query_language_features.html.md.erb            | 17 +++++++++++++++++
 .../query_on_a_single_node.html.md.erb             | 17 +++++++++++++++++
 .../supported_keywords.html.md.erb                 | 17 +++++++++++++++++
 .../using_query_bind_parameters.html.md.erb        | 17 +++++++++++++++++
 .../create_multiple_indexes.html.md.erb            | 17 +++++++++++++++++
 .../query_index/creating_an_index.html.md.erb      | 17 +++++++++++++++++
 .../query_index/creating_hash_indexes.html.md.erb  | 17 +++++++++++++++++
 .../query_index/creating_key_indexes.html.md.erb   | 17 +++++++++++++++++
 .../query_index/creating_map_indexes.html.md.erb   | 17 +++++++++++++++++
 .../query_index/index_samples.html.md.erb          | 17 +++++++++++++++++
 .../indexes_on_single_region_queries.html.md.erb   | 17 +++++++++++++++++
 .../indexes_with_overflow_regions.html.md.erb      | 17 +++++++++++++++++
 .../query_index/indexing_guidelines.html.md.erb    | 17 +++++++++++++++++
 .../query_index/maintaining_indexes.html.md.erb    | 17 +++++++++++++++++
 .../developing/query_index/query_index.html.md.erb | 17 +++++++++++++++++
 .../query_index/query_index_hints.html.md.erb      | 17 +++++++++++++++++
 ...using_indexes_with_equijoin_queries.html.md.erb | 17 +++++++++++++++++
 ...h_equijoin_queries_multiple_regions.html.md.erb | 17 +++++++++++++++++
 .../developing/query_select/aggregates.html.md.erb | 17 +++++++++++++++++
 .../query_select/the_from_clause.html.md.erb       | 17 +++++++++++++++++
 .../query_select/the_import_statement.html.md.erb  | 17 +++++++++++++++++
 .../query_select/the_select_statement.html.md.erb  | 17 +++++++++++++++++
 .../query_select/the_where_clause.html.md.erb      | 17 +++++++++++++++++
 .../querying_basics/chapter_overview.html.md.erb   | 17 +++++++++++++++++
 .../comments_in_query_strings.html.md.erb          | 17 +++++++++++++++++
 .../monitor_queries_for_low_memory.html.md.erb     | 17 +++++++++++++++++
 .../oql_compared_to_sql.html.md.erb                | 17 +++++++++++++++++
 .../performance_considerations.html.md.erb         | 17 +++++++++++++++++
 .../querying_basics/query_basics.html.md.erb       | 17 +++++++++++++++++
 .../query_grammar_and_reserved_words.html.md.erb   | 17 +++++++++++++++++
 .../querying_partitioned_regions.html.md.erb       | 17 +++++++++++++++++
 .../querying_basics/reserved_words.html.md.erb     | 17 +++++++++++++++++
 ...strictions_and_unsupported_features.html.md.erb | 17 +++++++++++++++++
 .../querying_basics/running_a_query.html.md.erb    | 17 +++++++++++++++++
 .../supported_character_sets.html.md.erb           | 17 +++++++++++++++++
 .../what_is_a_query_string.html.md.erb             | 17 +++++++++++++++++
 .../region_options/chapter_overview.html.md.erb    | 17 +++++++++++++++++
 .../data_hosts_and_accessors.html.md.erb           | 17 +++++++++++++++++
 .../dynamic_region_creation.html.md.erb            | 17 +++++++++++++++++
 .../region_options/region_types.html.md.erb        | 17 +++++++++++++++++
 .../storage_distribution_options.html.md.erb       | 17 +++++++++++++++++
 .../chapter_overview.html.md.erb                   | 17 +++++++++++++++++
 .../how_persist_overflow_work.html.md.erb          | 17 +++++++++++++++++
 .../overflow_config_examples.html.md.erb           | 17 +++++++++++++++++
 .../storing_data_on_disk.html.md.erb               | 17 +++++++++++++++++
 .../transactions/JTA_transactions.html.md.erb      | 17 +++++++++++++++++
 .../transactions/about_transactions.html.md.erb    | 17 +++++++++++++++++
 .../cache_plugins_with_jta.html.md.erb             | 17 +++++++++++++++++
 .../cache_transaction_performance.html.md.erb      | 17 +++++++++++++++++
 .../transactions/cache_transactions.html.md.erb    | 17 +++++++++++++++++
 .../cache_transactions_by_region_type.html.md.erb  | 17 +++++++++++++++++
 .../transactions/chapter_overview.html.md.erb      | 17 +++++++++++++++++
 .../client_server_transactions.html.md.erb         | 17 +++++++++++++++++
 ...nfiguring_db_connections_using_JNDI.html.md.erb | 17 +++++++++++++++++
 .../data_location_cache_transactions.html.md.erb   | 17 +++++++++++++++++
 .../how_cache_transactions_work.html.md.erb        | 17 +++++++++++++++++
 .../transactions/jca_adapter_example.html.md.erb   | 17 +++++++++++++++++
 .../monitor_troubleshoot_transactions.html.md.erb  | 17 +++++++++++++++++
 .../run_a_cache_transaction.html.md.erb            | 17 +++++++++++++++++
 ..._cache_transaction_with_external_db.html.md.erb | 17 +++++++++++++++++
 .../transaction_coding_examples.html.md.erb        | 17 +++++++++++++++++
 .../transaction_event_management.html.md.erb       | 17 +++++++++++++++++
 .../transaction_jta_gemfire_example.html.md.erb    | 17 +++++++++++++++++
 .../transactions/transaction_semantics.html.md.erb | 17 +++++++++++++++++
 .../transaction_suspend_resume_example.html.md.erb | 17 +++++++++++++++++
 ...nsactional_and_nontransactional_ops.html.md.erb | 17 +++++++++++++++++
 .../transactional_function_example.html.md.erb     | 17 +++++++++++++++++
 .../transactions/transactions_overview.html.md.erb | 17 +++++++++++++++++
 .../transactions/turning_off_jta.html.md.erb       | 17 +++++++++++++++++
 .../working_with_transactions.html.md.erb          | 17 +++++++++++++++++
 .../15_minute_quickstart_gfsh.html.md.erb          | 17 +++++++++++++++++
 geode-docs/getting_started/book_intro.html.md.erb  | 17 +++++++++++++++++
 .../getting_started/geode_overview.html.md.erb     | 17 +++++++++++++++++
 .../installation/install_standalone.html.md.erb    | 17 +++++++++++++++++
 .../getting_started/product_intro.html.md.erb      | 17 +++++++++++++++++
 .../querying_quick_reference.html.md.erb           | 17 +++++++++++++++++
 .../getting_started/setup_classpath.html.md.erb    | 17 +++++++++++++++++
 .../system_requirements/host_machine.html.md.erb   | 17 +++++++++++++++++
 .../getting_started/uninstall_gemfire.html.md.erb  | 17 +++++++++++++++++
 .../autoreconnect/member-reconnect.html.md.erb     | 17 +++++++++++++++++
 geode-docs/managing/book_intro.html.md.erb         | 17 +++++++++++++++++
 .../cache_snapshots/chapter_overview.html.md.erb   | 17 +++++++++++++++++
 .../exporting_a_snapshot.html.md.erb               | 17 +++++++++++++++++
 .../filtering_snapshot_entries.html.md.erb         | 17 +++++++++++++++++
 .../importing_a_snapshot.html.md.erb               | 17 +++++++++++++++++
 .../read_snapshots_programmatically.html.md.erb    | 17 +++++++++++++++++
 .../using_cache_and_region_snapshots.html.md.erb   | 17 +++++++++++++++++
 .../backup_restore_disk_store.html.md.erb          | 17 +++++++++++++++++
 .../disk_storage/chapter_overview.html.md.erb      | 17 +++++++++++++++++
 .../compacting_disk_stores.html.md.erb             | 17 +++++++++++++++++
 .../disk_free_space_monitoring.html.md.erb         | 17 +++++++++++++++++
 .../disk_store_configuration_params.html.md.erb    | 17 +++++++++++++++++
 .../file_names_and_extensions.html.md.erb          | 17 +++++++++++++++++
 .../handling_missing_disk_stores.html.md.erb       | 17 +++++++++++++++++
 .../disk_storage/how_disk_stores_work.html.md.erb  | 17 +++++++++++++++++
 .../keeping_offline_disk_store_in_sync.html.md.erb | 17 +++++++++++++++++
 .../managing_disk_buffer_flushes.html.md.erb       | 17 +++++++++++++++++
 .../disk_storage/managing_disk_stores.html.md.erb  | 17 +++++++++++++++++
 .../managing_disk_stores_cmds.html.md.erb          | 17 +++++++++++++++++
 .../disk_storage/operation_logs.html.md.erb        | 17 +++++++++++++++++
 ...timize_availability_and_performance.html.md.erb | 17 +++++++++++++++++
 .../overview_using_disk_stores.html.md.erb         | 17 +++++++++++++++++
 .../starting_system_with_disk_stores.html.md.erb   | 17 +++++++++++++++++
 .../disk_storage/using_disk_stores.html.md.erb     | 17 +++++++++++++++++
 .../using_the_default_disk_store.html.md.erb       | 17 +++++++++++++++++
 .../disk_storage/validating_disk_store.html.md.erb | 17 +++++++++++++++++
 .../managing/heap_use/heap_management.html.md.erb  | 17 +++++++++++++++++
 .../managing/heap_use/lock_memory.html.md.erb      | 17 +++++++++++++++++
 .../heap_use/off_heap_management.html.md.erb       | 17 +++++++++++++++++
 .../logging/configuring_log4j2.html.md.erb         | 17 +++++++++++++++++
 .../managing/logging/how_logging_works.html.md.erb | 17 +++++++++++++++++
 .../logging/log_collection_utility.html.md.erb     | 17 +++++++++++++++++
 geode-docs/managing/logging/logging.html.md.erb    | 17 +++++++++++++++++
 .../logging/logging_categories.html.md.erb         | 17 +++++++++++++++++
 .../logging/logging_whats_next.html.md.erb         | 17 +++++++++++++++++
 .../logging/setting_up_logging.html.md.erb         | 17 +++++++++++++++++
 .../configuring_rmi_connector.html.md.erb          | 17 +++++++++++++++++
 .../management/gfsh_and_management_api.html.md.erb | 17 +++++++++++++++++
 .../management/jmx_manager_node.html.md.erb        | 17 +++++++++++++++++
 .../management/jmx_manager_operations.html.md.erb  | 17 +++++++++++++++++
 .../list_of_mbean_notifications.html.md.erb        | 17 +++++++++++++++++
 .../managing/management/list_of_mbeans.html.md.erb | 17 +++++++++++++++++
 .../management/list_of_mbeans_full.html.md.erb     | 17 +++++++++++++++++
 .../management_and_monitoring.html.md.erb          | 17 +++++++++++++++++
 .../management_and_monitoring_features.html.md.erb | 17 +++++++++++++++++
 .../management_system_overview.html.md.erb         | 17 +++++++++++++++++
 .../management/mbean_architecture.html.md.erb      | 17 +++++++++++++++++
 .../management/mbean_notifications.html.md.erb     | 17 +++++++++++++++++
 .../management/mbeans_jconsole.html.md.erb         | 17 +++++++++++++++++
 .../managing/management/mm_overview.html.md.erb    | 17 +++++++++++++++++
 .../notification_federation_and_alerts.html.md.erb | 17 +++++++++++++++++
 .../management/programming_example.html.md.erb     | 17 +++++++++++++++++
 .../monitor_tune/cache_consistency.html.md.erb     | 17 +++++++++++++++++
 .../monitor_tune/chapter_overview.html.md.erb      | 17 +++++++++++++++++
 .../gemfire_performance_on_vsphere.html.md.erb     | 17 +++++++++++++++++
 ...e_performance_on_vsphere_guidelines.html.md.erb | 17 +++++++++++++++++
 .../multicast_communication.html.md.erb            | 17 +++++++++++++++++
 ...munication_configuring_speed_limits.html.md.erb | 17 +++++++++++++++++
 ...ommunication_provisioning_bandwidth.html.md.erb | 17 +++++++++++++++++
 ...ommunication_runtime_considerations.html.md.erb | 17 +++++++++++++++++
 ...tion_testing_multicast_speed_limits.html.md.erb | 17 +++++++++++++++++
 ...icast_communication_troubleshooting.html.md.erb | 17 +++++++++++++++++
 .../monitor_tune/performance_controls.html.md.erb  | 17 +++++++++++++++++
 ...nce_controls_controlling_socket_use.html.md.erb | 17 +++++++++++++++++
 ...ormance_controls_data_serialization.html.md.erb | 17 +++++++++++++++++
 ...ance_controls_increasing_cache_hits.html.md.erb | 17 +++++++++++++++++
 ...ce_controls_managing_slow_receivers.html.md.erb | 17 +++++++++++++++++
 ...nce_controls_setting_cache_timeouts.html.md.erb | 17 +++++++++++++++++
 .../monitor_tune/slow_messages.html.md.erb         | 17 +++++++++++++++++
 .../monitor_tune/slow_receivers.html.md.erb        | 17 +++++++++++++++++
 .../slow_receivers_managing.html.md.erb            | 17 +++++++++++++++++
 .../slow_receivers_preventing_problems.html.md.erb | 17 +++++++++++++++++
 .../monitor_tune/socket_communication.html.md.erb  | 17 +++++++++++++++++
 ...unication_ephemeral_tcp_port_limits.html.md.erb | 17 +++++++++++++++++
 ...t_communication_have_enough_sockets.html.md.erb | 17 +++++++++++++++++
 ...ication_setting_socket_buffer_sizes.html.md.erb | 17 +++++++++++++++++
 ...cation_tcpip_p2p_handshake_timeouts.html.md.erb | 17 +++++++++++++++++
 .../monitor_tune/socket_tcp_keepalive.html.md.erb  | 17 +++++++++++++++++
 .../monitor_tune/sockets_and_gateways.html.md.erb  | 17 +++++++++++++++++
 .../system_member_performance.html.md.erb          | 17 +++++++++++++++++
 ...formance_connection_thread_settings.html.md.erb | 17 +++++++++++++++++
 ...rformance_distributed_system_member.html.md.erb | 17 +++++++++++++++++
 .../system_member_performance_garbage.html.md.erb  | 17 +++++++++++++++++
 ...member_performance_jvm_mem_settings.html.md.erb | 17 +++++++++++++++++
 .../monitor_tune/udp_communication.html.md.erb     | 17 +++++++++++++++++
 .../chapter_overview.html.md.erb                   | 17 +++++++++++++++++
 .../failure_detection.html.md.erb                  | 17 +++++++++++++++++
 .../handling_network_partitioning.html.md.erb      | 17 +++++++++++++++++
 ...twork_partitioning_management_works.html.md.erb | 17 +++++++++++++++++
 ...dinators_lead_members_and_weighting.html.md.erb | 17 +++++++++++++++++
 .../network_partitioning_scenarios.html.md.erb     | 17 +++++++++++++++++
 .../preventing_network_partitions.html.md.erb      | 17 +++++++++++++++++
 .../region_compression.html.md.erb                 | 17 +++++++++++++++++
 .../security/authentication_examples.html.md.erb   | 17 +++++++++++++++++
 .../security/authentication_overview.html.md.erb   | 17 +++++++++++++++++
 .../security/authorization_example.html.md.erb     | 17 +++++++++++++++++
 .../security/authorization_overview.html.md.erb    | 17 +++++++++++++++++
 .../managing/security/chapter_overview.html.md.erb | 17 +++++++++++++++++
 .../managing/security/enable_security.html.md.erb  | 17 +++++++++++++++++
 .../security/encrypting_passwords.html.md.erb      | 17 +++++++++++++++++
 .../encrypting_with_diffie_helman.html.md.erb      | 17 +++++++++++++++++
 .../implementing_authentication.html.md.erb        | 17 +++++++++++++++++
 .../implementing_authorization.html.md.erb         | 17 +++++++++++++++++
 .../security/implementing_security.html.md.erb     | 17 +++++++++++++++++
 .../managing/security/implementing_ssl.html.md.erb | 17 +++++++++++++++++
 .../managing/security/post_processing.html.md.erb  | 17 +++++++++++++++++
 .../managing/security/properties_file.html.md.erb  | 17 +++++++++++++++++
 .../managing/security/security-audit.html.md.erb   | 17 +++++++++++++++++
 .../security/security_audit_overview.html.md.erb   | 17 +++++++++++++++++
 .../managing/security/security_intro.html.md.erb   | 17 +++++++++++++++++
 .../managing/security/ssl_example.html.md.erb      | 17 +++++++++++++++++
 .../managing/security/ssl_overview.html.md.erb     | 17 +++++++++++++++++
 .../application_defined_statistics.html.md.erb     | 17 +++++++++++++++++
 .../statistics/chapter_overview.html.md.erb        | 17 +++++++++++++++++
 .../statistics/how_statistics_work.html.md.erb     | 17 +++++++++++++++++
 .../statistics/setting_up_statistics.html.md.erb   | 17 +++++++++++++++++
 ...ansient_region_and_entry_statistics.html.md.erb | 17 +++++++++++++++++
 .../statistics/viewing_statistics.html.md.erb      | 17 +++++++++++++++++
 .../troubleshooting/chapter_overview.html.md.erb   | 17 +++++++++++++++++
 .../diagnosing_system_probs.html.md.erb            | 17 +++++++++++++++++
 ...revent_and_recover_disk_full_errors.html.md.erb | 17 +++++++++++++++++
 ...producing_troubleshooting_artifacts.html.md.erb | 17 +++++++++++++++++
 ...overing_conflicting_data_exceptions.html.md.erb | 17 +++++++++++++++++
 .../recovering_from_app_crashes.html.md.erb        | 17 +++++++++++++++++
 .../recovering_from_cs_crashes.html.md.erb         | 17 +++++++++++++++++
 .../recovering_from_machine_crashes.html.md.erb    | 17 +++++++++++++++++
 .../recovering_from_network_outages.html.md.erb    | 17 +++++++++++++++++
 .../recovering_from_p2p_crashes.html.md.erb        | 17 +++++++++++++++++
 .../system_failure_and_recovery.html.md.erb        | 17 +++++++++++++++++
 geode-docs/prereq_and_install.html.md.erb          | 17 +++++++++++++++++
 geode-docs/reference/book_intro.html.md.erb        | 17 +++++++++++++++++
 .../statistics/statistics_list.html.md.erb         | 17 +++++++++++++++++
 .../topics/cache-elements-list.html.md.erb         | 17 +++++++++++++++++
 geode-docs/reference/topics/cache_xml.html.md.erb  | 17 +++++++++++++++++
 .../topics/chapter_overview_cache_xml.html.md.erb  | 17 +++++++++++++++++
 .../chapter_overview_regionshortcuts.html.md.erb   | 17 +++++++++++++++++
 .../topics/client-cache-elements-list.html.md.erb  | 17 +++++++++++++++++
 .../reference/topics/client-cache.html.md.erb      | 17 +++++++++++++++++
 .../reference/topics/elements_ref.html.md.erb      | 17 +++++++++++++++++
 .../topics/gemfire_properties.html.md.erb          | 17 +++++++++++++++++
 .../reference/topics/gfe_cache_xml.html.md.erb     | 17 +++++++++++++++++
 geode-docs/reference/topics/glossary.html.md.erb   | 17 +++++++++++++++++
 .../handling_exceptions_and_failures.html.md.erb   | 17 +++++++++++++++++
 .../memory_requirements_for_cache_data.html.md.erb | 17 +++++++++++++++++
 .../non-ascii_strings_in_config_files.html.md.erb  | 17 +++++++++++++++++
 .../topics/region_shortcuts_reference.html.md.erb  | 17 +++++++++++++++++
 .../topics/region_shortcuts_table.html.md.erb      | 17 +++++++++++++++++
 geode-docs/rest_apps/book_intro.html.md.erb        | 17 +++++++++++++++++
 geode-docs/rest_apps/chapter_overview.html.md.erb  | 17 +++++++++++++++++
 geode-docs/rest_apps/delete_all_data.html.md.erb   | 17 +++++++++++++++++
 .../rest_apps/delete_data_for_key.html.md.erb      | 17 +++++++++++++++++
 .../delete_data_for_multiple_keys.html.md.erb      | 17 +++++++++++++++++
 .../rest_apps/delete_named_query.html.md.erb       | 17 +++++++++++++++++
 geode-docs/rest_apps/develop_rest_apps.html.md.erb | 17 +++++++++++++++++
 .../rest_apps/get_execute_adhoc_query.html.md.erb  | 17 +++++++++++++++++
 geode-docs/rest_apps/get_functions.html.md.erb     | 17 +++++++++++++++++
 geode-docs/rest_apps/get_queries.html.md.erb       | 17 +++++++++++++++++
 geode-docs/rest_apps/get_region_data.html.md.erb   | 17 +++++++++++++++++
 .../get_region_data_for_multiple_keys.html.md.erb  | 17 +++++++++++++++++
 .../rest_apps/get_region_key_data.html.md.erb      | 17 +++++++++++++++++
 geode-docs/rest_apps/get_region_keys.html.md.erb   | 17 +++++++++++++++++
 geode-docs/rest_apps/get_regions.html.md.erb       | 17 +++++++++++++++++
 geode-docs/rest_apps/get_servers.html.md.erb       | 17 +++++++++++++++++
 geode-docs/rest_apps/head_region_size.html.md.erb  | 17 +++++++++++++++++
 geode-docs/rest_apps/ping_service.html.md.erb      | 17 +++++++++++++++++
 geode-docs/rest_apps/post_create_query.html.md.erb | 17 +++++++++++++++++
 .../rest_apps/post_execute_functions.html.md.erb   | 17 +++++++++++++++++
 .../rest_apps/post_execute_query.html.md.erb       | 17 +++++++++++++++++
 .../rest_apps/post_if_absent_data.html.md.erb      | 17 +++++++++++++++++
 .../put_multiple_values_for_keys.html.md.erb       | 17 +++++++++++++++++
 geode-docs/rest_apps/put_replace_data.html.md.erb  | 17 +++++++++++++++++
 .../rest_apps/put_update_cas_data.html.md.erb      | 17 +++++++++++++++++
 geode-docs/rest_apps/put_update_data.html.md.erb   | 17 +++++++++++++++++
 geode-docs/rest_apps/put_update_query.html.md.erb  | 17 +++++++++++++++++
 geode-docs/rest_apps/rest_admin.html.md.erb        | 17 +++++++++++++++++
 .../rest_apps/rest_api_reference.html.md.erb       | 17 +++++++++++++++++
 geode-docs/rest_apps/rest_examples.html.md.erb     | 17 +++++++++++++++++
 geode-docs/rest_apps/rest_functions.html.md.erb    | 17 +++++++++++++++++
 geode-docs/rest_apps/rest_prereqs.html.md.erb      | 17 +++++++++++++++++
 geode-docs/rest_apps/rest_queries.html.md.erb      | 17 +++++++++++++++++
 geode-docs/rest_apps/rest_regions.html.md.erb      | 17 +++++++++++++++++
 geode-docs/rest_apps/setup_config.html.md.erb      | 17 +++++++++++++++++
 geode-docs/rest_apps/troubleshooting.html.md.erb   | 17 +++++++++++++++++
 geode-docs/rest_apps/using_swagger.html.md.erb     | 17 +++++++++++++++++
 geode-docs/tools_modules/book_intro.html.md.erb    | 17 +++++++++++++++++
 .../gemcached/about_gemcached.html.md.erb          | 17 +++++++++++++++++
 .../tools_modules/gemcached/advantages.html.md.erb | 17 +++++++++++++++++
 .../gemcached/chapter_overview.html.md.erb         | 17 +++++++++++++++++
 .../gemcached/deploying_gemcached.html.md.erb      | 17 +++++++++++++++++
 .../tools_modules/gfsh/about_gfsh.html.md.erb      | 17 +++++++++++++++++
 .../gfsh/cache_xml_2_gfsh.html.md.erb              | 17 +++++++++++++++++
 .../gfsh/chapter_overview.html.md.erb              | 17 +++++++++++++++++
 .../gfsh/command-pages/alter.html.md.erb           | 17 +++++++++++++++++
 .../gfsh/command-pages/backup.html.md.erb          | 17 +++++++++++++++++
 .../gfsh/command-pages/change.html.md.erb          | 17 +++++++++++++++++
 .../gfsh/command-pages/clear.html.md.erb           | 17 +++++++++++++++++
 .../gfsh/command-pages/close.html.md.erb           | 17 +++++++++++++++++
 .../gfsh/command-pages/compact.html.md.erb         | 17 +++++++++++++++++
 .../gfsh/command-pages/configure.html.md.erb       | 17 +++++++++++++++++
 .../gfsh/command-pages/connect.html.md.erb         | 17 +++++++++++++++++
 .../gfsh/command-pages/create.html.md.erb          | 17 +++++++++++++++++
 .../gfsh/command-pages/debug.html.md.erb           | 17 +++++++++++++++++
 .../gfsh/command-pages/define.html.md.erb          | 17 +++++++++++++++++
 .../gfsh/command-pages/deploy.html.md.erb          | 17 +++++++++++++++++
 .../gfsh/command-pages/describe.html.md.erb        | 17 +++++++++++++++++
 .../gfsh/command-pages/destroy.html.md.erb         | 17 +++++++++++++++++
 .../gfsh/command-pages/disconnect.html.md.erb      | 17 +++++++++++++++++
 .../gfsh/command-pages/echo.html.md.erb            | 17 +++++++++++++++++
 .../gfsh/command-pages/encrypt.html.md.erb         | 17 +++++++++++++++++
 .../gfsh/command-pages/execute.html.md.erb         | 17 +++++++++++++++++
 .../gfsh/command-pages/exit.html.md.erb            | 17 +++++++++++++++++
 .../gfsh/command-pages/export.html.md.erb          | 17 +++++++++++++++++
 .../gfsh/command-pages/gc.html.md.erb              | 17 +++++++++++++++++
 .../gfsh/command-pages/get.html.md.erb             | 17 +++++++++++++++++
 .../gfsh/command-pages/help.html.md.erb            | 17 +++++++++++++++++
 .../gfsh/command-pages/hint.html.md.erb            | 17 +++++++++++++++++
 .../gfsh/command-pages/history.html.md.erb         | 17 +++++++++++++++++
 .../gfsh/command-pages/import.html.md.erb          | 17 +++++++++++++++++
 .../gfsh/command-pages/list.html.md.erb            | 17 +++++++++++++++++
 .../gfsh/command-pages/load-balance.html.md.erb    | 17 +++++++++++++++++
 .../gfsh/command-pages/locate.html.md.erb          | 17 +++++++++++++++++
 .../gfsh/command-pages/netstat.html.md.erb         | 17 +++++++++++++++++
 .../gfsh/command-pages/pause.html.md.erb           | 17 +++++++++++++++++
 .../gfsh/command-pages/pdx.html.md.erb             | 17 +++++++++++++++++
 .../gfsh/command-pages/put.html.md.erb             | 17 +++++++++++++++++
 .../gfsh/command-pages/query.html.md.erb           | 17 +++++++++++++++++
 .../gfsh/command-pages/rebalance.html.md.erb       | 17 +++++++++++++++++
 .../gfsh/command-pages/remove.html.md.erb          | 17 +++++++++++++++++
 .../gfsh/command-pages/resume.html.md.erb          | 17 +++++++++++++++++
 .../gfsh/command-pages/revoke.html.md.erb          | 17 +++++++++++++++++
 .../gfsh/command-pages/run.html.md.erb             | 17 +++++++++++++++++
 .../gfsh/command-pages/set.html.md.erb             | 17 +++++++++++++++++
 .../gfsh/command-pages/sh.html.md.erb              | 17 +++++++++++++++++
 .../gfsh/command-pages/show.html.md.erb            | 17 +++++++++++++++++
 .../gfsh/command-pages/shutdown.html.md.erb        | 17 +++++++++++++++++
 .../gfsh/command-pages/sleep.html.md.erb           | 17 +++++++++++++++++
 .../gfsh/command-pages/start.html.md.erb           | 17 +++++++++++++++++
 .../gfsh/command-pages/status.html.md.erb          | 17 +++++++++++++++++
 .../gfsh/command-pages/stop.html.md.erb            | 17 +++++++++++++++++
 .../gfsh/command-pages/undeploy.html.md.erb        | 17 +++++++++++++++++
 .../gfsh/command-pages/validate.html.md.erb        | 17 +++++++++++++++++
 .../gfsh/command-pages/version.html.md.erb         | 17 +++++++++++++++++
 .../gfsh/command_scripting.html.md.erb             | 17 +++++++++++++++++
 .../gfsh/configuring_gfsh.html.md.erb              | 17 +++++++++++++++++
 .../gfsh/getting_started_gfsh.html.md.erb          | 17 +++++++++++++++++
 .../gfsh/gfsh_command_index.html.md.erb            | 17 +++++++++++++++++
 .../gfsh/gfsh_quick_reference.html.md.erb          | 17 +++++++++++++++++
 .../gfsh/os_command_line_execution.html.md.erb     | 17 +++++++++++++++++
 .../gfsh/quick_ref_commands_by_area.html.md.erb    | 17 +++++++++++++++++
 .../tools_modules/gfsh/starting_gfsh.html.md.erb   | 17 +++++++++++++++++
 .../tools_modules/gfsh/tour_of_gfsh.html.md.erb    | 17 +++++++++++++++++
 .../gfsh/useful_gfsh_shell_variables.html.md.erb   | 17 +++++++++++++++++
 .../hibernate_cache/advanced_config.html.md.erb    | 17 +++++++++++++++++
 .../changing_gemfire_default_cfg.html.md.erb       | 17 +++++++++++++++++
 .../hibernate_cache/chapter_overview.html.md.erb   | 17 +++++++++++++++++
 .../chapter_overview_how_works.html.md.erb         | 17 +++++++++++++++++
 .../hibernate_why_use_gemfire.html.md.erb          | 17 +++++++++++++++++
 .../installing_gemfire_and_module.html.md.erb      | 17 +++++++++++++++++
 .../setting_up_the_module.html.md.erb              | 17 +++++++++++++++++
 .../using_hibernate_with_http_session.html.md.erb  | 17 +++++++++++++++++
 .../http_session_mgmt/chapter_overview.html.md.erb | 17 +++++++++++++++++
 .../common_gemfire_topologies.html.md.erb          | 17 +++++++++++++++++
 .../http_why_use_gemfire.html.md.erb               | 17 +++++++++++++++++
 .../interactive_mode_ref.html.md.erb               | 17 +++++++++++++++++
 .../http_session_mgmt/quick_start.html.md.erb      | 17 +++++++++++++++++
 .../session_mgmt_tcserver.html.md.erb              | 17 +++++++++++++++++
 .../session_mgmt_tomcat.html.md.erb                | 17 +++++++++++++++++
 .../session_mgmt_weblogic.html.md.erb              | 17 +++++++++++++++++
 .../session_state_log_files.html.md.erb            | 17 +++++++++++++++++
 .../tc_additional_info.html.md.erb                 | 17 +++++++++++++++++
 .../tc_changing_gf_default_cfg.html.md.erb         | 17 +++++++++++++++++
 .../tc_installing_the_module.html.md.erb           | 17 +++++++++++++++++
 .../tc_setting_up_the_module.html.md.erb           | 17 +++++++++++++++++
 .../tomcat_changing_gf_default_cfg.html.md.erb     | 17 +++++++++++++++++
 .../tomcat_installing_the_module.html.md.erb       | 17 +++++++++++++++++
 .../tomcat_setting_up_the_module.html.md.erb       | 17 +++++++++++++++++
 .../weblogic_changing_gf_default_cfg.html.md.erb   | 17 +++++++++++++++++
 ...blogic_common_configuration_changes.html.md.erb | 17 +++++++++++++++++
 .../weblogic_setting_up_the_module.html.md.erb     | 17 +++++++++++++++++
 .../pulse/chapter_overview.html.md.erb             | 17 +++++++++++++++++
 .../tools_modules/pulse/quickstart.html.md.erb     | 17 +++++++++++++++++
 .../pulse/system_requirements.html.md.erb          | 17 +++++++++++++++++
 geode-docs/tools_modules/redis_adapter.html.md.erb | 17 +++++++++++++++++
 .../topologies_and_comm/book_intro.html.md.erb     | 17 +++++++++++++++++
 .../cs_configuration/chapter_overview.html.md.erb  | 17 +++++++++++++++++
 ...lient_server_example_configurations.html.md.erb | 17 +++++++++++++++++
 .../client_server_whats_next.html.md.erb           | 17 +++++++++++++++++
 ...nfigure_servers_into_logical_groups.html.md.erb | 17 +++++++++++++++++
 .../setting_up_a_client_server_system.html.md.erb  | 17 +++++++++++++++++
 .../standard_client_server_deployment.html.md.erb  | 17 +++++++++++++++++
 .../chapter_overview.html.md.erb                   | 17 +++++++++++++++++
 .../multisite_topologies.html.md.erb               | 17 +++++++++++++++++
 .../setting_up_a_multisite_system.html.md.erb      | 17 +++++++++++++++++
 .../p2p_configuration/chapter_overview.html.md.erb | 17 +++++++++++++++++
 .../configuring_peer_member_groups.html.md.erb     | 17 +++++++++++++++++
 .../setting_up_a_p2p_system.html.md.erb            | 17 +++++++++++++++++
 .../setting_up_peer_communication.html.md.erb      | 17 +++++++++++++++++
 .../topology_concepts/IPv4_and_IPv6.html.md.erb    | 17 +++++++++++++++++
 .../topology_concepts/chapter_overview.html.md.erb | 17 +++++++++++++++++
 .../how_communication_works.html.md.erb            | 17 +++++++++++++++++
 .../how_member_discovery_works.html.md.erb         | 17 +++++++++++++++++
 .../how_multisite_systems_work.html.md.erb         | 17 +++++++++++++++++
 .../how_server_discovery_works.html.md.erb         | 17 +++++++++++++++++
 .../how_the_pool_manages_connections.html.md.erb   | 17 +++++++++++++++++
 .../member_communication.html.md.erb               | 17 +++++++++++++++++
 .../multisite_overview.html.md.erb                 | 17 +++++++++++++++++
 .../topology_concepts/topology_types.html.md.erb   | 17 +++++++++++++++++
 .../using_bind_addresses.html.md.erb               | 17 +++++++++++++++++
 547 files changed, 9299 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/about_geode.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/about_geode.html.md.erb b/geode-docs/about_geode.html.md.erb
index 3117eb4..b4f090f 100644
--- a/geode-docs/about_geode.html.md.erb
+++ b/geode-docs/about_geode.html.md.erb
@@ -2,6 +2,23 @@
 title:  Apache Geode 1.0.0-incubating Documentation
 ---
 
+<!--
+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.
+-->
+
 This documentation describes product concepts and provides complete setup instructions for Apache Geode 1.0.0-incubating. Source files and instructions on how to build this documentation are available at [https://github.com/project-geode/docs](https://github.com/project-geode/docs) and [https://github.com/project-geode/docs/blob/master/README.md](https://github.com/project-geode/docs/blob/master/README.md).
 
 You can also find additional documentation about Geode on the **Apache Geode Wiki**: [https://cwiki.apache.org/confluence/display/GEODE/Index](https://cwiki.apache.org/confluence/display/GEODE/Index).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/book_intro.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/book_intro.html.md.erb b/geode-docs/basic_config/book_intro.html.md.erb
index 1b6114e..757195d 100644
--- a/geode-docs/basic_config/book_intro.html.md.erb
+++ b/geode-docs/basic_config/book_intro.html.md.erb
@@ -2,6 +2,23 @@
 title:  Basic Configuration and Programming
 ---
 
+<!--
+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.
+-->
+
 *Basic Configuration and Programming* describes how to configure distributed system and cache properties for your Apache Geode installation. For your applications, it provides guidance for writing code to manage your cache and distributed system connection, data regions, and data entries, including custom classes.
 
 -   **[Distributed System and Cache Configuration](../basic_config/config_concepts/chapter_overview.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/config_concepts/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/config_concepts/chapter_overview.html.md.erb b/geode-docs/basic_config/config_concepts/chapter_overview.html.md.erb
index 8f3fa6d..a5df468 100644
--- a/geode-docs/basic_config/config_concepts/chapter_overview.html.md.erb
+++ b/geode-docs/basic_config/config_concepts/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Distributed System and Cache Configuration
 ---
 
+<!--
+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.
+-->
+
 To work with your Apache Geode applications, you use a combination of configuration files and application code.
 
 -   **[Distributed System Members](../../basic_config/config_concepts/distributed_system_member_configuration.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/config_concepts/distributed_system_member_configuration.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/config_concepts/distributed_system_member_configuration.html.md.erb b/geode-docs/basic_config/config_concepts/distributed_system_member_configuration.html.md.erb
index 5da27bc..a06a8c8 100644
--- a/geode-docs/basic_config/config_concepts/distributed_system_member_configuration.html.md.erb
+++ b/geode-docs/basic_config/config_concepts/distributed_system_member_configuration.html.md.erb
@@ -2,6 +2,23 @@
 title:  Distributed System Members
 ---
 
+<!--
+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.
+-->
+
 Distributed system members are programs that connect to a Geode distributed system. You configure members to belong to a single distributed system, and you can optionally configure them to be clients or servers to members in other distributed systems, and to communicate with other distributed systems.
 
 ## <a id="distributed_system_member_configuration__section_326B2609B67E4FBE9BF2074C3B211E50" class="no-quick-link"></a>Member Overview

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/config_concepts/local_vs_remote.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/config_concepts/local_vs_remote.html.md.erb b/geode-docs/basic_config/config_concepts/local_vs_remote.html.md.erb
index f48b459..535f2fd 100644
--- a/geode-docs/basic_config/config_concepts/local_vs_remote.html.md.erb
+++ b/geode-docs/basic_config/config_concepts/local_vs_remote.html.md.erb
@@ -2,6 +2,23 @@
 title:  Local and Remote Membership and Caching
 ---
 
+<!--
+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.
+-->
+
 For many Apache Geode discussions, you need to understand the difference between local and remote membership and caching.
 
 <a id="local_vs_remote_member_and_cache__section_5535DC4C94494B6A9B106DA39F63A439"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/data_entries_custom_classes/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_entries_custom_classes/chapter_overview.html.md.erb b/geode-docs/basic_config/data_entries_custom_classes/chapter_overview.html.md.erb
index 565cd87..0dd9f68 100644
--- a/geode-docs/basic_config/data_entries_custom_classes/chapter_overview.html.md.erb
+++ b/geode-docs/basic_config/data_entries_custom_classes/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Data Entries
 ---
 
+<!--
+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.
+-->
+
 The data entry is the key/value pair where you store your data. You can manage your entries individually and in batches. To use domain objects for your entry values and keys, you need to follow Apache Geode requirements for data storage and distribution.
 
 -   **[Managing Data Entries](../../basic_config/data_entries_custom_classes/managing_data_entries.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/data_entries_custom_classes/managing_data_entries.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_entries_custom_classes/managing_data_entries.html.md.erb b/geode-docs/basic_config/data_entries_custom_classes/managing_data_entries.html.md.erb
index d809635..3b3f62f 100644
--- a/geode-docs/basic_config/data_entries_custom_classes/managing_data_entries.html.md.erb
+++ b/geode-docs/basic_config/data_entries_custom_classes/managing_data_entries.html.md.erb
@@ -2,6 +2,23 @@
 title:  Managing Data Entries
 ---
 
+<!--
+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.
+-->
+
 Program your applications to create, modify, and manage your cached data entries.
 
 <a id="managing_data_entries__section_AACC36127F17411F86D1E409B86C6E5C"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/data_entries_custom_classes/using_custom_classes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_entries_custom_classes/using_custom_classes.html.md.erb b/geode-docs/basic_config/data_entries_custom_classes/using_custom_classes.html.md.erb
index 0fe6171..698c04f 100644
--- a/geode-docs/basic_config/data_entries_custom_classes/using_custom_classes.html.md.erb
+++ b/geode-docs/basic_config/data_entries_custom_classes/using_custom_classes.html.md.erb
@@ -2,6 +2,23 @@
 title:  Requirements for Using Custom Classes in Data Caching
 ---
 
+<!--
+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.
+-->
+
 Follow these guidelines to use custom domain classes for your cached entry keys and values.
 
 ## <a id="using_custom_classes__section_F098CAC546164094BE6872BF0C443A71" class="no-quick-link"></a>CLASSPATH

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/data_regions/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_regions/chapter_overview.html.md.erb b/geode-docs/basic_config/data_regions/chapter_overview.html.md.erb
index 3786906..4917259 100644
--- a/geode-docs/basic_config/data_regions/chapter_overview.html.md.erb
+++ b/geode-docs/basic_config/data_regions/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Data Regions
 ---
 
+<!--
+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.
+-->
+
 The region is the core building block of the Apache Geode distributed system. All cached data is organized into data regions and you do all of your data puts, gets, and querying activities against them.
 
 -   **[Data Region Management](../../basic_config/data_regions/managing_data_regions.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/data_regions/create_a_region_with_API.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_regions/create_a_region_with_API.html.md.erb b/geode-docs/basic_config/data_regions/create_a_region_with_API.html.md.erb
index ba8e384..8bb359b 100644
--- a/geode-docs/basic_config/data_regions/create_a_region_with_API.html.md.erb
+++ b/geode-docs/basic_config/data_regions/create_a_region_with_API.html.md.erb
@@ -2,6 +2,23 @@
 title:  Creating a Region Through the API
 ---
 
+<!--
+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.
+-->
+
 You can use the Geode caching API to create regions in your cache after startup. For run-time region creation, you need to use the API.
 
 Before you start, configure your `Cache` or `ClientCache` and determine the region shortcut and other attributes settings your region needs.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/data_regions/create_a_region_with_cacheXML.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_regions/create_a_region_with_cacheXML.html.md.erb b/geode-docs/basic_config/data_regions/create_a_region_with_cacheXML.html.md.erb
index 2737c88..d7838f6 100644
--- a/geode-docs/basic_config/data_regions/create_a_region_with_cacheXML.html.md.erb
+++ b/geode-docs/basic_config/data_regions/create_a_region_with_cacheXML.html.md.erb
@@ -2,6 +2,23 @@
 title:  Creating a Region Through the cache.xml File
 ---
 
+<!--
+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 common way to create a data region in the Apache Geode cache is through `cache.xml` declarations.
 
 Before you start, configure your `<cache>` or `<client-cache>` in your `cache.xml` file and determine the region shortcut and other attributes settings your region needs. The `cache.xml` file must conform to the schema definition provided in the product's `cache-1.0.xsd`.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/data_regions/create_a_region_with_gfsh.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_regions/create_a_region_with_gfsh.html.md.erb b/geode-docs/basic_config/data_regions/create_a_region_with_gfsh.html.md.erb
index c15c5fc..2b40e45 100644
--- a/geode-docs/basic_config/data_regions/create_a_region_with_gfsh.html.md.erb
+++ b/geode-docs/basic_config/data_regions/create_a_region_with_gfsh.html.md.erb
@@ -2,6 +2,23 @@
 title:  Creating a Region with gfsh
 ---
 
+<!--
+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 simple and fast way to create a data region in the Apache Geode cache is to use the `gfsh` command-line tool.
 
 Before you start, configure your `Cache` or `ClientCache` and determine the region shortcut and other attributes settings your region needs.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/data_regions/creating_custom_attributes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_regions/creating_custom_attributes.html.md.erb b/geode-docs/basic_config/data_regions/creating_custom_attributes.html.md.erb
index c234016..70ca047 100644
--- a/geode-docs/basic_config/data_regions/creating_custom_attributes.html.md.erb
+++ b/geode-docs/basic_config/data_regions/creating_custom_attributes.html.md.erb
@@ -2,6 +2,23 @@
 title:  Creating Custom Attributes for Regions and Entries
 ---
 
+<!--
+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.
+-->
+
 Use custom attributes to store information related to your region or its entries in your cache. These attributes are only visible to the local application and are not distributed.
 
 <a id="creating_custom_attributes__section_A8752F55C157480FAF435738D6244503"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/data_regions/managing_data_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_regions/managing_data_regions.html.md.erb b/geode-docs/basic_config/data_regions/managing_data_regions.html.md.erb
index cd9427b..f4f792e 100644
--- a/geode-docs/basic_config/data_regions/managing_data_regions.html.md.erb
+++ b/geode-docs/basic_config/data_regions/managing_data_regions.html.md.erb
@@ -2,6 +2,23 @@
 title:  Data Region Management
 ---
 
+<!--
+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.
+-->
+
 Apache Geode provides different APIs and XML configuration models to support configuration and management of your data regions.
 
 <a id="data_regions__section_18A9481217204613958897FE64105097"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/data_regions/managing_region_attributes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_regions/managing_region_attributes.html.md.erb b/geode-docs/basic_config/data_regions/managing_region_attributes.html.md.erb
index 541c8dd..1a5c691 100644
--- a/geode-docs/basic_config/data_regions/managing_region_attributes.html.md.erb
+++ b/geode-docs/basic_config/data_regions/managing_region_attributes.html.md.erb
@@ -2,6 +2,23 @@
 title:  Managing 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.
+-->
+
 Use region attributes to fine-tune the region configuration provided by the region shortcut settings.
 
 <a id="managing_region_attributes__section_B6363B281A994141B9B9BDD952173330"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/data_regions/new_region_existing_data.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_regions/new_region_existing_data.html.md.erb b/geode-docs/basic_config/data_regions/new_region_existing_data.html.md.erb
index ad17ebd..8396a6a 100644
--- a/geode-docs/basic_config/data_regions/new_region_existing_data.html.md.erb
+++ b/geode-docs/basic_config/data_regions/new_region_existing_data.html.md.erb
@@ -2,6 +2,23 @@
 title:  Building a New Region with Existing Content
 ---
 
+<!--
+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 new region or distributed system may need to be loaded with the data of an existing system. There are two approaches to accomplish this task. The approach used depends upon the organization of both the new and the existing distributed system.
 
 If both the number and the type of members is the same in both the new and the existing distributed system, then the simplest option is to use backup and restore on the persistent disk store contents. Make a full online backup of the persistent data in the disk store of the existing distributed system. Copy the files that comprise the backup to the new distributed system location. A restore instills the data into the new distributed system. See [Creating Backups for System Recovery and Operational Management](../../managing/disk_storage/backup_restore_disk_store.html) for details on how to make a backup and use the backup to restore a disk store.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/data_regions/region_naming.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_regions/region_naming.html.md.erb b/geode-docs/basic_config/data_regions/region_naming.html.md.erb
index 021079d..7809e71 100644
--- a/geode-docs/basic_config/data_regions/region_naming.html.md.erb
+++ b/geode-docs/basic_config/data_regions/region_naming.html.md.erb
@@ -2,6 +2,23 @@
 title:  Region Naming
 ---
 
+<!--
+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.
+-->
+
 To be able to perform all available operations on your data regions,
 follow these region naming guidelines.
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/data_regions/region_shortcuts.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_regions/region_shortcuts.html.md.erb b/geode-docs/basic_config/data_regions/region_shortcuts.html.md.erb
index 270987b..f221247 100644
--- a/geode-docs/basic_config/data_regions/region_shortcuts.html.md.erb
+++ b/geode-docs/basic_config/data_regions/region_shortcuts.html.md.erb
@@ -2,6 +2,23 @@
 title:  Region Shortcuts and Custom Named 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.
+-->
+
 Geode provides region shortcut settings, with preset region configurations for the most common region types. For the easiest configuration, start with a shortcut setting and customize as needed. You can also store your own custom configurations in the cache for use by multiple regions.
 
 <a id="region_shortcuts__section_D9E58754D2B0435FA2986DBBF3063D4C"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/data_regions/store_retrieve_region_shortcuts.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_regions/store_retrieve_region_shortcuts.html.md.erb b/geode-docs/basic_config/data_regions/store_retrieve_region_shortcuts.html.md.erb
index 9d39bd5..d2711cf 100644
--- a/geode-docs/basic_config/data_regions/store_retrieve_region_shortcuts.html.md.erb
+++ b/geode-docs/basic_config/data_regions/store_retrieve_region_shortcuts.html.md.erb
@@ -2,6 +2,23 @@
 title:  Storing and Retrieving Region Shortcuts and Custom Named 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.
+-->
+
 Use these examples to get started with Geode region shortcuts.
 
 <a id="region_shortcuts__section_D9E58754D2B0435FA2986DBBF3063D4C"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/gemfire_properties/setting_distributed_properties.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/gemfire_properties/setting_distributed_properties.html.md.erb b/geode-docs/basic_config/gemfire_properties/setting_distributed_properties.html.md.erb
index db03d15..22e373a 100644
--- a/geode-docs/basic_config/gemfire_properties/setting_distributed_properties.html.md.erb
+++ b/geode-docs/basic_config/gemfire_properties/setting_distributed_properties.html.md.erb
@@ -2,6 +2,23 @@
 title:  Setting Properties
 ---
 
+<!--
+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.
+-->
+
 Geode provides a default distributed system configuration for out-of-the-box systems. To use non-default configurations and to fine-tune your member communication, you can use a mix of various options to customize your distributed system configuration.
 
 <a id="setting_distributed_properties__section_67EBCC53EB174B108DA7271E2CD2B76C"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/the_cache/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/the_cache/chapter_overview.html.md.erb b/geode-docs/basic_config/the_cache/chapter_overview.html.md.erb
index c003e8b..180f9f6 100644
--- a/geode-docs/basic_config/the_cache/chapter_overview.html.md.erb
+++ b/geode-docs/basic_config/the_cache/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Cache Management
 ---
 
+<!--
+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.
+-->
+
 The Geode cache is the entry point to Geode caching management. Geode provides different APIs and XML configuration models to support the behaviors of different members.
 
 -   **[Introduction to Cache Management](../../basic_config/the_cache/intro_cache_management.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/the_cache/intro_cache_management.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/the_cache/intro_cache_management.html.md.erb b/geode-docs/basic_config/the_cache/intro_cache_management.html.md.erb
index 2d21a60..e2e9a4e 100644
--- a/geode-docs/basic_config/the_cache/intro_cache_management.html.md.erb
+++ b/geode-docs/basic_config/the_cache/intro_cache_management.html.md.erb
@@ -2,6 +2,23 @@
 title:  Introduction to Cache Management
 ---
 
+<!--
+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.
+-->
+
 The cache provides in-memory storage and management for your data.
 
 <a id="concept_F8BA7F2D3B5A40D78461E78BC5FB31FA__section_B364B076EB5843DAAC28EE2805686453"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/the_cache/managing_a_client_cache.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/the_cache/managing_a_client_cache.html.md.erb b/geode-docs/basic_config/the_cache/managing_a_client_cache.html.md.erb
index 94099aa..1c76397 100644
--- a/geode-docs/basic_config/the_cache/managing_a_client_cache.html.md.erb
+++ b/geode-docs/basic_config/the_cache/managing_a_client_cache.html.md.erb
@@ -2,6 +2,23 @@
 title:  Managing a Client Cache
 ---
 
+<!--
+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.
+-->
+
 You have several options for client cache configuration. Start your client cache using a combination of XML declarations and API calls. Close the client cache when you are done.
 
 <a id="managing_a_client_cache__section_566044C44C434926A7A9FBAB2BF463BF"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/the_cache/managing_a_multiuser_cache.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/the_cache/managing_a_multiuser_cache.html.md.erb b/geode-docs/basic_config/the_cache/managing_a_multiuser_cache.html.md.erb
index 76dc590..293c12e 100644
--- a/geode-docs/basic_config/the_cache/managing_a_multiuser_cache.html.md.erb
+++ b/geode-docs/basic_config/the_cache/managing_a_multiuser_cache.html.md.erb
@@ -2,6 +2,23 @@
 title:  Managing RegionServices for Multiple Secure Users
 ---
 
+<!--
+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.
+-->
+
 In a secure system, you can create clients with multiple, secure connections to the servers from each client. The most common use case is a Geode client embedded in an application server that supports data requests from many users. Each user may be authorized to access a subset of data on the servers. For example, customer users may be allowed to see and update only their own orders and shipments.
 
 <a id="managing_a_multiuser_cache__section_A2A0F835DF35450E8E4B5304F4BC07E2"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/the_cache/managing_a_peer_server_cache.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/the_cache/managing_a_peer_server_cache.html.md.erb b/geode-docs/basic_config/the_cache/managing_a_peer_server_cache.html.md.erb
index 89ad024..65fceca 100644
--- a/geode-docs/basic_config/the_cache/managing_a_peer_server_cache.html.md.erb
+++ b/geode-docs/basic_config/the_cache/managing_a_peer_server_cache.html.md.erb
@@ -2,6 +2,23 @@
 title:  Managing a Peer or Server Cache
 ---
 
+<!--
+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.
+-->
+
 You start your peer or server cache using a combination of XML declarations and API calls. Close the cache when you are done.
 
 <a id="creating_and_closing_a_peer_cache__section_1633A80F0DB04794BB6C3A7F05EED97E"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/the_cache/managing_a_secure_cache.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/the_cache/managing_a_secure_cache.html.md.erb b/geode-docs/basic_config/the_cache/managing_a_secure_cache.html.md.erb
index 6bd109c..94e3e52 100644
--- a/geode-docs/basic_config/the_cache/managing_a_secure_cache.html.md.erb
+++ b/geode-docs/basic_config/the_cache/managing_a_secure_cache.html.md.erb
@@ -2,6 +2,23 @@
 title:  Managing a Cache in a Secure System
 ---
 
+<!--
+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.
+-->
+
 To create a cache in a secured system,
 authentication at connection time will require credentials.
 Authorization permits operations as configured.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/the_cache/setting_cache_initializer.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/the_cache/setting_cache_initializer.html.md.erb b/geode-docs/basic_config/the_cache/setting_cache_initializer.html.md.erb
index 20cc2c6..57045cc 100644
--- a/geode-docs/basic_config/the_cache/setting_cache_initializer.html.md.erb
+++ b/geode-docs/basic_config/the_cache/setting_cache_initializer.html.md.erb
@@ -2,6 +2,23 @@
 title:  Launching an Application after Initializing the Cache
 ---
 
+<!--
+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.
+-->
+
 You can specify a callback application that is launched after the cache initialization.
 
 By specifying an `<initializer>` element in your cache.xml file, you can trigger a callback application, which is run after the cache has been initialized. Applications that use the cacheserver script to start up a server can also use this feature to hook into a callback application. To use this feature, you need to specify the callback class within the `<initializer>` element. This element should be added to the end of your `cache.xml` file.


[57/76] [abbrv] incubator-geode git commit: GEODE-1952: removed native client docs, set aside until native client code is merged in (see GEODE-1964)

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/delta-propagation/how-delta-propagation-works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/delta-propagation/how-delta-propagation-works.html.md.erb b/geode-docs/nativeclient/delta-propagation/how-delta-propagation-works.html.md.erb
deleted file mode 100644
index eac1907..0000000
--- a/geode-docs/nativeclient/delta-propagation/how-delta-propagation-works.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  How Delta Propagation Works
----
-
-Geode propagates object deltas using methods that you program on the client side. The methods are in the delta interface, which you implement in your cached objects\u2019 classes.
-
-This figure shows delta propagation for a change to an entry with key, `k`, and value object, `v`.
-
-<a id="how-delta-propagation-works__fig_C4846E7C4C0E4D6097736B5BFBBF93A7"></a>
-<span class="figtitleprefix">Figure: </span>Delta Propagation
-
-<img src="../common/images/delta-propagation.gif" alt="Delta Propagation" id="how-delta-propagation-works__image_69D664D2A4344785A52AC2D492E4B557" class="image" />
-
-1.  **get operation**. The `get` works as usual; the cache returns the full entry object from the local cache or, if it is unavailable there, from a server cache or from a loader.
-2.  **update methods**. You need to add code to the object\u2019s update methods so that they save delta information for object updates, in addition to the work they were already doing.
-3.  **put operation**. The `put` works as usual in the local cache, using the full value, then calls `hasDelta` to check for deltas and `toDelta` to serialize the information.
-4.  **receipt of delta**. `fromDelta` extracts the delta information that was serialized by `toDelta` and applies it to the object in the local cache. The delta is applied directly to the existing value or to a clone, depending on how you configure it for the region.
-5.  **additional distributions**. As with full distributions, receiving members forward the delta according to their configurations and connections to other members. In the example, the server would forward the delta to its peers and its other clients as needed. Receiving members do not recreate the delta; `toDelta` is only called in the originating member.
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/delta-propagation/implementing-delta-propagation.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/delta-propagation/implementing-delta-propagation.html.md.erb b/geode-docs/nativeclient/delta-propagation/implementing-delta-propagation.html.md.erb
deleted file mode 100644
index 6d1c3ee..0000000
--- a/geode-docs/nativeclient/delta-propagation/implementing-delta-propagation.html.md.erb
+++ /dev/null
@@ -1,41 +0,0 @@
----
-title:  Implementing Delta Propagation
----
-
-By default, delta propagation is enabled in your distributed system and is used for objects that implement the delta interface. You program the client-side methods to extract delta information for your entries and to apply received delta information.
-
-For more information, see [Delta Propagation API](delta-propagation-api.html#delta-propagation-api).
-
-**Prerequisites**
-
--   Study your object types and expected application behavior to determine which objects should use delta propagation. Delta propagation is not beneficial for all data and data modification scenarios. See [Exceptions and Limitations](performance.html#performance).
--   Decide whether to enable cloning. Cloning is disabled by default. See [cloning-enabled](delta-propagation-properties.html#delta-propagation-properties).
--   If you enable cloning, consider providing your own implementation, to optimize performance.
--   If you do not enable cloning, be sure to synchronize your delta code.
--   If you do not enable cloning, review all associated listener code for dependencies on the entry event old value. Without cloning, Geode modifies the entry in place and so loses its reference to the old value. For delta events, the `EntryEvent` methods to retrieve the old and new values both return the new value.
-
-**Procedure**
-
-For every class in which you want delta propagation, implement the delta interface and update your methods to support delta propagation. Exactly how you do this depends on your application and object needs, but these steps describe the basic approach.
-
-1.  Study the object contents to decide how to handle delta changes.
-
-    Delta propagation has the same issues of distributed concurrency control as the distribution of full objects, but on a more detailed level. Some parts of your objects may be able to change independent of one another while others may always need to change together. Send deltas large enough to keep your data logically consistent. If, for example, field A and field B depend on each other, then your delta distributions should either update both fields or neither. As with regular updates, the fewer producers you have on a data region, the lower your likelihood of concurrency issues.
-
-2.  In the application code that puts entries, put the fully populated object into the local cache. This usually means doing a `get` on the entry, unless you are sure it does not already exist anywhere in the distributed region.
-
-    Even though you are planning to send only deltas, errors on the receiving end could cause Geode to request the full object, so you must provide it to the originating put method. Do this even in empty producers, with regions configured for no local data storage.
-
-3.  Change each field\u2019s update method to record information about the update.
-
-    The information must be sufficient for `toDelta` to encode the delta and any additional required delta information when it is invoked.
-
-4.  Write `hasDelta` to report on whether a delta is available.
-5.  When writing your serialization methods, `toDelta`, `fromDelta`, `toData`, `fromData`, be sure to exclude any fields used to manage delta state, which do not need to be sent.
-6.  Write `toDelta` to create a byte stream with the changes to the object and any other information that `fromDelta` will need to apply the changes. Before returning from `toDelta`, reset your delta state to indicate that there are no delta changes waiting to be sent.
-7.  Write `fromDelta` to decode the byte stream that `toDelta` creates and update the object.
-8.  Make sure you provide adequate synchronization to your object to maintain a consistent object state.
-
-    If you do not use cloning, you will probably need to synchronize on reads and writes to avoid reading partially written updates from the cache. This might involve `toDelta`, `fromDelta`, and other object access and update methods. Additionally, your implementation should take into account the possibility of concurrent invocations of `fromDelta` and one or more of the object's update methods.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/delta-propagation/performance.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/delta-propagation/performance.html.md.erb b/geode-docs/nativeclient/delta-propagation/performance.html.md.erb
deleted file mode 100644
index 435997e..0000000
--- a/geode-docs/nativeclient/delta-propagation/performance.html.md.erb
+++ /dev/null
@@ -1,48 +0,0 @@
----
-title:  Exceptions and Limitations
----
-
-In some application scenarios, delta propagation does not show any significant performance benefits. On occasion it results in degradation. There are other limitations and exceptions related to delta propagation.
-
-## <a id="performance__section_26DE70BF948F4B55A36A7B91C9AE2751" class="no-quick-link"></a>Errors in Delta Propagation
-
-Errors in delta propagation fall into two categories based on how they are handled:
-
--   **Problems applying the delta that can be remedied if the originating member sends the full value in place of the delta.** Your put operation does not see errors or exceptions related to the failed delta propagation. The system automatically does a full value distribution to the receiver where the problem occurs. This type of error includes:
-
-    -   Unavailable entry value in the receiving cache, either because the entry is missing or its value is null. In both cases, there is nothing to apply the delta to and the full value must be sent. This is most likely to occur if you destroy or invalidate your entries locally, either through application calls or through configured actions like eviction or entry expiration.
-    -   `InvalidDeltaException` thrown by `fromDelta` method, programmed by you. This exception enables you to avoid applying deltas that would violate data consistency checks or other application requirements. Throwing this exception causes Geode to send the full value.
-    -   Any error applying the delta in a client in server-to-client propagation. The client retrieves the full value from the server.
--   **Problems creating or distributing the delta that cannot be fixed by distributing the full value.** These problems are caused by errors or exceptions in `hasDelta` or `toDelta`. In these cases, your `put` operation fails with an exception.
-
-## <a id="performance__section_39CE903E2C0C412E891C420C59AB4588" class="no-quick-link"></a>Performance Limitations
-
-Consider the following situations in which delta propagation adversely affects performance:
-
--   **Added costs of deserializing your objects to apply deltas**. Applying a delta requires the entry value to be deserialized. Once this is done, the object is stored back in the cache in deserialized form. This aspect of delta propagation only negatively impacts your system if your objects are not already being deserialized for other reasons, such as for indexing and querying or for listener operations. Once stored in deserialized form, there are reserialization costs for operations that send the object outside of the member, like values sent in response to netSearch or client requests, and storage to disk. The more operations that require reserialization, the higher the overhead of deserializing the object.
--   **Cloning**. Cloning can affect performance. Not using cloning is risky, however, as you are modifying cached values in place. Make sure you synchronize your entry access to keep your cache from becoming inconsistent.
--   **Problems applying the delta that cause the system to go back to the originator for the full entry value**. In this scenario, the overall operation costs more than sending the full entry value in the first place. The problem can be exacerbated if your delta is sent to a number of recipients, all or most of them request a full value, and the full value send requires the object to be serialized.
--   **Disk I/O costs associated with overflow regions**. If you use eviction with overflow to disk, on-disk values must be brought into memory in order to apply the delta. This is much more costly than removing the reference to the disk copy, as you would do with a full value distribution into the cache.
-
-## <a id="performance__section_F7BC60C9E89B44BBA3D06995D52574AC" class="no-quick-link"></a>Configurations That Require Full Values
-
-Geode clients can always send deltas to the servers, and servers can usually sent deltas to clients. The following configurations require the servers to send full values to the clients, instead of deltas:
-
--   When the client's `gemfire.properties` setting `conflate-events` is set to `true`, the servers send full values for all regions.
--   When the server region attribute `enable-subscription-conflation` is set to `true` and the client `gemfire.properties` setting `conflate-events` is set to `server`, the servers send full values for the region.
--   Servers send full values to client regions that are configured to not cache data\u2014with the `PROXY                             RegionShortcut` in their region attributes `refid`.
-
-To use the delta propagation feature, all updates on a key in a region must have value types that implement the `Delta` interface. You cannot mix object types for an entry key where some of the types implement delta and some do not. This is because, when a type implementing the delta interface is received for an update, the existing value for the key is cast to a `Delta` type to apply the received delta.
-
-## <a id="performance__section_2767204E1914425BB8160E4347615B71" class="no-quick-link"></a>General Limitations
-
-Sometimes `fromDelta` cannot be invoked because there is no object to apply the delta to in the receiving cache. When this happens, the system sends the full value. There are two possible scenarios:
-
--   If the system can determine beforehand that the receiver does not have a local copy, it sends the initial message with the full value. This is possible when regions are configured with no local data storage, as when you are using them to provide data update information to listeners.
--   In less obvious cases, as when an entry has been locally deleted, first the delta is sent, then the receiver requests a full value and that is sent. Whenever the full value is received, any further distributions to the receiver\u2019s peers or clients uses the full value.
-
-Geode does not propagate deltas for:
-
--   Transactional commit on the server
--   The `putAll` operation
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/application-callbacks.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/application-callbacks.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/application-callbacks.html.md.erb
deleted file mode 100644
index 9b49635..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/application-callbacks.html.md.erb
+++ /dev/null
@@ -1,81 +0,0 @@
----
-title:  Application Callbacks
----
-
-For region-level events, an application can use `AttributesFactory.SetCache*` methods to implement and register the `ICacheLoader`, `ICacheWriter`, and `ICacheListener` interfaces to perform custom actions.
-
-You can use `Region.Put` for simple caching situations. For more complex needs, you should implement the `ICacheLoader` interface and allow the cache to manage the creation and loading of objects. When a `Region.Get          `is called for a region entry with a value of null, the `ICacheLoader::Load` method of the cache loader (if any) for the region is invoked. A static `CacheLoader::NetSearch` method is provided which can be used by `ICacheLoader` implementations to locate the requested key in the distributed system. The `ICacheListener` interface can be used to listen to various region events after events such as create, update, or invalidate of region entries have occurred. The `ICacheWriter` interface is invoked before the events have occurred.
-
-## Using ICacheLoader to Load New Integers in the Region
-
-This example demonstrates an `ICacheLoader` implementation for loading new integers into a region.
-
-``` pre
-class SimpleCacheLoader<TKey, TVal> : ICacheLoader<TKey, TVal>
-{
-   #region ICacheLoader Members
-   public TVal Load(IRegion<TKey, TVal> region, TKey key, object helper)
-   {
-      Console.WriteLine("SimpleCacheLoader: Received Load event for region:
-      {0} and key: {1}", region.Name, key);
-      return default(TVal);
-   }
-   public void Close(IRegion<TKey, TVal> region)
-   {
-      Console.WriteLine("SimpleCacheLoader: Received Close event of region:
-      {0}", region.Name);
-   }
-   #endregion
-}
-```
-
-## Using ICacheWriter to Track Creates and Updates for a Region
-
-This example implements `ICacheWriter` to track region entry `create` and `update` events. This example just reports the events to the screen, but you can do whatever you need to do with the events.
-
-``` pre
-class SimpleCacheWriter<TKey, TVal> : ICacheWriter<TKey, TVal>
-{
-   #region ICacheWriter<TKey, TVal> Members
-   public bool BeforeUpdate(EntryEvent<TKey, TVal> ev)
-   {
-      Console.WriteLine("SimpleCacheWriter: Received BeforeUpdate event for: {0}", ev.Key);
-      return true;
-   }
-   // ... handle other entry events as needed
-   public bool BeforeRegionClear(RegionEvent<TKey, TVal> ev)
-   {
-      Console.WriteLine("SimpleCacheWriter: Received BeforeRegionClear event of region: {0}",
-      ev.Region.Name);
-      return true;
-   }
-   // ... handle other region events as needed
-   #endregion
-}
-```
-
-## A Sample ICacheListener Implementation
-
-This example implements `ICacheListener`.
-
-``` pre
-class SimpleCacheListener<TKey, TVal> : ICacheListener<TKey, TVal>
-{
-   #region ICacheListener<TKey, TVal> Members
-   public void AfterCreate(EntryEvent<TKey, TVal> ev)
-   {
-      Console.WriteLine("SimpleCacheListener: Received AfterCreate event
-      for: {0}", ev.Key);
-   }
-   // ... handle other entry events as needed
-   public void AfterRegionDestroy(RegionEvent<TKey, TVal> ev)
-   {
-      Console.WriteLine("SimpleCacheListener: Received AfterRegionDestroy
-      event of region: {0}", ev.Region.Name);
-   }
-   // ... handle other region events as needed
-   #endregion
-}
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/cache-apis.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/cache-apis.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/cache-apis.html.md.erb
deleted file mode 100644
index fa36a86..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/cache-apis.html.md.erb
+++ /dev/null
@@ -1,10 +0,0 @@
----
-title:  Cache APIs
----
-
-This section describes the `CacheFactory` and `Cache` classes.
-
--   **CacheFactory class**. Creates a `Cache` instance based on the provided distributed system and cache configuration. Any `gfcpp`.properties and `cache.xml` files provided to the application are used to initialize the system and cache. See [Setting System and Cache Properties](../setting-properties/chapter-overview.html#system_and_cache_properties). If a `cache.xml` file is used to create a cache and some of the regions already exist, a warning states that the regions exist and the cache is created.
--   **Cache class**. Entry point to the Geode caching API. This class allows you to create regions. The cache is created by calling the `create` function of the `CacheFactory` class. When creating a cache, you specify a `DistributedSystem` that tells the new cache where to find other caches on the network and how to communicate with them.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/cpp-class-to-dotnet-class-mappings.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/cpp-class-to-dotnet-class-mappings.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/cpp-class-to-dotnet-class-mappings.html.md.erb
deleted file mode 100644
index 8a395f6..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/cpp-class-to-dotnet-class-mappings.html.md.erb
+++ /dev/null
@@ -1,164 +0,0 @@
----
-title:  C++ Class to .NET Class Mappings
----
-
-Wherever the native C++ class methods use pass-by-reference semantics to return data, the corresponding .NET methods return the object instead of using pass-by-reference semantics.
-
-<a id="concept_FD847E19497C4985ACB247C0FA2C2AD5__table_8D8D228E223E4E89A313A17DB5C38652"></a>
-
-<table>
-<caption><span class="tablecap">Table 1. C++ Class to .NET Class Mappings</span></caption>
-<colgroup>
-<col width="50%" />
-<col width="50%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th><p>C++ Class</p></th>
-<th><p>.NET Class</p></th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td>class <code class="ph codeph">gemfire::AttributesFactory</code></td>
-<td>Sealed class <code class="ph codeph">AttributesFactory</code></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire::AttributesMutator</code></p></td>
-<td>Sealed class <code class="ph codeph">AttributesMutator</code></td>
-</tr>
-<tr class="odd">
-<td>class <code class="ph codeph">gemfire::Cache</code></td>
-<td>Sealed class <code class="ph codeph">Cache</code></td>
-</tr>
-<tr class="even">
-<td><p>abstract class <code class="ph codeph">gemfire::Cacheable</code></p></td>
-<td><p>Interface <code class="ph codeph">IPdxSerializable</code> or interface <code class="ph codeph">IGFSerializable</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">gemfire::CacheableBytes</code></p></td>
-<td><p><code class="ph codeph">Byte[]</code> or <code class="ph codeph">ArrayList&lt;Byte&gt;</code></p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire::Cacheableint32</code></p></td>
-<td><p><code class="ph codeph">Int32</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">gemfire::CacheableString</code></p></td>
-<td><p><code class="ph codeph">String</code></p></td>
-</tr>
-<tr class="even">
-<td><p>abstract class <code class="ph codeph">gemfire::CacheableKey</code></p></td>
-<td><p>You can use any type that implements <code class="ph codeph">hashcode</code> and <code class="ph codeph">equals</code>. The generic .NET built-in types are all suitable.</p></td>
-</tr>
-<tr class="odd">
-<td><p>abstract class <code class="ph codeph">gemfire::CacheListener</code></p></td>
-<td><p>Interface <code class="ph codeph">ICacheListener</code></p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire::CacheLoader</code></p></td>
-<td><p>Interface <code class="ph codeph">ICacheLoader</code> plus static class <code class="ph codeph">CacheLoader</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">gemfire::CacheWriter</code></p></td>
-<td><p>Interface class <code class="ph codeph">ICacheWriter</code></p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire::CacheFactory</code></p></td>
-<td><p>Sealed class <code class="ph codeph">CacheFactory</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">gemfire::DataInput</code></p></td>
-<td><p>With <code class="ph codeph">IPdxSerializable</code>, <code class="ph codeph">IPdxReader.</code></p>
-<p>With <code class="ph codeph">IGFSerializable</code>, sealed class <code class="ph codeph">DataInput</code>.</p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire::DataOutput</code></p></td>
-<td><p>With <code class="ph codeph">IPdxSerializable</code>, <code class="ph codeph">IPdxWriter.</code></p>
-<p>With <code class="ph codeph">IGFSerializable</code>, sealed class <code class="ph codeph">DataOutput</code> .</p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">gemfire::DiskPolicyType</code></p></td>
-<td><p>enum <code class="ph codeph">DiskPolicyType</code> plus static class <code class="ph codeph">DiskPolicy</code> containing convenience methods for <code class="ph codeph">DiskPolicyType</code> enumeration</p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire::DistributedSystem</code></p></td>
-<td><p>Sealed class <code class="ph codeph">Distr</code>ibutedSystem</p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">gemfire::EntryEvent</code></p></td>
-<td><p>Sealed class <code class="ph codeph">EntryEvent</code></p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire::Exception</code></p></td>
-<td><p>Class <code class="ph codeph">GemfireException</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>all other exceptions deriving from <code class="ph codeph">gemfire::Exception</code></p></td>
- <td><p>Corresponding exceptions deriving from <code class="ph codeph">GemfireException</code></p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire::ExpirationAction</code></p></td>
-<td><p>enum <code class="ph codeph">ExpirationAction</code> plus static class <code class="ph codeph">Expiration</code> containing convenience methods for <code class="ph codeph">ExpirationAction</code> enumeration</p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">gemfire::Log</code></p></td>
-<td><p>Static class <code class="ph codeph">Log</code>. The native <code class="ph codeph">Log::log</code> method is mapped to <code class="ph codeph">Log.Write</code> to avoid the conflict with the class name which is reserved for the constructors of Log class. The various loglevel <code class="ph codeph">Throw</code> or <code class="ph codeph">Catch</code> methods are not implemented, since they are redundant to <code class="ph codeph">Log::Log</code> , <code class="ph codeph">Log::LogThrow</code>, and <code class="ph codeph">Log::LogCatch</code> methods that take <code class="ph codeph">LogLevel</code> as a parameter.</p></td>
-</tr>
-<tr class="even">
-<td><p>enum <code class="ph codeph">gemfire::MemberType</code></p></td>
-<td><p>enum <code class="ph codeph">MemberType</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>abstract class <code class="ph codeph">gemfire::PersistanceManager</code></p></td>
-<td><p>Not provided. You can register a C++ implementation using <code class="ph codeph">AttributesFactory.SetPersistenceManager</code> but you cannot implement a new one in .NET</p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire::Properties</code></p></td>
-<td><p>Sealed class <code class="ph codeph">Properties</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">gemfire::Properties::Visitor</code></p></td>
-<td><p>Delegate <code class="ph codeph">PropertiesVisitor</code></p></td>
-</tr>
-<tr class="even">
-<td><p>abstract class <code class="ph codeph">gemfire::Region</code></p></td>
-<td><p>Class <code class="ph codeph">IRegion</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">gemfire::RegionAttributes</code></p></td>
-<td><p>Sealed class <code class="ph codeph">RegionAttributes</code></p></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire::ScopeType</code></p></td>
-<td><p>enum <code class="ph codeph">ScopeType</code> plus static class <code class="ph codeph">Scope</code> containing convenience methods for <code class="ph codeph">ScopeType</code> enumeration+</p></td>
-</tr>
-<tr class="odd">
-<td><p>abstract class <code class="ph codeph">gemfire::Serializable</code></p></td>
-<td><p>Two options:</p>
-<ul>
-<li><p>Interface <code class="ph codeph">IPdxSerializable</code></p></li>
-<li><p>Interface <code class="ph codeph">IGFSerializable</code> plus wrapper <code class="ph codeph">Serializable</code> class for native <code class="ph codeph">Serializable</code> and <code class="ph codeph">UserData</code> objects. The native <code class="ph codeph">toString</code> method is not provided, since the <code class="ph codeph">ToString</code> method of the base object class provides the same functionality.</p></li>
-</ul></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire::SystemProperties</code></p></td>
-<td><p>Sealed class <code class="ph codeph">SystemProperties</code></p></td>
-</tr>
-<tr class="odd">
-<td><p>class <code class="ph codeph">gemfire::UserData</code></p></td>
-<td><p>Two options:</p>
-<ul>
-<li><p>Interface <code class="ph codeph">IPdxSerializable</code></p></li>
-<li><p>Interface <code class="ph codeph">IGFSerializable</code></p></li>
-</ul></td>
-</tr>
-<tr class="even">
-<td><p>class <code class="ph codeph">gemfire::VectorT&lt;T&gt;</code></p></td>
-<td><p>Array of the given type, such as T[]</p></td>
-</tr>
-</tbody>
-</table>
-
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/creating-a-cache.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/creating-a-cache.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/creating-a-cache.html.md.erb
deleted file mode 100644
index 1613ba5..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/creating-a-cache.html.md.erb
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title:  Creating a Cache
----
-
-You create a cache using the Geode `CacheFactory.Create` call. Cache creation initializes the distributed system and creates the cache using your `gfcpp.properties` and `cache.xml` file settings and any additional properties you provide to the call.
-
-See [Setting System and Cache Properties](../setting-properties/chapter-overview.html#system_and_cache_properties) and see [Cache Initialization File](../cache-init-file/chapter-overview.html#chapter-overview).
-
-## Connecting and Creating the Cache
-
-In this example, the application connects to the distributed system and creates the cache using the available configuration files.
-
-The application becomes a distributed system member in the cache Create call.
-
-``` pre
-CacheFactory cacheFactory = CacheFactory.CreateCacheFactory();
-Cache cache = cacheFactory.Create();
-```
-
-## Providing Properties to the Cache Creation
-
-You can also create a cache by referencing a `cache.xml` file, as shown in the following example. You can use the `Properties` object to change any of the `gfcpp.properties` settings.
-
-``` pre
-Properties prop = Properties.Create();
-prop.Insert("cache-xml-file", "cache.xml");
-CacheFactory cacheFactory = CacheFactory.CreateCacheFactory(prop);
-Cache cache = cacheFactory.Create();
-```
-
-For systems with security enabled, the credentials for a joining member are authenticated when the cache is created and the system connection is made. For more information about secure connections to a distributed system, see [Security](../security/overviewsecurity.html#security).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/creating-a-region.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/creating-a-region.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/creating-a-region.html.md.erb
deleted file mode 100644
index e00aa63..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/creating-a-region.html.md.erb
+++ /dev/null
@@ -1,37 +0,0 @@
----
-title:  Creating a Region
----
-
-To create a region, you create a `RegionFactory` using the `RegionShortcut` that most closely fits your region configuration.
-
-From that point, you customize the settings for region attributes as needed.
-
-Creating a region using the native client API only creates a proxy client side region. A corresponding region with the same name and path must also exist on the servers that have been configured for client connections and upon which the client will perform its operations.
-
-## Creating a CACHING\_PROXY Region
-
-This example creates a region using a CACHING\_PROXY RegionShortcut with no further modifications:
-
-``` pre
-RegionFactory regionFactory =
-    cache.CreateRegionFactory(RegionShortcut.CACHING_PROXY);
- 
-IRegion<string, string> region = regionFactory
-    .Create<string, string>("exampleRegion");
-```
-
-## Creating a CACHING\_PROXY Region with LRU
-
-This example creates a region based on the CACHING\_PROXY RegionShortcut with two additional region attributes settings. For information on the settings, see [Region Attributes Descriptions](../client-cache/region-attributes-desc.html#region-attributes-desc).
-
-``` pre
-RegionFactory regionFactory =
-    cache.CreateRegionFactory(RegionShortcut.CACHING_PROXY);
-// Create the example Region programmatically.
-IRegion<string, string> region = regionFactory
-    .SetLruEntriesLimit(20000)
-    .SetInitialCapacity(20000)
-    .Create<string, string>("exampleRegion");
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/csharp-dotnet-api.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/csharp-dotnet-api.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/csharp-dotnet-api.html.md.erb
deleted file mode 100644
index 6bb1495..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/csharp-dotnet-api.html.md.erb
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title:  About the Native Client .NET API
----
-
-The Microsoft .NET Framework interface for the Apache Geode native client provides complete access to the native client C++ functionality from any .NET Framework language (C\#, C++/CLI, VB.NET, and J\#). This enables clients using C\# and other .NET languages to use the capabilities provided by the Geode C++ API.
-
-The Geode native client uses a set of assemblies managed by the C++ Common Language Infrastructure (C++ CLI). C++ CLI includes the libraries and objects necessary for common language types, and it is the framework for .NET applications.
-
-The .NET API for the native client adds .NET Framework CLI language binding for the Geode native client product.
-
-Using C\#, you can write callbacks and define user objects in the cache. The following figure shows an overview of how a C\# application accesses the native client C++ API functionality through C++/CLI .
-
-<a id="concept_A97823CFEA20400BBB135AC964746850__fig_D025097BFCEA4D7ABDB173AD6ABE099D"></a>
-<span class="figtitleprefix">Figure: </span>C\# .NET Application Accessing the C++ API
-
-<img src="../common/images/6-DotNet_API-1.gif" id="concept_A97823CFEA20400BBB135AC964746850__image_D91728696A7B4E03A04712EF32C5FBEC" class="image imagecenter" />
-
-**Note:**
-This chapter uses C\# as the reference language, but other .NET languages work the same way.
-
-The Geode C\# .NET API is provided in the `GemStone::GemFire::Cache::Generic` namespace. This namespace allows you to manage your cache, regions, and data using the .NET Generics APIs.
-
-Use the Geode C\# .NET API to programmatically create, populate, and manage a Geode distributed system.
-
-**Note:**
-The C\# .NET library is thread-safe except where otherwise indicated in the online API documentation.
-
-For complete and current information on the Geode APIs, see the online .NET API documentation. For general information on .NET, see the Microsoft developer\u2019s network website.
-
--   **[.NET Naming and Usage Conventions](../../nativeclient/dotnet-caching-api/csharp-dotnet-naming-conventions.html)**
-
-    Unless noted, the .NET API classes and functions have the same names as their C++ counterparts in the namespace `GemStone::GemFire::Cache`. In .NET, all method names start with a capital letter.
-
--   **[Primary APIs](../../nativeclient/dotnet-caching-api/primary-apis-cache-generic.html)**
-
-    These are the main APIs within `GemStone::GemFire::Cache::Generic` used for cache, region, and data entry management in Geode .NET. For detailed information about the APIs, see the .NET API documentation included in the product or available online.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/csharp-dotnet-naming-conventions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/csharp-dotnet-naming-conventions.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/csharp-dotnet-naming-conventions.html.md.erb
deleted file mode 100644
index 51f27f9..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/csharp-dotnet-naming-conventions.html.md.erb
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title:  .NET Naming and Usage Conventions
----
-
-Unless noted, the .NET API classes and functions have the same names as their C++ counterparts in the namespace `GemStone::GemFire::Cache`. In .NET, all method names start with a capital letter.
-
-The .NET interface names match those of comparable C++ interfaces, but with an \u2019I\u2019 prepended to satisfy .NET naming conventions. For example, the .NET equivalent of the C++ `CacheLoader` interface is `ICacheLoader`.
-
-The name of the Geode `Serializable` interface is `IGFSerializable` because `ISerializable` is a .NET built-in type.
-
-Where possible, get\* and set\* functions are replaced by .NET properties.
-
-You can implement the Geode .NET interfaces. You cannot extend any of the classes because they are marked as sealed.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/custom-class-igfserializable.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/custom-class-igfserializable.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/custom-class-igfserializable.html.md.erb
deleted file mode 100644
index 9cefe3c..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/custom-class-igfserializable.html.md.erb
+++ /dev/null
@@ -1,136 +0,0 @@
----
-title:  Using a Custom Class With IGFSerializable
----
-
-An example shows how to use the `BankAccount` custom key type and the `AccountHistory` value type that were previously defined.
-
-## Using a BankAccount Object
-
-``` pre
-class AccountHistory : IGFSerializable   
-   {
-      #region Private members
-      private List<string> m_history;
-      #endregion
-      public AccountHistory()
-      {
-         m_history = new List<string>();
-      }
-      public void ShowAccountHistory()
-      {
-         Console.WriteLine("AccountHistory:");
-         foreach (string hist in m_history) {
-           Console.WriteLine("\t{0}", hist);
-         }
-      }
-      public void AddLog(string entry)
-      {
-         m_history.Add(entry);
-      }
-         public static IGFSerializable CreateInstance()
-      {
-         return new AccountHistory();
-      }
-      #region IGFSerializable Members
-      public IGFSerializable FromData(DataInput input)
-      {
-         int len = input.ReadInt32();
-         m_history.Clear();
-         for (int i = 0; i < len; i++) {
-            m_history.Add(input.ReadUTF());
-         }
-         return this;
-      }
-      public void ToData(DataOutput output)
-      {
-         output.WriteInt32(m_history.Count);
-         foreach (string hist in m_history) {
-            output.WriteUTF(hist);
-         }
-      }
-         public UInt32 ClassId
-      {
-         get
-         {
-            return 0x05;
-         }
-      }
-      public UInt32 ObjectSize
-      {
-         get
-         {
-            UInt32 objectSize = 0;
-            foreach (string hist in m_history) {
-              objectSize += (UInt32)(hist == null ? 0 : sizeof(char) * hist.Length);
-            }
-            return objectSize;
-         }
-      }
-      #endregion
-   }
-      public class TestBankAccount
-      {
-         public static void Main()
-         {
-            // Register the user-defined serializable type.
-            Serializable.RegisterType(AccountHistory.CreateInstance);
-            Serializable.RegisterType(BankAccountKey.CreateInstance);
-            // Create a cache.
-            CacheFactory cacheFactory = CacheFactory.CreateCacheFactory(null);
-            Cache cache = cacheFactory.Create();
-            // Create a region.
-            RegionFactory regionFactory =
-            cache.CreateRegionFactory(RegionShortcut.CACHING_PROXY);
-            Region region = regionFactory.Create("BankAccounts");
-            // Place some instances of BankAccount cache region.
-            BankAccountKey baKey = new BankAccountKey(2309, 123091);
-            AccountHistory ahVal = new AccountHistory();
-            ahVal.AddLog("Created account");
-            region.Put(baKey, ahVal);
-            Console.WriteLine("Put an AccountHistory in cache keyed with
-            BankAccount.");
-            // Display the BankAccount information.
-            Console.WriteLine(baKey.ToString());
-            // Call custom behavior on instance of AccountHistory.
-            ahVal.ShowAccountHistory();
-            // Get a value out of the region.
-            AccountHistory history = region.Get(baKey) as AccountHistory;
-            if (history != null)
-            {
-               Console.WriteLine("Found AccountHistory in the cache.");
-               history.ShowAccountHistory();
-               history.AddLog("debit $1,000,000.");
-               region.Put(baKey, history);
-               Console.WriteLine("Updated AccountHistory in the cache.");
-            }
-            // Look up the history again.
-            history = region.Get(baKey) as AccountHistory;
-            if (history != null)
-            {
-               Console.WriteLine("Found AccountHistory in the cache.");
-               history.ShowAccountHistory();
-            }
-            // Close the cache.
-            cache.Close();
-         }
-      }
-
-      //Example 5.12 Using ICacheLoader to Load New Integers in the Region
-      class ExampleLoaderCallback : ICacheLoader
-      {
-         #region Private members
-         private int m_loads = 0;
-         #endregion
-         #region Public accessors
-         public int Loads
-         {
-            get
-            {
-               return m_loads;
-            }
-         }
-         #endregion
-      }
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/data-serialization-apis.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/data-serialization-apis.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/data-serialization-apis.html.md.erb
deleted file mode 100644
index d509b21..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/data-serialization-apis.html.md.erb
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title:  Data Serialization APIs
----
-
-Use either `IPdxSerializable` or `IGFSerializable` for each region. Do not mix the two.
-
-For more information on these options, see [Data Serialization](dotnet-data-serialization.html#concept_28A7797A0342447ABF6A5014E0DCB05F).
-
--   **IPdxSerializable interface**. Provides a flexible way to serialize your domain objects for cache storage and transfer to the servers. This is a Geode built-in serialization framework. See [Data Serialization](dotnet-data-serialization.html#concept_28A7797A0342447ABF6A5014E0DCB05F).
--   **IPdxReader**. Supplies operations for reading data from Geode IPDXSerializable types.
--   **IPdxWriter**. Provides operations for writing data into Geode IPDXSerializable types.
--   **IPdxInstance**. Instance of a PDX serialized object that you can use to access the object\u2019s data without having to deserialize the object first.
--   **IPdxInstanceFactory**. Allows you to build an IPdxInstance using raw data.
--   **IPdxTypeMapper interface**. Allows you to map .NET type names to Java type names when using PDX serialization.
--   **IGFSerializable interface**. Superclass of one set of user objects that can be serialized and stored in the cache. These are Geode built-in serializable types. See [Data Serialization](dotnet-data-serialization.html#concept_28A7797A0342447ABF6A5014E0DCB05F).
--   **Serializable class**. Wraps the native C++ `gemfire::Serializable` objects as managed `IGFSerializable` objects. Whenever native C++ clients and .NET clients interoperate and are part of the same distributed system, the user-defined types that are put by the native C++ clients that have not been defined in .NET are returned as objects of this class.
-
-    The API contains overloads for most Region methods and other methods that take `Serializable` as a value and that are more optimized than the more generic `IGFSerializable` overloads. The application prefers using these overloads whenever the base class of an object is `Serializable`.
-
--   **DataInput**. Supplies operations for reading primitive data values and user-defined objects from a byte stream.
--   **DataOutput**. Provides operations for writing primitive data values and user-defined objects implementing `IGFSerializable` to an integer.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/dotnet-accessing-an-entry.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/dotnet-accessing-an-entry.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/dotnet-accessing-an-entry.html.md.erb
deleted file mode 100644
index 7ba4a4a..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/dotnet-accessing-an-entry.html.md.erb
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title:  Accessing an Entry
----
-
-The region entry retrieval methods return the value associated with the specified key, and pass the callback argument to any cache loaders or cache writers that are invoked during the operation.
-
-If the value is not available locally, it is requested from the server. If the server request is unsuccessful, a local cache loader is invoked, if one is available. The operation throws `keyNotFoundException` if the `Region` is unable to retrieve a value through any of these means.
-
-## Using the Region API to Retrieve Values From the Cache
-
-Here, the program retrieves two entries from the region.
-
-``` pre
-string value1 = region1["Key1"];
-string value2 = region1["Key2"];
- 
-int valueA = region2["KeyA"];
-int valueB = region2["KeyB"];
- 
-string valueQ = region.Get(111, null);
-string valueR = region.Get(222, null);
-```
-
-## Batch Operations\u2014Using getAll to Return Values from Multiple Entries
-
-The `GetAll` region API returns values for collection of keys from the local cache or server.
-
-If value for a key is not present locally, then it is requested from the Java server. The value returned is not copied, so multi-threaded applications should not modify the value directly but should use the update methods.
-
-This method is not applicable to local region instances.
-
-This operation updates the `CacheStatistics.LastAccessedTime`, `CacheStatistics.HitCount` statistics and `CacheStatistics.MissCount` for this region and the returned entries.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/dotnet-adding-entry-to-cache.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/dotnet-adding-entry-to-cache.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/dotnet-adding-entry-to-cache.html.md.erb
deleted file mode 100644
index f633e56..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/dotnet-adding-entry-to-cache.html.md.erb
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title:  Adding an Entry to the Cache
----
-
-You populate a native client region with cache entries by using the generic `IDictionary` API or by using the .NET `Region.Put` or the `Region.Create` API functions.
-
-The `Put` function places a new value into a region entry with the specified key, while the `Create` function creates a new entry in the region. The `Put` and `Create` functions provide a user-defined parameter object to any cache writer invoked in the process.
-
-If a value for the entry key already exists in the cache when you add an entry, Geode overwrites the previously cached value. New values in the cache are propagated to the connected cache server.
-
-The .NET Generics provide type safety, so you cannot change your entry key and value types once you have begun to populate the region. If you need to use different types for the same region, store them all inside objects in the region.
-
-## Using the API to Put Values Into the Cache
-
-In this example, the program puts entries into the cache with string values.
-
-``` pre
-region1["Key1"] = "Value1";
-region1["Key2"] = "Value2";
- 
-region2["KeyA"] = 123;
-region2["KeyB"] = 100;
-region3.Put(111, "Value1", null);
-region3.Put(222, "Value2", null);
-```
-
-## <a id="concept_51D1C2475B394B10868CE6ED8DC5E542__section_8DAEA246DA464BD1B9654827A84A93BF" class="no-quick-link"></a>Batch Operations\u2014Using PutAll to Add Multiple Entries
-
-You can batch up multiple key/value pairs into a hashmap and put them into the cache with a single operation using the .NET `Region.PutAll` API function. Each entry is processed for interest registration on the server, so each entry requires its own unique event ID. Updates and creates can be mixed in a `PutAll` operation, so those events need to be addressed on the cache server for appropriate cache listener invocation on distributed system members. Map entries retain their original order when they are processed at the server.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/dotnet-application-domains.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/dotnet-application-domains.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/dotnet-application-domains.html.md.erb
deleted file mode 100644
index def4234..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/dotnet-application-domains.html.md.erb
+++ /dev/null
@@ -1,16 +0,0 @@
----
-title:  .NET Application Domains
----
-
-Application domains, or `AppDomain`s, are units of isolation, security boundaries, and loading and unloading for applications in the .NET runtime. Multiple application domains can run in a single process. Each can have one or many threads, and a thread can switch application domains at runtime.
-
-**Note:**
-Before you use application domains with Geode, make sure you understand how to use them generally in your .NET programming.
-
-The .NET managed assemblies require interface methods invoked by the native C++ layer to be in the same `AppDomain` as that of the .NET DLL. If not, an exception is thrown because the thread is unable to cross `AppDomain` boundaries.
-
--   **[Problem Scenarios](../../nativeclient/dotnet-caching-api/problem-scenarios.html)**
-
-    These scenarios describe processes and implementations that should be avoided when using `AppDomains`.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/dotnet-caching-api.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/dotnet-caching-api.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/dotnet-caching-api.html.md.erb
deleted file mode 100644
index e0c73d9..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/dotnet-caching-api.html.md.erb
+++ /dev/null
@@ -1,63 +0,0 @@
----
-title:  Working with the .NET API
----
-
-This section describes the primary classes, usage conventions, and C++ to .NET class mappings of the native client .NET API. It demonstrates how to use the API to create caches and perform data serialization.
-
--   **[About the Native Client .NET API](../../nativeclient/dotnet-caching-api/csharp-dotnet-api.html)**
-
-    The Microsoft .NET Framework interface for the Apache Geode native client provides complete access to the native client C++ functionality from any .NET Framework language (C\#, C++/CLI, VB.NET, and J\#). This enables clients using C\# and other .NET languages to use the capabilities provided by the Geode C++ API.
-
--   **[C++ Class to .NET Class Mappings](../../nativeclient/dotnet-caching-api/cpp-class-to-dotnet-class-mappings.html)**
-
-    Wherever the native C++ class methods use pass-by-reference semantics to return data, the corresponding .NET methods return the object instead of using pass-by-reference semantics.
-
--   **[Java to .NET Type Mapping Table](../../nativeclient/dotnet-caching-api/java-to-dotnet-type-mapping.html)**
-
-    The following table provides a mapping between Java and .NET types.
-
--   **[Object Lifetimes](../../nativeclient/dotnet-caching-api/object-lifetimes.html)**
-
-    The .NET API provides a managed set of assemblies for the C++ API. The underlying C++ object will stay in memory until the .NET object is garbage-collected.
-
--   **[.NET Application Domains](../../nativeclient/dotnet-caching-api/dotnet-application-domains.html)**
-
-    Application domains, or `AppDomain`s, are units of isolation, security boundaries, and loading and unloading for applications in the .NET runtime. Multiple application domains can run in a single process. Each can have one or many threads, and a thread can switch application domains at runtime.
-
--   **[Creating a Cache](../../nativeclient/dotnet-caching-api/creating-a-cache.html)**
-
-    You create a cache using the Geode `CacheFactory.Create` call. Cache creation initializes the distributed system and creates the cache using your `gfcpp.properties` and `cache.xml` file settings and any additional properties you provide to the call.
-
--   **[Creating a Region](../../nativeclient/dotnet-caching-api/creating-a-region.html)**
-
-    To create a region, you create a `RegionFactory` using the `RegionShortcut` that most closely fits your region configuration.
-
--   **[Adding an Entry to the Cache](../../nativeclient/dotnet-caching-api/dotnet-adding-entry-to-cache.html)**
-
-    You populate a native client region with cache entries by using the generic `IDictionary` API or by using the .NET `Region.Put` or the `Region.Create` API functions.
-
--   **[Accessing an Entry](../../nativeclient/dotnet-caching-api/dotnet-accessing-an-entry.html)**
-
-    The region entry retrieval methods return the value associated with the specified key, and pass the callback argument to any cache loaders or cache writers that are invoked during the operation.
-
--   **[Removing an Entry](../../nativeclient/dotnet-caching-api/removing-entry.html)**
-
-    The standard `Region::Remove` API removes the entry with specified key and provides a user-defined parameter object to any `CacheWriter` or `CacheListener` invoked in the process.
-
--   **[Data Serialization](../../nativeclient/dotnet-caching-api/dotnet-data-serialization.html)**
-
-    All data that Geode moves out of the local cache must be serializable.
-
--   **[Application Callbacks](../../nativeclient/dotnet-caching-api/application-callbacks.html)**
-
-    For region-level events, an application can use `AttributesFactory.SetCache*` methods to implement and register the `ICacheLoader`, `ICacheWriter`, and `ICacheListener` interfaces to perform custom actions.
-
--   **[A Simple C\# Example](../../nativeclient/dotnet-caching-api/simple-csharp-example.html)**
-
-    An example shows how to connect to Geode, create a cache and region, put and get keys and values, and disconnect.
-
--   **[Troubleshooting .NET Applications](../../nativeclient/dotnet-caching-api/troubleshooting-dotnet-applications.html)**
-
-    The .NET Framework does not find managed DLLs using the conventional `PATH` environment variable. In order for your assembly to find and load a managed DLL, it must either be loaded as a private assembly using `assemblyBinding`, or it must be installed into the Global Assembly Cache (GAC).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/dotnet-data-serialization-options.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/dotnet-data-serialization-options.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/dotnet-data-serialization-options.html.md.erb
deleted file mode 100644
index 5b61c62..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/dotnet-data-serialization-options.html.md.erb
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title:  Data Serialization Options
----
-
-Built-in .NET types are serialized automatically into the cache and can be retrieved by Java servers and other Geode clients. For domain objects that are not simple types, you have three Geode serialization options.
-
-The options give good performance and flexibility for data storage, transfers, and language types. The Geode options can also improve performance in serializing and deserializing built-in types.
-
-The simplest option is to use perform automatic serialization by registering the Geode .NET PDX reflection-based autoserializer in your application. When you have this registered, Geode uses it for all domain objects that are not custom serialized.
-
-You can also custom serialize your objects by implementing one of the Geode .NET interfaces, `GemStone::GemFire::Cache::Generic::IPdxSerializable` or `GemStone::GemFire::Cache::IGFSerializable`.
-
-You also have the option of using default .NET serialization, but you cannot use it unless you also use helper classes. The helper classes you must use are `CacheableObject` and `CacheableObjectXml`.
-
-Geode .NET PDX serialization has more bytes in overhead than Geode .NET Data serialization, but using PDX serialization helps you avoid the performance costs of deserialization when performing queries. Applications can use `PdxInstances` in functions to avoid the deserialization of entire objects.
-
-<a id="concept_6DC3DD288F6C4190AEA07DEDE76DD867__table_D61A94C4BFBE4712835F632F30BB488E"></a>
-
-<table>
-<caption><span class="tablecap">Table 1. Serialization Options\u2014Comparison of Features</span></caption>
-<colgroup>
-<col width="33%" />
-<col width="33%" />
-<col width="34%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th>Capability</th>
-<th>IGFSerializable</th>
-<th>IPdxSerializable and PDX reflection-based autoserializer</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td><p>Handles multiple versions of domain objects*</p></td>
-<td></td>
-<td>X</td>
-</tr>
-<tr class="even">
-<td><p>Provides single field access on servers of serialized data, without full deserialization. Supported also for OQL queries.</p></td>
-<td></td>
-<td>X</td>
-</tr>
-<tr class="odd">
-<td><p>Automatically ported to other languages by Geode - no need to program Java-side implementation</p></td>
-<td></td>
-<td>X</td>
-</tr>
-<tr class="even">
-<td><p>Works with Geode delta propagation</p></td>
-<td>X</td>
-<td>X (See explanation below.)</td>
-</tr>
-</tbody>
-</table>
-
-
-\*You can mix domain object versions where the differences between versions are the addition and removal of object fields.
-
-By default, you can use Geode delta propagation with PDX serialization. However, delta propagation will not work if you have set the Geode property read-serialized to "true". In terms of deserialization, to apply a change delta propagation requires a domain class instance and the `fromDelta` method. If you have set read-serialized to true, you will receive an `IPdxInstance` instead of a domain class instance and `IPdxInstance` does not have the `fromDelta` method required for delta propagation. You will also require the Java domain class on the server similar to the you would need the .NET PDX Delta domain class.
-
-For detailed information on the interfaces, see the online API documentation.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/dotnet-data-serialization.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/dotnet-data-serialization.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/dotnet-data-serialization.html.md.erb
deleted file mode 100644
index a3429ae..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/dotnet-data-serialization.html.md.erb
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title:  Data Serialization
----
-
-All data that Geode moves out of the local cache must be serializable.
-
-Region data that must be serializable falls under the following categories:
-
--   Partitioned regions (except functions that add data locally to a partitioned region use the deserialized form).
--   Distributed regions.
--   Regions that are persisted or overflowed to disk.
--   Server or client regions in a client/server installation.
--   Regions distributed between gateways in a multi-site installation.
--   Regions that receive events from remote caches.
--   Regions that provide function arguments and results.
-
-To minimize the cost of serialization and deserialization, Geode avoids changing the data format whenever possible. This means your data may be stored in the cache in serialized or deserialized form, depending on how you use it. For example, if a server acts only as a storage location for data distribution between clients, it makes sense to leave the data in serialized form, ready to be transmitted to clients that request it. Partitioned region data is always stored in serialized form with one exception\u2014functions that add data to a partitioned region locally use the deserialized form.
-
--   **[Data Serialization Options](../../nativeclient/dotnet-caching-api/dotnet-data-serialization-options.html)**
-
-    Built-in .NET types are serialized automatically into the cache and can be retrieved by Java servers and other Geode clients. For domain objects that are not simple types, you have three Geode serialization options.
-
--   **[Serialize with PDX Serialization](../../nativeclient/dotnet-caching-api/dotnet-pdx-serialization.html)**
-
-    Geode's Portable Data eXchange (PDX) is a cross-language data format that can reduce the cost of distributing and serializing your objects. PDX stores data in named fields that you can access individually, to avoid the cost of deserializing the entire data object. PDX also allows you to mix versions of objects where you have added or removed fields.
-
--   **[Serialize with the Geode IGFSerializable Interface](../../nativeclient/dotnet-caching-api/serialize-using-igfserializable.html)**
-
-    The .NET `IGFSerializable` interface provides fast and compact data serialization.
-
--   **[Using a Custom Class With IGFSerializable](../../nativeclient/dotnet-caching-api/custom-class-igfserializable.html)**
-
-    An example shows how to use the `BankAccount` custom key type and the `AccountHistory` value type that were previously defined.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/dotnet-pdx-autoserializer.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/dotnet-pdx-autoserializer.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/dotnet-pdx-autoserializer.html.md.erb
deleted file mode 100644
index b6268d6..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/dotnet-pdx-autoserializer.html.md.erb
+++ /dev/null
@@ -1,57 +0,0 @@
----
-title:  Serialize Using the Geode PDX Autoserializer
----
-
-When you register the reflection-based serializer, Geode uses it to serialize all objects that do not implement `IPdxSerializable` or `IGFSerializable`. You can customize the auto-serialization behavior for your domain objects by adding serialization attributes to your object\u2019s fields.
-
-**Procedure**
-
-1.  If you have not already registered the PDX reflection-based autoserializer, add the registration code to your application.
-
-    For example:
-
-    ``` pre
-    using GemStone.GemFire.Cache.Generic;
-    ...
-    // Register reflection-based autoserializer to serialize
-    // domain objects using PDX serialization
-    Serializable.RegisterPdxSerializer(new ReflectionBasedAutoSerializer());
-    ```
-
-    This can only be configured in the application code. It cannot be configured declaratively in `cache.xml`.
-
-2.  (Optional) For each object you intend to have autoserialized, customize the serialization as needed.  **Note:** If you also use PDX serialization in Java for the object, customize your serialization the same for both languages.
-
-    1.  The following extension methods apply to autoserialization:
-        -   **WriteTransform**. Controls what field value is written during auto serialization.
-        -   **ReadTransform**. Controls what field value is read during auto deserialization.
-        -   **GetFieldType**. Defines the specific field names that will be generated during autoserialization.
-        -   **IsIdentityField**. Controls which field is marked as the identity field. Identity fields are used when a `PdxInstance` computes its hash code to determine whether it is equal to another object.
-        -   **GetFieldType**. Determines the field type that will be used when autoserializing the given field.
-        -   **IsFieldIncluded**. Specifies which fields of a class to autoserialize.
-
-        See [Extending the Autoserializer](extending-pdx-autoserializer.html#concept_87701FF3FAE74F3193BE3FB349CE0086) for sample usage.
-
-    2.  If you are writing a Java application, you can use the `IPdxType` Mapper to map Java types to .NET types. Note that you only need to use the `IPdxTypeMapper` if you are writing Java applications.
-
-        See [Map .NET Domain Type Names to PDX Type Names with IPdxTypeMapper](mapping-dotnet-domain-type-names.html#concept_63F4164F1AE242A9BA309738F484182D) for sample usage.
-
-    3.  To specify an identifier field in your domain object, add the attribute `PdxIdentityField` to the field.
-
-        For example:
-
-        ``` pre
-        [PdxIdentityField] private int id;
-        ```
-
-    4.  To exclude a field from serialization, add the .NET attribute `NonSerialized` to the field.
-
-        For example:
-
-        ``` pre
-        [NonSerialized] private int myLocalData;
-        ```
-
-For each domain class Geode serializes using the autoserializer, all fields are considered for serialization except those defined as `static`, `literal` or `readonly` and those you explicitly exclude using the .NET `NonSerialized` attribute.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/dotnet-pdx-serialization-features.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/dotnet-pdx-serialization-features.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/dotnet-pdx-serialization-features.html.md.erb
deleted file mode 100644
index 14d27f4..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/dotnet-pdx-serialization-features.html.md.erb
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title:  Geode PDX Serialization Features
----
-
-Geode PDX serialization offers several advantages.
-
-## <a id="concept_E8DCAA3027B64C0C8213A0DF2D773BF4__section_8F8D96A0DAC3416DA90622D0E240F54A" class="no-quick-link"></a>Application Versioning of PDX Domain Objects
-
-Domain objects evolve along with your application code. You may create an address object with two address lines, then realize later that a third line is required for some situations. Or you may realize that a particular field is not used and want to get rid of it.
-
-With PDX, you can use old and new versions of domain objects together in a distributed system if the versions differ by the addition or removal of fields. This compatibility lets you gradually introduce modified code and data into the system, without bringing the system down.
-
-Geode maintains a central registry of the PDX domain object metadata. Using the registry, Geode preserves fields in each member's cache regardless of whether the member has the field defined. When a member receives an object that has a field registered that the member is not aware of, the member does not access the field, but preserves it and passes it along with the rest of the object to other members. When a member receives an object that is missing one or more fields according to the member's version, Geode assigns the .NET default values for the field types to the missing fields.
-
-## <a id="concept_E8DCAA3027B64C0C8213A0DF2D773BF4__section_4CD0072C619F4F0496B73597B92B2289" class="no-quick-link"></a>Portability of PDX Serializable Objects
-
-When you create an `IPdxSerializable` object, Geode stores the object's type information in a central registry. The information is passed between peers, between clients and servers, and between distributed systems.
-
-This offers a notable advantage to the .NET client, which shares data with Java cache servers. Clients automatically pass registry information to servers when they store an `IPdxSerializable` object. Clients can run queries and functions against the data in the servers without the servers needing to know anything about the stored objects. One client can store data on the server to be retrieved by another client, with the server never needing to know the object type. This means you can code your .NET clients to manage data using Java servers without having to create Java implementations of your .NET domain objects.
-
-## <a id="concept_E8DCAA3027B64C0C8213A0DF2D773BF4__section_0437E67A0DDE4F92A24658DAB48DD76C" class="no-quick-link"></a>Reduced Deserialization of Serialized Objects
-
-The access methods for `IPdxSerializable` objects allow you to examine specific fields of your domain object without deserializing the entire object. This can reduce serialization and deserialization costs significantly. .NET clients can run queries and execute functions against the objects in the server caches without deserializing the entire object on the server side. The query engine automatically recognizes PDX objects and uses only the fields it needs.
-
-Clients can execute Java functions on server data that only access parts of the domain objects by using `PdxInstance.`
-
-Likewise, peers can access just the fields needed from the serialized object, keeping the object stored in the cache in serialized form.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/dotnet-pdx-serialization.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/dotnet-pdx-serialization.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/dotnet-pdx-serialization.html.md.erb
deleted file mode 100644
index 7837071..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/dotnet-pdx-serialization.html.md.erb
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title:  Serialize with PDX Serialization
----
-
-Geode's Portable Data eXchange (PDX) is a cross-language data format that can reduce the cost of distributing and serializing your objects. PDX stores data in named fields that you can access individually, to avoid the cost of deserializing the entire data object. PDX also allows you to mix versions of objects where you have added or removed fields.
-
-PDX serialization is supported by C++ clients. If you have C++ clients that may receive events for a region, you can now use PDX serialization on the region's entries.
-
-You have two options for Geode PDX serialization when using the .NET caching API. You can program your domain objects using the `IPdxSerializable` interface, or you can use Geode\u2019s reflection-based autoserializer.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/event-handling-apis.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/event-handling-apis.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/event-handling-apis.html.md.erb
deleted file mode 100644
index 0aa0b4e..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/event-handling-apis.html.md.erb
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title:  Event Handling APIs
----
-
-Code your event handlers to do minimal work before returning control to Geode.
-
-For example, a listener implementation may hand off the event to a thread pool that processes the event on its thread rather than the listener thread. Exceptions thrown by the listeners are caught by Geode and logged.
-
--   **RegionEvent class**. Provides information about the event, such as what region the event originated in, whether the event originated in a cache remote to the event handler, and whether the event resulted from a distributed operation.
--   **EntryEvent class**. Provides all available information for the `RegionEvent` . It also provides entry-specific information, such as the old and new entry values and whether the event resulted from a load operation.
--   **ICacheLoader application callback interface**. Loads data into a region.
--   **ICacheWriter application callback interface**. Synchronously handles region and entry events before the events occur. Entry events are `create`, `update`, `invalidate`, and `destroy`. Region events are invalidate and destroy. This class has the ability to abort events.
--   **ICacheListener application callback interface**. Asynchronously handles region and entry events. Listeners receive notifications when entries in a region change, or when changes occur to the region attributes themselves. Entry events are `create`, `update`, `invalidate`, and `destroy`. Region events are `invalidate` and `destroy`. Multiple events can cause concurrent invocation of `ICacheListener` methods. If event A occurs before event B, there is no guarantee that their corresponding ICacheListener method invocations will occur in the same order.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/extending-pdx-autoserializer.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/extending-pdx-autoserializer.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/extending-pdx-autoserializer.html.md.erb
deleted file mode 100644
index bc1b765..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/extending-pdx-autoserializer.html.md.erb
+++ /dev/null
@@ -1,59 +0,0 @@
----
-title:  Extend the PDX Autoserializer
----
-
-This example code demonstrates how to extend the autoserializer to customize serialization.
-
-## Extending the Autoserializer
-
-``` pre
-public class AutoSerializerEx : ReflectionBasedAutoSerializer
-{
-   public override object WriteTransform(FieldInfo fi, Type type, object originalValue) {
-      if (fi.FieldType.Equals(Type.GetType("System.Guid"))) {
-        return originalValue.ToString();
-      } else if (fi.FieldType.Equals(Type.GetType("System.Decimal"))) {
-        return originalValue.ToString();
-      } else
-        return base.WriteTransform(fi, type, originalValue);
-    }
-
-    public override object ReadTransform(FieldInfo fi, Type type, object serializeValue) {
-      if (fi.FieldType.Equals(Type.GetType("System.Guid"))) {
-        Guid g = new Guid((string)serializeValue);
-        return g;
-      } else if (fi.FieldType.Equals(Type.GetType("System.Decimal"))) {
-        return Convert.ToDecimal((string)serializeValue);
-      } else
-        return base.ReadTransform(fi, type, serializeValue);
-    }
-
-   public override FieldType GetFieldType(FieldInfo fi, Type type) {
-      if (fi.FieldType.Equals(Type.GetType("System.Guid")) ||
-              fi.FieldType.Equals(Type.GetType("System.Decimal")))
-        return FieldType.STRING;
-      return base.GetFieldType(fi, type);
-   }
-
-   public override bool IsIdentityField(FieldInfo fi, Type type) {
-      if (fi.Name == "_identityField")
-        return true;
-      return base.IsIdentityField(fi, type);
-   }
-
-   public override string GetFieldName(FieldInfo fi, Type type) {
-      if (fi.Name == "_nameChange")
-        return fi.Name + "NewName";
-      return fi.Name;
-    }
- 
-   public override bool IsFieldIncluded(FieldInfo fi, Type type)
-   {
-      if (fi.Name == "_notInclude")
-        return false;
-      return base.IsFieldIncluded(fi, type);
-    }
-}
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/how-igfserializable-works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/how-igfserializable-works.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/how-igfserializable-works.html.md.erb
deleted file mode 100644
index 55d7299..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/how-igfserializable-works.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  How Serialization Works with IGFSerializable
----
-
-When your application puts an object into the cache for distribution, Geode serializes the data by taking these steps.
-
-1.  Calls the appropriate `ClassId` function and creates the `TypeId` from it.
-2.  Writes the `TypeId` for the instance.
-3.  Invokes the `ToData` function for the instance.
-
-When your application subsequently receives a byte array, Geode takes the following steps:
-
-1.  Decodes the `TypeId` and creates an object of the designated type, using the registered factory functions.
-2.  Invokes the `FromData` function with input from the data stream.
-3.  Decodes the data and then populates the data fields.
-
-The `TypeId` is an integer of four bytes, which is a combination of `ClassId` integer and `0x27`, which is an indicator of user-defined type.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/implementing-igfserializable.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/implementing-igfserializable.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/implementing-igfserializable.html.md.erb
deleted file mode 100644
index 0ae3cd4..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/implementing-igfserializable.html.md.erb
+++ /dev/null
@@ -1,122 +0,0 @@
----
-title:  Implement the IGFSerializable Interface
----
-
-To store your own data types in the cache, you implement the Geode `IGFSerializable` interface.
-
-Examples follow the procedure.
-
-**Procedure**
-
-1.  Implement the `ToData` function that serializes your data:
-
-    ``` pre
-    void ToData(DataOutput output)
-    ```
-
-    The `ToData` function is responsible for copying all of the data fields for the object to the object stream. The `DataOutput` class represents the output stream and provides methods for writing the primitives in a network byte order. For more about this, see the online API documentation for `DataOutput.`
-
-2.  Implement the `FromData` function that consumes a data input stream and repopulates the data fields for the object:
-
-    ``` pre
-    void fromData (DataInput& input)
-    ```
-
-    The `DataInput` class represents the input stream and provides methods for reading input elements. The `FromData` function must read the elements of the input stream in the same order that they were written by `ToData`. For more about this, see the online API documentation for `DataInput`.
-
-3.  Implement the `ClassId` function to return an integer which is unique for your class (in the set of all of your user-defined classes).
-
-## Simple BankAccount Class
-
-This example shows a simple class, `BankAccount`, that encapsulates two `ints`: `customerId` and `accountId`:
-
-``` pre
-public class BankAccount
-{
-   private int m_customerId;
-   private int m_accountId;
-   public int Customer
-   {
-      get
-      {
-         return m_customerId;
-      }
-   }
-   public int Account
-   {
-      get
-      {
-         return m_accountId;
-      }
-   }
-   public BankAccount(int customer, int account)
-   {
-      m_customerId = customer;
-      m_accountId = account;
-   }
-}
-```
-
-## Implementing a Serializable Class
-
-To make `BankAccount` serializable, you implement the `IGFSerializable` interface as shown in this example:
-
-``` pre
-public class BankAccount : IGFSerializable
-   {
-   private int m_customerId;
-   private int m_accountId;
-   public int Customer
-   {
-      get
-      {
-         return m_customerId;
-      }
-   }
-   public int Account
-   {
-      get
-      {
-         return m_accountId;
-      }
-   }
-   public BankAccount(int customer, int account)
-   {
-      m_customerId = customer;
-      m_accountId = account;
-   }
-   // Our TypeFactoryMethod
-   public static IGFSerializable CreateInstance()
-   {
-      return new BankAccount(0, 0);
-   }
-   #region IGFSerializable Members
-   public void ToData(DataOutput output)
-   {
-      output.WriteInt32(m_customerId);
-      output.WriteInt32(m_accountId);
-   }
-   public IGFSerializable FromData(DataInput input)
-   {
-      m_customerId = input.ReadInt32();
-      m_accountId = input.ReadInt32();
-      return this;
-   }
-   public UInt32 ClassId
-   {
-      get
-      {
-         return 11;
-      }
-   }
-   public UInt32 ObjectSize
-   {
-      get
-      {
-         return (UInt32)(sizeof(Int32) + sizeof(Int32));
-      }
-   }
-}
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/implementing-shared-assembly.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/implementing-shared-assembly.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/implementing-shared-assembly.html.md.erb
deleted file mode 100644
index 733e4f6..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/implementing-shared-assembly.html.md.erb
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title:  Implementing the Shared Assembly
----
-
-Follow these steps to install the shared assembly into the Global Assembly Cache (GAC).
-
-1.  Go to the `NativeClient_xxxx` directory.
-
-    ``` pre
-    cd %GFCPP%
-    ```
-
-2.  Run the GAC utility to install `GemStone.GemFire.Cache.dll` into the GAC.
-
-    ``` pre
-    gacutil.exe /if GemStone.GemFire.Cache.dll
-    ```
-
-When you are ready to uninstall, use the `/u` switch. More information on the GAC utility can be found at [http://www.msdn.com](https://msdn.microsoft.com), or by using `gacutil.exe                 /?`.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/java-to-dotnet-type-mapping.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/java-to-dotnet-type-mapping.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/java-to-dotnet-type-mapping.html.md.erb
deleted file mode 100644
index 3bb303d..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/java-to-dotnet-type-mapping.html.md.erb
+++ /dev/null
@@ -1,146 +0,0 @@
----
-title:  Java to .NET Type Mapping Table
----
-
-The following table provides a mapping between Java and .NET types.
-
-<a id="concept_24D0AAC71FF1483AB47A7772DA018966__table_F85EC7AA1E1140E9888B753E812E65E4"></a>
-
-<table>
-<caption><span class="tablecap">Table 1. Java types and .NET types</span></caption>
-<colgroup>
-<col width="50%" />
-<col width="50%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th>Java Type</th>
-<th>.NET Type</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td><p>instances of <code class="ph codeph">PdxSerializable</code></p></td>
-<td><p>.NET class of same name</p></td>
-</tr>
-<tr class="even">
-<td><p>instances of <code class="ph codeph">PdxInstance</code></p></td>
-<td><p>.NET class of same name</p></td>
-</tr>
-<tr class="odd">
-<td><p>instances serialized by a <code class="ph codeph">PdxSerializer</code></p></td>
-<td><p>.NET class of same name</p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">java.lang.Byte </code></p></td>
-<td><p><code class="ph codeph">System.SByte </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">java.lang.Boolean </code></p></td>
-<td><p><code class="ph codeph">System.Boolean </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">java.lang.Character </code></p></td>
-<td><p><code class="ph codeph">System.Char </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">java.lang.Short </code></p></td>
-<td><p><code class="ph codeph">System.Int16 </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">java.lang.Integer </code></p></td>
-<td><p><code class="ph codeph">System.Int32 </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">java.lang.Long </code></p></td>
-<td><p><code class="ph codeph">System.Int64 </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">java.lang.Float </code></p></td>
-<td><p><code class="ph codeph">System.Float </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">java.lang.Double </code></p></td>
-<td><p><code class="ph codeph">System.Double </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">java.lang.String </code></p></td>
-<td><p><code class="ph codeph">System.String </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">java.util.Date </code></p></td>
-<td><p><code class="ph codeph">System.DateTime </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">byte[] </code></p></td>
-<td><p><code class="ph codeph">System.Byte[] </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">boolean[] </code></p></td>
-<td><p><code class="ph codeph">System.Boolean[] </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">char[] </code></p></td>
-<td><p><code class="ph codeph">System.Char[] </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">short[] </code></p></td>
-<td><p><code class="ph codeph">System.Int16[] </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">int[] </code></p></td>
-<td><p><code class="ph codeph">System.Int32[] </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">long[] </code></p></td>
-<td><p><code class="ph codeph">System.Int64[] </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">float[] </code></p></td>
-<td><p><code class="ph codeph">System.Float[] </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">double[] </code></p></td>
-<td><p><code class="ph codeph">System.Double[] </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">String[] </code></p></td>
-<td><p><code class="ph codeph">System.String[] </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">byte[][] </code></p></td>
-<td><p><code class="ph codeph">System.Byte[][] </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">Object[] </code></p></td>
-<td><p><code class="ph codeph">system.Collections.Generic.List&lt;Object&gt; </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">java.util.HashMap </code></p></td>
-<td><p><code class="ph codeph">System.Collections.Generics.IDictionary&lt;Object,                                     Object&gt; </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">java.util.Hashtable </code></p></td>
-<td><p><code class="ph codeph">System.Collections.Hashtable </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">java.util.ArrayList </code></p></td>
-<td><p><code class="ph codeph">System.Collections.Generic.IList&lt;Object&gt; </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">java.util.Vector </code></p></td>
-<td><p><code class="ph codeph">Collections.ArrayList </code></p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">java.util.HashSet </code></p></td>
-<td><p><code class="ph codeph">CacheableHashSet </code></p></td>
-</tr>
-<tr class="even">
-<td><p><code class="ph codeph">java.util.LinkedHashSet </code></p></td>
-<td><p><code class="ph codeph">CacheableLinkedHashSet </code></p></td>
-</tr>
-</tbody>
-</table>
-
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/dotnet-caching-api/mapping-dotnet-domain-type-names.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/dotnet-caching-api/mapping-dotnet-domain-type-names.html.md.erb b/geode-docs/nativeclient/dotnet-caching-api/mapping-dotnet-domain-type-names.html.md.erb
deleted file mode 100644
index 273d19d..0000000
--- a/geode-docs/nativeclient/dotnet-caching-api/mapping-dotnet-domain-type-names.html.md.erb
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title:  Map .NET Domain Type Names to PDX Type Names with IPdxTypeMapper
----
-
-PDX serialized instances in Java map to .NET types with the same name. If you need to adjust the .NET name, then you need to use the IPdxTypeMapper.
-
-See the [Java to .NET Type Mapping Table](java-to-dotnet-type-mapping.html#concept_24D0AAC71FF1483AB47A7772DA018966) for current mappings.
-
-## Using IPdxTypeMapper
-
-``` pre
-//This demonstrates, how to map .NET type to pdx type or java type
-public class PdxTypeMapper : IPdxTypeMapper {
-    
-    public string ToPdxTypeName(string localTypeName) {
-        return "pdx_" + localTypeName;
-    }
-
-    public string FromPdxTypeName(string pdxTypeName) {
-        return pdxTypeName.Substring(4);//need to extract "pdx_"
-    }
-}
-```
-
-



[07/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/management/list_of_mbeans_full.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/list_of_mbeans_full.html.md.erb b/geode-docs/managing/management/list_of_mbeans_full.html.md.erb
new file mode 100644
index 0000000..74fb2bd
--- /dev/null
+++ b/geode-docs/managing/management/list_of_mbeans_full.html.md.erb
@@ -0,0 +1,210 @@
+---
+title: JMX Manager MBeans
+---
+<a id="topic_14E3721DD0CF47D7AD8C742DFBE9FB9C"></a>
+
+
+This section describes the MBeans that are available on the JMX Manager node.
+
+The JMX Manager node includes all local beans listed under [Managed Node MBeans](list_of_mbeans_full.html#topic_48194A5BDF3F40F68E95A114DD702413) and the following beans that are available only on the JMX Manager node:
+
+-   [ManagerMXBean](list_of_mbeans_full.html#topic_14E3721DD0CF47D7AD8C742DFBE9FB9C__section_7B878B450B994514BDFE96571F0D3827)
+-   [DistributedSystemMXBean](list_of_mbeans_full.html#topic_14E3721DD0CF47D7AD8C742DFBE9FB9C__section_4D7A4C82DD974BB5A5E52B34A6D888B4)
+-   [DistributedRegionMXBean](list_of_mbeans_full.html#topic_14E3721DD0CF47D7AD8C742DFBE9FB9C__section_48384B091AB846E591F22EEA2770DD36)
+-   [DistributedLockServiceMXBean](list_of_mbeans_full.html#topic_14E3721DD0CF47D7AD8C742DFBE9FB9C__section_9E004D8AA3D24647A5C19CAA1879F0A4)
+
+## <a id="topic_14E3721DD0CF47D7AD8C742DFBE9FB9C__section_7B878B450B994514BDFE96571F0D3827" class="no-quick-link"></a>ManagerMXBean
+
+Represents the Geode Management layer for the hosting member. Controls the scope of management. This MBean provides `start` and `stop` methods to turn a managed node into a JMX Manager node or to stop a node from being a JMX Manager. For potential managers (`jmx-manager=true` and `jmx-manager-start=false`), this MBean is created when a Locator requests it.
+
+**Note:**
+You must configure the node to allow it to become a JMX Manager. See [Configuring a JMX Manager](jmx_manager_operations.html#topic_263072624B8D4CDBAD18B82E07AA44B6) for configuration information.
+
+**MBean Details**
+
+|                    |                                                                            |
+|--------------------|----------------------------------------------------------------------------|
+| Scope              | ALL                                                                        |
+| Proxied            | No                                                                         |
+| Object Name        | GemFire:type=Member, service=Manager,member=&lt;name-or-dist-member-id&gt; |
+| Instances Per Node | 1                                                                          |
+
+See the `org.apache.geode.management.ManagerMXBean` JavaDocs for information on available MBean methods and attributes.
+
+## <a id="topic_14E3721DD0CF47D7AD8C742DFBE9FB9C__section_4D7A4C82DD974BB5A5E52B34A6D888B4" class="no-quick-link"></a>DistributedSystemMXBean
+
+System-wide aggregate MBean that provides a high-level view of the entire distributed system including all members (cache servers, peers, locators) and their caches. At any given point of time, it can provide a snapshot of the complete distributed system and its operations.
+
+The DistributedSystemMXBean provides APIs for performing distributed system-wide operations such as backing up all members, shutting down all members or showing various distributed system metrics.
+
+You can attach a standard JMX NotificationListener to this MBean to listen for notifications throughout the distributed system. See [Geode JMX MBean Notifications](mbean_notifications.html) for more information.
+
+This MBean also provides some MBean model navigation APIS. These APIs should be used to navigate through all the MBeans exposed by a Geode System.
+
+**MBean Details**
+
+|                    |                                         |
+|--------------------|-----------------------------------------|
+| Scope              | Aggregate                               |
+| Proxied            | No                                      |
+| Object Name        | GemFire:type=Distributed,service=System |
+| Instances Per Node | 1                                       |
+
+See the `org.apache.geode.management.DistributedSystemMXBean` JavaDocs for information on available MBean methods and attributes.
+
+## <a id="topic_14E3721DD0CF47D7AD8C742DFBE9FB9C__section_48384B091AB846E591F22EEA2770DD36" class="no-quick-link"></a>DistributedRegionMXBean
+
+System-wide aggregate MBean of a named region. It provides a high-level view of a region for all members hosting and/or using that region. For example, you can obtain a list of all members that are hosting the region. Some methods are only available for partitioned regions.
+
+**MBean Details**
+
+|                    |                                                                 |
+|--------------------|-----------------------------------------------------------------|
+| Scope              | Aggregate                                                       |
+| Proxied            | No                                                              |
+| Object Name        | GemFire:type=Distributed,service=Region,name=&lt;regionName&gt; |
+| Instances Per Node | 0..N                                                            |
+
+See the `org.apache.geode.management.DistributedRegionMXBean` JavaDocs for information on available MBean methods and attributes.
+
+## <a id="topic_14E3721DD0CF47D7AD8C742DFBE9FB9C__section_9E004D8AA3D24647A5C19CAA1879F0A4" class="no-quick-link"></a>DistributedLockServiceMXBean
+
+Represents a named instance of DistributedLockService . Any number of DistributedLockService can be created in a member.
+
+A named instance of DistributedLockService defines a space for locking arbitrary names across the distributed system defined by a specified distribution manager. Any number of DistributedLockService instances can be created with different service names. For all processes in the distributed system that have created an instance of DistributedLockService with the same name, no more than one thread is permitted to own the lock on a given name in that instance at any point in time. Additionally, a thread can lock the entire service, preventing any other threads in the system from locking the service or any names in the service.
+
+**MBean Details**
+
+|                    |                                                                   |
+|--------------------|-------------------------------------------------------------------|
+| Scope              | Aggregate                                                         |
+| Proxied            | No                                                                |
+| Object Name        | GemFire:type=Distributed,service=LockService,name=&lt;dlsName&gt; |
+| Instances Per Node | 0..N                                                              |
+
+See the `org.apache.geode.management.DistributedLockServiceMXBean` JavaDocs for information on available MBean methods and attributes.
+
+## <a id="topic_48194A5BDF3F40F68E95A114DD702413" class="no-quick-link"></a>Managed Node MBeans
+
+This section describes the MBeans that are available on all managed nodes.
+
+MBeans that are available on all managed nodes include:
+
+-   [MemberMXBean](list_of_mbeans_full.html#topic_48194A5BDF3F40F68E95A114DD702413__section_796A989549304BF7A536A33A913322A4)
+-   [CacheServerMXBean](list_of_mbeans_full.html#topic_48194A5BDF3F40F68E95A114DD702413__section_7287A7560650426E9B8249E2D87CE55F)
+-   [RegionMXBean](list_of_mbeans_full.html#topic_48194A5BDF3F40F68E95A114DD702413__section_577A666924E54352AF69294DC8DEFEBF)
+-   [LockServiceMXBean](list_of_mbeans_full.html#topic_48194A5BDF3F40F68E95A114DD702413__section_2F9F00081BB14CE0ADA251F5B6289BF2)
+-   [DiskStoreMXBean](list_of_mbeans_full.html#topic_48194A5BDF3F40F68E95A114DD702413__section_1F475F68E73B4EAE875BA40825E736C9)
+-   [AsyncEventQueueMXBean](list_of_mbeans_full.html#topic_48194A5BDF3F40F68E95A114DD702413__section_6A77030A15704BFEAEBBD7DB88266BF6)
+-   [LocatorMXBean](list_of_mbeans_full.html#topic_48194A5BDF3F40F68E95A114DD702413__section_BB83107990D346F39271ACCC14CB84A0)
+
+JMX Manager nodes will have managed node MBeans for themselves since they are also manageable entities in the distributed system.
+
+## <a id="topic_48194A5BDF3F40F68E95A114DD702413__section_796A989549304BF7A536A33A913322A4" class="no-quick-link"></a>MemberMXBean
+
+Member's local view of its connection and cache. It is the primary gateway to manage a particular member. It exposes member level attributes and statistics. Some operations like `createCacheServer()` and `createManager()` will help to create some Geode resources. Any JMX client can connect to the MBean server and start managing a Geode Member by using this MBean.
+
+See [MemberMXBean Notifications](list_of_mbean_notifications.html#reference_czt_hq2_vj) for a list of notifications emitted by this MBean.
+
+**MBean Details**
+
+|                    |                                                           |
+|--------------------|-----------------------------------------------------------|
+| Scope              | Local                                                     |
+| Proxied            | Yes                                                       |
+| Object Name        | GemFire:type=Member,member=&lt;name-or-dist-member-id&gt; |
+| Instances Per Node | 1                                                         |
+
+See the `org.apache.geode.management.MemberMXBean` JavaDocs for information on available MBean methods and attributes.
+
+## <a id="topic_48194A5BDF3F40F68E95A114DD702413__section_7287A7560650426E9B8249E2D87CE55F" class="no-quick-link"></a>CacheServerMXBean
+
+Represents the Geode CacheServer. Provides data and notifications about server, subscriptions, durable queues and indices.
+
+See [CacheServerMXBean Notifications](list_of_mbean_notifications.html#cacheservermxbean_notifications) for a list of notifications emitted by this MBean.
+
+**MBean Details**
+
+|                    |                                                                               |
+|--------------------|-------------------------------------------------------------------------------|
+| Scope              | Local                                                                         |
+| Proxied            | Yes                                                                           |
+| Object Name        | GemFire:type=Member,service=CacheServer,member=&lt;name-or-dist-member-id&gt; |
+| Instances Per Node | 1                                                                             |
+
+See the `org.apache.geode.management.CacheServerMXBean` JavaDocs for information on available MBean methods and attributes.
+
+## <a id="topic_48194A5BDF3F40F68E95A114DD702413__section_577A666924E54352AF69294DC8DEFEBF" class="no-quick-link"></a>RegionMXBean
+
+Member's local view of region.
+
+**MBean Details**
+
+|                    |                                                                                                  |
+|--------------------|--------------------------------------------------------------------------------------------------|
+| Scope              | Local                                                                                            |
+| Proxied            | Yes                                                                                              |
+| Object Name        | GemFire:type=Member,service=Region,name=&lt;regionName&gt;,member=&lt;name-or-dist-member-id&gt; |
+| Instances Per Node | 0..N                                                                                             |
+
+See the `org.apache.geode.management.RegionMXBean` JavaDocs for information on available MBean methods and attributes.
+
+## <a id="topic_48194A5BDF3F40F68E95A114DD702413__section_2F9F00081BB14CE0ADA251F5B6289BF2" class="no-quick-link"></a>LockServiceMXBean
+
+Represents a named instance of a LockService . Any number of LockServices can be created in a member.
+
+**MBean Details**
+
+|                    |                                                                                                    |
+|--------------------|----------------------------------------------------------------------------------------------------|
+| Scope              | Local                                                                                              |
+| Proxied            | Yes                                                                                                |
+| Object Name        | GemFire:type=Member,service=LockService,name=&lt;dlsName&gt;,member=&lt;name-or-dist-member-id&gt; |
+| Instances Per Node | 0..N                                                                                               |
+
+See the `org.apache.geode.management.LockServiceMXBean` JavaDocs for information on available MBean methods and attributes.
+
+## <a id="topic_48194A5BDF3F40F68E95A114DD702413__section_1F475F68E73B4EAE875BA40825E736C9" class="no-quick-link"></a>DiskStoreMXBean
+
+Represents a DiskStore object which provides disk storage for one or more regions
+
+**MBean Details**
+
+|                    |                                                                                               |
+|--------------------|-----------------------------------------------------------------------------------------------|
+| Scope              | Local                                                                                         |
+| Proxied            | Yes                                                                                           |
+| Object Name        | GemFire:type=Member,service=DiskStore,name=&lt;name&gt;,member=&lt;name-or-dist-member-id&gt; |
+| Instances Per Node | 0..N                                                                                          |
+
+See the `org.apache.geode.management.DiskStoreMXBean` JavaDocs for information on available MBean methods and attributes.
+
+## <a id="topic_48194A5BDF3F40F68E95A114DD702413__section_6A77030A15704BFEAEBBD7DB88266BF6" class="no-quick-link"></a>AsyncEventQueueMXBean
+
+An AsyncEventQueueMXBean provides access to an AsyncEventQueue, which represent the channel over which events are delivered to the AsyncEventListener.
+
+**MBean Details**
+
+|                    |                                                                                                            |
+|--------------------|------------------------------------------------------------------------------------------------------------|
+| Scope              | Local                                                                                                      |
+| Proxied            | Yes                                                                                                        |
+| Object Name        | GemFire:type=Member,service=AsyncEventQueue=&lt;AsyncEventQueue&gt; ,member=&lt;name-or-dist-member-id&gt; |
+| Instances Per Node | 0..N                                                                                                       |
+
+See the `org.apache.geode.management.AsyncEventQueueMXBean` JavaDocs for information on available MBean methods and attributes.
+
+## <a id="topic_48194A5BDF3F40F68E95A114DD702413__section_BB83107990D346F39271ACCC14CB84A0" class="no-quick-link"></a>LocatorMXBean
+
+A LocatorMXBean represents a locator .
+
+**MBean Details**
+
+|                    |                                                                                             |
+|--------------------|---------------------------------------------------------------------------------------------|
+| Scope              | Local                                                                                       |
+| Proxied            | Yes                                                                                         |
+| Object Name        | GemFire:type=Member,service=Locator,port=&lt;port&gt;,member=&lt;name-or-dist-member-id&gt; |
+| Instances Per Node | 0..1                                                                                        |
+
+See the `org.apache.geode.management.LocatorMXBean` JavaDocs for information on available MBean methods and attributes.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/management/management_and_monitoring.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/management_and_monitoring.html.md.erb b/geode-docs/managing/management/management_and_monitoring.html.md.erb
new file mode 100644
index 0000000..f0b57e6
--- /dev/null
+++ b/geode-docs/managing/management/management_and_monitoring.html.md.erb
@@ -0,0 +1,35 @@
+---
+title:  Apache Geode Management and Monitoring
+---
+
+Apache Geode provides APIs and tools for managing your distributed system and monitoring the health of your distributed system members.
+
+-   **[Management and Monitoring Features](../../managing/management/management_and_monitoring_features.html)**
+
+    Apache Geode uses a federated Open MBean strategy to manage and monitor all members of the distributed system. This strategy gives you a consolidated, single-agent view of the distributed system.
+
+-   **[Overview of Geode Management and Monitoring Tools](../../managing/management/mm_overview.html)**
+
+    Geode provides a variety of management tools you can use to manage a Geode distributed system.
+
+-   **[Architecture and Components](../../managing/management/management_system_overview.html)**
+
+    Geode's management and monitoring system consists of one JMX Manager node (there should only be one) and one or more managed nodes within a distributed system. All members in the distributed system are manageable through MBeans and Geode Management Service APIs.
+
+-   **[JMX Manager Operations](../../managing/management/jmx_manager_node.html#topic_36C918B4202D45F3AC225FFD23B11D7C)**
+
+    Any member can host an embedded JMX Manager, which provides a federated view of all MBeans for the distributed system. The member can be configured to be a manager at startup or anytime during its life by invoking the appropriate API calls on the ManagementService.
+
+-   **[Federated MBean Architecture](../../managing/management/mbean_architecture.html)**
+
+    Geode uses MBeans to manage and monitor different parts of Geode. Geode's federated MBean architecture is scalable and allows you to have a single-agent view of a Geode distributed system.
+
+-   **[Configuring RMI Registry Ports and RMI Connectors](../../managing/management/configuring_rmi_connector.html)**
+
+    Geode programmatically emulates out-of-the-box JMX provided by Java and creates a JMXServiceURL with RMI Registry and RMI Connector ports on all manageable members.
+
+-   **[Executing gfsh Commands through the Management API](../../managing/management/gfsh_and_management_api.html)**
+
+    You can also use management APIs to execute gfsh commands programmatically.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/management/management_and_monitoring_features.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/management_and_monitoring_features.html.md.erb b/geode-docs/managing/management/management_and_monitoring_features.html.md.erb
new file mode 100644
index 0000000..bbd0c29
--- /dev/null
+++ b/geode-docs/managing/management/management_and_monitoring_features.html.md.erb
@@ -0,0 +1,24 @@
+---
+title:  Management and Monitoring Features
+---
+
+Apache Geode uses a federated Open MBean strategy to manage and monitor all members of the distributed system. This strategy gives you a consolidated, single-agent view of the distributed system.
+
+<a id="concept_F7B9EE348DA744D3BBDFD68E7F48A604__section_37CECE9B26644505A79784EA0CD1FDAE"></a>
+Application and manager development is much easier because you do not have to find the right MBeanServer to make a request on an MBean. Instead, you interact with a single MBeanServer that aggregates MBeans from all other local and remote MBeanServers.
+
+Some other key advantages and features of Geode administration architecture:
+
+-   Geode monitoring is tightly integrated into Geode's processes instead of running in a separately installed and configured monitoring agent. You can use the same framework to actually manage Geode and perform administrative operations, not just monitor it.
+-   All Geode MBeans are *MXBeans*. They represent useful and relevant information on the state of the distributed system and all its members. Because MXBeans use the Open MBean model with a predefined set of types, clients and remote management programs no longer require access to model-specific classes representing your MBean types. Using MXBeans adds flexibility to your selection of clients and makes the Geode management and monitoring much easier to use.
+-   Each member in the distributed system is manageable through MXBeans, and each member hosts its own MXBeans in a Platform MBeanServer.
+-   Any Geode member can be configured to provide a federated view of all the MXBeans for all members in a Geode cluster.
+-   Geode has also modified its use of JMX to be industry-standard and friendly to generic JMX clients. You can now easily monitor or manage the distributed system by using any third-party tool that is compliant with JMX. For example, JConsole.
+
+## <a id="concept_F7B9EE348DA744D3BBDFD68E7F48A604__section_A3166A9657044E088DA0FE2C2B8325BE" class="no-quick-link"></a>References
+
+For more information on MXBeans and Open MBeans, see:
+
+-   [http://docs.oracle.com/javase/8/docs/api/javax/management/MXBean.html](http://docs.oracle.com/javase/8/docs/api/javax/management/MXBean.html)
+-   [http://docs.oracle.com/javase/8/docs/api/javax/management/openmbean/package-summary.html](http://docs.oracle.com/javase/8/docs/api/javax/management/openmbean/package-summary.html)
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/management/management_system_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/management_system_overview.html.md.erb b/geode-docs/managing/management/management_system_overview.html.md.erb
new file mode 100644
index 0000000..33809b0
--- /dev/null
+++ b/geode-docs/managing/management/management_system_overview.html.md.erb
@@ -0,0 +1,95 @@
+---
+title:  Architecture and Components
+---
+
+Geode's management and monitoring system consists of one JMX Manager node (there should only be one) and one or more managed nodes within a distributed system. All members in the distributed system are manageable through MBeans and Geode Management Service APIs.
+
+## <a id="concept_1BAE2CE1146B4347ABD61F50B9F9781F__section_ABE7007BE3C244FBA0418C4B5BE7E1F2" class="no-quick-link"></a>Architecture
+
+The following diagram depicts the architecture of the management and monitoring system components.
+
+<img src="../../images_svg/JMX_Architecture.svg" id="concept_1BAE2CE1146B4347ABD61F50B9F9781F__image_1E9E8575E13D4087BC47B6A288097B7A" class="image" />
+
+In this architecture every Geode member is manageable. All Geode MBeans for the local Geode processes are automatically registered in the Platform MBeanServer (the default MBeanServer of each JVM that hosts platform MXBeans.)
+
+## <a id="concept_1BAE2CE1146B4347ABD61F50B9F9781F__section_1CF2B237C16F4095A609E62F0C7146C1" class="no-quick-link"></a>Managed Node
+
+Each member of a distributed system is a managed node. Any node that is not currently also acting as a JMX Manager node is referred to simply as a managed node. A managed node has the following resources so that it can answer JMX queries both locally and remotely:
+
+-   Local MXBeans that represent the locally monitored components on the node. See [List of Geode JMX MBeans](list_of_mbeans.html#topic_4BCF867697C3456D96066BAD7F39FC8B) for a list of possible MXBeans existing for the managed node.
+-   Built-in platform MBeans.
+
+## <a id="concept_1BAE2CE1146B4347ABD61F50B9F9781F__section_8604838507194C8B86F1420FBA46894C" class="no-quick-link"></a>JMX Manager Node
+
+A JMX Manager node is a member that can manage other Geode members --that is, other managed nodes -- as well as itself. A JMX Manager node can manage all other members in the distributed system.
+
+To convert a managed node to a JMX Manager node, you configure the Geode property `jmx-manager=true`, in the `gemfire.properties` file, and start the member as a JMX Manager node.
+
+You start the member as a JMX Manager node when you provide`                     --J=-Dgemfire.jmx-manager=true` as an argument to either the`                     start server` or `start locator` command. See [Starting a JMX Manager](jmx_manager_operations.html#topic_686158E9AFBD47518BE1B4BEB232C190) for more information.
+
+The JMX Manager node has the following extra resources allocated so that it can answer JMX queries:
+
+-   RMI connector that allows JMX clients to connect to and access all MXBeans in the distributed system.
+-   Local MXBeans that represent the locally monitored components on this node, same as any other managed node.
+-   Aggregate MXBeans:
+    -   DistributedSystemMXBean
+    -   DistributedRegionMXBean
+    -   DistributedLockServiceMXBean
+-   ManagerMXBean with Scope=ALL, which allows various distributed system-wide operations.
+-   Proxy to MXBeans on managed nodes.
+-   Built-in platform MXBeans.
+
+## <a id="concept_1BAE2CE1146B4347ABD61F50B9F9781F__section_32D9F98189B14AA09BAC5E843EC18EDA" class="no-quick-link"></a>JMX Integration
+
+Management and monitoring tools such as gfsh command-line interface and Pulse use JMX/RMI as the communication layer to connect to Geode nodes. All Geode processes by default allow JMX connections to the Platform MBeanServer from localhost. By default, both managed nodes and JMX manager nodes have RMI connectors enabled to allow JMX client connections.
+
+JConsole (and other similar JMX clients that support Sun's Attach API) can connect to any local JVM without requiring an RMI connector by using the Attach API. This allows connections from the same machine.
+
+JConsole (and other JMX clients) can connect to any JVM if that JVM is configured to start an RMI connector. This allows remote connections from other machines.
+
+JConsole can connect to any Geode member, but if it connects to a non-JMX-Manager member, JConsole only detects the local MBeans for the node, and not MBeans for the cluster.
+
+When a Geode locator or server becomes a JMX Manager for the cluster, it enables the RMI connector. JConsole can then connect only to that one JVM to view the MBeans for the entire cluster. It does not need to connect to all the other JVMs. Geode manages the inter-JVM communication required to provide a federated view of all MBeans in the distributed system.
+
+`gfsh` can only connect to a JMX Manager or to a locator. If connected to a locator, the locator provides the necessary connection information for the existing JMX Manager. If the locator detects a JMX Manager is not already running in the cluster, the locator makes itself a JMX Manager. gfsh cannot connect to other non-Manager or non-locator members.
+
+For information on how to configure the RMI registry and RMI connector, see [Configuring RMI Registry Ports and RMI Connectors](configuring_rmi_connector.html#concept_BC793A7ACF9A4BD9A29C2DCC6894767D).
+
+## <a id="concept_1BAE2CE1146B4347ABD61F50B9F9781F__section_A3F9E1594982480DA019CBA3E93CA895" class="no-quick-link"></a>Management APIs
+
+Geode management APIs represent the Geode cluster to a JMX user. However, they do not provide functionality that is otherwise present in JMX. They only provide a gateway into various services exclusively offered by Geode monitoring and management.
+
+The entry point to Geode management is through the ManagementService interface. For example, to create an instance of the Management Service:
+
+``` pre
+ManagementService service = ManagementService.getManagementService(cache);
+```
+
+The resulting ManagementService instance is specific to the provided cache and its distributed system. The implementation of getManagementService is a singleton for now but may eventually support multiple cache instances.
+
+You can use the Geode management APIs to accomplish the following tasks:
+
+-   Monitor the health status of clients.
+-   Obtain the status and results of individual disk backups.
+-   View metrics related to disk usage and performance for a particular member.
+-   Browse Geode properties set for a particular member.
+-   View JVM metrics such as memory, heap, and thread usage.
+-   View network metrics, such as bytes received and sent.
+-   View partition region attributes such as total number of buckets, redundant copy, and maximum memory information.
+-   View persistent member information such as disk store ID.
+-   Browse region attributes.
+
+See the JavaDocs for the `org.apache.geode.management` package for more details.
+
+You can also execute gfsh commands using the ManagementService API. See [Executing gfsh Commands through the Management API](gfsh_and_management_api.html#concept_451F0978285245E69C3E8DE795BD8635) and the JavaDocs for the `org.apache.geode.management.cli` package.
+
+## <a id="concept_1BAE2CE1146B4347ABD61F50B9F9781F__section_E69A93A6309E4747B52850D81FE1674E" class="no-quick-link"></a>Geode Management and Monitoring Tools
+
+This section lists the currently available tools for managing and monitoring Geode:
+
+-   **gfsh**. Apache Geode command-line interface that provides a simple & powerful command shell that supports the administration, debugging and deployment of Geode applications. It features context sensitive help, scripting and the ability to invoke any commands from within the application using a simple API. See [gfsh](../../tools_modules/gfsh/chapter_overview.html).
+-   **Geode Pulse**. Easy-to-use, browser-based dashboard for monitoring Geode deployments. Geode Pulse provides an integrated view of all Geode members within a distributed system. See [Geode Pulse](../../tools_modules/pulse/chapter_overview.html).
+-   **Pulse Data Browser**. This Geode Pulse utility provides a graphical interface for performing OQL ad-hoc queries in a Geode distributed system. See [Data Browser](../../tools_modules/pulse/quickstart.html#topic_F0ECE9E8179541CCA3D6C5F4FBA84404__sec_pulsedatabrowser).
+-   **Other Java Monitoring Tools such as JConsole and jvisualvm.** JConsole is a JMX-based management and monitoring tool provided in the Java 2 Platform that provides information on the performance and consumption of resources by Java applications. See [http://docs.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html](http://docs.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html). **Java VisualVM (jvisualvm)** is a profiling tool for analyzing your Java Virtual Machine. Java VisualVM is useful to Java application developers to troubleshoot applications and to monitor and improve the applications' performance. Java VisualVM can allow developers to generate and analyse heap dumps, track down memory leaks, perform and monitor garbage collection, and perform lightweight memory and CPU profiling. For more details on using jvisualvm, see [http://docs.oracle.com/javase/6/docs/technotes/tools/share/jvisualvm.html](http://docs.oracle.com/javase/6/docs/technot
 es/tools/share/jvisualvm.html).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/management/mbean_architecture.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/mbean_architecture.html.md.erb b/geode-docs/managing/management/mbean_architecture.html.md.erb
new file mode 100644
index 0000000..d966cb6
--- /dev/null
+++ b/geode-docs/managing/management/mbean_architecture.html.md.erb
@@ -0,0 +1,59 @@
+---
+title:  Federated MBean Architecture
+---
+
+Geode uses MBeans to manage and monitor different parts of Geode. Geode's federated MBean architecture is scalable and allows you to have a single-agent view of a Geode distributed system.
+
+## <a id="concept_40A475F186E249C597681069C835CF65__section_19948055E4184110910B11CD979A923A" class="no-quick-link"></a>Federation of Geode MBeans and MBeanServers
+
+Federation of the MBeanServers means that one member, the JMX Manager Node, can provide a proxied view of all the MBeans that the MBeanServer hosts. Federation also means that operations and notifications are spread across the distributed system.
+
+Geode federation takes care of the following functionality:
+
+-   MBean proxy creation
+-   MBean state propagation
+-   Notifications propagation
+-   Operation invocation
+
+## <a id="concept_40A475F186E249C597681069C835CF65__section_AD13594ADA814194897488CF96BCC479" class="no-quick-link"></a>MBean Proxy Naming Conventions
+
+Each Geode MBean follows a particular naming convention for easier grouping. For example:
+
+``` pre
+GemFire:type=Member,service=LockService,name=<dlsName>,memberName=<memberName>
+```
+
+At the JMX Manager node, this MBean will be registered with GemFire/&lt;memberId&gt; as domain.
+
+The following are some sample MBean names:
+
+MemberMBean:
+
+``` pre
+GemFire:type=Member,member=<Node1>
+```
+
+## <a id="concept_40A475F186E249C597681069C835CF65__section_8F9D375A185E476FB50E7D6E30BE2FC7" class="no-quick-link"></a>Use of MXBeans
+
+In its Management API, Geode provides MXBeans to ensure that any MBeans that are created are usable by any client, including remote clients, without requiring the client to access specific classes in order to access contents of the MBean.
+
+## <a id="concept_40A475F186E249C597681069C835CF65__section_DCC1B2AB80B04E8CBED041C1F3BDAB5F" class="no-quick-link"></a>MBean Proxy Creation
+
+Geode proxies are inherently local MBeans. Every Geode JMX manager member hosts proxies pointing to the local MBeans of every managed node. Proxy MBeans will also emit any notification emitted by local MBeans in managed nodes when an event occurs in that managed node.
+
+**Note:**
+Aggregate MBeans on the JMX Manager node are not proxied.
+
+-   **[List of Geode JMX MBeans](../../managing/management/list_of_mbeans.html)**
+
+    This topic provides descriptions for the various management and monitoring MBeans that are available in Geode.
+
+-   **[Browsing Geode MBeans through JConsole](../../managing/management/mbeans_jconsole.html)**
+
+    You can browse all the Geode MBeans in your distributed system by using JConsole.
+
+-   **[Geode JMX MBean Notifications](../../managing/management/mbean_notifications.html)**
+
+    Apache Geode MBeans emit notifications when specific events occur or if an alert is raised in the Geode system. Using standard JMX APIs, users can add notification handlers to listen for these events.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/management/mbean_notifications.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/mbean_notifications.html.md.erb b/geode-docs/managing/management/mbean_notifications.html.md.erb
new file mode 100644
index 0000000..34b40d3
--- /dev/null
+++ b/geode-docs/managing/management/mbean_notifications.html.md.erb
@@ -0,0 +1,17 @@
+---
+title: Geode JMX MBean Notifications
+---
+<a id="topic_czt_hq2_vk"></a>
+
+
+Apache Geode MBeans emit notifications when specific events occur or if an alert is raised in the Geode system. Using standard JMX APIs, users can add notification handlers to listen for these events.
+
+-   **[Notification Federation](notification_federation_and_alerts.html)**
+
+    All notifications emitted from managed nodes are federated to all JMX Managers in the system.
+
+-   **[List of JMX MBean Notifications](list_of_mbean_notifications.html)**
+
+    This topic lists all available JMX notifications emitted by Geode MBeans.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/management/mbeans_jconsole.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/mbeans_jconsole.html.md.erb b/geode-docs/managing/management/mbeans_jconsole.html.md.erb
new file mode 100644
index 0000000..3a9f141
--- /dev/null
+++ b/geode-docs/managing/management/mbeans_jconsole.html.md.erb
@@ -0,0 +1,36 @@
+---
+title:  Browsing Geode MBeans through JConsole
+---
+
+You can browse all the Geode MBeans in your distributed system by using JConsole.
+
+To view Geode MBeans through JConsole, perform the following steps:
+
+1.  Start a `gfsh` prompt.
+2.  Connect to a running distributed system by either connecting to a locator with an embedded JMX Manager or connect directly to a JMX Manager. For example:
+
+    ``` pre
+    gfsh>connect --locator=locator1[10334]
+    ```
+
+    or
+
+    ``` pre
+    gfsh>connect --jmx-manager=locator1[1099]
+    ```
+
+3.  Start JConsole:
+
+    ``` pre
+    gfsh>start jconsole
+    ```
+
+    If successful, the message `Running JDK JConsole` appears. The JConsole application launches and connects directly to the JMX Manager using RMI.
+
+4.  On the JConsole screen, click on the MBeans tab. Expand **GemFire**. Then expand each MBean to browse individual MBean attributes, operations and notifications.
+
+    The following is an example screenshot of the MBean hierarchy in a Geode distributed system:
+
+    <img src="../../images/jconsole_mbeans.png" id="concept_492532E145834248997BD23BCAC7AD45__image_7A45BE69B67A44A7A8AD40343A2B0AEB" class="image" />
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/management/mm_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/mm_overview.html.md.erb b/geode-docs/managing/management/mm_overview.html.md.erb
new file mode 100644
index 0000000..b21c7d1
--- /dev/null
+++ b/geode-docs/managing/management/mm_overview.html.md.erb
@@ -0,0 +1,77 @@
+---
+title:  Overview of Geode Management and Monitoring Tools
+---
+
+Geode provides a variety of management tools you can use to manage a Geode distributed system.
+
+The Geode management and monitoring tools allow you to configure all members and processes of a distributed system, monitor operations in the system, and start and stop the members. Internally, Geode uses Java MBeans, specifically MXBeans, to expose management controls and monitoring features. You can monitor and control Geode by writing Java programs that use these MXBeans, or you can use one of several tools provided with Geode to monitor and manage your distributed system. The primary tool for these tasks is the gfsh command-line tool, as described in this section.
+
+Geode provides the following tools to manage a Geode installation:
+
+## gfsh Command-line tool
+
+The gfsh command line tool provides a set of commands you use to configure, manage, and monitor a Geode distributed system. gfsh is the recommended tool for managing your distributed system.
+
+Use gfsh to:
+
+-   Start and stop Geode processes, such as locators and cache servers
+-   Deploy applications
+-   Create and destroy regions
+-   Execute functions
+-   Manage disk stores
+-   Import and export data
+-   Monitor Geode processes
+-   Launch Geode monitoring tools
+-   Shut down a distributed system
+-   Script various operations involving Geode members
+-   Save the configuration for all members of a distributed system
+
+gfsh runs in its own shell, or you can [execute gfsh commands directly from the OS command line](../../tools_modules/gfsh/os_command_line_execution.html#topic_fpf_y1g_tp). gfsh can interact with remote systems [using the http protocol](../../configuring/cluster_config/gfsh_remote.html). You can also [write scripts that run in a gfsh shell](../../tools_modules/gfsh/command_scripting.html#concept_9B2F7550F16C4717831AD40A56922259) to automate system startup.
+
+You can use gfsh to create shared cluster configurations for your distributed system. You can define configurations that apply to the entire cluster, or that apply only to groups of similar members that all share a common configuration. Geode locators maintain these configurations as a hidden region and distribute the configuration to all locators in the distributed system. The locator also persists the shared configurations on disk as `cluster.xml` and `cluster.properties` files. You can use those shared cluster configuration files to re-start your system, migrate the system to a new environment, add new members to a distributed system, or to restore existing members after a failure.
+
+A basic cluster configuration consists of:
+
+-   `cluster.xml` file shared by the cluster
+-   `cluster.properties` file shared by the cluster
+-   Deployed jar files containing application Java classes.
+
+See [Overview of the Cluster Configuration Service](../../configuring/cluster_config/gfsh_persist.html) and [Cluster Configuration Files and Troubleshooting](../../configuring/cluster_config/gfsh_config_troubleshooting.html#concept_ylt_2cb_y4) for additional details on gfsh cluster configuration files.
+
+Using the gfsh tool, you can easily migrate a Geode-based application from a development environment into a testing or production environment.
+
+## Executing gfsh commands with the management API
+
+You can also use Geode's management APIs to execute gfsh commands in a Java class. See [Executing gfsh Commands through the Management API](gfsh_and_management_api.html#concept_451F0978285245E69C3E8DE795BD8635).
+
+## Member Configuration Management
+
+When you issue gfsh commands and have the cluster configuration service enabled (on a locator), Geode saves the configurations created within gfsh by building a `cluster.xml` and `cluster.properties` files for the entire cluster, or group of members.
+
+You can also directly create configurations using `cache.xml` and `gemfire.properties` files and manage the members individually.
+
+## Java Management Extension (JMX) MBeans
+
+Geode uses a federated Open MBean strategy to manage and monitor all members of the distributed system. Your Java classes interact with a single MBeanServer that aggregates MBeans from other local and remote members. Using this strategy gives you a consolidated, single-agent view of the distributed system.
+
+Geode's implementation of JMX is industry-standard and friendly to generic JMX clients. You can monitor or manage the distributed system by using any third-party tool that is compliant with JMX. For example, JConsole.
+
+See [Apache Geode Management and Monitoring](management_and_monitoring.html)
+
+## Geode Java API
+
+The Geode API provides a set of Java classes you can use to manage and monitor a distributed system. See the <span class="keyword apiname">org.apache.geode.management</span> package in the Geode JavaDocs .
+
+## Geode Pulse
+
+Geode Pulse is a Web Application that provides a graphical dashboard for monitoring vital, real-time health and performance of Geode clusters, members, and regions.
+
+Use Pulse to examine total memory, CPU, and disk space used by members, uptime statistics, client connections, and critical notifications. Pulse communicates with a Geode JMX manager to provide a complete view of your Geode deployment.
+
+See [Geode Pulse](../../tools_modules/pulse/chapter_overview.html).
+
+## JConsole
+
+JConsole is a JMX monitoring utility provided with a Java Development Kit (JDK). You use gfsh to connect to Geode, and then launch JConsole with a gfsh command. The JConsole application allows you to browse MBeans, attributes, operations, and notifications. See [Browsing Geode MBeans through JConsole](mbeans_jconsole.html).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/management/notification_federation_and_alerts.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/notification_federation_and_alerts.html.md.erb b/geode-docs/managing/management/notification_federation_and_alerts.html.md.erb
new file mode 100644
index 0000000..ed56825
--- /dev/null
+++ b/geode-docs/managing/management/notification_federation_and_alerts.html.md.erb
@@ -0,0 +1,37 @@
+---
+title:  Notification Federation
+---
+
+All notifications emitted from managed nodes are federated to all JMX Managers in the system.
+
+These notifications are federated and then emitted by the DistributedSystemMXBean. If you attach a `javax.management.NotificationListener` to your DistributedSystemMXBean, the NotificationListener can listen to notifications from all MemberMXBeans and all CacheServerMXBeans.
+
+## <a id="topic_212EE5A2ABAB4E8E8EF71807C9ECEF1A__section_2909371D90764736B3AC7BE9E4BC1BE4" class="no-quick-link"></a>Attaching Listeners to MXBeans
+
+When you attach a notification listener to the DistributedSystemMXBean, the DistributedSystemMXBean then acts as the notification hub for the entire distributed system. You do not have to attach a listener to each individual member or cache server MBean in order to listen to all the notifications in the distributed system.
+
+The following is an example of attaching a NotificationListener to an MBean using the JMX MBeanServer API:
+
+    NotificationListener myListener = ...
+    ObjectName mbeanName = ... 
+    MBeanServer.addNotificationListener(mbeanName, myListener, null, null);  
+
+
+JMX Managers will emit notifications for all distributed system members with two exceptions:
+
+-   If you use cache.xml to define resources such as regions and disks, then notifications for these resources are not federated to the JMX Manager. In those cases, the DistributedSystemMXBean cannot emit those notifications.
+-   If a JMX Manager is started after a resource has been created, the JMX Manager cannot emit notifications for that resource.
+
+## <a id="topic_212EE5A2ABAB4E8E8EF71807C9ECEF1A__section_7463D13112D54406953416356835E290" class="no-quick-link"></a>System Alert Notifications
+
+System alerts are Geode alerts wrapped within a JMX notification. The JMX Manager registers itself as an alert listener with each member of the system, and by default, it receives all messages logged with the SEVERE alert level by any node in the distributed system. Consequently, the DistributedSystemMXBean will then emit notifications for these alerts on behalf of the DistributedSystem.
+
+By default, the JMX Manager registers itself to send notifications only for SEVERE level alerts. To change the alert level that the JMX Manager will send notifications for, use the `DistributedMXBean.changeAlertLevel` method. Possible alert levels to set are WARNING, ERROR, SEVERE, and NONE. After changing the level, the JMX Manager will only emit that level of log message as notifications.
+
+Notification objects include **type**, **source** and **message** attributes. System alerts also include the **userData** attribute. For system alerts, the notification object attributes correspond to the following:
+
+-   **type**: system.alert
+-   **source**: Distributed System ID
+-   **message**: alert message
+-   **userData**: name or ID of the member that raised the alert
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/management/programming_example.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/management/programming_example.html.md.erb b/geode-docs/managing/management/programming_example.html.md.erb
new file mode 100644
index 0000000..45e4ac5
--- /dev/null
+++ b/geode-docs/managing/management/programming_example.html.md.erb
@@ -0,0 +1,220 @@
+---
+title:  Management and Monitoring Programming Examples
+---
+
+One example demonstrates the use of an MBean server to manage and monitor a node in a distributed system, and the other example acts as the managed node.
+
+## JMX Manager Node Example
+
+``` pre
+package quickstart;
+
+import java.util.Set;
+import javax.management.ObjectName;
+import org.apache.geode.cache.Cache;
+import org.apache.geode.cache.CacheFactory;
+import org.apache.geode.distributed.DistributedMember;
+import org.apache.geode.management.ManagementService;
+import org.apache.geode.management.RegionMXBean;
+
+/**
+ * Example of a JMX Manager Node. It first creates a cache. 
+ * Then for each member of Distributed System it retrieves RegionMXBean and uses its data.
+ *   
+ * @author GemStone Systems, Inc.
+ * 
+ * @since 7.0
+ */
+public class ManagerNode {
+
+  /**
+   * @param args
+   */
+  public static final String EXAMPLE_REGION_NAME = "exampleRegion";
+
+  public static void main(String[] args) throws Exception {
+
+    //Set waiting period for federation in milliseconds
+    final int JMX_WAIT_PERIOD_FOR_FEDERATION_UPDATE = 2500;
+    
+    
+    System.out
+        .println("Connecting to the distributed system and creating the cache.");
+    
+    // Create the cache which causes the cache-xml-file to be parsed
+    Cache cache = new CacheFactory()
+                  .set("name", "ManagerNode")
+                  .set("statistic-sampling-enabled", "true")
+                  .set("jmx-manager-start","true")
+                  .set("jmx-manager","true")      
+                  .set("jmx-manager-port","2576")
+                  .set("cache-xml-file", "xml/Managed-node.xml").create(); 
+    
+    // Retrieve service
+    System.out.println("Retrieving service ...");
+    
+    //ManagementService.getManagementService() will create a service in case not already created
+    //ManagementService.getExistingManagementService() will return existing one, otherwise null.
+    ManagementService service = ManagementService.getManagementService(cache);
+    System.out.println("Retrieved service ");
+    
+    
+    //Retrieve distributed system members
+    System.out.println("Retrieving distributed members ...");
+    Set<DistributedMember> dsMembers = cache.getDistributedSystem()
+        .getAllOtherMembers();    
+    System.out.println("Retrieved " +dsMembers.size()+ " distributed members ");
+    
+    
+    //Sleep is needed for federation data to get published
+    System.out.println("Retrieving RegionMXBean for members in DS ...");
+    
+    try {
+      Thread.sleep(JMX_WAIT_PERIOD_FOR_FEDERATION_UPDATE);
+    } catch (Exception e) {
+
+    }
+    
+    for (DistributedMember dsMember : dsMembers) {
+      System.out.println("Retrieved RegionMXBean for member "+ dsMember.getId());    
+      
+      //Get region member bean name using region path. 
+      ObjectName regionMBeanName = service.getRegionMBeanName(dsMember, "/"
+          + EXAMPLE_REGION_NAME);
+      System.out.println("regionMBeanName " + regionMBeanName);
+      
+      //Get Region MBean Proxy
+      RegionMXBean regionMXBean = service.getMBeanInstance(regionMBeanName,
+          RegionMXBean.class);
+
+      // Validate regionMXbean
+      if(regionMXBean != null){        
+        System.out.println("Entry count in " + EXAMPLE_REGION_NAME + " is =" + regionMXBean.getEntryCount());
+      }else{
+        System.out.println("Retrieved RegionMXBean is null.");        
+      }
+    }
+    
+    // Close the cache and disconnect from GemFire distributed system
+    System.out.println("Closing the cache and disconnecting.");
+    cache.close();
+    
+    
+    //Complete Managed Node by pressing enter in managed node console
+    System.out.println("");
+    System.out.println("Press enter in Managed Node");
+
+  }
+}
+```
+
+## GemFire Managed Node Example
+
+``` pre
+package quickstart;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+
+import org.apache.geode.cache.Cache;
+import org.apache.geode.cache.CacheFactory;
+import org.apache.geode.cache.Region;
+import org.apache.geode.management.ManagementService;
+import org.apache.geode.management.RegionMXBean;
+
+/**
+ * In this example of Managed Node. 
+ * 1. It creates a cache and adds entries in it.
+ * 2. From ManagementService it retrieves service. 
+ * 3. From service gets Region Mbean.
+ *  
+ * 
+ * @author GemStone Systems, Inc.
+ * 
+ * @since 7.0
+ */
+
+public class ManagedNode {
+
+  /**
+   * @param args
+   */
+  public static final String EXAMPLE_REGION_NAME = "exampleRegion";
+
+  public static void main(String[] args) throws Exception {
+
+    //Set waiting period for federation in milliseconds
+    final int JMX_WAIT_PERIOD_FOR_FEDERATION_UPDATE = 2500;
+    
+    System.out
+        .println("Connecting to the distributed system and creating the cache.");
+
+    // Create the cache which causes the cache-xml-file to be parsed
+    System.out.println("Creating cache using Mbean.xml");
+    Cache cache = new CacheFactory().set("name", "ManagedNode")
+                      .set("log-level", "fine")
+                      .set("statistic-sampling-enabled", "true")                      
+                      .set("cache-xml-file", "xml/Managed-node.xml").create();
+
+    System.out.println("Created cache using Mbean.xml");
+
+    // Create one sample region
+    Region<Object, Object> region = cache.getRegion("/" + EXAMPLE_REGION_NAME);
+
+    // Add some entries to region
+    if (region != null) {
+      System.out.println("Adding key and value to region in member "
+          + cache.getDistributedSystem().getDistributedMember().getId());
+      for (int count = 0; count < 10; count++) {
+        String key = "key" + count;
+        String value = "value" + count;
+        region.put(key, value);
+      }
+    }
+
+    System.out.println("Retrieving service using cache ...");
+
+    // Retrieve service in this node
+    ManagementService service = ManagementService
+        .getExistingManagementService(cache);
+    System.out.println("Retrieved service.");
+
+    System.out.println("Retrieving RegionMXBean for " + EXAMPLE_REGION_NAME);   
+    
+    try{
+      Thread.sleep(JMX_WAIT_PERIOD_FOR_FEDERATION_UPDATE);
+    }catch(Exception e){
+      
+    }
+    
+    RegionMXBean regionBean = service.getLocalRegionMBean("/"
+        + EXAMPLE_REGION_NAME);
+
+ 
+
+    if (regionBean != null) {
+      System.out.println("Retrieved RegionMXBean for " + EXAMPLE_REGION_NAME);
+      System.out.println("Entry count for " + EXAMPLE_REGION_NAME + " is="
+          + regionBean.getEntryCount());
+
+      System.out.println("Start Manager Node and wait till it completes");
+
+    } else {
+      System.out.println("Could not retriev RegionMXBean for "
+          + EXAMPLE_REGION_NAME);
+    }
+
+    // Wait till user input, after manager node completes
+    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(
+        System.in));
+    bufferedReader.readLine();
+
+    // Close the cache and disconnect
+    System.out.println("Closing the cache and disconnecting.");
+    cache.close();
+  }
+
+}
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/cache_consistency.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/cache_consistency.html.md.erb b/geode-docs/managing/monitor_tune/cache_consistency.html.md.erb
new file mode 100644
index 0000000..09f868b
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/cache_consistency.html.md.erb
@@ -0,0 +1,63 @@
+---
+title:  Maintaining Cache Consistency
+---
+
+Maintaining data consistency between caches in a distributed Geode system is vital for ensuring its functional integrity and preventing data loss.
+
+## <a id="cache_const__section_lf3_lvn_nr" class="no-quick-link"></a>General Guidelines
+
+**Before Restarting a Region with a Disk Store, Consider the State of the Entire Region**
+
+**Note:**
+If you revoke a member\u2019s disk store, do not restart that member with its disk stores\u2014in isolation\u2014at a later time.
+
+Geode stores information about your persisted data and prevents you from starting a member with a revoked disk store in the running system. But Geode cannot stop you from starting a revoked member in isolation, and running with its revoked data. This is an unlikely situation, but it is possible to do:
+
+1.  Members A and B are running, both storing Region data to disk.
+2.  Member A goes down.
+3.  Member B goes down.
+4.  At this point, Member B has the most recent disk data.
+5.  Member B is not usable. Perhaps its host machine is down or cut off temporarily.
+6.  To get the system up and running, you start Member A, and use the command line tool to revoke Member B\u2019s status as member with the most recent data. The system loads Member A\u2019s data and you run forward with that.
+7.  Member A is stopped.
+8.  At this point, both Member A and Member B have information in their disk files indicating they are the gold copy members.
+9.  If you start Member B, it will load its data from disk.
+10. When you start Member A, the system will recognize the incompatible state and report an exception, but by this point, you have good data in both files, with no way to combine them.
+
+**Understand Cache Transactions**
+
+Understanding the operation of Geode transactions can help you minimize situations where the cache could get out of sync.
+
+Transactions do not work in distributed regions with global scope.
+
+Transactions provide consistency within one cache, but the distribution of results to other members is not as consistent.
+
+Multiple transactions in a cache can create inconsistencies because of read committed isolation. Since multiple threads cannot participate in a transaction, most applications will be running multiple transactions.
+
+An in-place change to directly alter a key\u2019s value without doing a put can result in cache inconsistencies. With transactions, it creates additional difficulties because it breaks read committed isolation. If at all possible, use copy-on-read instead.
+
+In distributed-no-ack scope, two conflicting transactions in different members can commit simultaneously, overwriting each other as the changes are distributed.
+
+If a cache writer exists during a transaction, then each transaction write operation triggers a cache writer\u2019s related call. Regardless of the region\u2019s scope, a transaction commit can invoke a cache writer only in the local cache and not in the remote caches.
+
+A region in a cache with transactions may not stay in sync with a region of the same name in another cache without transactions.
+
+Two applications running the same sequence of operations in their transactions may get different results. This could occur because operations happening outside a transaction in one of the members can overwrite the transaction, even in the process of committing. This could also occur if the results of a large transaction exceed the machine\u2019s memory or the capacity of Geode. Those limits can vary by machine, so the two members may not be in sync.
+
+## <a id="cache_const__section_qxx_kvn_nr" class="no-quick-link"></a>Guidelines for Multi-Site Deployments
+
+**Optimize socket-buffer-size**
+
+In a multi-site installation using gateways, if the link between sites is not tuned for optimum throughput, it could cause messages to back up in the cache queues. If a queue overflows because of inadequate buffer sizes, it will become out of sync with the sender and the receiver will be unaware of the condition. You can configure the send-receive buffer sizes of the TCP/IP connections used for data transmissions by changing the socket-buffer-size attribute of the gateway-sender and gateway-receiver elements in the `cache.xml` file. Set the buffer size by determining the link bandwidth and then using ping to measure the round-trip time.
+
+When optimizing socket-buffer sizes, use the same value for both gateway senders and gateway receivers.
+
+**Prevent Primary and Secondary Gateway Senders from Going Offline**
+
+In a multi-site installation, if the primary gateway server goes offline, a secondary gateway sender must take over primary responsibilities as the failover system. The existing secondary gateway sender detects that the primary gateway sender has gone offline, and a secondary one becomes the new primary. Because the queue is distributed, its contents are available to all gateway senders. So, when a secondary gateway sender becomes primary, it is able to start processing the queue where the previous primary left off with no loss of data.
+
+If both the primary gateway sender and all its secondary senders go offline and messages are in their queues, data loss could occur, because there is no failover system.
+
+**Verify That isOriginRemote Is Set to False**
+
+The isOriginRemote flag for a server or a multi-site gateway is set to false by default, which ensures that updates are distributed to other members. Setting its value to true in the server or the receiving gateway member applies updates to that member only, so updates are not distributed to peer members.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/chapter_overview.html.md.erb b/geode-docs/managing/monitor_tune/chapter_overview.html.md.erb
new file mode 100644
index 0000000..da69f00
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/chapter_overview.html.md.erb
@@ -0,0 +1,43 @@
+---
+title:  Performance Tuning and Configuration
+---
+
+A collection of tools and controls allow you to monitor and adjust Apache Geode performance.
+
+-   **[Improving Geode Performance on vSphere](../../managing/monitor_tune/gemfire_performance_on_vsphere.html)**
+
+    This topic provides guidelines for tuning vSphere virtualized environments that host Apache Geode deployments.
+
+-   **[Performance Controls](../../managing/monitor_tune/performance_controls.html)**
+
+    This topic provides tuning suggestions of particular interest to developers, primarily programming techniques and cache configuration.
+
+-   **[System Member Performance](../../managing/monitor_tune/system_member_performance.html)**
+
+    You can modify some configuration parameters to improve system member performance.
+
+-   **[Slow Receivers with TCP/IP](../../managing/monitor_tune/slow_receivers.html)**
+
+    You have several options for preventing situations that can cause slow receivers of data distributions. The slow receiver options control only peer-to-peer communication using TCP/IP. This discussion does not apply to client/server or multi-site communication, or to communication using the UDP unicast or multicast protocols.
+
+-   **[Slow distributed-ack Messages](../../managing/monitor_tune/slow_messages.html)**
+
+    In systems with distributed-ack regions, a sudden large number of distributed-no-ack operations can cause distributed-ack operations to take a long time to complete.
+
+-   **[Socket Communication](../../managing/monitor_tune/socket_communication.html)**
+
+    Geode processes communicate using TCP/IP and UDP unicast and multicast protocols. In all cases, communication uses sockets that you can tune to optimize performance.
+
+-   **[UDP Communication](../../managing/monitor_tune/udp_communication.html)**
+
+    You can make configuration adjustments to improve multicast and unicast UDP performance of peer-to-peer communication.
+
+-   **[Multicast Communication](../../managing/monitor_tune/multicast_communication.html)**
+
+    You can make configuration adjustments to improve the UDP multicast performance of peer-to-peer communication in your Geode system.
+
+-   **[Maintaining Cache Consistency](../../managing/monitor_tune/cache_consistency.html)**
+
+    Maintaining data consistency between caches in a distributed Geode system is vital for ensuring its functional integrity and preventing data loss.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere.html.md.erb b/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere.html.md.erb
new file mode 100644
index 0000000..249a7dd
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere.html.md.erb
@@ -0,0 +1,47 @@
+---
+title:  Improving Geode Performance on vSphere
+---
+
+This topic provides guidelines for tuning vSphere virtualized environments that host Apache Geode deployments.
+
+Without tuning, Geode can suffer a performance drop in virtual environments, including the VMware vSphere virtual platform.
+
+You can expect to see significant performance degradation when running Geode on vSphere versus running Geode on dedicated hardware.
+
+-   **[Operating System Guidelines](gemfire_performance_on_vsphere_guidelines.html#topic_F48990A6A37144988D49E132E17E117C)**
+
+    Use the latest supported version of the guest OS, and use Java large paging.
+
+-   **[NUMA, CPU, and BIOS Settings](gemfire_performance_on_vsphere_guidelines.html#topic_D8393B1A75364E46B0F959F0DE820E9E)**
+
+    This section provides VMware- recommended NUMA, CPU, and BIOS settings for your hardware and virtual machines.
+
+-   **[Physical and Virtual NIC Settings](gemfire_performance_on_vsphere_guidelines.html#topic_7A5F1EAD7A6C4E21BB1FF7CF3B625BC5)**
+
+    These guidelines help you reduce latency.
+
+-   **[VMware vSphere vMotion and DRS Cluster Usage](gemfire_performance_on_vsphere_guidelines.html#topic_E6EB8AB6CCEF435A98B48B867FE9BFEB)**
+
+    This topic discusses use limitations of vSphere vMotion, including the use of it with DRS.
+
+-   **[Placement and Organization of Virtual Machines](gemfire_performance_on_vsphere_guidelines.html#topic_E53BBF3D09A54953B02DCE2BD00D51E0)**
+
+    This section provides guidelines on JVM instances and placement of redundant copies of cached data.
+
+-   **[Virtual Machine Memory Reservation](gemfire_performance_on_vsphere_guidelines.html#topic_567308E9DE07406BB5BF420BE77B6558)**
+
+    This section provides guidelines for sizing and setting memory.
+
+-   **[vSphere High Availability and Apache Geode](gemfire_performance_on_vsphere_guidelines.html#topic_424B940584044CF6A685E86802548A27)**
+
+    On Apache Geode virtual machines, disable vSphere High Availability (HA).
+
+-   **[Storage Guidelines](gemfire_performance_on_vsphere_guidelines.html#topic_913B15841C4249A68697F3D91281A645)**
+
+    This section provides storage guidelines for persistence files, binaries, logs, and more.
+
+-   **[Additional Resources](gemfire_performance_on_vsphere_guidelines.html#topic_628F038FD4954E56BF4192F17FD3D119)**
+
+    VMware provides additional resources for optimizing vSphere, Java applications, and Apache Geode.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere_guidelines.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere_guidelines.html.md.erb b/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere_guidelines.html.md.erb
new file mode 100644
index 0000000..d8b7248
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/gemfire_performance_on_vsphere_guidelines.html.md.erb
@@ -0,0 +1,119 @@
+---
+title: Operating System Guidelines
+---
+<a id="topic_F48990A6A37144988D49E132E17E117C"></a>
+
+
+Use the latest supported version of the guest OS, and use Java large paging.
+
+-   **Use the latest supported version of the guest operating system**. This guideline is probably the most important. Upgrade the guest OS to a recent version supported by Geode. For example, for RHEL, use at least version 7.0 or for SLES, use at least 11.0. For Windows, use Windows Server 2012. For RedHat Linux users, it is particularly beneficial to use RHEL 7 since there are specific enhancements in the RHEL 7 release that improve virtualized latency sensitive workloads.
+-   **Use Java large paging in guest OS**. Configure Java on the guest OS to use large pages. Add the following command line option when launching Java:
+
+    ``` pre
+    -XX:+UseLargePages
+    ```
+
+## <a id="topic_D8393B1A75364E46B0F959F0DE820E9E" class="no-quick-link"></a>NUMA, CPU, and BIOS Settings
+
+This section provides VMware- recommended NUMA, CPU, and BIOS settings for your hardware and virtual machines.
+
+-   Always enable hyper-threading, and do not overcommit CPU.
+-   For most production Apache Geode servers, always use virtual machines with at least two vCPUs .
+-   Apply non-uniform memory access (NUMA) locality by sizing virtual machines to fit within the NUMA node.
+-   VMware recommends the following BIOS settings:
+    -   **BIOS Power Management Mode:** Maximum Performance.
+    -   **CPU Power and Performance Management Mode:** Maximum Performance.
+    -   **Processor Settings:**Turbo Mode enabled.
+    -   **Processor Settings:**C States disabled.
+
+**Note:**
+Settings may vary slightly depending on your hardware make and model. Use the settings above or equivalents as needed.
+
+## <a id="topic_7A5F1EAD7A6C4E21BB1FF7CF3B625BC5" class="no-quick-link"></a>Physical and Virtual NIC Settings
+
+These guidelines help you reduce latency.
+
+-   **Physical NIC:** VMware recommends that you disable interrupt coalescing on the physical NIC of your ESXi host by using the following command:
+
+    ``` pre
+    ethtool -C vmnicX rx-usecs 0 rx-frames 1 rx-usecs-irq 0 rx-frames-irq 0
+    ```
+
+    where `vmnicX` is the physical NIC as reported by the ESXi command:
+
+    ``` pre
+    esxcli network nic list
+    ```
+
+    You can verify that your settings have taken effect by issuing the command:
+
+    ``` pre
+    ethtool -C vmnicX
+    ```
+
+    If you restart the ESXi host, the above configuration must be reapplied.
+
+    **Note:**
+    Disabling interrupt coalescing can reduce latency in virtual machines; however, it can impact performance and cause higher CPU utilization. It can also defeat the benefits of Large Receive Offloads (LRO) because some physical NICs (such as Intel 10GbE NICs) automatically disable LRO when interrupt coalescing is disabled. See [http://kb.vmware.com/kb/1027511](http://kb.vmware.com/kb/1027511) for more details.
+
+-   **Virtual NIC:** Use the following guidelines when configuring your virtual NICs:
+    -   Use VMXNET3 virtual NICs for your latency-sensitive or otherwise performance-critical virtual machines. See [http://kb.vmware.com/kb/1001805](http://kb.vmware.com/kb/1001805) for details on selecting the appropriate type of virtual NIC for your virtual machine.
+    -   VMXNET3 supports adaptive interrupt coalescing that can help drive high throughput to virtual machines that have multiple vCPUs with parallelized workloads (multiple threads), while minimizing latency of virtual interrupt delivery. However, if your workload is extremely sensitive to latency, VMware recommends that you disable virtual interrupt coalescing for your virtual NICs. You can do this programmatically via API or by editing your virtual machine's .vmx configuration file. Refer to your vSphere API Reference or VMware ESXi documentation for specific instructions.
+
+## <a id="topic_E6EB8AB6CCEF435A98B48B867FE9BFEB" class="no-quick-link"></a>VMware vSphere vMotion and DRS Cluster Usage
+
+This topic discusses use limitations of vSphere vMotion, including the use of it with DRS.
+
+-   When you first commission the data management system, place VMware vSphere Distributed Resource Scheduler\u2122 (DRS) in manual mode to prevent an automatic VMware vSphere vMotion� operation that can affect response times.
+-   Reduce or eliminate the use of vMotion to migrate Geode virtual machines when they are under heavy load.
+-   Do not allow vMotion migrations with Apache Geode locator processes, as the latency introduced to this process can cause other members of the Apache Geode servers to falsely suspect that other members are dead.
+-   Use dedicated Apache Geode vSphere DRS clusters. This is especially important when you consider that the physical NIC and virtual NIC are specifically tuned to disable Interrupt Coalescing on every NIC of an ESXi host in the cluster. This type of tuning benefits Geode workloads, but it can hurt other non-Apache Geode workloads that are memory throughput-bound as opposed to latency sensitive as in the case of Apache Geode workloads.
+-   If using a dedicated vSphere DRS cluster is not an option, and Apache Geode must run in a shared DRS cluster, make sure that DRS rules are set up not to perform vMotion migrations on Geode virtual machines.
+-   If you must use vMotion for migration, VMware recommends that all vMotion migration activity of Apache Geode members occurs over 10GbE, during periods of low activity and scheduled maintenance windows.
+
+## <a id="topic_E53BBF3D09A54953B02DCE2BD00D51E0" class="no-quick-link"></a>Placement and Organization of Virtual Machines
+
+This section provides guidelines on JVM instances and placement of redundant copies of cached data.
+
+-   Have one JVM instance per virtual machine.
+-   Increasing the heap space to service the demand for more data is better than installing a second instance of a JVM on a single virtual machine. If increasing the JVM heap size is not an option, consider placing the second JVM on a separate newly created virtual machine, thus promoting more effective horizontal scalability. As you increase the number of Apache Geode servers, also increase the number of virtual machines to maintain a 1:1:1 ratio among the Apache Geode server, the JVM, and the virtual machines.
+-   Size for a minimum of four vCPU virtual machines with one Apache Geode server running in one JVM instance. This allows ample CPU cycles for the garbage collector, and the rest for user transactions.
+-   Because Apache Geode can place redundant copies of cached data on any virtual machine, it is possible to inadvertently place two redundant data copies on the same ESX/ESXi host. This is not optimal if a host fails. To create a more robust configuration, use VM1-to-VM2 anti-affinity rules, to indicate to vSphere that VM1 and VM2 can never be placed on the same host because they hold redundant data copies.
+
+## <a id="topic_567308E9DE07406BB5BF420BE77B6558" class="no-quick-link"></a>Virtual Machine Memory Reservation
+
+This section provides guidelines for sizing and setting memory.
+
+-   Set memory reservation at the virtual machine level so that ESXi provides and locks down the needed physical memory upon virtual machine startup. Once allocated, ESXi does not allow the memory to be taken away.
+-   Do not overcommit memory for Geode hosts.
+-   When sizing memory for a Geode server within one JVM on one virtual machine, the total reserved memory for the virtual machine should not exceed what is available within one NUMA node for optimal performance.
+
+## <a id="topic_424B940584044CF6A685E86802548A27" class="no-quick-link"></a>vSphere High Availability and Apache Geode
+
+On Apache Geode virtual machines, disable vSphere High Availability (HA).
+
+If you are using a dedicated Apache Geode DRS cluster, then you can disable HA across the cluster. However, if you are using a shared cluster, exclude Geode virtual machines from vSphere HA.
+
+Additionally, to support high availability, you can also set up anti-affinity rules between the Apache Geode virtual machines to prevent two Apache Geode servers from running on the same ESXi host within the same DRS cluster.
+
+## <a id="topic_913B15841C4249A68697F3D91281A645" class="no-quick-link"></a>Storage Guidelines
+
+This section provides storage guidelines for persistence files, binaries, logs, and more.
+
+-   Use the PVSCSI driver for I/O intensive Apache Geode workloads.
+-   Align disk partitions at the VMFS and guest operating system levels.
+-   Provision VMDK files as eagerzeroedthick to avoid lazy zeroing for Apache Geode members.
+-   Use separate VMDKs for Apache Geode persistence files, binaries, and logs.
+-   Map a dedicated LUN to each VMDK.
+-   For Linux virtual machines, use NOOP scheduling as the I/O scheduler instead of Completely Fair Queuing (CFQ). Starting with the Linux kernel 2.6, CFQ is the default I/O scheduler in many Linux distributions. See [http://kb.vmware.com/kb/2011861](http://kb.vmware.com/kb/2011861) for more information.
+
+## <a id="topic_628F038FD4954E56BF4192F17FD3D119" class="no-quick-link"></a>Additional Resources
+
+VMware provides additional resources for optimizing vSphere, Java applications, and Apache Geode.
+
+-   "Performance Best Practices for VMware vSphere 5.0" - [http://www.vmware.com/pdf/Perf_Best_Practices_vSphere5.0.pdf](http://www.vmware.com/pdf/Perf_Best_Practices_vSphere5.0.pdf)
+-   "Best Practices for Performance Tuning of Latency-Sensitive Workloads in vSphere Virtual Machines" - [http://www.vmware.com/files/pdf/techpaper/VMW-Tuning-Latency-Sensitive-Workloads.pdf](http://www.vmware.com/files/pdf/techpaper/VMW-Tuning-Latency-Sensitive-Workloads.pdf)
+-   "Enterprise Java Applications on VMware - Best Practices Guide" - [http://www.vmware.com/resources/techresources/1087](http://www.vmware.com/resources/techresources/1087)
+-   "High Performance Data with VMware Pivotal\u2122 GemFire� Best Practices Guide" - [https://www.vmware.com/files/pdf/techpaper/vmw-vfabric-gemFire-best-practices-guide.pdf](https://www.vmware.com/files/pdf/techpaper/vmw-vfabric-gemFire-best-practices-guide.pdf)
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/multicast_communication.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/multicast_communication.html.md.erb b/geode-docs/managing/monitor_tune/multicast_communication.html.md.erb
new file mode 100644
index 0000000..3574cc7
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/multicast_communication.html.md.erb
@@ -0,0 +1,29 @@
+---
+title:  Multicast Communication
+---
+
+You can make configuration adjustments to improve the UDP multicast performance of peer-to-peer communication in your Geode system.
+
+Before you begin, you should understand Geode [Basic Configuration and Programming](../../basic_config/book_intro.html). See also the general communication tuning and UDP tuning covered in [Socket Communication](socket_communication.html) and [UDP Communication](udp_communication.html#udp_comm).
+
+-   **[Provisioning Bandwidth for Multicast](../../managing/monitor_tune/multicast_communication_provisioning_bandwidth.html)**
+
+    Multicast installations require more planning and configuration than TCP installations. With IP multicast, you gain scalability but lose the administrative convenience of TCP.
+
+-   **[Testing Multicast Speed Limits](../../managing/monitor_tune/multicast_communication_testing_multicast_speed_limits.html)**
+
+    TCP automatically adjusts its speed to the capability of the processes using it and enforces bandwidth sharing so that every process gets a turn. With multicast, you must determine and explicitly set those limits.
+
+-   **[Configuring Multicast Speed Limits](../../managing/monitor_tune/multicast_communication_configuring_speed_limits.html)**
+
+    After you determine the maximum transmission rate, configure and tune your production system.
+
+-   **[Run-time Considerations for Multicast](../../managing/monitor_tune/multicast_communication_runtime_considerations.html)**
+
+    When you use multicast for messaging and data distribution, you need to understand how the health monitoring setting works and how to control memory use.
+
+-   **[Troubleshooting the Multicast Tuning Process](../../managing/monitor_tune/multicast_communication_troubleshooting.html)**
+
+    Several problems may arise during the initial testing and tuning process for multicasting.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/multicast_communication_configuring_speed_limits.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/multicast_communication_configuring_speed_limits.html.md.erb b/geode-docs/managing/monitor_tune/multicast_communication_configuring_speed_limits.html.md.erb
new file mode 100644
index 0000000..8ef2894
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/multicast_communication_configuring_speed_limits.html.md.erb
@@ -0,0 +1,34 @@
+---
+title:  Configuring Multicast Speed Limits
+---
+
+After you determine the maximum transmission rate, configure and tune your production system.
+
+<a id="multicast__section_8E225FC6829946C287552BC7996F2765"></a>
+For best performance, the producer and the consumers should run on different machines and each process should have at least one CPU dedicated to it. The following is a list of configuration changes that can improve multicast performance. Check with your system administrator about changing any of the limits discussed here.
+
+-   Increase the default datagram size for systems running Microsoft Windows from 1024 bytes to a value that matches your network\u2019s maximum transmission unit (MTU), which is typically 1500 bytes. The higher setting should improve the system\u2019s network performance.
+-   Distribution statistics for stack time probes are disabled by default to increase multicast performance. To reduce multicast speed, you can enable time statistics by setting the gemfire.`enable-time-statistics` property to true.
+
+    This enables time statistics for a Java application:
+
+    ``` pre
+    -Dgemfire.enable-time-statistics=true
+    ```
+
+    The time statistics properties are passed to the cache server on the `gfsh` the command line:
+
+    ``` pre
+    gfsh>start server --name=server_name --enable-time-statistics=true
+    ```
+
+-   Monitor the members that receive data for signs of data loss. A few data loss messages can happen normally during region creation. Multicast retransmit requests and unicast retransmits can also be monitored to detect data loss. Even when you see data loss, the cause of the problem may have nothing to do with the network. However, if it happens constantly then you should try testing the flow control rate again
+-   If necessary, reconfigure all the `gemfire.properties` files and repeat with lower flow control maximum credits until you find the maximum useful rate for your installation.
+-   Slow system performance might be helped by reducing how far your multicast messaging goes in your network.
+-   Reduce multicast latency by disabling batching. By default, Geode uses batching for operations when the region\u2019s scope is distributed-no-ack. Set the `disableBatching` property to true on the application or when starting a cache server process through the `gfsh` command line:
+
+    ``` pre
+    gfsh>start server --name=server_name --J=-Dp2p.disableBatching=true
+    ```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/monitor_tune/multicast_communication_provisioning_bandwidth.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/monitor_tune/multicast_communication_provisioning_bandwidth.html.md.erb b/geode-docs/managing/monitor_tune/multicast_communication_provisioning_bandwidth.html.md.erb
new file mode 100644
index 0000000..d236823
--- /dev/null
+++ b/geode-docs/managing/monitor_tune/multicast_communication_provisioning_bandwidth.html.md.erb
@@ -0,0 +1,43 @@
+---
+title:  Provisioning Bandwidth for Multicast
+---
+
+Multicast installations require more planning and configuration than TCP installations. With IP multicast, you gain scalability but lose the administrative convenience of TCP.
+
+<a id="multicast__section_B7DA88707CBF4713A1E287CAA9A80EB9"></a>
+When you install an application that runs over TCP, the network is almost always set up for TCP and other applications are already using it. When you install an application to run over IP multicast it may be the first multicast application on the network.
+
+Multicast is very dependent on the environment in which it runs. Its operation is affected by the network hardware, the network software, the machines, which Geode processes run on which machines, and whether there are any competing applications. You could find that your site has connectivity in TCP but not in multicast because some switches and network cards do not support multicast. Your network could have latent problems that you would never see otherwise. To successfully implement a distributed Geode system using multicast requires the cooperation of both system and network administrators.
+
+**Bounded Operation Over Multicast**
+
+Group rate control is required for Geode systems to maintain cache coherence. If your application delivers the same data to a group of members, your system tuning effort needs to focus on the slow receivers.
+
+If some of your members have trouble keeping up with the incoming data, the other members in the group may be impacted. At best, slow receivers cause the producer to use buffering, adding latency for the slow receiver and perhaps for all of them. In the worst case, throughput for the group can stop entirely while the producer\u2019s CPU, memory and network bandwidth are dedicated to serving the slow receivers.
+
+To address this issue, you can implement a bounded operation policy, which sets boundaries for the producer\u2019s operation. The appropriate rate limits are determined through tuning and testing to allow the fastest operation possible while minimizing data loss and latency in the group of consumers. This policy is suited to applications such as financial market data, where high throughput, reliable delivery and network stability are required. With the boundaries set correctly, your producer\u2019s traffic cannot cause a network outage.
+
+Multicast protocols typically have a flow control protocol built into them to keep processes from being overrun. The Geode flow control protocol uses the mcast-flow-control property to set producer and consumer boundaries for multicast flow operations. The property provides these three configuration settings:
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<tbody>
+<tr class="odd">
+<td><p><code class="ph codeph">byteAllowance</code></p></td>
+<td><p>Number of bytes that can be sent without a recharge.</p></td>
+</tr>
+<tr class="even">
+<td><p><code class="ph codeph">rechargeThreshold</code></p></td>
+<td><p>Tells consumers how low the producer\u2019s initial to remaining allowance ratio should be before sending a recharge.</p></td>
+</tr>
+<tr class="odd">
+<td><code class="ph codeph">rechargeBlockMs</code></td>
+<td><p>Tells the producer how long to wait for a recharge before requesting one.</p></td>
+</tr>
+</tbody>
+</table>
+
+


[49/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/the_cache/intro_cache_management.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/the_cache/intro_cache_management.html.md.erb b/basic_config/the_cache/intro_cache_management.html.md.erb
deleted file mode 100644
index 2d21a60..0000000
--- a/basic_config/the_cache/intro_cache_management.html.md.erb
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title:  Introduction to Cache Management
----
-
-The cache provides in-memory storage and management for your data.
-
-<a id="concept_F8BA7F2D3B5A40D78461E78BC5FB31FA__section_B364B076EB5843DAAC28EE2805686453"></a>
-You organize your data in the cache into *data regions*, each with its own configurable behavior. You store your data into your regions in key/value pairs called *data entries*. The cache also provides features like transactions, data querying, disk storage management, and logging. See the Javadocs for `org.apache.geode.cache.Cache`.
-
-You generally configure caches using the `gfsh` command-line utility or a combination of XML declarations and API calls. Geode loads and processes your XML declarations when you first create the cache.
-
-Geode has one cache type for managing server and peer caches and one for managing client caches. The cache server process automatically creates its server cache at startup. In your application process, the cache creation returns an instance of the server/peer or client cache. From that point on, you manage the cache through API calls in your application.
-
-## <a id="concept_F8BA7F2D3B5A40D78461E78BC5FB31FA__section_20973C59F1C94E35A02CE6582503205A" class="no-quick-link"></a>The Caching APIs
-
-Geode's caching APIs provide specialized behavior for different system member types and security settings.
-
--   **`org.apache.geode.cache.RegionService`**. Generally, you use the `RegionService` functionality through instances of `Cache` and `ClientCache`. You only specifically use instances of `RegionService` for limited-access users in secure client applications that service many users. The `RegionService` API provides access to existing cache data regions and to the standard query service for the cache. For client caches, queries are sent to the server tier. For server and peer caches, queries are run in the current cache and any available peers. `RegionService` is implemented by `GemFireCache`.
--   **`org.apache.geode.cache.GemFireCache`**. You do not specifically use instances of `GemFireCache`, but you use `GemFireCache` functionality in your instances of `Cache` and `ClientCache`. `GemFireCache` extends `RegionService` and adds general caching features like region attributes, disk stores for region persistence and overflow, and access to the underlying distributed system. `GemFireCache` is implemented by `Cache` and `ClientCache`.
--   **`org.apache.geode.cache.Cache`**. Use the `Cache` interface to manage server and peer caches. You have one `Cache` per server or peer process. The `Cache` extends `GemFireCache` and adds server/peer caching features like communication within the distributed system, region creation, transactions and querying, and cache server functionality.
--   **`org.apache.geode\u2248setting_cache_initializer.cache.ClientCache`**. Use the `ClientCache` interface to manage the cache in your clients. You have one `ClientCache` per client process. The `ClientCache` extends `GemFireCache` and adds client-specific caching features like client region creation, subscription keep-alive management for durable clients, querying on server and client tiers, and RegionService creation for secure access by multiple users within the client.
-
-## <a id="concept_F8BA7F2D3B5A40D78461E78BC5FB31FA__section_6486BDAF06EC4B91A548872066F3EC8C" class="no-quick-link"></a>The Cache XML
-
-Your `cache.xml` must be formatted according to the product XML schema definition `cache-1.0.xsd`. The schema definition file is available in the product distribution at `$GEMFIRE/schemas/geode.apache.org/schema/cache/cache-1.0.xsd`.
-
-You use one format for peer and server caches and another for client caches.
-
-`cache.xml` for Peer/Server:
-
-``` pre
-<?xml version="1.0" encoding="UTF-8"?>
-<cache xmlns="http://geode.incubator.apache.org/schema/cache"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://geode.incubator.apache.org/schema/cache http://geode.incubator.apache.org/schema/cache/cache-1.0.xsd"
-    version="1.0\u201d>
-...
-</cache>
-```
-
-`cache.xml` for Client:
-
-``` pre
-<?xml version="1.0" encoding="UTF-8"?>
-<client-cache
-    xmlns="http://geode.incubator.apache.org/schema/cache"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://geode.incubator.apache.org/schema/cache http://geode.incubator.apache.org/schema/cache/cache-1.0.xsd"
-    version="1.0\u201d>
-...
-</client-cache>
-```
-
-For more information on the `cache.xml` file, see [cache.xml](../../reference/topics/chapter_overview_cache_xml.html#cache_xml).
-
-## <a id="concept_F8BA7F2D3B5A40D78461E78BC5FB31FA__section_B113BC6921DA434C947D4326DDB4526E" class="no-quick-link"></a>Create and Close a Cache
-
-Your system configuration and cache configuration are initialized when you start your member processes and create each member\u2019s Geode cache. If you are using the cluster configuration service, member processes can pick up its cache configuration from the cluster or group's current configuration. See [Overview of the Cluster Configuration Service](../../configuring/cluster_config/gfsh_persist.html).
-
-The steps in this section use `gemfire.properties` and `cache.xml` file examples, except where API is required. You can configure your distributed system properties and cache through the API as well, and you can use a combination of file configuration and API configuration.
-
-The XML examples may not include the full `cache.xml` file listing. All of your declarative cache configuration must conform to the cache XSD in the product installation `$GEMFIRE/schemas/geode.apache.org/schema/cache/cache-1.0.xsd`.
-
-For all of your Geode applications:
-
-1.  Create your `Cache`, for peer/server applications, or `ClientCache`, for client applications. This connects to the Geode system you have configured and initializes any configured data regions. Use your cache instance to access your regions and perform your application work.
-2.  Close your cache when you are done. This frees up resources and disconnects your application from the distributed system in an orderly manner.
-
-Follow the instructions in the subtopics under [Cache Management](chapter_overview.html#the_cache) to customize your cache creation and closure for your application needs. You may need to combine more than one of the sets of instructions. For example, to create a client cache in a system with security, you would follow the instructions for creating and closing a client cache and for creating and closing a cache in a secure system.
-
-## <a id="concept_F8BA7F2D3B5A40D78461E78BC5FB31FA__section_E8781B263D434F6A9104194AE7BE1647" class="no-quick-link"></a>Export and Import a Cache Snapshot
-
-To aid in the administration of cache data and speed the setup of new environments, you can export a snapshot of the entire cache (all regions) and then import the snapshot into a new cache. For example, you could take a snapshot of the production environment cache in order to import the cache's data into a testing environment.
-
-For more details on exporting and importing snapshots of a cache, see [Cache and Region Snapshots](../../managing/cache_snapshots/chapter_overview.html#concept_E6AC3E25404D4D7788F2D52D83EE3071).
-
-## Cache Management with gfsh and the Cluster Configuration Service
-
-You can use gfsh commands to mange a server cache. There are gfsh commands to create regions, start servers, and to create queues and other objects. As you issue these commands, the Cluster Configuration Service saves cache.xml and gemfire.properties files on the locators and distributes those configurations to any new members that join the cluster. See [Overview of the Cluster Configuration Service](../../configuring/cluster_config/gfsh_persist.html).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/the_cache/managing_a_client_cache.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/the_cache/managing_a_client_cache.html.md.erb b/basic_config/the_cache/managing_a_client_cache.html.md.erb
deleted file mode 100644
index 94099aa..0000000
--- a/basic_config/the_cache/managing_a_client_cache.html.md.erb
+++ /dev/null
@@ -1,67 +0,0 @@
----
-title:  Managing a Client Cache
----
-
-You have several options for client cache configuration. Start your client cache using a combination of XML declarations and API calls. Close the client cache when you are done.
-
-<a id="managing_a_client_cache__section_566044C44C434926A7A9FBAB2BF463BF"></a>
-Geode clients are processes that send most or all of their data requests and updates to a Geode server system. Clients run as standalone processes, without peers of their own.
-
-**Note:**
-Geode automatically configures the distributed system for your `ClientCache` as standalone, which means the client has no peers. Do not try to set the `gemfire.properties` `mcast-port` or `locators` for a client application or the system will throw an exception.
-
-1.  Create your client cache:
-    1.  In your `cache.xml`, use the `client-cache` DOCTYPE and configure your cache inside a `<client-cache>` element. Configure your server connection pool and your regions as needed. Example:
-
-        ``` pre
-        <?xml version="1.0" encoding="UTF-8"?>
-        <client-cache
-            xmlns="http://geode.incubator.apache.org/schema/cache"
-            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-            xsi:schemaLocation="http://geode.incubator.apache.org/schema/cache http://geode.incubator.apache.org/schema/cache/cache-1.0.xsd"
-            version="1.0">
-            <pool name="serverPool">
-                <locator host="host1" port="44444"/>
-            </pool>
-            <region name="exampleRegion" refid="PROXY"/>
-        </client-cache>
-        ```
-
-        **Note:**
-        Applications that use a `client-cache` may want to set `concurrency-checks-enabled` to false for a region in order to see all events for that region. Geode server members can continue using concurrency checks, but they will pass all events to the client cache. This configuration ensures that the client sees all region events, but it does not prevent the client cache region from becoming out-of-sync with the server cache. See [Consistency for Region Updates](../../developing/distributed_regions/region_entry_versions.html#topic_CF2798D3E12647F182C2CEC4A46E2045).
-
-    2.  If you use multiple server pools, configure the pool name explicitly for each client region. Example:
-
-        ``` pre
-        <pool name="svrPool1">
-            <locator host="host1" port="40404"/>
-        </pool>
-        <pool name="svrPool2">
-            <locator host="host2" port="40404"/>
-        </pool>
-        <region name="clientR1" refid="PROXY" pool-name="svrPool1"/>  
-        <region name="clientR2" refid="PROXY" pool-name="svrPool2"/>
-        <region name="clientsPrivateR" refid="LOCAL"/>
-        ```
-
-    3.  In your Java client application, create the cache using the `ClientCacheFactory` `create` method. Example:
-
-        ``` pre
-        ClientCache clientCache = new ClientCacheFactory().create();
-        ```
-
-        This creates the server connections and initializes the client\u2019s cache according to your `gemfire.properties` and `cache.xml` specifications.
-
-2.  Close your cache when you are done using the `close` method of your `Cache` instance:
-
-    ``` pre
-    cache.close();
-    ```
-
-    If your client is durable and you want to maintain your durable queues while the client cache is closed, use:
-
-    ``` pre
-    clientCache.close(true);
-    ```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/the_cache/managing_a_multiuser_cache.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/the_cache/managing_a_multiuser_cache.html.md.erb b/basic_config/the_cache/managing_a_multiuser_cache.html.md.erb
deleted file mode 100644
index 76dc590..0000000
--- a/basic_config/the_cache/managing_a_multiuser_cache.html.md.erb
+++ /dev/null
@@ -1,49 +0,0 @@
----
-title:  Managing RegionServices for Multiple Secure Users
----
-
-In a secure system, you can create clients with multiple, secure connections to the servers from each client. The most common use case is a Geode client embedded in an application server that supports data requests from many users. Each user may be authorized to access a subset of data on the servers. For example, customer users may be allowed to see and update only their own orders and shipments.
-
-<a id="managing_a_multiuser_cache__section_A2A0F835DF35450E8E4B5304F4BC07E2"></a>
-
-In a single client, multiple authenticated users can all access the same `ClientCache` through instances of the `RegionService` interface. Because there are multiple users with varying authorization levels, access to cached data is done entirely through the servers, where each user\u2019s authorization can be managed.
-Follow these steps in addition to the steps in [Managing a Cache in a Secure System](managing_a_secure_cache.html#managing_a_secure_cache).
-
-1.  Create your cache and `RegionService` instances:
-    1.  Configure your client\u2019s server pool for multiple secure user authentication. Example:
-
-        ``` pre
-        <pool name="serverPool" multiuser-authentication="true">
-            <locator host="host1" port="44444"/>
-            </pool>
-        ```
-
-        This enables access through the pool for the `RegionService` instances and disables it for the `ClientCache` instance.
-
-    2.  After you create your `ClientCache`, from your `ClientCache` instance, for each user call the `createAuthenticatedView` method, providing the user\u2019s particular credentials. These are create method calls for two users:
-
-        ``` pre
-        Properties properties = new Properties();
-        properties.setProperty("security-username", cust1Name);
-        properties.setProperty("security-password", cust1Pwd);
-        RegionService regionService1 = 
-            clientCache.createAuthenticatedView(properties);
-
-        properties = new Properties();
-        properties.setProperty("security-username", cust2Name);
-        properties.setProperty("security-password", cust2Pwd);
-        RegionService regionService2 =  
-            clientCache.createAuthenticatedView(properties);
-        ```
-
-    For each user, do all of your caching and region work through the assigned `RegionService` instance. Access to the server cache will be governed by the server\u2019s configured authorization rules for each individual user.
-2.  Close your cache by closing the `ClientCache` instance only. Do not close the `RegionService` instances first. This is especially important for durable clients.
-
-## <a id="managing_a_multiuser_cache__section_692D9961E8224739903E483BF8AB4F84" class="no-quick-link"></a>Requirements and Caveats for RegionService
-
-Once each region is created, you can perform operations on it through the `ClientCache` instance or the `RegionService` instances, but not both.
-
-**Note:**
-You can use the `ClientCache` to create a region that uses a pool configured for multi-user authentication, then access and do work on the region using your `RegionService` instances.
-
-To use `RegionService`, regions must be configured as `EMPTY`. Depending on your data access requirements, this configuration might affect performance, because the client goes to the server for every get.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/the_cache/managing_a_peer_server_cache.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/the_cache/managing_a_peer_server_cache.html.md.erb b/basic_config/the_cache/managing_a_peer_server_cache.html.md.erb
deleted file mode 100644
index 89ad024..0000000
--- a/basic_config/the_cache/managing_a_peer_server_cache.html.md.erb
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title:  Managing a Peer or Server Cache
----
-
-You start your peer or server cache using a combination of XML declarations and API calls. Close the cache when you are done.
-
-<a id="creating_and_closing_a_peer_cache__section_1633A80F0DB04794BB6C3A7F05EED97E"></a>
-Geode peers are members of a Geode distributed system that do not act as clients to another Geode distributed system. Geode servers are peers that also listen for and process client requests.
-
-1.  Create your cache:
-    1.  Start up a cluster and the cluster configuration service:
-        1.  Start a locator with `--enable-cluster-configuration` set to true. (It is set true by default.)
-
-            ``` pre
-            gfsh>start locator --name=locator1
-            ```
-
-        2.  Start up member processes that use the cluster configuration service (enabled by default):
-
-            ``` pre
-            gfsh>start server --name=server1 --server-port=40404
-            ```
-
-        3.  Create regions:
-
-            ``` pre
-            gfsh>create region --name=customerRegion --type=REPLICATE
-
-            gfsh>create region --name=ordersRegion --type=PARTITION
-            ```
-
-    2.  Or if you are not using the cluster configuration service, directly configure cache.xml in each member of your cluster. In your `cache.xml`, use the `cache` DOCTYPE and configure your cache inside a `<cache>` element. Example:
-
-        ``` pre
-        <?xml version="1.0" encoding="UTF-8"?>
-        <cache
-            xmlns="http://geode.incubator.apache.org/schema/cache"
-            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-            xsi:schemaLocation="http://geode.incubator.apache.org/schema/cache http://geode.incubator.apache.org/schema/cache/cache-1.0.xsd"
-            version="1.0\u201d>
-            // NOTE: Use this <cache-server> element only for server processes 
-            <cache-server port="40404"/>
-            <region name="customerRegion" refid="REPLICATE" />
-            <region name="ordersRegion" refid="PARTITION" />
-        </cache>
-        ```
-
-    3.  To programmatically create the `Cache` instance:
-        -   In your Java application, use the `CacheFactory` create method:
-
-            ``` pre
-            Cache cache = new CacheFactory().create();
-            ```
-        -   If you are running a server using the Geode `cacheserver` process, it automatically creates the cache and connection at startup and closes both when it exits.
-
-        The system creates the distributed system connection and initializes the cache according to your `gemfire.properties` and `cache.xml` specifications.
-
-2.  Close your cache when you are done using the inherited `close` method of the `Cache` instance:
-
-    ``` pre
-    cache.close();
-    ```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/the_cache/managing_a_secure_cache.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/the_cache/managing_a_secure_cache.html.md.erb b/basic_config/the_cache/managing_a_secure_cache.html.md.erb
deleted file mode 100644
index 6bd109c..0000000
--- a/basic_config/the_cache/managing_a_secure_cache.html.md.erb
+++ /dev/null
@@ -1,50 +0,0 @@
----
-title:  Managing a Cache in a Secure System
----
-
-To create a cache in a secured system,
-authentication at connection time will require credentials.
-Authorization permits operations as configured.
-
-<a id="managing_a_secure_cache__section_11BF0F3F64504B74B39CD4C1CF58E6FC"></a>
-These steps demonstrate a programmatic cache creation.
-
-1.  To create the cache:
-    1.  Add necessary security properties to the `gemfire.properties` or `gfsecurity.properties` file, to configure for your particular security implementation. Examples:
-
-        ``` pre
-        security-client-auth-init=mySecurity.UserPasswordAuthInit.create
-        ```
-
-        ``` pre
-        security-peer-auth-init=myAuthPkg.myAuthInitImpl.create
-        ```
-
-    2.  When you create your cache, pass any properties required by your security implementation to the cache factory create call by using one of these methods:
-        -   `ClientCacheFactory` or `CacheFactory` `set` methods. Example:
-
-            ``` pre
-            ClientCache clientCache = new ClientCacheFactory()
-                .set("security-username", username)
-                .set("security-password", password)
-                .create();
-            ```
-        -   Properties object passed to the `ClientCacheFactory` or `CacheFactory` `create` method. These are usually properties of a sensitive nature that you do not want to put inside the `gfsecurity.properties` file. Example:
-
-            ``` pre
-            Properties properties = new Properties();
-            properties.setProperty("security-username", username);
-            properties.setProperty("security-password", password);
-            Cache cache = new CacheFactory(properties).create();
-            ```
-
-            **Note:**
-            Properties passed to a cache creation method override any settings in either the `gemfire.properties` file or `gfsecuirty.properties`.
-
-2.  Close your cache when you are done, using the `close` method of the `ClientCache` instance or the inherited `close` method of the `Cache` instance. Example:
-
-    ``` pre
-    cache.close();
-    ```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/the_cache/setting_cache_initializer.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/the_cache/setting_cache_initializer.html.md.erb b/basic_config/the_cache/setting_cache_initializer.html.md.erb
deleted file mode 100644
index 20cc2c6..0000000
--- a/basic_config/the_cache/setting_cache_initializer.html.md.erb
+++ /dev/null
@@ -1,59 +0,0 @@
----
-title:  Launching an Application after Initializing the Cache
----
-
-You can specify a callback application that is launched after the cache initialization.
-
-By specifying an `<initializer>` element in your cache.xml file, you can trigger a callback application, which is run after the cache has been initialized. Applications that use the cacheserver script to start up a server can also use this feature to hook into a callback application. To use this feature, you need to specify the callback class within the `<initializer>` element. This element should be added to the end of your `cache.xml` file.
-
-You can specify the `<initializer>` element for either server caches or client caches.
-
-The callback class must implement the `Declarable` interface. When the callback class is loaded, its `init` method is called, and any parameters defined in the `<initializer>` element are passed as properties.
-
-The following is an example specification.
-
-In cache.xml:
-
-``` pre
-<initializer>
-   <class-name>MyInitializer</class-name>
-      <parameter name="members">
-         <string>2</string>
-      </parameter>
-</initializer>
-```
-
-Here's the corresponding class definition:
-
-``` pre
- 
-import org.apache.geode.cache.Declarable;
-
-public class MyInitializer implements Declarable {
-   public void init(Properties properties) {
-      System.out.println(properties.getProperty("members"));
-   }
-}
-```
-
-The following are some additional real-world usage scenarios:
-
-1.  Start a SystemMembershipListener
-
-    ``` pre
-    <initializer>
-       <class-name>TestSystemMembershipListener</class-name>
-    </initializer>
-    ```
-
-2.  Write a custom tool that monitors cache resources
-
-    ``` pre
-    <initializer>
-       <class-name>ResourceMonitorCacheXmlLoader</class-name>
-    </initializer>
-    ```
-
-Any singleton or timer task or thread can be instantiated and started using the initializer element.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/basic_config/the_cache/setting_cache_properties.html.md.erb
----------------------------------------------------------------------
diff --git a/basic_config/the_cache/setting_cache_properties.html.md.erb b/basic_config/the_cache/setting_cache_properties.html.md.erb
deleted file mode 100644
index 76d5066..0000000
--- a/basic_config/the_cache/setting_cache_properties.html.md.erb
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title:  Options for Configuring the Cache and Data Regions
----
-
-To populate your Apache Geode cache and fine-tune its storage and distribution behavior, you need to define cached data regions and provide custom configuration for the cache and regions.
-
-<a id="setting_cache_properties__section_FB536C90C219432D93E872CBD49D66B1"></a>
-Cache configuration properties define:
-
--   Cache-wide settings such as disk stores, communication timeouts, and settings designating the member as a server
--   Cache data regions
-
-Configure the cache and its data regions through one or more of these methods:
-
--   Through a persistent configuration that you define when issuing commands that use the gfsh command line utility. `gfsh` supports the administration, debugging, and deployment of Apache Geode processes and applications. You can use gfsh to configure regions, locators, servers, disk stores, event queues, and other objects.
-
-    As you issue commands, gfsh saves a set of configurations that apply to the entire cluster and also saves configurations that only apply to defined groups of members within the cluster. You can re-use these configurations to create a distributed system. See [Overview of the Cluster Configuration Service](../../configuring/cluster_config/gfsh_persist.html).
-
--   Through declarations in the XML file named in the `cache-xml-file` `gemfire.properties` setting. This file is generally referred to as the `cache.xml` file, but it can have any name. See [cache.xml](../../reference/topics/chapter_overview_cache_xml.html#cache_xml).
--   Through application calls to the `org.apache.geode.cache.CacheFactory`, `org.apache.geode.cache.Cache` and `org.apache.geode.cache.Region` APIs.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/configuring/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/configuring/chapter_overview.html.md.erb b/configuring/chapter_overview.html.md.erb
deleted file mode 100644
index 8026e72..0000000
--- a/configuring/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,67 +0,0 @@
----
-title:  Configuring and Running a Cluster
----
-
-You use the `gfsh` command-line utility to configure your Apache Geode cluster (also called a "distributed system"). The cluster configuration service persists the cluster configurations and distributes the configurations to members of the cluster. There are also several additional ways to configure a cluster.
-
-You use `gfsh` to configure regions, disk stores, members, and other Geode objects. You also use `gfsh` to start and stop locators, servers, and Geode monitoring tools. As you execute these commands, the cluster configuration service persists the configuration. When new members join the cluster, the service distributes the configuration to the new members.
-
-`gfsh` is the recommended means of configuring and managing your Apache Geode cluster, however you can still configure many aspects of a cluster using the older methods of the cache.xml and gemfire.properties files. See [cache.xml](../reference/topics/chapter_overview_cache_xml.html#cache_xml) and the [Reference](../reference/book_intro.html#reference) for configuration parameters. You can also configure some aspects of a cluster using a Java API. See [Managing Apache Geode](../managing/book_intro.html#managing_gemfire_intro).
-
--   **[Overview of the Cluster Configuration Service](../configuring/cluster_config/gfsh_persist.html)**
-
-    The Apache Geode cluster configuration service persists cluster configurations created by `gfsh` commands to the locators in a cluster and distributes the configurations to members of the cluster.
-
--   **[Tutorial\u2014Creating and Using a Cluster Configuration](../configuring/cluster_config/persisting_configurations.html)**
-
-    A short walk-through that uses a single computer to demonstrate how to use `gfsh` to create a cluster configuration for a Geode cluster.
-
--   **[Deploying Application JARs to Apache Geode Members](../configuring/cluster_config/deploying_application_jars.html)**
-
-    You can dynamically deploy your application JAR files to specific members or to all members in your distributed system. Geode automatically keeps track of JAR file versions; autoloads the deployed JAR files to the CLASSPATH; and auto-registers any functions that the JAR contains.
-
--   **[Using Member Groups](../configuring/cluster_config/using_member_groups.html)**
-
-    Apache Geode allows you to organize your distributed system members into logical member groups.
-
--   **[Exporting and Importing Cluster Configurations](../configuring/cluster_config/export-import.html)**
-
-    The cluster configuration service exports and imports configurations created using `gfsh` for an entire Apache Geode cluster.
-
--   **[Cluster Configuration Files and Troubleshooting](../configuring/cluster_config/gfsh_config_troubleshooting.html)**
-
-    When you use the cluster configuration service in Geode, you can examine the generated configuration files in the `cluster_config` directory on the locator. `gfsh` saves configuration files at the cluster-level and at the individual group-level.
-
--   **[Loading Existing Configuration Files into Cluster Configuration](../configuring/cluster_config/gfsh_load_from_shared_dir.html)**
-
-    To load an existing cache.xml or gemfire.properties configuration file into a new cluster, use the `--load-cluster-configuration-from-dir` parameter when starting up the locator.
-
--   **[Using gfsh to Manage a Remote Cluster Over HTTP or HTTPS](../configuring/cluster_config/gfsh_remote.html)**
-
-    You can connect `gfsh` via HTTP or HTTPS to a remote cluster and manage the cluster using `gfsh` commands.
-
--   **[Deploying Configuration Files without the Cluster Configuration Service](../configuring/running/deploying_config_files.html)**
-
-    You can deploy your Apache Geode configuration files in your system directory structure or in jar files. You determine how you want to deploy your configuration files and set them up accordingly.
-
--   **[Starting Up and Shutting Down Your System](../configuring/running/starting_up_shutting_down.html)**
-
-    Determine the proper startup and shutdown procedures, and write your startup and shutdown scripts.
-
--   **[Running Geode Locator Processes](../configuring/running/running_the_locator.html)**
-
-    The locator is a Geode process that tells new, connecting members where running members are located and provides load balancing for server use.
-
--   **[Running Geode Server Processes](../configuring/running/running_the_cacheserver.html)**
-
-    A Geode server is a process that runs as a long-lived, configurable member of a client/server system.
-
--   **[Managing System Output Files](../configuring/running/managing_output_files.html)**
-
-    Geode output files are optional and can become quite large. Work with your system administrator to determine where to place them to avoid interfering with other system activities.
-
--   **[Firewall Considerations](../configuring/running/firewall_ports_config.html)**
-
-    You can configure and limit port usage for situations that involve firewalls, for example, between client-server or server-server connections.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/configuring/cluster_config/deploying_application_jars.html.md.erb
----------------------------------------------------------------------
diff --git a/configuring/cluster_config/deploying_application_jars.html.md.erb b/configuring/cluster_config/deploying_application_jars.html.md.erb
deleted file mode 100644
index 08eb1d5..0000000
--- a/configuring/cluster_config/deploying_application_jars.html.md.erb
+++ /dev/null
@@ -1,114 +0,0 @@
----
-title:  Deploying Application JARs to Apache Geode Members
----
-
-You can dynamically deploy your application JAR files to specific members or to all members in your distributed system. Geode automatically keeps track of JAR file versions; autoloads the deployed JAR files to the CLASSPATH; and auto-registers any functions that the JAR contains.
-
-To deploy and undeploy application JAR files in Apache Geode, use the `gfsh` `deploy` or `undeploy` command. You can deploy a single JAR or multiple JARs (by either specifying the JAR filenames or by specifying a directory that contains the JAR files), and you can also target the deployment to a member group or multiple member group. For example, after connecting to the distributed system where you want to deploy the JARs, you could type at the `gfsh` prompt:
-
-``` pre
-gfsh> deploy --jar=group1_functions.jar
-```
-
-This command deploys the `group1_functions.jar` file to all members in the distributed system.
-
-To deploy the JAR file to a subset of members, use the `--group` argument. For example:
-
-``` pre
-gfsh> deploy --jar=group1_functions.jar --group=MemberGroup1
-```
-
-In the example it is assumed that you have already defined the member group that you want to use when starting up your members. See [Configuring and Running a Cluster](../chapter_overview.html#concept_lrh_gyq_s4) for more information on how to define member groups and add a member to a group.
-
-To deploy all the JAR files that are located in a specific directory to all members:
-
-``` pre
-gfsh> deploy --dir=libs/group1-libs
-```
-
-You can either provide a JAR file name or a directory of JARs for deployment, but you cannot specify both at once.
-
-To undeploy all previously deployed JAR files throughout the distributed system:
-
-``` pre
-gfsh> undeploy
-```
-
-To undeploy a specific JAR file:
-
-``` pre
-gfsh> undeploy --jar=group1_functions.jar
-```
-
-To target a specific member group when undeploying all JAR files:
-
-``` pre
-gfsh> undeploy --group=MemberGroup1
-```
-
-Only JAR files that have been previously deployed on members in the MemberGroup1 group will be undeployed.
-
-To see a list of all deployed JARs in your distributed system:
-
-``` pre
-gfsh> list deployed
-```
-
-To see a list of all deployed JARs in a specific member group:
-
-``` pre
-gfsh> list deployed --group=MemberGroup1
-```
-
-Sample output:
-
-``` pre
- 
- Member   |     Deployed JAR     |                JAR Location            
---------- | -------------------- | ---------------------------------------------------
-datanode1 | group1_functions.jar | /usr/local/gemfire/deploy/vf.gf#group1_functions.jar#1
-datanode2 | group1_functions.jar | /usr/local/gemfire/deploy/vf.gf#group1_functions.jar#1
-```
-
-For more information on `gfsh` usage, see [gfsh (Geode SHell)](../../tools_modules/gfsh/chapter_overview.html).
-
-## <a id="concept_4436C021FB934EC4A330D27BD026602C__section_D36E345C6E254D27B0F4B0C8711F5E6A" class="no-quick-link"></a>Deployment Location for JAR Files
-
-The system location where JAR files are written on each member is determined by the `deploy-working-dir` Geode property configured for that member. For example, you could have the following configured in the `gemfire.properties` file for your member:
-
-``` pre
-#gemfire.properties
-deploy-working-dir=/usr/local/gemfire/deploy
-```
-
-This deployment location can be local or a shared network resource (such as a mount location) used by multiple members in order to reduce disk space usage. If you use a shared directory, you still need to deploy the JAR file on every member that you want to have access to the application, because deployment updates the CLASSPATH and auto-registers functions.
-
-## About Deploying JAR Files and the Cluster Configuration Service
-
-By default, the cluster configuration service distributes deployed JAR files to all locators in the distributed system. When you start a new server using `gfsh`, the locator supplies configuration files and deployed jar files to the member and writes them to the server's directory.
-
-See [Overview of the Cluster Configuration Service](gfsh_persist.html).
-
-## <a id="concept_4436C021FB934EC4A330D27BD026602C__section_D9219C5EEED64672930200677C2118C9" class="no-quick-link"></a>Versioning of JAR Files
-
-When you deploy JAR files to a distributed system or member group, the JAR file is modified to indicate version information in its name. Each JAR filename is prefixed with `vf.gf#` and contains a version number at the end of the filename. For example, if you deploy `MyClasses.jar` five times, the filename is displayed as `vf.gf#MyClasses.jar#5` when you list all deployed jars.
-
-When you deploy a new JAR file, the member receiving the deployment checks whether the JAR file is a duplicate, either because the JAR file has already been deployed on that member or because the JAR file has already been deployed to a shared deployment working directory that other members are also using. If another member has already deployed this JAR file to the shared directory (determined by doing a byte-for-byte compare to the latest version in its directory), the member receiving the latest deployment does not write the file to disk. Instead, the member updates the ClassPathLoader to use the already deployed JAR file. If a newer version of the JAR file is detected on disk and is already in use, the deployment is canceled.
-
-When a member begins using a JAR file, the member obtains a shared lock on the file. If the member receives a newer version by deployment, the member releases the shared lock and tries to delete the existing JAR file in favor of the newer version. If no other member has a shared lock on the existing JAR, the existing, older version JAR is deleted.
-
-## <a id="concept_4436C021FB934EC4A330D27BD026602C__section_F8AC59EEC8C5434FBC6F38A12A7371CE" class="no-quick-link"></a>Automatic Class Path Loading
-
-When a cache is started, the new cache requests that the latest versions of each JAR file in the current working directory be added to the ClassPathLoader. If a JAR file has already been deployed to the ClassPathLoader, the ClassPathLoader updates its loaded version if a newer version is found; otherwise, there is no change. If detected, older versions of the JAR files are deleted if no other member has a shared lock on them.
-
-Undeploying a JAR file does not automatically unload the classes that were loaded during deployment. You need to restart your members to unload those classes.
-
-When a cache is closed it requests that all currently deployed JAR files be removed from the ClassPathLoader.
-
-If you are using a shared deployment working directory, all members sharing the directory should belong to the same member group. Upon restart, all members that share the same deployment working directory will deploy and autoload their CLASSPATH with any JARs found in the current working directory. This means that some members may load the JARs even though they are not part of the member group that received the original deployment.
-
-## <a id="concept_4436C021FB934EC4A330D27BD026602C__section_C1ECA5A66C27403A9A18D0E04EFCC66D" class="no-quick-link"></a>Automatic Function Registration
-
-When you deploy a JAR file that contains a function (in other words, contains a class that implements the Function interface), the function is automatically registered through the `FunctionService.registerFunction` method. If another JAR file is deployed (either with the same JAR filename or another filename) with the same function, the new implementation of the function is registered, overwriting the old one. If a JAR file is undeployed, any functions that were auto-registered at the time of deployment are unregistered. Because deploying a JAR file that has the same name multiple times results in the JAR being un-deployed and re-deployed, functions in the JAR are unregistered and re-registered each time this occurs. If a function with the same ID is registered from multiple differently named JAR files, the function is unregistered if any of those JAR files are re-deployed or un-deployed.
-
-During `cache.xml` load, the parameters for any declarables are saved. If functions found in a JAR file are also declarable, and have the same class name as the declarables whose parameters were saved after loading cache.xml, then function instances are created using those Parameters and are also registered. Therefore, if the same function is declared multiple times in the `cache.xml` with different sets of parameters, when the JAR is deployed a function is instantiated for each set of parameters. If any functions are registered using parameters from a `cache.xml` load, the default, no-argument function is not registered.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/configuring/cluster_config/export-import.html.md.erb
----------------------------------------------------------------------
diff --git a/configuring/cluster_config/export-import.html.md.erb b/configuring/cluster_config/export-import.html.md.erb
deleted file mode 100644
index e730c5b..0000000
--- a/configuring/cluster_config/export-import.html.md.erb
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title:  Exporting and Importing Cluster Configurations
----
-
-The cluster configuration service exports and imports configurations created using `gfsh` for an entire Apache Geode cluster.
-
-The cluster configuration service saves the cluster configuration as you create a regions, disk-stores and other objects using `gfsh` commands. You can export this configuration as well as any jar files that contain application files to a zip file and then import this configuration to create a new cluster.
-
-## Exporting a Cluster Configuration
-
-You issue the `gfsh` `export cluster-configuration` command to save the configuration data for you cluster in a zip file. This zip file contains subdirectories for cluster-level configurations and a directory for each group specified in the cluster. The contents of these directories are described in [Cluster Configuration Files and Troubleshooting](gfsh_config_troubleshooting.html#concept_ylt_2cb_y4).
-
-To export a cluster configuration, run the `gfsh` `export cluster-configuration` command while connected to a Geode cluster. For example:
-
-``` pre
-export cluster-configuration --zip-file-name=myClusterConfig.zip --dir=/home/username/configs
-```
-
-See [export cluster-configuration](../../tools_modules/gfsh/command-pages/export.html#topic_mdv_jgz_ck).
-
-**Note:**
-`gfsh` only saves cluster configuration values for configurations specified using `gfsh`. Configurations created by the management API are not saved with the cluster configurations.
-
-## Importing a Cluster Configuration
-
-You can import a cluster configuration to a running locator. After importing the configuration, any servers you start receive this cluster configuration.
-
-To import a cluster configuration, start one or more locators and then run the `gfsh` `import cluster-configuration` command. For example:
-
-``` pre
-import cluster-configuration --zip-file-name=/home/username/configs/myClusterConfig.zip
-```
-
-See [import cluster-configuration](../../tools_modules/gfsh/command-pages/import.html#topic_vnv_grz_ck).
-
-**Note:**
-You cannot import a cluster configuration to a cluster where cache servers are already running.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/configuring/cluster_config/gfsh_config_troubleshooting.html.md.erb
----------------------------------------------------------------------
diff --git a/configuring/cluster_config/gfsh_config_troubleshooting.html.md.erb b/configuring/cluster_config/gfsh_config_troubleshooting.html.md.erb
deleted file mode 100644
index 51f89b0..0000000
--- a/configuring/cluster_config/gfsh_config_troubleshooting.html.md.erb
+++ /dev/null
@@ -1,58 +0,0 @@
----
-title:  Cluster Configuration Files and Troubleshooting
----
-
-When you use the cluster configuration service in Geode, you can examine the generated configuration files in the `cluster_config` directory on the locator. `gfsh` saves configuration files at the cluster-level and at the individual group-level.
-
-The following directories and configuration files are available on the locator running the cluster configuration service:
-
-**Cluster-level configuration**  
-For configurations that apply to all members of a cluster, the locator creates a `cluster` subdirectory within the `cluster_config` directory (or in the cluster configuration directory when starting up the locator with the `--cluster-config-dir=value` parameter) specified All servers receive this configuration when they are started using `gfsh`. This directory contains:
-
--   `cluster.xml` -- A Geode `cache.xml` file containing configuration common to all members
--   `cluster.properties` -- a Geode ` gemfire.properties` file containing properties common to all members
--   Jar files that are intended for deployment to all members
-
-<!-- -->
-
-**Group-level configuration**  
-When you specify the `--group` parameter in a `gfsh` command, (for example, `start server` or `create region`) the locator writes the configurations for each group in a subdirectory with the same name as the group. When you start a server that specifies one or more group names, the server receives both the cluster-level configurations and the configurations from all groups specified. This subdirectory contains:
-
--   `<group-name>.xml` -- A Geode `cache.xml` file containing configurations common to all members of the group
--   `<group-name>.properties` -- A Geode `gemfire.properties` file containing properties common to all members of the group
--   Jar files that are intended for deployment to all members of the group
-
-<img src="../../images_svg/cluster-group-config.svg" id="concept_ylt_2cb_y4__image_bs1_mcb_y4" class="image" />
-
-You can export a zip file that contains all artifacts of a cluster configuration. The zip file contains all of the files in the `cluster_config` (or otherwise specified) subdirectory of a locator. You can import this configuration to a new cluster. See [Exporting and Importing Cluster Configurations](export-import.html#concept_wft_dkq_34).
-
-## Individual Configuration Files and Cluster Configuration Files
-
-Geode applies the cluster-wide configuration files first and then group-level configurations next. If a member has its own configuration files defined (cache.xml and gemfire.properties files), those configurations are applied last. Whenever possible, use the member group-level configuration files in the cluster-configuration service to apply non-cluster-wide configurations on individual members.
-
-## Troubleshooting Tips
-
--   When you start a locator using `gfsh`, you should see the following message:
-
-    ``` pre
-    Cluster configuration service is up and running.
-    ```
-
-    If you do not see this message, there may be a problem with the cluster configuration service. Use the `status cluster-configuration-service` command to check the status of the cluster configuration.
-
-    -   If the command returns RUNNING, the cluster configuration is running normally.
-    -   If the command returns WAITING, run the `status locator` command. The output of this command returns the cause of the WAITING status.
--   If a server start fails with the following exception: `ClusterConfigurationNotAvailableException`, the cluster configuration service may not be in the RUNNING state. Because the server requests the cluster configuration from the locator, which is not available, the `start server` command fails.
--   You can determine what configurations a server received from a locator by examining the server's log file. See [Logging](../../managing/logging/logging.html#concept_30DB86B12B454E168B80BB5A71268865).
--   If a `start server` command specifies a cache.xml file that conflicts with the existing cluster configuration, the server startup may fail.
--   If a `gfsh` command fails because the cluster configuration cannot be saved, the following message displays:
-
-    ``` pre
-    Failed to persist the configuration changes due to this command, 
-    Revert the command to maintain consistency. Please use "status cluster-config-service" 
-    to determine whether Cluster configuration service is RUNNING."
-    ```
-
--   There are some types of configurations that cannot be made using `gfsh`. See [gfsh Limitations](gfsh_persist.html#concept_r22_hyw_bl__section_bn3_23p_y4).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/configuring/cluster_config/gfsh_load_from_shared_dir.html.md.erb
----------------------------------------------------------------------
diff --git a/configuring/cluster_config/gfsh_load_from_shared_dir.html.md.erb b/configuring/cluster_config/gfsh_load_from_shared_dir.html.md.erb
deleted file mode 100644
index b9e9a5d..0000000
--- a/configuring/cluster_config/gfsh_load_from_shared_dir.html.md.erb
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title:  Loading Existing Configuration Files into Cluster Configuration
----
-
-To load an existing cache.xml or gemfire.properties configuration file into a new cluster, use the `--load-cluster-configuration-from-dir` parameter when starting up the locator.
-
-You can use this technique to migrate a single server's configuration into the cluster configuration service. To load an existing cache.xml file or cluster configuration into a cluster, perform the following steps:
-
-1.  Make sure the locator is not currently running.
-2.  Within the locator's working directory, create a `cluster_config/cluster` directory if the directory does not already exist.
-3.  Copy the desired configuration files (cache.xml or gemfire.properties, or both) into the `cluster_config/cluster` directory.
-4.  Rename the configuration files as follows:
-    -   Rename `cache.xml` to `cluster.xml`
-    -   Rename `gemfire.properties` to `cluster.properties`
-
-5.  Start the locator in `gfsh` as follows:
-
-    ``` pre
-    gfsh>start locator --name=<locator_name> --enable-cluster-configuration=true --load-cluster-configuration-from-dir=true
-    ```
-
-    After successful startup, the locator should report that the "Cluster configuration service is up and running." Any servers that join this cluster and have `--use-cluster-configuration` set to true will pick up these configuration files.
-
-**Note:**
-If you make any manual modifications to the cluster.xml or cluster.properties (or group\_name.xml or group\_name.properties) files, you must stop the locator and then restart the locator using the `--load-cluster-configuration-from-dir` parameter. Direct file modifications are not picked up iby the cluster configuration service without a locator restart.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/configuring/cluster_config/gfsh_persist.html.md.erb
----------------------------------------------------------------------
diff --git a/configuring/cluster_config/gfsh_persist.html.md.erb b/configuring/cluster_config/gfsh_persist.html.md.erb
deleted file mode 100644
index 85be33c..0000000
--- a/configuring/cluster_config/gfsh_persist.html.md.erb
+++ /dev/null
@@ -1,108 +0,0 @@
----
-title:  Overview of the Cluster Configuration Service
----
-
-The Apache Geode cluster configuration service persists cluster configurations created by `gfsh` commands to the locators in a cluster and distributes the configurations to members of the cluster.
-
-## Why Use the Cluster Configuration Service
-
-We highly recommend that you use the `gfsh` command line and the cluster configuration service as the primary mechanism to manage your distributed system configuration. Using a common cluster configuration reduces the amount of time you spend configuring individual members and enforces consistent configurations when bringing up new members in your cluster. You no longer need to reconfigure each new member that you add to the cluster. You no longer need to worry about validating your cache.xml file. It also becomes easier to propagate configuration changes across your cluster and deploy your configuration changes to different environments.
-
-You can use the cluster configuration service to:
-
--   Save the configuration for an entire Apache Geode cluster.
--   Restart members using a previously-saved configuration.
--   Export a configuration from a development environment and migrate that configuration to create a testing or production system.
--   Start additional servers without having to configure each server separately.
--   Configure some servers to host certain regions and other servers to host different regions, and configure all servers to host a set of common regions.
-
-## Using the Cluster Configuration Service
-
-To use the cluster configuration service in Geode, you must use dedicated, standalone locators in your deployment. You cannot use the cluster configuration service with co-located locators (locators running in another process such as a server) or in multicast environments.
-
-The standalone locators distribute configuration to all locators in a cluster. Every locator in the cluster with `--enable-cluster-configuration` set to true keeps a record of all cluster-level and group-level configuration settings.
-
-**Note:**
-The default behavior for `gfsh` is to create and save cluster configurations. You can disable the cluster configuration service by using the `--enable-cluster-configuration=false` option when starting locators.
-
-Subsequently, any servers that you start with `gfsh` that have `--use-cluster-configuration` set to `true` will pick up the cluster configuration from the locator as well as any appropriate group-level configurations (for member groups they belong to). To disable the cluster configuration service on a server, you must start the server with the `--use-cluster-configuration` parameter set to `false`. By default, the parameter is set to true.
-
-You can also load existing configuration files into the cluster configuration service by starting up a standalone locator with the parameter `--load-cluster-configuration-from-dir` set to true. See [Loading Existing Configuration Files into Cluster Configuration](gfsh_load_from_shared_dir.html).
-
-## How the Cluster Configuration Service Works
-
-When you use `gfsh` commands to create Apache Geode regions, disk-stores, and other objects, the cluster configuration service saves the configurations on each locator in the cluster (also called a Geode distributed system). If you specify a group when issuing these commands, a separate configuration is saved containing only configurations that apply to the group.
-
-When you use `gfsh` to start new Apache Geode servers, the locator distributes the persisted configurations to the new server. If you specify a group when starting the server, the server receives the group-level configuration in addition to the cluster-level configuration. Group-level configurations are applied after cluster-wide configurations; therefore you can use group-level to override cluster-level settings.
-
-<img src="../../images_svg/cluster_config_overview.svg" id="concept_r22_hyw_bl__image_jjc_vhb_y4" class="image" />
-
-## gfsh Commands that Create Cluster Configurations
-
-The following `gfsh` commands cause the configuration to be written to all locators in the cluster (the locators write the configuration to disk):
-
--   `configure pdx`\*
--   `create region`
--   `alter region`
--   `alter runtime`
--   `destroy region`
--   `create index`
--   `destroy index`
--   `create disk-store`
--   `destroy disk-store`
--   `create async-event-queue`
--   `deploy jar`
--   `undeploy jar`
-
-**\*** Note that the `configure pdx` command must be executed *before* starting your data members. This command does not affect any currently running members in the system. Data members (with cluster configuration enabled) that are started after running this command will pick up the new PDX configuration.
-
-The following gateway-related commands use the cluster configuration service, and their configuration is saved by locators:
-
--   `create gateway-sender`
--   `create gateway-receiver`
-
-## <a id="concept_r22_hyw_bl__section_bn3_23p_y4" class="no-quick-link"></a>gfsh Limitations
-
-There are some configurations that you cannot create using `gfsh`, and that you must configure using cache.xml or the API:
-
--   Client cache configuration
--   You cannot specify parameters and values for Java classes for the following objects:
-    -   `function`
-    -   `custom-load-probe`
-    -   `cache-listener`
-    -   `cache-loader`
-    -   `cache-writer`
-    -   `compressor`
-    -   `serializer`
-    -   `instantiantor`
-    -   `pdx-serializer`
-    
-        **Note:**
-        The `configure pdx` command always specifies the `org.apache.geode.pdx.ReflectionBasedAutoSerializer` class. You cannot specify a custom PDX serializer in gfsh.
-
-    -   `custom-expiry`
-    -   `initializer`
-    -   `declarable`
-    -   `lru-heap-percentage`
-    -   `lru-memory-size`
-    -   `partition-resolver`
-    -   `partition-listener`
-    -   `transaction-listener`
-    -   `transaction-writer`
--   Adding or removing a TransactionListener
--   Adding JNDI bindings
--   Deleting an AsyncEventQueue
-
-In addition, there are some limitations on configuring gateways using `gfsh`.You must use cache.xml or the Java APIs to configure the following:
-
--   Configuring a GatewayConflictResolver
--   You cannot specify parameters and values for Java classes for the following:
-    -   `gateway-listener`
-    -   `gateway-conflict-resolver`
-    -   `gateway-event-filter`
-    -   `gateway-transport-filter`
-    -   `gateway-event-substitution-filter`
-
-## <a id="concept_r22_hyw_bl__section_fh1_c3p_y4" class="no-quick-link"></a>Disabling the Cluster Configuration Service
-
-If you do not want to use the cluster configuration service, start up your locator with the `--enable-cluster-configuration` parameter set to false or do not use standalone locators. You will then need to configure the cache (via cache.xml or API) separately on all your distributed system members.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/configuring/cluster_config/gfsh_remote.html.md.erb
----------------------------------------------------------------------
diff --git a/configuring/cluster_config/gfsh_remote.html.md.erb b/configuring/cluster_config/gfsh_remote.html.md.erb
deleted file mode 100644
index 9132e44..0000000
--- a/configuring/cluster_config/gfsh_remote.html.md.erb
+++ /dev/null
@@ -1,61 +0,0 @@
----
-title:  Using gfsh to Manage a Remote Cluster Over HTTP or HTTPS
----
-
-You can connect `gfsh` via HTTP or HTTPS to a remote cluster and manage the cluster using `gfsh` commands.
-
-To connect `gfsh` using the HTTP protocol to a remote GemFire cluster:
-
-1.  Launch `gfsh`. See [Starting gfsh](../../tools_modules/gfsh/starting_gfsh.html#concept_DB959734350B488BBFF91A120890FE61).
-2.  When starting the remote cluster on the remote host, you can optionally specify `--http-bind-address` and `--http-service-port` as GemFire properties when starting up your JMX manager (server or locator). These properties can be then used in the URL used when connecting from your local system to the HTTP service in the remote cluster. For example:
-
-    ``` pre
-    gfsh>start server --name=server1 --J=-Dgemfire.jmx-manager=true \
-    --J=-Dgemfire.jmx-manager-start=true --J=-Dgemfire.http-service-port=8080 \
-    --J=-Dgemfire.http-service-bind-address=myremotecluster.example.com
-    ```
-
-    This command must be executed directly on the host machine that will ultimately act as the remote GemFire server that hosts the HTTP service for remote administration. (You cannot launch a GemFire server remotely.)
-
-3.  On your local system, run the `gfsh` `connect` command to connect to the remote system. Include the `--use-http` and `--url` parameters. For example:
-
-    ``` pre
-    gfsh>connect --use-http=true --url="http://myremotecluster.example.com:8080/gemfire/v1"
-
-    Successfully connected to: GemFire Manager's HTTP service @ http://myremotecluster.example.com:8080/gemfire/v1
-    ```
-
-    See [connect](../../tools_modules/gfsh/command-pages/connect.html).
-
-    `gfsh` is now connected to the remote system. Most `gfsh` commands will now execute on the remote system; however, there are exceptions. The following commands are executed on the local cluster:
-      -   `alter disk-store`
-      -   `compact offline-disk-store`
-      -   `describe offline-disk-store`
-      -   `help`
-      -   `hint`
-      -   `sh` (for executing OS commands)
-      -   `sleep`
-      -   `start jconsole` (however, you can connect JConsole to a remote cluster when gfsh is connected to the cluster via JMX)
-      -   `start jvisualvm`
-      -   `start locator`
-      -   `start server`
-      -   `start vsd`
-      -   `status locator``*`
-      -   `status server``*`
-      -   `stop locator``*`
-      -   `stop server``*`
-      -   `run` (for executing gfsh scripts)
-      -   `validate disk-store`
-      -   `version`
-
-    `*`You can stop and obtain the status of *remote locators and servers* when `gfsh` is connected to the cluster via JMX or HTTP/S by using the `--name` option for these `stop`/`status` commands. If you are using the `--pid` or `--dir` option for these commands, then the` stop`/`status` commands are executed only locally.
-
-To configure SSL for the remote connection (HTTPS), enable SSL for the `http` component
-in <span class="ph filepath">gemfire.properties</span> or <span class="ph
-filepath">gfsecurity-properties</span> or upon server startup. See
-[SSL](../../managing/security/ssl_overview.html) for details on configuring SSL parameters. These
-SSL parameters also apply to all HTTP services hosted on the configured JMX Manager, which can
-include the following:
-
--   Developer REST API service
--   Pulse monitoring tool

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/configuring/cluster_config/persisting_configurations.html.md.erb
----------------------------------------------------------------------
diff --git a/configuring/cluster_config/persisting_configurations.html.md.erb b/configuring/cluster_config/persisting_configurations.html.md.erb
deleted file mode 100644
index e18bb30..0000000
--- a/configuring/cluster_config/persisting_configurations.html.md.erb
+++ /dev/null
@@ -1,320 +0,0 @@
----
-title:  Tutorial\u2014Creating and Using a Cluster Configuration
----
-
-A short walk-through that uses a single computer to demonstrate how to use `gfsh` to create a cluster configuration for a Geode cluster.
-
-The `gfsh` command-line tool allows you to configure and start a Geode cluster. The cluster configuration service uses Apache Geode locators to store the configuration at the group and cluster levels and serves these configurations to new members as they are started. The locators store the configurations in a hidden region that is available to all locators and also write the configuration data to disk as XML files. Configuration data is updated as `gfsh` commands are executed.
-
-This section provides a walk-through example of configuring a simple Apache Geode cluster and then re-using that configuration in a new context.
-
-1.  Create a working directory (For example:`/home/username/my_gemfire`) and switch to the new directory. This directory will contain the configurations for your cluster.
-
-2.  Start the `gfsh` command-line tool. For example:
-
-    ``` pre
-    $ gfsh
-    ```
-
-    The `gfsh` command prompt displays.
-
-    ``` pre
-        _________________________     __
-       / _____/ ______/ ______/ /____/ /
-      / /  __/ /___  /_____  / _____  /
-     / /__/ / ____/  _____/ / /    / /
-    /______/_/      /______/_/    /_/    1.0.0
-
-    Monitor and Manage Apache Geode
-    gfsh>
-
-    ```
-
-3.  Start a locator using the command in the following example:
-
-    ``` pre
-    gfsh>start locator --name=locator1
-    Starting a GemFire Locator in /Users/username/my_gemfire/locator1...
-    .............................
-    Locator in /Users/username/my_gemfire/locator1 on 192.0.2.0[10334] as locator1 is currently online.
-    Process ID: 5203
-    Uptime: 15 seconds
-    GemFire Version: 8.1.0
-    Java Version: 1.7.0_71
-    Log File: /Users/username/my_gemfire/locator1/locator1.log
-    JVM Arguments: -Dgemfire.enable-cluster-configuration=true
-    -Dgemfire.load-cluster-configuration-from-dir=false
-    -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true
-    -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
-    Class-Path: /Users/username/Pivotal_GemFire_810_b50582_Linux/lib/gemfire.jar
-    :/Users/username/Pivotal_GemFire_810_b50582_Linux/lib/locator-dependencies.jar
-
-    Successfully connected to: [host=192.0.2.0, port=1099]
-
-    Cluster configuration service is up and running.
-    ```
-
-    Note that `gfsh` responds with a message indicating that the cluster configuration service is up and running. If you see a message indicating a problem, review the locator log file for possible errors. The path to the log file is displayed in the output from `gfsh`.
-
-4.  Start Apache Geode servers using the commands in the following example:
-
-    ``` pre
-    gfsh>start server --name=server1 --group=group1
-    Starting a GemFire Server in /Users/username/my_gemfire/server1...
-    .....
-    Server in /Users/username/my_gemfire/server1 on 192.0.2.0[40404] as server1 is currently online.
-    Process ID: 5627
-    Uptime: 2 seconds
-    GemFire Version: 8.1.0
-    Java Version: 1.7.0_71
-    Log File: /Users/username/my_gemfire/server1/server1.log
-    JVM Arguments: -Dgemfire.default.locators=192.0.2.0[10334] -Dgemfire.groups=group1
-    -Dgemfire.use-cluster-configuration=true -XX:OnOutOfMemoryError=kill -KILL %p
-    -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true
-    -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
-    Class-Path: /Users/username/Pivotal_GemFire_810_b50582_Linux/lib/gemfire.jar
-    :/Users/username/Pivotal_GemFire_810_b50582_Linux/lib/server-dependencies.jar
-
-    gfsh>start server --name=server2 --group=group1 --server-port=40405
-    Starting a GemFire Server in /Users/username/my_gemfire/server2...
-    .....
-    Server in /Users/username/my_gemfire/server2 on 192.0.2.0[40405] as server2 is currently online.
-    Process ID: 5634
-    Uptime: 2 seconds
-    GemFire Version: 8.1.0
-    Java Version: 1.7.0_71
-    Log File: /Users/username/my_gemfire/server2/server2.log
-    JVM Arguments: -Dgemfire.default.locators=192.0.2.0[10334] -Dgemfire.groups=group1
-    -Dgemfire.use-cluster-configuration=true -XX:OnOutOfMemoryError=kill -KILL %p
-    -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true
-    -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
-    Class-Path: /Users/username/Pivotal_GemFire_810_b50582_Linux/lib/gemfire.jar
-    :/Users/username/Pivotal_GemFire_810_b50582_Linux/lib/server-dependencies.jar
-
-    gfsh>start server --name=server3 --server-port=40406
-    Starting a GemFire Server in /Users/username/my_gemfire/server3...
-    .....
-    Server in /Users/username/my_gemfire/server3 on 192.0.2.0[40406] as server3 is currently online.
-    Process ID: 5637
-    Uptime: 2 seconds
-    GemFire Version: 8.1.0
-    Java Version: 1.7.0_71
-    Log File: /Users/username/my_gemfire/server3/server3.log
-    JVM Arguments: -Dgemfire.default.locators=192.0.2.0[10334]
-    -Dgemfire.use-cluster-configuration=true -XX:OnOutOfMemoryError=kill -KILL %p
-    -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true
-    -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
-    Class-Path: /Users/username/Pivotal_GemFire_810_b50582_Linux/lib/gemfire.jar
-    :/Users/username/Pivotal_GemFire_810_b50582_Linux/lib/server-dependencies.jar
-    ```
-
-    Note that the `gfsh` commands you used to start `server1` and `server2` specify a group named `group1` while the command for `server3` did not specify a group name.
-
-5.  Create some regions using the commands in the following example:
-
-    ``` pre
-    gfsh>create region --name=region1 --group=group1 --type=REPLICATE
-    Member  | Status
-    ------- | --------------------------------------
-    server2 | Region "/region1" created on "server2"
-    server1 | Region "/region1" created on "server1"
-
-    gfsh>create region --name=region2 --type=REPLICATE
-    Member  | Status
-    ------- | --------------------------------------
-    server1 | Region "/region2" created on "server1"
-    server2 | Region "/region2" created on "server2"
-    server3 | Region "/region2" created on "server3"
-    ```
-
-    Note that `region1` is created on all cache servers that specified the group named `group1` when starting the cache server (`server1` and `server2`, in this example). `region2` is created on all members because no group was specified.
-
-6.  Deploy jar files. Use the `gfsh deploy` command to deploy application jar files to all members or to a specified group of members. The following example deploys the `mail.jar` and `mx4j.jar` files from the distribution. (Note: This is only an example, you do not need to deploy these files to use the Cluster Configuration Service. Alternately, you can use any two jar files for this demonstration.)
-
-    ``` pre
-    gfsh>deploy --group=group1 --jar=${SYS_GEMFIRE_DIR}/lib/mail.jar
-    Post substitution: deploy --group=group1 --jar=/Users/username/Pivotal_GemFire_810_b50582_Linux/lib/mail.jar
-    Member  | Deployed JAR | Deployed JAR Location
-    ------- | ------------ | -------------------------------------------------
-    server1 | mail.jar     | /Users/username/my_gemfire/server1/vf.gf#mail.jar#1
-    server2 | mail.jar     | /Users/username/my_gemfire/server2/vf.gf#mail.jar#1
-
-    gfsh>deploy --jar=${SYS_GEMFIRE_DIR}/lib/mx4j.jar
-    Post substitution: deploy --jar=/Users/username/Pivotal_GemFire_810_b50582_Linux/lib/mx4j.jar
-    Member  | Deployed JAR | Deployed JAR Location
-    ------- | ------------ | -------------------------------------------------
-    server1 | mx4j.jar     | /Users/username/my_gemfire/server1/vf.gf#mx4j.jar#1
-    server2 | mx4j.jar     | /Users/username/my_gemfire/server2/vf.gf#mx4j.jar#1
-    server3 | mx4j.jar     | /Users/username/my_gemfire/server3/vf.gf#mx4j.jar#1
-    ```
-
-    Note that the `mail.jar` file was deployed only to the members of `group1` and the `mx4j.jar` was deployed to all members.
-
-7.  Export the cluster configuration.
-    You can use the `gfsh export cluster-configuration` command to create a zip file that contains the cluster's persisted configuration. The zip file contains a copy of the contents of the `cluster_config` directory. For example:
-
-    ``` pre
-    gfsh>export cluster-configuration --zip-file-name=myClusterConfig.zip --dir=/Users/username
-    ```
-
-    Apache Geode writes the cluster configuration to the specified zip file.
-
-    ``` pre
-    Downloading cluster configuration : /Users/username/myClusterConfig.zip
-    ```
-
-    The remaining steps demonstrate how to use the cluster configuration you just created.
-
-8.  Shut down the cluster using the following commands:
-
-    ``` pre
-    gfsh>shutdown --include-locators=true
-    As a lot of data in memory will be lost, including possibly events in queues, do you
-    really want to shutdown the entire distributed system? (Y/n): Y
-    Shutdown is triggered
-
-    gfsh>
-    No longer connected to 192.0.2.0[1099].
-    gfsh>
-    ```
-
-9.  Exit the `gfsh` command shell:
-
-    ``` pre
-    gfsh>quit
-    Exiting...
-    ```
-
-10. Create a new working directory (for example: `new_gemfire`) and switch to the new directory.
-11. Start the `gfsh` command shell:
-
-    ``` pre
-    $ gfsh
-    ```
-
-12. Start a new locator. For example:
-
-    ``` pre
-    gfsh>start locator --name=locator2 --port=10335
-    Starting a GemFire Locator in /Users/username/new_gemfire/locator2...
-    .............................
-    Locator in /Users/username/new_gemfire/locator2 on 192.0.2.0[10335] as locator2 is currently online.
-    Process ID: 5749
-    Uptime: 15 seconds
-    GemFire Version: 8.1.0
-    Java Version: 1.7.0_71
-    Log File: /Users/username/new_gemfire/locator2/locator2.log
-    JVM Arguments: -Dgemfire.enable-cluster-configuration=true
-    -Dgemfire.load-cluster-configuration-from-dir=false
-    -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true
-    -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
-    Class-Path: /Users/username/Pivotal_GemFire_810_b50582_Linux/lib/gemfire.jar
-    :/Users/username/Pivotal_GemFire_810_b50582_Linux/lib/locator-dependencies.jar
-
-    Successfully connected to: [host=192.0.2.0, port=1099]
-
-    Cluster configuration service is up and running.
-    ```
-
-13. Import the cluster configuration using the `import cluster-configuration` command. For example:
-
-    ``` pre
-    gfsh>import cluster-configuration --zip-file-name=/Users/username/myClusterConfig.zip
-    Cluster configuration successfully imported
-    ```
-
-    Note that the `locator2` directory now contains a `cluster_config` subdirectory.
-
-14. Start a server that does not reference a group:
-
-    ``` pre
-    gfsh>start server --name=server4 --server-port=40414
-    Starting a GemFire Server in /Users/username/new_gemfire/server4...
-    ........
-    Server in /Users/username/new_gemfire/server4 on 192.0.2.0[40414] as server4 is currently online.
-    Process ID: 5813
-    Uptime: 4 seconds
-    GemFire Version: 8.1.0
-    Java Version: 1.7.0_71
-    Log File: /Users/username/new_gemfire/server4/server4.log
-    JVM Arguments: -Dgemfire.default.locators=192.0.2.0[10335]
-    -Dgemfire.use-cluster-configuration=true -XX:OnOutOfMemoryError=kill -KILL %p
-    -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true
-    -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
-    Class-Path: /Users/username/Pivotal_GemFire_810_b50582_Linux/lib/gemfire.jar
-    :/Users/username/Pivotal_GemFire_810_b50582_Linux/lib/server-dependencies.jar
-    ```
-
-15. Start another server that references `group1`:
-
-    ``` pre
-    gfsh>start server --name=server5 --group=group1 --server-port=40415
-    Starting a GemFire Server in /Users/username/new_gemfire/server5...
-    .....
-    Server in /Users/username/new_gemfire/server2 on 192.0.2.0[40415] as server5 is currently online.
-    Process ID: 5954
-    Uptime: 2 seconds
-    GemFire Version: 8.1.0
-    Java Version: 1.7.0_71
-    Log File: /Users/username/new_gemfire/server5/server5.log
-    JVM Arguments: -Dgemfire.default.locators=192.0.2.0[10335] -Dgemfire.groups=group1
-    -Dgemfire.use-cluster-configuration=true -XX:OnOutOfMemoryError=kill -KILL %p
-    -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true
-    -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
-    Class-Path: /Users/username/Pivotal_GemFire_810_b50582_Linux/lib/gemfire.jar
-    :/Users/username/Pivotal_GemFire_810_b50582_Linux/lib/server-dependencies.jar
-    ```
-
-16. Use the `list regions` command to display the configured regions. Note that region1 and region2, which were configured in the original cluster level are available.
-
-    ``` pre
-    gfsh>list regions
-    List of regions
-    ---------------
-    region1
-    region2
-    ```
-
-17. Use the `describe region` command to see which members host each region. Note that region1 is hosted only by server5 because server5 was started using the group1 configuration. region2 is hosted on both server4 and server5 because region2 was created without a group specified.
-
-    ``` pre
-    gfsh>describe region --name=region1
-    ..........................................................
-    Name            : region1
-    Data Policy     : replicate
-    Hosting Members : server5
-
-    Non-Default Attributes Shared By Hosting Members
-
-     Type  | Name | Value
-    ------ | ---- | -----
-    Region | size | 0
-
-
-    gfsh>describe region --name=region2
-    ..........................................................
-    Name            : region2
-    Data Policy     : replicate
-    Hosting Members : server5
-                      server4
-
-    Non-Default Attributes Shared By Hosting Members
-
-     Type  | Name | Value
-    ------ | ---- | -----
-    Region | size | 0
-    ```
-
-    This new cluster uses the same configuration as the original system. You can start any number of servers using this cluster configuration. All servers will receive the cluster-level configuration. Servers that specify `group1` also receive the `group1` configuration.
-
-18. Shut down your cluster using the following commands:
-
-    ``` pre
-    gfsh>shutdown --include-locators=true
-    As a lot of data in memory will be lost, including possibly events in queues,
-      do you really want to shutdown the entire distributed system? (Y/n): Y
-    Shutdown is triggered
-
-    gfsh>
-    No longer connected to 192.0.2.0[1099].
-    ```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/configuring/cluster_config/using_member_groups.html.md.erb
----------------------------------------------------------------------
diff --git a/configuring/cluster_config/using_member_groups.html.md.erb b/configuring/cluster_config/using_member_groups.html.md.erb
deleted file mode 100644
index 524d787..0000000
--- a/configuring/cluster_config/using_member_groups.html.md.erb
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title:  Using Member Groups
----
-
-Apache Geode allows you to organize your distributed system members into logical member groups.
-
-The use of member groups in Apache Geode is optional. The benefit of using member groups is the ability to coordinate certain operations on members based on logical group membership. For example, by defining and using member groups you can:
-
--   Alter a subset of configuration properties for a specific member or members. See [alter runtime](../../tools_modules/gfsh/command-pages/alter.html#topic_7E6B7E1B972D4F418CB45354D1089C2B) in `gfsh`.
--   Perform certain disk operations like disk-store compaction across a member group. See [Disk Store Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_1ACC91B493EE446E89EC7DBFBBAE00EA) for a list of commands.
--   Manage specific indexes or regions across all members of a group.
--   Start and stop multi-site (WAN) services such as gateway senders and gateway receivers across a member group.
--   Deploy or undeploy JAR applications on all members in a group.
--   Execute functions on all members of a specific group.
-
-You define group names in the `groups` property of your member's `gemfire.properties` file or upon member startup in `gfsh`.
-
-**Note:**
-Any roles defined in the currently existing `roles` property will now be considered a group. If you wish to add membership roles to your distributed system, you should add them as member groups in the `groups` property. The `roles` property has been deprecated in favor of using the `groups` property.
-
-To add a member to a group, add the name of a member group to the `gemfire.properties` file of the member prior to startup or you can start up a member in `gfsh` and pass in the `--group` argument at startup time.
-
-A single member can belong to more than one group.
-
-Member groups can also be used to organize members from either a client's perspective or from a peer member's perspective. See [Organizing Peers into Logical Member Groups](../../topologies_and_comm/p2p_configuration/configuring_peer_member_groups.html) and [Organizing Servers Into Logical Member Groups](../../topologies_and_comm/cs_configuration/configure_servers_into_logical_groups.html) for more information. On the client side, you can supply the member group name when configuring a client's connection pool. Use the &lt;pool server-group&gt; element in the client's cache.xml.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/configuring/running/change_file_spec.html.md.erb
----------------------------------------------------------------------
diff --git a/configuring/running/change_file_spec.html.md.erb b/configuring/running/change_file_spec.html.md.erb
deleted file mode 100644
index 8edb68b..0000000
--- a/configuring/running/change_file_spec.html.md.erb
+++ /dev/null
@@ -1,40 +0,0 @@
----
-title:  Changing the File Specifications
----
-
-You can change all file specifications in the `gemfire.properties` file and at the command line.
-
-**Note:**
-Geode applications can use the API to pass `java.lang.System properties` to the distributed system connection. This changes file specifications made at the command line and in the `gemfire.properties`. You can verify an application\u2019s property settings in the configuration information logged at application startup. The configuration is listed when the `gemfire.properties` `log-level` is set to `config` or lower.
-
-This invocation of the application, `testApplication.TestApp1`, provides non-default specifications for both the `cache.xml` and `gemfire.properties`:
-
-``` pre
-java -Dgemfire.cache-xml-file=
-/gemfireSamples/examples/dist/cacheRunner/queryPortfolios.xml
--DgemfirePropertyFile=defaultConfigs/gemfire.properties
-testApplication.TestApp1
-```
-
-The gfsh start server command can use the same specifications:
-
-``` pre
-gfsh>start server
--J-Dgemfire.cache-xml-file=/gemfireSamples/examples/dist/cacheRunner/queryPortfolios.xml
--J-DgemfirePropertyFile=defaultConfigs/gemfire.properties
-```
-
-You can also change the specifications for the `cache.xml` file inside the `gemfire.properties` file.
-
-**Note:**
-Specifications in `gemfire.properties` files cannot use environment variables.
-
-Example `gemfire.properties` file with non-default `cache.xml` specification:
-
-``` pre
-#Tue May 09 17:53:54 PDT 2006
-mcast-address=192.0.2.0
-mcast-port=10333
-locators=
-cache-xml-file=/gemfireSamples/examples/dist/cacheRunner/queryPortfolios.xml
-```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/configuring/running/default_file_specs.html.md.erb
----------------------------------------------------------------------
diff --git a/configuring/running/default_file_specs.html.md.erb b/configuring/running/default_file_specs.html.md.erb
deleted file mode 100644
index 37f9ee3..0000000
--- a/configuring/running/default_file_specs.html.md.erb
+++ /dev/null
@@ -1,59 +0,0 @@
----
-title:  Default File Specifications and Search Locations
----
-
-Each file has a default name, a set of file search locations, and a system property you can use to override the defaults.
-
-To use the default specifications, place the file at the top level of its directory or jar file. The system properties are standard file specifications that can have absolute or relative pathnames and filenames.
-
-**Note:**
-If you do not specify an absolute file path and name, the search examines all search locations for the file.
-
-<table>
-<colgroup>
-<col width="33%" />
-<col width="33%" />
-<col width="33%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th>Default File Specification</th>
-<th>Search Locations for Relative File Specifications</th>
-<th>Available Property for File Specification</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td><code class="ph codeph">gemfire.properties</code></td>
-<td><ol>
-<li>current directory</li>
-<li>home directory</li>
-<li>CLASSPATH</li>
-</ol></td>
-<td>As a Java system property, use <code class="ph codeph">gemfirePropertyFile</code></td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">cache.xml</code></td>
-<td><ol>
-<li>current directory</li>
-<li>CLASSPATH</li>
-</ol></td>
-<td>In <code class="ph codeph">gemfire.properties</code>, use the <code class="ph codeph">cache-xml-file</code> property</td>
-</tr>
-</tbody>
-</table>
-
-Examples of valid `gemfirePropertyFile` specifications:
-
--   `/zippy/users/jpearson/gemfiretest/gemfire.properties`
--   `c:\gemfiretest\gemfire.prp`
--   `myGF.properties`
--   `test1/gfprops`
-
-For the `test1/gfprops` specification, if you launch your Geode system member from `/testDir` in a Unix file system, Geode looks for the file in this order until it finds the file or exhausts all locations:
-
-1.  `/testDir/test1/gfprops`
-2.  `<yourHomeDir>/test1/gfprops`
-3.  under every location in your `CLASSPATH` for `test1/gfprops`
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/configuring/running/deploy_config_files_intro.html.md.erb
----------------------------------------------------------------------
diff --git a/configuring/running/deploy_config_files_intro.html.md.erb b/configuring/running/deploy_config_files_intro.html.md.erb
deleted file mode 100644
index 758b25a..0000000
--- a/configuring/running/deploy_config_files_intro.html.md.erb
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title:  Main Steps to Deploying Configuration Files
----
-
-These are the basic steps for deploying configuration files, with related detail in sections that follow.
-
-1.  Determine which configuration files you need for your installation.
-2.  Place the files in your directories or jar files.
-3.  For any file with a non-default name or location, provide the file specification in the system properties file and/or in the member `CLASSPATH.`
-
-## <a id="concept_337B365782E44951B73F33E1E17AB07B__section_53C98F9DB1584E3BABFA315CDF254A92" class="no-quick-link"></a>Geode Configuration Files
-
--   `gemfire.properties`. Contains the settings required by members of a distributed system. These settings include licensing, system member discovery, communication parameters, logging, and statistics. See the [Reference](../../reference/book_intro.html#reference).
--   **`gfsecurity.properties`**. An optional separate file that contains security-related (`security-*`) settings that are otherwise defined in `gemfire.properties`. Placing these member properties into a separate file allows you to restrict user access to those specific settings. See the [Reference](../../reference/book_intro.html#reference).
--   `cache.xml`. Declarative cache configuration file. This file contains XML declarations for cache, region, and region entry configuration. You also use it to configure disk stores, database login credentials, server and remote site location information, and socket information. See [cache.xml](../../reference/topics/chapter_overview_cache_xml.html#cache_xml).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/configuring/running/deploying_config_files.html.md.erb
----------------------------------------------------------------------
diff --git a/configuring/running/deploying_config_files.html.md.erb b/configuring/running/deploying_config_files.html.md.erb
deleted file mode 100644
index 76c036a..0000000
--- a/configuring/running/deploying_config_files.html.md.erb
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title:  Deploying Configuration Files without the Cluster Configuration Service
----
-
-You can deploy your Apache Geode configuration files in your system directory structure or in jar files. You determine how you want to deploy your configuration files and set them up accordingly.
-
-**Note:**
-If you use the cluster configuration service to create and manage your Apache Geode cluster configuration, the procedures described in this section are not needed because Geode automatically manages the distribution of the configuration files and jar files to members of the cluster. See [Overview of the Cluster Configuration Service](../cluster_config/gfsh_persist.html).
-
-You can use the procedures described in this section to distribute configurations that are member-specific, or for situations where you do not want to use the cluster configuration service.
-
--   **[Main Steps to Deploying Configuration Files](../../configuring/running/deploy_config_files_intro.html)**
-
-    These are the basic steps for deploying configuration files, with related detail in sections that follow.
-
--   **[Default File Specifications and Search Locations](../../configuring/running/default_file_specs.html)**
-
-    Each file has a default name, a set of file search locations, and a system property you can use to override the defaults.
-
--   **[Changing the File Specifications](../../configuring/running/change_file_spec.html)**
-
-    You can change all file specifications in the `gemfire.properties` file and at the command line.
-
--   **[Deploying Configuration Files in JAR Files](../../configuring/running/deploying_config_jar_files.html)**
-
-    This section provides a procedure and an example for deploying configuration files in JAR files.
-
-



[10/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/tune_cs_event_messaging.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/tune_cs_event_messaging.svg b/geode-docs/images_svg/tune_cs_event_messaging.svg
new file mode 100644
index 0000000..5af9f53
--- /dev/null
+++ b/geode-docs/images_svg/tune_cs_event_messaging.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="114 214 391 346" width="391pt" height="346pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 09:33Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(253.125 405) scale(138.49842)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" un
 derline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(217.125 324) scale(24.337471)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(253.125 513) scale(108.84048)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(244.125 324) scale(24.337471)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransfor
 m="translate(217.125 342) scale(24.337471)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(244.125 342) scale(24.337471)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient" gradientTransform="translate(217.125 360) scale(24.337471)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient" gradientTransform="translate(244.125 360) scale(24.337471)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient" gradientTransform="translate(217.125 378) scale(24.337471)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient" gradientTransform="translate(244.125 378) scale(24.337471)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient" gradientTransform="translate(217.125 396) scale(24.337471)"/><radialGradient id="Obj_Gradient_c" xl:href="#Gradient" gradientTransform="translate(244.125 396) scale(24.337471)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient" gradientTransform="translate(217.125 486) scale(24.337471)"/><radialGradient 
 id="Obj_Gradient_e" xl:href="#Gradient" gradientTransform="translate(244.125 486) scale(24.337471)"/><radialGradient id="Obj_Gradient_f" xl:href="#Gradient" gradientTransform="translate(217.125 504) scale(24.337471)"/><radialGradient id="Obj_Gradient_10" xl:href="#Gradient" gradientTransform="translate(244.125 504) scale(24.337471)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M 11.7222214 0 L 0 -4.395833 L 0 4.395833 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_11" xl:href=
 "#Gradient" gradientTransform="translate(487.125 405) scale(138.49842)"/><radialGradient id="Obj_Gradient_12" xl:href="#Gradient" gradientTransform="translate(451.125 324) scale(24.337471)"/><radialGradient id="Obj_Gradient_13" xl:href="#Gradient" gradientTransform="translate(487.125 513) scale(108.84048)"/><radialGradient id="Obj_Gradient_14" xl:href="#Gradient" gradientTransform="translate(478.125 324) scale(24.337471)"/><radialGradient id="Obj_Gradient_15" xl:href="#Gradient" gradientTransform="translate(451.125 342) scale(24.337471)"/><radialGradient id="Obj_Gradient_16" xl:href="#Gradient" gradientTransform="translate(478.125 342) scale(24.337471)"/><radialGradient id="Obj_Gradient_17" xl:href="#Gradient" gradientTransform="translate(451.125 360) scale(24.337471)"/><radialGradient id="Obj_Gradient_18" xl:href="#Gradient" gradientTransform="translate(478.125 360) scale(24.337471)"/><radialGradient id="Obj_Gradient_19" xl:href="#Gradient" gradientTransform="translate(451.125 378)
  scale(24.337471)"/><radialGradient id="Obj_Gradient_1a" xl:href="#Gradient" gradientTransform="translate(478.125 378) scale(24.337471)"/><radialGradient id="Obj_Gradient_1b" xl:href="#Gradient" gradientTransform="translate(451.125 486) scale(24.337471)"/><radialGradient id="Obj_Gradient_1c" xl:href="#Gradient" gradientTransform="translate(478.125 486) scale(24.337471)"/><radialGradient id="Obj_Gradient_1d" xl:href="#Gradient" gradientTransform="translate(451.125 504) scale(24.337471)"/><radialGradient id="Obj_Gradient_1e" xl:href="#Gradient" gradientTransform="translate(478.125 504) scale(24.337471)"/><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="non
 e" fill="none" fill-opacity="1"><title>tune-cs-messaging</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id23_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id25_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 133.785 270 L 246.465 270 C 250.14322 270 253.125 272.98178 253.125 276.66 L 253.125 398.34 C 253.125 402.01822 250.14322 405 246.465 405 L 133.785 405 C 130.10678 405 127.125 402.01822 127.125 398.34 L 127.125 276.66 C 127.125 272.98178 130.10678 270 133.785 270 Z" fill="url(#Obj_Gradient)"/><path d="M 133.785 270 L 246.465 270 C 250.14322 270 253.125 272.98178 253.125 276.66 L 253.125 398.34 C 253.125 402.01822 250.14322 405 246.465 405 L 133.785 405 C 130.10678 405 127.125 402.01822 127.125 398.34 L 127.125 276.66 C 127.125 272.98178 130.10678 270 133.785 270 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".7
 2000003"/><text transform="translate(131.125 274)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="0" y="11" textLength="35.34375">Server</tspan></text></g><rect x="190.125" y="306" width="27" height="18" fill="url(#Obj_Gradient_2)"/><rect x="190.125" y="306" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(192.125 309)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">B</tspan></text><g id="id5_Graphic"><path d="M 133.785 441 L 246.465 441 C 250.14322 441 253.125 443.98178 253.125 447.66 L 253.125 506.34 C 253.125 510.01822 250.14322 513 246.465 513 L 133.785 513 C 130.10678 513 127.125 510.01822 127.125 506.34 L 127.125 447.66 C 127.125 443.98178 130.10678 441 133.785 441 Z" fill="url(#Obj_Gradient_3)"/><path d="M 133.785 441 L 246.465 441 C 250.14322 441 253.125 44
 3.98178 253.125 447.66 L 253.125 506.34 C 253.125 510.01822 250.14322 513 246.465 513 L 133.785 513 C 130.10678 513 127.125 510.01822 127.125 506.34 L 127.125 447.66 C 127.125 443.98178 130.10678 441 133.785 441 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(131.125 445)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="0" y="11" textLength="30.679688">Client</tspan></text></g><rect x="217.125" y="306" width="27" height="18" fill="url(#Obj_Gradient_4)"/><rect x="217.125" y="306" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(219.125 309)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.719238" y="10" textLength="5.5615234">3</tspan></text><rect x="190.125" y="324" width="27" height="18" fill="url(#Obj_Gradient_5)"/><rect x="190.12
 5" y="324" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(192.125 327)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">A</tspan></text><rect x="217.125" y="324" width="27" height="18" fill="url(#Obj_Gradient_6)"/><rect x="217.125" y="324" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(219.125 327)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="6.9384766" y="10" textLength="11.123047">12</tspan></text><rect x="190.125" y="342" width="27" height="18" fill="url(#Obj_Gradient_7)"/><rect x="190.125" y="342" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(192.125 345)" fill="black"><tsp
 an font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">A</tspan></text><rect x="217.125" y="342" width="27" height="18" fill="url(#Obj_Gradient_8)"/><rect x="217.125" y="342" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(219.125 345)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.307129" y="10" textLength="5.5615234">1</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="12.131348" y="10" textLength="5.5615234">1</tspan></text><rect x="190.125" y="360" width="27" height="18" fill="url(#Obj_Gradient_9)"/><rect x="190.125" y="360" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(192.125 363)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight=
 "500" fill="black" x="9.165039" y="10" textLength="6.669922">B</tspan></text><rect x="217.125" y="360" width="27" height="18" fill="url(#Obj_Gradient_a)"/><rect x="217.125" y="360" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(219.125 363)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.719238" y="10" textLength="5.5615234">2</tspan></text><rect x="190.125" y="378" width="27" height="18" fill="url(#Obj_Gradient_b)"/><rect x="190.125" y="378" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(192.125 381)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">A</tspan></text><rect x="217.125" y="378" width="27" height="18" fill="url(#Obj_Gradient_c)"/><rect x="217.125" y="378" wid
 th="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(219.125 381)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="6.9384766" y="10" textLength="11.123047">10</tspan></text><rect x="190.125" y="468" width="27" height="18" fill="url(#Obj_Gradient_d)"/><rect x="190.125" y="468" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(192.125 471)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">A</tspan></text><rect x="217.125" y="468" width="27" height="18" fill="url(#Obj_Gradient_e)"/><rect x="217.125" y="468" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(219.125 471)" fill="black"><tspan font-family
 ="Helvetica" font-size="10" font-weight="500" fill="black" x="9.719238" y="10" textLength="5.5615234">9</tspan></text><rect x="190.125" y="486" width="27" height="18" fill="url(#Obj_Gradient_f)"/><rect x="190.125" y="486" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(192.125 489)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">B</tspan></text><rect x="217.125" y="486" width="27" height="18" fill="url(#Obj_Gradient_10)"/><rect x="217.125" y="486" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(219.125 489)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.719238" y="10" textLength="5.5615234">1</tspan></text><line x1="217.125" y1="400.5" x2="217.125" y2="453.552" marker-en
 d="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(221.125 412)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="8.357422" y="9" textLength="61.035645">send message </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="28.119629" y="20" textLength="19.010742">A-10</tspan></text><text transform="translate(167.82713 392) rotate(-90)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="13.613281" y="9" textLength="50.523926">subscription </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="25.111572" y="20" textLength="25.026855">queue</tspan></text><text transform="translate(180.625 293.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="11.106201" y="9" textLength="53.037598">thread    op #</tspan>
 </text><g id="id23_Graphic"><path d="M 367.785 270 L 480.465 270 C 484.14322 270 487.125 272.98178 487.125 276.66 L 487.125 398.34 C 487.125 402.01822 484.14322 405 480.465 405 L 367.785 405 C 364.10678 405 361.125 402.01822 361.125 398.34 L 361.125 276.66 C 361.125 272.98178 364.10678 270 367.785 270 Z" fill="url(#Obj_Gradient_11)"/><path d="M 367.785 270 L 480.465 270 C 484.14322 270 487.125 272.98178 487.125 276.66 L 487.125 398.34 C 487.125 402.01822 484.14322 405 480.465 405 L 367.785 405 C 364.10678 405 361.125 402.01822 361.125 398.34 L 361.125 276.66 C 361.125 272.98178 364.10678 270 367.785 270 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(365.125 274)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="0" y="11" textLength="35.34375">Server</tspan></text></g><rect x="424.125" y="306" width="27" height="18" fill="url(#Obj_Gradient_12)"/><rect x="424.125" y="30
 6" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(426.125 309)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">B</tspan></text><g id="id25_Graphic"><path d="M 367.785 441 L 480.465 441 C 484.14322 441 487.125 443.98178 487.125 447.66 L 487.125 506.34 C 487.125 510.01822 484.14322 513 480.465 513 L 367.785 513 C 364.10678 513 361.125 510.01822 361.125 506.34 L 361.125 447.66 C 361.125 443.98178 364.10678 441 367.785 441 Z" fill="url(#Obj_Gradient_13)"/><path d="M 367.785 441 L 480.465 441 C 484.14322 441 487.125 443.98178 487.125 447.66 L 487.125 506.34 C 487.125 510.01822 484.14322 513 480.465 513 L 367.785 513 C 364.10678 513 361.125 510.01822 361.125 506.34 L 361.125 447.66 C 361.125 443.98178 364.10678 441 367.785 441 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".720000
 03"/><text transform="translate(365.125 445)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="0" y="11" textLength="30.679688">Client</tspan></text></g><rect x="451.125" y="306" width="27" height="18" fill="url(#Obj_Gradient_14)"/><rect x="451.125" y="306" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(453.125 309)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.719238" y="10" textLength="5.5615234">3</tspan></text><rect x="424.125" y="324" width="27" height="18" fill="url(#Obj_Gradient_15)"/><rect x="424.125" y="324" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(426.125 327)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">A
 </tspan></text><rect x="451.125" y="324" width="27" height="18" fill="url(#Obj_Gradient_16)"/><rect x="451.125" y="324" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(453.125 327)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="6.9384766" y="10" textLength="11.123047">12</tspan></text><rect x="424.125" y="342" width="27" height="18" fill="url(#Obj_Gradient_17)"/><rect x="424.125" y="342" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(426.125 345)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">A</tspan></text><rect x="451.125" y="342" width="27" height="18" fill="url(#Obj_Gradient_18)"/><rect x="451.125" y="342" width="27" height="18" stroke="#252525" stroke-linecap="roun
 d" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(453.125 345)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.307129" y="10" textLength="5.5615234">1</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="12.131348" y="10" textLength="5.5615234">1</tspan></text><rect x="424.125" y="360" width="27" height="18" fill="url(#Obj_Gradient_19)"/><rect x="424.125" y="360" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(426.125 363)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">B</tspan></text><rect x="451.125" y="360" width="27" height="18" fill="url(#Obj_Gradient_1a)"/><rect x="451.125" y="360" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/
 ><text transform="translate(453.125 363)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.719238" y="10" textLength="5.5615234">2</tspan></text><rect x="424.125" y="468" width="27" height="18" fill="url(#Obj_Gradient_1b)"/><rect x="424.125" y="468" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(426.125 471)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">A</tspan></text><rect x="451.125" y="468" width="27" height="18" fill="url(#Obj_Gradient_1c)"/><rect x="451.125" y="468" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(453.125 471)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="6.9384766" y="10" textLength="11.123047">10</ts
 pan></text><rect x="424.125" y="486" width="27" height="18" fill="url(#Obj_Gradient_1d)"/><rect x="424.125" y="486" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(426.125 489)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.165039" y="10" textLength="6.669922">B</tspan></text><rect x="451.125" y="486" width="27" height="18" fill="url(#Obj_Gradient_1e)"/><rect x="451.125" y="486" width="27" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(453.125 489)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.719238" y="10" textLength="5.5615234">1</tspan></text><line x1="451.125" y1="387" x2="451.125" y2="453.552" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".
 72000003"/><text transform="translate(401.06117 379.625) rotate(-90)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="13.613281" y="9" textLength="50.523926">subscription </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="25.111572" y="20" textLength="25.026855">queue</tspan></text><text transform="translate(414.625 293.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="11.106201" y="9" textLength="53.037598">thread    op #</tspan></text><line x1="307.125" y1="225" x2="307.125" y2="549" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(152.5 531.5)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="13.494141" y="14" textLength="48.26172">Stage 1</tspan></text><text transform="translate(387.625 531.5)" fill="black"><tspan font-family="Helvetica" font-s
 ize="14" font-weight="500" fill="black" x="13.494141" y="14" textLength="48.26172">Stage 2</tspan></text></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/unbalanced_network_capacity_probs.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/unbalanced_network_capacity_probs.svg b/geode-docs/images_svg/unbalanced_network_capacity_probs.svg
new file mode 100644
index 0000000..c24c082
--- /dev/null
+++ b/geode-docs/images_svg/unbalanced_network_capacity_probs.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="113 275 283 271" width="283pt" height="271pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-06 22:58Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(288 342) scale(67.5)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-p
 osition="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(198 528.75) scale(67.5)"/><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(288 528.75) scale(67.5)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(378 528.75) scale(67.5)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M 8.9444437 0 L 0 -3.3541664 L 0 3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.3
 16406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>unbalanced network</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 222.66 288 L 281.34 288 C 285.01822 288 288 290.98178 288 294.66 L 288 335.34 C 288 339.01822 285.01822 342 281.34 342 L 222.66 342 C 218.98178 342 216 339.01822 216 335.34 L 216 294.66 C 216 290.98178 218.98178 288 222.66 288 Z" fill="url(#Obj_Gradient)"/><path d="M 222.66 288 L 281.34 288 C 285.01822 288 288 290.98178 288 294.66 L 288 335.34 C 288 339.01822 285.01822 342 281.34 342 L 222.
 66 342 C 218.98178 342 216 339.01822 216 335.34 L 216 294.66 C 216 290.98178 218.98178 288 222.66 288 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(220 301)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="18.652344" y="11" textLength="26.695312">app1</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="4.3232422" y="25" textLength="55.353516">(producer)</tspan></text></g><g id="id4_Graphic"><path d="M 132.66 474.75 L 191.34 474.75 C 195.01822 474.75 198 477.73178 198 481.41 L 198 522.09 C 198 525.76822 195.01822 528.75 191.34 528.75 L 132.66 528.75 C 128.98178 528.75 126 525.76822 126 522.09 L 126 481.41 C 126 477.73178 128.98178 474.75 132.66 474.75 Z" fill="url(#Obj_Gradient_2)"/><path d="M 132.66 474.75 L 191.34 474.75 C 195.01822 474.75 198 477.73178 198 481.41 L 198 522.09 C 198 525.76822 195.01822 528.75 191.34 528.75 L 132.6
 6 528.75 C 128.98178 528.75 126 525.76822 126 522.09 L 126 481.41 C 126 477.73178 128.98178 474.75 132.66 474.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(130 494.75)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="18.652344" y="11" textLength="26.695312">app2</tspan></text></g><g id="id5_Graphic"><path d="M 222.66 474.75 L 281.34 474.75 C 285.01822 474.75 288 477.73178 288 481.41 L 288 522.09 C 288 525.76822 285.01822 528.75 281.34 528.75 L 222.66 528.75 C 218.98178 528.75 216 525.76822 216 522.09 L 216 481.41 C 216 477.73178 218.98178 474.75 222.66 474.75 Z" fill="url(#Obj_Gradient_3)"/><path d="M 222.66 474.75 L 281.34 474.75 C 285.01822 474.75 288 477.73178 288 481.41 L 288 522.09 C 288 525.76822 285.01822 528.75 281.34 528.75 L 222.66 528.75 C 218.98178 528.75 216 525.76822 216 522.09 L 216 481.41 C 216 477.73178 218.98178 474.75 222.66 474.75 Z" stroke="#
 252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(220 494.75)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="18.652344" y="11" textLength="26.695312">app3</tspan></text></g><g id="id6_Graphic"><path d="M 312.66 474.75 L 371.34 474.75 C 375.01822 474.75 378 477.73178 378 481.41 L 378 522.09 C 378 525.76822 375.01822 528.75 371.34 528.75 L 312.66 528.75 C 308.98178 528.75 306 525.76822 306 522.09 L 306 481.41 C 306 477.73178 308.98178 474.75 312.66 474.75 Z" fill="url(#Obj_Gradient_4)"/><path d="M 312.66 474.75 L 371.34 474.75 C 375.01822 474.75 378 477.73178 378 481.41 L 378 522.09 C 378 525.76822 375.01822 528.75 371.34 528.75 L 312.66 528.75 C 308.98178 528.75 306 525.76822 306 522.09 L 306 481.41 C 306 477.73178 308.98178 474.75 312.66 474.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(310 494.75)" fill
 ="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="18.652344" y="11" textLength="26.695312">app4</tspan></text></g><rect x="225" y="378" width="54" height="36" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(229 382)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="1.9912109" y="11" textLength="42.017578">network</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="6.330078" y="25" textLength="33.339844">switch</tspan></text><line x1="252" y1="342" x2="252" y2="370.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="252" y1="414" x2="252" y2="466.802" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 252 414 C 252 414.23856
  333.95304 414.24948 341.45206 466.82013" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 252 414 C 252 414.24368 250.81243 414.24984 168.56772 470.27445" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(256 357.5)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="0" y="10" textLength="38.354492">10 Mbps</tspan></text><text transform="translate(256 448.125)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="0" y="10" textLength="13.901367">10 </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="0" y="22" textLength="24.453125">Mbps</tspan></text><text transform="translate(346 448.125)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="bl
 ack" x="0" y="10" textLength="13.901367">10 </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="0" y="22" textLength="24.453125">Mbps</tspan></text><text transform="translate(172.75 454.125)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="0" y="10" textLength="32.792969">5 Mbps</tspan></text></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/autoreconnect/member-reconnect.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/autoreconnect/member-reconnect.html.md.erb b/geode-docs/managing/autoreconnect/member-reconnect.html.md.erb
new file mode 100644
index 0000000..7303800
--- /dev/null
+++ b/geode-docs/managing/autoreconnect/member-reconnect.html.md.erb
@@ -0,0 +1,42 @@
+---
+title:  Handling Forced Cache Disconnection Using Autoreconnect
+---
+
+A Geode member may be forcibly disconnected from a Geode distributed system if the member is unresponsive for a period of time, or if a network partition separates one or more members into a group that is too small to act as the distributed system.
+
+## How the Autoreconnection Process Works
+
+After being disconnected from a distributed system a Geode member shuts down and then automatically restarts into a "reconnecting" state, while periodically attempting to rejoin the distributed system by contacting a list of known locators. If the member succeeds in reconnecting to a known locator, the member rebuilds its view of the distributed system from existing members and receives a new distributed system ID.
+
+If the member cannot connect to a known locator, the member will then check to see if it itself is a locator (or hosting an embedded locator process). If the member is a locator, then the member does a quorum-based reconnect; it will attempt to contact a quorum of the members that were in the membership view just before it became disconnected. If a quorum of members can be contacted, then startup of the distributed system is allowed to begin. Since the reconnecting member does not know which members survived the network partition event, all members that are in a reconnecting state will keep their UDP unicast ports open and respond to ping requests.
+
+Membership quorum is determined using the same member weighting system used in network partition detection. See [Membership Coordinators, Lead Members and Member Weighting](../network_partitioning/membership_coordinators_lead_members_and_weighting.html#concept_23C2606D59754106AFBFE17515DF4330).
+
+Note that when a locator is in the reconnecting state, it provides no discovery services for the distributed system.
+
+After the cache has reconnected, applications must fetch a reference to the new Cache, Regions, DistributedSystem and other artifacts. Old references will continue to throw cancellation exceptions like `CacheClosedException(cause=ForcedDisconnectException)`.
+
+See the Geode `DistributedSystem` and `Cache` Java API documentation for more information.
+
+## Managing the Autoreconnection Process
+
+By default a Geode member will try to reconnect until it is told to stop by using the `DistributedSystem.stopReconnecting()` or `Cache.stopReconnecting()` method. You can disable automatic reconnection entirely by setting `disable-auto-reconnect` Geode property to "true."
+
+You can use `DistributedSystem` and `Cache` callback methods to perform actions during the reconnect process, or to cancel the reconnect process if necessary.
+
+The `DistributedSystem` and `Cache` API provide several methods you can use to take actions while a member is reconnecting to the distributed system:
+
+-   `DistributedSystem.isReconnecting()` returns true if the member is in the process of reconnecting and recreating the cache after having been removed from the system by other members.
+-   `DistributedSystem.waitUntilReconnected(long, TimeUnit)` waits for a period of time, and then returns a boolean value to indicate whether the member has reconnected to the DistributedSystem. Use a value of -1 seconds to wait indefinitely until the reconnect completes or the member shuts down. Use a value of 0 seconds as a quick probe to determine if the member has reconnected.
+-   `DistributedSystem.getReconnectedSystem()` returns the reconnected DistributedSystem.
+-   `DistributedSystem.stopReconnecting()` stops the reconnection process and ensures that the DistributedSystem stays in a disconnected state.
+-   `Cache.isReconnecting()` returns true if the cache is attempting to reconnect to a distributed system.
+-   `Cache.waitForReconnect(long, TimeUnit)` waits for a period of time, and then returns a boolean value to indicate whether the DistributedSystem has reconnected. Use a value of -1 seconds to wait indefinitely until the reconnect completes or the cache shuts down. Use a value of 0 seconds as a quick probe to determine if the member has reconnected.
+-   `Cache.getReconnectedCache()` returns the reconnected Cache.
+-   `Cache.stopReconnecting()` stops the reconnection process and ensures that the DistributedSystem stays in a disconnected state.
+
+## Operator Intervention
+
+You may need to intervene in the autoreconnection process if processes or hardware have crashed or are otherwise shut down before the network connection is healed. In this case the members in a "reconnecting" state will not be able to find the lost processes through UDP probes and will not rejoin the system until they are able to contact a locator.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/book_intro.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/book_intro.html.md.erb b/geode-docs/managing/book_intro.html.md.erb
new file mode 100644
index 0000000..568203a
--- /dev/null
+++ b/geode-docs/managing/book_intro.html.md.erb
@@ -0,0 +1,52 @@
+---
+title:  Managing Apache Geode
+---
+
+*Managing Apache Geode* describes how to plan and implement tasks associated with managing, monitoring, and troubleshooting Apache Geode.
+
+-   **[Apache Geode Management and Monitoring](../managing/management/management_and_monitoring.html)**
+
+    Apache Geode provides APIs and tools for managing your distributed system and monitoring the health of your distributed system members.
+
+-   **[Managing Heap and Off-heap Memory](../managing/heap_use/heap_management.html)**
+
+    By default, Apache Geode uses the JVM heap. Apache Geode also offers an option to store data off heap. This section describes how to manage heap and off-heap memory to best support your application.
+
+-   **[Disk Storage](../managing/disk_storage/chapter_overview.html)**
+
+    With Apache Geode disk stores, you can persist data to disk as a backup to your in-memory copy and overflow data to disk when memory use gets too high.
+
+-   **[Cache and Region Snapshots](../managing/cache_snapshots/chapter_overview.html)**
+
+    Snapshots allow you to save region data and reload it later. A typical use case is loading data from one environment into another, such as capturing data from a production system and moving it into a smaller QA or development system.
+
+-   **[Region Compression](../managing/region_compression/region_compression.html)**
+
+    This section describes region compression, its benefits and usage.
+
+-   **[Network Partitioning](../managing/network_partitioning/chapter_overview.html)**
+
+    Apache Geode architecture and management features help detect and resolve network partition problems.
+
+-   **[Security](../managing/security/chapter_overview.html)**
+
+    The security framework establishes trust by authenticating components 
+    and members upon connection. It facilitates the authorization of operations.
+
+-   **[Performance Tuning and Configuration](../managing/monitor_tune/chapter_overview.html)**
+
+    A collection of tools and controls allow you to monitor and adjust Apache Geode performance.
+
+-   **[Logging](../managing/logging/logging.html)**
+
+    Comprehensive logging messages help you confirm system configuration and debug problems in configuration and code.
+
+-   **[Statistics](../managing/statistics/chapter_overview.html)**
+
+    Every application and server in a distributed system can access statistical data about Apache Geode operations. You can configure the gathering of statistics by using the `alter runtime` command of `gfsh` or in the `gemfire.properties` file to facilitate system analysis and troubleshooting.
+
+-   **[Troubleshooting and System Recovery](../managing/troubleshooting/chapter_overview.html)**
+
+    This section provides strategies for handling common errors and failure situations.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/cache_snapshots/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/cache_snapshots/chapter_overview.html.md.erb b/geode-docs/managing/cache_snapshots/chapter_overview.html.md.erb
new file mode 100644
index 0000000..38b4251
--- /dev/null
+++ b/geode-docs/managing/cache_snapshots/chapter_overview.html.md.erb
@@ -0,0 +1,34 @@
+---
+title:  Cache and Region Snapshots
+---
+
+Snapshots allow you to save region data and reload it later. A typical use case is loading data from one environment into another, such as capturing data from a production system and moving it into a smaller QA or development system.
+
+In effect, you can load data from one distributed system into another distributed system. Administrators export a snapshot of a region or an entire cache (multiple regions) and later import the snapshot into another region or distributed system by using the `RegionSnapshotService` or `CacheSnapshotService` interface and the `Region.getSnapshotService` or `Cache.getSnapshotService` method.
+
+The snapshot file is a binary file that contains all data from a particular region. The binary format contains serialized key/value pairs and supports PDX type registry to allow the deserialization of PDX data. The snapshot can be directly imported into a region or read entry-by-entry for further processing or transformation into other formats.
+
+**Note:**
+The previous `Region.loadSnapshot` and `Region.saveSnapshot` APIs have been deprecated. Data written in this format is not compatible with the new APIs.
+
+-   **[Usage and Performance Notes](../../managing/cache_snapshots/using_cache_and_region_snapshots.html)**
+
+    Optimize the cache and region snapshot feature by understanding how it performs.
+
+-   **[Exporting Cache and Region Snapshots](../../managing/cache_snapshots/exporting_a_snapshot.html)**
+
+    To save Geode cache or region data to a snapshot that you can later load into another distributed system or region, use the `cache.getSnapshotService.save` API, `region.getSnapshotService.save` API, or the `gfsh` command-line interface (`export data`).
+
+-   **[Importing Cache and Region Snapshots](../../managing/cache_snapshots/importing_a_snapshot.html)**
+
+    To import a Geode cache or region data snapshot that you previously exported into another distributed system or region, use the `cache.getSnapshotService.load` API, `region.getSnapshotService.load` API, or the `gfsh` command-line interface (`import data`).
+
+-   **[Filtering Entries During Import or Export](../../managing/cache_snapshots/filtering_snapshot_entries.html)**
+
+    You can customize your snapshot by filtering entries during the import or export of a region or a cache.
+
+-   **[Reading Snapshots Programmatically](../../managing/cache_snapshots/read_snapshots_programmatically.html)**
+
+    You can read a snapshot entry-by-entry for further processing or transformation into other formats.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/cache_snapshots/exporting_a_snapshot.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/cache_snapshots/exporting_a_snapshot.html.md.erb b/geode-docs/managing/cache_snapshots/exporting_a_snapshot.html.md.erb
new file mode 100644
index 0000000..1cd2065
--- /dev/null
+++ b/geode-docs/managing/cache_snapshots/exporting_a_snapshot.html.md.erb
@@ -0,0 +1,57 @@
+---
+title:  Exporting Cache and Region Snapshots
+---
+
+To save Geode cache or region data to a snapshot that you can later load into another distributed system or region, use the `cache.getSnapshotService.save` API, `region.getSnapshotService.save` API, or the `gfsh` command-line interface (`export data`).
+
+If an error occurs during export, the export halts and the snapshot operation is canceled. Typical errors that halt an export include scenarios such as full disk, problems with file permissions, and network partitioning.
+
+## <a id="concept_D1A4D9677F4146078F65C73BF436C19D__section_98B33450FD95450EAC027384EE82E00C" class="no-quick-link"></a>Exporting Cache Snapshots
+
+When you export an entire cache, it exports all regions in the cache as individual snapshot files into a directory. If no directory is specified, the default is the current directory. A snapshot file is created for each region, and the export operation automatically names each snapshot filename using the following convention:
+
+`snapshot-<region>[-<subregion>]*`
+
+When the export operation writes the snapshot filename, it replaces each forward slash ('/') in the region path with a dash ('-').
+
+**Using Java API:**
+
+``` pre
+File mySnapshotDir = ...
+Cache cache = ...
+
+cache.getSnapshotService().save(mySnapshotDir, SnapshotFormat.GEMFIRE);
+```
+
+Optionally, you can set a filter on the snapshot entries during the export. See [Filtering Entries During Import or Export](filtering_snapshot_entries.html#concept_7E1F89E70A25465EBEBA584FADFEF353) for an example.
+
+## <a id="concept_D1A4D9677F4146078F65C73BF436C19D__section_30C1BBB41C194825A46E49E5756369D6" class="no-quick-link"></a>Exporting a Region Snapshot
+
+You can also export a specific region using the following API or gfsh command:
+
+**Java API:**
+
+``` pre
+File mySnapshot = ...
+Region<String, MyObject> region = ... 
+
+region.getSnapshotService().save(mySnapshot, SnapshotFormat.GEMFIRE);
+```
+
+**gfsh:**
+
+Open a gfsh prompt. After connecting to a Geode distributed system, at the prompt type:
+
+``` pre
+gfsh>export data --region=Region --file=filename.gfd 
+--member=membername
+```
+
+where *Region* corresponds to the name of the region that you want to export, *filename* (must end in .gfd) corresponds to the name of the export file and *membername* corresponds to a member where the region to export is hosted. For example:
+
+``` pre
+gfsh>export data --region=region1 --file=region1_2012_10_10.gfd 
+--member=server1
+```
+
+The snapshot file will be written on the remote member at the location specified by the `--file` argument. For example, in the example command above, the `region1_2012_10_10.gfd` file will be written in the working directory of `server1`. For more information on this command, see [export data](../../tools_modules/gfsh/command-pages/export.html#topic_263B70069BFC4A7185F86B3272011734).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/cache_snapshots/filtering_snapshot_entries.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/cache_snapshots/filtering_snapshot_entries.html.md.erb b/geode-docs/managing/cache_snapshots/filtering_snapshot_entries.html.md.erb
new file mode 100644
index 0000000..27b87c7
--- /dev/null
+++ b/geode-docs/managing/cache_snapshots/filtering_snapshot_entries.html.md.erb
@@ -0,0 +1,29 @@
+---
+title:  Filtering Entries During Import or Export
+---
+
+You can customize your snapshot by filtering entries during the import or export of a region or a cache.
+
+For example, use filters to limit the export of data to a certain date range. If you set up a filter on the import or export of a cache, the filter is applied to every single region in the cache.
+
+The following example filters snapshot data by even numbered keys.
+
+``` pre
+File mySnapshot = ...
+Region<Integer, MyObject> region = ...
+
+SnapshotFilter<Integer, MyObject> even = new SnapshotFilter<Integer, MyObject>() {
+  @Override
+  public boolean accept(Entry<Integer, MyObject> entry) {
+    return entry.getKey() % 2 == 0;
+  }
+};
+
+RegionSnapshotService<Integer, MyObject> snapsrv = region.getSnapshotService();
+SnapshotOptions<Integer, MyObject> options = rss.createOptions().setFilter(even);
+
+// only save cache entries with an even key
+snapsrv.save(mySnapshot, SnapshotFormat.GEMFIRE, options);
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/cache_snapshots/importing_a_snapshot.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/cache_snapshots/importing_a_snapshot.html.md.erb b/geode-docs/managing/cache_snapshots/importing_a_snapshot.html.md.erb
new file mode 100644
index 0000000..626e0df
--- /dev/null
+++ b/geode-docs/managing/cache_snapshots/importing_a_snapshot.html.md.erb
@@ -0,0 +1,64 @@
+---
+title:  Importing Cache and Region Snapshots
+---
+
+To import a Geode cache or region data snapshot that you previously exported into another distributed system or region, use the `cache.getSnapshotService.load` API, `region.getSnapshotService.load` API, or the `gfsh` command-line interface (`import data`).
+
+## <a id="concept_62B1E24DA7F342E9BB16C0818F7A7B70__section_4B2C73CA1A734D9D96693A52BF99D75A" class="no-quick-link"></a>Import Requirements
+
+Before you import a region snapshot:
+
+-   Make sure the cache is configured correctly. Configure all registered PdxSerializers, DataSerializers, and Instantiators; create regions; and ensure the classpath contains any required classes.
+-   When you import a snapshot containing PDX types, you must wait until the exported type definitions are imported into the cache before inserting data that causes type conflicts. It is recommended that you wait for the import to complete before inserting data.
+
+## <a id="concept_62B1E24DA7F342E9BB16C0818F7A7B70__section_F5FA11694BFC46D4A813A259FE670C69" class="no-quick-link"></a>Import Limitations
+
+During an import, the `CacheWriter` and `CacheListener` callbacks are not invoked.
+
+If an error occurs during import, the import is halted and the region will contain some but not all snapshot data.
+
+The state of a cache client is indeterminate after an import. It is likely that the data in the client's cache is inconsistent with the imported data. Take the client offline during the import and restart it after the import completes.
+
+## <a id="concept_62B1E24DA7F342E9BB16C0818F7A7B70__section_4F1A3A60FABA49A295CA18FBF572998D" class="no-quick-link"></a>Importing Cache Snapshots
+
+When you import a cache snapshot, the snapshot file is imported into the same region (match determined by name) that was used during snapshot export. When you import a cache, you import all snapshot files located within a directory into the cache. The API attempts to load all files in the specified directory.
+
+**Java API:**
+
+``` pre
+File mySnapshotDir = ...
+Cache cache = ...
+
+cache.getSnapshotService().load(mySnapshotDir, SnapshotFormat.GEMFIRE);
+```
+
+## <a id="concept_62B1E24DA7F342E9BB16C0818F7A7B70__section_97054643976345A099A7BDDC63DE30E9" class="no-quick-link"></a>Importing a Region Snapshot
+
+**Java API:**
+
+``` pre
+File mySnapshot = ...
+Region<String, MyObject> region = ...
+
+region.getSnapshotService().load(mySnapshot, SnapshotFormat.GEMFIRE);
+```
+
+**gfsh:**
+
+Open a gfsh prompt. After connecting to a Geode distributed system, at the prompt type:
+
+``` pre
+gfsh>import data --region=Region --file=filename.gfd 
+--member=membername
+```
+
+where *Region* corresponds to the name of the region that you want to import data into; *filename* (must end in .gfd) corresponds to the name of the file to be imported; and *membername* corresponds to the member where the region to be imported is hosted. For example:
+
+``` pre
+gfsh>import data --region=region1 --file=region1_2012_10_10.gfd 
+--member=server2
+```
+
+The snapshot file must already reside on the specified member at the location specified in the `--file` argument before import.
+
+For more information on this command, see [import data](../../tools_modules/gfsh/command-pages/import.html#topic_jw2_2ld_2l).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/cache_snapshots/read_snapshots_programmatically.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/cache_snapshots/read_snapshots_programmatically.html.md.erb b/geode-docs/managing/cache_snapshots/read_snapshots_programmatically.html.md.erb
new file mode 100644
index 0000000..6d0d0ca
--- /dev/null
+++ b/geode-docs/managing/cache_snapshots/read_snapshots_programmatically.html.md.erb
@@ -0,0 +1,26 @@
+---
+title:  Reading Snapshots Programmatically
+---
+
+You can read a snapshot entry-by-entry for further processing or transformation into other formats.
+
+The following is an example of a snapshot reader that processes entries from a previously generated snapshot file.
+
+``` pre
+File mySnapshot = ...
+SnapshotIterator<String, MyObject> iter = SnapshotReader.read(mySnapshot);
+try {
+  while (iter.hasNext()) {
+    Entry<String, MyObject> entry = iter.next();
+
+    String key = entry.getKey();
+    MyObject value = entry.getValue();
+
+    System.out.println(key + " = " + value);
+  }
+} finally {
+  iter.close();
+}
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/cache_snapshots/using_cache_and_region_snapshots.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/cache_snapshots/using_cache_and_region_snapshots.html.md.erb b/geode-docs/managing/cache_snapshots/using_cache_and_region_snapshots.html.md.erb
new file mode 100644
index 0000000..ccf5382
--- /dev/null
+++ b/geode-docs/managing/cache_snapshots/using_cache_and_region_snapshots.html.md.erb
@@ -0,0 +1,23 @@
+---
+title:  Usage and Performance Notes
+---
+
+Optimize the cache and region snapshot feature by understanding how it performs.
+
+## <a id="concept_49775DA33EFF4534950E1A60158F4B36__section_D1AB128682CA41D2BEFB429BED892ABE" class="no-quick-link"></a>Cache Consistency and Concurrent Operations
+
+Importing and exporting region data is an administrative operation, and certain simultaneous runtime conditions can cause the import or export operation to fail such as when you are rebalancing partitioned region buckets or experience a network partition event. This behavior is expected, and you should retry the operation. Redoing an export overwrites an incomplete snapshot file, and redoing an import updates partially imported data.
+
+The snapshot feature does not guarantee consistency. Concurrent cache operations during a snapshot import or export can cause data consistency issues. If snapshot consistency is important, we recommend that you take your application offline before export and import, to provide a quiet period ensures data consistency in your snapshot.
+
+For example, modifications to region entries during an export can result in a snapshot that contains some but not all updates. If entries { A, B } are updated to { A', B'} during the export, the snapshot can contain { A, B' } depending on the write order. Also, modifications to region entries during an import can cause lost updates in the cache. If the region contains entries { A, B } and the snapshot contains { A', B' }, concurrent updates { A\*, B\* } can result in the region containing { A\*, B' } after the import completes.
+
+The default behavior is to perform all I/O operations on the node where the snapshot operations are invoked. This will involve either collecting or dispersing data over the network if the region is a partitioned region.
+
+## <a id="concept_49775DA33EFF4534950E1A60158F4B36__section_2C90FE1552D94AD08D1E5F3035153E0E" class="no-quick-link"></a>Performance Considerations
+
+When using the data snapshot feature, be aware of the following performance considerations:
+
+-   Importing and exporting cache or region snapshots causes additional CPU and network load. You may need to increase CPU capacity or network bandwidth depending on your applications and infrastructure. In addition, if you export regions that have been configured to overflow to disk, you may require additional disk I/O to perform the export.
+-   When exporting partitioned region data, allocate additional heap memory so the member performing the export can buffer data gathered from other cache members. Allocate at least 10MB per member to your heap in addition to whatever configuration is necessary to support your application or cache.
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/disk_storage/backup_restore_disk_store.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/backup_restore_disk_store.html.md.erb b/geode-docs/managing/disk_storage/backup_restore_disk_store.html.md.erb
new file mode 100644
index 0000000..173cdfe
--- /dev/null
+++ b/geode-docs/managing/disk_storage/backup_restore_disk_store.html.md.erb
@@ -0,0 +1,172 @@
+---
+title:  Creating Backups for System Recovery and Operational Management
+---
+
+A backup is a copy of persisted data from a disk store. A backup is used to restore the disk store to the state it was in when the backup was made. The appropriate back up and restore procedures differ based upon whether the distributed system is online or offline. An online system has currently running members. An offline system does not have any running members.
+
+-   [Making a Backup While the System Is Online](backup_restore_disk_store.html#backup_restore_disk_store__section_63AB5917BF24432898A79DBE8E4071FF)
+-   [What a Full Online Backup Saves](backup_restore_disk_store.html#backup_restore_disk_store__section_C08E52E65DAD4CD5AE076BBDCF1DB340)
+-   [What an Incremental Online Backup Saves](backup_restore_disk_store.html#backup_restore_disk_store__section_59E23EEA4AB24374A45B99A8B44FD49B)
+-   [Disk Store Backup Directory Structure and Contents](backup_restore_disk_store.html#backup_restore_disk_store__section_22809A237A344015B40C962B704D8F34)
+-   [Offline Members\u2014Manual Catch-Up to an Online Backup](backup_restore_disk_store.html#backup_restore_disk_store__section_6F998080AF7640D1A9E951D155A75E3A)
+-   [Restore Using a Backup Made While the System Was Online](backup_restore_disk_store.html#backup_restore_disk_store__section_D08DC489B9D947DE97B8F96261E4A977)
+
+## <a id="backup_restore_disk_store__section_63AB5917BF24432898A79DBE8E4071FF" class="no-quick-link"></a>Making a Backup While the System Is Online
+
+The gfsh command `backup disk-store` creates a backup of the disk stores for all members running in the distributed system. The backup works by passing commands to the running system members; therefore, the members need to be online for this operation to succeed. Each member with persistent data creates a backup of its own configuration and disk stores. The backup does not block any activities within the distributed system, but it does use resources.
+
+**Note:**
+Do not try to create backup files from a running system by using your operating system's file copy commands. This would create incomplete and unusable copies.
+
+**Preparing to Make a Backup**
+
+-   Consider compacting your disk store before making a backup. If auto-compaction is turned off, you may want to do a manual compaction to save on the quantity of data copied over the network by the backup. For more information on configuring a manual compaction, see [Manual Compaction](compacting_disk_stores.html#compacting_disk_stores__li_63CF8C35153D4173AADF7DC35FEC61F9).
+-   Run the backup during a period of low activity in your system. The backup does not block system activities, but it uses file system resources on all hosts in your distributed system, and it can affect performance.
+-   Configure each member with any additional files or directories to be backed up by modifying the member's `cache.xml` file. Additional items that ought to be included in the backup:
+
+    -   application jar files
+    -   other files that the application needs when starting, such as a file that sets the classpath
+
+    For example, to include file `myExtraBackupStuff` in the backup, the `cache.xml` file specification of the data store would include:
+
+    ``` pre
+    <backup>./myExtraBackupStuff</backup>
+    ```
+
+    Directories are recursively copied, with any disk stores that are found excluded from this user-specified backup.
+
+-   Back up to a SAN (recommended) or to a directory that all members can access. Make sure the directory exists and has the proper permissions for all members to write to the directory and create subdirectories.
+
+    The directory specified for the backup can be used multiple times. Each time a backup is made, a new subdirectory is created within the specified directory, and that new subdirectory's name represents the date and time.
+
+    You can use one of two locations for the backup:
+
+    -   a single physical location, such as a network file server, for example:
+
+        ``` pre
+        /export/fileServerDirectory/gemfireBackupLocation
+        ```
+
+    -   a directory that is local to all host machines in the system, for example:
+
+        ``` pre
+        ./gemfireBackupLocation
+        ```
+
+-   Make sure all members with persistent data are running in the system, because offline members cannot back up their disk stores. Output from the backup command will not identify members hosting replicated regions that are offline.
+
+**How to Do a Full Online Backup**
+
+1.  If auto-compaction is disabled, and manual compaction is needed:
+
+    ``` pre
+    gfsh>compact disk-store --name=Disk1
+    ```
+
+2.  Run the `gfsh backup                             disk-store` command, specifying the backup directory location. For example:
+
+    ``` pre
+    gfsh>backup disk-store --dir=/export/fileServerDirectory/gemfireBackupLocation
+    ```
+
+    The output will list information for each member that has successfully backed up disk stores. The tabular information will contain the member's name, its UUID, the directory backed up, and the host name of the member.
+
+    Any online member that fails to complete its backup will leave a file named `INCOMPLETE_BACKUP` in its highest level backup directory. The existence of this file identifies that the backup file contains only a partial backup, and it cannot be used in a restore operation.
+
+3.  Validate the backup for later recovery use. On the command line, each backup can be checked with commands such as
+
+    ``` pre
+    cd 2010-04-10-11-35/straw_14871_53406_34322/diskstores/ds1
+    gfsh validate offline-disk-store --name=ds1 --disk-dirs=/home/dsmith/dir1
+    ```
+
+**How to Do an Incremental Backup**
+
+An incremental backup contains items that have changed since a previous backup was made.
+
+To do an incremental backup, specify the backup directory that the incremental backup will be based upon with the `--baseline-dir` argument. For example:
+
+``` pre
+gfsh>backup disk-store --dir=/export/fileServerDirectory/gemfireBackupLocation
+--baseline-dir=/export/fileServerDirectory/gemfireBackupLocation/2012-10-01-12-30
+```
+
+The output will appear the same as the output for a full online backup.
+
+Any online member that fails to complete its incremental backup will leave a file named `INCOMPLETE_BACKUP` in its highest level backup directory. The existence of this file identifies that the backup file contains only a partial backup, and it cannot be used in a restore operation. The next time a backup is made, a full backup will be made.
+
+## <a id="backup_restore_disk_store__section_C08E52E65DAD4CD5AE076BBDCF1DB340" class="no-quick-link"></a>What a Full Online Backup Saves
+
+For each member with persistent data, a full backup includes the following:
+
+-   Disk store files for all members containing persistent region data.
+-   Files and directories specified in the `cache.xml` configuration file as `<backup>` elements. For example:
+
+    ``` pre
+    <backup>./systemConfig/gf.jar</backup>
+    <backup>/users/user/gfSystemInfo/myCustomerConfig.doc</backup>
+    ```
+
+-   Deployed JAR files that were deployed using the gfsh [deploy](../../tools_modules/gfsh/command-pages/deploy.html) command.
+-   Configuration files from the member startup.
+    -   `gemfire.properties`, including the properties with which the member was started.
+    -   `cache.xml`, if used.
+
+    These configuration files are not automatically restored, to avoid interfering with more recent configurations. In particular, if these are extracted from a master `jar` file, copying the separate files into your working area can override the files in the `jar`. If you want to back up and restore these files, add them as custom `<backup>` elements.
+-   A restore script, called `restore.bat` on Windows, and called `restore.sh` on Linux. This script may later be used to do a restore. The script copies files back to their original locations.
+
+## <a id="backup_restore_disk_store__section_59E23EEA4AB24374A45B99A8B44FD49B" class="no-quick-link"></a>What an Incremental Online Backup Saves
+
+An incremental backup saves the difference between the last backup and the current data. An incremental backup copies only operations logs that are not already present in the baseline directories for each member. For incremental backups, the restore script contains explicit references to operation logs in one or more previously chained incremental backups. When the restore script is run from an incremental backup, it also restores the operation logs from previous incremental backups that are part of the backup chain.
+
+If members are missing from the baseline directory because they were offline or did not exist at the time of the baseline backup, those members place full backups of all their files into the incremental backup directory.
+
+## <a id="backup_restore_disk_store__section_22809A237A344015B40C962B704D8F34" class="no-quick-link"></a>Disk Store Backup Directory Structure and Contents
+
+``` pre
+$ cd thebackupdir
+$ ls -R
+./2012-10-18-13-44-53:
+dasmith_e6410_server1_8623_v1_33892 dasmith_e6410_server2_8940_v2_45565
+
+./2012-10-18-13-44-53/dasmith_e6410_server1_8623_v1_33892:
+config diskstores README.txt restore.sh user
+
+./2012-10-18-13-44-53/dasmith_e6410_server1_8623_v1_33892/config:
+cache.xml
+
+./2012-10-18-13-44-53/dasmith_e6410_server1_8623_v1_33892/diskstores:
+DEFAULT
+
+./2012-10-18-13-44-53/dasmith_e6410_server1_8623_v1_33892/diskstores/DEFAULT:
+dir0
+
+./2012-10-18-13-44-53/dasmith_e6410_server1_8623_v1_33892/diskstores/DEFAULT/dir0:
+BACKUPDEFAULT_1.crf BACKUPDEFAULT_1.drf BACKUPDEFAULT.if
+
+./2012-10-18-13-44-53/dasmith_e6410_server1_8623_v1_33892/user:
+```
+
+## <a id="backup_restore_disk_store__section_6F998080AF7640D1A9E951D155A75E3A" class="no-quick-link"></a>Offline Members\u2014Manual Catch-Up to an Online Backup
+
+If you must have a member offline during an online backup, you can manually back up its disk stores. Bring this member\u2019s files into the online backup framework manually, and create a restore script by hand starting with a copy of another member\u2019s script:
+
+1.  Duplicate the directory structure of a backed up member for this member.
+2.  Rename directories as needed to reflect this member\u2019s particular backup, including disk store names.
+3.  Clear out all files other than the restore script.
+4.  Copy in this member\u2019s files.
+5.  Modify the restore script to work for this member.
+
+## <a id="backup_restore_disk_store__section_D08DC489B9D947DE97B8F96261E4A977" class="no-quick-link"></a>Restore Using a Backup Made While the System Was Online
+
+The `restore.sh` or `restore.bat` script copies files back to their original locations.
+
+1.  Restore your disk stores while cache members are offline and the system is down.
+2.  Look at each of the restore scripts to see where they will place the files and make sure the destination locations are ready. A restore script will refuse to copy over files with the same names.
+3.  Run each restore script on the host where the backup originated.
+
+The restore copies these files back to their original location:
+
+-   Disk store files for all stores containing persistent region data.
+-   Any files or directories you have configured to be backed up in the `cache.xml` `<backup>` elements.
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/disk_storage/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/chapter_overview.html.md.erb b/geode-docs/managing/disk_storage/chapter_overview.html.md.erb
new file mode 100644
index 0000000..70cba24
--- /dev/null
+++ b/geode-docs/managing/disk_storage/chapter_overview.html.md.erb
@@ -0,0 +1,39 @@
+---
+title:  Disk Storage
+---
+
+With Apache Geode disk stores, you can persist data to disk as a backup to your in-memory copy and overflow data to disk when memory use gets too high.
+
+-   **[How Disk Stores Work](../../managing/disk_storage/how_disk_stores_work.html)**
+
+    Overflow and persistence use disk stores individually or together to store data.
+
+-   **[Disk Store File Names and Extensions](../../managing/disk_storage/file_names_and_extensions.html)**
+
+    Disk store files include store management files, access control files, and the operation log, or oplog, files, consisting of one file for deletions and another for all other operations.
+
+-   **[Disk Store Operation Logs](../../managing/disk_storage/operation_logs.html)**
+
+    At creation, each operation log is initialized at the disk store's `max-oplog-size`, with the size divided between the `crf` and `drf` files. When the oplog is closed, Apache Geode shrinks the files to the space used in each file.
+
+-   **[Configuring Disk Stores](../../managing/disk_storage/overview_using_disk_stores.html)**
+
+    In addition to the disk stores you specify, Apache Geode has a default disk store that it uses when disk use is configured with no disk store name specified. You can modify default disk store behavior.
+
+-   **[Optimizing a System with Disk Stores](../../managing/disk_storage/optimize_availability_and_performance.html)**
+
+    Optimize availability and performance by following the guidelines in this section.
+
+-   **[Start Up and Shut Down with Disk Stores](../../managing/disk_storage/starting_system_with_disk_stores.html)**
+
+    This section describes what happens during startup and shutdown and provides procedures for those operations.
+
+-   **[Disk Store Management](../../managing/disk_storage/managing_disk_stores.html)**
+
+    The `gfsh` command-line tool has a number of options for examining and managing your disk stores. The `gfsh` tool, the `cache.xml` file and the DiskStore APIs are your management tools for online and offline disk stores.
+
+-   **[Creating Backups for System Recovery and Operational Management](../../managing/disk_storage/backup_restore_disk_store.html)**
+
+    A backup is a copy of persisted data from a disk store. A backup is used to restore the disk store to the state it was in when the backup was made. The appropriate back up and restore procedures differ based upon whether the distributed system is online or offline. An online system has currently running members. An offline system does not have any running members.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/disk_storage/compacting_disk_stores.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/compacting_disk_stores.html.md.erb b/geode-docs/managing/disk_storage/compacting_disk_stores.html.md.erb
new file mode 100644
index 0000000..8357948
--- /dev/null
+++ b/geode-docs/managing/disk_storage/compacting_disk_stores.html.md.erb
@@ -0,0 +1,116 @@
+---
+title:  Running Compaction on Disk Store Log Files
+---
+
+<a id="compacting_disk_stores__section_64BA304595364E38A28098EB09494531"></a>
+When a cache operation is added to a disk store, any preexisting operation record for the same entry becomes obsolete, and Apache Geode marks it as garbage. For example, when you create an entry, the create operation is added to the store. If you update the entry later, the update operation is added and the create operation becomes garbage. Geode does not remove garbage records as it goes, but it tracks the percentage of garbage in each operation log, and provides mechanisms for removing garbage to compact your log files.
+
+Geode compacts an old operation log by copying all non-garbage records into the current log and discarding the old files. As with logging, oplogs are rolled as needed during compaction to stay within the max oplog setting.
+
+You can configure the system to automatically compact any closed operation log when its garbage content reaches a certain percentage. You can also manually request compaction for online and offline disk stores. For the online disk store, the current operation log is not available for compaction, no matter how much garbage it contains.
+
+## <a id="compacting_disk_stores__section_98C6B6F48E4F4F0CB7749E426AF4D647" class="no-quick-link"></a>Log File Compaction for the Online Disk Store
+
+<img src="../../images/diskStores-3.gif" id="compacting_disk_stores__image_7E34CC58B13548B196DAA15F5B0A0ECA" class="image" />
+
+Offline compaction runs essentially in the same way, but without the incoming cache operations. Also, because there is no current open log, the compaction creates a new one to get started.
+
+## <a id="compacting_disk_stores__section_96E774B5502648458E7742B37CA235FF" class="no-quick-link"></a>Run Online Compaction
+
+Old log files become eligible for online compaction when their garbage content surpasses a configured percentage of the total file. A record is garbage when its operation is superseded by a more recent operation for the same object. During compaction, the non-garbage records are added to the current log along with new cache operations. Online compaction does not block current system operations.
+
+-   **Automatic compaction**. When `auto-compact` is true, Geode automatically compacts each oplog when its garbage content surpasses the `compaction-threshold`. This takes cycles from your other operations, so you may want to disable this and only do manual compaction, to control the timing.
+-   **Manual compaction**. To run manual compaction:
+    -   Set the disk store attribute `allow-force-compaction` to true. This causes Geode to maintain extra data about the files so it can compact on demand. This is disabled by default to save space. You can run manual online compaction at any time while the system is running. Oplogs eligible for compaction based on the `compaction-threshold` are compacted into the current oplog.
+    -   Run manual compaction as needed. Geode has two types of manual compaction:
+        -   Compact the logs for a single online disk store through the API, with the `forceCompaction` method. This method first rolls the oplogs and then compacts them. Example:
+
+            ``` pre
+            myCache.getDiskStore("myDiskStore").forceCompaction();
+            ```
+
+        -   Using `gfsh`, compact a disk store in a distributed system with the [compact disk-store](../../tools_modules/gfsh/command-pages/compact.html#topic_F113C95C076F424E9AA8AC4F1F6324CC) command. Examples:
+
+            ``` pre
+            gfsh>compact disk-store --name=Disk1
+
+            gfsh>compact disk-store --name=Disk1 --group=MemberGroup1,MemberGroup2
+            ```
+
+            **Note:**
+            You need to be connected to a JMX Manager in `gfsh` to run this command.
+
+## <a id="compacting_disk_stores__section_25BDB098E9584EAA9BC6582597544726" class="no-quick-link"></a>Run Offline Compaction
+
+Offline compaction is a manual process. All log files are compacted as much as possible, regardless of how much garbage they hold. Offline compaction creates new log files for the compacted log records.
+
+Using `gfsh`, compact individual offline disk stores with the [compact offline-disk-store](../../tools_modules/gfsh/command-pages/compact.html#topic_9CCFCB2FA2154E16BD775439C8ABC8FB) command:
+
+``` pre
+gfsh>compact offline-disk-store --name=Disk2 --disk-dirs=/Disks/Disk2
+
+gfsh>compact offline-disk-store --name=Disk2 --disk-dirs=/Disks/Disk2 
+--max-oplog-size=512 -J=-Xmx1024m
+```
+
+**Note:**
+Do not perform offline compaction on the baseline directory of an incremental backup.
+
+You must provide all of the directories in the disk store. If no oplog max size is specified, Geode uses the system default.
+
+Offline compaction can take a lot of memory. If you get a `java.lang.OutOfMemory` error while running this, you may need to increase your heap size with the `-J=-Xmx` parameter.
+
+## <a id="compacting_disk_stores__section_D2374039480947C5AE4CC64167E60978" class="no-quick-link"></a>Performance Benefits of Manual Compaction
+
+You can improve performance during busy times if you disable automatic compaction and run your own manual compaction during lighter system load or during downtimes. You could run the API call after your application performs a large set of data operations. You could run `compact disk-store` command every night when system use is very low.
+
+To follow a strategy like this, you need to set aside enough disk space to accommodate all non-compacted disk data. You might need to increase system monitoring to make sure you do not overrun your disk space. You may be able to run only offline compaction. If so, you can set `allow-force-compaction` to false and avoid storing the information required for manual online compaction.
+
+## <a id="compacting_disk_stores__section_A9EE86F662EE4D46A327C336E901A0F2" class="no-quick-link"></a>Directory Size Limits
+
+Reaching directory size limits during has different results depending on whether you are running an automatic or manual compaction:
+
+-   For automatic compaction, the system logs a warning, but does not stop.
+-   For manual compaction, the operation stops and returns a `DiskAccessException` to the calling process, reporting that the system has run out of disk space.
+
+## <a id="compacting_disk_stores__section_7A311038408440D49097B8FA4E2BCED9" class="no-quick-link"></a>Example Compaction Run
+
+In this example offline compaction run listing, the disk store compaction had nothing to do in the `*_3.*` files, so they were left alone. The `*_4.*` files had garbage records, so the oplog from them was compacted into the new `*_5.*` files.
+
+``` pre
+bash-2.05$ ls -ltra backupDirectory
+total 28
+-rw-rw-r--   1 user users          3 Apr  7 14:56 BACKUPds1_3.drf
+-rw-rw-r--   1 user users         25 Apr  7 14:56 BACKUPds1_3.crf
+drwxrwxr-x   3 user users       1024 Apr  7 15:02 ..
+-rw-rw-r--   1 user users       7085 Apr  7 15:06 BACKUPds1.if
+-rw-rw-r--   1 user users         18 Apr  7 15:07 BACKUPds1_4.drf
+-rw-rw-r--   1 user users       1070 Apr  7 15:07 BACKUPds1_4.crf
+drwxrwxr-x   2 user users        512 Apr  7 15:07 .
+
+bash-2.05$ gfsh
+
+gfsh>validate offline-disk-store --name=ds1 --disk-dirs=backupDirectory
+
+/root: entryCount=6
+/partitioned_region entryCount=1 bucketCount=10
+Disk store contains 12 compactable records.
+Total number of region entries in this disk store is: 7
+
+gfsh>compact offline-disk-store --name=ds1 --disk-dirs=backupDirectory
+Offline compaction removed 12 records.
+Total number of region entries in this disk store is: 7
+
+gfsh>exit
+
+bash-2.05$ ls -ltra backupDirectory
+total 16
+-rw-rw-r--   1 user users          3 Apr  7 14:56 BACKUPds1_3.drf
+-rw-rw-r--   1 user users         25 Apr  7 14:56 BACKUPds1_3.crf
+drwxrwxr-x   3 user users       1024 Apr  7 15:02 ..
+-rw-rw-r--   1 user users          0 Apr  7 15:08 BACKUPds1_5.drf
+-rw-rw-r--   1 user users        638 Apr  7 15:08 BACKUPds1_5.crf
+-rw-rw-r--   1 user users       2788 Apr  7 15:08 BACKUPds1.if
+drwxrwxr-x   2 user users        512 Apr  7 15:09 .
+bash-2.05$
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/disk_storage/disk_free_space_monitoring.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/disk_free_space_monitoring.html.md.erb b/geode-docs/managing/disk_storage/disk_free_space_monitoring.html.md.erb
new file mode 100644
index 0000000..b8df31b
--- /dev/null
+++ b/geode-docs/managing/disk_storage/disk_free_space_monitoring.html.md.erb
@@ -0,0 +1,40 @@
+---
+title:  Configuring Disk Free Space Monitoring
+---
+
+To modify `disk-usage-warning-percentage` and `disk-usage-critical-percentage` thresholds, specify the parameters when executing the `gfsh create disk-store` command.
+
+``` pre
+gfsh>create disk-store --name=serverOverflow --dir=c:\overflow_data#20480 \
+--compaction-threshold=40 --auto-compact=false --allow-force-compaction=true \
+--max-oplog-size=512 --queue-size=10000 --time-interval=15 --write-buffer-size=65536 \
+--disk-usage-warning-percentage=80 --disk-usage-critical-percentage=98
+```
+
+By default, disk usage above 80% triggers a warning message. Disk usage above 99% generates an error and shuts down the member cache that accesses that disk store. To disable disk store monitoring, set the parameters to 0.
+
+To view the current threshold values set for an existing disk store, use the `gfsh                 describe` disk-store command:
+
+``` pre
+gfsh>describe disk-store --member=server1 --name=DiskStore1
+```
+
+You can also use the following `DiskStoreMXBean` method APIs to configure and obtain these thresholds programmatically.
+
+-   `getDiskUsageCriticalPercentage`
+-   `getDiskUsageWarningPercentage`
+-   `setDiskUsageCriticalPercentage`
+-   `setDiskUsageWarningPercentage`
+
+You can obtain statistics on disk space usage and the performance of disk space monitoring by accessing the following statistics:
+
+-   `diskSpace`
+-   `maximumSpace`
+-   `volumeSize`
+-   `volumeFreeSpace`
+-   `volumeFreeSpaceChecks`
+-   `volumeFreeSpaceTime`
+
+See [Disk Space Usage (DiskDirStatistics)](../../reference/statistics/statistics_list.html#section_6C2BECC63A83456190B029DEDB8F4BE3).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/disk_storage/disk_store_configuration_params.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/disk_store_configuration_params.html.md.erb b/geode-docs/managing/disk_storage/disk_store_configuration_params.html.md.erb
new file mode 100644
index 0000000..53ad195
--- /dev/null
+++ b/geode-docs/managing/disk_storage/disk_store_configuration_params.html.md.erb
@@ -0,0 +1,106 @@
+---
+title:  Disk Store Configuration Parameters
+---
+
+You define your disk stores by using the `gfsh create disk-store` command or in `<disk-store>` subelements of your cache declaration in `cache.xml`. All disk stores are available for use by all of your regions and queues.
+
+These `<disk-store>` attributes and subelements have corresponding `gfsh create disk-store` command-line parameters as well as getter and setter methods in the `org.apache.geode.cache.DiskStoreFactory` and `org.apache.geode.cache.DiskStore` APIs.
+
+## <a id="disk_store_configuration_params__section_77273B9B5EA54227A2D25682BD77BAC3" class="no-quick-link"></a>Disk Store Configuration Attributes and Elements
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="34%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>disk-store attribute</th>
+<th>Description</th>
+<th>Default</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><code class="ph codeph">name</code></td>
+<td>String used to identify this disk store. All regions and queues select their disk store by specifying this name.</td>
+<td>DEFAULT</td>
+</tr>
+<tr class="even">
+<td><code class="ph codeph">allow-force-compaction</code></td>
+<td>Boolean indicating whether to allow manual compaction through the API or command-line tools.</td>
+<td>false</td>
+</tr>
+<tr class="odd">
+<td><code class="ph codeph">auto-compact</code></td>
+<td>Boolean indicating whether to automatically compact a file when it reaches the <code class="ph codeph">compaction-threshold</code>.</td>
+<td>true</td>
+</tr>
+<tr class="even">
+<td><code class="ph codeph">compaction-threshold</code></td>
+<td>Percentage of garbage allowed in the file before it is eligible for compaction. Garbage is created by entry destroys, entry updates, and region destroys and creates. Surpassing this percentage does not make compaction occur\u2014it makes the file eligible to be compacted when a compaction is done.</td>
+<td>50</td>
+</tr>
+<tr class="odd">
+<td><code class="ph codeph">disk-usage-critical-percentage</code></td>
+<td>Disk usage above this threshold generates an error message and shuts down the member's cache. For example, if the threshold is set to 99%, then falling under 10 GB of free disk space on a 1 TB drive generates the error and shuts down the cache.
+<p>Set to &quot;0&quot; (zero) to disable.</p></td>
+<td>99</td>
+</tr>
+<tr class="even">
+<td><code class="ph codeph">disk-usage-warning-percentage</code></td>
+<td>Disk usage above this threshold generates a warning message. For example, if the threshold is set to 90%, then on a 1 TB drive falling under 100 GB of free disk space generates the warning.
+<p>Set to &quot;0&quot; (zero) to disable.</p></td>
+<td>90</td>
+</tr>
+<tr class="odd">
+<td><code class="ph codeph">max-oplog-size</code></td>
+<td>The largest size, in megabytes, to allow an operation log to become before automatically rolling to a new file. This size is the combined sizes of the oplog files.</td>
+<td>1024</td>
+</tr>
+<tr class="even">
+<td><code class="ph codeph">queue-size</code></td>
+<td>For asynchronous queueing. The maximum number of operations to allow into the write queue before automatically flushing the queue. Operations that would add entries to the queue block until the queue is flushed. A value of zero implies no size limit. Reaching this limit or the time-interval limit will cause the queue to flush.</td>
+<td>0</td>
+</tr>
+<tr class="odd">
+<td><code class="ph codeph">time-interval</code></td>
+<td>For asynchronous queueing. The number of milliseconds that can elapse before data is flushed to disk. Reaching this limit or the queue-size limit causes the queue to flush.</td>
+<td>1000</td>
+</tr>
+<tr class="even">
+<td><code class="ph codeph">write-buffer-size</code></td>
+<td>Size of the buffer, in bytes, used to write to disk.</td>
+<td>32768</td>
+</tr>
+</tbody>
+</table>
+
+| `disk-store` subelement | Description                                                                             | Default                |
+|-------------------------|-----------------------------------------------------------------------------------------|------------------------|
+| `<disk-dirs>`           | Defines the system directories where the disk store is written and their maximum sizes. | `.` with no size limit |
+
+## <a id="disk_store_configuration_params__section_366001C72D674AF69B2CED91BFA73A9B" class="no-quick-link"></a>disk-dirs Element
+
+The `<disk-dirs>` element defines the host system directories to use for the disk store. It contains one or more single `<disk-dir>` elements with the following contents:
+
+-   The directory specification, provided as the text of the `disk-dir` element.
+-   An optional `dir-size` attribute specifying the maximum amount of space, in megabytes, to use for the disk store in the directory. By default, there is no limit. The space used is calculated as the combined sizes of all oplog files.
+
+You can specify any number of `disk-dir` subelements to the `disk-dirs` element. The data is spread evenly among the active disk files in the directories, keeping within any limits you set.
+
+Example:
+
+``` pre
+<disk-dirs>
+    <disk-dir>/host1/users/gf/memberA_DStore</disk-dir>
+    <disk-dir>/host2/users/gf/memberA_DStore</disk-dir> 
+    <disk-dir dir-size="20480">/host3/users/gf/memberA_DStore</disk-dir> 
+</disk-dirs>
+```
+
+**Note:**
+The directories must exist when the disk store is created or the system throws an exception. Geode does not create directories.
+
+Use different disk-dir specifications for different disk stores. You cannot use the same directory for the same named disk store in two different members.



[30/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_additional/case_sensitivity.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/case_sensitivity.html.md.erb b/geode-docs/developing/query_additional/case_sensitivity.html.md.erb
new file mode 100644
index 0000000..2d49259
--- /dev/null
+++ b/geode-docs/developing/query_additional/case_sensitivity.html.md.erb
@@ -0,0 +1,19 @@
+---
+title:  Case Sensitivity
+---
+
+Query language keywords such as SELECT, NULL, DATE, and &lt;TRACE&gt; are case-insensitive. Identifiers such as attribute names, method names, and path expressions are case-sensitive.
+
+In terms of query string and region entry matching, if you want to perform a case-insensitive search on a particular field, you can use the Java String class `toUpperCase` and `toLowerCase` methods in your query. For example:
+
+``` pre
+SELECT entry.value FROM /exampleRegion.entries entry WHERE entry.value.toUpperCase LIKE '%BAR%'
+```
+
+or
+
+``` pre
+SELECT * FROM /exampleRegion WHERE foo.toLowerCase LIKE '%bar%'
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_additional/literals.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/literals.html.md.erb b/geode-docs/developing/query_additional/literals.html.md.erb
new file mode 100644
index 0000000..37fcc0f
--- /dev/null
+++ b/geode-docs/developing/query_additional/literals.html.md.erb
@@ -0,0 +1,65 @@
+---
+title:  Supported Literals
+---
+
+## <a id="literals__section_BA2D0AC444EB45088F00D9E2C8A1DD06" class="no-quick-link"></a>Comparing Values With java.util.Date
+
+Geode supports the following literal types:
+
+<dt>**boolean**</dt>
+<dd>A `boolean` value, either TRUE or FALSE</dd>
+<dt>**int** and **long**</dt>
+<dd>An integer literal is of type `long` if has a suffix of the ASCII letter L. Otherwise it is of type `int`.</dd>
+<dt>**floating point**</dt>
+<dd>A floating-point literal is of type `float` if it has a suffix of an ASCII letter `F`. Otherwise its type is `double`. Optionally, it can have a suffix of an ASCII letter `D`. A double or floating point literal can optionally include an exponent suffix of `E` or `e`, followed by a signed or unsigned number.</dd>
+
+<dt>**string**</dt>
+<dd>String literals are delimited by single quotation marks. Embedded single-quotation marks are doubled. For example, the character string `'Hello'` evaluates to the value `Hello`, while the character string `'He said, ''Hello'''` evaluates to `He said, 'Hello'`. Embedded newlines are kept as part of the string literal.</dd>
+<dt>**char**</dt>
+<dd>A literal is of type char if it is a string literal prefixed by the keyword `CHAR`, otherwise it is of type `string`. The `CHAR` literal for the single-quotation mark character is `CHAR` `''''` (four single quotation marks).</dd>
+<dt>**date**</dt>
+<dd>A `java.sql.Date` object that uses the JDBC format prefixed with the DATE keyword: `DATE yyyy-mm-dd`. In the `Date`, `yyyy` represents the year, `mm` represents the month, and `dd` represents the day. The year must be represented by four digits; a two-digit shorthand for the year is not allowed.</dd>
+<dt>**time**</dt>
+<dd>A `java.sql.Time` object that uses the JDBC format (based on a 24-hour clock) prefixed with the TIME keyword: `TIME hh:mm:ss`. In the `Time`, `hh` represents the hours, `mm` represents the minutes, and `ss` represents the seconds.</dd>
+<dt>**timestamp**</dt>
+<dd>A `java.sql.Timestamp` object that uses the JDBC format with a TIMESTAMP prefix: `TIMESTAMP yyyy-mm-dd hh:mm:ss.fffffffff` In the `Timestamp`, `yyyy-mm-dd` represents the `date`, `hh:mm:ss` represents the `time`, and `fffffffff` represents the fractional seconds (up to nine digits).</dd>
+<dt>**NIL**</dt>
+<dd>Equivalent alternative of `NULL`.</dd>
+<dt>**NULL**</dt>
+<dd>The same as `null` in Java.</dd>
+<dt>**UNDEFINED**</dt>
+<dd>A special literal that is a valid value for any data type. An `UNDEFINED` value is the result of accessing an attribute of a null-valued attribute. Note that if you access an attribute that has an explicit value of null, then it is not undefined. For example if a query accesses the attribute address.city and address is null, the result is undefined. If the query accesses address, then the result is not undefined, it is `NULL`.</dd>
+
+You can compare temporal literal values `DATE`, `TIME`, and `TIMESTAMP` with `java.util.Date` values. There is no literal for `java.util.Date` in the query language.
+
+## <a id="literals__section_9EE6CFC410D2409188EDEAA43AC85851" class="no-quick-link"></a>Type Conversion
+
+The Geode query processor performs implicit type conversions and promotions under certain cases in order to evaluate expressions that contain different types. The query processor performs binary numeric promotion, method invocation conversion, and temporal type conversion.
+
+## <a id="literals__section_F5A3FC509FD04E09B5468BA94B814701" class="no-quick-link"></a>Binary Numeric Promotion
+
+The query processor performs binary numeric promotion on the operands of the following operators:
+
+-   Comparison operators &lt;, &lt;=, &gt;, and &gt;=
+-   Equality operators = and &lt;&gt;
+-   Binary numeric promotion widens the operands in a numeric expression to the widest representation used by any of the operands. In each expression, the query processor applies the following rules in the prescribed order until a conversion is made:
+    1.  If either operand is of type double, the other is converted to double
+    2.  If either operand is of type float, the other is converted to float
+    3.  If either operand is of type long, the other is converted to long
+    4.  Both operands are converted to type int char
+
+## <a id="literals__section_BA277AC4A9B34C93A5291ECC1FDC11C7" class="no-quick-link"></a>Method Invocation Conversion
+
+Method invocation conversion in the query language follows the same rules as Java method invocation conversion, except that the query language uses runtime types instead of compile time types, and handles null arguments differently than in Java. One aspect of using runtime types is that an argument with a null value has no typing information, and so can be matched with any type parameter. When a null argument is used, if the query processor cannot determine the proper method to invoke based on the non-null arguments, it throws an AmbiguousNameException
+
+## <a id="literals__section_0A1A6EFE98A24538B651373B1C6ED8C0" class="no-quick-link"></a>Temporal Type Conversion
+
+The temporal types that the query language supports include the Java types java.util.Date , java.sql.Date , java.sql.Time , and java.sql.Timestamp , which are all treated the same and can be compared and used in indexes. When compared with each other, these types are all treated as nanosecond quantities.
+
+## <a id="literals__section_73255A4630C94D04B461B1480AAF2F66" class="no-quick-link"></a>Enum Conversion
+
+Enums are not automatically converted. To use Enum values in query, you must use the toString method of the enum object or use a query bind parameter. See [Enum Objects](../query_select/the_where_clause.html#the_where_clause__section_59E7D64746AE495D942F2F09EF7DB9B5) for more information.
+
+## <a id="literals__section_CB624C143A2743C5ADC6F95C962F176B" class="no-quick-link"></a>Query Evaulation of Float.NaN and Double.NaN
+
+Float.NaN and Double.NaN are not evaluated as primitives; instead, they are compared in the same manner used as the JDK methods Float.compareTo and Double.compareTo. See [Double.NaN and Float.NaN Comparisons](../query_select/the_where_clause.html#the_where_clause__section_E7206D045BEC4F67A8D2B793922BF213) for more information.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_additional/operators.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/operators.html.md.erb b/geode-docs/developing/query_additional/operators.html.md.erb
new file mode 100644
index 0000000..b05d5d3
--- /dev/null
+++ b/geode-docs/developing/query_additional/operators.html.md.erb
@@ -0,0 +1,40 @@
+---
+title:  Operators
+---
+
+Geode supports comparison, logical, unary, map, index, dot, and right arrow operators.
+
+## <a id="operators__section_A3FB372F85D840D7A49CB95BD7FCA7C6" class="no-quick-link"></a>Comparison Operators
+
+Comparison operators compare two values and return the results, either TRUE or FALSE.
+
+The following are supported comparison operators:
+
+|                       |                                |
+|-----------------------|--------------------------------|
+| = equal to            | &lt; less than                 |
+| &lt;&gt; not equal to | &lt;= less than or equal to    |
+| != not equal to       | &gt; greater than              |
+| �                     | &gt;= greater than or equal to |
+
+The equal and not equal operators have lower precedence than the other comparison operators. They can be used with null. To perform equality or inequality comparisons with UNDEFINED, use the IS\_DEFINED and IS\_UNDEFINED preset query functions instead of these comparison operators.
+
+## <a id="operators__section_6A85A9DDA47E47009FDE1CC38D7BA66C" class="no-quick-link"></a>Logical Operators
+
+The logical operators AND and OR allow you to create more complex expressions by combining expressions to produce a boolean result. When you combine two conditional expressions using the AND operator, both conditions must evaluate to true for the entire expression to be true. When you combine two conditional expressions using the OR operator, the expression evaluates to true if either one or both of the conditions are true. You can create complex expressions by combining multiple simple conditional expressions with AND and OR operators. When expressions use AND and OR operators, AND has higher precedence than OR.
+
+## <a id="operators__section_A970AE75B0D24E0B9E1B61BE2D9842D8" class="no-quick-link"></a>Unary Operators
+
+Unary operators operate on a single value or expression, and have lower precedence than comparison operators in expressions. Geode supports the unary operator NOT. NOT is the negation operator, which changes the value of the operand to its opposite. So if an expression evaluates to TRUE, NOT changes it to FALSE. The operand must be a boolean.
+
+## <a id="operators__section_E78FB4FB3703471C8186A0E26D25F01F" class="no-quick-link"></a>Map and Index Operators
+
+Map and index operators access elements in key/value collections (such as maps and regions) and ordered collections (such as arrays, lists, and `String`s). The operator is represented by a set of square brackets (`[ ]`) immediately following the name of the collection. The mapping or indexing specification is provided inside these brackets.
+
+Array, list, and `String` elements are accessed using an index value. Indexing starts from zero for the first element, 1 for the second element and so on. If `myList` is an array, list, or String and `index` is an expression that evaluates to a non-negative integer, then `myList[index]` represents the (`index + 1`)th element of `myList`. The elements of a `String` are the list of characters that make up the string.
+
+Map and region values are accessed by key using the same syntax. The key can be any `Object`. For a `Region`, the map operator performs a non-distributed `get` in the local cache only - with no use of `netSearch`. So `myRegion[keyExpression]` is the equivalent of `myRegion.getEntry(keyExpression).getValue`.
+
+## <a id="operators__section_6C0BB787B2324B85AA02AA19D4822A83" class="no-quick-link"></a>Dot, Right Arrow, and Forward Slash Operators
+
+The dot operator (`.`) separates attribute names in a path expression, and specifies the navigation through object attributes. An alternate equivalent to the dot is the right arrow, (`->`). The forward slash is used to separate region names when navigating into subregions.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_additional/order_by_on_partitioned_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/order_by_on_partitioned_regions.html.md.erb b/geode-docs/developing/query_additional/order_by_on_partitioned_regions.html.md.erb
new file mode 100644
index 0000000..4d52a88
--- /dev/null
+++ b/geode-docs/developing/query_additional/order_by_on_partitioned_regions.html.md.erb
@@ -0,0 +1,18 @@
+---
+title:  Using ORDER BY on Partitioned Regions
+---
+
+To execute a query with an ORDER BY clause on a partitioned region, the fields specified in the ORDER BY clause must be part of the projection list.
+
+When an ORDER BY clause is used with a partition region query, the query is executed separately on each region host, the local query coordinator, and all remote members. The results are all gathered by the query coordinator. The cumulative result set is built by applying ORDER BY on the gathered results. If the LIMIT clause is also used in the query, ORDER BY and LIMIT are applied on each node before each node\u2019s results are returned to the coordinator. Then the clauses are applied to the cumulative result set to get the final result set, which is returned to the calling application.
+
+**Example:**
+
+``` pre
+// This query works because p.status is part of projection list
+select distinct p.ID, p.status from /region p where p.ID > 5 order by p.status
+// This query works providing status is part of the value indicated by *
+select distinct * from /region where ID > 5 order by status 
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_additional/partitioned_region_key_or_field_value.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/partitioned_region_key_or_field_value.html.md.erb b/geode-docs/developing/query_additional/partitioned_region_key_or_field_value.html.md.erb
new file mode 100644
index 0000000..f97c011
--- /dev/null
+++ b/geode-docs/developing/query_additional/partitioned_region_key_or_field_value.html.md.erb
@@ -0,0 +1,66 @@
+---
+title:  Optimizing Queries on Data Partitioned by a Key or Field Value
+---
+
+You can improve query performance on data that is partitioned by key or a field value by creating a key index and then executing the query using the `FunctionService` with the key or field value used as filter.
+
+The following is an example how to optimize a query that will be run on data partitioned by region key value. In the following example, data is partitioned by the "orderId" field.
+
+1.  Create a key index on the orderId field. See [Creating Key Indexes](../query_index/creating_key_indexes.html#concept_09E29507AF0D42CF81D261B030D0B7C8) for more details.
+2.  Execute the query using the function service with orderId provided as the filter to the function context. For example:
+
+    ``` pre
+    /**
+     * Execute MyFunction for query on data partitioned by orderId key
+     *
+     */
+    public class TestFunctionQuery {
+
+      public static void main(String[] args) {
+
+        Set filter =  new HashSet();
+        ResultCollector rcollector = null;
+
+        //Filter data based on orderId  = '12345'
+        filter.add(12345);
+
+        //Query to get all orders that match ID 12345 and amount > 1000
+        String qStr = "SELECT * FROM /Orders WHERE orderId = '12345' AND amount > 1000";
+
+        try {
+          Function func = new MyFunction("testFunction");
+
+          Region region = CacheFactory.getAnyInstance().getRegion("myPartitionRegion");
+
+          //Function will be routed to one node containing the bucket
+          //for ID=1 and query will execute on that bucket.
+          rcollector = FunctionService
+              .onRegion(region)
+              .withArgs(qStr)
+              .withFilter(filter)
+              .execute(func);
+
+          Object result = rcollector.getResult();
+
+          //Results from one or multiple nodes.
+          ArrayList resultList = (ArrayList)result;
+
+          List queryResults = new ArrayList();
+
+          if (resultList.size()!=0) {
+            for (Object obj: resultList) {
+              if (obj != null) {
+                queryResults.addAll((ArrayList)obj);
+              }
+            }
+          }
+          printResults(queryResults);
+
+        } catch (FunctionException ex) {
+            getLogger().info(ex);
+        }
+      }
+    }
+    ```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_additional/partitioned_region_query_restrictions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/partitioned_region_query_restrictions.html.md.erb b/geode-docs/developing/query_additional/partitioned_region_query_restrictions.html.md.erb
new file mode 100644
index 0000000..429081e
--- /dev/null
+++ b/geode-docs/developing/query_additional/partitioned_region_query_restrictions.html.md.erb
@@ -0,0 +1,33 @@
+---
+title:  Partitioned Region Query Restrictions
+---
+
+## <a id="concept_5353476380D44CC1A7F586E5AE1CE7E8__section_16875A7EA07D42C08FB194F4A854360D" class="no-quick-link"></a>Query Restrictions in Partitioned Regions
+
+Partitioned region queries function the same as non-partitioned region queries, except for the restrictions listed in this section. Partitioned region queries that do not follow these guidelines generate an `UnsupportedOperationException`.
+
+-   Join queries between partitioned region and between partitioned regions and replicated regions are supported through the function service only. Join queries partitioned regions are not supported through the client server API.
+-   You can run join queries on partitioned regions and on partitioned regions and replicated regions only if they are co-located. Equi-join queries are supported only on partitioned regions that are co-located and where the co-located columns are indicated in the WHERE clause of the query. In the case of multi-column partitioning, there should also be an AND clause in the WHERE specification. See [Colocate Data from Different Partitioned Regions](../partitioned_regions/colocating_partitioned_region_data.html#colocating_partitioned_region_data) for more information on partitioned region co-location.
+-   Equi-join queries are allowed between partitioned regions and between partitioned regions and local replicated regions as long as the local replicated region also exists on all partitioned region nodes. To perform a join query on a partitioned region and another region (partitioned or not), you need to use the `query.execute` method and supply it with a function execution context. See [Performing an Equi-Join Query on Partitioned Regions](../partitioned_regions/join_query_partitioned_regions.html#concept_B930D276F49541F282A2CFE639F107DD) for an example.
+-   The query must be just a SELECT expression (as opposed to arbitrary OQL expressions), preceded by zero or more IMPORT statements. For example, this query is not allowed because it is not just a SELECT expression:
+
+    ``` pre
+    // NOT VALID for partitioned regions
+    (SELECT DISTINCT *FROM /prRgn WHERE attribute > 10).size
+    ```
+
+    This query is allowed:
+
+    ``` pre
+    // VALID for partitioned regions
+    SELECT DISTINCT *FROM /prRgn WHERE attribute > 10
+    ```
+
+-   The SELECT expression itself can be arbitrarily complex, including nested SELECT expressions, as long as only one partitioned region is referenced.
+-   The partitioned region reference can only be in the first FROM clause iterator. Additional FROM clause iterators are allowed if they do not reference any regions (such as drilling down into the values in the partitioned region).
+-   The first FROM clause iterator must contain only one reference to the partitioned region (the reference can be a parameter, such as $1).
+-   The first FROM clause iterator cannot contain a subquery, but subqueries are allowed in additional FROM clause iterators.
+-   You can use ORDER BY on partitioned region queries, but the fields that are specified in the ORDER BY clause must be part of the projection list.
+-   If a partition region (or a bucket) being queried has been destroyed, the query is reattempted on the new primary for the destroyed bucket (if it exists). After certain number of attempts, a QueryException is thrown if all buckets (calculated at the startup of the query) cannot be queried.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_additional/query_debugging.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/query_debugging.html.md.erb b/geode-docs/developing/query_additional/query_debugging.html.md.erb
new file mode 100644
index 0000000..b39cf08
--- /dev/null
+++ b/geode-docs/developing/query_additional/query_debugging.html.md.erb
@@ -0,0 +1,87 @@
+---
+title:  Query Debugging
+---
+
+You can debug a specific query at the query level by adding the `<trace>` keyword before the query string that you want to debug.
+
+Here is an example:
+
+``` pre
+<trace> select * from /exampleRegion
+```
+
+You can also write:
+
+``` pre
+<TRACE> select * from /exampleRegion
+```
+
+When the query is executed, Geode will log a message in `$GEMFIRE_DIR/system.log` with the following information:
+
+``` pre
+[info 2011/08/29 11:24:35.472 PDT CqServer <main> tid=0x1] Query Executed in 9.619656 ms; rowCount = 99; indexesUsed(0) "select *  from /exampleRegion" 
+```
+
+If you want to enable debugging for all queries, you can enable query execution logging by setting a System property on the command line during start-up:
+
+``` pre
+gfsh>start server --name=server_name -\u2013J=-Dgemfire.Query.VERBOSE=true
+```
+
+Or you can set the property programmatically:
+
+``` pre
+System.setProperty("gemfire.Query.VERBOSE","true");
+```
+
+As an example, let us say you have an EmployeeRegion that that contains Employee objects as values and the objects have public fields in them like ID and status.
+
+``` pre
+Employee.java
+Class Employee {
+ public int ID;
+ public String status;
+ - - - - - -
+ - - - - - -
+}
+```
+
+In addition, you have created the following indexes for the region:
+
+``` pre
+<index name="sampleIndex-1">
+<functional from-clause="/test " expression="ID"/>
+</index>
+<index name="sampleIndex-2">
+<functional from-clause="/test " expression="status"/>
+</index>
+```
+
+After you have set `gemfire.Query.VERBOSE` to "true", you could see the following debug messages in the logs after running queries on the EmployeeRegion or its indexes:
+
+-   If indexes are not used in the query execution, you would see a debug message like this:
+
+    ``` pre
+    [info 2011/08/29 11:24:35.472 PDT CqServer <main> tid=0x1] Query Executed in 9.619656 ms; rowCount = 99; indexesUsed(0) "select * from /test k where ID > 0 and status='active'"
+    ```
+
+-   When single index is used in query execution, you might see a debug message like this:
+
+    ``` pre
+    [info 2011/08/29 11:24:35.472 PDT CqServer <main> tid=0x1] Query Executed in 101.43499 ms; rowCount = 199; indexesUsed(1):sampleIndex-1(Results: 199) "select count *   from /test k where ID > 0"
+    ```
+
+-   When multiple indexes are used by a query, you might see a debug message like this:
+
+    ``` pre
+    [info 2011/08/29 11:24:35.472 PDT CqServer <main> tid=0x1] Query Executed in 79.43847 ms; rowCount = 199; indexesUsed(2):sampleIndex-2(Results: 100),sampleIndex-1(Results: 199) "select * from /test k where ID > 0 OR status='active'"
+    ```
+
+In above log messages, the following information is provided:
+
+-   "rowCount" represents ResultSet size for the query.
+-   "indexesUsed(\\n) " shows n indexes were used for finding the results of the query.
+-   Each index name and its corresponding results are reported respectively.
+-   The log can be identified with the original query string itself appended in the end.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_additional/query_language_features.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/query_language_features.html.md.erb b/geode-docs/developing/query_additional/query_language_features.html.md.erb
new file mode 100644
index 0000000..eea7cc0
--- /dev/null
+++ b/geode-docs/developing/query_additional/query_language_features.html.md.erb
@@ -0,0 +1,24 @@
+---
+title:  OQL Syntax and Semantics
+---
+
+<a id="concept_5B8BA904DF2A41BEAA057017777D4E90__section_33F0FD791A2448CB812E8397828B33C2"></a>
+This section covers the following querying language features:
+
+-   **[Supported Character Sets](../../developing/querying_basics/supported_character_sets.html)**
+
+-   **[Supported Keywords](../../developing/query_additional/supported_keywords.html)**
+
+-   **[Case Sensitivity](../../developing/query_additional/case_sensitivity.html)**
+
+-   **[Comments in Query Strings](../../developing/querying_basics/comments_in_query_strings.html)**
+
+-   **[Query Language Grammar](../../developing/querying_basics/query_grammar_and_reserved_words.html)**
+
+-   **[Operators](../../developing/query_additional/operators.html)**
+
+-   **[Reserved Words](../../developing/querying_basics/reserved_words.html)**
+
+-   **[Supported Literals](../../developing/query_additional/literals.html)**
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_additional/query_on_a_single_node.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/query_on_a_single_node.html.md.erb b/geode-docs/developing/query_additional/query_on_a_single_node.html.md.erb
new file mode 100644
index 0000000..6b56cb0
--- /dev/null
+++ b/geode-docs/developing/query_additional/query_on_a_single_node.html.md.erb
@@ -0,0 +1,155 @@
+---
+title:  Querying a Partitioned Region on a Single Node
+---
+
+To direct a query to specific partitioned region node, you can execute the query within a function. Use the following steps:
+
+1.  Implement a function which executes a query using RegionFunctionContext.
+
+    ``` pre
+    /**
+     * This function executes a query using its RegionFunctionContext
+     * which provides a filter on data which should be queried.
+     *
+     */
+    public class MyFunction extends FunctionAdapter {
+
+        private final String id;
+
+        @Override
+        public void execute(FunctionContext context) {
+
+          Cache cache = CacheFactory.getAnyInstance();
+          QueryService queryService = cache.getQueryService();
+
+          String qstr = (String) context.getArguments();
+
+          try {
+            Query query = queryService.newQuery(qstr);
+
+            //If function is executed on region, context is RegionFunctionContext
+            RegionFunctionContext rContext = (RegionFunctionContext)context;
+
+            SelectResults results = (SelectResults) query.execute(rContext)
+
+            //Send the results to function caller node.
+            context.getResultSender().sendResult((ArrayList) (results).asList());
+            context.getResultSender().lastResult(null);
+
+          } catch (Exception e) {
+            throw new FunctionException(e);
+          }
+        }
+
+        @Override
+        public boolean hasResult() {
+          return true;
+        }
+
+        @Override
+        public boolean isHA() {
+          return false;
+        }
+
+
+        public MyFunction(String id) {
+          super();
+          this.id = id;
+        }
+
+        @Override
+        public String getId() {
+          return this.id;
+        }
+      }
+    ```
+
+2.  Decide on the data you want to query. Based on this decision, you can use `PartitionResolver` to configure the organization of buckets to be queried in the Partitioned Region.
+
+    For example, let's say that you have defined the PortfolioKey class:
+
+    ``` pre
+    public class PortfolioKey implements DataSerializable {
+      private int id;
+      private long startValidTime;
+      private long endValidTime
+      private long writtenTime
+      
+      public int getId() {
+        return this.id;
+      }
+    ...
+    }
+    ```
+
+    You could use the `MyPartitionResolver` to store all keys with the same ID in the same bucket. This `PartitionResolver` has to be configured at the time of Partition Region creation either declaratively using xml OR using APIs. See [Configuring Partitioned Regions](../partitioned_regions/managing_partitioned_regions.html#configure_partitioned_regions) for more information.
+
+    ``` pre
+    /** This resolver returns the value of the ID field in the key. With this resolver, 
+     * all Portfolios using the same ID are colocated in the same bucket.
+     */
+    public class MyPartitionResolver implements PartitionResolver, Declarable {
+
+       public Serializable getRoutingObject(EntryOperation operation) {
+       return operation.getKey().getId();
+    }
+    ```
+
+3.  Execute the function on a client or any other node by setting the filter in the function call.
+
+    ``` pre
+    /**
+     * Execute MyFunction for query on specified keys.
+     *
+     */
+    public class TestFunctionQuery {
+
+      public static void main(String[] args) {
+
+        ResultCollector rcollector = null;
+        PortfolioKey portfolioKey1 = ...;
+
+        //Filter data based on portfolioKey1 which is the key used in 
+        //region.put(portfolioKey1, portfolio1);
+        Set filter = Collections.singleton(portfolioKey1);
+
+        //Query to get all positions for portfolio ID = 1
+        String qStr = "SELECT positions FROM /myPartitionRegion WHERE ID = 1";
+
+        try {
+          Function func = new MyFunction("testFunction");
+
+          Region region = CacheFactory.getAnyInstance().getRegion("myPartitionRegion");
+
+          //Function will be routed to one node containing the bucket
+          //for ID=1 and query will execute on that bucket.
+          rcollector = FunctionService
+              .onRegion(region)
+              .withArgs(qStr)
+              .withFilter(filter)
+              .execute(func);
+
+          Object result = rcollector.getResult();
+
+          //Results from one or multiple nodes.
+          ArrayList resultList = (ArrayList)result;
+
+          List queryResults = new ArrayList();
+
+          if (resultList.size()!=0) {
+            for (Object obj: resultList) {
+              if (obj != null) {
+                queryResults.addAll((ArrayList)obj);
+              }
+            }
+          }
+          printResults(queryResults);
+
+        } catch (FunctionException ex) {
+            getLogger().info(ex);
+        }
+      }
+    }
+    ```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_additional/supported_keywords.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/supported_keywords.html.md.erb b/geode-docs/developing/query_additional/supported_keywords.html.md.erb
new file mode 100644
index 0000000..1a257f6
--- /dev/null
+++ b/geode-docs/developing/query_additional/supported_keywords.html.md.erb
@@ -0,0 +1,31 @@
+---
+title:  Supported Keywords
+---
+
+| Query Language Keyword | Description                                                                                                                                                                                                                                                                                                                                         | Example                                                                                                                                                                                                                                                    |
+|------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| AND                    | Logical operator used to create complex expressions by combining two or more expressions to produce a Boolean result. When you combine two conditional expressions using the AND operator, both conditions must evaluate to true for the entire expression to be true.                                                                              | See [Operators](operators.html#operators)                                                                                                                                                                                          |
+| AS                     | Used to provide a label for a path expression so you can refer to the path by the label later.                                                                                                                                                                                                                                                      | See [Aliases and Synonyms](../query_select/the_from_clause.html#the_from_clause__section_AB1734C16DC348479C00FD6829B933AA)                                                                                                         |
+| COUNT                  | Returns the number of results that match the provided criteria.                                                                                                                                                                                                                                                                                     | See [COUNT](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_B2CBA00EB83F463DAF4769D7859C64C8)                                                                                          |
+| DISTINCT               | Restricts the select statement to unique results (eliminates duplicates).                                                                                                                                                                                                                                                                           | See [DISTINCT](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_972EE73A6F3E4427B6A99DB4EDF5860D)                                                                                       |
+| ELEMENT                | Query function. Extracts a single element from a collection or array. This function throws a `FunctionDomainException ` if the argument is not a collection or array with exactly one element.                                                                                                                                                      | See [Preset Query Functions](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_69DCAD624E9640028BC86FD67649DEB2)                                                                         |
+| FROM                   | You can access any object or object attribute that is available in the current scope of the query.                                                                                                                                                                                                                                                  | See [FROM Clause](../query_select/the_from_clause.html#the_from_clause)                                                                                                                                                            |
+| &lt;HINT&gt;           | Keyword that instructs the query engine to prefer certain indexes.                                                                                                                                                                                                                                                                                  | See [Using Query Index Hints](../query_index/query_index_hints.html)                                                             |
+| IMPORT                 | Used to establish the namescope for objects.                                                                                                                                                                                                                                                                                                        | See [IMPORT Statement](../query_select/the_import_statement.html#concept_2E9F15B2FE9041238B54736103396BF7)                                                                                                                         |
+| IN                     | The IN expression is a Boolean indicating whether one expression is present inside a collection of expressions of a compatible type.                                                                                                                                                                                                                | See [IN and SET](../query_select/the_where_clause.html#the_where_clause__section_AC12146509F141378E493078540950C7)                                                                                                                 |
+| IS\_DEFINED            | Query function. Returns TRUE if the expression does not evaluate to UNDEFINED.                                                                                                                                                                                                                                                                      | See [Preset Query Functions](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_69DCAD624E9640028BC86FD67649DEB2)                                                                         |
+| IS\_UNDEFINED          | Query function. Returns TRUE if the expression evaluates to UNDEFINED. In most queries, undefined values are not included in the query results. The IS\_UNDEFINED function allows undefined values to be included, so you can identify element with undefined values.                                                                               | See [Preset Query Functions](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_69DCAD624E9640028BC86FD67649DEB2)                                                                         |
+| LIMIT                  | Limits the number of returned results. If you use the limit keyword, you cannot also run operations on the query result set that perform any kind of summary activities. For example trying to run add or addAll or a SelectResult from a query with a LIMIT clause throws an exception.                                                            | See [LIMIT](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_25D7055B33EC47B19B1B70264B39212F)                                                                                          |
+| LIKE                   | LIKE can be used to mean 'equals to', or if you terminate the string with a wildcard character (`%`), it behaves like 'starts with'. Note that the wildcard can only be used at the end of the comparison string. You can escape the wildcard character to represent the `%` character. You can also use the LIKE predicate if an index is present. | See [LIKE](../query_select/the_where_clause.html#the_where_clause__section_D91E0B06FFF6431490CC0BFA369425AD)                                                                                                                       |
+| NOT                    | The example returns the set of portfolios that have positions. Note that NOT cannot use an index.                                                                                                                                                                                                                                                   | See [Operators](operators.html#operators)                                                                                                                                                                                          |
+| NVL                    | Returns expr2 if expr1 is null. The expressions can be query parameters (bind arguments), path expressions, or literals.                                                                                                                                                                                                                            | See [Preset Query Functions](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_69DCAD624E9640028BC86FD67649DEB2)                                                                         |
+| OR                     | If an expression uses both AND and OR operators, the AND expression has higher precedence than OR.                                                                                                                                                                                                                                                  | See [Operators](operators.html#operators)                                                                                                                                                                                          |
+| ORDER BY               | Allows you to order query results (either in ascending or descending order).                                                                                                                                                                                                                                                                        | See [ORDER BY](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_D9DF0F785CA94EF8B367C3326CC12990)                                                                                       |
+| SELECT                 | Allows you to filter data from the collection of object(s) returned by a WHERE search operation.                                                                                                                                                                                                                                                    | See [SELECT Statement](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E)                                                                                                                         |
+| SET                    | Specifies a collection of values that can be compared to the returned values of query.                                                                                                                                                                                                                                                              | See [IN and SET](../query_select/the_where_clause.html#the_where_clause__section_AC12146509F141378E493078540950C7)                                                                                                                 |
+| &lt;TRACE&gt;          | Enables debugging on the following query string.                                                                                                                                                                                                                                                                                                    | See [Query Debugging](query_debugging.html#concept_2D557E24AAB24044A3DB36B3124F6748) |
+| TO\_DATE               | Returns a Java Data class object. The arguments must be String S with date\_str representing the date and format\_str representing the format used by date\_str. The format\_str you provide is parsed using java.text.SimpleDateFormat.                                                                                                            | See [Preset Query Functions](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_69DCAD624E9640028BC86FD67649DEB2)                                                                         |
+| TYPE                   | Specifying object type in the FROM clause helps the query engine to process the query at optimal speed.                                                                                                                                                                                                                                             | See [Object Typing](../query_select/the_from_clause.html#the_from_clause__section_A5B42CCB7C924949954AEC2DAAD51134)                                                                                                                |
+| WHERE                  | Resolves to a collection of objects. The collection is then available for iteration in the query expressions that follow in the WHERE clause.                                                                                                                                                                                                       | See [WHERE Clause](../query_select/the_where_clause.html#the_where_clause)                                                                                                                                                         |
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_additional/using_query_bind_parameters.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/using_query_bind_parameters.html.md.erb b/geode-docs/developing/query_additional/using_query_bind_parameters.html.md.erb
new file mode 100644
index 0000000..cf9dcea
--- /dev/null
+++ b/geode-docs/developing/query_additional/using_query_bind_parameters.html.md.erb
@@ -0,0 +1,48 @@
+---
+title:  Using Query Bind Parameters
+---
+
+Using query bind parameters in Geode queries is similar to using prepared statements in SQL where parameters can be set during query execution. This allows user to build a query once and execute it multiple times by passing the query conditions during run time.
+
+Query objects are thread-safe.
+
+The use of query bind parameters is now supported in Client-to-Server queries.
+
+The query parameters are identified by a dollar sign, $, followed by a digit that represents the parameter's position in the parameter array passed to the execute method. Counting begins at 1, so $1 references the first bound attribute, $2 the second attribute, and so on.
+
+The Query interface provides an overloaded execute method that accepts parameters inside an Object array. See the [Query.execute](/releases/latest/javadoc/org/apache/geode/cache/query/Query.html) JavaDocs for more details.
+
+The 0th element of the Object array is used for the first query parameter, and so on. If the parameter count or parameter types do not match the query specification, the execute method throws an exception. Specifically, if you pass in the wrong number of parameters, the method call throws a `QueryParameterCountInvalidException`. If a parameter object type is not compatible with what is expected, the method call throws a `TypeMismatchException`.
+
+In the following example, the first parameter, the integer **2**, is bound to the first element in the object array. The second parameter, **active**, is bound to the second element.
+
+## <a id="concept_173E775FE46B47DF9D7D1E40680D34DF__section_7F5A800E2DA643F2B30162EF45DBA390" class="no-quick-link"></a>Sample Code
+
+``` pre
+// specify the query string
+String queryString = "SELECT DISTINCT * FROM /exampleRegion p WHERE p.id = $1 and p.status = $2";
+
+QueryService queryService = cache.getQueryService();
+Query query = queryService.newQuery(queryString);
+
+// set query bind parameters
+Object[] params = new Object[2];
+params[0] = 2;
+params[1] = "active";
+
+// Execute the query locally. It returns the results set.
+SelectResults results = (SelectResults) query.execute(params);
+
+// use the results of the query; this example only looks at the size 
+ int size = results.size();
+```
+
+## <a id="concept_173E775FE46B47DF9D7D1E40680D34DF__section_90B4A0010CDA481581B650AE6D9EBA34" class="no-quick-link"></a>Using Query Bind Parameters in the Path Expression
+
+Additionally the query engine supports the use of query bind parameter in place of a region path. When you specify a bind parameter in the query's FROM clause, the parameter's referenced value must be bound to a collection.
+
+For example, the following query can be used on any collection by passing in the collection as a query parameter value. In this query you could pass in a Region Object for $1, but not the String name of a region.
+
+``` pre
+SELECT DISTINCT * FROM $1 p WHERE p.status = $2
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_index/create_multiple_indexes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/create_multiple_indexes.html.md.erb b/geode-docs/developing/query_index/create_multiple_indexes.html.md.erb
new file mode 100644
index 0000000..a629349
--- /dev/null
+++ b/geode-docs/developing/query_index/create_multiple_indexes.html.md.erb
@@ -0,0 +1,61 @@
+---
+title:  Creating Multiple Indexes at Once
+---
+
+In order to speed and promote efficiency when creating indexes, you can define multiple indexes and then create them all at once.
+
+Defining multiple indexes before creating them speeds up the index creation process by iterating over region entries only once.
+
+You can define multiple indexes of different types at once by specifying the `--type` parameter at definition time.
+
+To define multiple indexes, you can use gfsh or the Java API:
+
+**gfsh example:**
+
+``` pre
+gfsh> define index --name=myIndex1 --expression=exp1 --region=/exampleRegion 
+
+gfsh> define index --name=myIndex2 --expression="c.exp2" --region="/exampleRegion e, e.collection1 c" 
+
+gfsh> define index --name=myIndex3 --expression=exp3 --region=/exampleRegion --type=hash 
+
+gfsh> create defined indexes
+ 
+```
+
+If index creation fails, you may receive an error message in gfsh similar to the following:
+
+``` pre
+gfsh>create defined indexes
+Exception : org.apache.geode.cache.query.RegionNotFoundException , 
+Message : Region ' /r3' not found: from  /r3Occurred on following members
+1. india(s1:17866)<v1>:27809
+```
+
+**Java API example:**
+
+``` pre
+ Cache cache = new CacheFactory().create();
+    QueryService queryService = cache.getQueryService();
+    queryService.defineIndex("name1", "indexExpr1", "regionPath1");
+    queryService.defineIndex("name2", "indexExpr2", "regionPath2");
+    queryService.defineHashIndex("name3", "indexExpr3", "regionPath2");
+    queryService.defineKeyIndex("name4", "indexExpr4", "regionPath2");
+    List<Index> indexes = queryService.createDefinedIndexes();
+```
+
+If one or more index population fails, Geode collect the Exceptions and continues to populate the rest of the indexes. The collected `Exceptions` are stored in a Map of index names and exceptions that can be accessed through `MultiIndexCreationException`.
+
+Index definitions are stored locally on the `gfsh` client. If you want to create a new set of indexes or if one or more of the index creations fail, you might want to clear the definitions stored by using `clear defined indexes`command. The defined indexes can be cleared by using the Java API:
+
+``` pre
+queryService.clearDefinedIndexes();
+```
+
+or gfsh:
+
+``` pre
+gfsh> clear defined indexes
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_index/creating_an_index.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/creating_an_index.html.md.erb b/geode-docs/developing/query_index/creating_an_index.html.md.erb
new file mode 100644
index 0000000..8e977a7
--- /dev/null
+++ b/geode-docs/developing/query_index/creating_an_index.html.md.erb
@@ -0,0 +1,94 @@
+---
+title:  Creating, Listing and Removing Indexes
+---
+
+The Geode `QueryService` API provides methods to create, list and remove the index. You can also use `gfsh` command-line interface to create, list and remove indexes, and use cache.xml to create an index.
+
+## <a id="indexing__section_565C080FBDD0443C8504DF372E3C32C8" class="no-quick-link"></a>Creating Indexes
+
+Indexes can be created programmatically, by using the `gfsh` command line interface or by using cache.xml.
+
+To create an index, use one of the following `QueryService` methods:
+
+-   `createIndex`. Creates the default type of index, a range index. Use this type of index if you will be writing queries that will be doing any kind of comparison operation besides an equality comparison.
+-   `createKeyIndex`. Creates a key index. See [Creating Key Indexes](creating_key_indexes.html#concept_09E29507AF0D42CF81D261B030D0B7C8) for more information.
+-   `createHashIndex`. Creates a hash index. See [Creating Hash Indexes](creating_hash_indexes.html#concept_5C7614F71F394C62ACA1BDC5684A7AC4) for more information.
+-   `createDefinedIndexes`. Creates multiple indexes that were previously defined using `defineIndex`. See [Creating Multiple Indexes at Once](create_multiple_indexes.html) for more information.
+
+The following sections provide examples of index creation:
+
+**Using gfsh:**
+
+``` pre
+gfsh> create index --name=myIndex --expression=status --region=/exampleRegion
+gfsh> create index --name=myKeyIndex --type=key --expression=id --region=/exampleRegion
+gfsh> create index --name=myHashIndex --type=hash --expression=mktValue --region=/exampleRegion
+```
+
+See [Index Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_688C66526B4649AFA51C0F72F34FA45E) for more examples.
+
+**Using Java API:**
+
+``` pre
+QueryService qs = cache.getQueryService();
+ qs.createIndex("myIndex", "status", "/exampleRegion");
+ qs.createKeyIndex("myKeyIndex", "id", "/exampleRegion");
+ qs.createHashIndex("myHashIndex", "mktValue", "/exampleRegion");
+```
+
+**Using cache.xml:**
+
+``` pre
+<region name=exampleRegion>
+ <region-attributes . . . >
+ </region-attributes>
+ <index name="myIndex" from-clause="/exampleRegion" expression="status"/>
+ <index name="myKeyIndex" from-clause="/exampleRegion" expression="id" key-index="true"/>
+ <index name="myHashIndex" from-clause="/exampleRegion p" expression="p.mktValue" type="hash"/>
+ ...
+</region>
+```
+
+**Note:**
+If you do not specify the type of index in cache.xml, the type defaults to "range".
+
+## <a id="indexing__section_40089270C67A49FFA0C749E287F722F8" class="no-quick-link"></a>Listing Indexes
+
+To retrieve a list of indexes from the cache or region, use the `QueryService.getIndexes` method or the `gfsh` command line interface.
+
+**Using gfsh:**
+
+``` pre
+gfsh> list indexes
+gfsh> list indexes --with-stats
+```
+
+**Using Java API:**
+
+``` pre
+QueryService qs = cache.getQueryService();
+ qs.getIndexes(); //returns a collection of all indexes in the cache
+ qs.getIndexes(exampleRegion); //returns a collection of all indexes in exampleRegion
+ qs.getIndexes(exampleRegion, myKeyIndex); //returns the index named myKeyIndex from the exampleRegion
+```
+
+## <a id="indexing__section_ACBFB76C539A405D90B05856CB79BEFF" class="no-quick-link"></a>Removing Indexes
+
+To remove an index or all indexes from the cache or region, use the `QueryService.removeIndexes` method or the `gfsh` command line interface.
+
+**Using gfsh:**
+
+``` pre
+gfsh> destroy index
+gfsh> destroy index --name=myIndex
+gfsh> destroy index --region=/exampleRegion
+```
+
+**Using Java API:**
+
+``` pre
+QueryService qs = cache.getQueryService();
+ qs.removeIndexes(); //removes all indexes from the cache
+ qs.removeIndexes(myKeyIndex); //removes the index named myKeyIndex
+ qs.removeIndexes(exampleRegion); //removes all indexes from the exampleRegion
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_index/creating_hash_indexes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/creating_hash_indexes.html.md.erb b/geode-docs/developing/query_index/creating_hash_indexes.html.md.erb
new file mode 100644
index 0000000..f7fe579
--- /dev/null
+++ b/geode-docs/developing/query_index/creating_hash_indexes.html.md.erb
@@ -0,0 +1,51 @@
+---
+title:  Creating Hash Indexes
+---
+
+Geode supports the creation of hash indexes for the purposes of performing equality-based queries.
+
+## <a id="concept_5C7614F71F394C62ACA1BDC5684A7AC4__section_8A927DFB29364DA7856E7FE122FC1654" class="no-quick-link"></a>Why Create a HashIndex
+
+By creating a hash index, you can vastly improve the memory usage of your index. If you are doing equality based queries, your indexing footprint is significantly reduced. As an example, previously when you created an index that contained string fields, copies of the strings were included in the index. By using hash indexes, we ensure that indexed expressions are canonicalized and stored in the index as pointers to the objects lying in the region. In internal test cases we have seen improvements in the 30% range depending on the keys and data being used.
+
+**Note:**
+Your performance results may vary depending on the keys and data being indexed.
+
+## <a id="concept_5C7614F71F394C62ACA1BDC5684A7AC4__section_2EF23A54378E44FFBF1BEB32E41ABD61" class="no-quick-link"></a>Performance Considerations
+
+The performance of put operations when using a hash index should be comparable to other indexes or slightly slower. Queries themselves are expected to be slightly slower due to the implementation of hash index and the cost of recalculating the key on request, which is the trade-off for the space savings that using a hash index provides.
+
+## <a id="concept_5C7614F71F394C62ACA1BDC5684A7AC4__section_800401C53E5841269F389329B8A4CDF3" class="no-quick-link"></a>Limitations
+
+The following limitations must be considered when creating hash indexes:
+
+-   You can only use hash indexes with equals and not equals queries.
+-   Hash index maintenance will be slower than the other indexes due to synchronized add methods.
+-   Hash indexes cannot be maintained asynchronously. If you attempt to create a hash index on a region with asynchronous set as the maintenance mode, an exception will be thrown.
+-   You cannot use hash indexes for queries with multiple iterators or nested collections.
+
+## <a id="concept_5C7614F71F394C62ACA1BDC5684A7AC4__section_CA2476E015D14DE7B522377C931A8492" class="no-quick-link"></a>Examples of Creating a Hash Index
+
+**Using the Java API:**
+
+``` pre
+QueryService qs = cache.getQueryService();
+ qs.createHashIndex("myHashIndex", "mktValue", "/exampleRegion");
+```
+
+**Using gfsh:**
+
+``` pre
+gfsh> create index --name=myHashIndex --expression=mktValue --region=/exampleRegion
+```
+
+**Using cache.xml:**
+
+``` pre
+<region name=exampleRegion>
+ <region-attributes . . . >
+ </region-attributes>
+ <index name="myHashIndex" from-clause="/exampleRegion p" expression="p.mktValue" type="hash"/>
+ ...
+</region>
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_index/creating_key_indexes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/creating_key_indexes.html.md.erb b/geode-docs/developing/query_index/creating_key_indexes.html.md.erb
new file mode 100644
index 0000000..fb9de44
--- /dev/null
+++ b/geode-docs/developing/query_index/creating_key_indexes.html.md.erb
@@ -0,0 +1,49 @@
+---
+title:  Creating Key Indexes
+---
+
+Creating a key index is a good way to improve query performance when data is partitioned using a key or a field value. You can create key indexes by using the `createKeyIndex` method of the QueryService or by defining the index in `cache.xml`. Creating a key index makes the query service aware of the relationship between the values in the region and the keys in the region.
+
+The FROM clause for a primary key index must be just a region path. The indexed expression is an expression that, when applied to an entry value, produces the key. For example, if a region has Portfolios as the values and the keys are the id field of the Portfolios region, the indexed expression is id.
+
+You can then use the FunctionService (using the partitioned key as a filter passed to the function and as part of the query equality condition) to execute the query against the indexed data. See [Optimizing Queries on Data Partitioned by a Key or Field Value](../query_additional/partitioned_region_key_or_field_value.html#concept_3010014DFBC9479783B2B45982014454) for more details.
+
+There are two issues to note with key indexes:
+
+-   The key index is not sorted. Without sorting, you can only do equality tests. Other comparisons are not possible. To obtain a sorted index on your primary keys, create a functional index on the attribute used as the primary key.
+-   The query service is not automatically aware of the relationship between the region values and keys. For this, you must create the key index.
+
+**Note:**
+Using a key-index with an explicit type='range' in the cache.xml will lead to an exception. Key indexes will not be used in 'range' queries.
+
+## <a id="concept_09E29507AF0D42CF81D261B030D0B7C8__section_8F1B7893F6D44D9CB36679222927031C" class="no-quick-link"></a>Examples of Creating a Key Index
+
+**Using Java API:**
+
+``` pre
+QueryService qs = cache.getQueryService();
+ qs.createKeyIndex("myKeyIndex", "id", "/exampleRegion");
+ 
+```
+
+**Using gfsh:**
+
+``` pre
+gfsh> create index --name=myKeyIndex --expression=id --region=/exampleRegion
+```
+
+**Using cache.xml:**
+
+``` pre
+<region name=exampleRegion>
+ <region-attributes . . . >
+ </region-attributes>
+ <index name="myKeyIndex" from-clause="/exampleRegion" expression="id" key-index="true"/>
+ ...
+</region>
+```
+
+**Note:**
+If you do not specify the type of index when defining indexes using cache.xml, the type defaults to "range".
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_index/creating_map_indexes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/creating_map_indexes.html.md.erb b/geode-docs/developing/query_index/creating_map_indexes.html.md.erb
new file mode 100644
index 0000000..32a5cf2
--- /dev/null
+++ b/geode-docs/developing/query_index/creating_map_indexes.html.md.erb
@@ -0,0 +1,44 @@
+---
+title:  Creating Indexes on Map Fields ("Map Indexes")
+---
+
+To assist with the quick lookup of multiple values in a Map (or HashMap) type field, you can create an index (sometimes referred to as a "map index") on specific (or all) keys in that field.
+
+For example, you could create a map index to support the following query:
+
+``` pre
+SELECT * fROM /users u WHERE u.name['first'] = 'John' OR u.name['last'] = 'Smith'
+```
+
+The map index extends regular range indexes created on single key by maintaining indexes for other specified keys, or for all keys if `*` is used. The underlying structure of the map index can be thought of as a wrapper around all these indexes.
+
+The following Java code samples provide examples of how to create a map index:
+
+``` pre
+QueryService qs = cache.getQueryService();
+
+//This will create indexes for for keys 'PVTL' and 'VMW'
+qs.createIndex("indexName", "p.positions['PVTL', 'VMW']", "/portfolio p");
+```
+
+``` pre
+QueryService qs = cache.getQueryService();
+
+//This will create indexes for all keys
+qs.createIndex("indexName", "p.positions[*]", "/portfolio p");
+```
+
+In gfsh, the equivalents are:
+
+``` pre
+gfsh>create index --name="IndexName" --expression="p.positions['PVTL', 'VMW']" --region="/portfolio p"
+
+gfsh>create index --name="IndexName" --expression="p.positions[*]" --region="/portfolio p"
+```
+
+In order to create or query a map index, you must use the bracket notation to list the map field keys you wish to index or query. For example: `[*]`, `['keyX1','keyX2\u2019]`. Note that using `p.pos.get('keyX1')` will not create or query the map index.
+
+**Note:**
+You can still query against Map or HashMap fields without querying against a map index. For example, you can always create a regular range query on a single key in any Map or HashMap field. However, note that subsequent query lookups will be limited to a single key.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_index/index_samples.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/index_samples.html.md.erb b/geode-docs/developing/query_index/index_samples.html.md.erb
new file mode 100644
index 0000000..ce2e67c
--- /dev/null
+++ b/geode-docs/developing/query_index/index_samples.html.md.erb
@@ -0,0 +1,63 @@
+---
+title:  Index Samples
+---
+
+This topic provides code samples for creating query indexes.
+
+``` pre
+ // Key index samples. The field doesn't have to be present.
+createKeyIndex("pkidIndex","p.pkid1","/root/exampleRegion p");
+ 
+createKeyIndex("Index4","ID","/portfolios");
+ 
+// Simple index
+createIndex("pkidIndex","p.pkid","/root/exampleRegion p");
+createIndex("i", "p.status", "/exampleRegion p")
+createIndex("i", "p.ID", "/exampleRegion p")
+createIndex("i", "p.position1.secId", "/exampleRegion p"
+ 
+// On Set type
+ createIndex("setIndex","s","/root/exampleRegion p, p.sp s");
+ 
+// Positions is a map
+createIndex("secIdIndex","b.secId","/portfolios pf, pf.positions.values b");
+
+//...
+createIndex("i", "pf.collectionHolderMap[(pf.Id).toString()].arr[pf.ID]", "/exampleRegion pf")
+createIndex("i", "pf.ID", "/exampleRegion pf", "pf.positions.values pos")
+createIndex("i", "pos.secId", "/exampleRegion pf", "pf.positions.values pos")
+createIndex("i", "e.value.getID()", "/exampleRegion.entrySet e")
+createIndex("i", "e.value.ID", "/exampleRegion.entrySet e")
+
+//...
+createIndex("i", "entries.value.getID", "/exampleRegion.entrySet() entries")
+createIndex("i", "ks.toString", "/exampleRegion.getKeys() ks")
+createIndex("i", "key.status", "/exampleRegion.keys key")
+createIndex("i", "secIds.length", "/exampleRegion p, p.secIds secIds")
+createIndex("i", "secId", "/portfolios.asList[1].positions.values")
+createIndex("i", "secId", "/portfolios['1'].positions.valules")
+
+//Index on Map types
+createIndex("i", "p.positions['key1']", "/exampleRegion p")
+createIndex("i", "p.positions['key1','key2',key3',key7']", "/exampleRegion p")
+createIndex("i", "p.positions[*]", "/exampleRegion p")
+```
+
+The following are some sample queries on indexes.
+
+``` pre
+SELECT * FROM (SELECT * FROM /R2 m) r2, (SELECT * FROM  /exampleRegion e WHERE e.pkid IN r2.sp) p
+
+SELECT * FROM (SELECT * FROM /R2 m WHERE m.ID IN SET (1, 5, 10)) r2, 
+     (SELECT * FROM  /exampleRegion e WHERE e.pkid IN  r2.sp) p
+
+//examples using position index in the collection
+SELECT * FROM /exampleRegion p WHERE p.names[0] = 'aaa'
+
+SELECT * FROM /exampleRegion p WHERE p.position3[1].portfolioId = 2
+
+SELECT DISTINCT positions.values.toArray[0], positions.values.toArray[0], status 
+FROM /exampleRegion
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_index/indexes_on_single_region_queries.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/indexes_on_single_region_queries.html.md.erb b/geode-docs/developing/query_index/indexes_on_single_region_queries.html.md.erb
new file mode 100644
index 0000000..35662f7
--- /dev/null
+++ b/geode-docs/developing/query_index/indexes_on_single_region_queries.html.md.erb
@@ -0,0 +1,33 @@
+---
+title:  Using Indexes on Single Region Queries
+---
+
+Queries with one comparison operation may be improved with either a key or range index, depending on whether the attribute being compared is also the primary key.
+
+<a id="concept_0210701C193A470E8C572111F6CEC3FC__section_751427643EC3480BABCE9CA44E831E27"></a>
+If pkid is the key in the /exampleRegion region, creating a key index on pkid is the best choice as a key index does not have maintenance overhead. If pkid is not the key, a range index on pkid should improve performance.
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion portfolio WHERE portfolio.pkid = '123'
+```
+
+With multiple comparison operations, you can create a range index on one or more of the attributes. Try the following:
+
+1.  Create a single index on the condition you expect to have the smallest result set size. Check performance with this index.
+2.  Keeping the first index, add an index on a second condition. Adding the second index may degrade performance. If it does, remove it and keep only the first index. The order of the two comparisons in the query can also impact performance. Generally speaking, in OQL queries, as in SQL queries, you should order your comparisons so the earlier ones give you the fewest results on which to run subsequent comparisons.
+
+For this query, you would try a range index on name, age, or on both:
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion portfolio WHERE portfolio.status = 'active' and portfolio.ID > 45
+```
+
+For queries with nested levels, you may get better performance by drilling into the lower levels in the index as well as in the query.
+
+This query drills down one level:
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion portfolio, portfolio.positions.values positions where positions.secId = 'AOL' and positions.MktValue > 1
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_index/indexes_with_overflow_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/indexes_with_overflow_regions.html.md.erb b/geode-docs/developing/query_index/indexes_with_overflow_regions.html.md.erb
new file mode 100644
index 0000000..126b2e6
--- /dev/null
+++ b/geode-docs/developing/query_index/indexes_with_overflow_regions.html.md.erb
@@ -0,0 +1,41 @@
+---
+title:  Using Indexes with Overflow Regions
+---
+
+You can use indexes when querying on overflow regions; however, there are caveats.
+
+The following are caveats for querying overflow regions:
+
+-   You must use synchronous index maintenance for the region. This is the default maintenance setting.
+-   The index FROM clause must specify only one iterator, and it must refer to the keys or entry values. The index cannot refer to the region\u2019s entrySet.
+-   The index data itself is not stored on (overflowed to) disk .
+
+**Examples:**
+
+The following example index creation calls DO NOT work for overflow regions.
+
+``` pre
+// This index will not work on an overflow region because there are two iterators in the FROM clause.
+createIndex("secIdIndex", "b.secId","/portfolios pf, pf.positions.values b");
+
+// This index will not work on an overflow region because the FROM clause specifies the entrySet
+createIndex("indx1", "entries.value.getID", "/exampleRegion.entrySet() entries");
+```
+
+The following example indexes will work for overflow regions.
+
+``` pre
+createIndex("pkidIndex", "p.pkid", "/Portfolios p");
+
+createIndex("indx1", "ks.toString", "/portfolio.keySet() ks");
+```
+
+The same working examples in gfsh:
+
+``` pre
+gfsh> create index -name="pkidIndex" --expression="p.pkid" --region="/Portfolios p"
+
+gfsh> create index -name="indx1" --expression="ks.toString" --region="/portfolio.keySet() ks"
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_index/indexing_guidelines.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/indexing_guidelines.html.md.erb b/geode-docs/developing/query_index/indexing_guidelines.html.md.erb
new file mode 100644
index 0000000..8cf229f
--- /dev/null
+++ b/geode-docs/developing/query_index/indexing_guidelines.html.md.erb
@@ -0,0 +1,24 @@
+---
+title:  Tips and Guidelines on Using Indexes
+---
+
+Optimizing your queries with indexes requires a cycle of careful planning, testing, and tuning. Poorly-defined indexes can degrade the performance of your queries instead of improving it. This section gives guidelines for index usage in the query service.
+
+<a id="indexing_guidelines__section_A8885DFC334243508C4563C9692E0801"></a>
+When creating indexes, keep in mind the following:
+
+-   Indexes incur maintenance costs as they must be updated when the indexed data changes. An index that requires many updates and is not used very often may require more system resources than using no index at all.
+-   Indexes consume memory.
+-   Indexes have limited support on overflow regions. See [Using Indexes with Overflow Regions](indexes_with_overflow_regions.html#concept_87BE7DB32C714EB0BF7532AF93569328) for details.
+-   If you are creating multiple indexes on the same region, first define your indexes and then create the indexes all at once to avoid iterating over the region multiple times. See [Creating Multiple Indexes at Once](create_multiple_indexes.html) for details.
+
+## <a id="indexing_guidelines__section_A8AFAA243B5C43DD9BB9F9235A48AF53" class="no-quick-link"></a>Tips for Writing Queries that Use Indexes
+
+As with query processors that run against relational databases, the way a query is written can greatly affect execution performance. Among other things, whether indexes are used depends on how each query is stated. These are some of the things to consider when optimizing your Geode queries for performance:
+
+-   In general an index will improve query performance if the FROM clauses of the query and index match exactly.
+-   The query evaluation engine does not have a sophisticated cost-based optimizer. It has a simple optimizer which selects best index (one) or multiple indexes based on the index size and the operator that is being evaluated.
+-   For AND operators, you may get better results if the conditions that use indexes and conditions that are more selective come before other conditions in the query.
+-   Indexes are not used in expressions that contain NOT, so in a WHERE clause of a query, `qty >= 10` could have an index on `qty` applied for efficiency. However, `NOT(qty < 10)` could not have the same index applied.
+-   Whenever possible, provide a hint to allow the query engine to prefer a specific index. See [Using Query Index Hints](query_index_hints.html)
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_index/maintaining_indexes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/maintaining_indexes.html.md.erb b/geode-docs/developing/query_index/maintaining_indexes.html.md.erb
new file mode 100644
index 0000000..ae8c29b
--- /dev/null
+++ b/geode-docs/developing/query_index/maintaining_indexes.html.md.erb
@@ -0,0 +1,52 @@
+---
+title:  Maintaining Indexes (Synchronously or Asynchronously) and Index Storage
+---
+
+Indexes are automatically kept current with the region data they reference. The region attribute `IndexMaintenanceSynchronous` specifies whether the region indexes are updated synchronously when a region is modified or asynchronously in a background thread.
+
+## <a id="concept_98ED3F38919A490B9AE2553568455C35__section_FF1945F2AAFA4B158067CEE967410616" class="no-quick-link"></a>Index Maintenance Behavior
+
+Asynchronous index maintenance batches up multiple updates to the same region key. The default mode is synchronous, since this provides the greatest consistency with region data.
+
+See [RegionFactory.setIndexMaintenanceSynchronous](/releases/latest/javadoc/org/apache/geode/cache/RegionFactory.html).
+
+This declarative index creation sets the maintenance mode to asynchronous:
+
+``` pre
+<region-attributes index-update-type="asynchronous"> 
+</region-attributes>
+```
+
+## <a id="concept_98ED3F38919A490B9AE2553568455C35__section_68308B5597CF4A9EAA8EC0BD83A233E6" class="no-quick-link"></a>Internal Index Structure and Storage
+
+Indexes are stored either as compact or non-compact data structures based on the indexed expression (even if the index key type is the same.) For example, consider the following Passenger object:
+
+``` pre
+Passenger {
+   String name,
+   Date travelDate,
+   int age,
+   Flight flt,
+}
+Flight {
+   int flightId,
+   String origin,
+   String dest,
+}
+```
+
+An index on the Passenger name field will have different memory space requirements in the cache than the Flight origin field even though they are both String field types. The internal data structure selected by Geode for index storage will depend on the field's level in the object. In this example, name is a top-level field and an index on name can be stored as a compact index. Since origin is a second-level field, any index that uses origin as the indexed expression will be stored as a non-compact index.
+
+**Compact Index**
+
+A compact index has simple data structures to minimize its footprint, at the expense of doing extra work at index maintenance. This index does not support the storage of projection attributes.
+
+Currently compact indexes are only selected only supports the creation of an index on a region path. In addition, the following conditions must be met:
+
+-   Index maintenance is synchronous.
+-   The indexed expression is a path expression.
+-   The FROM clause has only one iterator. This implies that there is only one value in the index for each region entry and it is directly on the region values (not supported with keys, entries).
+
+**Non-Compact Index**
+
+Used whenever a compact index cannot be used.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_index/query_index.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/query_index.html.md.erb b/geode-docs/developing/query_index/query_index.html.md.erb
new file mode 100644
index 0000000..accbf00
--- /dev/null
+++ b/geode-docs/developing/query_index/query_index.html.md.erb
@@ -0,0 +1,62 @@
+---
+title:  Working with Indexes
+---
+
+The Geode query engine supports indexing. An index can provide significant performance gains for query execution.
+
+<a id="indexing__section_565C080FBDD0443C8504DF372E3C32C8"></a>
+A query run without the aid of an index iterates through every object in the collection. If an index is available that matches part or all of the query specification, the query iterates only over the indexed set, and query processing time can be reduced.
+
+-   **[Tips and Guidelines on Using Indexes](../../developing/query_index/indexing_guidelines.html)**
+
+    Optimizing your queries with indexes requires a cycle of careful planning, testing, and tuning. Poorly-defined indexes can degrade the performance of your queries instead of improving it. This section gives guidelines for index usage in the query service.
+
+-   **[Creating, Listing and Removing Indexes](../../developing/query_index/creating_an_index.html)**
+
+    The Geode `QueryService` API provides methods to create, list and remove the index. You can also use `gfsh` command-line interface to create, list and remove indexes, and use cache.xml to create an index.
+
+-   **[Creating Key Indexes](../../developing/query_index/creating_key_indexes.html)**
+
+    Creating a key index is a good way to improve query performance when data is partitioned using a key or a field value. You can create key indexes by using the `createKeyIndex` method of the QueryService or by defining the index in `cache.xml`. Creating a key index makes the query service aware of the relationship between the values in the region and the keys in the region.
+
+-   **[Creating Hash Indexes](../../developing/query_index/creating_hash_indexes.html)**
+
+    Geode supports the creation of hash indexes for the purposes of performing equality-based queries.
+
+-   **[Creating Indexes on Map Fields ("Map Indexes")](../../developing/query_index/creating_map_indexes.html)**
+
+    To assist with the quick lookup of multiple values in a Map (or HashMap) type field, you can create an index (sometimes referred to as a "map index") on specific (or all) keys in that field.
+
+-   **[Creating Multiple Indexes at Once](../../developing/query_index/create_multiple_indexes.html)**
+
+    In order to speed and promote efficiency when creating indexes, you can define multiple indexes and then create them all at once.
+
+-   **[Maintaining Indexes (Synchronously or Asynchronously) and Index Storage](../../developing/query_index/maintaining_indexes.html)**
+
+    Indexes are automatically kept current with the region data they reference. The region attribute `IndexMaintenanceSynchronous` specifies whether the region indexes are updated synchronously when a region is modified or asynchronously in a background thread.
+
+-   **[Using Query Index Hints](../../developing/query_index/query_index_hints.html)**
+
+    You can use the hint keyword to allow Geode's query engine to prefer certain indexes.
+
+-   **[Using Indexes on Single Region Queries](../../developing/query_index/indexes_on_single_region_queries.html)**
+
+    Queries with one comparison operation may be improved with either a key or range index, depending on whether the attribute being compared is also the primary key.
+
+-   **[Using Indexes with Equi-Join Queries](../../developing/query_index/using_indexes_with_equijoin_queries.html)**
+
+    Equi-join queries are queries in which two regions are joined through an equality condition in the WHERE clause.
+
+-   **[Using Indexes with Overflow Regions](../../developing/query_index/indexes_with_overflow_regions.html)**
+
+    You can use indexes when querying on overflow regions; however, there are caveats.
+
+-   **[Using Indexes on Equi-Join Queries using Multiple Regions](../../developing/query_index/using_indexes_with_equijoin_queries_multiple_regions.html)**
+
+    To query across multiple regions, identify all equi-join conditions. Then, create as few indexes for the equi-join conditions as you can while still joining all regions.
+
+-   **[Index Samples](../../developing/query_index/index_samples.html)**
+
+    This topic provides code samples for creating query indexes.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_index/query_index_hints.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/query_index_hints.html.md.erb b/geode-docs/developing/query_index/query_index_hints.html.md.erb
new file mode 100644
index 0000000..37b1005
--- /dev/null
+++ b/geode-docs/developing/query_index/query_index_hints.html.md.erb
@@ -0,0 +1,23 @@
+---
+title:  Using Query Index Hints
+---
+
+You can use the hint keyword to allow Geode's query engine to prefer certain indexes.
+
+In cases where one index is hinted in a query, the query engine filters off the hinted index (if possible) and then iterates and filters from the resulting values.
+
+**Example:**
+
+``` pre
+<HINT 'IDIndex'> SELECT * FROM /Portfolios p WHERE p.ID > 10 AND p.owner = 'XYZ'
+```
+
+If multiple indexes are added as hints, then the query engine will try to use as many indexes as possible while giving a preference for the hinted indexes.
+
+**Example:**
+
+``` pre
+<HINT 'IDIndex', 'OwnerIndex'> SELECT * FROM /Portfolios p WHERE p.ID > 10 AND p.owner = 'XYZ' AND p.value < 100
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_index/using_indexes_with_equijoin_queries.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/using_indexes_with_equijoin_queries.html.md.erb b/geode-docs/developing/query_index/using_indexes_with_equijoin_queries.html.md.erb
new file mode 100644
index 0000000..2d7accc
--- /dev/null
+++ b/geode-docs/developing/query_index/using_indexes_with_equijoin_queries.html.md.erb
@@ -0,0 +1,52 @@
+---
+title:  Using Indexes with Equi-Join Queries
+---
+
+Equi-join queries are queries in which two regions are joined through an equality condition in the WHERE clause.
+
+<a id="concept_A90C5FD84FCB45B2B28D6CE78DE1D117__section_47CFF4EF4D964FCFBB772B0347C02214"></a>
+To use an index with an equi-join query:
+
+1.  Create an index for each side of the equi-join condition. The query engine can quickly evaluate the query's equi-join condition by iterating over the keys of the left-side and right-side indexes for an equality match.
+
+    **Note:**
+    Equi-join queries require regular indexes. Key indexes are not applied to equi-join queries.
+
+    For this query:
+
+    ``` pre
+    SELECT DISTINCT inv.name, ord.orderID, ord.status 
+    FROM /investors inv, /orders ord 
+    WHERE inv.investorID = ord.investorID 
+    ```
+
+    Create two indexes:
+
+    | FROM clause    | Indexed expression |
+    |----------------|--------------------|
+    | /investors inv | inv.investorID     |
+    | /orders ord    | ord.investorID     |
+
+2.  If there are additional, single-region queries in a query with an equi-join condition, create additional indexes for the single-region conditions only if you are able to create at least one such index for each region in the query. Any indexing on a subset of the regions in the query will degrade performance.
+
+    For this example query:
+
+    ``` pre
+    SELECT DISTINCT *
+    FROM /investors inv, /securities sc, inv.heldSecurities inv_hs
+        WHERE sc.status = "active"
+        AND inv.name = "xyz"
+        AND inv.age > 75
+        AND inv_hs.secName = sc.secName
+    ```
+
+    Create the indexes for the equi-join condition:
+
+    | FROM clause                                | Indexed expression |
+    |--------------------------------------------|--------------------|
+    | /investors inv, inv.heldSecurities inv\_hs | inv\_hs.secName    |
+    | /securities sc                             | sc.secName         |
+
+    Then, if you create any more indexes, create one on `sc.status` and one on `inv.age` or `inv.name` or both.
+
+


[34/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/distributed_regions/how_region_versioning_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/distributed_regions/how_region_versioning_works.html.md.erb b/geode-docs/developing/distributed_regions/how_region_versioning_works.html.md.erb
new file mode 100644
index 0000000..7e4c551
--- /dev/null
+++ b/geode-docs/developing/distributed_regions/how_region_versioning_works.html.md.erb
@@ -0,0 +1,110 @@
+---
+title: Consistency Checking by Region Type
+---
+
+<a id="topic_7A4B6C6169BD4B1ABD356294F744D236"></a>
+
+Geode performs different consistency checks depending on the type of region you have configured.
+
+## <a id="topic_7A4B6C6169BD4B1ABD356294F744D236__section_B090F5FB87D84104A7BE4BCEA6BAE6B7" class="no-quick-link"></a>Partitioned Region Consistency
+
+For a partitioned region, Geode maintains consistency by routing all updates on a given key to the Geode member that holds the primary copy of that key. That member holds a lock on the key while distributing updates to other members that host a copy of the key. Because all updates to a partitioned region are serialized on the primary Geode member, all members apply the updates in the same order and consistency is maintained at all times. See [Understanding Partitioning](../partitioned_regions/how_partitioning_works.html).
+
+## <a id="topic_7A4B6C6169BD4B1ABD356294F744D236__section_72DFB366C8F14ADBAF2A136669ECAB1E" class="no-quick-link"></a>Replicated Region Consistency
+
+For a replicated region, any member that hosts the region can update a key and distribute that update to other members without locking the key. It is possible that two members can update the same key at the same time (a concurrent update). It is also possible that, due to network latency, an update in one member is distributed to other members at a later time, after those members have already applied more recent updates to the key (an out-of-order update). By default, Geode members perform conflict checking before applying region updates in order to detect and consistently resolve concurrent and out-of-order updates. Conflict checking ensures that region data eventually becomes consistent on all members that host the region. The conflict checking behavior for replicated regions is summarized as follows:
+
+-   If two members update the same key at the same time, conflict checking ensures that all members eventually apply the same value, which is the value of one of the two concurrent updates.
+-   If a member receives an out-of-order update (an update that is received after one or more recent updates were applied), conflict checking ensures that the out-of-order update is discarded and not applied to the cache.
+
+[How Consistency Checking Works for Replicated Regions](#topic_C5B74CCDD909403C815639339AA03758) and [How Destroy and Clear Operations Are Resolved](#topic_321B05044B6641FCAEFABBF5066BD399) provide more details about how Geode performs conflict checking when applying an update.
+
+## <a id="topic_7A4B6C6169BD4B1ABD356294F744D236__section_313045F430EE459CB411CAAE7B00F3D8" class="no-quick-link"></a>Non-Replicated Regions and Client Cache Consistency
+
+When a member receives an update for an entry in a non-replicated region and applies an update, it performs conflict checking in the same way as for a replicated region. However, if the member initiates an operation on an entry that is not present in the region, it first passes that operation to a member that hosts a replicate. The member that hosts the replica generates and provides the version information necessary for subsequent conflict checking. See [How Consistency Checking Works for Replicated Regions](#topic_C5B74CCDD909403C815639339AA03758).
+
+Client caches also perform consistency checking in the same way when they receive an update for a region entry. However, all region operations that originate in the client cache are first passed onto an available Geode server, which generates the version information necessary for subsequent conflict checking.
+
+## <a id="topic_B64891585E7F4358A633C792F10FA23E" class="no-quick-link"></a>Configuring Consistency Checking
+
+Geode enables consistency checking by default. You cannot disable consistency checking for persistent regions. For all other regions, you can explicitly enable or disable consistency checking by setting the `concurrency-checks-enabled` region attribute in `cache.xml` to "true" or "false."
+
+All Geode members that host a region must use the same `concurrency-checks-enabled` setting for that region.
+
+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.
+
+See [&lt;region-attributes&gt;](../../reference/topics/cache_xml.html#region-attributes).
+
+**Note:**
+Regions that do not enable consistency checking remain subject to race conditions. Concurrent updates may result in one or more members having different values for the same key. Network latency can result in older updates being applied to a key after more recent updates have occurred.
+
+## <a id="topic_0BDACA590B2C4974AC9C450397FE70B2" class="no-quick-link"></a>Overhead for Consistency Checks
+
+Consistency checking requires additional overhead for storing and distributing version and timestamp information, as well as for maintaining destroyed entries for a period of time to meet consistency requirements.
+
+To provide consistency checking, each region entry uses an additional 16 bytes. When an entry is deleted, a tombstone entry of approximately 13 bytes is created and maintained until the tombstone expires or is garbage-collected in the member. (When an entry is destroyed, the member temporarily retains the entry with its current version stamp to detect possible conflicts with operations that have occurred. The retained entry is referred to as a tombstone.) See [How Destroy and Clear Operations Are Resolved](#topic_321B05044B6641FCAEFABBF5066BD399).
+
+If you cannot support the additional overhead in your deployment, you can disable consistency checks by setting `concurrency-checks-enabled` to "false" for each region. See [Consistency for Region Updates](region_entry_versions.html#topic_CF2798D3E12647F182C2CEC4A46E2045).
+
+## <a id="topic_C5B74CCDD909403C815639339AA03758" class="no-quick-link"></a>How Consistency Checking Works for Replicated Regions
+
+Each region stores version and timestamp information for use in conflict detection. Geode members use the recorded information to detect and resolve conflicts consistently before applying a distributed update.
+
+<a id="topic_C5B74CCDD909403C815639339AA03758__section_763B071061C94D1E82E8883325294547"></a>
+By default, each entry in a region stores the ID of the Geode member that last updated the entry, as well as a version stamp for the entry that is incremented each time an update occurs. The version information is stored in each local entry, and the version stamp is distributed to other Geode members when the local entry is updated.
+
+A Geode member or client that receives an update message first compares the update version stamp with the version stamp recorded in its local cache. If the update version stamp is larger, it represents a newer version of the entry, so the receiving member applies the update locally and updates the version information. A smaller update version stamp indicates an out-of-order update, which is discarded.
+
+An identical version stamp indicates that multiple Geode members updated the same entry at the same time. To resolve a concurrent update, a Geode member always applies (or keeps) the region entry that has the highest membership ID; the region entry having the lower membership ID is discarded.
+
+**Note:**
+When a Geode member discards an update message (either for an out-of-order update or when resolving a concurrent update), it does not pass the discarded event to an event listener for the region. You can track the number of discarded updates for each member using the `conflatedEvents` statistic. See [Geode Statistics List](../../reference/statistics/statistics_list.html#statistics_list). Some members may discard an update while other members apply the update, depending on the order in which each member receives the update. For this reason, the `conflatedEvents` statistic differs for each Geode member. The example below describes this behavior in more detail.
+
+The following example shows how a concurrent update is handled in a distributed system of three Geode members. Assume that Members A, B, and C have membership IDs of 1, 2, and 3, respectively. Each member currently stores an entry, X, in their caches at version C2 (the entry was last updated by member C):
+
+**Step 1:** An application updates entry X on Geode member A at the same time another application updates entry X on member C. Each member increments the version stamp for the entry and records the version stamp with their member ID in their local caches. In this case the entry was originally at version C2, so each member updates the version to 3 (A3 and C3, respectively) in their local caches.
+
+<img src="../../images_svg/region_entry_versions_1.svg" id="topic_C5B74CCDD909403C815639339AA03758__image_nt5_ptw_4r" class="image" />
+
+**Step 2:** Member A distributes its update message to members B and C.
+
+Member B compares the update version stamp (3) to its recorded version stamp (2) and applies the update to its local cache as version A3. In this member, the update is applied for the time being, and passed on to configured event listeners.
+
+Member C compares the update version stamp (3) to its recorded version stamp (3) and identifies a concurrent update. To resolve the conflict, member C next compares the membership ID of the update to the membership ID stored in its local cache. Because the distributed system ID the update (A3) is lower than the ID stored in the cache (C3), member C discards the update (and increments the `conflatedEvents` statistic).
+
+<img src="../../images_svg/region_entry_versions_2.svg" id="topic_C5B74CCDD909403C815639339AA03758__image_ocs_35b_pr" class="image" />
+
+**Step 3:** Member C distributes the update message to members A and B.
+
+Members A and B compare the update version stamp (3) to their recorded version stamps (3) and identify the concurrent update. To resolve the conflict, both members compare the membership ID of the update with the membership ID stored in their local caches. Because the distributed system ID of A in the cache value is less than the ID of C in the update, both members record the update C3 in their local caches, overwriting the previous value.
+
+At this point, all members that host the region have achieved a consistent state for the concurrent updates on members A and C.
+
+<img src="../../images_svg/region_entry_versions_3.svg" id="topic_C5B74CCDD909403C815639339AA03758__image_gsv_k5b_pr" class="image" />
+
+## <a id="topic_321B05044B6641FCAEFABBF5066BD399" class="no-quick-link"></a>How Destroy and Clear Operations Are Resolved
+
+When consistency checking is enabled for a region, a Geode member does not immediately remove an entry from the region when an application destroys the entry. Instead, the member retains the entry with its current version stamp for a period of time in order to detect possible conflicts with operations that have occurred. The retained entry is referred to as a *tombstone*. Geode retains tombstones for partitioned regions and non-replicated regions as well as for replicated regions, in order to provide consistency.
+
+A tombstone in a client cache or a non-replicated region expires after 8 minutes, at which point the tombstone is immediately removed from the cache.
+
+A tombstone for a replicated or partitioned region expires after 10 minutes. Expired tombstones are eligible for garbage collection by the Geode member. Garbage collection is automatically triggered after 100,000 tombstones of any type have timed out in the local Geode member. You can optionally set the `gemfire.tombstone-gc-threshold` property to a value smaller than 100000 to perform garbage collection more frequently.
+
+**Note:**
+To avoid out-of-memory errors, a Geode member also initiates garbage collection for tombstones when the amount of free memory drops below 30 percent of total memory.
+
+You can monitor the total number of tombstones in a cache using the `tombstoneCount` statistic in `CachePerfStats`. The `tombstoneGCCount` statistic records the total number of tombstone garbage collection cycles that a member has performed. `replicatedTombstonesSize` and `nonReplicatedTombstonesSize` show the approximate number of bytes that are currently consumed by tombstones in replicated or partitioned regions, and in non-replicated regions, respectively. See [Geode Statistics List](../../reference/statistics/statistics_list.html#statistics_list).
+
+## <a id="topic_321B05044B6641FCAEFABBF5066BD399__section_4D0140E96A3141EB8D983D0A43464097" class="no-quick-link"></a>About Region.clear() Operations
+
+Region entry version stamps and tombstones ensure consistency only when individual entries are destroyed. A `Region.clear()` operation, however, operates on all entries in a region at once. To provide consistency for `Region.clear()` operations, Geode obtains a distributed read/write lock for the region, which blocks all concurrent updates to the region. Any updates that were initiated before the clear operation are allowed to complete before the region is cleared.
+
+## <a id="topic_32ACFA5542C74F3583ECD30467F352B0" class="no-quick-link"></a>Transactions with Consistent Regions
+
+A transaction that modifies a region having consistency checking enabled generates all necessary version information for region updates when the transaction commits.
+
+If a transaction modifies a normal, preloaded or empty region, the transaction is first delegated to a Geode member that holds a replicate for the region. This behavior is similar to the transactional behavior for partitioned regions, where the partitioned region transaction is forwarded to a member that hosts the primary for the partitioned region update.
+
+The limitation for transactions on normal, preloaded or or empty regions is that, when consistency checking is enabled, a transaction cannot perform a `localDestroy` or `localInvalidate` operation against the region. Geode throws an `UnsupportedOperationInTransactionException` exception in such cases. An application should use a `Destroy` or `Invalidate` operation in place of a `localDestroy` or `localInvalidate` when consistency checks are enabled.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/distributed_regions/how_region_versioning_works_wan.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/distributed_regions/how_region_versioning_works_wan.html.md.erb b/geode-docs/developing/distributed_regions/how_region_versioning_works_wan.html.md.erb
new file mode 100644
index 0000000..0ce2f04
--- /dev/null
+++ b/geode-docs/developing/distributed_regions/how_region_versioning_works_wan.html.md.erb
@@ -0,0 +1,25 @@
+---
+title:  How Consistency Is Achieved in WAN Deployments
+---
+
+When two or more Geode systems are configured to distribute events over a WAN, each system performs local consistency checking before it distributes an event to a configured gateway sender. Discarded events are not distributed across the WAN.
+
+Regions can also be configured to distribute updates to other Geode clusters over a WAN. With a distributed WAN configuration, multiple gateway senders asynchronously queue and send region updates to another Geode cluster. It is possible for multiple sites to send updates to the same region entry at the same time. It is also possible that, due to a slow WAN connection, a cluster might receive region updates after a considerable delay, and after it has applied more recent updates to a region. To ensure that WAN-replicated regions eventually reach a consistent state, Geode first ensures that each cluster performs consistency checking to regions before queuing updates to a gateway sender for WAN distribution. In order words, region conflicts are first detected and resolved in the local cluster, using the techniques described in the previous sections.
+
+When a Geode cluster in a WAN configuration receives a distributed update, conflict checking is performed to ensure that all sites apply updates in the same way. This ensures that regions eventually reach a consistent state across all Geode clusters. The default conflict checking behavior for WAN-replicated regions is summarized as follows:
+
+-   If an update is received from the same Geode cluster that last updated the region entry, then there is no conflict and the update is applied.
+-   If an update is received from a different Geode cluster than the one that last updated the region entry, then a potential conflict exists. A cluster applies the update only when the update has a timestamp that is later than the timestamp currently recorded in the cache.
+
+**Note:**
+If you use the default conflict checking feature for WAN deployments, you must ensure that all Geode members in all clusters synchronize their system clocks. For example, use a common NTP server for all Geode members that participate in a WAN deployment.
+
+As an alternative to the default conflict checking behavior for WAN deployments, you can develop and deploy a custom conflict resolver for handling region events that are distributed over a WAN. Using a custom resolver enables you to handle conflicts using criteria other than, or in addition to, timestamp information. For example, you might always prioritize updates that originate from a particular site, given that the timestamp value is within a certain range.
+
+When a gateway sender distributes an event to another Geode site, it adds the distributed system ID of the local cluster, as well as a timestamp for the event. In a default configuration, the cluster that receives the event examines the timestamp to determine whether or not the event should be applied. If the timestamp of the update is earlier than the local timestamp, the cluster discards the event. If the timestamp is the same as the local timestamp, then the entry having the highest distributed system ID is applied (or kept).
+
+You can override the default consistency checking for WAN events by installing a conflict resolver plug-in for the region. If a conflict resolver is installed, then any event that can potentially cause a conflict (any event that originated from a different distributed system ID than the ID that last modified the entry) is delivered to the conflict resolver. The resolver plug-in then makes the sole determination for which update to apply or keep.
+
+See "Implementing a GatewayConflictResolver" under [Resolving Conflicting Events](../events/resolving_multisite_conflicts.html#topic_E97BB68748F14987916CD1A50E4B4542) to configure a custom resolver.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/distributed_regions/how_replication_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/distributed_regions/how_replication_works.html.md.erb b/geode-docs/developing/distributed_regions/how_replication_works.html.md.erb
new file mode 100644
index 0000000..73bc5e1
--- /dev/null
+++ b/geode-docs/developing/distributed_regions/how_replication_works.html.md.erb
@@ -0,0 +1,34 @@
+---
+title:  How Replication and Preloading Work
+---
+
+To work with replicated and preloaded regions, you should understand how their data is initialized and maintained in the cache.
+
+<a id="how_replication_works__section_C75BB463A0584491ABD982A55E5A050F"></a>
+Replicated and preloaded regions are configured by using one of the `REPLICATE` region shortcut settings, or by setting the region attribute `data-policy` to `replicate`, `persistent-replicate`, or `preloaded`.
+
+## <a id="how_replication_works__section_B4E76BBCC6104A27BC0A8ECA6B9CDF91" class="no-quick-link"></a>Initialization of Replicated and Preloaded Regions
+
+At region creation, the system initializes the preloaded or replicated region with the most complete and up-to-date data set it can find. The system uses these data sources to initialize the new region, following this order of preference:
+
+1.  Another replicated region that is already defined in the distributed system.
+2.  For persistent replicate only. Disk files, followed by a union of all copies of the region in the distributed cache.
+3.  For preloaded region only. Another preloaded region that is already defined in the distributed system.
+4.  The union of all copies of the region in the distributed cache.
+
+<img src="../../images_svg/distributed_replica_preload.svg" id="how_replication_works__image_5F50EBA30CE3408091F07A198F821741" class="image" />
+
+While a region is being initialized from a replicated or preloaded region, if the source region crashes, the initialization starts over.
+
+If a union of regions is used for initialization, as in the figure, and one of the individual source regions goes away during the initialization (due to cache closure, member crash, or region destruction), the new region may contain a partial data set from the crashed source region. When this happens, there is no warning logged or exception thrown. The new region still has a complete set of the remaining members' regions.
+
+## <a id="how_replication_works__section_6BE7555A711E4CA490B02E58B5DDE396" class="no-quick-link"></a>Behavior of Replicated and Preloaded Regions After Initialization
+
+Once initialized, the preloaded region operates like the region with a `normal` `data-policy`, receiving distributions only for entries it has defined in the local cache.
+
+<img src="../../images_svg/distributed_preload.svg" id="how_replication_works__image_994CA599B1004D3F95E1BB7C4FAC2AEF" class="image" />
+
+If the region is configured as a replicated region, it receives all new creations in the distributed region from the other members. This is the push distribution model. Unlike the preloaded region, the replicated region has a contract that states it will hold all entries that are present anywhere in the distributed region.
+
+<img src="../../images_svg/distributed_replica.svg" id="how_replication_works__image_2E7F3EB6213A47FEA3ABE32FD2CB1503" class="image" />
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/distributed_regions/locking_in_global_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/distributed_regions/locking_in_global_regions.html.md.erb b/geode-docs/developing/distributed_regions/locking_in_global_regions.html.md.erb
new file mode 100644
index 0000000..6a6e030
--- /dev/null
+++ b/geode-docs/developing/distributed_regions/locking_in_global_regions.html.md.erb
@@ -0,0 +1,92 @@
+---
+title:  Locking in Global Regions
+---
+
+In global regions, the system locks entries and the region during updates. You can also explicitly lock the region and its entries as needed by your application. Locking includes system settings that help you optimize performance and locking behavior between your members.
+
+<a id="locking_in_global_regions__section_065B3A57CCCA4F17821D170A312B6675"></a>
+In regions with global scope, locking helps ensure cache consistency.
+
+Locking of regions and entries is done in two ways:
+
+1.  **Implicit**. Geode automatically locks global regions and their data entries during most operations. Region invalidation and destruction do not acquire locks.
+2.  **Explicit**. You can use the API to explicitly lock the region and its entries. Do this to guarantee atomicity in tasks with multi-step distributed operations. The `Region` methods `org.apache.geode.cache.Region.getDistributedLock` and `org.apache.geode.cache.Region.getRegionDistributedLock` return instances of `java.util.concurrent.locks.Lock` for a region and a specified key.
+
+    **Note:**
+    You must use the `Region` API to lock regions and region entries. Do not use the `DistributedLockService` in the `org.apache.geode.distributed` package. That service is available only for locking in arbitrary distributed applications. It is not compatible with the `Region` locking methods.
+
+## <a id="locking_in_global_regions__section_5B47F9C5C27A4B789A3498AC553BB1FB" class="no-quick-link"></a>Lock Timeouts
+
+Getting a lock on a region or entry is a two-step process of getting a lock instance for the entity and then using the instance to set the lock. Once you have the lock, you hold it for your operations, then release it for someone else to use. You can set limits on the time spent waiting to get a lock and the time spent holding it. Both implicit and explicit locking operations are affected by the timeouts:
+
+-   The lock timeout limits the wait to get a lock. The cache attribute `lock-timeout` governs implicit lock requests. For explicit locking, specify the wait time through your calls to the instance of `java.util.concurrent.locks.Lock` returned from the `Region` API. You can wait a specific amount of time, return immediately either with or without the lock, or wait indefinitely.
+
+    ``` pre
+    <cache lock-timeout="60"> 
+    </cache>
+    ```
+
+    gfsh:
+
+    ``` pre
+    gfsh>alter runtime --lock-timeout=60 
+    ```
+
+-   The lock lease limits how long a lock can be held before it is automatically released. A timed lock allows the application to recover when a member fails to release an obtained lock within the lease time. For all locking, this timeout is set with the cache attribute `lock-lease`.
+
+    ``` pre
+    <cache lock-lease="120"> </cache>
+    ```
+
+    gfsh:
+
+    ``` pre
+    gfsh>alter runtime --lock-lease=120
+    ```
+
+## <a id="locking_in_global_regions__section_031727F04D114B42944872360A386907" class="no-quick-link"></a>Optimize Locking Performance
+
+For each global region, one of the members with the region defined will be assigned the job of lock grantor. The lock grantor runs the lock service that receives lock requests from system members, queues them as needed, and grants them in the order received.
+
+The lock grantor is at a slight advantage over other members as it is the only one that does not have to send a message to request a lock. The grantor\u2019s requests cost the least for the same reason. Thus, you can optimize locking in a region by assigning lock grantor status to the member that acquires the most locks. This may be the member that performs the most puts and thus requires the most implicit locks or this may be the member that performs many explicit locks.
+
+The lock grantor is assigned as follows:
+
+-   Any member with the region defined that requests lock grantor status is assigned it. Thus at any time, the most recent member to make the request is the lock grantor.
+-   If no member requests lock grantor status for a region, or if the current lock grantor goes away, the system assigns a lock grantor from the members that have the region defined in their caches.
+
+You can request lock grantor status:
+
+1.  At region creation through the `is-lock-grantor` attribute. You can retrieve this attribute through the region method, `getAttributes`, to see whether you requested to be lock grantor for the region.
+    **Note:**
+    The `is-lock-grantor` attribute does not change after region creation.
+
+2.  After region creation through the region `becomeLockGrantor` method. Changing lock grantors should be done with care, however, as doing so takes cycles from other operations. In particular, be careful to avoid creating a situation where you have members vying for lock grantor status.
+
+## <a id="locking_in_global_regions__section_34661E38DFF9420B89C1A2B25F232D53" class="no-quick-link"></a>Examples
+
+These two examples show entry locking and unlocking. Note how the entry\u2019s `Lock` object is obtained and then its lock method invoked to actually set the lock. The example program stores the entry lock information in a hash table for future reference.
+
+``` pre
+/* Lock a data entry */ 
+HashMap lockedItemsMap = new HashMap(); 
+...
+  String entryKey = ... 
+  if (!lockedItemsMap.containsKey(entryKey)) 
+  { 
+    Lock lock = this.currRegion.getDistributedLock(entryKey); 
+    lock.lock(); 
+    lockedItemsMap.put(name, lock); 
+  } 
+  ...
+```
+
+``` pre
+/* Unlock a data entry */ 
+  String entryKey = ... 
+  if (lockedItemsMap.containsKey(entryKey)) 
+  { 
+    Lock lock = (Lock) lockedItemsMap.remove(name);
+    lock.unlock();
+  }
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/distributed_regions/managing_distributed_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/distributed_regions/managing_distributed_regions.html.md.erb b/geode-docs/developing/distributed_regions/managing_distributed_regions.html.md.erb
new file mode 100644
index 0000000..f36d8ca
--- /dev/null
+++ b/geode-docs/developing/distributed_regions/managing_distributed_regions.html.md.erb
@@ -0,0 +1,47 @@
+---
+title:  Configure Distributed, Replicated, and Preloaded Regions
+---
+
+Plan the configuration and ongoing management of your distributed, replicated, and preloaded regions, and configure the regions.
+
+<a id="configure_distributed_region__section_11E9E1B3EB5845D9A4FB226A992B8D0D"></a>
+Before you begin, understand [Basic Configuration and Programming](../../basic_config/book_intro.html).
+
+1.  Choose the region shortcut setting that most closely matches your region configuration. See **`org.apache.geode.cache.RegionShortcut`** or [Region Shortcuts](../../reference/topics/chapter_overview_regionshortcuts.html#concept_ymp_rkz_4dffhdfhk). 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:
+
+    ``` pre
+    <region-attributes refid="REPLICATE"> 
+    </region-attributes>
+    ```
+
+    You can also use gfsh to configure a region. For example:
+
+    ``` pre
+    gfsh>create region --name=regionA --type=REPLICATE
+    ```
+
+    See [Region Types](../region_options/region_types.html#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:
+
+    ``` pre
+    <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:
+
+    ``` pre
+    <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.
+
+## <a id="configure_distributed_region__section_6F53FB58B8A84D0F8086AFDB08A649F9" class="no-quick-link"></a>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.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/distributed_regions/region_entry_versions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/distributed_regions/region_entry_versions.html.md.erb b/geode-docs/developing/distributed_regions/region_entry_versions.html.md.erb
new file mode 100644
index 0000000..1781fc7
--- /dev/null
+++ b/geode-docs/developing/distributed_regions/region_entry_versions.html.md.erb
@@ -0,0 +1,34 @@
+---
+title: Consistency for Region Updates
+---
+
+<a id="topic_CF2798D3E12647F182C2CEC4A46E2045"></a>
+
+
+Geode ensures that all copies of a region eventually reach a consistent state on all members and clients that host the region, including Geode members that distribute region events.
+
+-   **[Consistency Checking by Region Type](../../developing/distributed_regions/how_region_versioning_works.html#topic_7A4B6C6169BD4B1ABD356294F744D236)**
+
+    Geode performs different consistency checks depending on the type of region you have configured.
+
+-   **[Configuring Consistency Checking](../../developing/distributed_regions/how_region_versioning_works.html#topic_B64891585E7F4358A633C792F10FA23E)**
+
+    Geode enables consistency checking by default. You cannot disable consistency checking for persistent regions. For all other regions, you can explicitly enable or disable consistency checking by setting the `concurrency-checks-enabled` region attribute in `cache.xml` to "true" or "false."
+
+-   **[Overhead for Consistency Checks](../../developing/distributed_regions/how_region_versioning_works.html#topic_0BDACA590B2C4974AC9C450397FE70B2)**
+
+    Consistency checking requires additional overhead for storing and distributing version and timestamp information, as well as for maintaining destroyed entries for a period of time to meet consistency requirements.
+
+-   **[How Consistency Checking Works for Replicated Regions](../../developing/distributed_regions/how_region_versioning_works.html#topic_C5B74CCDD909403C815639339AA03758)**
+
+    Each region stores version and timestamp information for use in conflict detection. Geode members use the recorded information to detect and resolve conflicts consistently before applying a distributed update.
+
+-   **[How Destroy and Clear Operations Are Resolved](../../developing/distributed_regions/how_region_versioning_works.html#topic_321B05044B6641FCAEFABBF5066BD399)**
+
+    When consistency checking is enabled for a region, a Geode member does not immediately remove an entry from the region when an application destroys the entry. Instead, the member retains the entry with its current version stamp for a period of time in order to detect possible conflicts with operations that have occurred. The retained entry is referred to as a *tombstone*. Geode retains tombstones for partitioned regions and non-replicated regions as well as for replicated regions, in order to provide consistency.
+
+-   **[Transactions with Consistent Regions](../../developing/distributed_regions/how_region_versioning_works.html#topic_32ACFA5542C74F3583ECD30467F352B0)**
+
+    A transaction that modifies a region having consistency checking enabled generates all necessary version information for region updates when the transaction commits.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/cache_event_handler_examples.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/cache_event_handler_examples.html.md.erb b/geode-docs/developing/events/cache_event_handler_examples.html.md.erb
new file mode 100644
index 0000000..858003d
--- /dev/null
+++ b/geode-docs/developing/events/cache_event_handler_examples.html.md.erb
@@ -0,0 +1,138 @@
+---
+title:  Cache Event Handler Examples
+---
+
+Some examples of cache event handlers.
+
+## <a id="cache_event_handler_examples__section_F2790678E9DE4A81B73A4B6346CB210B" class="no-quick-link"></a>Declaring and Loading an Event Handler with Parameters
+
+This declares an event handler for a region in the `cache.xml`. The handler is a cache listener designed to communicate changes to a DB2 database. The declaration includes the listener\u2019s parameters, which are the database path, username, and password.
+
+``` pre
+<region name="exampleRegion"> 
+  <region-attributes> 
+  . . . 
+    <cache-listener> 
+      <class-name>JDBCListener</class-name> 
+      <parameter name="url"> 
+        <string>jdbc:db2:SAMPLE</string> 
+      </parameter> 
+      <parameter name="username"> 
+        <string>gfeadmin</string> 
+      </parameter> 
+      <parameter name="password"> 
+        <string>admin1</string> 
+      </parameter> 
+    </cache-listener> 
+  </region-attributes> 
+  </region>
+```
+
+This code listing shows part of the implementation of the `JDBCListener` declared in the `cache.xml`. This listener implements the `Declarable` interface. When an entry is created in the cache, this listener\u2019s `afterCreate` callback method is triggered to update the database. Here the listener\u2019s properties, provided in the `cache.xml`, are passed into the `Declarable.init` method and used to create a database connection.
+
+``` pre
+. . .
+public class JDBCListener
+extends CacheListenerAdapter
+implements Declarable {
+  public void afterCreate(EntryEvent e) {
+  . . .
+    // Initialize the database driver and connection using input parameters
+    Driver driver = (Driver) Class.forName(DRIVER_NAME).newInstance();
+    Connection connection =
+      DriverManager.getConnection(_url, _username, _password);
+      System.out.println(_connection);
+        . . .
+  }
+    . . .
+  public void init(Properties props) {
+    this._url = props.getProperty("url");
+    this._username = props.getProperty("username");
+    this._password = props.getProperty("password");
+  }
+}
+```
+
+## <a id="cache_event_handler_examples__section_2B4275C1AE744794AAD22530E5ECA8CC" class="no-quick-link"></a>Installing an Event Handler Through the API
+
+This listing defines a cache listener using the `RegionFactory` method `addCacheListener`.
+
+``` pre
+Region newReg = cache.createRegionFactory()
+          .addCacheListener(new SimpleCacheListener())
+          .create(name);
+ 
+```
+
+You can create a cache writer similarly, using the `RegionFactory` method `setCacheWriter`, like this:
+
+``` pre
+Region newReg = cache.createRegionFactory()
+          .setCacheWriter(new SimpleCacheWriter())
+          .create(name);
+ 
+```
+
+## <a id="cache_event_handler_examples__section_C62E9535C43B4BC5A7AA7B8B4125D1EB" class="no-quick-link"></a>Installing Multiple Listeners on a Region
+
+XML:
+
+``` pre
+<region name="exampleRegion">
+  <region-attributes>
+    . . .
+    <cache-listener>
+      <class-name>myCacheListener1</class-name>
+    </cache-listener>
+    <cache-listener>
+      <class-name>myCacheListener2</class-name>
+    </cache-listener>
+    <cache-listener>
+      <class-name>myCacheListener3</class-name>
+    </cache-listener>
+  </region-attributes>
+</region>
+```
+
+API:
+
+``` pre
+CacheListener listener1 = new myCacheListener1(); 
+CacheListener listener2 = new myCacheListener2(); 
+CacheListener listener3 = new myCacheListener3(); 
+
+Region nr = cache.createRegionFactory()
+  .initCacheListeners(new CacheListener[]
+    {listener1, listener2, listener3})
+  .setScope(Scope.DISTRIBUTED_NO_ACK)
+  .create(name);
+```
+
+## <a id="cache_event_handler_examples__section_3AF3D7C9927F491F8BACDB72834E42AA" class="no-quick-link"></a>Installing a Write-Behind Cache Listener
+
+``` pre
+//AsyncEventQueue with listener that performs WBCL work
+<cache>
+   <async-event-queue id="sampleQueue" persistent="true"
+    disk-store-name="exampleStore" parallel="false">
+      <async-event-listener>
+         <class-name>MyAsyncListener</class-name>
+         <parameter name="url"> 
+           <string>jdbc:db2:SAMPLE</string> 
+         </parameter> 
+         <parameter name="username"> 
+           <string>gfeadmin</string> 
+         </parameter> 
+         <parameter name="password"> 
+           <string>admin1</string> 
+         </parameter> 
+               </async-event-listener>
+             </async-event-queue>
+
+// Add the AsyncEventQueue to region(s) that use the WBCL
+  <region name="data">
+       <region-attributes async-event-queue-ids="sampleQueue">
+    </region-attributes>
+  </region>
+</cache>
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/chapter_overview.html.md.erb b/geode-docs/developing/events/chapter_overview.html.md.erb
new file mode 100644
index 0000000..52e1905
--- /dev/null
+++ b/geode-docs/developing/events/chapter_overview.html.md.erb
@@ -0,0 +1,27 @@
+---
+title:  Events and Event Handling
+---
+
+Geode provides versatile and reliable event distribution and handling for your cached data and system member events.
+
+-   **[How Events Work](../../developing/events/how_events_work.html)**
+
+    Members in your Geode distributed system receive cache updates from other members through cache events. The other members can be peers to the member, clients or servers or other distributed systems.
+
+-   **[Implementing Geode Event Handlers](../../developing/events/event_handler_overview.html)**
+
+    You can specify event handlers for region and region entry operations and for administrative events.
+
+-   **[Configuring Peer-to-Peer Event Messaging](../../developing/events/configure_p2p_event_messaging.html)**
+
+    You can receive events from distributed system peers for any region that is not a local region. Local regions receive only local cache events.
+
+-   **[Configuring Client/Server Event Messaging](../../developing/events/configure_client_server_event_messaging.html)**
+
+    You can receive events from your servers for server-side cache events and query result changes.
+
+-   **[Configuring Multi-Site (WAN) Event Queues](../../developing/events/configure_multisite_event_messaging.html)**
+
+    In a multi-site (WAN) installation, Geode uses gateway sender queues to distribute events for regions that are configured with a gateway sender. AsyncEventListeners also use an asynchronous event queue to distribute events for configured regions. This section describes additional options for configuring the event queues that are used by gateway senders or AsyncEventListener implementations.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/configure_client_server_event_messaging.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/configure_client_server_event_messaging.html.md.erb b/geode-docs/developing/events/configure_client_server_event_messaging.html.md.erb
new file mode 100644
index 0000000..2d6185e
--- /dev/null
+++ b/geode-docs/developing/events/configure_client_server_event_messaging.html.md.erb
@@ -0,0 +1,64 @@
+---
+title:  Configuring Client/Server Event Messaging
+---
+
+You can receive events from your servers for server-side cache events and query result changes.
+
+<a id="receiving_events_from_servers__section_F21FB253CCC244708CB953B6D5866A91"></a>
+For cache updates, you can configure to receive entry keys and values or just entry keys, with the data retrieved lazily when requested. The queries are run continuously against server cache events, with the server sending the deltas for your query result sets.
+
+Before you begin, set up your client/server installation and configure and program your basic event messaging.
+
+Servers receive updates for all entry events in their client's client regions.
+
+To receive entry events in the client from the server:
+
+1.  Set the client pool `subscription-enabled` to true. See [&lt;pool&gt;](../../reference/topics/client-cache.html#cc-pool).
+2.  Program the client to register interest in the entries you need.
+
+    **Note:**
+    This must be done through the API.
+
+    Register interest in all keys, a key list, individual keys, or by comparing key strings to regular expressions. By default, no entries are registered to receive updates. Specify whether the server is to send values with entry update events. Interest registration is only available through the API.
+
+    1.  Get an instance of the region where you want to register interest.
+    2.  Use the regions's `registerInterest`\* methods to specify the entries you want. Examples:
+
+        ``` pre
+        // Register interest in a single key and download its entry 
+        // at this time, if it is available in the server cache 
+        Region region1 = . . . ;
+        region1.registerInterest("key-1"); 
+                            
+        // Register Interest in a List of Keys but do not do an initial bulk load
+        // do not send values for creater/update events - just send key with invalidation
+        Region region2 = . . . ; 
+        List list = new ArrayList();
+        list.add("key-1"); 
+        list.add("key-2"); 
+        list.add("key-3"); 
+        list.add("key-4");
+        region2.registerInterest(list, InterestResultPolicy.NONE, false); 
+                            
+        // Register interest in all keys and download all available keys now
+        Region region3 = . . . ;
+        region3.registerInterest("ALL_KEYS", InterestResultPolicy.KEYS); 
+                            
+        // Register Interest in all keys matching a regular expression 
+        Region region1 = . . . ; 
+        region1.registerInterestRegex("[a-zA-Z]+_[0-9]+"); 
+        ```
+
+        You can call the register interest methods multiple times for a single region. Each interest registration adds to the server\u2019s list of registered interest criteria for the client. So if a client registers interest in key \u2018A\u2019, then registers interest in regular expression "B\*", the server will send updates for all entries with key \u2018A\u2019 or key beginning with the letter \u2018B\u2019.
+
+    3.  For highly available event messaging, configure server redundancy. See [Configuring Highly Available Servers](configuring_highly_available_servers.html).
+    4.  To have events enqueued for your clients during client downtime, configure durable client/server messaging.
+    5.  Write any continuous queries (CQs) that you want to run to receive continuously streaming updates to client queries. CQ events do not update the client cache. If you have dependencies between CQs and/or interest registrations, so that you want the two types of subscription events to arrive as closely together on the client, use a single server pool for everything. Using different pools can lead to time differences in the delivery of events because the pools might use different servers to process and deliver the event messages.
+
+-   **[Configuring Highly Available Servers](../../developing/events/configuring_highly_available_servers.html)**
+
+-   **[Implementing Durable Client/Server Messaging](../../developing/events/implementing_durable_client_server_messaging.html)**
+
+-   **[Tuning Client/Server Event Messaging](../../developing/events/tune_client_server_event_messaging.html)**
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/configure_multisite_event_messaging.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/configure_multisite_event_messaging.html.md.erb b/geode-docs/developing/events/configure_multisite_event_messaging.html.md.erb
new file mode 100644
index 0000000..6bd1e8b
--- /dev/null
+++ b/geode-docs/developing/events/configure_multisite_event_messaging.html.md.erb
@@ -0,0 +1,22 @@
+---
+title:  Configuring Multi-Site (WAN) Event Queues
+---
+
+In a multi-site (WAN) installation, Geode uses gateway sender queues to distribute events for regions that are configured with a gateway sender. AsyncEventListeners also use an asynchronous event queue to distribute events for configured regions. This section describes additional options for configuring the event queues that are used by gateway senders or AsyncEventListener implementations.
+
+<a id="configure_multisite_event_messaging__section_1BBF77E166E84F7CA110385FD03D8453"></a>
+Before you begin, set up your multi-site (WAN) installation or configure asynchronous event queues and AsyncEventListener implementations. See [Configuring a Multi-site (WAN) System](../../topologies_and_comm/multi_site_configuration/setting_up_a_multisite_system.html#setting_up_a_multisite_system) or [Implementing an AsyncEventListener for Write-Behind Cache Event Handling](implementing_write_behind_event_handler.html#implementing_write_behind_cache_event_handling).
+
+-   **[Persisting an Event Queue](../../developing/events/configuring_highly_available_gateway_queues.html)**
+
+    You can configure a gateway sender queue or an asynchronous event queue to persist data to disk similar to the way in which replicated regions are persisted.
+
+-   **[Configuring Dispatcher Threads and Order Policy for Event Distribution](../../developing/events/configuring_gateway_concurrency_levels.html)**
+
+    By default, Geode uses multiple dispatcher threads to process region events simultaneously in a gateway sender queue for distribution between sites, or in an asynchronous event queue for distributing events for write-behind caching. With serial queues, you can also configure the ordering policy for dispatching those events.
+
+-   **[Conflating Events in a Queue](../../developing/events/conflate_multisite_gateway_queue.html)**
+
+    Conflating a queue improves distribution performance. When conflation is enabled, only the latest queued value is sent for a particular key.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/configure_p2p_event_messaging.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/configure_p2p_event_messaging.html.md.erb b/geode-docs/developing/events/configure_p2p_event_messaging.html.md.erb
new file mode 100644
index 0000000..73c7d74
--- /dev/null
+++ b/geode-docs/developing/events/configure_p2p_event_messaging.html.md.erb
@@ -0,0 +1,33 @@
+---
+title:  Configuring Peer-to-Peer Event Messaging
+---
+
+You can receive events from distributed system peers for any region that is not a local region. Local regions receive only local cache events.
+
+<a id="configuring_event_distribution__section_7D5B1F0C0EF24E58BB3C335CB4EA9A3C"></a>
+Peer distribution is done according to the region's configuration.
+
+-   Replicated regions always receive all events from peers and require no further configuration. Replicated regions are configured using the `REPLICATE` region shortcut settings.
+-   For non-replicated regions, decide whether you want to receive all entry events from the distributed cache or only events for the data you have stored locally. To configure:
+    -   To receive all events, set the `subscription-attributes` `interest-policy` to `all`:
+
+        ``` pre
+        <region-attributes> 
+            <subscription-attributes interest-policy="all"/> 
+        </region-attributes>
+        ```
+
+    -   To receive events just for the data you have stored locally, set the `subscription-attributes` `interest-policy` to `cache-content` or do not set it (`cache-content` is the default):
+
+        ``` pre
+        <region-attributes> 
+            <subscription-attributes interest-policy="cache-content"/> 
+        </region-attributes>
+        ```
+
+    For partitioned regions, this only affects the receipt of events, as the data is stored according to the region partitioning. Partitioned regions with interest policy of `all` can create network bottlenecks, so if you can, run listeners in every member that hosts the partitioned region data and use the `cache-content` interest policy.
+
+**Note:**
+You can also configure Regions using the gfsh command-line interface. See [Region Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_EF03119A40EE492984F3B6248596E1DD).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/configuring_gateway_concurrency_levels.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/configuring_gateway_concurrency_levels.html.md.erb b/geode-docs/developing/events/configuring_gateway_concurrency_levels.html.md.erb
new file mode 100644
index 0000000..5d001c3
--- /dev/null
+++ b/geode-docs/developing/events/configuring_gateway_concurrency_levels.html.md.erb
@@ -0,0 +1,141 @@
+---
+title:  Configuring Dispatcher Threads and Order Policy for Event Distribution
+---
+
+By default, Geode uses multiple dispatcher threads to process region events simultaneously in a gateway sender queue for distribution between sites, or in an asynchronous event queue for distributing events for write-behind caching. With serial queues, you can also configure the ordering policy for dispatching those events.
+
+By default, a gateway sender queue or asynchronous event queue uses 5 dispatcher threads per queue. This provides support for applications that have the ability to process queued events concurrently for distribution to another Geode site or listener. If your application does not require concurrent distribution, or if you do not have enough resources to support the requirements of multiple dispatcher threads, then you can configure a single dispatcher thread to process a queue.
+
+-   [Using Multiple Dispatcher Threads to Process a Queue](configuring_gateway_concurrency_levels.html#concept_6C52A037E39E4FD6AE4C6A982A4A1A85__section_20E8EFCE89EB4DC7AA822D03C8E0F470)
+-   [Performance and Memory Considerations](configuring_gateway_concurrency_levels.html#concept_6C52A037E39E4FD6AE4C6A982A4A1A85__section_C4C83B5C0FDD4913BA128365EE7E4E35)
+-   [Configuring the Ordering Policy for Serial Queues](configuring_gateway_concurrency_levels.html#concept_6C52A037E39E4FD6AE4C6A982A4A1A85__section_4835BA30CDFD4B658BD2576F6BC2E23F)
+-   [Examples\u2014Configuring Dispatcher Threads and Ordering Policy for a Serial Gateway Sender Queue](configuring_gateway_concurrency_levels.html#concept_6C52A037E39E4FD6AE4C6A982A4A1A85__section_752F08F9064B4F67A80DA0A994671EA0)
+
+## <a id="concept_6C52A037E39E4FD6AE4C6A982A4A1A85__section_20E8EFCE89EB4DC7AA822D03C8E0F470" class="no-quick-link"></a>Using Multiple Dispatcher Threads to Process a Queue
+
+When multiple dispatcher threads are configured for a parallel queue, Geode simply uses multiple threads to process the contents of each individual queue. The total number of queues that are created is still determined by the number of Geode members that host the region.
+
+When multiple dispatcher threads are configured for a serial queue, Geode creates an additional copy of the queue for each thread on each member that hosts the queue. To obtain the maximum throughput, increase the number of dispatcher threads until your network is saturated.
+
+The following diagram illustrates a serial gateway sender queue that is configured with multiple dispatcher threads.
+<img src="../../images/MultisiteConcurrency_WAN_Gateway.png" id="concept_6C52A037E39E4FD6AE4C6A982A4A1A85__image_093DAC58EBEE456485562C92CA79899F" class="image" width="624" />
+
+## <a id="concept_6C52A037E39E4FD6AE4C6A982A4A1A85__section_C4C83B5C0FDD4913BA128365EE7E4E35" class="no-quick-link"></a>Performance and Memory Considerations
+
+When a serial gateway sender or an asynchronous event queue uses multiple dispatcher threads, consider the following:
+
+-   Queue attributes are repeated for each copy of the queue that is created for a dispatcher thread. That is, each concurrent queue points to the same disk store, so the same disk directories are used. If persistence is enabled and overflow occurs, the threads that insert entries into the queues compete for the disk. This applies to application threads and dispatcher threads, so it can affect application performance.
+-   The `maximum-queue-memory` setting applies to each copy of the serial queue. If you configure 10 dispatcher threads and the maximum queue memory is set to 100MB, then the total maximum queue memory for the queue is 1000MB on each member that hosts the queue.
+
+## <a id="concept_6C52A037E39E4FD6AE4C6A982A4A1A85__section_4835BA30CDFD4B658BD2576F6BC2E23F" class="no-quick-link"></a>Configuring the Ordering Policy for Serial Queues
+
+When using multiple `dispatcher-threads` (greater than 1) with a serial event queue, you can also configure the `order-policy` that those threads use to distribute events from the queue. The valid order policy values are:
+
+-   **key (default)**. All updates to the same key are distributed in order. Geode preserves key ordering by placing all updates to the same key in the same dispatcher thread queue. You typically use key ordering when updates to entries have no relationship to each other, such as for an application that uses a single feeder to distribute stock updates to several other systems.
+-   **thread**. All region updates from a given thread are distributed in order. Geode preserves thread ordering by placing all region updates from the same thread into the same dispatcher thread queue. In general, use thread ordering when updates to one region entry affect updates to another region entry.
+-   **partition**. All region events that share the same partitioning key are distributed in order. Specify partition ordering when applications use a [PartitionResolver](/releases/latest/javadoc/org/apache/geode/cache/PartitionResolver.html) to implement [custom partitioning](../partitioned_regions/using_custom_partition_resolvers.html). With partition ordering, all entries that share the same "partitioning key" (RoutingObject) are placed into the same dispatcher thread queue.
+
+You cannot configure the `order-policy` for a parallel event queue, because parallel queues cannot preserve event ordering for regions. Only the ordering of events for a given partition (or in a given queue of a distributed region) can be preserved.
+
+## <a id="concept_6C52A037E39E4FD6AE4C6A982A4A1A85__section_752F08F9064B4F67A80DA0A994671EA0" class="no-quick-link"></a>Examples\u2014Configuring Dispatcher Threads and Ordering Policy for a Serial Gateway Sender Queue
+
+To increase the number of dispatcher threads and set the ordering policy for a serial gateway sender, use one of the following mechanisms.
+
+-   **cache.xml configuration**
+
+    ``` pre
+    <cache>
+      <gateway-sender id="NY" parallel="false" 
+       remote-distributed-system-id="1"
+       enable-persistence="true"
+       disk-store-name="gateway-disk-store"
+       maximum-queue-memory="200"
+       dispatcher-threads=7 order-policy="key"/> 
+       ... 
+    </cache>
+    ```
+
+-   **Java API configuration**
+
+    ``` pre
+    Cache cache = new CacheFactory().create();
+
+    GatewaySenderFactory gateway = cache.createGatewaySenderFactory();
+    gateway.setParallel(false);
+    gateway.setPersistenceEnabled(true);
+    gateway.setDiskStoreName("gateway-disk-store");
+    gateway.setMaximumQueueMemory(200);
+    gateway.setDispatcherThreads(7);
+    gateway.setOrderPolicy(OrderPolicy.KEY);
+    GatewaySender sender = gateway.create("NY", "1");
+    sender.start();
+    ```
+
+-   **gfsh:**
+
+    ``` pre
+    gfsh>create gateway-sender -d="NY" 
+       --parallel=false 
+       --remote-distributed-system-id="1"
+       --enable-persistence=true
+       --disk-store-name="gateway-disk-store"
+       --maximum-queue-memory=200
+       --dispatcher-threads=7 
+       --order-policy="key"
+    ```
+
+The following examples show how to set dispatcher threads and ordering policy for an asynchronous event queue:
+
+-   **cache.xml configuration**
+
+    ``` pre
+    <cache>
+       <async-event-queue id="sampleQueue" persistent="true"
+        disk-store-name="async-disk-store" parallel="false"
+        dispatcher-threads=7 order-policy="key">
+          <async-event-listener>
+             <class-name>MyAsyncEventListener</class-name>
+             <parameter name="url"> 
+               <string>jdbc:db2:SAMPLE</string> 
+             </parameter> 
+             <parameter name="username"> 
+               <string>gfeadmin</string> 
+             </parameter> 
+             <parameter name="password"> 
+               <string>admin1</string> 
+             </parameter> 
+        </async-event-listener>
+        </async-event-queue>
+    ...
+    </cache>
+    ```
+
+-   **Java API configuration**
+
+    ``` pre
+    Cache cache = new CacheFactory().create();
+    AsyncEventQueueFactory factory = cache.createAsyncEventQueueFactory();
+    factory.setPersistent(true);
+    factory.setDiskStoreName("async-disk-store");
+    factory.setParallel(false);
+    factory.setDispatcherThreads(7);
+    factory.setOrderPolicy(OrderPolicy.KEY);
+    AsyncEventListener listener = new MyAsyncEventListener();
+    AsyncEventQueue sampleQueue = factory.create("customerWB", listener);
+    ```
+
+    Entry updates in the current, in-process batch are not eligible for conflation.
+
+-   **gfsh:**
+
+    ``` pre
+    gfsh>create async-event-queue --id="sampleQueue" --persistent=true
+    --disk-store="async-disk-store" --parallel=false
+    --dispatcher-threads=7 order-policy="key"
+    --listener=myAsycEventListener 
+    --listener-param=url#jdbc:db2:SAMPLE 
+    --listener-param=username#gfeadmin 
+    --listener-param=password#admin1
+    ```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/configuring_highly_available_gateway_queues.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/configuring_highly_available_gateway_queues.html.md.erb b/geode-docs/developing/events/configuring_highly_available_gateway_queues.html.md.erb
new file mode 100644
index 0000000..a674a45
--- /dev/null
+++ b/geode-docs/developing/events/configuring_highly_available_gateway_queues.html.md.erb
@@ -0,0 +1,102 @@
+---
+title:  Persisting an Event Queue
+---
+
+You can configure a gateway sender queue or an asynchronous event queue to persist data to disk similar to the way in which replicated regions are persisted.
+
+<a id="configuring_highly_available_gateway_queues__section_7EB2A7E38B074AAAA06D22C59687CB8A"></a>
+Persisting a queue provides high availability for the event messaging that the sender performs. For example, if a persistent gateway sender queue exits for any reason, when the member that hosts the sender restarts it automatically reloads the queue and resumes sending messages. If an asynchronous event queue exits for any reason, write-back caching can resume where it left off when the queue is brought back online.
+Geode persists an event queue if you set the `enable-persistence` attribute to true. The queue is persisted to the disk store specified in the queue's `disk-store-name` attribute, or to the default disk store if you do not specify a store name.
+
+You must configure the event queue to use persistence if you are using persistent regions. The use of non-persistent event queues with persistent regions is not supported.
+
+When you enable persistence for a queue, the `maximum-queue-memory` attribute determines how much memory the queue can consume before it overflows to disk. By default, this value is set to 100MB.
+
+**Note:**
+If you configure a parallel queue and/or you configure multiple dispatcher threads for a queue, the values that are defined in the `maximum-queue-memory` and `disk-store-name` attributes apply to each instance of the queue.
+
+In the example below the gateway sender queue uses "diskStoreA" for persistence and overflow, and the queue has a maximum queue memory of 100MB:
+
+-   XML example:
+
+    ``` pre
+    <cache>
+      <gateway-sender id="persistedsender1" parallel="false" 
+       remote-distributed-system-id="1"
+       enable-persistence="true"
+       disk-store-name="diskStoreA"
+       maximum-queue-memory="100"/> 
+       ... 
+    </cache>
+    ```
+
+-   API example:
+
+    ``` pre
+    Cache cache = new CacheFactory().create();
+
+    GatewaySenderFactory gateway = cache.createGatewaySenderFactory();
+    gateway.setParallel(false);
+    gateway.setPersistenceEnabled(true);
+    gateway.setDiskStoreName("diskStoreA");
+    gateway.setMaximumQueueMemory(100); 
+    GatewaySender sender = gateway.create("persistedsender1", "1");
+    sender.start();
+    ```
+
+-   gfsh:
+
+    ``` pre
+    gfsh>create gateway-sender --id="persistedsender1 --parallel=false 
+    --remote-distributed-system-id=1 --enable-persistence=true --disk-store-name=diskStoreA 
+    --maximum-queue-memory=100
+    ```
+
+If you were to configure 10 dispatcher threads for the serial gateway sender, then the total maximum memory for the gateway sender queue would be 1000MB on each Geode member that hosted the sender, because Geode creates a separate copy of the queue per thread..
+
+The following example shows a similar configuration for an asynchronous event queue:
+
+-   XML example:
+
+    ``` pre
+    <cache>
+       <async-event-queue id="persistentAsyncQueue" persistent="true"
+        disk-store-name="diskStoreA" parallel="true">
+          <async-event-listener>
+             <class-name>MyAsyncEventListener</class-name>
+             <parameter name="url"> 
+               <string>jdbc:db2:SAMPLE</string> 
+             </parameter> 
+             <parameter name="username"> 
+               <string>gfeadmin</string> 
+             </parameter> 
+             <parameter name="password"> 
+               <string>admin1</string> 
+             </parameter> 
+          </async-event-listener>
+        </async-event-queue>
+    ...
+    </cache>
+    ```
+
+-   API example:
+
+    ``` pre
+    Cache cache = new CacheFactory().create();
+    AsyncEventQueueFactory factory = cache.createAsyncEventQueueFactory();
+    factory.setPersistent(true);
+    factory.setDiskStoreName("diskStoreA");
+    factory.setParallel(true);
+    AsyncEventListener listener = new MyAsyncEventListener();
+    AsyncEventQueue persistentAsyncQueue = factory.create("customerWB", listener);
+    ```
+
+-   gfsh:
+
+    ``` pre
+    gfsh>create async-event-queue --id="persistentAsyncQueue" --persistent=true 
+    --disk-store="diskStoreA" --parallel=true --listener=MyAsyncEventListener 
+    --listener-param=url#jdbc:db2:SAMPLE --listener-param=username#gfeadmin --listener-param=password#admin1
+    ```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/configuring_highly_available_servers.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/configuring_highly_available_servers.html.md.erb b/geode-docs/developing/events/configuring_highly_available_servers.html.md.erb
new file mode 100644
index 0000000..3b80d96
--- /dev/null
+++ b/geode-docs/developing/events/configuring_highly_available_servers.html.md.erb
@@ -0,0 +1,38 @@
+---
+title:  Configuring Highly Available Servers
+---
+
+<a id="configuring_highly_available_servers__section_7EB2A7E38B074AAAA06D22C59687CB8A"></a>
+With highly-available servers, one of the backups steps in and takes over messaging with no interruption in service if the client's primary server crashes.
+
+To configure high availability, set the `subscription-redundancy` in the client's pool configuration. This setting indicates the number of secondary servers to use. For example:
+
+``` pre
+<!-- Run one secondary server -->
+<pool name="red1" subscription-enabled="true" subscription-redundancy="1"> 
+  <locator host="nick" port="41111"/> 
+  <locator host="nora" port="41111"/> 
+</pool> 
+```
+
+``` pre
+<!-- Use all available servers as secondaries. One is primary, the rest are secondaries -->
+<pool name="redX" subscription-enabled="true" subscription-redundancy="-1"> 
+  <locator host="nick" port="41111"/> 
+  <locator host="nora" port="41111"/> 
+</pool> 
+```
+
+When redundancy is enabled, secondary servers maintain queue backups while the primary server pushes events to the client. If the primary server fails, one of the secondary servers steps in as primary to provide uninterrupted event messaging to the client.
+
+The following table describes the different values for the subscription-redundancy setting:
+
+| subscription-redundancy | Description                                                                    |
+|-------------------------|--------------------------------------------------------------------------------|
+| 0                       | No secondary servers are configured, so high availability is disabled.         |
+| &gt; 0                  | Sets the precise number of secondary servers to use for backup to the primary. |
+| -1                      | Every server that is not the primary is to be used as a secondary.             |
+
+-   **[Highly Available Client/Server Event Messaging](../../developing/events/ha_event_messaging_whats_next.html)**
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/conflate_multisite_gateway_queue.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/conflate_multisite_gateway_queue.html.md.erb b/geode-docs/developing/events/conflate_multisite_gateway_queue.html.md.erb
new file mode 100644
index 0000000..e2e7ff1
--- /dev/null
+++ b/geode-docs/developing/events/conflate_multisite_gateway_queue.html.md.erb
@@ -0,0 +1,113 @@
+---
+title:  Conflating Events in a Queue
+---
+
+Conflating a queue improves distribution performance. When conflation is enabled, only the latest queued value is sent for a particular key.
+
+<a id="conflate_multisite_gateway_queue__section_294AD2E2328E4D6B8D6A73966F7B3B14"></a>
+**Note:**
+Do not use conflation if your receiving applications depend on the specific ordering of entry modifications, or if they need to be notified of every change to an entry.
+
+Conflation is most useful when a single entry is updated frequently, but other sites only need to know the current value of the entry (rather than the value of each update). When an update is added to a queue that has conflation enabled, if there is already an update message in the queue for the entry key, then the existing message assumes the value of the new update and the new update is dropped, as shown here for key A.
+
+<img src="../../images/MultiSite-4.gif" id="conflate_multisite_gateway_queue__image_27219DAAB6D643348641389DBAEA1E94" class="image" />
+
+**Note:**
+This method of conflation is different from the one used for server-to-client subscription queue conflation and peer-to-peer distribution within a distributed system.
+
+## <a id="conflate_multisite_gateway_queue__section_207FA6BF0F734F9A91EAACB136F8D6B5" class="no-quick-link"></a>Examples\u2014Configuring Conflation for a Gateway Sender Queue
+
+To enable conflation for a gateway sender queue, use one of the following mechanisms:
+
+-   **cache.xml configuration**
+
+    ``` pre
+    <cache>
+      <gateway-sender id="NY" parallel="true" 
+       remote-distributed-system-id="1"
+       enable-persistence="true"
+       disk-store-name="gateway-disk-store"
+       enable-batch-conflation="true"/> 
+       ... 
+    </cache>
+    ```
+
+-   **Java API configuration**
+
+    ``` pre
+    Cache cache = new CacheFactory().create();
+
+    GatewaySenderFactory gateway = cache.createGatewaySenderFactory();
+    gateway.setParallel(true);
+    gateway.setPersistenceEnabled(true);
+    gateway.setDiskStoreName("gateway-disk-store");
+    gateway.setBatchConflationEnabled(true);
+    GatewaySender sender = gateway.create("NY", "1");
+    sender.start();
+    ```
+
+    Entry updates in the current, in-process batch are not eligible for conflation.
+
+-   **gfsh:**
+
+    ``` pre
+    gfsh>create gateway-sender --id="NY" --parallel=true 
+       --remote-distributed-system-id="1"
+       --enable-persistence=true
+       --disk-store-name="gateway-disk-store"
+       --enable-batch-conflation=true
+    ```
+
+The following examples show how to configure conflation for an asynchronous event queue:
+
+-   **cache.xml configuration**
+
+    ``` pre
+    <cache>
+       <async-event-queue id="sampleQueue" persistent="true"
+        disk-store-name="async-disk-store" parallel="false"
+        enable-batch-conflation="true">
+          <async-event-listener>
+             <class-name>MyAsyncEventListener</class-name>
+             <parameter name="url"> 
+               <string>jdbc:db2:SAMPLE</string> 
+             </parameter> 
+             <parameter name="username"> 
+               <string>gfeadmin</string> 
+             </parameter> 
+             <parameter name="password"> 
+               <string>admin1</string> 
+             </parameter> 
+       </async-event-listener>
+     </async-event-queue>
+    ...
+    </cache>
+    ```
+
+-   **Java API configuration**
+
+    ``` pre
+    Cache cache = new CacheFactory().create();
+    AsyncEventQueueFactory factory = cache.createAsyncEventQueueFactory();
+    factory.setPersistent(true);
+    factory.setDiskStoreName("async-disk-store");
+    factory.setParallel(false);
+    factory.setBatchConflationEnabled(true);
+    AsyncEventListener listener = new MyAsyncEventListener();
+    AsyncEventQueue sampleQueue = factory.create("customerWB", listener);
+    ```
+
+    Entry updates in the current, in-process batch are not eligible for conflation.
+
+-   **gfsh:**
+
+    ``` pre
+    gfsh>create async-event-queue --id="sampleQueue" --persistent=true 
+    --disk-store="async-disk-store" --parallel="false" 
+    --listener=myAsyncEventListener 
+    --listener-param=url#jdbc:db2:SAMPLE 
+    --listener-param=username#gfeadmin 
+    --listener-param=password#admin1
+    ```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/conflate_server_subscription_queue.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/conflate_server_subscription_queue.html.md.erb b/geode-docs/developing/events/conflate_server_subscription_queue.html.md.erb
new file mode 100644
index 0000000..f6d4990
--- /dev/null
+++ b/geode-docs/developing/events/conflate_server_subscription_queue.html.md.erb
@@ -0,0 +1,36 @@
+---
+title:  Conflate the Server Subscription Queue
+---
+
+<a id="conflate_the_server_subscription_queue__section_1791DFB89502480EB57F81D16AC0EBAC"></a>
+Conflating the server subscription queue can save space in the server and time in message processing.
+
+Enable conflation at the server level in the server region configuration:
+
+``` pre
+<region ... >
+  <region-attributes enable-subscription-conflation="true" /> 
+</region>
+```
+
+Override the server setting as needed, on a per-client basis, in the client\u2019s `gemfire.properties`:
+
+``` pre
+conflate-events=false
+```
+
+Valid `conflate-events` settings are:
+-   `server`, which uses the server settings
+-   `true`, which conflates everything sent to the client
+-   `false`, which does not conflate anything sent to this client
+
+Conflation can both improve performance and reduce the amount of memory required on the server for queuing. The client receives only the latest available update in the queue for a particular entry key. Conflation is disabled by default.
+
+Conflation is particularly useful when a single entry is updated often and the intermediate updates don\u2019t require processing by the client. With conflation, if an entry is updated and there is already an update in the queue for its key, the existing update is removed and the new update is placed at the end of the queue. Conflation is only done on messages that are not in the process of being sent to the client.
+
+<img src="../../images/ClientServerAdvancedTopics-7.gif" id="conflate_the_server_subscription_queue__image_FA77FD2857464D17BF2ED5B3CC62687A" class="image" />
+
+**Note:**
+This method of conflation is different from the one used for multi-site gateway sender queue conflation. It is the same as the method used for the conflation of peer-to-peer distribution messages within a single distributed system.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/event_handler_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/event_handler_overview.html.md.erb b/geode-docs/developing/events/event_handler_overview.html.md.erb
new file mode 100644
index 0000000..c020e3a
--- /dev/null
+++ b/geode-docs/developing/events/event_handler_overview.html.md.erb
@@ -0,0 +1,23 @@
+---
+title:  Implementing Geode Event Handlers
+---
+
+You can specify event handlers for region and region entry operations and for administrative events.
+
+-   **[Implementing Cache Event Handlers](implementing_cache_event_handlers.html)**
+
+    Depending on your installation and configuration, cache events can come from local operations, peers, servers, and remote sites. Event handlers register their interest in one or more events and are notified when the events occur.
+
+-   **[Implementing an AsyncEventListener for Write-Behind Cache Event Handling](implementing_write_behind_event_handler.html)**
+
+    An `AsyncEventListener` asynchronously processes batches of events after they have been applied to a region. You can use an `AsyncEventListener` implementation as a write-behind cache event handler to synchronize region updates with a database.
+
+-   **[How to Safely Modify the Cache from an Event Handler Callback](writing_callbacks_that_modify_the_cache.html)**
+
+    Event handlers are synchronous. If you need to change the cache or perform any other distributed operation from event handler callbacks, be careful to avoid activities that might block and affect your overall system performance.
+
+-   **[Cache Event Handler Examples](cache_event_handler_examples.html)**
+
+    Some examples of cache event handlers.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/filtering_multisite_events.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/filtering_multisite_events.html.md.erb b/geode-docs/developing/events/filtering_multisite_events.html.md.erb
new file mode 100644
index 0000000..a46d18e
--- /dev/null
+++ b/geode-docs/developing/events/filtering_multisite_events.html.md.erb
@@ -0,0 +1,109 @@
+---
+title:  Filtering Events for Multi-Site (WAN) Distribution
+---
+
+You can optionally create gateway sender and/or gateway receiver filters to control which events are queued and distributed to a remote site, or to modify the data stream that is transmitted between Geode sites.
+
+You can implement and deploy two different types of filter for multi-site events:
+
+-   `GatewayEventFilter`. A `GatewayEventFilter` implementation determines whether a region event is placed in a gateway sender queue and/or whether an event in a gateway queue is distributed to a remote site. You can optionally add one or more `GatewayEventFilter` implementations to a gateway sender, etiher in the `cache.xml` configuration file or using the Java API.
+
+    Geode makes a synchronous call to the filter's `beforeEnqueue` method before it places a region event in the gateway sender queue. The filter returns a boolean value that specifies whether the event should be added to the queue.
+
+    Geode asynchronously calls the filter's `beforeTransmit` method to determine whether the gateway sender dispatcher thread should distribute the event to a remote gateway receiver.
+
+    For events that are distributed to another site, Geode calls the listener's `afterAcknowledgement` method to indicate that is has received an ack from the remote site after the event was received.
+
+-   GatewayTransportFilter. Use a `GatewayTransportFilter` implementation to process the TCP stream that sends a batch of events that is distributed from one Geode cluster to another over a WAN. A `GatewayTransportFilter` is typically used to perform encryption or compression on the data that distributed. You install the same `GatewayTransportFilter` implementation on both a gateway sender and gateway receiver.
+
+    When a gateway sender processes a batch of events for distribution, Geode delivers the stream to the `getInputStream` method of a configured `GatewayTransportFilter` implementation. The filter processes and returns the stream, which is then transmitted to the gateway receiver. When the gateway receiver receives the batch, Geode calls the `getOutputStream` method of a configured filter, which again processes and returns the stream so that the events can be applied in the local cluster.
+
+## <a id="topic_E97BB68748F14987916CD1A50E4B4542__section_E20B4A8A98FD4EDAAA8C14B8059AA7F7" class="no-quick-link"></a>Configuring Multi-Site Event Filters
+
+You install a `GatewayEventFilter` implementation to a configured gateway sender in order to decide which events are queued and distributed. You install a `GatewayTransportFilter` implementation to both a gateway sender and a gateway receiver to process the stream of batched events that are distributed between two sites:
+
+-   **XML example**
+
+    ``` pre
+    <cache>
+      <gateway-sender id="remoteA" parallel="true" remote-distributed-system-id="1"> 
+        <gateway-event-filter>
+          <class-name>org.apache.geode.util.SampleEventFilter</class-name>
+          <parameter name="param1">
+            <string>"value1"</string>
+          </parameter>
+        </gateway-event-filter>
+        <gateway-transport-filter>
+          <class-name>org.apache.geode.util.SampleTransportFilter</class-name>
+          <parameter name="param1">
+            <string>"value1"</string>
+          </parameter>
+        </gateway-transport-filter>
+      </gateway-sender> 
+    </cache>
+    ```
+
+    ``` pre
+    <cache>
+      ...
+      <gateway-receiver start-port="1530" end-port="1551"> 
+        <gateway-transport-filter>
+          <class-name>org.apache.geode.util.SampleTransportFilter</class-name>
+          <parameter name="param1">
+            <string>"value1"</string>
+          </parameter>
+        </gateway-transport-filter>
+      </gateway-receiver>
+    </cache>
+    ```
+
+-   **gfsh example**
+
+    ``` pre
+    gfsh>create gateway-sender --id=remoteA --parallel=true --remote-distributed-id="1" 
+    --gateway-event-filter=org.apache.geode.util.SampleEventFilter 
+    --gateway-transport-filter=org.apache.geode.util.SampleTransportFilter
+    ```
+
+    See [create gateway-sender](../../tools_modules/gfsh/command-pages/create.html#topic_hg2_bjz_ck).
+
+    ``` pre
+    gfsh>create gateway-receiver --start-port=1530 --end-port=1551 \
+    --gateway-transport-filter=org.apache.geode.util.SampleTransportFilter
+    ```
+
+    **Note:**
+    You cannot specify parameters and values for the Java class you specify with the `--gateway-transport-filter` option.
+
+    See [create gateway-receiver](../../tools_modules/gfsh/command-pages/create.html#topic_a4x_pb1_dk).
+
+-   **API example**
+
+    ``` pre
+    Cache cache = new CacheFactory().create();
+
+    GatewayEventFilter efilter = new SampleEventFilter();
+    GatewayTransportFilter tfilter = new SampleTransportFilter();
+
+    GatewaySenderFactory gateway = cache.createGatewaySenderFactory();
+    gateway.setParallel(true);
+    gateway.addGatewayEventFilter(efilter);
+    gateway.addTransportFilter(tfilter);
+    GatewaySender sender = gateway.create("remoteA", "1");
+    sender.start();
+    ```
+
+    ``` pre
+    Cache cache = new CacheFactory().create();
+
+    GatewayTransportFilter tfilter = new SampleTransportFilter();
+
+    GatewayReceiverFactory gateway = cache.createGatewayReceiverFactory();
+    gateway.setStartPort(1530);
+    gateway.setEndPort(1551);
+    gateway.addTransportFilter(tfilter);
+    GatewayReceiver receiver = gateway.create();
+    receiver.start();
+    ```
+
+


[20/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/distributed_how_3.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/distributed_how_3.svg b/geode-docs/images_svg/distributed_how_3.svg
new file mode 100644
index 0000000..a466636
--- /dev/null
+++ b/geode-docs/images_svg/distributed_how_3.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="130 293 355 193" width="355pt" height="193pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 11:15Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(287.28 468) scale(162.56153)"/><font-face font-family="Helvetica" font-size="14" units-per-em="1000" und
 erline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(467.28 468) scale(162.56153)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_2" gradientTransform="translate(449.2
 8 387) scale(218.62082)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(269.28 387) scale(87.75)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient_2" gradientTransform="translate(218.25 378) scale(22.034796)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(449.28 387) scale(87.75)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(398.25 378) scale(22.034796)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>how_it_works-3</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filte
 r="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 149.94 306 L 280.62 306 C 284.29822 306 287.28 308.98178 287.28 312.66 L 287.28 461.34 C 287.28 465.01822 284.29822 468 280.62 468 L 149.94 468 C 146.26178 468 143.28 465.01822 143.28 461.34 L 143.28 312.66 C 143.28 308.98178 146.26178 306 149.94 306 Z" fill="url(#Obj_Gradient)"/><path d="M 149.94 306 L 280.62 306 C 284.29822 306 287.28 308.98178 287.28 312.66 L 287.28 461.34 C 287.28 465.01822 284.29822 468 280.62 468 L 149.94 468 C 146.26178 468 143.28 465.01822 143.28 461.34 L 143.28 312.66 C 143.28 308.98178 146.26178 306 149.94 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-wi
 dth=".72000003"/><text transform="translate(147.28 310)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="51.993164" y="14" textLength="84.006836">Member (M1)</tspan></text></g><g id="id4_Graphic"><path d="M 329.94 306 L 460.62 306 C 464.29822 306 467.28 308.98178 467.28 312.66 L 467.28 461.34 C 467.28 465.01822 464.29822 468 460.62 468 L 329.94 468 C 326.26178 468 323.28 465.01822 323.28 461.34 L 323.28 312.66 C 323.28 308.98178 326.26178 306 329.94 306 Z" fill="url(#Obj_Gradient_2)"/><path d="M 329.94 306 L 460.62 306 C 464.29822 306 467.28 308.98178 467.28 312.66 L 467.28 461.34 C 467.28 465.01822 464.29822 468 460.62 468 L 329.94 468 C 326.26178 468 323.28 465.01822 323.28 461.34 L 323.28 312.66 C 323.28 308.98178 326.26178 306 329.94 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(327.28 310)" fill="black"><tspan font-family="Helvetica" font-size="14" font-wei
 ght="500" fill="black" x="51.993164" y="14" textLength="84.006836">Member (M2)</tspan></text></g><rect x="161.28" y="432" width="108" height="17.76375" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(163.28 434)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="28.53955" y="10" textLength="48.920898">Application</tspan></text><g id="id6_Graphic"><path d="M 167.94 342 L 442.62 342 C 446.29822 342 449.28 344.98178 449.28 348.66 L 449.28 380.34 C 449.28 384.01822 446.29822 387 442.62 387 L 167.94 387 C 164.26178 387 161.28 384.01822 161.28 380.34 L 161.28 348.66 C 161.28 344.98178 164.26178 342 167.94 342 Z" fill="url(#Obj_Gradient_3)"/></g><g id="id7_Graphic"><path d="M 167.94 342 L 262.62 342 C 266.29822 342 269.28 344.98178 269.28 348.66 L 269.28 380.34 C 269.28 384.01822 266.29822 387 262.62 387 L 167.94 387 C 164.26178 387 161.28 384.01822 161.28 380.34 L 161.28 348.66 
 C 161.28 344.98178 164.26178 342 167.94 342 Z" fill="url(#Obj_Gradient_4)"/><path d="M 167.94 342 L 262.62 342 C 266.29822 342 269.28 344.98178 269.28 348.66 L 269.28 380.34 C 269.28 384.01822 266.29822 387 262.62 387 L 167.94 387 C 164.26178 387 161.28 384.01822 161.28 380.34 L 161.28 348.66 C 161.28 344.98178 164.26178 342 167.94 342 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(163.28 344)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.416504" y="10" textLength="85.043945">Distributed Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="91.913574" y="10" textLength="6.669922">A</tspan></text></g><g id="id8_Graphic"><path d="M 201.69 360 L 211.59 360 C 215.26822 360 218.25 362.98178 218.25 366.66 L 218.25 371.34 C 218.25 375.01822 215.26822 378 211.59 378 L 201.69 378 C 198.01178 378 195.03 375.01822 195.03 371.34 L 19
 5.03 366.66 C 195.03 362.98178 198.01178 360 201.69 360 Z" fill="url(#Obj_Gradient_5)"/><path d="M 201.69 360 L 211.59 360 C 215.26822 360 218.25 362.98178 218.25 366.66 L 218.25 371.34 C 218.25 375.01822 215.26822 378 211.59 378 L 201.69 378 C 198.01178 378 195.03 375.01822 195.03 371.34 L 195.03 366.66 C 195.03 362.98178 198.01178 360 201.69 360 Z" stroke="#b00003" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(199.03 363.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.1058496" y="9" textLength="11.008301">X1</tspan></text></g><g id="id9_Graphic"><path d="M 347.94 342 L 442.62 342 C 446.29822 342 449.28 344.98178 449.28 348.66 L 449.28 380.34 C 449.28 384.01822 446.29822 387 442.62 387 L 347.94 387 C 344.26178 387 341.28 384.01822 341.28 380.34 L 341.28 348.66 C 341.28 344.98178 344.26178 342 347.94 342 Z" fill="url(#Obj_Gradient_6)"/><path d="M 347.94 342 L 442.62 342 C 446.298
 22 342 449.28 344.98178 449.28 348.66 L 449.28 380.34 C 449.28 384.01822 446.29822 387 442.62 387 L 347.94 387 C 344.26178 387 341.28 384.01822 341.28 380.34 L 341.28 348.66 C 341.28 344.98178 344.26178 342 347.94 342 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(343.28 344)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.416504" y="10" textLength="85.043945">Distributed Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="91.913574" y="10" textLength="6.669922">A</tspan></text></g><g id="id10_Graphic"><path d="M 381.69 360 L 391.59 360 C 395.26822 360 398.25 362.98178 398.25 366.66 L 398.25 371.34 C 398.25 375.01822 395.26822 378 391.59 378 L 381.69 378 C 378.01178 378 375.03 375.01822 375.03 371.34 L 375.03 366.66 C 375.03 362.98178 378.01178 360 381.69 360 Z" fill="url(#Obj_Gradient_7)"/><path d="M 381.69 360 L 391.59 
 360 C 395.26822 360 398.25 362.98178 398.25 366.66 L 398.25 371.34 C 398.25 375.01822 395.26822 378 391.59 378 L 381.69 378 C 378.01178 378 375.03 375.01822 375.03 371.34 L 375.03 366.66 C 375.03 362.98178 378.01178 360 381.69 360 Z" stroke="#b00003" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><text transform="translate(379.03 363.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.1058496" y="9" textLength="11.008301">X1</tspan></text></g></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/distributed_preload.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/distributed_preload.svg b/geode-docs/images_svg/distributed_preload.svg
new file mode 100644
index 0000000..681c824
--- /dev/null
+++ b/geode-docs/images_svg/distributed_preload.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="77 311 310 85" width="310pt" height="85pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-06 23:02Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(378 378) scale(78.71785)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-
 position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(198 378) scale(90.560753)"/><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(141.75 371.25) scale(19.091883)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-fac
 e-src></font-face><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(166.5 371.25) scale(19.091883)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M 11.7222214 0 L 0 -4.395833 L 0 4.395833 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-13 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M -11.7222214 0 L 0 4.395833 L 0 -4.395833 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-family="Helvetica" font-size="8" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-fac
 e-name name="Helvetica"/></font-face-src></font-face></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>preload</title><g><title>Layer 1</title><g><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/></g><path d="M 301.5 324 L 364.5 324 C 371.95584 324 378 330.04416 378 337.5 L 378 364.5 C 378 371.95584 371.95584 378 364.5 378 L 301.5 378 C 294.04416 378 288 371.95584 288 364.5 L 288 337.5 C 288 330.04416 294.04416 324 301.5 324 Z" fill="url(#Obj_Gradient)"/><text transform="translate(292 339)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="17.101074" y="10" textLength="47.797852">Distributed</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="24.330078" y="22" textLength="33.339844">System</tspan></text><g id="id4_Graphic"><path d="M 96.66 324 
 L 191.34 324 C 195.01822 324 198 326.98178 198 330.66 L 198 371.34 C 198 375.01822 195.01822 378 191.34 378 L 96.66 378 C 92.981783 378 90 375.01822 90 371.34 L 90 330.66 C 90 326.98178 92.981783 324 96.66 324 Z" fill="url(#Obj_Gradient_2)"/><path d="M 96.66 324 L 191.34 324 C 195.01822 324 198 326.98178 198 330.66 L 198 371.34 C 198 375.01822 195.01822 378 191.34 378 L 96.66 378 C 92.981783 378 90 375.01822 90 371.34 L 90 330.66 C 90 326.98178 92.981783 324 96.66 324 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(92 326)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="11.8671875" y="10" textLength="82.265625">Distributed Region</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="3.5371094" y="22" textLength="98.92578">(Preloaded or Normal)</tspan></text></g><g id="id5_Graphic"><path d="M 130.41 353.25 L 135.09 353.25 C 138.76822 3
 53.25 141.75 356.23178 141.75 359.91 L 141.75 364.59 C 141.75 368.26822 138.76822 371.25 135.09 371.25 L 130.41 371.25 C 126.73178 371.25 123.75 368.26822 123.75 364.59 L 123.75 359.91 C 123.75 356.23178 126.73178 353.25 130.41 353.25 Z" fill="url(#Obj_Gradient_3)"/><path d="M 130.41 353.25 L 135.09 353.25 C 138.76822 353.25 141.75 356.23178 141.75 359.91 L 141.75 364.59 C 141.75 368.26822 138.76822 371.25 135.09 371.25 L 130.41 371.25 C 126.73178 371.25 123.75 368.26822 123.75 364.59 L 123.75 359.91 C 123.75 356.23178 126.73178 353.25 130.41 353.25 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(127.75 356.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id6_Graphic"><path d="M 157.5 353.25 L 157.5 353.25 C 162.47056 353.25 166.5 357.27944 166.5 362.25 L 166.5 362.25 C 166.5 367.22056 162.47056 371.2
 5 157.5 371.25 L 157.5 371.25 C 152.52944 371.25 148.5 367.22056 148.5 362.25 L 148.5 362.25 C 148.5 357.27944 152.52944 353.25 157.5 353.25 Z" fill="url(#Obj_Gradient_4)"/><path d="M 157.5 353.25 L 157.5 353.25 C 162.47056 353.25 166.5 357.27944 166.5 362.25 L 166.5 362.25 C 166.5 367.22056 162.47056 371.25 157.5 371.25 L 157.5 371.25 C 152.52944 371.25 148.5 367.22056 148.5 362.25 L 148.5 362.25 C 148.5 357.27944 152.52944 353.25 157.5 353.25 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(152.5 356.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><path d="M 207.94806 351.00674 C 217.97361 351.0216 221.53364 351.05588 225.05805 351.05588 C 229.34118 351.05588 233.57172 351.00526 296.0534 351.00038" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linec
 ap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(202 329.75)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x=".98046875" y="8" textLength="82.26172">Operations for existing </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="22.771484" y="18" textLength="36.457031">entry keys</tspan></text></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/distributed_replica.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/distributed_replica.svg b/geode-docs/images_svg/distributed_replica.svg
new file mode 100644
index 0000000..b28d8da
--- /dev/null
+++ b/geode-docs/images_svg/distributed_replica.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="95 347 310 85" width="310pt" height="85pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-06 23:02Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(396 414) scale(78.71785)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-
 position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(216 414) scale(90.560753)"/><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(159.75 407.25) scale(19.091883)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-fac
 e-src></font-face><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(184.5 407.25) scale(19.091883)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-13 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M -11.7222214 0 L 0 4.395833 L 0 -4.395833 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-family="Helvetica" font-size="8" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-1 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M 11.7222214 0 L 0 -4.395833 L 0 4.395833 Z" fill="currentColor" 
 stroke="currentColor" stroke-width="1"/></g></marker></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>replica</title><g><title>Layer 1</title><g><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/></g><path d="M 319.5 360 L 382.5 360 C 389.95584 360 396 366.04416 396 373.5 L 396 400.5 C 396 407.95584 389.95584 414 382.5 414 L 319.5 414 C 312.04416 414 306 407.95584 306 400.5 L 306 373.5 C 306 366.04416 312.04416 360 319.5 360 Z" fill="url(#Obj_Gradient)"/><text transform="translate(310 375)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="17.101074" y="10" textLength="47.797852">Distributed</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="24.330078" y="22" textLength="33.339844">System</tspan></text><g id="id4_Graphic"><path d="M 114.66 360
  L 209.34 360 C 213.01822 360 216 362.98178 216 366.66 L 216 407.34 C 216 411.01822 213.01822 414 209.34 414 L 114.66 414 C 110.981783 414 108 411.01822 108 407.34 L 108 366.66 C 108 362.98178 110.981783 360 114.66 360 Z" fill="url(#Obj_Gradient_2)"/><path d="M 114.66 360 L 209.34 360 C 213.01822 360 216 362.98178 216 366.66 L 216 407.34 C 216 411.01822 213.01822 414 209.34 414 L 114.66 414 C 110.981783 414 108 411.01822 108 407.34 L 108 366.66 C 108 362.98178 110.981783 360 114.66 360 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(110 362)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="11.8671875" y="10" textLength="82.265625">Distributed Region</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="32.995117" y="22" textLength="40.009766">(Replica)</tspan></text></g><g id="id5_Graphic"><path d="M 148.41 389.25 L 153.09 389.25 C 156
 .76822 389.25 159.75 392.23178 159.75 395.91 L 159.75 400.59 C 159.75 404.26822 156.76822 407.25 153.09 407.25 L 148.41 407.25 C 144.73178 407.25 141.75 404.26822 141.75 400.59 L 141.75 395.91 C 141.75 392.23178 144.73178 389.25 148.41 389.25 Z" fill="url(#Obj_Gradient_3)"/><path d="M 148.41 389.25 L 153.09 389.25 C 156.76822 389.25 159.75 392.23178 159.75 395.91 L 159.75 400.59 C 159.75 404.26822 156.76822 407.25 153.09 407.25 L 148.41 407.25 C 144.73178 407.25 141.75 404.26822 141.75 400.59 L 141.75 395.91 C 141.75 392.23178 144.73178 389.25 148.41 389.25 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(145.75 392.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id6_Graphic"><path d="M 175.5 389.25 L 175.5 389.25 C 180.47056 389.25 184.5 393.27944 184.5 398.25 L 184.5 398.25 C 184.5 403.22056 180.470
 56 407.25 175.5 407.25 L 175.5 407.25 C 170.52944 407.25 166.5 403.22056 166.5 398.25 L 166.5 398.25 C 166.5 393.27944 170.52944 389.25 175.5 389.25 Z" fill="url(#Obj_Gradient_4)"/><path d="M 175.5 389.25 L 175.5 389.25 C 180.47056 389.25 184.5 393.27944 184.5 398.25 L 184.5 398.25 C 184.5 403.22056 180.47056 407.25 175.5 407.25 L 175.5 407.25 C 170.52944 407.25 166.5 403.22056 166.5 398.25 L 166.5 398.25 C 166.5 393.27944 170.52944 389.25 175.5 389.25 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(170.5 392.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><path d="M 225.94806 378.00674 C 235.97361 378.0216 239.53364 378.05588 243.05805 378.05588 C 247.55805 378.05588 252 378 324 378" marker-start="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000
 003"/><text transform="translate(220 366.25)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="19.212891" y="8" textLength="43.57422">All creations</tspan></text><path d="M 225.94806 396.00674 C 235.97361 396.0216 239.53364 396.05588 243.05805 396.05588 C 247.34118 396.05588 251.57172 396.00526 314.0534 396.00038" marker-end="url(#FilledArrow_Marker_2)" marker-start="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(220 399.5)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="1.2011719" y="8" textLength="79.597656">Other entry operations</tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="6.7597656" y="18" textLength="68.48047">(due to distribution)</tspan></text></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/distributed_replica_preload.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/distributed_replica_preload.svg b/geode-docs/images_svg/distributed_replica_preload.svg
new file mode 100644
index 0000000..a40b99e
--- /dev/null
+++ b/geode-docs/images_svg/distributed_replica_preload.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="86 275 409 265" width="409pt" height="265pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-06 23:02Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(343.3211 418.5) scale(101.25)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSp
 aceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(243 378) scale(127.358745)"/><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_2" gradientTransform="translate(477 378) scale(127.358745)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(225 369) scale(87.75)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" 
 ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(168.75 360) scale(19.091883)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(459 369) scale(87.75)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient" gradientTransform="translate(402.75 360) scale(19.091883)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient" gradientTransform="translate(193.5 360) scale(19.091883)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient" gradientTransform="transla
 te(427.5 360) scale(19.091883)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_2" gradientTransform="translate(360 522) scale(135)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient_2" gradientTransform="translate(342 483.75) scale(90.560753)"/><radialGradient id="Obj_Gradient_c" xl:href="#Gradient" gradientTransform="translate(272.25 477) scale(19.091883)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient" gradientTransform="translate(297 477) scale(19.091883)"/><radialGradient id="Obj_Gradient_e" xl:href="#Gradient" gradientTransform="translate(321.75 477) scale(19.091883)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M 11.7222214 0 L 0 -4.395833 L 0 4.395833 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><t
 itle>replica_or_preload</title><g><title>Layer 1</title><g><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id13_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id16_Graphic" filter="url(#Shadow)"/></g><path d="M 241.9811 337.5 L 336.6611 337.5 C 340.33932 337.5 343.3211 340.48178 343.3211 344.16 L 343.3211 411.84 C 343.3211 415.51822 340.33932 418.5 336.6611 418.5 L 241.9811 418.5 C 238.30288 418.5 235.3211 415.51822 235.3
 211 411.84 L 235.3211 344.16 C 235.3211 340.48178 238.30288 337.5 241.9811 337.5 Z" fill="url(#Obj_Gradient)"/><g id="id4_Graphic"><path d="M 105.66 288 L 236.34 288 C 240.01822 288 243 290.98178 243 294.66 L 243 371.34 C 243 375.01822 240.01822 378 236.34 378 L 105.66 378 C 101.981783 378 99 375.01822 99 371.34 L 99 294.66 C 99 290.98178 101.981783 288 105.66 288 Z" fill="url(#Obj_Gradient_2)"/><path d="M 105.66 288 L 236.34 288 C 240.01822 288 243 290.98178 243 294.66 L 243 371.34 C 243 375.01822 240.01822 378 236.34 378 L 105.66 378 C 101.981783 378 99 375.01822 99 371.34 L 99 294.66 C 99 290.98178 101.981783 288 105.66 288 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(103 292)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="51.993164" y="14" textLength="84.006836">Member (M1)</tspan></text></g><g id="id5_Graphic"><path d="M 339.66 288 L 470.34 288 C 474.01822 2
 88 477 290.98178 477 294.66 L 477 371.34 C 477 375.01822 474.01822 378 470.34 378 L 339.66 378 C 335.98178 378 333 375.01822 333 371.34 L 333 294.66 C 333 290.98178 335.98178 288 339.66 288 Z" fill="url(#Obj_Gradient_3)"/><path d="M 339.66 288 L 470.34 288 C 474.01822 288 477 290.98178 477 294.66 L 477 371.34 C 477 375.01822 474.01822 378 470.34 378 L 339.66 378 C 335.98178 378 333 375.01822 333 371.34 L 333 294.66 C 333 290.98178 335.98178 288 339.66 288 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(337 292)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="48.103516" y="14" textLength="87.896484"> Member (M2)</tspan></text></g><g id="id6_Graphic"><path d="M 123.66 324 L 218.34 324 C 222.01822 324 225 326.98178 225 330.66 L 225 362.34 C 225 366.01822 222.01822 369 218.34 369 L 123.66 369 C 119.98178 369 117 366.01822 117 362.34 L 117 330.66 C 117 326.98178 119.98178
  324 123.66 324 Z" fill="url(#Obj_Gradient_4)"/><path d="M 123.66 324 L 218.34 324 C 222.01822 324 225 326.98178 225 330.66 L 225 362.34 C 225 366.01822 222.01822 369 218.34 369 L 123.66 369 C 119.98178 369 117 366.01822 117 362.34 L 117 330.66 C 117 326.98178 119.98178 324 123.66 324 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(119 326)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.416504" y="10" textLength="85.043945">Distributed Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="91.913574" y="10" textLength="6.669922">A</tspan></text></g><g id="id7_Graphic"><path d="M 157.41 342 L 162.09 342 C 165.76822 342 168.75 344.98178 168.75 348.66 L 168.75 353.34 C 168.75 357.01822 165.76822 360 162.09 360 L 157.41 360 C 153.73178 360 150.75 357.01822 150.75 353.34 L 150.75 348.66 C 150.75 344.98178 153.73178 342 157.41 342
  Z" fill="url(#Obj_Gradient_5)"/><path d="M 157.41 342 L 162.09 342 C 165.76822 342 168.75 344.98178 168.75 348.66 L 168.75 353.34 C 168.75 357.01822 165.76822 360 162.09 360 L 157.41 360 C 153.73178 360 150.75 357.01822 150.75 353.34 L 150.75 348.66 C 150.75 344.98178 153.73178 342 157.41 342 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(154.75 345.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id8_Graphic"><path d="M 357.66 324 L 452.34 324 C 456.01822 324 459 326.98178 459 330.66 L 459 362.34 C 459 366.01822 456.01822 369 452.34 369 L 357.66 369 C 353.98178 369 351 366.01822 351 362.34 L 351 330.66 C 351 326.98178 353.98178 324 357.66 324 Z" fill="url(#Obj_Gradient_6)"/><path d="M 357.66 324 L 452.34 324 C 456.01822 324 459 326.98178 459 330.66 L 459 362.34 C 459 366.01822 456.01822 369 452.34 3
 69 L 357.66 369 C 353.98178 369 351 366.01822 351 362.34 L 351 330.66 C 351 326.98178 353.98178 324 357.66 324 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(353 326)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.416504" y="10" textLength="85.043945">Distributed Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="91.913574" y="10" textLength="6.669922">A</tspan></text></g><g id="id9_Graphic"><path d="M 391.41 342 L 396.09 342 C 399.76822 342 402.75 344.98178 402.75 348.66 L 402.75 353.34 C 402.75 357.01822 399.76822 360 396.09 360 L 391.41 360 C 387.73178 360 384.75 357.01822 384.75 353.34 L 384.75 348.66 C 384.75 344.98178 387.73178 342 391.41 342 Z" fill="url(#Obj_Gradient_7)"/><path d="M 391.41 342 L 396.09 342 C 399.76822 342 402.75 344.98178 402.75 348.66 L 402.75 353.34 C 402.75 357.01822 399.76822 360 396.09 360 
 L 391.41 360 C 387.73178 360 384.75 357.01822 384.75 353.34 L 384.75 348.66 C 384.75 344.98178 387.73178 342 391.41 342 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(388.75 345.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id10_Graphic"><path d="M 184.5 342 L 184.5 342 C 189.47056 342 193.5 346.02944 193.5 351 L 193.5 351 C 193.5 355.97056 189.47056 360 184.5 360 L 184.5 360 C 179.52944 360 175.5 355.97056 175.5 351 L 175.5 351 C 175.5 346.02944 179.52944 342 184.5 342 Z" fill="url(#Obj_Gradient_8)"/><path d="M 184.5 342 L 184.5 342 C 189.47056 342 193.5 346.02944 193.5 351 L 193.5 351 C 193.5 355.97056 189.47056 360 184.5 360 L 184.5 360 C 179.52944 360 175.5 355.97056 175.5 351 L 175.5 351 C 175.5 346.02944 179.52944 342 184.5 342 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round
 " stroke-width=".72000003"/><text transform="translate(179.5 345.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><g id="id11_Graphic"><rect x="409.5" y="342" width="18" height="18" fill="url(#Obj_Gradient_9)"/><rect x="409.5" y="342" width="18" height="18" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(413.5 345.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.2512207" y="9" textLength="5.4975586">Z</tspan></text></g><g id="id12_Graphic"><path d="M 222.66 414 L 353.34 414 C 357.01822 414 360 416.98178 360 420.66 L 360 515.34 C 360 519.01822 357.01822 522 353.34 522 L 222.66 522 C 218.98178 522 216 519.01822 216 515.34 L 216 420.66 C 216 416.98178 218.98178 414 222.66 414 Z" fill="url(#Obj_Gradient_a)"/><path d="M 222.66 414 L 353.34 414 C 357.01822 414 360 416.9
 8178 360 420.66 L 360 515.34 C 360 519.01822 357.01822 522 353.34 522 L 222.66 522 C 218.98178 522 216 519.01822 216 515.34 L 216 420.66 C 216 416.98178 218.98178 414 222.66 414 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(220 501.5)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="51.993164" y="14" textLength="84.006836">Member (M3)</tspan></text></g><g id="id13_Graphic"><path d="M 240.66 429.75 L 335.34 429.75 C 339.01822 429.75 342 432.73178 342 436.41 L 342 477.09 C 342 480.76822 339.01822 483.75 335.34 483.75 L 240.66 483.75 C 236.98178 483.75 234 480.76822 234 477.09 L 234 436.41 C 234 432.73178 236.98178 429.75 240.66 429.75 Z" fill="url(#Obj_Gradient_b)"/><path d="M 240.66 429.75 L 335.34 429.75 C 339.01822 429.75 342 432.73178 342 436.41 L 342 477.09 C 342 480.76822 339.01822 483.75 335.34 483.75 L 240.66 483.75 C 236.98178 483.75 234 480.76822 234 477.09 
 L 234 436.41 C 234 432.73178 236.98178 429.75 240.66 429.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(236 431.75)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.416504" y="10" textLength="85.043945">Distributed Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="91.913574" y="10" textLength="6.669922">A</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="5.475586" y="22" textLength="95.04883">(replica or preloaded)</tspan></text></g><g id="id14_Graphic"><path d="M 260.91 459 L 265.59 459 C 269.26822 459 272.25 461.98178 272.25 465.66 L 272.25 470.34 C 272.25 474.01822 269.26822 477 265.59 477 L 260.91 477 C 257.23178 477 254.25 474.01822 254.25 470.34 L 254.25 465.66 C 254.25 461.98178 257.23178 459 260.91 459 Z" fill="url(#Obj_Gradient_c)"/><path d="M 260.91 459 L 265.59 459 C 269
 .26822 459 272.25 461.98178 272.25 465.66 L 272.25 470.34 C 272.25 474.01822 269.26822 477 265.59 477 L 260.91 477 C 257.23178 477 254.25 474.01822 254.25 470.34 L 254.25 465.66 C 254.25 461.98178 257.23178 459 260.91 459 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(258.25 462.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id15_Graphic"><path d="M 288 459 L 288 459 C 292.97056 459 297 463.02944 297 468 L 297 468 C 297 472.97056 292.97056 477 288 477 L 288 477 C 283.02944 477 279 472.97056 279 468 L 279 468 C 279 463.02944 283.02944 459 288 459 Z" fill="url(#Obj_Gradient_d)"/><path d="M 288 459 L 288 459 C 292.97056 459 297 463.02944 297 468 L 297 468 C 297 472.97056 292.97056 477 288 477 L 288 477 C 283.02944 477 279 472.97056 279 468 L 279 468 C 279 463.02944 283.02944 459 288 459 Z" stroke="blac
 k" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(283 462.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><g id="id16_Graphic"><rect x="303.75" y="459" width="18" height="18" fill="url(#Obj_Gradient_e)"/><rect x="303.75" y="459" width="18" height="18" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(307.75 462.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.2512207" y="9" textLength="5.4975586">Z</tspan></text></g><path d="M 225 346.5 C 247.5 346.5 255.38703 346.6717 261.01203 346.87482 C 266.4011 347.06942 269.71391 347.29288 269.98233 419.80466" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 351 346.5 C 350.6875 346.5 
 350.57807 346.60922 350.49994 346.81234 C 350.4247 347.00796 350.3785 347.29067 311.74604 420.94115" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(265 358.125)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="8.101074" y="10" textLength="47.797852">Distributed</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="15.330078" y="22" textLength="33.339844">System</tspan></text></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/expiration.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/expiration.svg b/geode-docs/images_svg/expiration.svg
new file mode 100644
index 0000000..8fc278b
--- /dev/null
+++ b/geode-docs/images_svg/expiration.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="104 275 421 301" width="421pt" height="301pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 09:58Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".3" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(342 558) scale(207.93944)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-pos
 ition="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(270 414) scale(148.65333)"/><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_2" gradientTransform="translate(507.375 485.7083
 4) scale(148.65333)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(252 369) scale(87.75)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(195.75 360) scale(19.091883)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(477 440.70834) scale(87.75)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient" gradientTransform="translate(420.75 431.70834) scale(19.091883)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient" gradientTransform="translate(220.5 360) scale(19.091883)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient" gradientTransfor
 m="translate(445.5 431.70834) scale(19.091883)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M 11.7222214 0 L 0 -4.395833 L 0 4.395833 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_2" gradientTransform="translate(504 547.875) scale(55.00577)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient_2" gradientTransform="translate(477 476.70834) scale(84.375)"/><radialGradient id="Obj_Gradient_c" xl:href="#Gradient_2" gradientTransform="translate(270 558) scale(148.65333)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient_2" gradientTransform="translate(252 513) scale(87.75)"/><radialGradient id="Obj_Gradient_e" xl:href="#Gradient" gradientTransform="translate(195.75 504) scale(19.091883)"/><radialGradient id="Obj_Gradient_f" xl:href="#Gradient" gradientTransform="t
 ranslate(220.5 504) scale(19.091883)"/><radialGradient id="Obj_Gradient_10" xl:href="#Gradient_2" gradientTransform="translate(252 405) scale(84.375)"/><radialGradient id="Obj_Gradient_11" xl:href="#Gradient_2" gradientTransform="translate(252 549) scale(84.375)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>expiration</title><g><title>Layer 1</title><g><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id16_Graphic" filter=
 "url(#Shadow)"/><xl:use xl:href="#id17_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id18_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id19_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id20_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id21_Graphic" filter="url(#Shadow)"/></g><path d="M 285.66 288 L 335.34 288 C 339.01822 288 342 290.98178 342 294.66 L 342 551.34 C 342 555.0182 339.01822 558 335.34 558 L 285.66 558 C 281.98178 558 279 555.0182 279 551.34 L 279 294.66 C 279 290.98178 281.98178 288 285.66 288 Z" fill="url(#Obj_Gradient)"/><text transform="translate(283 411)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="3.6010742" y="10" textLength="50.576172">Distributed </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="10.830078" y="22" textLength="33.339844">System</tspan></text><g id="id4_Graphic"><path d="M 123.66 288 L 263.34 288 C 267.01822 288 270 290.98178 270 294.66 L 270 4
 07.34 C 270 411.01822 267.01822 414 263.34 414 L 123.66 414 C 119.98178 414 117 411.01822 117 407.34 L 117 294.66 C 117 290.98178 119.98178 288 123.66 288 Z" fill="url(#Obj_Gradient_2)"/><path d="M 123.66 288 L 263.34 288 C 267.01822 288 270 290.98178 270 294.66 L 270 407.34 C 270 411.01822 267.01822 414 263.34 414 L 123.66 414 C 119.98178 414 117 411.01822 117 407.34 L 117 294.66 C 117 290.98178 119.98178 288 123.66 288 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(121 292)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="2.8623047" y="14" textLength="139.27539">Consumer Member #1</tspan></text></g><g id="id5_Graphic"><path d="M 361.035 359.70834 L 500.715 359.70834 C 504.39322 359.70834 507.375 362.69012 507.375 366.36834 L 507.375 479.04834 C 507.375 482.72656 504.39322 485.70834 500.715 485.70834 L 361.035 485.70834 C 357.35678 485.70834 354.375 482.72656 354.37
 5 479.04834 L 354.375 366.36834 C 354.375 362.69012 357.35678 359.70834 361.035 359.70834 Z" fill="url(#Obj_Gradient_3)"/><path d="M 361.035 359.70834 L 500.715 359.70834 C 504.39322 359.70834 507.375 362.69012 507.375 366.36834 L 507.375 479.04834 C 507.375 482.72656 504.39322 485.70834 500.715 485.70834 L 361.035 485.70834 C 357.35678 485.70834 354.375 482.72656 354.375 479.04834 L 354.375 366.36834 C 354.375 362.69012 357.35678 359.70834 361.035 359.70834 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(358.375 363.70834)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="6.748535" y="14" textLength="131.50293">Producer Member #1</tspan></text></g><g id="id6_Graphic"><path d="M 150.66 324 L 245.34 324 C 249.01822 324 252 326.98178 252 330.66 L 252 362.34 C 252 366.01822 249.01822 369 245.34 369 L 150.66 369 C 146.98178 369 144 366.01822 144 362.34 L 144 330.66 C 144 3
 26.98178 146.98178 324 150.66 324 Z" fill="url(#Obj_Gradient_4)"/><path d="M 150.66 324 L 245.34 324 C 249.01822 324 252 326.98178 252 330.66 L 252 362.34 C 252 366.01822 249.01822 369 245.34 369 L 150.66 369 C 146.98178 369 144 366.01822 144 362.34 L 144 330.66 C 144 326.98178 146.98178 324 150.66 324 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(146 326)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.416504" y="10" textLength="85.043945">Distributed Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="91.913574" y="10" textLength="6.669922">A</tspan></text></g><g id="id7_Graphic"><path d="M 184.41 342 L 189.09 342 C 192.76822 342 195.75 344.98178 195.75 348.66 L 195.75 353.34 C 195.75 357.01822 192.76822 360 189.09 360 L 184.41 360 C 180.73178 360 177.75 357.01822 177.75 353.34 L 177.75 348.66 C 177.75 344.98178 180.73
 178 342 184.41 342 Z" fill="url(#Obj_Gradient_5)"/><path d="M 184.41 342 L 189.09 342 C 192.76822 342 195.75 344.98178 195.75 348.66 L 195.75 353.34 C 195.75 357.01822 192.76822 360 189.09 360 L 184.41 360 C 180.73178 360 177.75 357.01822 177.75 353.34 L 177.75 348.66 C 177.75 344.98178 180.73178 342 184.41 342 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(181.75 345.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id8_Graphic"><path d="M 375.66 395.70834 L 470.34 395.70834 C 474.01822 395.70834 477 398.69012 477 402.36834 L 477 434.04834 C 477 437.72656 474.01822 440.70834 470.34 440.70834 L 375.66 440.70834 C 371.98178 440.70834 369 437.72656 369 434.04834 L 369 402.36834 C 369 398.69012 371.98178 395.70834 375.66 395.70834 Z" fill="url(#Obj_Gradient_6)"/><path d="M 375.66 395.70834 L 470.34 395.70
 834 C 474.01822 395.70834 477 398.69012 477 402.36834 L 477 434.04834 C 477 437.72656 474.01822 440.70834 470.34 440.70834 L 375.66 440.70834 C 371.98178 440.70834 369 437.72656 369 434.04834 L 369 402.36834 C 369 398.69012 371.98178 395.70834 375.66 395.70834 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(371 397.70834)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.416504" y="10" textLength="85.043945">Distributed Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="91.913574" y="10" textLength="6.669922">A</tspan></text></g><g id="id9_Graphic"><path d="M 409.41 413.70834 L 414.09 413.70834 C 417.76822 413.70834 420.75 416.69012 420.75 420.36834 L 420.75 425.04834 C 420.75 428.72656 417.76822 431.70834 414.09 431.70834 L 409.41 431.70834 C 405.73178 431.70834 402.75 428.72656 402.75 425.04834 L 402.75 420.36834 C 402.75
  416.69012 405.73178 413.70834 409.41 413.70834 Z" fill="url(#Obj_Gradient_7)"/><path d="M 409.41 413.70834 L 414.09 413.70834 C 417.76822 413.70834 420.75 416.69012 420.75 420.36834 L 420.75 425.04834 C 420.75 428.72656 417.76822 431.70834 414.09 431.70834 L 409.41 431.70834 C 405.73178 431.70834 402.75 428.72656 402.75 425.04834 L 402.75 420.36834 C 402.75 416.69012 405.73178 413.70834 409.41 413.70834 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(406.75 417.20834)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id10_Graphic"><path d="M 211.5 342 L 211.5 342 C 216.47056 342 220.5 346.02944 220.5 351 L 220.5 351 C 220.5 355.97056 216.47056 360 211.5 360 L 211.5 360 C 206.52944 360 202.5 355.97056 202.5 351 L 202.5 351 C 202.5 346.02944 206.52944 342 211.5 342 Z" fill="url(#Obj_Gradient_8)"/><path d=
 "M 211.5 342 L 211.5 342 C 216.47056 342 220.5 346.02944 220.5 351 L 220.5 351 C 220.5 355.97056 216.47056 360 211.5 360 L 211.5 360 C 206.52944 360 202.5 355.97056 202.5 351 L 202.5 351 C 202.5 346.02944 206.52944 342 211.5 342 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(206.5 345.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><g id="id11_Graphic"><path d="M 436.5 413.70834 L 436.5 413.70834 C 441.47056 413.70834 445.5 417.73778 445.5 422.70834 L 445.5 422.70834 C 445.5 427.6789 441.47056 431.70834 436.5 431.70834 L 436.5 431.70834 C 431.52944 431.70834 427.5 427.6789 427.5 422.70834 L 427.5 422.70834 C 427.5 417.73778 431.52944 413.70834 436.5 413.70834 Z" fill="url(#Obj_Gradient_9)"/><path d="M 436.5 413.70834 L 436.5 413.70834 C 441.47056 413.70834 445.5 417.73778 445.5 422.70834 L 445.5 422.70834 C
  445.5 427.6789 441.47056 431.70834 436.5 431.70834 L 436.5 431.70834 C 431.52944 431.70834 427.5 427.6789 427.5 422.70834 L 427.5 422.70834 C 427.5 417.73778 431.52944 413.70834 436.5 413.70834 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(431.5 417.20834)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><path d="M 369 409.5 C 368.875 410.625 368.59375 403.03126 368.28125 387.00001 C 367.97798 371.44234 367.64528 347.9383 261.9482 346.56321" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 485.48944 509.15138 C 490.24827 495 490.29515 480.3757 490.31078 463.5007 C 490.32305 450.2413 490.31603 435.59234 483.85527 425.41625" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="roun
 d" stroke-width=".72000003"/><g id="id14_Graphic"><path d="M 442.125 516.23438 L 442.125 540.14062 L 442.125 540.14062 C 442.125 544.4122 455.97617 547.875 473.06248 547.875 C 490.1488 547.875 504 544.4122 504 540.14063 C 504 540.14063 504 540.14062 504 540.14062 L 504 516.23438 L 504 516.23438 C 504 511.9628 490.14883 508.5 473.06252 508.5 C 455.9762 508.5 442.125 511.9628 442.125 516.23437 C 442.125 516.23437 442.125 516.23438 442.125 516.23438 Z" fill="url(#Obj_Gradient_a)"/><path d="M 442.125 516.23438 L 442.125 540.14062 L 442.125 540.14062 C 442.125 544.4122 455.97617 547.875 473.06248 547.875 C 490.1488 547.875 504 544.4122 504 540.14063 C 504 540.14063 504 540.14062 504 540.14062 L 504 516.23438 L 504 516.23438 C 504 511.9628 490.14883 508.5 473.06252 508.5 C 455.9762 508.5 442.125 511.9628 442.125 516.23437 C 442.125 516.23437 442.125 516.23438 442.125 516.23438 Z M 442.125 516.23438 L 442.125 516.23438 C 442.125 520.50596 455.9762 523.96875 473.06252 523.96875 C 490.1488 5
 23.96875 504 520.50595 504 516.23438" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(444.125 534.375)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="8.3637695" y="10" textLength="41.14746">database</tspan></text></g><g id="id15_Graphic"><path d="M 384.75 445.20834 L 461.25 445.20834 C 469.94848 445.20834 477 452.25986 477 460.95834 L 477 460.95834 C 477 469.65682 469.94848 476.70834 461.25 476.70834 L 384.75 476.70834 C 376.05152 476.70834 369 469.65682 369 460.95834 L 369 460.95834 C 369 452.25986 376.05152 445.20834 384.75 445.20834 Z" fill="url(#Obj_Gradient_b)"/><path d="M 384.75 445.20834 L 461.25 445.20834 C 469.94848 445.20834 477 452.25986 477 460.95834 L 477 460.95834 C 477 469.65682 469.94848 476.70834 461.25 476.70834 L 384.75 476.70834 C 376.05152 476.70834 369 469.65682 369 460.95834 L 369 460.95834 C 369 452.25986 376.05152 445.20834 384.75 445.20834 Z" 
 stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(371 449.95834)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="33.325684" y="9" textLength="23.506348">Entry </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="56.673828" y="9" textLength="16.000488">TTL</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="22.983154" y="20" textLength="60.03369">1 hour: destroy</tspan></text></g><g id="id16_Graphic"><path d="M 123.66 432 L 263.34 432 C 267.01822 432 270 434.98178 270 438.66 L 270 551.34 C 270 555.0182 267.01822 558 263.34 558 L 123.66 558 C 119.98178 558 117 555.0182 117 551.34 L 117 438.66 C 117 434.98178 119.98178 432 123.66 432 Z" fill="url(#Obj_Gradient_c)"/><path d="M 123.66 432 L 263.34 432 C 267.01822 432 270 434.98178 270 438.66 L 270 551.34 C 270 555.0182 267.01822 558 263.34 558 L 123.66 558 C 11
 9.98178 558 117 555.0182 117 551.34 L 117 438.66 C 117 434.98178 119.98178 432 123.66 432 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(121 436)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="2.8623047" y="14" textLength="139.27539">Consumer Member #2</tspan></text></g><g id="id17_Graphic"><path d="M 150.66 468 L 245.34 468 C 249.01822 468 252 470.98178 252 474.66 L 252 506.34 C 252 510.01822 249.01822 513 245.34 513 L 150.66 513 C 146.98178 513 144 510.01822 144 506.34 L 144 474.66 C 144 470.98178 146.98178 468 150.66 468 Z" fill="url(#Obj_Gradient_d)"/><path d="M 150.66 468 L 245.34 468 C 249.01822 468 252 470.98178 252 474.66 L 252 506.34 C 252 510.01822 249.01822 513 245.34 513 L 150.66 513 C 146.98178 513 144 510.01822 144 506.34 L 144 474.66 C 144 470.98178 146.98178 468 150.66 468 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-wid
 th=".72000003"/><text transform="translate(146 470)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.416504" y="10" textLength="85.043945">Distributed Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="91.913574" y="10" textLength="6.669922">A</tspan></text></g><g id="id18_Graphic"><path d="M 184.41 486 L 189.09 486 C 192.76822 486 195.75 488.98178 195.75 492.66 L 195.75 497.34 C 195.75 501.01822 192.76822 504 189.09 504 L 184.41 504 C 180.73178 504 177.75 501.01822 177.75 497.34 L 177.75 492.66 C 177.75 488.98178 180.73178 486 184.41 486 Z" fill="url(#Obj_Gradient_e)"/><path d="M 184.41 486 L 189.09 486 C 192.76822 486 195.75 488.98178 195.75 492.66 L 195.75 497.34 C 195.75 501.01822 192.76822 504 189.09 504 L 184.41 504 C 180.73178 504 177.75 501.01822 177.75 497.34 L 177.75 492.66 C 177.75 488.98178 180.73178 486 184.41 486 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" st
 roke-width=".72000003"/><text transform="translate(181.75 489.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id19_Graphic"><path d="M 211.5 486 L 211.5 486 C 216.47056 486 220.5 490.02944 220.5 495 L 220.5 495 C 220.5 499.97056 216.47056 504 211.5 504 L 211.5 504 C 206.52944 504 202.5 499.97056 202.5 495 L 202.5 495 C 202.5 490.02944 206.52944 486 211.5 486 Z" fill="url(#Obj_Gradient_f)"/><path d="M 211.5 486 L 211.5 486 C 216.47056 486 220.5 490.02944 220.5 495 L 220.5 495 C 220.5 499.97056 216.47056 504 211.5 504 L 211.5 504 C 206.52944 504 202.5 499.97056 202.5 495 L 202.5 495 C 202.5 490.02944 206.52944 486 211.5 486 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(206.5 489.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength=
 "6.0029297">Y</tspan></text></g><g id="id20_Graphic"><path d="M 159.75 373.5 L 236.25 373.5 C 244.94848 373.5 252 380.55152 252 389.25 L 252 389.25 C 252 397.94848 244.94848 405 236.25 405 L 159.75 405 C 151.051515 405 144 397.94848 144 389.25 L 144 389.25 C 144 380.55152 151.051515 373.5 159.75 373.5 Z" fill="url(#Obj_Gradient_10)"/><path d="M 159.75 373.5 L 236.25 373.5 C 244.94848 373.5 252 380.55152 252 389.25 L 252 389.25 C 252 397.94848 244.94848 405 236.25 405 L 159.75 405 C 151.051515 405 144 397.94848 144 389.25 L 144 389.25 C 144 380.55152 151.051515 373.5 159.75 373.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(146 378.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="22.985352" y="9" textLength="40.517578">Entry Idle </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="63.344727" y="9" textLength="5.4975586">T</tspan
 ><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="68.512695" y="9" textLength="14.501953">ime</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="11.730957" y="20" textLength="82.538086">15 min: local destroy</tspan></text></g><g id="id21_Graphic"><path d="M 159.75 517.5 L 236.25 517.5 C 244.94848 517.5 252 524.5515 252 533.25 L 252 533.25 C 252 541.9485 244.94848 549 236.25 549 L 159.75 549 C 151.051515 549 144 541.9485 144 533.25 L 144 533.25 C 144 524.5515 151.051515 517.5 159.75 517.5 Z" fill="url(#Obj_Gradient_11)"/><path d="M 159.75 517.5 L 236.25 517.5 C 244.94848 517.5 252 524.5515 252 533.25 L 252 533.25 C 252 541.9485 244.94848 549 236.25 549 L 159.75 549 C 151.051515 549 144 541.9485 144 533.25 L 144 533.25 C 144 524.5515 151.051515 517.5 159.75 517.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(146 522.25)" fill="black"><tspan font-fa
 mily="Helvetica" font-size="9" font-weight="500" fill="black" x="22.985352" y="9" textLength="40.517578">Entry Idle </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="63.344727" y="9" textLength="5.4975586">T</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="68.512695" y="9" textLength="14.501953">ime</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="11.730957" y="20" textLength="82.538086">15 min: local destroy</tspan></text></g><path d="M 423 445.20834 L 423 438.00834 L 423 442.95834 L 423 447.90834 L 423 440.70834" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><path d="M 198 369 L 198 376.2 L 198 371.25 L 198 366.3 L 198 373.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.20000005"/><path d="M 198 517.5 L 198 510.3 L 198 515.25 L 198 520.2 L 198 513" stroke="#252525" stroke-linecap="round" strok
 e-linejoin="round" stroke-width="1.20000005"/><path d="M 369 426.375 C 368.875 426.39062 368.54688 426.57813 368.23438 426.79688 C 367.92995 427.00998 367.64035 427.25273 260.73096 485.72494" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g></g></svg>


[58/76] [abbrv] incubator-geode git commit: GEODE-1952: removed native client docs, set aside until native client code is merged in (see GEODE-1964)

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/pdx_auto_serialization.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/pdx_auto_serialization.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/pdx_auto_serialization.html.md.erb
deleted file mode 100644
index 0bdda28..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/pdx_auto_serialization.html.md.erb
+++ /dev/null
@@ -1,355 +0,0 @@
----
-title: Using Automatic PDX Serialization
----
-
-You can allow your native client C++ applications to automatically PDX serialize and deserialize domain objects without having to add any extra code by using the `pdxautoserializer` command line tool provided with the native client.
-
-When using the native client C++ API, you can automatically serialize and deserialize domain objects without making any code changes to those objects or having to implement a `PdxSerializer` or `PdxSerializable` interface and their related `fromData` and `toData` methods. The Geode native client includes a command-line utility, `pdxautoserializer`, that allows you to generate C++ code that will serialize your domain objects in the PDX format for you.
-
-## <a id="task_czj_wnw_dl" class="no-quick-link"></a>How to Use Automatic PDX Serialization
-
-**Prerequisites:**
-
--   Understand generally how to configure the Geode cache.
-
--   Understand how PDX serialization works and how to configure your application to use PdxSerializer.
-
-The procedure below uses the following sample class:
-
-``` pre
-class PortfolioPdx 
-{
-  private:
-    int32_t id;
-    char* pkid;
-    PositionPdxPtr position1;
-    PositionPdxPtr position2;
-    CacheableHashMapPtr positions;
-    char** names;    
-    int8_t* newVal;
-    CacheableDatePtr creationDate;
-    int8_t* arrayNull;
-    int8_t* arrayZeroSize;
-  public:
-    // CTOR
-    // DTORS
-    // Other Methods declarations
-```
-
-For each domain class you provide, all fields are considered for serialization except those defined as static or transient and those you explicitly exclude using macros.
-
-1.  Inherit your class from `gemfire::PdxSerializable`.
-
-    ``` pre
-    class PortfolioPdx : public PdxSerializable
-    ```
-
-2.  Add the following method declarations in the public part of the class.
-
-    ``` pre
-    const char* getClassName() const;
-    virtual void toData(gemfire::PdxWriterPtr pw);
-    virtual void fromData(gemfire::PdxReaderPtr pr);
-    static PdxSerializable* createDeserializable();
-    ```
-
-3.  In your pre-build environment (for example in your **makefiles**), call `pdxautoserializer` as follows:
-
-    ``` pre
-    <GFCPP>/bin/pdxautoserializer.exe --outDir=<location to generate files> <SOURCE_DIR>/PortfolioPdx.hpp
-    ```
-
-4.  Include the generated file in your project and compile.
-
-The following is an example of a generated file:
-
-``` pre
-#include "PortfolioPdx.hpp"
-#include <gfcpp/PdxWriter.hpp>
-#include <gfcpp/PdxReader.hpp>
-#include <gfcpp/PdxAutoSerializer.hpp>
-namespace testobject
-{
-  void PortfolioPdx::toData(gemfire::PdxWriterPtr var)
-  {
-    gemfire::PdxAutoSerializable::writePdxObject(var, "id", id);
-    gemfire::PdxAutoSerializable::writePdxObject(var, "pkid", pkid);
-    gemfire::PdxAutoSerializable::writePdxObject(var, "position1", position1);
-    gemfire::PdxAutoSerializable::writePdxObject(var, "position2", position2);
-    gemfire::PdxAutoSerializable::writePdxObject(var, "positions", positions);
-    gemfire::PdxAutoSerializable::writePdxObject(var, "status", status);
-    gemfire::PdxAutoSerializable::writePdxObject(var, "creationDate", creationDate);
-  }
-
-  void PortfolioPdx::fromData(PdxReaderPtr var)
-  {
-    gemfire::PdxAutoSerializable::readPdxObject(var, "id", id);
-    gemfire::PdxAutoSerializable::readPdxObject(var, "pkid", pkid);
-    gemfire::PdxAutoSerializable::readPdxObject(var, "position1", position1);
-    gemfire::PdxAutoSerializable::readPdxObject(var, "position2", position2);
-    gemfire::PdxAutoSerializable::readPdxObject(var, "positions", positions);
-    gemfire::PdxAutoSerializable::readPdxObject(var, "status", status);
-    gemfire::PdxAutoSerializable::readPdxObject(var, "creationDate", creationDate);
-  }
-  
-  const char* PortfolioPdx::getClassName()  const
-  {
-     return "PortfolioPdx";
-  }
-}
-```
-
-## <a id="task_fs4_vkj_2l" class="no-quick-link"></a>Handling Arrays
-
-1.  Define the following macro in your header file:
-
-    ``` pre
-    #define GFARRAYSIZE(x)
-    ```
-
-2.  Assuming that the following is the class member of type array:
-
-    ``` pre
-    int8_t* newVal;
-    ```
-
-    Then define a new variable which sets the length of the array:
-
-    ``` pre
-    int32_t newValSize;
-    ```
-
-3.  Tag the new variable with the `GFARRAYSIZE` macro as follows:
-
-    ``` pre
-    GFARRAYSIZE(newVal) int32_t newValSize;
-    ```
-
-## Using a Single Variable as Length for Multiple Arrays
-
-You can use the GFARRAYSIZES to have single length for multiple arrays.
-
-Define the GFARRAYSIZES macro as follows:
-
-``` pre
-#define GFARRAYSIZES(x)
-```
-
-The following is an example usage:
-
-``` pre
-class ArrayOfSizes?
-    {
-    public:
-    int32_t* array1;
-    int32_t* array2;
-    int32_t* array3;
-    int32_t* array4;
-    int32_t* array5;
-
-    GFARRAYSIZE(array1) int32_t singleSize; 
-    GFARRAYSIZES("array2,array3,array4,array5") int32_t SingleSizeToMultipleArrays?;
-  };\u200b
-```
-
-## <a id="task_hph_mrw_dl" class="no-quick-link"></a>Excluding Member Variables from Serialization
-
-1.  Define the following macro in your header file:
-
-    ``` pre
-    #define GFEXCLUDE
-    ```
-
-2.  Tag your member variable with this macro:
-
-    ``` pre
-    GFEXCLUDE char* type;
-    ```
-
-## <a id="task_en2_4rw_dl" class="no-quick-link"></a>Marking Identity Fields
-
-Identity fields are used when comparing objects using the `hashCode` and `equals` methods.
-
-1.  Define the following macro in your header file.
-
-    ``` pre
-    #define GFID(x)
-    ```
-
-2.  Assuming that the following is the class member you want to use as IdentityField:
-
-    ``` pre
-    int8_t* newVal;
-    ```
-
-    Tag the member with the GFID macro as follows:
-
-    ``` pre
-    GFID(newVal)int8_t* newVal;
-    ```
-
-## Ignoring User Defined Keywords
-
-You might have certain user defined keywords after the class name. Current C++ grammar does not support this. If you have some keywords user will have to ignore them by using the `GFIGNORE` macro.
-
-For example, consider the following class definition:
-
-``` pre
-#ifdef _WIN32
-#ifdef BUILD_TESTOBJECT
-#define TESTOBJECT_EXPORT LIBEXP
-#else
-#define TESTOBJECT_EXPORT LIBIMP
-#endif
-#else
-#define TESTOBJECT_EXPORT
-#endif
-
-namespace PdxAutoTests {
-  class TESTOBJECT_EXPORT PdxAutoMegaType :  public PdxSerializable {
-  }
-```
-
-Currently, the `pdxautoserializer` tool will fail to recognize `TESTOBJECT_EXPORT`. Change your class by adding the `GFIGNORE` macro as follows:
-
-``` pre
-#ifdef _WIN32
-#ifdef BUILD_TESTOBJECT
-#define TESTOBJECT_EXPORT LIBEXP
-#else
-#define TESTOBJECT_EXPORT LIBIMP
-#endif
-#else
-#define TESTOBJECT_EXPORT
-#endif
-
-using namespace gemfire;
-
-#define GFIGNORE(X) X
-#define GFID
-
-namespace PdxAutoTests {
-  class GFIGNORE(TESTOBJECT_EXPORT) PdxAutoMegaType :  public PdxSerializable {
-```
-
-## <a id="topic_d3q_v3c_2l" class="no-quick-link"></a>Additional Usage Information for the pdxautoserializer Tool
-
-The `pdxautoserializer` tool takes classes as input and generates code that will serialize the class into the PDX format for you.
-
-The `pdxautoserializer` tool is located in `$GFCPP/bin` where `$GFCPP` corresponds to the installation location of the native client.
-
-Some additional notes about using the `pdxautoserializer` tool:
-
--   Any const type in the class members are ignored by the `pdxserializer` tool.
--   Generated files will have namespace in the file name.
-
-To view the command-line help for the tool, type:
-
-``` pre
-prompt> pdxautoserializer.exe --help
-```
-
-Help returns the following syntax and usage information:
-
-``` pre
-Usage: pdxautoserializer.exe [OPTIONS] <resources e.g. header> ...
-
-Resource name should be the path to the header containing the classes to be 
-auto-serialized.
-
-[OPTIONS] may be one of those given below.
-
-SINGLE denotes that the option should be specified only once.
-MULTIPLE denotes that the option can be specified more than once.
-OPTIONAL denotes that the option may be skipped in which case the default 
-for that shall be chosen.
-
---className=VALUE       Name of the class for which to generate auto-serialization code (MULTIPLE,OPTIONAL)
---classNameStr=VALUE    Name of the class in string (MULTIPLE,OPTIONAL)
---help                  This help message.
---outDir                The output directory of the generated files (SINGLE,OPTIONAL)
---suffix                The suffix of the generated filenames -- default is 'Serializable' (SINGLE,OPTIONAL)
---usage                 This usage message.
-
-Examples:
-pdxautoserializer -outDir=<DIR NAME> <RESOURCE>
-pdxautoserializer -outDir=<DIR NAME> --className=<CLASSNAME1> --className=<CLASSNAME2> <RESOURCE>
-pdxautoserializer -outDir=<DIR NAME> --classNameStr=<CLASSNAME1:User defined String> --classNameStr=<CLASSNAME:User defined String> <RESOURCE>
-
-Helper Macros to be defined in Input Header File :
-GFINCLUDE        for including a specific member for serialization
-GFEXCLUDE        for excluding a specific member for serialization
-GFID             for considering a member as Identify Field
-GFARRAYSIZE      for specifying a array length member
-GFIGNORE         for ignoring certain keywords
-For more details refer to documentation on this utility.
-```
-
-## Generating Automatic Code for a Single Class
-
-Many times there are multiple classes in a single header file. For example:
-
-``` pre
-#ifndef HEADER_HEADER
-#define HEADER_HEADER
-
-class class1{
-};
-class class2{
-};
-class class3 : public PdxSerializable{
-};
-#endif
-```
-
-If you want to generate code for only one of the classes, then use the `--className` option. For example, if you only want to generate code for class3, then you would use the following command:
-
-``` pre
-pdxautoserializer --outDir=<outDir> --className=class3
-```
-
-## Choosing Your Own Suffix to Identify the Generated Files.
-
-The `pdxserializer` tool also provides the option to choose your own suffix for the generated C++ files. This can help you write less code in your makefiles. Here's an example command:
-
-``` pre
-pdxautoserializer --outDir=<outDir> --className=CharTypes --suffix="generated"
-```
-
-## <a id="topic_f33_fsw_dl" class="no-quick-link"></a>Example of Using PDX Serialization in Your Application
-
-``` pre
-CacheFactoryPtr cacheFactory = CacheFactory::createCacheFactory();
-    // Create a GemFire Cache with the "clientPdxRemoteQuery.xml" Cache XML file.
-    CachePtr cachePtr = cacheFactory->set("cache-xml-file", "XMLs\\clientPdxRemoteQuery.xml")
-                        ->create();
-
-    LOGINFO("Created the Cache");
-
-    // Get the example Region from the Cache which is declared in the Cache XML file.
-    RegionPtr regionPtr = cachePtr->getRegion( "Portfolios");
-
-    LOGINFO( "Obtained the Region from the Cache");
-
-    // Register our Serializable/Cacheable Query objects, viz. PortfolioPdx and PositionPdx.
-    Serializable::registerPdxType(PortfolioPdx::createDeserializable);
-    PortfolioPdxPtr port1Ptr(new PortfolioPdx(1 /*ID*/, 10 /*size*/));
-    PortfolioPdxPtr port2Ptr(new PortfolioPdx(2 /*ID*/, 20 /*size*/));
-    PortfolioPdxPtr port3Ptr(new PortfolioPdx(3 /*ID*/, 30 /*size*/));
-    regionPtr->put("Key1", port1Ptr);
-    regionPtr->put("Key2", port2Ptr);
-    regionPtr->put("Key3", port3Ptr);
-    
-    // Get the QueryService from the Cache.
-    QueryServicePtr qrySvcPtr = cachePtr->getQueryService( "examplePool");
-
-    LOGINFO( "Got the QueryService from the Cache");
-
-    // Execute a Query which returns a ResultSet.
-    QueryPtr qryPtr = qrySvcPtr->newQuery("SELECT DISTINCT * FROM /Portfolios");
-    SelectResultsPtr resultsPtr = qryPtr->execute();
-
-    LOGINFO( "ResultSet Query returned %d rows", resultsPtr->size());
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/pdx_ignore_unread_fields.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/pdx_ignore_unread_fields.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/pdx_ignore_unread_fields.html.md.erb
deleted file mode 100644
index 07093d1..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/pdx_ignore_unread_fields.html.md.erb
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title:  Configuring PDX to Ignore Unread Fields During Deserialization
----
-
-Use the `setPdxIgnoreUnreadFields` API to control whether PDX ignores fields that were unread during deserialization.
-
-The default is to preserve unread fields by including their data during serialization. However, if you configure the cache to ignore unread fields then their data will be lost during serialization.
-
-You should only set this attribute to `true` if you know this member will only be reading cache data. In this use case you do not need to pay the cost of preserving unread fields since you will never reserialize the PDX data.
-
-For example:
-
-``` pre
-CacheFactoryPtr cfPtr = CacheFactory::createCacheFactory(PropertiesObj);
-cfPtr->setPdxReadSerialized(tue);
-cfPtr->setPdxIgnoreUnreadFields(false);
-cachePtr = cfPtr->create();
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/pdx_serialization.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/pdx_serialization.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/pdx_serialization.html.md.erb
deleted file mode 100644
index 4e1c1d2..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/pdx_serialization.html.md.erb
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title:  Serializing Data with PDX Serialization
----
-
-PDX is a cross-language data format that can reduce the cost of distributing and serializing your objects. PDX stores data in named fields that you can access individually to avoid the cost of deserializing the entire data object. When you use PDX serialization with the native client C++ API, you can register a `PdxSerializer` for the entire cache, implement PDX serialization for each domain object or use automatic PDX serialization by running the `pdxautoserializer` tool.
-
-You can also set the object preference of the cache to the `PdxInstance` type, which allows you to access fields of a PDX object without deserializing the entire object.
-
-When using the native client C++ API, you can opt to use PDX autoserialization. The Geode native client provides a command line tool called `pdxautoserializer` that will automatically generate C++ code to PDX serialize the class you want to serialize.
-
--   **[Serialize Your Domain Objects with PdxSerializer and PdxWrapper](../../nativeclient/cpp-caching-api/using_pdxserializer.html)**
-
-    For domain objects that you cannot or do not want to modify, use the `PdxSerializer` and the `PdxWrapper` classes to serialize and deserialize the object's fields.
-
--   **[Serialize Using the PdxSerializable Class](../../nativeclient/cpp-caching-api/pdxserializable_interface.html)**
-
-    Domain classes need to inherit the `PdxSerializable` abstract class to serialize and de-serialize the object. When you write objects using PDX serialization, they are distributed to the server tier in PDX serialized form.
-
--   **[Using Automatic PDX Serialization](../../nativeclient/cpp-caching-api/pdx_auto_serialization.html)**
-
-    You can allow your native client C++ applications to automatically PDX serialize and deserialize domain objects without having to add any extra code by using the `pdxautoserializer` command line tool provided with the native client.
-
--   **[Programming Your Application to Use PdxInstances](../../nativeclient/cpp-caching-api/using_pdxinstance.html)**
-
-    A `PdxInstance` is a lightweight wrapper around the raw bytes of the PDX serialized objects kept in the cache. It provides applications with run-time access to files of a PDX serialized object. Geode provides the implementation of the `PdxInstance` class.
-
--   **[Configuring PDX to Ignore Unread Fields During Deserialization](../../nativeclient/cpp-caching-api/pdx_ignore_unread_fields.html)**
-
-    Use the `setPdxIgnoreUnreadFields` API to control whether PDX ignores fields that were unread during deserialization.
-
--   **[Using PdxInstanceFactory to Create PdxInstances](../../nativeclient/cpp-caching-api/using_pdxinstancefactory.html)**
-
-    You can use the `PdxInstanceFactory` API to create a `PdxInstance` from raw data when the domain class is not available on the server.
-
--   **[Using C++ Enum Type with PDX Serialization](../../nativeclient/cpp-caching-api/using_enum_type_with_pdx.html)**
-
-    Because there is no "object" base type in C++, enums cannot be directly passed as parameters to the `writeObject` and `readObject` API.
-
--   **[Using PDX Serialization with Delta Propagation](../../nativeclient/cpp-caching-api/pdx_with_delta_propagation.html)**
-
-    To use delta propagation with PDX serialization, you must implement the `Delta` interface methods.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/pdx_with_delta_propagation.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/pdx_with_delta_propagation.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/pdx_with_delta_propagation.html.md.erb
deleted file mode 100644
index 492840c..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/pdx_with_delta_propagation.html.md.erb
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title:  Using PDX Serialization with Delta Propagation
----
-
-<a id="concept_F33AC930A8F14F0A9EE07AC31FFD8C8F__section_6C08121D7A034993A7422985FBC9A0D9"></a>
-You can include delta propagation support with PDX serialization by implementing the `Delta` interface methods. 
-However, using delta propagation with PDX will requires that you implement Java side classes. The objects will remain in deserialized form at all times on the server and you will lose one of the main benefits of PDX.
-
-In addition, you must set `read-serialized` to `false`. Otherwise, Java objects will be deserialized to instances of `PdxInstance`, which never implements deltas.
-
-The following code snippet is a sample implementation of the Delta interface methods for using with PDX serialization.
-
-``` pre
-class PdxWithDelta : public PdxSerializable, public Delta
-{
-public:
-
-  bool hasDelta();
-  void toDelta(DataOutput& output);
-  void fromDelta(DataInput& input);
-  DeltaPtr clone();
-
-// other PdxSerializable methods here...
-
-};
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/pdxserializable_interface.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/pdxserializable_interface.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/pdxserializable_interface.html.md.erb
deleted file mode 100644
index b51ce39..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/pdxserializable_interface.html.md.erb
+++ /dev/null
@@ -1,100 +0,0 @@
----
-title:  Serialize Using the PdxSerializable Class
----
-
-Domain classes need to inherit the `PdxSerializable` abstract class to serialize and de-serialize the object. When you write objects using PDX serialization, they are distributed to the server tier in PDX serialized form.
-
-When you run queries against the objects on the servers, only the fields you specify are deserialized. A domain class should serialize and de-serialize all its member fields in the same order in its `toData` and `fromData` method.
-
-Use this procedure to program your domain object for PDX serialization using the `PdxSerializable` abstract class.
-
-1.  In your domain class, implement `PdxSerializable`. Example:
-
-    ``` pre
-    class PdxObject: public PdxSerializable
-    ```
-
-2.  Program the `toData` function to serialize your object as required by your application.
-
-    If you also use PDX serialization in Java or .NET for the object, serialize the object in the same way for each language. Serialize the same fields in the same order and mark the same identity fields.
-
-3.  Program the `fromData` method to read your data fields from the serialized form into the object's fields.
-
-    In your `fromData` implementation, use the same name as you did in `toData` and call the read operations in the same order as you called the write operations in your `toData` implementation.
-
-4.  Optionally, program your domain object's hashCode and equality methods.
-
-    Use the `markIdentityField` method to indicate that the given field name should be included in hashCode and equality checks of this object on a server.
-
-    The fields that are marked as identity fields are used to generate the hashCode and equality methods of PdxInstance. Because of this, the identity fields should themselves either be primitives, or implement hashCode and equals.
-
-    If no fields are set as identity fields, then all fields will be used in hashCode and equality checks. The identity fields should make marked after they are written using a `write`\* method.
-
-## PdxSerializable Example
-
-``` pre
-class PdxObject: public PdxSerializable {
-
-private:
-    uint32_t m_id;
-    char* m_str;
-
-public:
-    PdxObject(){};
-    PdxObject(uint32_t id, char* str);
-    virtual ~PdxObject();
-
-    uint32_t getID() {
-        return m_id;
-    }
-
-    char* getStr(){
-        return m_str;
-    }
-
-    virtual void toData(PdxWriterPtr pw) const;
-    virtual void fromData(PdxReaderPtr pr);
-    CacheableStringPtr toString() const;
-    virtual char* getClassName() const;
-    static Cacheable* createDeserializable() {
-        return new PdxObject();
-    }
-};
-
-PdxObject::PdxObject(uint32_t i, char* str) {
-    m_id = i;
-    m_str = str;
-}
-
-PdxObject::~PdxObject() {
-}
-
-void PdxObject::toData( PdxWriterPtr pw ) const {
-    pw->writeInt("id", m_id);
-       pw->markIdentityField("id");
-    pw->writeString("str", m_str);
-}
-
-void  PdxObject::fromData( PdxReaderPtr pr )
-{
-    m_id = pr->readInt("id");
-    m_str = pr->readString("str");
-}
-
-char* getClassName() const{
-{
-    return "com.example.PdxType";
-}
-
-CacheableStringPtr PdxObject::toString() const {
-       char idbuf[1024];
-       sprintf(idbuf,"PdxObject: [ ID=%d ]",m_id);
-       return CacheableString::create( idbuf );
-}
-```
-
--   **[Performing put, get, and localDestroy Operations with a PDX Domain Object](../../nativeclient/cpp-caching-api/performing_ops_with_pdx_object.html)**
-
-    This topic demonstrates how you can perform operations on a PDX domain object after you have implemented PDX serializable in your domain class.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/performing_ops_with_pdx_object.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/performing_ops_with_pdx_object.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/performing_ops_with_pdx_object.html.md.erb
deleted file mode 100644
index 50ed34a..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/performing_ops_with_pdx_object.html.md.erb
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title:  Performing put, get, and localDestroy Operations with a PDX Domain Object
----
-
-This topic demonstrates how you can perform operations on a PDX domain object after you have implemented PDX serializable in your domain class.
-
-For example, you can perform operations like put, get, and localDestroy with the domain class you defined for PDX serialization in the [PdxSerializable Example](pdxserializable_interface.html#concept_79E4C10E5F634A7F84F96633694B3D69__example_70237026967A42898584AE644D437E69).
-
-To perform operations, you could write the following application code:
-
-1.  Register the PDX domain class.
-
-    ``` pre
-    Serializable::registerPdxType(PdxObject::createDeserializable);
-    ```
-
-2.  Create the PDX domain object `PdxObject`.
-
-    ``` pre
-    CacheablePtr pdxobj(new PdxObject(100, "Value-1"));
-    CacheableKeyPtr keyport = CacheableKey::create("ABC");
-    ```
-
-3.  Here's an example of a put operation.
-
-    ``` pre
-    rptr->put(keyport, pdxobj);
-    ```
-
-4.  Here's an example of locally destroying the entry.
-
-    ``` pre
-    rptr->localDestroy(keyport);
-    ```
-
-5.  Here's an example of a get operation.
-
-    ``` pre
-    PdxObject *obj2 = dynamic_cast<PdxObject *> ((rptr->get(keyport)).ptr());
-    LOGINFO("Debug:Returned ID = %d", obj2->getID());
-    ```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/region_data_requiring_serialization.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/region_data_requiring_serialization.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/region_data_requiring_serialization.html.md.erb
deleted file mode 100644
index 13ee10b..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/region_data_requiring_serialization.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  Region Data Requiring Serialization
----
-
-Certain region types (including client regions) require serialization.
-
-Region data in the following types of regions must be serializable:
-
--   Partitioned regions (except functions that add data locally to a partitioned region use the deserialized form).
--   Distributed regions.
--   Regions that are persisted or overflowed to disk.
--   Server or client regions in a client/server installation.
--   Regions distributed between gateways in a multi-site installation.
--   Regions that receive events from remote caches.
--   Regions that provide function arguments and results.
-
-To minimize the cost of serialization and deserialization, Geode avoids changing the data format whenever possible. This means your data may be stored in the cache in serialized or deserialized form, depending on how you use it. For example, if a server acts only as a storage location for data distribution between clients, it makes sense to leave the data in serialized form, ready to be transmitted to clients that request it. Partitioned region data is always stored in serialized form with one exception\u2014functions that add data to a partitioned region locally use the deserialized form.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/removing-entry.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/removing-entry.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/removing-entry.html.md.erb
deleted file mode 100644
index d661f40..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/removing-entry.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  Removing an Entry
----
-
-The standard `Region::remove` API removes the entry with specified key and provides a user-defined parameter object to any `CacheWriter` or `CacheListener` invoked in the process.
-
-The `remove` call not only removes the value, but also the key and entry from this region. The remove operation is propagated to the Geode cache server to which the native client is connected. If the destroy operation fails due to an exception on the server (for example, a `CacheServerException` or security exception), then the local entry is still removed.
-
-The `remove` operation updates `CacheStatistics::getLastAccessedTime` and `CacheStatistics::getLastModifiedTime` for this region and the entry.
-
-The `remove` API returns true if the entry (key, value) has been removed or false if the entry (key, value) has not been removed.
-
-## Bulk Remove Operations Using removeAll
-
-You can use the `Region::removeAll` API to remove all entries from the region for a collection of specified keys. The effect of this call is equivalent to that of calling `destroy` on this region once for each key in the specified collection. If an entry does not exist, then that key is skipped. Note that an `EntryNotFoundException` is not thrown.
-
-The `removeAll` API also supports providing a callback argument to any cache loaders or cache writers that are invoked in the operation. See the Region API documentation for more information about using `removeAll`.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/serialization_options.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/serialization_options.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/serialization_options.html.md.erb
deleted file mode 100644
index 386737a..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/serialization_options.html.md.erb
+++ /dev/null
@@ -1,65 +0,0 @@
----
-title:  Data Serialization Options
----
-
-The native client C++ API gives you two serialization options: the `GemFire::Serializable` interface and GemFire PDX serialization.
-
-Geode Portable Data eXchange (PDX) serialization is the recommended option. PDX serialization provides portability for PDX serializable objects so that clients can share data with Java servers and other non-C++ clients. PDX is a cross-language data format that can reduce the cost of distributing and serializing your objects. PDX stores data in named fields that you can access individually in order to avoid the cost of deserializing the entire data object. PDX also allows you to mix versions of objects where you have added or removed fields.
-
-When using PDX serialization, you can use either `PdxSerializer` (for all your domain objects) or `PdxSerializable` (for a specific domain object).
-
-`PdxSerializer` is used when a user has registered a domain class for serialization in the cache using the `registerPdxSerializer` API.
-
-`PdxSerializable` is used when the domain class that a user wants to serialize/deserialize is inherited from the `PdxSerializable` interface, and the user has registered the domain class using the `registerPdxType(domainClass)` API.
-
-The non-PDX serialization option is to use the `GemFire::Serializable` interface. The `GemFire::Serializable` interface can be a good option performance-wise if the size of your objects is small. The `GemFire::Serializable` is used whenever a user domain class is not inherited by `PdxSerializable` but the user has registered his or her class with the `registerType` API. See [Serializing Data with the Serializable Interface](serialization_using_serializable.html#concept_696AB5206C3E45898CC1A24CDD93D003) for more information.
-
-<a id="concept_7B6F272ACEA14753A723CB73B858ADBE__table_D61A94C4BFBE4712835F632F30BB488E"></a>
-
-<table>
-<caption><span class="tablecap">Table 1. Serialization Options\u2014Comparison of Features</span></caption>
-<colgroup>
-<col width="50%" />
-<col width="25%" />
-<col width="25%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th>Capability</th>
-<th>GemFire::Serializable</th>
-<th>GemFire::PdxSerializable</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td><p>Handles multiple versions of domain objects*</p></td>
-<td></td>
-<td>X</td>
-</tr>
-<tr class="even">
-<td><p>Provides single field access on servers of serialized data, without full deserialization. Supported also for OQL queries.</p></td>
-<td></td>
-<td>X</td>
-</tr>
-<tr class="odd">
-<td><p>Automatically ported to other languages by Geode - no need to program Java-side implementation</p></td>
-<td></td>
-<td>X</td>
-</tr>
-<tr class="even">
-<td><p>Works with GemFire delta propagation</p></td>
-<td>X</td>
-<td>X**</td>
-</tr>
-</tbody>
-</table>
-
-<span class="tablecap">**Table 1.** Serialization Options\u2014Comparison of Features</span>
-
-\* You can mix domain object versions where the differences between versions are the addition and removal of object fields.
-
-\*\* See [Using PDX Serialization with Delta Propagation](pdx_with_delta_propagation.html#concept_F33AC930A8F14F0A9EE07AC31FFD8C8F) for requirements.
-
-For detailed information on the interfaces, see the API documentation.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/serialization_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/serialization_overview.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/serialization_overview.html.md.erb
deleted file mode 100644
index 026136e..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/serialization_overview.html.md.erb
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title:  Serializing Data
----
-
-All data that Geode moves out of the local cache must be serializable.
-
--   **[Region Data Requiring Serialization](../../nativeclient/cpp-caching-api/region_data_requiring_serialization.html)**
-
-    Certain region types (including client regions) require serialization.
-
--   **[Data Serialization Options](../../nativeclient/cpp-caching-api/serialization_options.html)**
-
-    The native client C++ API gives you two serialization options: the `GemFire::Serializable` interface and GemFire PDX serialization.
-
--   **[Serializing Data with PDX Serialization](../../nativeclient/cpp-caching-api/pdx_serialization.html)**
-
-    PDX is a cross-language data format that can reduce the cost of distributing and serializing your objects. PDX stores data in named fields that you can access individually to avoid the cost of deserializing the entire data object. When you use PDX serialization with the native client C++ API, you can register a PdxSerializer for the entire cache, implement PDX serialization for each domain object or use automatic PDX serialization by running the `pdxautoserializer` tool.
-
--   **[Serializing Data with the Serializable Interface](../../nativeclient/cpp-caching-api/serialization_using_serializable.html)**
-
-    The native client C++ API provides a `Serializable` interface that you can use for fast and compact data serialization. This section discusses the Geode serializable interface, and presents implementation examples.
-
--   **[Serializing Object Graphs](../../nativeclient/cpp-caching-api/object-graphs.html)**
-
-    If you have a graph of objects where each node can be serializable, the parent node can call `DataOutput::writeObject` to delegate the serialization responsibility to its child nodes. Similarly, your application can call `DataInput::readObject` to deserialize the object graph.
-
--   **[Serializing and Accessing Data as a Blob](../../nativeclient/cpp-caching-api/data-as-blob.html)**
-
-    If you have data that is best handled as a blob, such as structs that do not contain pointers, use the serializable type `CacheableBytes` . `CacheableBytes` is a blob class that implements the serialization for you.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/serialization_using_serializable.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/serialization_using_serializable.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/serialization_using_serializable.html.md.erb
deleted file mode 100644
index 9993596..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/serialization_using_serializable.html.md.erb
+++ /dev/null
@@ -1,246 +0,0 @@
----
-title:  Serializing Data with the Serializable Interface
----
-
-The native client C++ API provides a `Serializable` interface that you can use for fast and compact data serialization. This section discusses the Geode serializable interface, and presents implementation examples.
-
-## <a id="concept_696AB5206C3E45898CC1A24CDD93D003__section_8143F965A8C6495E8AB104FD36DA366A" class="no-quick-link"></a>How Serialization Works
-
-When your application puts an object into the cache for subsequent distribution, Geode serializes the data by taking these steps:
-
-1.  Calls the appropriate `classId` function.
-2.  Writes the full `typeId` using the `classId` for the instance.
-3.  Invokes the instance\u2019s `toData` function.
-
-When your application subsequently receives a byte array, Geode takes the following steps:
-
-1.  Decodes the `typeId`, extracts the `classId` from the `typeId`, then creates an object of the designated type using the registered factory functions.
-
-2.  Invokes the `fromData` function with input from the data stream.
-3.  Decodes the data, then populates the data fields.
-
-## <a id="concept_696AB5206C3E45898CC1A24CDD93D003__section_786CF85FD80E4FE391135460E04D46CC" class="no-quick-link"></a>Implementing the Serializable Interface
-
-To store your own data types in the cache, you need to derive a new subclass from the `Serializable` interface. In practical terms, this means that you need to implement a small set of helper functions:
-
-1.  Write a `toData` function that serializes your data.
-
-    ``` pre
-    void toData (DataOutput& output)
-    ```
-
-    The `toData` function is responsible for copying all of the object\u2019s data fields to the object stream.
-
-    The `DataOutput` class represents the output stream and provides methods for writing the primitives in a network byte order. For more about this, see the API documentation for `DataOutput` .
-
-    The `toData` function is responsible for copying all of the object\u2019s data fields to the object stream.
-
-    The `DataOutput` class represents the output stream and provides methods for writing the primitives in a network byte order. For more about this, see the API documentation for `DataOutput` .
-
-2.  Write a `fromData` function that consumes a data input stream and repopulates the object\u2019s data fields.
-
-    ``` pre
-    void fromData (DataInput& input)
-    ```
-
-    The `DataInput` class represents the input stream and provides methods for reading input elements. The `fromData` function must read the elements of the input stream in the same order that they were written by `toData` . For more about this, see the API documentation for `DataInput`.
-
-## Example 1. The Simple Class BankAccount
-
-This example demonstrates a simple `BankAccount` class that encapsulates two `ints`: `ownerId` and `accountId`:
-
-``` pre
-class BankAccount
-{
-   private:
-�
-   int m_ownerId;
-   int m_accountId;
-�
-   public:
-�
-   BankAccount( int owner, int account ): m_ownerId( owner ),
-     m_accountId( account ) {}
-�
-   int getOwner( )
-   {
-      return m_ownerId;
-   }
-�
-   int getAccount( )
-   {
-      return m_accountId;
-   }
-�
-};
-```
-
-To make `BankAccount` serializable, you would need to derive the class from `Serializable` and implement the following:
-
--   `toData`\u2014a function to serialize the data.
--   `fromData`\u2014a function to deserialize the data.
--   `classId`\u2014a function to provide a unique integer for the class.
--   `TypeFactoryMethod`\u2014a pointer to a function that returns a `Serializable*` to an uninitialized instance of the type.
-
-## Example 2. Implementing a Serializable Class
-
-This example shows a code sample that demonstrates how to implement a serializable class.
-
-``` pre
-class BankAccount : public Serializable
-{
-   private:
-   int m_ownerId; 
-   int m_accountId;
-   public:
-   BankAccount( int owner, int account ) : m_ownerId( owner ),
-      m_accountId( account ) {}
-
-int getOwner( )
-{
-    return m_ownerId;
-}
-
-int getAccount( )
-{
-    return m_accountId;
-}
-
-// Add the following for the Serializable interface
-// Our TypeFactoryMethod
-static Serializable* createInstance( )
-{
-    return new BankAccount( 0, 0 );
-}
-
-int32_t classId( )
-{
-    return 10; // must be unique per class.
-}
-
-virtual uint32_t objectSize() const
-{
-    return 10;
-}
-
-void toData( DataOutput& output )
-{
-    output.writeInt( m_ownerId );
-    output.writeInt( m_accountId );
-}
-
-Serializable* fromData( DataInput& input )
-{
-    input.readInt( &m_ownerId );
-    input.readInt( &m_accountId );
-    return this;
-}
-};
-```
-
-## <a id="concept_696AB5206C3E45898CC1A24CDD93D003__section_108942E549CE4DE68FF3956712DEC7AF" class="no-quick-link"></a>Registering the Type
-
-To be able to use the `BankAccount` type, you must register it with the type system so that when an incoming stream contains a `BankAccount` , it can be manufactured from the associated `TypeFactoryMethod`.
-
-``` pre
-Serializable::registerType( BankAccount::createInstance );
-```
-
-Typically, you would register the type before calling the function `DistributedSystem::connect`.
-
-**Note:**
-Type IDs must be unique to only one class.
-
-## <a id="concept_696AB5206C3E45898CC1A24CDD93D003__section_311C3661023C46328B406F26F4F16808" class="no-quick-link"></a>Custom Key Types
-
-If your application uses key types that are too complex to easily force into `CacheableString`, you can likely improve performance by deriving a new class from `CacheableKey`. If you have hybrid data types you can implement your own derivation of `CacheableKey` that encapsulates the data type.
-
-See [Serialization in Native Client Mode with a Java Server](serialization_using_serializable.html#concept_696AB5206C3E45898CC1A24CDD93D003__section_AFB685227E4048BF9FB4FD7C55AED274) for information about implementing key types for a native client that is used with a Java cache server.
-
-To extend a `Serializable` class to be a `CacheableKey`, you need to modify the class definition as follows:
-
--   Change the class so that it derives from `CacheableKey` rather than `Serializable`.
-
--   Implement `operator==` and `hashcode` functions.
-
-The next example demonstrates how to extend a `serializable` class to be a cacheable key.
-
-## Example 3. Extending a Serializable Class To Be a CacheableKey
-
-This example shows how to extend a serializable class to be a cacheable key.
-
-``` pre
-class BankAccount
-: public CacheableKey
-{
-   private:
-   int m_ownerId;
-   int m_accountId;
-   public:
-   BankAccount( int owner, int account ) : m_ownerId( owner ),
-      m_accountId( account ) {}
-
-int getOwner( )
-{
-    return m_ownerId;
-}
-
-int getAccount( )
-{
-    return m_accountId;
-}
-
-// Our TypeFactoryMethod
-static Serializable* createInstance( )
-{
-    return new BankAccount( 0, 0 );
-}
-
-int32_t typeId( )
-{
-    return 1000; // must be unique per class.
-}
-
-void toData( DataOutput& output )
-{
-    output.writeInt( m_ownerId );
-    output.writeInt( m_accountId );
-}
-
-Serializable* fromData( DataInput& input )
-{
-    input.readInt( &m_ownerId );
-    input.readInt( &m_accountId );
-    return this;
-}
-
-// Add the following for the CacheableKey interface
-bool operator == ( const CacheableKey& other ) const
-{
-    const BankAccount& otherBA =
-    static_cast<const BankAccount&>( other );
-    return (m_ownerId == otherBA.m_ownerId) && (m_accountId == otherBA.m_accountId);
-}
-
-uint32_t hashcode( ) const
-{
-    return m_ownerId;
-}
-
-virtual int32_t classId( )const
-{
-    return 10; // must be unique per class.
-}
-�
-virtual uint32_t objectSize() const
-{
-    return 10;
-} 
-};
-```
-
-## <a id="concept_696AB5206C3E45898CC1A24CDD93D003__section_AFB685227E4048BF9FB4FD7C55AED274" class="no-quick-link"></a>Serialization in Native Client Mode with a Java Server
-
-Primitive object types supported in all languages (`CacheableInt32`, `CacheableString`, `CacheableBytes`) function without requiring custom definitions with the Java cache server. For the keys, the Java cache server has to deserialize them and locate the hashcode to be able to insert the internal maps. Because of this, key types for C++ and .NET native clients used with a Java server are required to be registered on the Java server, but the value types do not need to be registered. This needs to be done even if there are no Java clients. The Java serializable type should have the same `classId` as the .NET class, and it should serialize and deserialize the type in the same manner as the .NET implementation.
-
-See [Data Serialization](../dotnet-caching-api/dotnet-data-serialization.html#concept_28A7797A0342447ABF6A5014E0DCB05F) for more information about .NET data serialization.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/type_interoperability.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/type_interoperability.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/type_interoperability.html.md.erb
deleted file mode 100644
index 135f81c..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/type_interoperability.html.md.erb
+++ /dev/null
@@ -1,46 +0,0 @@
----
-title:  Interoperability of C++ Types When Using PDX Serialization
----
-
-This topic table lists the mapping between C++ types and other language types when using PDX serialization.
-
-In addition, the table lists which PdxReader and PdxWriter C++ APIs to use when serializing and deserializing the types.
-
-| C++ Type                          | .NET Type                                                        | Java Type               | PdxReader/PdxWriter API                      |
-|-----------------------------------|------------------------------------------------------------------|-------------------------|----------------------------------------------|
-| CacheableHashTable                | System::Collections::Hashtable                                   | java.util.Hashtable     | readObject/writeObject                       |
-| CacheableHashMap                  | System::Collections ::Generic::IDictionary&lt;Object, Object&gt; | java.util.HashMap       | readObject/writeObject                       |
-| CacheableVector                   | System::Collections::ArrayList                                   | java.util.Vector        | readObject/writeObject                       |
-| CacheableArrayList                | System::Collections::�Generic::IList&lt;Object&gt;               | java.util.ArrayList     | readObject/writeObject                       |
-| bool                              | bool                                                             | boolean                 | readBoolean/writeBoolean                     |
-| int8\_t                           | sbyte                                                            | Byte                    | readByte/writeByte                           |
-| wchar\_t/char<sup>1</sup>         | Char                                                             | Char                    | readChar/writeChar                           |
-| wchar\_t\*/char\*<sup>1</sup>     | string                                                           | string                  | readString/writeString                       |
-| double                            | Double                                                           | double                  | readDouble/writeDouble                       |
-| float                             | float                                                            | float                   | readFloat/writeFloat                         |
-| int16\_t                          | short                                                            | short                   | readShort/writeShort                         |
-| int32\_t                          | Int32/int                                                        | int                     | readInt/writeInt                             |
-| int64\_t                          | Int64/long                                                       | long                    | readLong/writeLong                           |
-| int8\_t\*                         | System.Byte\[ \]/System.SByte\[  \]                              | Byte\[  \]<sup>2</sup>    | readByteArray/writeByteArray                 |
-| double\*                          | System.Double\[  \]                                                | Double\[  \]              | readDoubleArray/writeDoubleArray             |
-| float\*                           | System.float\[  \]                                                 | Float\[  \]               | readFloatArray/writeFloatArray               |
-| CacheableHashSet                  | CacheableHashSet                                                 | java.util.HashSet       | readObject/writeObject                       |
-| CacheableLinkedHashSet            | CacheableLinkedHashSet                                           | java.util.LinkedHashSet | readObject/writeObject                       |
-| int16\_t\*                        | System.Int16\[  \]                                                 | Short\[  \]               | readShortArray/writeShortArray               |
-| int32\_t\*                        | System.Int32\[  \]                                                 | Int\[  \]                 | readIntArray/writeIntArray                   |
-| int64\_t\*                        | System.Int64\[  \]                                                 | Long\[  \]                | readLongArray/writeLongArray                 |
-| bool\*                            | System.Boolean\[  \]                                               | Boolean\[  \]             | readBooleanArray/writeBooleanArray           |
-| wchar\_t\*/char\*<sup>1</sup>     | System.Char\[  \]                                                  | char\[  \]                | readCharArray/writeCharArray                 |
-| enum<sup>3</sup>                  | enum                                                             | Enum                    | readObject/writeObject                       |
-| int8\_t\*\*                       | byte\[  \]\[  \]/Sbyte\[  \]\[  \]                                       | Byte\[  \]\[  \]            | readArrayOfByteArrays/writeArrayOfByteArrays |
-| wchar\_t\*\*/char\*\*<sup>1</sup> | System.String\[  \]                                                | String\[  \]              | readStringArray/writeStringArray             |
-| CacheableDate                     | System.DateTime (UTC)                                      | Java.util.date          | readDate/writeDate                           |
-| CacheableObjectArray              | object\[  \]/System.Object\[  \]                                     | Object\[  \]              | readObjectArray/writeObjectArray             |
-| Cacheable/Serializable            | object/System.Object                                             | Object                  | readObject/writeObject                       |
-
-<sup>1</sup>C++ allows unicode and non-unicode characters, so C++ PDX will support both wchar\_t/char and wchar\_t\*/char\*.
-
-<sup>2</sup> For Pdx, only SByte is used, as Java Byte is signed. But for DataSerializable, Byte\[  \] array is used as a data container.
-
-<sup>3</sup>C++ allows explicit setting of ordinal numbers, but it is up to the developer to map the Java enumNames with C++ enumNames. See [Using C++ Enum Type with PDX Serialization](using_enum_type_with_pdx.html#concept_F38FDBC327204B4EB1E0BC74B4C95409).
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/user-defined-objects.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/user-defined-objects.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/user-defined-objects.html.md.erb
deleted file mode 100644
index e1914f8..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/user-defined-objects.html.md.erb
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title:  Implementing User-Defined Objects in Java Clients
----
-
-You can use one of two methods to implement a user-defined object in a Java client that works with C++ clients: `Instantiator.register` and `DataSerializable`.
-
-## <a id="concept_3DE42CA33684403D8C3730E99C882B55__section_8AC81EE12D8F406DB7602AEAFFD33F2B" class="no-quick-link"></a>Instantiator.register
-
-With the `Instantiator.register` method, a client sends a `RegistrationMessage` to every Java VM in its distributed system. The message announces the mapping between a user-defined classId and class name. The other JVMs can deserialize the byte array with the correct class.
-
-If two clients are in different distributed systems, a `RegistrationMessage` cannot be sent between them. For example: a `put` made by a client in one distributed system will hang when a client in another distributed system performs a get in pure Java mode. Similarly, a `put` made by a C++ client will cause a Java client to hang.
-
-## <a id="concept_3DE42CA33684403D8C3730E99C882B55__section_3F42D06A70644030869D381D03D45CC8" class="no-quick-link"></a>DataSerializable
-
-Using the `DataSerializable` method, the user-defined object is serialized into the following byte array:
-
-``` pre
-45 <2-byte-length> <class-name>
-```
-
-A Java client can deserialize the byte array, but a C++ client cannot convert the Java class name to a C++ class name.
-
-## <a id="concept_3DE42CA33684403D8C3730E99C882B55__section_F3F13E1732EB4995B2C78B0BB1ED18BB" class="no-quick-link"></a>Implementation
-
-The `DataSerializable` method does not support using a nested object, while `Instantiator.register` does support the use of nested objects. A workaround is to let each Java client manually initiate an object for each possible user object class a C++ client provides, using the following code:
-
-``` pre
-User u = new User("", 0);
-```
-
-See [Java Serialization Example](../programming-examples/serialization-java.html#serialization-java) for a code sample that shows how to set up user object classes in a Java client.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/using-custom-class.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/using-custom-class.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/using-custom-class.html.md.erb
deleted file mode 100644
index f89db20..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/using-custom-class.html.md.erb
+++ /dev/null
@@ -1,68 +0,0 @@
----
-title:  Using a Custom Class
----
-
-This example shows how to use the defined `BankAccount` custom key type and the `AccountHistory` value type.
-
-The example takes you through these basic operations: registering, creating a cache, connecting to the distributed system, putting data, getting data, and closing the cache.
-
-## Using a BankAccount Object
-
-``` pre
-#include <gfcpp/GemfireCppCache.hpp>
-#include "BankAccount.hpp"
-#include "AccountHistory.hpp"
-using namespace gemfire;
-/*
-This example connects, registers types, creates the cache, creates a
-region, and then puts and gets user defined type BankAccount.
-*/
-int main( int argc, char** argv ) {
-    // Register the user-defined serializable type.
-    Serializable::registerType( AccountHistory::createDeserializable );
-    Serializable::registerType( BankAccount::createDeserializable );
-�
-    CacheFactoryPtr cacheFactory = CacheFactory::createCacheFactory();
-    // Create a cache.
-    CachePtr cachePtr = cacheFactory->setSubscriptionEnabled(true)
-                        ->addServer("localhost", 24680)
-                        ->create();
-�
-    // Create a region.
-    RegionFactoryPtr regionFactory = 
-                        cachePtr->createRegionFactory(CACHING_PROXY);
-    RegionPtr regionPtr = regionFactory->create("BankAccounts");
-�
-    // Place some instances of BankAccount cache region.
-    BankAccountPtr KeyPtr(new BankAccount(2309, 123091));
-    AccountHistoryPtr ValPtr(new AccountHistory());
-    ValPtr->addLog( "Created account" );
-    regionPtr->put( KeyPtr, ValPtr );
-    printf( "Put an AccountHistory in cache keyed with BankAccount.\n" );
-    // Call custom behavior on instance of BankAccount.
-    KeyPtr->showAccountIdentifier();
-    // Call custom behavior on instance of AccountHistory.
-    ValPtr->showAccountHistory();
-    // Get a value out of the region.
-    AccountHistoryPtr historyPtr =
-                      dynCast<AccountHistoryPtr>( regionPtr->get( KeyPtr ) );
-    if ( historyPtr != NULLPTR ) {
-        printf( "Found AccountHistory in the cache.\n" );
-        historyPtr->showAccountHistory();
-        historyPtr->addLog( "debit $1,000,000." );
-        regionPtr->put( KeyPtr, historyPtr );
-        printf( "Updated AccountHistory in the cache.\n" );
-    }
-    // Look up the history again.
-    historyPtr = dynCast<AccountHistoryPtr>( regionPtr->get( KeyPtr ) );
-    if ( historyPtr != NULLPTR ) {
-        printf( "Found AccountHistory in the cache.\n" );
-        historyPtr->showAccountHistory();
-    }
-    // Close the cache and disconnect from the servers
-    cachePtr->close();
-    return 0;
-}
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/using_enum_type_with_pdx.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/using_enum_type_with_pdx.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/using_enum_type_with_pdx.html.md.erb
deleted file mode 100644
index df8cadf..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/using_enum_type_with_pdx.html.md.erb
+++ /dev/null
@@ -1,113 +0,0 @@
----
-title:  Using C++ Enum Type with PDX Serialization
----
-
-Because there is no "object" base type in C++, enums cannot be directly passed as parameters to the `writeObject` and `readObject` API.
-
-To use the C++ enum type with PDX serialization, you have to wrap the `enum` in the `CacheableEnum` class type by specifying classname, enumname and ordinal.
-
-``` pre
-enum enumQuerytest { id1, id2, id3 };
- class TESTOBJECT_EXPORT PdxEnumTestClass :public PdxSerializable
-  {
-  private:
-    int m_id;
-    CacheableEnumPtr m_enumid;
-
-  public:
-    int getID(){
-      return m_id;
-    }
-
-    CacheableEnumPtr getEnumID() {
-      return m_enumid;
-    }
-
-    PdxEnumTestClass(int id)
-    {
-      m_id = id;
-      switch (m_id) {
-        case 0:
-          m_enumid = CacheableEnum::create("enumQuerytest", "id1", id1);
-          break;
-        case 1:
-          m_enumid = CacheableEnum::create("enumQuerytest", "id2", id2);
-          break;
-        case 2:
-          m_enumid = CacheableEnum::create("enumQuerytest", "id3", id3);
-          break;
-        default:
-          m_enumid = CacheableEnum::create("enumQuerytest", "id1", id1);
-          break;
-      }
-    }
-
-    PdxEnumTestClass() { }
-
-    void toData(PdxWriterPtr pw) {
-      pw->writeInt("m_id", m_id);
-      pw->writeObject("m_enumid", m_enumid);
-    }
-
-    void fromData(PdxReaderPtr pr) {
-      m_id = pr->readInt("m_id");
-      m_enumid = pr->readObject("m_enumid");
-    }
-
-    CacheableStringPtr toString() const {
-      return CacheableString::create("PdxEnumTestClass");
-    }
-
-    char* GetClassName() const {
-      return "com.example.PdxEnumTestClass";
-    }
-
-    static PdxSerializable* createDeserializable() {
-      return new PdxEnumTestClass();
-    }
-  };
-```
-
-## <a id="concept_F38FDBC327204B4EB1E0BC74B4C95409__section_3491F76DB8C0464D89418B89372BBAEA" class="no-quick-link"></a>How Puts and Queries Work on Enums
-
-The following code sample demonstrates how put and query operations work when using the C++ enum Type with PDX serialization:
-
-``` pre
-//Creating objects of type PdxEnumTestClass
-PdxEnumTestClassPtr pdxobj1(new PdxEnumTestClass(0));
-PdxEnumTestClassPtr pdxobj2(new PdxEnumTestClass(1));
-PdxEnumTestClassPtr pdxobj3(new PdxEnumTestClass(2));
-
-RegionPtr rptr = getHelper()->getRegion( "DistRegionAck" );
-
-//PUT Operations
-rptr->put( CacheableInt32::create(0), pdxobj1 );
-LOG( "pdxPut 1 completed " );
-
-rptr->put( CacheableInt32::create(1), pdxobj2 );
-LOG( "pdxPut 2 completed " );
-
-rptr->put( CacheableInt32::create(2), pdxobj3 );
-LOG( "pdxPut 3 completed " );
-
-
-//Query
-try {
-    Serializable::registerPdxType(PdxEnumTestClass::createDeserializable);
-    LOG("PdxEnumTestClass Registered Successfully....");
-} catch (gemfire::IllegalStateException&/* ex*/) {
-    LOG("PdxEnumTestClass IllegalStateException");
-}
-
-RegionPtr rptr = getHelper()->getRegion( "DistRegionAck" );
-SelectResultsPtr results = rptr->query("m_enumid.name = 'id2'");  
-ASSERT(results->size()== 1 , "query result should have one item");
-ResultSetPtr rsptr = dynCast<ResultSetPtr>(results);
-SelectResultsIterator iter = rsptr->getIterator();  
-while (iter.moveNext()) {
-    PdxEnumTestClassPtr re = dynCast<PdxEnumTestClassPtr>(iter.current());
-    ASSERT(re->getID()== 1 , "query should have returned id 1");
-}    
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/using_pdxinstance.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/using_pdxinstance.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/using_pdxinstance.html.md.erb
deleted file mode 100644
index 8e76a74..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/using_pdxinstance.html.md.erb
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title:  Programming Your Application to Use PdxInstances
----
-
-A `PdxInstance` is a lightweight wrapper around the raw bytes of the PDX serialized objects kept in the cache. It provides applications with run-time access to files of a PDX serialized object. Geode provides the implementation of the `PdxInstance` class.
-
-You can configure your cache to return a `PdxInstance` when a PDX serialized object is deserialized instead of deserializing the object to a domain class. Preventing deserialization saves both time and memory and does not require you deserialize the object to the domain class.
-
-This configuration can be done in cache.xml by setting the attribute `read-serialized` to `true` on the &lt;pdx&gt;element. Or it can be done programmatically using the `CacheFactory::setPdxReadSerialized(bool)` method.
-
-After this preference is configured, any time a PDX object is deserialized, it is deserialized into a `PdxInstance`.
-
-The following is a code sample of using the setField API of PdxInstance to modify fields:
-
-``` pre
-RegionPtr rptr = getHelper()->getRegion( regionNames[0] );
-CacheableKeyPtr keyport = CacheableKey::create("pdxput");
-CacheableKeyPtr keyport1 = CacheableKey::create("pdxput2");
-
-PdxInstancePtr pIPtr = dynCast<PdxInstancePtr>(rptr->get(keyport));
-LOG( "modifyPdxInstance get complete." );
-
-WritablePdxInstancePtr wpiPtr( pIPtr->createWriter());
-
-ASSERT(pIPtr != NULLPTR, "pIPtr != NULLPTR expected");   
-int val = 0;
-int newVal = 0;
-ASSERT(pIPtr->hasField("m_int32") == true, "m_id1 = true expected");
-pIPtr->getField("m_int32", val);
-wpiPtr->setField("m_int32", val + 1);
-rptr->put(keyport, wpiPtr);  
-PdxInstancePtr newPiPtr = dynCast<PdxInstancePtr>(rptr->get(keyport));  
-ASSERT(newPiPtr->hasField("m_int32") == true, "m_int32 = true expected");
-newPiPtr->getField("m_int32", newVal);  
-ASSERT(val + 1 == newVal, "val + 1 == newVal expected");  
-ASSERT((*pIPtr.ptr() == *newPiPtr.ptr()) == false, 
-       "PdxInstance should not be equal");
-```
-
-In addition to field access, `PdxInstance` also supports field modification using the `setField(fieldName)` method. The `setField` method has copy-on-write semantics. So for the modifications to be stored in the cache, the `PdxInstance` must be put into a region after `setField` has been called one or more times.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/using_pdxinstancefactory.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/using_pdxinstancefactory.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/using_pdxinstancefactory.html.md.erb
deleted file mode 100644
index 80e55f0..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/using_pdxinstancefactory.html.md.erb
+++ /dev/null
@@ -1,117 +0,0 @@
----
-title:  Using PdxInstanceFactory to Create PdxInstances
----
-
-You can use the `PdxInstanceFactory` API to create a `PdxInstance` from raw data when the domain class is not available on the server.
-
-Creating a `PdxInstance` can be particularly useful when you need an instance of a domain class for plug-in code such as a function or a loader. If you have raw data for the domain object (the class name and each field's type and data), then you can explicitly create a `PdxInstance`. The `PdxInstanceFactory` API is very similar to the `PdxWriter` API except that after writing each field, you need to call the create method which returns the created `PdxInstance`.
-
-## PdxInstance Example
-
-The following is a code example of creating a `PdxInstance`.
-
-``` pre
-class Person
-{
-private:
-  char* m_name;    
-  int m_id;
-  int m_age;
-
-public:
-  Person() { }
-
-  Person(char* name, int id, int age)
-  {
-    m_name = name;
-    m_id = id;
-    m_age = age;
-  }
-
-  char* getName() const
-  {
-    return m_name;
-  }
-  int getID()
-  {
-    return m_id;
-  }
-  int getAge()
-  {
-    return m_age;
-  }
-};
-
-int main(int argc, char ** argv)
-{
-  try
-  {
-    // Create a Cache.
-    CacheFactoryPtr cacheFactory = CacheFactory::createCacheFactory();
-
-    CachePtr cachePtr = cacheFactory->set("cache-xml-file", 
-                "XMLs/clientPdxInstance.xml")->create();          
-
-    LOGINFO("Created the GemFire Cache");
-
-    // Get the example Region from the Cache which is declared in the 
-    // Cache XML file.
-    RegionPtr regionPtr = cachePtr->getRegion("Person");       
-
-    LOGINFO("Obtained the Region from the Cache.");
- 
-    Person* p = new Person("Jack", 7, 21);
-
-    //PdxInstanceFactory for Person class
-    PdxInstanceFactoryPtr pif = cachePtr->createPdxInstanceFactory("Person");
-    LOGINFO("Created PdxInstanceFactory for Person class");
-
-    pif->writeString("m_name", p->getName());
-    pif->writeInt("m_id", p->getID());
-    pif->markIdentityField("m_id");
-    pif->writeInt("m_age", p->getAge());
-
-    PdxInstancePtr pdxInstance = pif->create();
-
-    LOGINFO("Created PdxInstance for Person class");
-
-    regionPtr->put("Key1", pdxInstance);    
-
-    LOGINFO("Populated PdxInstance Object");
-
-    PdxInstancePtr retPdxInstance = regionPtr->get("Key1");
-
-    LOGINFO("Got PdxInstance Object");
-
-    int id = 0;
-    retPdxInstance->getField("m_id", id);
-
-    int age = 0;
-    retPdxInstance->getField("m_age", age);
-
-    char* name = NULL;
-    retPdxInstance->getField("m_name", &name);
-
-    if (id == p->getID()&& age == p->getAge() && strcmp(name, p->getName()) == 0
-      && retPdxInstance->isIdentityField("m_id") == true)
-      LOGINFO("PdxInstance returns all fields value expected");
-    else
-      LOGINFO("PdxInstance doesn't returns all fields value expected");
-
-    delete p;
-
-    // Close the Cache.
-    cachePtr->close();
-
-    LOGINFO("Closed the Cache");
-
-  }
-  // An exception should not occur
-  catch(const Exception & gemfireExcp)
-  {    
-    LOGERROR("PdxInstance Exception: %s", gemfireExcp.getMessage());
-  }
-}
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/cpp-caching-api/using_pdxserializer.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/cpp-caching-api/using_pdxserializer.html.md.erb b/geode-docs/nativeclient/cpp-caching-api/using_pdxserializer.html.md.erb
deleted file mode 100644
index 475a6e0..0000000
--- a/geode-docs/nativeclient/cpp-caching-api/using_pdxserializer.html.md.erb
+++ /dev/null
@@ -1,102 +0,0 @@
----
-title:  Serialize Your Domain Objects with PdxSerializer and PdxWrapper
----
-
-For domain objects that you cannot or do not want to modify, use the `PdxSerializer` and the `PdxWrapper` classes to serialize and deserialize the object's fields.
-
-You register a `PdxSerializer` implementation for the entire cache, programming it for all of the domain objects that you handle in this way. This way you do not have to implement the `PdxSerializable` interface for each domain class.
-
-The `PdxSerializer` allows domain classes to be serialized and deserialized as PDXs without modification of the domain class. It requires only that the domain class have a constructor accessible to the `PdxSerializer` to create an instance. The domain class will be held in a wrapper class, `PdxWrapper`.
-
-`PdxSerializer` has the following methods:
-
--   The `toData` method returns true if the PdxSerializer was able to serialize the user object, false if not.
--   If the PdxSerializer was able to deserialize the object, the `fromData` method returns a void pointer to the user object to be wrapped in a `PdxWrapper`.
-
-When you later reference the user object, use the `PdxWrapper` class. `PdxWrapper` holds a shared reference to the object in the local cache and is used during serialization and deserialization. `PdxWrapper` acts as a container for the user domain object and needs to wrap every instance of the object that uses a registered `PdxSerializer`. The object instance will not be modified. In addition, when using `PdxWrapper`, you will need to provide a function pointer to a "de-allocator", which will delete the user object when the reference is no longer held.
-
-The following code example defines a user object and a `PdxSerializer`. It then registers the new `PdxSerializer` and then uses `PdxWrapper` to put the object in a region and retrieve the object from a region.
-
-``` pre
-class UserClass
-{
-public:
-
-  int m_int;
-  string m_string;
-
-  UserClass(int intVal, string stringVal)
-  {
-    m_int = intVal;
-    m_string = stringVal;
-  }
-
-  static void deallocate(void * object, char * className)
-  {
-    if (strcmp(className, "com.example.UserClass") == 0) {
-      UserClass * userObject = reinterpret_cast<UserClass*>(object);
-      delete userObject;
-    }
-  }
-};
-
-class UserPdxSerializer : public PdxSerializer
-{
-public:
-
-  void* fromData(char * className, PdxReaderPtr pdxReader)
-  {
-    if (strcmp(className, "com.example.UserClass") != 0) {
-      return NULL;
-    }
-
-    int intVal = pdxReader->readInt("m_int");
-    string stringVal = pdxReader->readString("m_string");
-
-    UserClass * userObject = new UserClass(intVal, stringVal);
-
-    return (void*) userObject;
-  }
-
-  bool toData(void * object, char * className, PdxWriterPtr pdxWriter)
-  {
-    if (strcmp(className, "com.example.UserClass") != 0) {
-      return false;
-    }
-
-    UserClass * userObject = reinterpret_cast<UserClass*>(object);
-
-    pdxWriter->writeInt("m_int", userObject->m_int);
-    pdxWriter->writeString("m_string", userObject->m_string);
-
-    return true;
-  }
-
-  UserDeallocator getDeallocator(char * className)
-  {
-    if (strcmp(className, "com.example.UserClass") == 0) {
-      return UserClass::deallocate;
-    } else {
-      return NULL;
-    }
-  }
-};
-
-// Register a user PDX serializer
-
-Serializable::registerPdxSerializer(new UserPdxSerializer);
-
-// Put a user object into a region.
-
-UserClass * userObject = new UserClass(123, "someValue");
-PdxWrapperPtr pdxWrapper = new PdxWrapper(userObject, "com.example.UserClass", 
-                                          UserClass::deallocate);
-region->put("key", pdxWrapper);
-
-// Get a user object from a region.
-
-pdxWrapper = dynCast<PdxWrapperPtr>(region->get("key"));
-UserClass * userObject = reinterpret_cast<UserClass*>(pdxWrapper->getObject());
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/delta-propagation/delta-propagation-api.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/delta-propagation/delta-propagation-api.html.md.erb b/geode-docs/nativeclient/delta-propagation/delta-propagation-api.html.md.erb
deleted file mode 100644
index 5ff7781..0000000
--- a/geode-docs/nativeclient/delta-propagation/delta-propagation-api.html.md.erb
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title:  Delta Propagation API
----
-
-Delta propagation uses configuration properties and a simple API to send and receive deltas.
-
-## <a id="delta-propagation-api__section_5787FD2053544B2AB6E7DCC3CEC14204" class="no-quick-link"></a>.NET
-
-Your application class must implement:
-
--   `GemStone::GemFire::Cache::IGFDelta `
--   `GemStone::GemFire::Cache::IGFSerializable `
-
-`IGFDelta` provides the methods, `HasDelta`, `ToDelta`, and `FromDelta`, which you program to report on, send, and receive deltas for your class.
-
-Additionally, for cloning, your class must implement the standard .NET `IClonable` interface and its `Clone` method. See [Cloning](delta-propagation-properties.html#delta-propagation-properties).
-
-## <a id="delta-propagation-api__section_F3F89A01A4084D3092B88D16E43D8B37" class="no-quick-link"></a>C++
-
-Your application must publicly derive from:
-
--   `gemfire::Delta `
--   `gemfire::Cacheable `
-
-`Delta` provides the methods, `hasDelta`, `toDelta`, `fromDelta`, which you program to report on, send, and receive deltas for your class.
-
-For cloning, use the `clone` method provided in the Delta interface. See [Cloning](delta-propagation-properties.html#delta-propagation-properties).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/delta-propagation/delta-propagation-examples.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/delta-propagation/delta-propagation-examples.html.md.erb b/geode-docs/nativeclient/delta-propagation/delta-propagation-examples.html.md.erb
deleted file mode 100644
index bd84047..0000000
--- a/geode-docs/nativeclient/delta-propagation/delta-propagation-examples.html.md.erb
+++ /dev/null
@@ -1,335 +0,0 @@
----
-title:  Examples of Delta Propagation
----
-
-Examples describe delta propagation operations and provide implementation code for .NET and C++.
-
-## <a id="examples__section_B94DCD0A4B4142A88166E5011475AB7C" class="no-quick-link"></a>Delta Propagation in the Client/Server
-
-In this example, the feeder client is connected to the first server, and the receiver client is connected to the second. The servers are peers to each other.
-
-<a id="examples__fig_09CF542F4AB2471FB67287A05305DAA2"></a>
-<span class="figtitleprefix">Figure: </span>Example of Delta Propagation in the Client/Server
-
-<img src="../common/images/delta-propagation-in-client-server.gif" id="examples__image_6A18D7CE07C243D6B03C5EE82786C36C" class="image" />
-
-These are the main operations shown in the example:
-
-1.  In the Feeder client, the application updates the entry object and puts the entry. In response to the `put`, Geode calls `hasDelta`, which returns true.
-2.  Geode calls `toDelta` and forwards the extracted delta to the server. If `hasDelta` returned false, Geode would distribute the full entry value.
-3.  In Server1, Geode applies the delta to the cache, distributes the received delta to the server\u2019s peers, and forwards it to any other clients with interest in the entry (there are no other clients to Server1 in this example).
-4.  In Server2, Geode applies the delta to the cache and forwards it to its interested clients, which in this case is just Receiver client.
-
-## <a id="examples__section_C6CB9DB1EB684CD48A38002EF59E54F0" class="no-quick-link"></a>Client Example Files
-
-These example files, from the product `quickstart` examples, show the basic approach to programming a delta propagation implementation for an entry value object, named `DeltaExample` in this example.
-
-**XML file used for the examples**
-
-``` pre
-<cache>
-  <region name="root" refid="CACHING_PROXY">
-    <region-attributes cloning-enabled="true" pool-name="examplePool"/>
-  </region>
-  <pool name="examplePool" subscription-enabled="true" server-group="ServerGroup1">
-    <locator host="localhost" port="34756"/>
-  </pool>
-</cache>
-```
-
-**Delta Example Implementation (C\# .NET)**
-
-``` pre
-using System;
-using GemStone.GemFire.Cache;
-
-namespace GemStone.GemFire.Cache.QuickStart
-{
-  public class DeltaExample : IGFDelta, IGFSerializable, ICloneable
-    {
-      // data members
-      private Int32 m_field1;
-      private Int32 m_field2;
-      private Int32 m_field3;
- 
-      // delta indicators
-      private bool m_f1set;
-      private bool m_f2set;
-      private bool m_f3set;
- 
-      public DeltaExample(Int32 field1, Int32 field2, Int32 field3)
-      {
-        m_field1 = field1;
-        m_field2 = field2;
-        m_field3 = field3;
-        reset();
-      }
-
-      public DeltaExample()
-      {
-        reset();
-      }
-
-      public DeltaExample(DeltaExample copy)
-      {
-        m_field1 = copy.m_field1;
-        m_field2 = copy.m_field2;
-        m_field3 = copy.m_field3;
-        reset();
-      }
- 
-      private void reset()
-      {
-        m_f1set = false;
-        m_f2set = false;
-        m_f3set = false;
-      }
-
-      public Int32 getField1()
-      {
-        return m_field1;
-      }
-      // REPEAT FOR OTHER FIELDS
- 
-      public void setField1(Int32 val)
-      {
-        lock(this)
-        {
-          m_field1 = val;
-          m_f1set = true;
-        }
-      }
-      // REPEAT FOR OTHER FIELDS
- 
-      public bool HasDelta()
-      {
-        return m_f1set || m_f2set || m_f3set;
-      }
-
-      public void ToDelta(DataOutput DataOut)
-      {
-        lock(this)
-        {
-          DataOut.WriteBoolean(m_f1set);
-          if (m_f1set)
-            {
-              DataOut.WriteInt32(m_field1);
-            }
-          // REPEAT FOR OTHER FIELDS
- 
-          reset();
-        }
-      }
-
-      public void FromDelta(DataInput DataIn)
-      {
-        lock(this)
-        {
-          m_f1set = DataIn.ReadBoolean();
-          if (m_f1set)
-            {
-              m_field1 = DataIn.ReadInt32();
-            }
-          // REPEAT FOR OTHER FIELDS
- 
-        }
-      }
-
-      public void ToData(DataOutput DataOut)
-      {
-        DataOut.WriteInt32(m_field1);
-        DataOut.WriteInt32(m_field2);
-        DataOut.WriteInt32(m_field3);
-      }
-
-      public IGFSerializable FromData(DataInput DataIn)
-      {
-        m_field1 = DataIn.ReadInt32();
-        m_field2 = DataIn.ReadInt32();
-        m_field3 = DataIn.ReadInt32();
-        return this;
-      }
-
-      public UInt32 ClassId
-      {
-        get
-          {
-            return 0x02;
-          }
-      }
-      public UInt32 ObjectSize
-      {
-        get
-          {
-            UInt32 objectSize = 0;
-            return objectSize;
-          }
-      }
- 
-      public static IGFSerializable create()
-      {
-        return new DeltaExample();
-      }
-
-      public Object Clone()
-      {
-        return new DeltaExample(this);
-      }
-    }
-}
-```
-
-**Delta Example Implementation (C++)**
-
-``` pre
-#ifndef __Delta_Example__
-#define __Delta_Example__
-
-#include <gfcpp/GemfireCppCache.hpp>
-
-using namespace gemfire;
-
-class DeltaExample: public Cacheable, public Delta
-{
-
-private:
-
-  // data members
-  int32_t m_field1;
-  int32_t m_field2;
-  int32_t m_field3;
-
-  // delta indicators
-  mutable bool m_f1set;
-  mutable bool m_f2set;
-  mutable bool m_f3set;
-
-public:
-
-  DeltaExample(int32_t field1, int32_t field2, int32_t field3) :
-    m_field1(field1), m_field2(field2), m_field3(field3)
-  {
-    reset();
-  }
-
-  DeltaExample()
-  {
-    reset();
-  }
-
-  DeltaExample(DeltaExample * copy)
-  {
-    m_field1 = copy->m_field1;
-    m_field2 = copy->m_field2;
-    m_field3 = copy->m_field3;
-    reset();
-  }
-
-  void reset() const
-  {
-    m_f1set = false;
-    m_f2set = false;
-    m_f3set = false;
-  }
-
-  int getField1()
-  {
-    return m_field1;
-  }
-  // REPEAT FOR OTHER FIELDS
-
-  void setField1(int val)
-  {
-    lock();
-    m_field1 = val;
-    m_f1set = true;
-    unlock();
-  }
-  // REPEAT FOR OTHER FIELDS
-
-  virtual bool hasDelta()
-  {
-    return m_f1set || m_f2set || m_f3set;
-  }
-
-  virtual void toDelta(DataOutput& out) const
-  {
-    lock();
-
-    out.writeBoolean(m_f1set);
-    if (m_f1set)
-      {
-        out.writeInt(m_field1);
-      }
-    // REPEAT FOR OTHER FIELDS
-
-    reset();
-
-    unlock();
-  }
-
-  virtual void fromDelta(DataInput& in)
-  {
-    lock();
-
-    in.readBoolean(&m_f1set);
-    if (m_f1set)
-      {
-        in.readInt(&m_field1);
-      }
-    // REPEAT FOR OTHER FIELDS
-
-    reset();
-
-    unlock();
-  }
-
-  virtual void toData(DataOutput& output) const
-  {
-    lock();
-    output.writeInt(m_field1);
-    output.writeInt(m_field2);
-    output.writeInt(m_field3);
-    unlock();
-  }
-
-  virtual Serializable* fromData(DataInput& input)
-  {
-    lock();
-    input.readInt(&m_field1);
-    input.readInt(&m_field2);
-    input.readInt(&m_field3);
-    unlock();
-    return this;
-  }
-
-  virtual int32_t classId() const
-  {
-    return 2;
-  }
-
-  virtual uint32_t objectSize() const
-  {
-    return 0;
-  }
-
-  DeltaPtr clone()
-  {
-    return DeltaPtr(new DeltaExample(this));
-  }
-
-  virtual ~DeltaExample()
-  {
-  }
-
-  static Serializable* create()
-  {
-    return new DeltaExample();
-  }
-
-  void lock() const { /* add platform dependent synchronization code here */ }
-
-  void unlock() const { /* add platform dependent synchronization code here */ }
-};
-#endif
-```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/delta-propagation/delta-propagation-properties.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/delta-propagation/delta-propagation-properties.html.md.erb b/geode-docs/nativeclient/delta-propagation/delta-propagation-properties.html.md.erb
deleted file mode 100644
index 3738402..0000000
--- a/geode-docs/nativeclient/delta-propagation/delta-propagation-properties.html.md.erb
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title:  Cloning
----
-
-With cloning enabled, Geode does a deep copy of the object, using serialization. You can improve performance by implementing the appropriate `clone` method for your API, making a deep copy of anything to which a delta may be applied.
-
-The goal is to significantly reduce the overhead of copying the object while still retaining the isolation needed for your deltas.
-
-You configure delta propagation on the server side as well as client. For information on the server and delta propagation, see [Delta Propagation](../../developing/delta_propagation/chapter_overview.html).
-
-## <a id="delta-propagation-properties__section_4096D0697BD24A04867B8555B3D1843F" class="no-quick-link"></a>cloning-enabled
-
-The `cloning-enabled` property is a region attributes boolean, configured in the `cache.xml`, that affects how `fromDelta` applies deltas to the local client cache. When `true`, the updates are applied to a clone of the value and then the clone is saved to the cache. When `false`, the value is modified in place in the cache. The default value is `false`.
-
-Cloning can be expensive, but it ensures that the new object is fully initialized with the delta before any application code sees it.
-
-Without cloning:
-
--   It is possible for application code to read the entry value as it is being modified, possibly seeing the value in an intermediate, inconsistent state, with just part of the delta applied. You may choose to resolve this issue by having your application code synchronize on reads and writes.
--   Geode loses any reference to the old value because the old value is transformed in place into the new value. Because of this, your `CacheListener` sees the same new value returned for `EntryEvent.getOldValue` and `EntryEvent.getNewValue`.
--   Exceptions thrown from `fromDelta` may leave your cache in an inconsistent state. Without cloning, any interruption of the delta application could leave you with some fields in your cached object changed and others unchanged. If you do not use cloning, keep this in mind when you program your error handling in your `fromDelta` implementation.
-
-## Enabling Cloning in cache.xml
-
-``` pre
-<region name="exampleRegion">
-  <region-attributes refid="CACHING_PROXY" cloning-enabled="true"
-     pool-name="examplePool"/>
-</region>
-```
-
-## Enabling Cloning (C++)
-
-``` pre
-RegionFactoryPtr regionFactory =
-    cachePtr->createRegionFactory(CACHING_PROXY);
-RegionPtr regionPtr = regionFactory
-    ->setCloningEnabled(true)
-    ->create("myRegion");
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/381d0faa/geode-docs/nativeclient/delta-propagation/delta-propagation.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/delta-propagation/delta-propagation.html.md.erb b/geode-docs/nativeclient/delta-propagation/delta-propagation.html.md.erb
deleted file mode 100644
index 8b714db..0000000
--- a/geode-docs/nativeclient/delta-propagation/delta-propagation.html.md.erb
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title:  Delta Propagation
----
-
-*Delta Propagation* describes how deltas (updates to data) are propagated and how to implement delta propagation. It also analyzes performance limitations.
-
-In most distributed data management systems, stored data is created once and updated frequently. Updates are sent to other members for event propagation, redundancy management, and cache consistency in general. Tracking only the changes in an updated object and sending only the updates, or deltas, mean lower network transmission costs and lower object serialization/deserialization costs. Generally, the larger your objects and the smaller the deltas, the greater the performance benefits of delta propagation. Partitioned regions generally benefit more with higher redundancy levels.
-
--   **[How Delta Propagation Works](../../nativeclient/delta-propagation/how-delta-propagation-works.html)**
-
-    Geode propagates object deltas using methods that you program on the client side. The methods are in the delta interface, which you implement in your cached objects\u2019 classes.
-
--   **[Delta Propagation API](../../nativeclient/delta-propagation/delta-propagation-api.html)**
-
-    Delta propagation uses configuration properties and a simple API to send and receive deltas.
-
--   **[Cloning](../../nativeclient/delta-propagation/delta-propagation-properties.html)**
-
-    With cloning enabled, Geode does a deep copy of the object, using serialization. You can improve performance by implementing the appropriate `clone` method for your API, making a deep copy of anything to which a delta may be applied.
-
--   **[Implementing Delta Propagation](../../nativeclient/delta-propagation/implementing-delta-propagation.html)**
-
-    By default, delta propagation is enabled in your distributed system and is used for objects that implement the delta interface. You program the client-side methods to extract delta information for your entries and to apply received delta information.
-
--   **[Exceptions and Limitations](../../nativeclient/delta-propagation/performance.html)**
-
--   **[Examples of Delta Propagation](../../nativeclient/delta-propagation/delta-propagation-examples.html)**
-
-    Examples describe delta propagation operations and provide implementation code for C\# .NET and C++.
-
-



[32/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/list_of_event_handlers_and_events.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/list_of_event_handlers_and_events.html.md.erb b/geode-docs/developing/events/list_of_event_handlers_and_events.html.md.erb
new file mode 100644
index 0000000..5f63db1
--- /dev/null
+++ b/geode-docs/developing/events/list_of_event_handlers_and_events.html.md.erb
@@ -0,0 +1,164 @@
+---
+title:  List of Event Handlers and Events
+---
+
+Geode provides many types of events and event handlers to help you manage your different data and application needs.
+
+## <a id="event_handlers_and_events__section_E7B7502F673B43E794884D0F6BF537CF" class="no-quick-link"></a>Event Handlers
+
+Use either cache handlers or membership handlers in any single application. Do not use both. The event handlers in this table are cache handlers unless otherwise noted.
+
+<table>
+<colgroup>
+<col width="25%" />
+<col width="25%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Handler API</th>
+<th>Events received</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><code class="ph codeph">AsyncEventListener</code></td>
+<td><code class="ph codeph">AsyncEvent</code></td>
+<td><p>Tracks changes in a region for write-behind processing. Extends th <code class="ph codeph">CacheCallback</code> interface. You install a write-back cache listener to an <code class="ph codeph">AsyncEventQueue</code> instance. You can then add the <code class="ph codeph">AsyncEventQueue</code> instance to one or more regions for write-behind processing. See [Implementing an AsyncEventListener for Write-Behind Cache Event Handling](implementing_write_behind_event_handler.html#implementing_write_behind_cache_event_handling).</p></td>
+</tr>
+<tr>
+<td><code class="ph codeph">CacheCallback</code></td>
+<td>�</td>
+<td>Superinterface of all cache event listeners. Functions only to clean up resources that the callback allocated.</td>
+</tr>
+<tr>
+<td><code class="ph codeph">CacheListener</code></td>
+<td><code class="ph codeph">RegionEvent</code>, <code class="ph codeph">EntryEvent</code></td>
+<td>Tracks changes to region and its data entries. Responds synchronously. Extends <code class="ph codeph">CacheCallback</code> interface. Installed in region. Receives only local cache events. Install one in every member where you want the events handled by this listener. In a partitioned region, the cache listener only fires in the primary data store. Listeners on secondaries are not fired.</td>
+</tr>
+<tr>
+<td><code class="ph codeph">CacheWriter</code></td>
+<td><code class="ph codeph">RegionEvent</code>, <code class="ph codeph">EntryEvent</code></td>
+<td>Receives events for <em>pending</em> changes to the region and its data entries in this member or one of its peers. Has the ability to abort the operations in question. Extends <code class="ph codeph">CacheCallback</code> interface. Installed in region. Receives events from anywhere in the distributed region, so you can install one in one member for the entire distributed region. Receives events only in primary data store in partitioned regions, so install one in every data store.</td>
+</tr>
+<tr>
+<td><code class="ph codeph">ClientMembershipListener</code>
+<p>(org.apache.geode.management .membership.ClientMembershipListener)</p></td>
+<td><code class="ph codeph">ClientMembershipEvent</code></td>
+<td>One of the interfaces that replaces the deprecated Admin APIs. You can use the ClientMembershipListener to receive membership events only about clients. This listener's callback methods are invoked when this process detects connection changes to clients. Callback methods include <code class="ph codeph">memberCrashed</code>, <code class="ph codeph">memberJoined</code>, <code class="ph codeph">memberLeft</code> (graceful exit).</td>
+</tr>
+<tr>
+<td><code class="ph codeph">CqListener</code></td>
+<td><code class="ph codeph">CqEvent</code></td>
+<td>Receives events from the server cache that satisfy a client-specified query. Extends <code class="ph codeph">CacheCallback</code> interface. Installed in the client inside a <code class="ph codeph">CqQuery</code>.</td>
+</tr>
+<tr>
+<td><code class="ph codeph">GatewayConflictResolver</code></td>
+<td><code class="ph codeph">TimestampedEntryEvent</code></td>
+<td>Decides whether to apply a potentially conflicting event to a region that is distributed over a WAN configuration. This event handler is called only when the distributed system ID of an update event is different from the ID that last updated the region entry.</td>
+</tr>
+<tr>
+<td><code class="ph codeph">MembershipListener</code>
+<p>(org.apache.geode.management .membership.MembershipListener)</p></td>
+<td><code class="ph codeph">MembershipEvent</code></td>
+<td>Use this interface to receive membership events only about peers. This listener's callback methods are invoked when peer members join or leave the Geode distributed system. Callback methods include <code class="ph codeph">memberCrashed</code>, <code class="ph codeph">memberJoined</code>, and <code class="ph codeph">memberLeft</code> (graceful exit).</td>
+</tr>
+<tr>
+<td><code class="ph codeph">RegionMembershipListener</code></td>
+<td><code class="ph codeph">RegionEvent</code></td>
+<td>Provides after-event notification when a region with the same name has been created in another member and when other members hosting the region join or leave the distributed system. Extends <code class="ph codeph">CacheCallback</code> and <code class="ph codeph">CacheListener</code>. Installed in region as a <code class="ph codeph">CacheListener</code>.</td>
+</tr>
+<tr>
+<td><code class="ph codeph">TransactionListener</code></td>
+<td><code class="ph codeph">TransactionEvent</code> with embedded list of <code class="ph codeph">EntryEvent</code></td>
+<td>Tracks the outcome of transactions and changes to data entries in the transaction.
+<div class="note note">
+**Note:**
+<p>Multiple transactions on the same cache can cause concurrent invocation of <code class="ph codeph">TransactionListener</code> methods, so implement methods that do the appropriate synchronizing of the multiple threads for thread-safe operation.</p>
+</div>
+Extends <code class="ph codeph">CacheCallback</code> interface. Installed in cache using transaction manager. Works with region-level listeners if needed.</td>
+</tr>
+<tr>
+<td><code class="ph codeph">TransactionWriter</code></td>
+<td><code class="ph codeph">TransactionEvent</code> with embedded list of <code class="ph codeph">EntryEvent</code></td>
+<td>Receives events for <em>pending</em> transaction commits. Has the ability to abort the transaction. Extends <code class="ph codeph">CacheCallback</code> interface. Installed in cache using transaction manager. At most one writer is called per transaction. Install a writer in every transaction host.</td>
+</tr>
+<tr>
+<td><code class="ph codeph">UniversalMembershipListenerAdapter</code>
+<p>(org.apache.geode .management.membership .UniversalMembershipListenerAdapter)</p></td>
+<td><code class="ph codeph">MembershipEvent</code> and <code class="ph codeph">ClientMembershipEvent</code></td>
+<td>One of the interfaces that replaces the deprecated Admin APIs. Provides a wrapper for MembershipListener and ClientMembershipListener callbacks for both clients and peers.</td>
+</tr>
+</tbody>
+</table>
+
+## <a id="event_handlers_and_events__section_48C81FE4C1934DBBB287925A6F7A473D" class="no-quick-link"></a>Events
+
+The events in this table are cache events unless otherwise noted.
+
+<table>
+<colgroup>
+<col width="25%" />
+<col width="25%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr>
+<th>Event</th>
+<th>Passed to handler ...</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><code class="ph codeph">AsyncEvent</code></td>
+<td><code class="ph codeph">AsyncEventListener</code></td>
+<td>Provides information about a single event in the cache for asynchronous, write-behind processing.</td>
+</tr>
+<tr>
+<td><code class="ph codeph">CacheEvent</code></td>
+<td> </td>
+<td>Superinterface to <code class="ph codeph">RegionEvent</code> and <code class="ph codeph">EntryEvent</code>. This defines common event methods, and contains data needed to diagnose the circumstances of the event, including a description of the operation being performed, information about where the event originated, and any callback argument passed to the method that generated this event.</td>
+</tr>
+<tr>
+<td><code class="ph codeph">ClientMembershipEvent</code></td>
+<td><code class="ph codeph">ClientMembershipListener</code></td>
+<td>An event delivered to a <code class="ph codeph">ClientMembershipListener</code> when this process detects connection changes to servers or clients.</td>
+</tr>
+<tr>
+<td><code class="ph codeph">CqEvent</code></td>
+<td><code class="ph codeph">CqListener</code></td>
+<td>Provides information about a change to the results of a continuous query running on a server on behalf of a client. <code class="ph codeph">CqEvent</code>s are processed on the client.</td>
+</tr>
+<tr>
+<td><code class="ph codeph">EntryEvent</code></td>
+<td><code class="ph codeph">CacheListener</code>, <code class="ph codeph">CacheWriter</code>, <code class="ph codeph">TransactionListener</code> (inside the <code class="ph codeph">TransactionEvent</code>)</td>
+<td>Extends <code class="ph codeph">CacheEvent</code> for entry events. Contains information about an event affecting a data entry in the cache. The information includes the key, the value before this event, and the value after this event. <code class="ph codeph">EntryEvent.getNewValue</code> returns the current value of the data entry. <code class="ph codeph">EntryEvent.getOldValue</code> returns the value before this event if it is available. For a partitioned region, returns the old value if the local cache holds the primary copy of the entry. <code class="ph codeph">EntryEvent</code> provides the Geode transaction ID if available.
+<p>You can retrieve serialized values from <code class="ph codeph">EntryEvent</code> using the <code class="ph codeph">getSerialized</code>* methods. This is useful if you get values from one region\u2019s events just to put them into a separate cache region. There is no counterpart <code class="ph codeph">put</code> function as the put recognizes that the value is serialized and bypasses the serialization step.</p></td>
+</tr>
+<tr>
+<td><code class="ph codeph">MembershipEvent</code> (membership event)</td>
+<td><code class="ph codeph">MembershipListener</code></td>
+<td><p>An event that describes the member that originated this event. Instances of this are delivered to a <code class="ph codeph">MembershipListener</code> when a member has joined or left the distributed system.</p></td>
+</tr>
+<tr>
+<td><code class="ph codeph">RegionEvent</code></td>
+<td><code class="ph codeph">CacheListener</code>, <code class="ph codeph">CacheWriter</code>, <code class="ph codeph">RegionMembershipListener</code></td>
+<td>Extends <code class="ph codeph">CacheEvent</code> for region events. Provides information about operations that affect the whole region, such as reinitialization of the region after being destroyed.</td>
+</tr>
+<tr>
+<td><code class="ph codeph">TimestampedEntryEvent</code></td>
+<td><code class="ph codeph">GatewayConflictResolver</code></td>
+<td>Extends <code class="ph codeph">EntryEvent</code> to include a timestamp and distributed system ID associated with the event. The conflict resolver can compare the timestamp and ID in the event with the values stored in the entry to decide whether the local system should apply the potentially conflicting event.</td>
+</tr>
+<tr>
+<td><code class="ph codeph">TransactionEvent</code></td>
+<td><code class="ph codeph">TransactionListener</code>, <code class="ph codeph">TransactionWriter</code></td>
+<td>Describes the work done in a transaction. This event may be for a pending or committed transaction, or for the work abandoned by an explicit rollback or failed commit. The work is represented by an ordered list of <code class="ph codeph">EntryEvent</code> instances. The entry events are listed in the order in which the operations were performed in the transaction.
+<p>As the transaction operations are performed, the entry events are conflated, with only the last event for each entry remaining in the list. So if entry A is modified, then entry B, then entry A, the list will contain the event for entry B followed by the second event for entry A.</p></td>
+</tr>
+</tbody>
+</table>
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/resolving_multisite_conflicts.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/resolving_multisite_conflicts.html.md.erb b/geode-docs/developing/events/resolving_multisite_conflicts.html.md.erb
new file mode 100644
index 0000000..31fe7a3
--- /dev/null
+++ b/geode-docs/developing/events/resolving_multisite_conflicts.html.md.erb
@@ -0,0 +1,63 @@
+---
+title:  Resolving Conflicting Events
+---
+
+You can optionally create a `GatewayConflictResolver` cache plug-in to decide whether a potentially conflicting event that was delivered from another site should be applied to the local cache.
+
+By default, all regions perform consistency checks when a member applies an update received either from another cluster member or from a remote cluster over the WAN. The default consistency checking for WAN events is described in [How Consistency Is Achieved in WAN Deployments](../distributed_regions/how_region_versioning_works_wan.html#topic_fpy_z3h_j5).
+
+You can override the default consistency checking behavior by writing and configuring a custom `GatewayConflictResolver`. The `GatewayConflictResolver` implementation can use the timestamp and distributed system ID included in a WAN update event to determine whether or not to apply the update. For example, you may decide that updates from a particular cluster should always "win" a conflict when the timestamp difference between updates is less than some fixed period of time.
+
+## <a id="topic_E97BB68748F14987916CD1A50E4B4542__section_E20B4A8A98FD4EDAAA8C14B8059AA7F7" class="no-quick-link"></a>Implementing a GatewayConflictResolver
+
+**Note:**
+A `GatewayConflictResolver` implementation is called only for update events that could cause a conflict in the region. This corresponds to update events that have a different distributed system ID than the distributed system that last updated the region entry. If the same distributed system ID makes consecutive updates to a region entry, no conflict is possible, and the `GatewayConflictResolver` is not called.
+
+**Procedure**
+
+1.  Program the event handler:
+    1.  Create a class that implements the `GatewayConflictResolver` interface.
+    2.  If you want to declare the handler in `cache.xml`, implement the `org.apache.geode.cache.Declarable` interface as well.
+    3.  Implement the handler's `onEvent()` method to determine whether the WAN event should be allowed. `onEvent()` receives both a `TimestampedEntryEvent` and a `GatewayConflictHelper` instance. `TimestampedEntryEvent` has methods for obtaining the timestamp and distributed system ID of both the update event and the current region entry. Use methods in the `GatewayConflictHelper` to either disallow the update event (retaining the existing region entry value) or provide an alternate value.
+
+        **Example:**
+
+        ``` pre
+         public void onEvent(TimestampedEntryEvent event, GatewayConflictHelper helper) {
+            if (event.getOperation().isUpdate()) {
+              ShoppingCart oldCart = (ShoppingCart)event.getOldValue();
+              ShoppingCart newCart = (ShoppingCart)event.getNewValue();
+              oldCart.updateFromConflictingState(newCart);
+              helper.changeEventValue(oldCart);
+            }
+          }
+        ```
+
+        **Note:**
+        In order to maintain consistency in the region, your conflict resolver must always resolve two events in the same way regardless of which event it receives first.
+
+2.  Install the conflict resolver for the cache, using either the `cache.xml` file or the Java API.
+
+    **cache.xml**
+
+    ``` pre
+    <cache>
+         ... 
+        <gateway-conflict-resolver>
+          <class-name>myPackage.MyConflictResolver</class-name>
+        </gateway-conflict-resolver>
+        ...
+    </cache>
+    ```
+
+    **Java API**
+
+    ``` pre
+    // Create or obtain the cache
+    Cache cache = new CacheFactory().create();
+
+    // Create and add a conflict resolver
+    cache.setGatewayConflictResolver(new MyConflictResolver);
+    ```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/tune_client_message_tracking_timeout.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/tune_client_message_tracking_timeout.html.md.erb b/geode-docs/developing/events/tune_client_message_tracking_timeout.html.md.erb
new file mode 100644
index 0000000..0874bb7
--- /dev/null
+++ b/geode-docs/developing/events/tune_client_message_tracking_timeout.html.md.erb
@@ -0,0 +1,26 @@
+---
+title:  Tune the Client's Subscription Message Tracking Timeout
+---
+
+<a id="tune_client_message_tracking_timeout__section_C655A41D47694BDC9164E5D83C23FA7C"></a>
+If the client pool's `subscription-message-tracking-timeout` is set too low, your client will discard tracking records for live threads, increasing the likelihood of processing duplicate events from those threads.
+
+This setting is especially important in systems where it is vital to avoid or greatly minimize duplicate events. If you detect that duplicate messages are being processed by your clients, increasing the timeout may help. Setting `subscription-message-tracking-timeout` may not completely eliminate duplicate entries, but careful configuration can help minimize occurrences.
+
+Duplicates are monitored by keeping track of message sequence IDs from the source thread where the operation originated. For a long-running system, you would not want to track this information for very long periods or the information may be kept long enough for a thread ID to be recycled. If this happens, messages from a new thread may be discarded mistakenly as duplicates of messages from an old thread with the same ID. In addition, maintaining this tracking information for old threads uses memory that might be freed up for other things.
+
+To minimize duplicates and reduce the size of the message tracking list, set your client `subscription-message-tracking-timeout` higher than double the sum of these times:
+
+-   The longest time your originating threads might wait between operations
+-   For redundant servers add:
+    -   The server\u2019s `message-sync-interval`
+    -   Total time required for failover (usually 7-10 seconds, including the time to detect failure)
+
+You risk losing live thread tracking records if you set the value lower than this. This could result in your client processing duplicate event messages into its cache for the associated threads. It is worth working to set the `subscription-message-tracking-timeout` as low as you reasonably can.
+
+``` pre
+<!-- Set the tracking timeout to 70 seconds -->
+<pool name="client" subscription-enabled="true" subscription-message-tracking-timeout="70000"> 
+    ...
+</pool>
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/tune_client_server_event_messaging.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/tune_client_server_event_messaging.html.md.erb b/geode-docs/developing/events/tune_client_server_event_messaging.html.md.erb
new file mode 100644
index 0000000..59206bc
--- /dev/null
+++ b/geode-docs/developing/events/tune_client_server_event_messaging.html.md.erb
@@ -0,0 +1,20 @@
+---
+title:  Tuning Client/Server Event Messaging
+---
+
+<a id="client_server_event_messaging__section_0894E034A285456EA01D5903248F9B3B"></a>
+The server uses an asynchronous messaging queue to send events to its clients. Every event in the queue originates in an operation performed by a thread in a client, a server, or an application in the server\u2019s or some other distributed system. The event message has a unique identifier composed of the originating thread\u2019s ID combined with its member\u2019s distributed system member ID, and the sequential ID of the operation. So the event messages originating in any single thread can be grouped and ordered by time from lowest sequence ID to highest. Servers and clients track the highest sequential ID for each member thread ID.
+
+A single client thread receives and processes messages from the server, tracking received messages to make sure it does not process duplicate sends. It does this using the process IDs from originating threads.
+
+<img src="../../images_svg/tune_cs_event_messaging.svg" id="client_server_event_messaging__image_656BDF5E745F4C6D92C844C423102948" class="image" />
+
+The client\u2019s message tracking list holds the highest sequence ID of any message received for each originating thread. The list can become quite large in systems where there are many different threads coming and going and doing work on the cache. After a thread dies, its tracking entry is not needed. To avoid maintaining tracking information for threads that have died, the client expires entries that have had no activity for more than the `subscription-message-tracking-timeout`.
+
+-   **[Conflate the Server Subscription Queue](../../developing/events/conflate_server_subscription_queue.html)**
+
+-   **[Limit the Server's Subscription Queue Memory Use](../../developing/events/limit_server_subscription_queue_size.html)**
+
+-   **[Tune the Client's Subscription Message Tracking Timeout](../../developing/events/tune_client_message_tracking_timeout.html)**
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/events/writing_callbacks_that_modify_the_cache.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/events/writing_callbacks_that_modify_the_cache.html.md.erb b/geode-docs/developing/events/writing_callbacks_that_modify_the_cache.html.md.erb
new file mode 100644
index 0000000..299fd87
--- /dev/null
+++ b/geode-docs/developing/events/writing_callbacks_that_modify_the_cache.html.md.erb
@@ -0,0 +1,48 @@
+---
+title:  How to Safely Modify the Cache from an Event Handler Callback
+---
+
+Event handlers are synchronous. If you need to change the cache or perform any other distributed operation from event handler callbacks, be careful to avoid activities that might block and affect your overall system performance.
+
+## <a id="writing_callbacks_that_modify_the_cache__section_98E49363C91945DEB0A3B2FD9A209969" class="no-quick-link"></a>Operations to Avoid in Event Handlers
+
+Do not perform distributed operations of any kind directly from your event handler. Geode is a highly distributed system and many operations that may seem local invoke distributed operations.
+
+These are common distributed operations that can get you into trouble:
+
+-   Calling `Region` methods, on the event's region or any other region.
+-   Using the Geode `DistributedLockService`.
+-   Modifying region attributes.
+-   Executing a function through the Geode `FunctionService`.
+
+To be on the safe side, do not make any calls to the Geode API directly from your event handler. Make all Geode API calls from within a separate thread or executor.
+
+## <a id="writing_callbacks_that_modify_the_cache__section_78648D4177E14EA695F0B059E336137C" class="no-quick-link"></a>How to Perform Distributed Operations Based on Events
+
+If you need to use the Geode API from your handlers, make your work asynchronous to the event handler. You can spawn a separate thread or use a solution like the `java.util.concurrent.Executor` interface.
+
+This example shows a serial executor where the callback creates a `Runnable` that can be pulled off a queue and run by another object. This preserves the ordering of events.
+
+``` pre
+public void afterCreate(EntryEvent event) {
+  final Region otherRegion = cache.getRegion("/otherRegion");
+  final Object key = event.getKey();
+  final Object val = event.getNewValue();
+
+  serialExecutor.execute(new Runnable() {
+    public void run() {
+      try {
+        otherRegion.create(key, val);
+      }
+      catch (org.apache.geode.cache.RegionDestroyedException e) {
+        ...
+      }
+      catch (org.apache.geode.cache.EntryExistsException e) {
+        ...
+      }
+    }
+  });
+  }
+```
+
+For additional information on the `Executor`, see the `SerialExecutor` example on the Oracle Java web site.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/eviction/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/eviction/chapter_overview.html.md.erb b/geode-docs/developing/eviction/chapter_overview.html.md.erb
new file mode 100644
index 0000000..4920294
--- /dev/null
+++ b/geode-docs/developing/eviction/chapter_overview.html.md.erb
@@ -0,0 +1,17 @@
+---
+title:  Eviction
+---
+
+Use eviction to control data region size.
+
+<a id="eviction__section_C3409270DD794822B15E819E2276B21A"></a>
+
+-   **[How Eviction Works](../../developing/eviction/how_eviction_works.html)**
+
+    Eviction settings cause Apache Geode to work to keep a region's resource use under a specified level by removing least recently used (LRU) entries to make way for new entries.
+
+-   **[Configure Data Eviction](../../developing/eviction/configuring_data_eviction.html)**
+
+    Use eviction controllers to configure the eviction-attributes region attribute settings to keep your region within a specified limit.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/eviction/configuring_data_eviction.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/eviction/configuring_data_eviction.html.md.erb b/geode-docs/developing/eviction/configuring_data_eviction.html.md.erb
new file mode 100644
index 0000000..42f3dbd
--- /dev/null
+++ b/geode-docs/developing/eviction/configuring_data_eviction.html.md.erb
@@ -0,0 +1,71 @@
+---
+title:  Configure Data Eviction
+---
+
+Use eviction controllers to configure the eviction-attributes region attribute settings to keep your region within a specified limit.
+
+<a id="configuring_data_eviction__section_8515EC9635C342C0916EE9E6120E2AC9"></a>
+Eviction controllers monitor region and memory use and, when the limit is reached, remove older entries to make way for new data. For heap percentage, the controller used is the Geode resource manager, configured in conjunction with the JVM's garbage collector for optimum performance.
+
+Configure data eviction as follows. You do not need to perform these steps in the sequence shown.
+
+1.  Decide whether to evict based on:
+    -   Entry count (useful if your entry sizes are relatively uniform).
+    -   Total bytes used. In partitioned regions, this is set using `local-max-memory`. In non-partitioned, it is set in `eviction-attributes`.
+    -   Percentage of application heap used. This uses the Geode resource manager. When the manager determines that eviction is required, the manager orders the eviction controller to start evicting from all regions where the eviction algorithm is set to `lru-heap-percentage`. Eviction continues until the manager calls a halt. Geode evicts the least recently used entry hosted by the member for the region. See [Managing Heap and Off-heap Memory](../../managing/heap_use/heap_management.html#resource_manager).
+
+2.  Decide what action to take when the limit is reached:
+    -   Locally destroy the entry.
+    -   Overflow the entry data to disk. See [Persistence and Overflow](../storing_data_on_disk/chapter_overview.html).
+
+3.  Decide the maximum amount of data to allow in the member for the eviction measurement indicated. This is the maximum for all storage for the region in the member. For partitioned regions, this is the total for all buckets stored in the member for the region - including any secondary buckets used for redundancy.
+4.  Decide whether to program a custom sizer for your region. If you are able to provide such a class, it might be faster than the standard sizing done by Geode. Your custom class must follow the guidelines for defining custom classes and, additionally, must implement `org.apache.geode.cache.util.ObjectSizer`. See [Requirements for Using Custom Classes in Data Caching](../../basic_config/data_entries_custom_classes/using_custom_classes.html).
+
+**Note:**
+You can also configure Regions using the gfsh command-line interface, however, you cannot configure `eviction-attributes` using gfsh. See [Region Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_EF03119A40EE492984F3B6248596E1DD) and [Disk Store Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_1ACC91B493EE446E89EC7DBFBBAE00EA).
+
+Examples:
+
+``` pre
+// Create an LRU memory eviction controller with max bytes of 1000 MB
+// Use a custom class for measuring the size of each object in the region 
+<region-attributes refid="REPLICATE"> 
+  <eviction-attributes> 
+    <lru-memory-size maximum="1000" action="overflow-to-disk"> 
+      <class-name>com.myLib.MySizer</class-name> 
+      <parameter name="name"> 
+        <string>Super Sizer</string> 
+      </parameter> 
+    </lru-memory-size> 
+  </eviction-attributes> 
+  </region-attributes>
+```
+
+``` pre
+// Create a memory eviction controller on a partitioned region with max bytes of 512 MB
+<region name="demoPR">
+  <region-attributes refid="PARTITION">
+    <partition-attributes local-max-memory="512" total-num-buckets="13"/>
+    <eviction-attributes>
+       <lru-memory-size action="local-destroy"/>
+       <class-name>org.apache.geode.cache.util.ObjectSizer
+       </class-name>
+    </eviction-attributes>
+  </region-attributes>
+</region>
+            
+```
+
+``` pre
+// Configure a partitioned region for heap LRU eviction. The resource manager controls the limits. 
+<region-attributes refid="PARTITION_HEAP_LRU"> 
+</region-attributes>
+```
+
+``` pre
+Region currRegion = cache.createRegionFactory()
+    .setEvictionAttributes(EvictionAttributes.createLRUHeapAttributes(EvictionAction.LOCAL_DESTROY))
+    .create("root");
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/eviction/how_eviction_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/eviction/how_eviction_works.html.md.erb b/geode-docs/developing/eviction/how_eviction_works.html.md.erb
new file mode 100644
index 0000000..01d87d6
--- /dev/null
+++ b/geode-docs/developing/eviction/how_eviction_works.html.md.erb
@@ -0,0 +1,19 @@
+---
+title:  How Eviction Works
+---
+
+Eviction settings cause Apache Geode to work to keep a region's resource use under a specified level by removing least recently used (LRU) entries to make way for new entries.
+
+<a id="how_eviction_works__section_C3409270DD794822B15E819E2276B21A"></a>
+You configure for eviction based on entry count, percentage of available heap, and absolute memory usage. You also configure what to do when you need to evict: destroy entries or overflow them to disk. See [Persistence and Overflow](../storing_data_on_disk/chapter_overview.html).
+
+When Geode determines that adding or updating an entry would take the region over the specified level, it overflows or removes enough older entries to make room. For entry count eviction, this means a one-to-one trade of an older entry for the newer one. For the memory settings, the number of older entries that need to be removed to make space depends entirely on the relative sizes of the older and newer entries.
+
+## <a id="how_eviction_works__section_69E2AA453EDE4E088D1C3332C071AFE1" class="no-quick-link"></a>Eviction in Partitioned Regions
+
+In partitioned regions, Geode removes the oldest entry it can find *in the bucket where the new entry operation is being performed*. Geode maintains LRU entry information on a bucket-by-bucket bases, as the cost of maintaining information across the partitioned region would be too great a performance hit.
+
+-   For memory and entry count eviction, LRU eviction is done in the bucket where the new entry operation is being performed until the overall size of the combined buckets in the member has dropped enough to perform the operation without going over the limit.
+-   For heap eviction, each partitioned region bucket is treated as if it were a separate region, with each eviction action only considering the LRU for the bucket, and not the partitioned region as a whole.
+
+Because of this, eviction in partitioned regions may leave older entries for the region in other buckets in the local data store as well as in other stores in the distributed system. It may also leave entries in a primary copy that it evicts from a secondary copy or vice-versa.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/expiration/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/expiration/chapter_overview.html.md.erb b/geode-docs/developing/expiration/chapter_overview.html.md.erb
new file mode 100644
index 0000000..31ad4b2
--- /dev/null
+++ b/geode-docs/developing/expiration/chapter_overview.html.md.erb
@@ -0,0 +1,15 @@
+---
+title:  Expiration
+---
+
+Use expiration to keep data current by removing stale entries. You can also use it to remove entries you are not using so your region uses less space. Expired entries are reloaded the next time they are requested.
+
+-   **[How Expiration Works](../../developing/expiration/how_expiration_works.html)**
+
+    Expiration removes old entries and entries that you are not using. You can destroy or invalidate entries.
+
+-   **[Configure Data Expiration](../../developing/expiration/configuring_data_expiration.html)**
+
+    Configure the type of expiration and the expiration action to use.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/expiration/configuring_data_expiration.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/expiration/configuring_data_expiration.html.md.erb b/geode-docs/developing/expiration/configuring_data_expiration.html.md.erb
new file mode 100644
index 0000000..0fae74a
--- /dev/null
+++ b/geode-docs/developing/expiration/configuring_data_expiration.html.md.erb
@@ -0,0 +1,66 @@
+---
+title:  Configure Data Expiration
+---
+
+Configure the type of expiration and the expiration action to use.
+
+<a id="configuring_data_expiration__section_ADB8302125624E01A808EA5E4FF79A5C"></a>
+
+-   Set the region's `statistics-enabled` attribute to true.
+
+    The statistics used for expiration are available directly to the application through the `CacheStatistics` object returned by the `Region` and `Region.Entry` `getStatistics` methods. The `CacheStatistics` object also provides a method for resetting the statistics counters.
+
+-   Set the expiration attributes by expiration type, with the max times and expiration actions. See the region attributes listings for `entry-time-to-live`, `entry-idle-time`, `region-time-to-live`, and `region-idle-time` in [&lt;region-attributes&gt;](../../reference/topics/cache_xml.html#region-attributes).
+
+    For partitioned regions, to ensure reliable read behavior, use the `time-to-live` attributes, not the `idle-time` attributes. In addition, you cannot use `local-destroy` or `local-invalidate` expiration actions in partitioned regions.
+
+    Replicated regions example:
+
+    ``` pre
+    // Setting standard expiration on an entry
+    <region-attributes statistics-enabled="true"> 
+      <entry-idle-time> 
+        <expiration-attributes timeout="60" action="local-invalidate"/> 
+      </entry-idle-time> 
+    </region-attributes> 
+    ```
+
+-   Override the region-wide settings for specific entries, if required by your application. To do this:
+    1.  Program a custom expiration class that implements `org.apache.geode.cache.CustomExpiry`. Example:
+
+        ``` pre
+        // Custom expiration class
+        // Use the key for a region entry to set entry-specific expiration timeouts of 
+        //   10 seconds for even-numbered keys with a DESTROY action on the expired entries
+        //   Leave the default region setting for all odd-numbered keys. 
+        public class MyClass implements CustomExpiry, Declarable 
+        { 
+            private static final ExpirationAttributes CUSTOM_EXPIRY = 
+                    new ExpirationAttributes(10, ExpirationAction.DESTROY); 
+            public ExpirationAttributes getExpiry(Entry entry) 
+            { 
+                int key = (Integer)entry.getKey(); 
+                return key % 2 == 0 ? CUSTOM_EXPIRY : null; 
+            }
+        }
+        ```
+    2.  Define the class inside the expiration attributes settings for the region. Example:
+
+
+        ``` pre
+        <!-- Set default entry idle timeout expiration for the region --> 
+        <!-- Pass entries to custom expiry class for expiration overrides -->
+        <region-attributes statistics-enabled="true"> 
+            <entry-idle-time> 
+                <expiration-attributes timeout="60" action="local-invalidate"> 
+                    <custom-expiry> 
+                        <class-name>com.company.mypackage.MyClass</class-name> 
+                    </custom-expiry> 
+                </expiration-attributes> 
+            </entry-idle-time> 
+        </region-attributes>
+        ```
+
+You can also configure Regions using the gfsh command-line interface, however, you cannot configure `custom-expiry` using gfsh. See [Region Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_EF03119A40EE492984F3B6248596E1DD).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/expiration/how_expiration_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/expiration/how_expiration_works.html.md.erb b/geode-docs/developing/expiration/how_expiration_works.html.md.erb
new file mode 100644
index 0000000..5c3be02
--- /dev/null
+++ b/geode-docs/developing/expiration/how_expiration_works.html.md.erb
@@ -0,0 +1,53 @@
+---
+title:  How Expiration Works
+---
+
+Expiration removes old entries and entries that you are not using. You can destroy or invalidate entries.
+
+<a id="how_expiration_works__section_94FDBB821CDE49C48A0EFA6ED4DE194F"></a>
+Expiration activities in distributed regions can be distributed or local. Thus, one cache could control expiration for a number of caches in the system.
+
+This figure shows two basic expiration settings for a producer/consumer system. The producer member (on the right) populates the region from a database and the data is automatically distributed throughout the system. The data is valid only for one hour, so the producer performs a distributed destroy on entries that are an hour old. The other applications are consumers. The consumers free up space in their caches by removing their local copies of the entries for which there is no local interest (idle-time expiration). Requests for entries that have expired on the consumers will be forwarded to the producer.
+
+<img src="../../images_svg/expiration.svg" id="how_expiration_works__image_3D674825D1434830A8242D77CC89289F" class="image" />
+
+## <a id="how_expiration_works__section_B6C55A610F4243ED8F1986E8A98858CF" class="no-quick-link"></a>Expiration Types
+
+Apache Geode uses the following expiration types:
+
+-   **Time to live (TTL)**. The amount of time, in seconds, the object may remain in the cache after the last creation or update. For entries, the counter is set to zero for create and put operations. Region counters are reset when the region is created and when an entry has its counter reset. The TTL expiration attributes are `region-time-to-live` and `entry-time-to-live`.
+-   **Idle timeout**. The amount of time, in seconds, the object may remain in the cache after the last access. The idle timeout counter for an object is reset any time its TTL counter is reset. In addition, an entry\u2019s idle timeout counter is reset any time the entry is accessed through a get operation or a netSearch . The idle timeout counter for a region is reset whenever the idle timeout is reset for one of its entries. Idle timeout expiration attributes are: `region-idle-time` and `entry-idle-time`.
+
+## <a id="how_expiration_works__section_BA995343EF584104B9853CFE4CAD88AD" class="no-quick-link"></a>Expiration Actions
+
+Apache Geode uses the following expiration actions:
+
+-   destroy
+-   local destroy
+-   invalidate (default)
+-   local invalidate
+
+## <a id="how_expiration_works__section_AB4AB9E57D434159AA6E9B402E5E599D" class="no-quick-link"></a>Partitioned Regions and Entry Expiration
+
+For overall region performance, idle time expiration in partitioned regions may expire some entries sooner than expected. To ensure reliable read behavior across the partitioned region, we recommend that you use `entry-time-to-live` for entry expiration in partitioned regions instead of `entry-idle-time`.
+
+Expiration in partitioned regions is executed in the primary copy, based on the primary\u2019s last accessed and last updated statistics.
+
+-   Entry updates are always done in the primary copy, resetting the primary copy\u2019s last updated and last accessed statistics.
+-   Entry retrieval uses the most convenient available copy of the data, which may be one of the secondary copies. This provides the best performance at the cost of possibly not updating the primary copy\u2019s statistic for last accessed time.
+
+When the primary expires entries, it does not request last accessed statistics from the secondaries, as the performance hit would be too great. It expires entries based solely on the last time the entries were accessed in the primary copy.
+
+You cannot use `local-destroy` or `local-invalidate` expiration actions in a partitioned region.
+
+## <a id="how_expiration_works__section_expiration_settings_and_netSearch" class="no-quick-link"></a>Interaction Between Expiration Settings and `netSearch`
+
+Before `netSearch` retrieves an entry value from a remote cache, it validates the *remote* entry\u2019s statistics against the *local* region\u2019s expiration settings. Entries that would have already expired in the local cache are passed over. Once validated, the entry is brought into the local cache and the local access and update statistics are updated for the local copy. The last accessed time is reset and the last modified time is updated to the time in the remote cache, with corrections made for system clock differences. Thus the local entry is assigned the true last time the entry was modified in the distributed system. The `netSearch` operation has no effect on the expiration counters in remote caches.
+
+The `netSearch` method operates only on distributed regions with a data-policy of empty, normal and preloaded.
+
+## Configuring the Number of Threads for Expiration
+
+You can use the `gemfire.EXPIRY_THREADS` system property to increase the number of threads that handle expiration. By default, one thread handles expiration, and it is possible for the thread to become overloaded when entries expire faster than the thread can expire them. If a single thread is handling too many expirations, it can result in an OOME. Set the gemfire.EXPIRY\_THREADS system property to the desired number when starting the cache server.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/function_exec/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/function_exec/chapter_overview.html.md.erb b/geode-docs/developing/function_exec/chapter_overview.html.md.erb
new file mode 100644
index 0000000..ead23a9
--- /dev/null
+++ b/geode-docs/developing/function_exec/chapter_overview.html.md.erb
@@ -0,0 +1,19 @@
+---
+title:  Function Execution
+---
+
+A function is a body of code that resides on a server and that an application can invoke from a client or from another server without the need to send the function code itself. The caller can direct a data-dependent function to operate on a particular dataset, or can direct a data-independent function to operate on a particular server, member, or member group.
+
+<a id="function_exec__section_CBD5B04ACC554029B5C710CE8E244FEA">The function execution service provides solutions for a variety of use cases, including:</a>
+
+-   An application needs to perform an operation on the data associated with a key. A registered server-side function can retrieve the data, operate on it, and put it back, with all processing performed locally to the server.
+-   An application needs to initialize some of its components once on each server, which might be used later by executed functions.
+-   A third-party service, such as a messaging service, requires initialization and startup.
+-   Any arbitrary aggregation operation requires iteration over local data sets that can be done more efficiently through a single call to the cache server.
+-   An external resource needs provisioning that can be done by executing a function on a server.
+
+-   **[How Function Execution Works](how_function_execution_works.html)**
+
+-   **[Executing a Function in Apache Geode](function_execution.html)**
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/function_exec/function_execution.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/function_exec/function_execution.html.md.erb b/geode-docs/developing/function_exec/function_execution.html.md.erb
new file mode 100644
index 0000000..70fb1a3
--- /dev/null
+++ b/geode-docs/developing/function_exec/function_execution.html.md.erb
@@ -0,0 +1,237 @@
+---
+title:  Executing a Function in Apache Geode
+---
+
+<a id="function_execution__section_BE483D79B81C49EE9855F506ED5AB014"></a>
+In this procedure it is assumed that you have your members and regions defined where you want to run functions.
+
+Main tasks:
+
+1.  Write the function code.
+2.  Register the function on all servers where you want to execute the function. The easiest way to register a function is to use the `gfsh` `deploy` command to deploy the JAR file containing the function code. Deploying the JAR automatically registers the function for you. See [Register the Function Automatically by Deploying a JAR](function_execution.html#function_execution__section_164E27B88EC642BA8D2359B18517B624) for details. Alternatively, you can write the XML or application code to register the function. See [Register the Function Programmatically](function_execution.html#function_execution__section_1D1056F843044F368FB76F47061FCD50) for details.
+3.  Write the application code to run the function and, if the function returns results, to handle the results.
+4.  If your function returns results and you need special results handling, code a custom `ResultsCollector` implementation and use it in your function execution.
+
+## <a id="function_execution__section_7D43B0C628D54F579D5C434D3DF69B3C" class="no-quick-link"></a>Write the Function Code
+
+To write the function code, you implement the `Function` interface or extend the `FunctionAdapter` class. Both are in the `org.apache.geode.cache.execute` package. The adapter class provides some default implementations for methods, which you can override.
+
+Code the methods you need for the function. These steps do not have to be done in this order.
+
+1.  Code `getId` to return a unique name for your function. You can use this name to access the function through the `FunctionService` API.
+2.  For high availability:
+    1.  Code `isHa` to return true to indicate to Geode that it can re-execute your function after one or more members fails
+    2.  Code your function to return a result
+    3.  Code `hasResult` to return true
+
+3.  Code `hasResult` to return true if your function returns results to be processed and false if your function does not return any data - the fire and forget function. `FunctionAdapter` `hasResult` returns true by default.
+4.  If the function will be executed on a region, code `optimizeForWrite` to return false if your function only reads from the cache, and true if your function updates the cache. The method only works if, when you are running the function, the `Execution` object is obtained through a `FunctionService` `onRegion` call. `FunctionAdapter` `optimizeForWrite` returns false by default.
+5.  Code the `execute` method to perform the work of the function.
+    1.  Make `execute` thread safe to accommodate simultaneous invocations.
+    2.  For high availability, code `execute` to accommodate multiple identical calls to the function. Use the `RegionFunctionContext` `isPossibleDuplicate` to determine whether the call may be a high-availability re-execution. This boolean is set to true on execution failure and is false otherwise.
+        **Note:**
+        The `isPossibleDuplicate` boolean can be set following a failure from another member\u2019s execution of the function, so it only indicates that the execution might be a repeat run in the current member.
+
+    3.  Use the function context to get information about the execution and the data:
+        -   The context holds the function ID, the `ResultSender` object for passing results back to the originator, and function arguments provided by the member where the function originated.
+        -   The context provided to the function is the `FunctionContext`, which is automatically extended to `RegionFunctionContext` if you get the `Execution` object through a `FunctionService` `onRegion` call.
+        -   For data dependent functions, the `RegionFunctionContext` holds the `Region` object, the `Set` of key filters, and a boolean indicating multiple identical calls to the function, for high availability implementations.
+        -   For partitioned regions, the `PartitionRegionHelper` provides access to additional information and data for the region. For single regions, use `getLocalDataForContext`. For colocated regions, use `getLocalColocatedRegions`.
+            **Note:**
+            When you use `PartitionRegionHelper.getLocalDataForContext`, `putIfAbsent` may not return expected results if you are working on local data set instead of the region.
+
+    4.  To propagate an error condition or exception back to the caller of the function, throw a FunctionException from the `execute` method. Geode transmits the exception back to the caller as if it had been thrown on the calling side. See the Java API documentation for [FunctionException](/releases/latest/javadoc/org/apache/geode/cache/execute/FunctionException.html) for more information.
+
+Example function code:
+
+``` pre
+package quickstart;
+
+import java.io.Serializable;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
+import org.apache.geode.cache.execute.FunctionAdapter;
+import org.apache.geode.cache.execute.FunctionContext;
+import org.apache.geode.cache.execute.RegionFunctionContext;
+import org.apache.geode.cache.partition.PartitionRegionHelper;
+
+public class MultiGetFunction extends FunctionAdapter {
+
+  public void execute(FunctionContext fc) { 
+    if(! (fc instanceof RegionFunctionContext)){
+       throw new FunctionException("This is a data aware function, and has 
+to be called using FunctionService.onRegion.");
+    }
+    RegionFunctionContext context = (RegionFunctionContext)fc;
+    Set keys = context.getFilter();
+    Set keysTillSecondLast = new HashSet(); 
+    int setSize = keys.size();
+    Iterator keysIterator = keys.iterator();
+    for(int i = 0; i < (setSize -1); i++)
+    {
+      keysTillSecondLast.add(keysIterator.next());
+    }
+    for (Object k : keysTillSecondLast) {
+      context.getResultSender().sendResult(
+          (Serializable)PartitionRegionHelper.getLocalDataForContext(context)
+              .get(k));
+    }
+    Object lastResult = keysIterator.next();
+    context.getResultSender().lastResult(
+        (Serializable)PartitionRegionHelper.getLocalDataForContext(context)
+            .get(lastResult));
+  }
+
+  public String getId() {
+    return getClass().getName();
+  }
+}
+```
+
+## <a id="function_execution__section_164E27B88EC642BA8D2359B18517B624" class="no-quick-link"></a>Register the Function Automatically by Deploying a JAR
+
+When you deploy a JAR file that contains a Function (in other words, contains a class that implements the Function interface), the Function will be automatically registered via the `FunctionService.registerFunction` method.
+
+To register a function by using `gfsh`:
+
+1.  Package your class files into a JAR file.
+2.  Start a `gfsh` prompt. If necessary, start a Locator and connect to the Geode distributed system where you want to run the function.
+3.  At the gfsh prompt, type the following command:
+
+    ``` pre
+    gfsh>deploy --jar=group1_functions.jar
+    ```
+
+    where group1\_functions.jar corresponds to the JAR file that you created in step 1.
+
+If another JAR file is deployed (either with the same JAR filename or another filename) with the same Function, the new implementation of the Function will be registered, overwriting the old one. If a JAR file is undeployed, any Functions that were auto-registered at the time of deployment will be unregistered. Since deploying a JAR file that has the same name multiple times results in the JAR being un-deployed and re-deployed, Functions in the JAR will be unregistered and re-registered each time this occurs. If a Function with the same ID is registered from multiple differently named JAR files, the Function will be unregistered if either of those JAR files is re-deployed or un-deployed.
+
+See [Deploying Application JARs to Apache Geode Members](../../configuring/cluster_config/deploying_application_jars.html#concept_4436C021FB934EC4A330D27BD026602C) for more details on deploying JAR files.
+
+## <a id="function_execution__section_1D1056F843044F368FB76F47061FCD50" class="no-quick-link"></a>Register the Function Programmatically
+
+This section applies to functions that are invoked using the `Execution.execute(String functionId)` signature. When this method is invoked, the calling application sends the function ID to all members where the `Function.execute` is to be run. Receiving members use the ID to look up the function in the local `FunctionService`. In order to do the lookup, all of the receiving member must have previously registered the function with the function service.
+
+The alternative to this is the `Execution.execute(Function function)` signature. When this method is invoked, the calling application serializes the instance of `Function` and sends it to all members where the `Function.execute` is to be run. Receiving members deserialize the `Function` instance, create a new local instance of it, and run execute from that. This option is not available for non-Java client invocation of functions on servers.
+
+Your Java servers must register functions that are invoked by non-Java clients. You may want to use registration in other cases to avoid the overhead of sending `Function` instances between members.
+
+Register your function using one of these methods:
+
+-   XML:
+
+    ``` pre
+    <cache>
+        ...
+        </region>
+    <function-service>
+      <function>
+        <class-name>com.bigFatCompany.tradeService.cache.func.TradeCalc</class-name>
+      </function>
+    </function-service>
+    ```
+
+-   Java:
+
+    ``` pre
+    myFunction myFun = new myFunction();
+    FunctionService.registerFunction(myFun);
+    ```
+
+    **Note:**
+    Modifying a function instance after registration has no effect on the registered function. If you want to execute a new function, you must register it with a different identifier.
+
+## <a id="function_execution__section_6A0F4C9FB77C477DA5D995705C8BDD5E" class="no-quick-link"></a>Run the Function
+
+This assumes you\u2019ve already followed the steps for writing and registering the function.
+
+In every member where you want to explicitly execute the function and process the results, you can use the `gfsh` command line to run the function or you can write an application to run the function.
+
+**Running the Function Using gfsh**
+
+1.  Start a gfsh prompt.
+2.  If necessary, start a Locator and connect to the Geode distributed system where you want to run the function.
+3.  At the gfsh prompt, type the following command:
+
+    ``` pre
+    gfsh> execute function --id=function_id
+    ```
+
+    Where *function\_id* equals the unique ID assigned to the function. You can obtain this ID using the `Function.getId` method.
+
+See [Function Execution Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_8BB061D1A7A9488C819FE2B7881A1278) for more `gfsh` commands related to functions.
+
+**Running the Function via API Calls**
+
+1.  Use one of the `FunctionService` `on*` methods to create an `Execute` object. The `on*` methods, `onRegion`, `onMembers`, etc., define the highest level where the function is run. For colocated partitioned regions, use `onRegion` and specify any one of the colocated regions. The function run using `onRegion` is referred to as a data dependent function - the others as data-independent functions.
+2.  Use the `Execution` object as needed for additional function configuration. You can:
+    -   Provide a key `Set` to `withFilters` to narrow the execution scope for `onRegion` `Execution` objects. You can retrieve the key set in your `Function` `execute` method through `RegionFunctionContext.getFilter`.
+    -   Provide function arguments to `withArgs`. You can retrieve these in your `Function` `execute` method through `FunctionContext.getArguments`.
+    -   Define a custom `ResultCollector`
+
+3.  Call the `Execution` object to `execute` method to run the function.
+4.  If the function returns results, call `getResult` from the results collector returned from `execute` and code your application to do whatever it needs to do with the results.
+    **Note:**
+    For high availability, you must call the `getResult` method.
+
+Example of running the function - for executing members:
+
+``` pre
+MultiGetFunction function = new MultiGetFunction();
+FunctionService.registerFunction(function);
+    
+writeToStdout("Press Enter to continue.");
+stdinReader.readLine();
+    
+Set keysForGet = new HashSet();
+keysForGet.add("KEY_4");
+keysForGet.add("KEY_9");
+keysForGet.add("KEY_7");
+
+Execution execution = FunctionService.onRegion(exampleRegion)
+    .withFilter(keysForGet)
+    .withArgs(Boolean.TRUE)
+    .withCollector(new MyArrayListResultCollector());
+
+ResultCollector rc = execution.execute(function);
+// Retrieve results, if the function returns results
+List result = (List)rc.getResult();
+```
+
+## <a id="function_execution__section_F2AFE056650B4BF08BC865F746BFED38" class="no-quick-link"></a>Write a Custom Results Collector
+
+This topic applies to functions that return results.
+
+When you execute a function that returns results, the function stores the results into a `ResultCollector` and returns the `ResultCollector` object. The calling application can then retrieve the results through the `ResultCollector` `getResult` method. Example:
+
+``` pre
+ResultCollector rc = execution.execute(function);
+List result = (List)rc.getResult();
+```
+
+Geode\u2019s default `ResultCollector` collects all results into an `ArrayList`. Its `getResult` methods block until all results are received. Then they return the full result set.
+
+To customize results collecting:
+
+1.  Write a class that extends `ResultCollector` and code the methods to store and retrieve the results as you need. Note that the methods are of two types:
+    1.  `addResult` and `endResults` are called by Geode when results arrive from the `Function` instance `SendResults` methods
+    2.  `getResult` is available to your executing application (the one that calls `Execution.execute`) to retrieve the results
+
+2.  Use high availability for `onRegion` functions that have been coded for it:
+    1.  Code the `ResultCollector` `clearResults` method to remove any partial results data. This readies the instance for a clean function re-execution.
+    2.  When you invoke the function, call the result collector `getResult` method. This enables the high availability functionality.
+
+3.  In your member that calls the function execution, create the `Execution` object using the `withCollector` method, and passing it your custom collector. Example:
+
+    ``` pre
+    Execution execution = FunctionService.onRegion(exampleRegion)
+        .withFilter(keysForGet)
+        .withArgs(Boolean.TRUE)
+        .withCollector(new MyArrayListResultCollector());
+    ```
+
+## <a id="function_execution__section_638E1FB9B08F4CC4B62C07DDB3661C14" class="no-quick-link"></a>Targeting Single Members of a Member Group or Entire Member Groups
+
+To execute a data independent function on a group of members or one member in a group of members, you can write your own nested function. You will need to write one nested function if you are executing the function from client to server and another nested function if you are executing a function from server to all members.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/function_exec/how_function_execution_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/function_exec/how_function_execution_works.html.md.erb b/geode-docs/developing/function_exec/how_function_execution_works.html.md.erb
new file mode 100644
index 0000000..19959e8
--- /dev/null
+++ b/geode-docs/developing/function_exec/how_function_execution_works.html.md.erb
@@ -0,0 +1,114 @@
+---
+title:  How Function Execution Works
+---
+
+## <a id="how_function_execution_works__section_881D2FF6761B4D689DDB46C650E2A2E1" class="no-quick-link"></a>Where Functions Are Executed
+
+You can execute data-independent functions or data-dependent functions in Geode in the following places:
+
+**For Data-independent Functions**
+
+-   **On a specific member or members\u2014**Execute the function within a peer-to-peer distributed system, specifying the member or members where you want to run the function by using `FunctionService` methods `onMember()` and `onMembers()`.
+-   **On a specific server or set of servers\u2014**If you are connected to a distributed system as a client, you can execute the function on a server or servers configured for a specific connection pool, or on a server or servers connected to a given cache using the default connection pool. For data-independent functions on client/server architectures, a client invokes `FunctionService` methods `onServer()` or `onServers()`. (See [How Client/Server Connections Work](../../topologies_and_comm/topology_concepts/how_the_pool_manages_connections.html) for details regarding pool connections.)
+-   **On member groups or on a single member within each member group\u2014**You can organize members into logical member groups. (See [Configuring and Running a Cluster](../../configuring/chapter_overview.html#concept_lrh_gyq_s4) for more information about using member groups.) You can invoke a data independent function on all members in a specified member group or member groups, or execute the function on only one member of each specified member group.
+
+**For Data-dependent Functions**
+
+-   **On a region\u2014**If you are executing a data-dependent function, specify a region and, optionally, a set of keys on which to run the function. The method `FunctionService.onRegion()` directs a data-dependent function to execute on a specific region.
+
+See the `org.apache.geode.cache.execute.FunctionService` Java API documentation for more details.
+
+## <a id="how_function_execution_works__section_E0C4B7D2E4414F099788A5A441FF0E03" class="no-quick-link"></a>How Functions Are Executed
+
+The following things occur when executing a function:
+
+1.  When you call the `execute` method on the `Execution` object, Geode invokes the function on all members where it needs to run. The locations are determined by the `FunctionService` `on*` method calls, region configuration, and any filters.
+2.  If the function has results, they are returned to the `addResult` method call in a `ResultCollector` object.
+3.  The originating member collects results using `ResultCollector.getResult`.
+
+## <a id="how_function_execution_works__section_14FF9932C7134C5584A14246BB4D4FF6" class="no-quick-link"></a>Highly Available Functions
+
+Generally, function execution errors are returned to the calling application. You can code for high availability for `onRegion` functions that return a result, so Geode automatically retries a function if it does not execute successfully. You must code and configure the function to be highly available, and the calling application must invoke the function using the results collector `getResult` method.
+
+When a failure (such as an execution error or member crash while executing) occurs, the system responds by:
+
+1.  Waiting for all calls to return
+2.  Setting a boolean indicating a re-execution
+3.  Calling the result collector\u2019s `clearResults` method
+4.  Executing the function
+
+For client regions, the system retries the execution according to `org.apache.geode.cache.client.Pool` `retryAttempts`. If the function fails to run every time, the final exception is returned to the `getResult` method.
+
+For member calls, the system retries until either it succeeds or no data remains in the system for the function to operate on.
+
+## <a id="how_function_execution_works__section_A0FD54B73E9A453AA38FC4A4D5282351" class="no-quick-link"></a>Function Execution Scenarios
+
+[Server-distributed System](#how_function_execution_works__fig_server_distributed_system) shows the sequence of events for a data-independent function invoked from a client on all available servers.
+
+<a id="how_function_execution_works__fig_server_distributed_system"></a>
+
+<span class="figtitleprefix">Figure: </span>Server-distributed System
+
+<img src="../../images/FuncExecOnServers.png" alt="A diagram showing the sequence of events for a data-independent function invoked from a client on all available servers" id="how_function_execution_works__image_993D1FD7705E40EA801CF0656C4E91E5" class="image" />
+
+The client contacts a locator to obtain host and port identifiers for each server in the distributed system and issues calls to each server. As the instigator of the calls, the client also receives the call results.
+
+[Peer-to-peer Distributed System](#how_function_execution_works__fig_peer_distributed_system) shows the sequence of events for a data-independent function executed against members in a peer-to-peer distributed system.
+
+<a id="how_function_execution_works__fig_peer_distributed_system"></a>
+
+<span class="figtitleprefix">Figure: </span>Peer-to-peer Distributed System
+
+<img src="../../images/FuncExecOnMembers.png" alt="The sequence of events for a data-independent function executed against members in a peer-to-peer distributed system." id="how_function_execution_works__image_041832B370AA4241980B8C2632DD1DC8" class="image" />
+
+You can think of `onMembers()` as the peer-to-peer counterpart of a client-server call to `onServers()`. Because it is called from a peer of other members in the distributed system, an `onMembers()` function invocation has access to detailed metadata and does not require the services of a locator. The caller invokes the function on itself, if appropriate, as well as other members in the distributed system and collects the results of all of the function executions.
+
+[Data-dependent Function on a Region](#how_function_execution_works__fig_data_dependent_function_region) shows a data-dependent function run on a region.
+
+<a id="how_function_execution_works__fig_data_dependent_function_region"></a>
+
+<span class="figtitleprefix">Figure: </span>Data-dependent Function on a Region
+
+<img src="../../images/FuncExecOnRegionNoMetadata.png" alt="The path followed when the client lacks detailed metadata regarding target locations" id="how_function_execution_works__image_68742923936F4EEC8E50819F5CEECBCC" class="image" />
+
+An `onRegion()` call requires more detailed metadata than a locator provides in its host:port identifier. This diagram shows the path followed when the client lacks detailed metadata regarding target locations, as on the first call or when previously obtained metadata is no longer up to date.
+
+The first time a client invokes a function to be executed on a particular region of a distributed system, the client's knowledge of target locations is limited to the host and port information provided by the locator. Given only this limited information, the client sends its execution request to whichever server is next in line to be called according to the pool allocation algorithm. Because it is a participant in the distributed system, that server has access to detailed metadata and can dispatch the function call to the appropriate target locations. When the server returns results to the client, it sets a flag indicating whether a request to a different server would have provided a more direct path to the intended target. To improve efficiency, the client requests a copy of the metadata. With additional details regarding the bucket layout for the region, the client can act as its own dispatcher on subsequent calls and identify multiple targets for itself, eliminating at least one 
 hop.
+
+After it has obtained current metadata, the client can act as its own dispatcher on subsequent calls, identifying multiple targets for itself and eliminating one hop, as shown in [Data-dependent function after obtaining current metadata](#how_function_execution_works__fig_data_dependent_function_obtaining_current_metadata).
+
+<a id="how_function_execution_works__fig_data_dependent_function_obtaining_current_metadata"></a>
+
+<span class="figtitleprefix">Figure: </span>Data-dependent function after obtaining current metadata
+
+<img src="../../images/FuncExecOnRegionWithMetadata.png" alt="A diagram showing the client acting as its own dispatcher after having obtained current metadata." class="image" />
+
+[Data-dependent Function on a Region with Keys](#how_function_execution_works__fig_data_dependent_function_region_keys) shows the same data-dependent function with the added specification of a set of keys on which to run.
+
+<a id="how_function_execution_works__fig_data_dependent_function_region_keys"></a>
+
+<span class="figtitleprefix">Figure: </span>Data-dependent Function on a Region with Keys
+
+<img src="../../images/FuncExecOnRegionWithFilter.png" alt="A data-dependent function on a region with specification of keys on which to run" id="how_function_execution_works__image_7FA8BE5D02F24CF8B49186C6FEB786BD" class="image" />
+
+Servers that do not hold any keys are left out of the function execution.
+
+[Peer-to-peer Data-dependent Function](#how_function_execution_works__fig_peer_data_dependent_function) shows a peer-to-peer data-dependent call.
+
+<a id="how_function_execution_works__fig_peer_data_dependent_function"></a>
+
+<span class="figtitleprefix">Figure: </span>Peer-to-peer Data-dependent Function
+
+<img src="../../images/FuncExecOnRegionPeersWithFilter.png" alt="A data-dependent function where the caller is not an external client" id="how_function_execution_works__image_9B8E914BA80E4BBA99856E9603A9BDA0" class="image" />
+
+The caller is a member of the distributed system, not an external client, so the function runs in the caller\u2019s distributed system. Note the similarities between this diagram and the preceding figure ([Data-dependent Function on a Region with Keys](#how_function_execution_works__fig_data_dependent_function_region_keys)), which shows a client-server model where the client has up-to-date metadata regarding target locations within the distributed system.
+
+[Client-server system with Up-to-date Target Metadata](#how_function_execution_works__fig_client_server_system_target_metadata) demonstrates a sequence of steps in a call to a highly available function in a client-server system in which the client has up-to-date metadata regarding target locations.
+
+<a id="how_function_execution_works__fig_client_server_system_target_metadata"></a>
+
+<span class="figtitleprefix">Figure: </span>Client-server system with Up-to-date Target Metadata
+
+<img src="../../images/FuncExecOnRegionHAWithFilter.png" alt="A sequence of steps in a call to a highly available function in a client-server system in which the client has up-to-date metadata regarding target locations" id="how_function_execution_works__image_05E94BB0EBF349FF8822158F2001F313" class="image" />
+
+In this example, three primary keys (X, Y, Z) and their secondary copies (X', Y', Z') are distributed among three servers. Because `optimizeForWrite` is `true`, the system first attempts to invoke the function where the primary keys reside: Server 1 and Server 2. Suppose, however, that Server 2 is off-line for some reason, so the call targeted for key Y fails. Because `isHA` is set to `true`, the call is retried on Server 1 (which succeeded the first time, so likely will do so again) and Server 3, where key Y' resides. This time, the function call returns successfully. Calls to highly available functions retry until they obtain a successful result or they reach a retry limit.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/management_all_region_types/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/management_all_region_types/chapter_overview.html.md.erb b/geode-docs/developing/management_all_region_types/chapter_overview.html.md.erb
new file mode 100644
index 0000000..dc44e87
--- /dev/null
+++ b/geode-docs/developing/management_all_region_types/chapter_overview.html.md.erb
@@ -0,0 +1,23 @@
+---
+title:  General Region Data Management
+---
+
+For all regions, you have options to control memory use, back up your data to disk, and keep stale data out of your cache.
+
+-   **[Persistence and Overflow](../../developing/storing_data_on_disk/chapter_overview.html)**
+
+    You can persist data on disk for backup purposes and overflow it to disk to free up memory without completely removing the data from your cache.
+
+-   **[Eviction](../../developing/eviction/chapter_overview.html)**
+
+    Use eviction to control data region size.
+
+-   **[Expiration](../../developing/expiration/chapter_overview.html)**
+
+    Use expiration to keep data current by removing stale entries. You can also use it to remove entries you are not using so your region uses less space. Expired entries are reloaded the next time they are requested.
+
+-   **[Keeping the Cache in Sync with Outside Data Sources](../../developing/outside_data_sources/sync_outside_data.html)**
+
+    Keep your distributed cache in sync with an outside data source by programming and installing application plug-ins for your region.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/outside_data_sources/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/outside_data_sources/chapter_overview.html.md.erb b/geode-docs/developing/outside_data_sources/chapter_overview.html.md.erb
new file mode 100644
index 0000000..fc4f5ac
--- /dev/null
+++ b/geode-docs/developing/outside_data_sources/chapter_overview.html.md.erb
@@ -0,0 +1,17 @@
+---
+title:  Overview of Outside Data Sources
+---
+
+Apache Geode has application plug-ins to read data into the cache and write it out.
+
+<a id="outside_data_sources__section_100B707BB812430E8D9CFDE3BE4698D1"></a>
+The application plug-ins:
+
+1.  Load data on cache misses using an implementation of a `org.apache.geode.cache.CacheLoader`. The `CacheLoader.load` method is called when the `get` operation can't find the value in the cache. The value returned from the loader is put into the cache and returned to the `get` operation. You might use this in conjunction with data expiration to get rid of old data, and your other data loading applications, which might be prompted by events in the outside data source. See [Configure Data Expiration](../expiration/configuring_data_expiration.html).
+2.  Write data out to the data source using the cache event handlers, `CacheWriter` and `CacheListener`. For implementation details, see [Implementing Cache Event Handlers](../events/implementing_cache_event_handlers.html).
+    -   `CacheWriter` is run synchronously. Before performing any operation on a region entry, if any cache writers are defined for the region in the distributed system, the system invokes the most convenient writer. In partitioned and distributed regions, cache writers are usually defined in only a subset of the caches holding the region - often in only one cache. The cache writer can abort the region entry operation.
+    -   `CacheListener` is run synchronously after the cache is updated. This listener works only on local cache events, so install your listener in every cache where you want it to handle events. You can install multiple cache listeners in any of your caches.
+
+In addition to using application plug-ins, you can also configure external JNDI database sources in your cache.xml and use these data sources in transactions. See [Configuring Database Connections Using JNDI](../transactions/configuring_db_connections_using_JNDI.html#topic_A5E3A67C808D48C08E1F0DC167C5C494) for more information.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/outside_data_sources/how_data_loaders_work.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/outside_data_sources/how_data_loaders_work.html.md.erb b/geode-docs/developing/outside_data_sources/how_data_loaders_work.html.md.erb
new file mode 100644
index 0000000..dd39ec8
--- /dev/null
+++ b/geode-docs/developing/outside_data_sources/how_data_loaders_work.html.md.erb
@@ -0,0 +1,35 @@
+---
+title:  How Data Loaders Work
+---
+
+By default, a region has no data loader defined. Plug an application-defined loader into any region by setting the region attribute cache-loader on the members that host data for the region.
+
+<a id="how_data_loaders_work__section_1E600469D223498DB49446434CE9B0B4"></a>
+The loader is called on cache misses during get operations, and it populates the cache with the new entry value in addition to returning the value to the calling thread.
+
+A loader can be configured to load data into the Geode cache from an outside data store. To do the reverse operation, writing data from the Geode cache to an outside data store, use a cache writer event handler. See [Implementing Cache Event Handlers](../events/implementing_cache_event_handlers.html).
+
+How to install your cache loader depends on the type of region.
+
+## <a id="how_data_loaders_work__section_5CD65D559F1A490DAB5ED9326860FE8D" class="no-quick-link"></a>Data Loading in Partitioned Regions
+
+Because of the huge amounts of data they can handle, partitioned regions support partitioned loading. Each cache loader loads only the data entries in the member where the loader is defined. If data redundancy is configured, data is loaded only if the member holds the primary copy. So you must install a cache loader in every member where the partitioned attributes `local-max-memory` is not zero.
+
+If you depend on a JDBC connection, every data store must have a connection to the data source, as shown in the following figure. Here the three members require three connections. See [Configuring Database Connections Using JNDI](../transactions/configuring_db_connections_using_JNDI.html#topic_A5E3A67C808D48C08E1F0DC167C5C494) for information on how to configure data sources.
+
+**Note:**
+Partitioned regions generally require more JDBC connections than distributed regions.
+
+<img src="../../images_svg/cache_data_loader.svg" id="how_data_loaders_work__image_CD7CE9BD22ED4782AB6B296187AB983A" class="image" />
+
+## <a id="how_data_loaders_work__section_6A2CE777CE9E4BD682B881F6986CF66C" class="no-quick-link"></a>Data Loading in Distributed Regions
+
+In a non-partitioned distributed region, a cache loader defined in one member is available to all members that have the region defined. Loaders are usually defined in just a subset of the caches holding the region. When a loader is needed, all available loaders for the region are invoked, starting with the most convenient loader, until the data is loaded or all loaders have been tried.
+
+In the following figure, these members of one distributed system can be running on different machines. Loading for the distributed region is performed from M1.
+
+<img src="../../images_svg/cache_data_loader_2.svg" id="how_data_loaders_work__image_3C39A50218D64EF28A5448EB01A4C6EC" class="image" />
+
+## <a id="how_data_loaders_work__section_BE33D9AB27104D1BB8AC8BFCE11A063E" class="no-quick-link"></a>Data Loading in Local Regions
+
+For local regions, the cache loader is available only in the member where it is defined. If a loader is defined, it is called whenever a value is not found in the local cache.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/outside_data_sources/implementing_data_loaders.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/outside_data_sources/implementing_data_loaders.html.md.erb b/geode-docs/developing/outside_data_sources/implementing_data_loaders.html.md.erb
new file mode 100644
index 0000000..2b65b44
--- /dev/null
+++ b/geode-docs/developing/outside_data_sources/implementing_data_loaders.html.md.erb
@@ -0,0 +1,71 @@
+---
+title:  Implement a Data Loader
+---
+
+To program a data loader and configure your region to use it:
+
+1. Program your loader.
+
+2. Install your loader in each member region where you need it.
+
+## <a id="implementing_data_loaders__section_88076AF5EC184FE88AAF4C806A0CA9DF" class="no-quick-link"></a>Program your loader
+To program your loader:
+
+1.  Implement `org.apache.geode.cache.CacheLoader`.
+
+2.  If you want to declare the loader in your `cache.xml`, implement the `org.apache.geode.cache.Declarable` interface as well.
+
+3.  Program the single `CacheLoader` `load` method to do whatever your application requires for retrieving the value from outside the cache. If you need to run `Region` API calls from your loader, spawn separate threads for them. Do not make direct calls to `Region` methods from your load method implementation as it could cause the cache loader to block, hurting the performance of the distributed system. For example:
+
+    ``` pre
+    public class SimpleCacheLoader implements CacheLoader, Declarable {
+        public Object load(LoaderHelper helper) {
+            String key = (String) helper.getKey();
+            System.out.println(" Loader called to retrieve value for " + key);
+            // Create a value using the suffix number of the key (key1, key2, etc.)
+            return "LoadedValue" + (Integer.parseInt(key.substring(3)));
+        }
+        public void close() { // do nothing }
+        public void init(Properties props) { // do nothing }
+    }
+    ```
+
+## Install your loader in each member region
+To install your loader in each member region where you need it:
+
+1. In a partitioned region, install the cache loader in every data store for the region (`partition-attributes` `local-max-memory` &gt; 0).
+
+2. In a distributed region, install the loader in the members where it makes sense to do so. Cache loaders are usually defined in only a subset of the members holding the region. You might, for example, assign the job of loading from a database to one or two members for a region hosted by many more members. This can be done to reduce the number of connections when the outside source is a database.
+
+    Use one of these methods to install the loader:
+    -   XML:
+
+        ``` pre
+        <region-attributes>
+            <cache-loader>
+                <class-name>myCacheLoader</class-name>
+            </cache-loader>
+        </region-attributes>
+        ```
+    -   XML with parameters:
+
+        ``` pre
+        <cache-loader>
+            <class-name>com.company.data.DatabaseLoader</class-name>
+            <parameter name="URL">
+                <string>jdbc:cloudscape:rmi:MyData</string>
+            </parameter>
+        </cache-loader>
+        ```
+    -   Java:
+
+        ``` pre
+        RegionFactory<String,Object> rf = cache.createRegionFactory(REPLICATE);
+        rf.setCacheLoader(new QuoteLoader());
+        quotes = rf.create("NASDAQ Quotes");
+        ```
+
+**Note:**
+You can also configure Regions using the gfsh command-line interface, however you cannot configure a `cache-loader` using gfsh. See [Region Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_EF03119A40EE492984F3B6248596E1DD).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/outside_data_sources/sync_outside_data.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/outside_data_sources/sync_outside_data.html.md.erb b/geode-docs/developing/outside_data_sources/sync_outside_data.html.md.erb
new file mode 100644
index 0000000..54e4f48
--- /dev/null
+++ b/geode-docs/developing/outside_data_sources/sync_outside_data.html.md.erb
@@ -0,0 +1,19 @@
+---
+title:  Keeping the Cache in Sync with Outside Data Sources
+---
+
+Keep your distributed cache in sync with an outside data source by programming and installing application plug-ins for your region.
+
+-   **[Overview of Outside Data Sources](../../developing/outside_data_sources/chapter_overview.html)**
+
+    Apache Geode has application plug-ins to read data into the cache and write it out.
+
+-   **[How Data Loaders Work](../../developing/outside_data_sources/how_data_loaders_work.html)**
+
+    By default, a region has no data loader defined. Plug an application-defined loader into any region by setting the region attribute cache-loader on the members that host data for the region.
+
+-   **[Implement a Data Loader](../../developing/outside_data_sources/implementing_data_loaders.html)**
+
+    Program a data loader and configure your region to use it.
+
+


[14/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/server_grouping.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/server_grouping.svg b/geode-docs/images_svg/server_grouping.svg
new file mode 100644
index 0000000..15eab1f
--- /dev/null
+++ b/geode-docs/images_svg/server_grouping.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="122 212 373 301" width="373pt" height="301pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 09:30Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".3" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(233.775 319.6049) scale(97.93198)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" under
 line-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(243 495) scale(100.918746)"/><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_2" gradientTransform="translate(216 472.13086) scale(43.35671)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></f
 ont-face-src></font-face><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(226.125 419.23828) scale(56.0951)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(467.775 319.3941) scale(97.817495)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(449.775 311.87065) scale(43.35671)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(215.775 312.08146) scale(43.35671)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="-1333.3333" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-style="italic" font-weight="500"><font-face-src><font-face-name name="Helvetica-Oblique"/></font-face-src></font-face><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(477 495) scale(100.918746)"/><rad
 ialGradient id="Obj_Gradient_9" xl:href="#Gradient_2" gradientTransform="translate(450 472.13086) scale(43.35671)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_2" gradientTransform="translate(460.125 419.23828) scale(56.0951)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient" gradientTransform="translate(369 405) scale(112.34239)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>server_grouping</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id13_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl
 :use xl:href="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id17_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 150.435 225.00001 L 227.115 225.00001 C 230.79322 225.00001 233.775 227.9818 233.775 231.66001 L 233.775 312.9449 C 233.775 316.62312 230.79322 319.6049 227.115 319.6049 L 150.435 319.6049 C 146.75678 319.6049 143.775 316.62312 143.775 312.9449 L 143.775 231.66001 C 143.775 227.9818 146.75678 225.00001 150.435 225.00001 Z" fill="url(#Obj_Gradient)"/><path d="M 150.435 225.00001 L 227.115 225.00001 C 230.79322 225.00001 233.775 227.9818 233.775 231.66001 L 233.775 312.9449 C 233.775 316.62312 230.79322 319.6049 227.115 319.6049 L 150.435 319.6049 C 146.75678 319.6049 143.775 316.62312 143.775 312.9449 L 143.775 231.66001 C 143.775 227.9818 146.75678 225.00001 150.435 225.00001 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(147.775 229.00001)" fill="black"><tspan font-famil
 y="Helvetica" font-size="12" font-weight="500" fill="black" x="14.987305" y="11" textLength="52.02539">Server #1</tspan></text></g><g id="id4_Graphic"><path d="M 141.66 414.73828 L 236.34 414.73828 C 240.01822 414.73828 243 417.72006 243 421.39828 L 243 488.34 C 243 492.01822 240.01822 495 236.34 495 L 141.66 495 C 137.98178 495 135 492.01822 135 488.34 L 135 421.39828 C 135 417.72006 137.98178 414.73828 141.66 414.73828 Z" fill="url(#Obj_Gradient_2)"/><path d="M 141.66 414.73828 L 236.34 414.73828 C 240.01822 414.73828 243 417.72006 243 421.39828 L 243 488.34 C 243 492.01822 240.01822 495 236.34 495 L 141.66 495 C 137.98178 495 135 492.01822 135 488.34 L 135 421.39828 C 135 417.72006 137.98178 414.73828 141.66 414.73828 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(139 477.5)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="26.319336" y="11" textLength="47.361328">
 Client #1</tspan></text></g><g id="id5_Graphic"><path d="M 168.66 451.49414 L 209.34 451.49414 C 213.01822 451.49414 216 454.47592 216 458.15414 L 216 465.47086 C 216 469.14908 213.01822 472.13086 209.34 472.13086 L 168.66 472.13086 C 164.98178 472.13086 162 469.14908 162 465.47086 L 162 458.15414 C 162 454.47592 164.98178 451.49414 168.66 451.49414 Z" fill="url(#Obj_Gradient_3)"/><path d="M 168.66 451.49414 L 209.34 451.49414 C 213.01822 451.49414 216 454.47592 216 458.15414 L 216 465.47086 C 216 469.14908 213.01822 472.13086 209.34 472.13086 L 168.66 472.13086 C 164.98178 472.13086 162 469.14908 162 465.47086 L 162 458.15414 C 162 454.47592 164.98178 451.49414 168.66 451.49414 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(166 450.8125)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="7.489502" y="9" textLength="33.521484">Region: </tspan><tspan font-family="Helveti
 ca" font-size="9" font-weight="500" fill="black" x="4.2419434" y="20" textLength="37.516113">Portfolios</tspan></text></g><g id="id6_Graphic"><path d="M 156.375 410.23828 L 221.625 410.23828 C 224.11028 410.23828 226.125 412.253 226.125 414.73828 L 226.125 414.73828 C 226.125 417.22356 224.11028 419.23828 221.625 419.23828 L 156.375 419.23828 C 153.88972 419.23828 151.875 417.22356 151.875 414.73828 L 151.875 414.73828 C 151.875 412.253 153.88972 410.23828 156.375 410.23828 Z" fill="url(#Obj_Gradient_4)"/><path d="M 156.375 410.23828 L 221.625 410.23828 C 224.11028 410.23828 226.125 412.253 226.125 414.73828 L 226.125 414.73828 C 226.125 417.22356 224.11028 419.23828 221.625 419.23828 L 156.375 419.23828 C 153.88972 419.23828 151.875 417.22356 151.875 414.73828 L 151.875 414.73828 C 151.875 412.253 153.88972 410.23828 156.375 410.23828 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(155.875 409.23828)" fill="bla
 ck"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.6008301" y="9" textLength="63.04834">connection pool</tspan></text></g><g id="id7_Graphic"><path d="M 384.435 225.00001 L 461.115 225.00001 C 464.79322 225.00001 467.775 227.9818 467.775 231.66001 L 467.775 312.7341 C 467.775 316.41232 464.79322 319.3941 461.115 319.3941 L 384.435 319.3941 C 380.75678 319.3941 377.775 316.41232 377.775 312.7341 L 377.775 231.66001 C 377.775 227.9818 380.75678 225.00001 384.435 225.00001 Z" fill="url(#Obj_Gradient_5)"/><path d="M 384.435 225.00001 L 461.115 225.00001 C 464.79322 225.00001 467.775 227.9818 467.775 231.66001 L 467.775 312.7341 C 467.775 316.41232 464.79322 319.3941 461.115 319.3941 L 384.435 319.3941 C 380.75678 319.3941 377.775 316.41232 377.775 312.7341 L 377.775 231.66001 C 377.775 227.9818 380.75678 225.00001 384.435 225.00001 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(381
 .775 229.00001)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="14.987305" y="11" textLength="52.02539">Server #2</tspan></text></g><g id="id8_Graphic"><path d="M 402.435 291.23393 L 443.115 291.23393 C 446.79322 291.23393 449.775 294.21571 449.775 297.89393 L 449.775 305.21065 C 449.775 308.88887 446.79322 311.87065 443.115 311.87065 L 402.435 311.87065 C 398.75678 311.87065 395.775 308.88887 395.775 305.21065 L 395.775 297.89393 C 395.775 294.21571 398.75678 291.23393 402.435 291.23393 Z" fill="url(#Obj_Gradient_6)"/><path d="M 402.435 291.23393 L 443.115 291.23393 C 446.79322 291.23393 449.775 294.21571 449.775 297.89393 L 449.775 305.21065 C 449.775 308.88887 446.79322 311.87065 443.115 311.87065 L 402.435 311.87065 C 398.75678 311.87065 395.775 308.88887 395.775 305.21065 L 395.775 297.89393 C 395.775 294.21571 398.75678 291.23393 402.435 291.23393 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".720
 00003"/><text transform="translate(399.775 290.55229)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="7.489502" y="9" textLength="33.521484">Region: </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="5.2416992" y="20" textLength="35.516602">Products</tspan></text></g><g id="id9_Graphic"><path d="M 168.435 291.44474 L 209.115 291.44474 C 212.79322 291.44474 215.775 294.42652 215.775 298.10474 L 215.775 305.42146 C 215.775 309.09968 212.79322 312.08146 209.115 312.08146 L 168.435 312.08146 C 164.75678 312.08146 161.775 309.09968 161.775 305.42146 L 161.775 298.10474 C 161.775 294.42652 164.75678 291.44474 168.435 291.44474 Z" fill="url(#Obj_Gradient_7)"/><path d="M 168.435 291.44474 L 209.115 291.44474 C 212.79322 291.44474 215.775 294.42652 215.775 298.10474 L 215.775 305.42146 C 215.775 309.09968 212.79322 312.08146 209.115 312.08146 L 168.435 312.08146 C 164.75678 312.08146 161.775 309.09968 161.775 30
 5.42146 L 161.775 298.10474 C 161.775 294.42652 164.75678 291.44474 168.435 291.44474 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(165.775 290.7631)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="7.489502" y="9" textLength="33.521484">Region: </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="4.2419434" y="20" textLength="37.516113">Portfolios</tspan></text></g><text transform="translate(147.775 243.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="18.234131" y="9" textLength="48.032227">listening on </tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="14.727295" y="20" textLength="57.546387">10.80.100.1 :  </tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x
 ="28.486572" y="31" textLength="25.026855">40404</tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="8.2321777" y="42" textLength="65.535645">group: Portfolios</tspan></text><text transform="translate(381.775 243.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="18.234131" y="9" textLength="48.032227">listening on </tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="14.727295" y="20" textLength="57.546387">10.80.100.2 :  </tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="28.486572" y="31" textLength="25.026855">40404</tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="9.2319336" y="42" textLength="63.536133">group: Products</tspan></text><text transform="translate(139 425.13086)" fill="black"><tspan font
 -family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="6.96875" y="9" textLength="73.03711">locator at lucy : 41</tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="79.342285" y="9" textLength="5.005371">1</tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="83.68408" y="9" textLength="5.005371">1</tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="88.02588" y="9" textLength="5.005371">1</tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="3.2312012" y="20" textLength="93.5376">server-group: Portfolios</tspan></text><g id="id13_Graphic"><path d="M 375.66 414.73828 L 470.34 414.73828 C 474.01822 414.73828 477 417.72006 477 421.39828 L 477 488.34 C 477 492.01822 474.01822 495 470.34 495 L 375.66 495 C 371.98178 495 369 492.01822 369 488.34 L 
 369 421.39828 C 369 417.72006 371.98178 414.73828 375.66 414.73828 Z" fill="url(#Obj_Gradient_8)"/><path d="M 375.66 414.73828 L 470.34 414.73828 C 474.01822 414.73828 477 417.72006 477 421.39828 L 477 488.34 C 477 492.01822 474.01822 495 470.34 495 L 375.66 495 C 371.98178 495 369 492.01822 369 488.34 L 369 421.39828 C 369 417.72006 371.98178 414.73828 375.66 414.73828 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(373 477.5)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="26.319336" y="11" textLength="47.361328">Client #2</tspan></text></g><g id="id14_Graphic"><path d="M 402.66 451.49414 L 443.34 451.49414 C 447.01822 451.49414 450 454.47592 450 458.15414 L 450 465.47086 C 450 469.14908 447.01822 472.13086 443.34 472.13086 L 402.66 472.13086 C 398.98178 472.13086 396 469.14908 396 465.47086 L 396 458.15414 C 396 454.47592 398.98178 451.49414 402.66 451.49414 Z" fi
 ll="url(#Obj_Gradient_9)"/><path d="M 402.66 451.49414 L 443.34 451.49414 C 447.01822 451.49414 450 454.47592 450 458.15414 L 450 465.47086 C 450 469.14908 447.01822 472.13086 443.34 472.13086 L 402.66 472.13086 C 398.98178 472.13086 396 469.14908 396 465.47086 L 396 458.15414 C 396 454.47592 398.98178 451.49414 402.66 451.49414 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(400 450.8125)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="7.489502" y="9" textLength="33.521484">Region: </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="5.2416992" y="20" textLength="35.516602">Products</tspan></text></g><g id="id15_Graphic"><path d="M 390.375 410.23828 L 455.625 410.23828 C 458.11028 410.23828 460.125 412.253 460.125 414.73828 L 460.125 414.73828 C 460.125 417.22356 458.11028 419.23828 455.625 419.23828 L 390.375 419.23828 C 387.88972 4
 19.23828 385.875 417.22356 385.875 414.73828 L 385.875 414.73828 C 385.875 412.253 387.88972 410.23828 390.375 410.23828 Z" fill="url(#Obj_Gradient_a)"/><path d="M 390.375 410.23828 L 455.625 410.23828 C 458.11028 410.23828 460.125 412.253 460.125 414.73828 L 460.125 414.73828 C 460.125 417.22356 458.11028 419.23828 455.625 419.23828 L 390.375 419.23828 C 387.88972 419.23828 385.875 417.22356 385.875 414.73828 L 385.875 414.73828 C 385.875 412.253 387.88972 410.23828 390.375 410.23828 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(389.875 409.23828)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.6008301" y="9" textLength="63.04834">connection pool</tspan></text></g><text transform="translate(373 425.13086)" fill="black"><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="6.96875" y="9" textLength="73.03711">locator at
  lucy : 41</tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="79.342285" y="9" textLength="5.005371">1</tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="83.68408" y="9" textLength="5.005371">1</tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="88.02588" y="9" textLength="5.005371">1</tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="4.230957" y="20" textLength="91.538086">server-group: Products</tspan></text><g id="id17_Graphic"><path d="M 249.66 324 L 362.34 324 C 366.01822 324 369 326.98178 369 330.66 L 369 398.34 C 369 402.01822 366.01822 405 362.34 405 L 249.66 405 C 245.98178 405 243 402.01822 243 398.34 L 243 330.66 C 243 326.98178 245.98178 324 249.66 324 Z" fill="url(#Obj_Gradient_b)"/><path d="M 249.66 324 L 362.34 324 C 366.01822 324 369 326.98178 369 330.
 66 L 369 398.34 C 369 402.01822 366.01822 405 362.34 405 L 249.66 405 C 245.98178 405 243 402.01822 243 398.34 L 243 330.66 C 243 326.98178 245.98178 324 249.66 324 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(247 328)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="38.987305" y="11" textLength="40.02539">Locator</tspan></text></g><text transform="translate(237.775 351.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="19.587646" y="9" textLength="81.549316">listening on lucy : 41</tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="100.47339" y="9" textLength="5.005371">1</tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="104.815186" y="9" textLength="5.005371">1</tspan><tspan font-family="Hel
 vetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="109.15698" y="9" textLength="5.005371">1</tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="5.580078" y="31" textLength="122.589844">Portfolios: 10.80.100.1 : 40404</tspan><tspan font-family="Helvetica" font-size="9" font-style="italic" font-weight="500" fill="black" x="6.579834" y="42" textLength="120.59033">Products: 10.80.100.2 : 40404</tspan></text></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/transactions_partitioned_1.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/transactions_partitioned_1.svg b/geode-docs/images_svg/transactions_partitioned_1.svg
new file mode 100644
index 0000000..c101378
--- /dev/null
+++ b/geode-docs/images_svg/transactions_partitioned_1.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="5 95 562 274" width="562pt" height="274pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 10:50Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".3" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(272.25 351) scale(263.77412)"/><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underline-pos
 ition="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(94.5 234) scale(19.091883)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" u
 nderline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_2" gradientTransform="translate(135 234) scale(19.091883)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(162 234) scale(19.091883)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient_2" gradientTransform="translate(70.01038 234) scale(21.756296)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(233.13538 234) sc
 ale(21.756296)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="SharpArrow_Marker" viewBox="-5 -5 12 10" markerWidth="12" markerHeight="10" color="#252525"><g><path d="M 5.5902773 0 L -3.3541664 -3.3541664 L 0 0 L 0 0 L -3.3541664 3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M 11.7222214 0 L 0 -4.395833 L 0 4.395833 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_7" xl:href="#Gradient" gradientTransform="translate(549 351) scale(272.43589)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(513 234) scale(19.091883)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient_2" gradientTransform="translate(414 234) scale(19.091883)"/><radialGradient id=
 "Obj_Gradient_a" xl:href="#Gradient_2" gradientTransform="translate(441 234) scale(19.091883)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient_2" gradientTransform="translate(486.26038 234) scale(21.756296)"/><radialGradient id="Obj_Gradient_c" xl:href="#Gradient_2" gradientTransform="translate(329.625 234) scale(19.091883)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient_2" gradientTransform="translate(354.375 234) scale(19.091883)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>partition-1</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id13_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id22_Graphic" filter="url(#Shadow)"/><xl:use xl:
 href="#id24_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id25_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id27_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id31_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id38_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id39_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 24.66 108 L 265.59 108 C 269.26822 108 272.25 110.981783 272.25 114.66 L 272.25 344.34 C 272.25 348.01822 269.26822 351 265.59 351 L 24.66 351 C 20.981783 351 18 348.01822 18 344.34 L 18 114.66 C 18 110.981783 20.981783 108 24.66 108 Z" fill="url(#Obj_Gradient)"/><path d="M 24.66 108 L 265.59 108 C 269.26822 108 272.25 110.981783 272.25 114.66 L 272.25 344.34 C 272.25 348.01822 269.26822 351 265.59 351 L 24.66 351 C 20.981783 351 18 348.01822 18 344.34 L 18 114.66 C 18 110.981783 20.981783 108 24.66 108 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(22 112)" fill=
 "black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="162.24316" y="14" textLength="84.006836">Member (M1)</tspan></text></g><path d="M 33.66 153 L 257.715 153 C 261.39322 153 264.375 155.98178 264.375 159.66 L 264.375 254.34 C 264.375 258.01822 261.39322 261 257.715 261 L 33.66 261 C 29.981783 261 27 258.01822 27 254.34 L 27 159.66 C 27 155.98178 29.981783 153 33.66 153 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(31 157)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="97.34375" y="11" textLength="34.6875">Cache</tspan></text><g id="id5_Graphic"><path d="M 83.16 216 L 87.84 216 C 91.518217 216 94.5 218.98178 94.5 222.66 L 94.5 227.34 C 94.5 231.01822 91.518217 234 87.84 234 L 83.16 234 C 79.481783 234 76.5 231.01822 76.5 227.34 L 76.5 222.66 C 76.5 218.98178 79.481783 216 83.16 216 Z" fill="url(#Obj_Gradient_2)"/><path d="M 83.16
  216 L 87.84 216 C 91.518217 216 94.5 218.98178 94.5 222.66 L 94.5 227.34 C 94.5 231.01822 91.518217 234 87.84 234 L 83.16 234 C 79.481783 234 76.5 231.01822 76.5 227.34 L 76.5 222.66 C 76.5 218.98178 79.481783 216 83.16 216 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(80.5 219.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id6_Graphic"><path d="M 126 216 L 126 216 C 130.97056 216 135 220.02944 135 225 L 135 225 C 135 229.97056 130.97056 234 126 234 L 126 234 C 121.02944 234 117 229.97056 117 225 L 117 225 C 117 220.02944 121.02944 216 126 216 Z" fill="url(#Obj_Gradient_3)"/><path d="M 126 216 L 126 216 C 130.97056 216 135 220.02944 135 225 L 135 225 C 135 229.97056 130.97056 234 126 234 L 126 234 C 121.02944 234 117 229.97056 117 225 L 117 225 C 117 220.02944 121.02944 216 126 216 Z" stroke="#2
 52525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(121 219.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><path d="M 42.66 180 L 173.34 180 C 177.01822 180 180 182.98178 180 186.66 L 180 240.84 C 180 244.51822 177.01822 247.5 173.34 247.5 L 42.66 247.5 C 38.981783 247.5 36 244.51822 36 240.84 L 36 186.66 C 36 182.98178 38.981783 180 42.66 180 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(38 182)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="50.70459" y="10" textLength="34.467773">Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="84.62549" y="10" textLength="6.669922">A</tspan></text><g id="id8_Graphic"><rect x="144" y="216" width="18" height="18" fill="url(
 #Obj_Gradient_4)"/><rect x="144" y="216" width="18" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(148 219.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.2512207" y="9" textLength="5.4975586">Z</tspan></text></g><rect x="171" y="324" width="90" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(173 327)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.8623047" y="10" textLength="23.901367">Java </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="31.216797" y="10" textLength="48.920898">Application</tspan></text><rect x="189" y="189" width="67.5" height="58.5" fill="none"/><rect x="189" y="189" width="67.5" height="58.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-widt
 h=".72000003"/><text transform="translate(191 191)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="6.8100586" y="10" textLength="6.1083984">T</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="12.552246" y="10" textLength="48.916016">ransaction </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="26.915039" y="22" textLength="11.669922">T1</tspan></text><rect x="45" y="198" width="54" height="40.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(47 200)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="10.9992676" y="9" textLength="32.501953">primary </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="17.241699" y="20" textLength="17.516602">data</tspan></text><rect x="108" y="198" width="63" height="40.5" stroke="#252525" 
 stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(110 200)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.738037" y="9" textLength="44.024414">secondary </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="21.741699" y="20" textLength="17.516602">data</tspan></text><g id="id13_Graphic"><path d="M 56.81552 218.4185 L 51.29657 217.76076 L 53.14982 222.92455 L 49.23962 226.77286 L 54.43231 228.5435 L 55.00307 234 L 59.625 231.04417 L 64.24693 234 L 64.81769 228.5435 L 70.01038 226.77286 L 66.10018 222.92455 L 67.95343 217.76152 L 62.50673 218.4185 L 59.625 213.75 Z" fill="url(#Obj_Gradient_5)"/><path d="M 56.81552 218.4185 L 51.29657 217.76076 L 53.14982 222.92455 L 49.23962 226.77286 L 54.43231 228.5435 L 55.00307 234 L 59.625 231.04417 L 64.24693 234 L 64.81769 228.5435 L 70.01038 226.77286 L 66.10018 222.92455 L 67.95343 217.76152 L 62.50673 218.4185 L 
 59.625 213.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(49.23962 218.375)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="6.1380655" y="9" textLength="8.494629">W</tspan></text></g><g id="id14_Graphic"><path d="M 219.94052 218.4185 L 214.42157 217.76076 L 216.27482 222.92455 L 212.36462 226.77286 L 217.55731 228.5435 L 218.12807 234 L 222.75 231.04417 L 227.37193 234 L 227.94269 228.5435 L 233.13538 226.77286 L 229.22518 222.92455 L 231.07843 217.76152 L 225.63173 218.4185 L 222.75 213.75 Z" fill="url(#Obj_Gradient_6)"/><path d="M 219.94052 218.4185 L 214.42157 217.76076 L 216.27482 222.92455 L 212.36462 226.77286 L 217.55731 228.5435 L 218.12807 234 L 222.75 231.04417 L 227.37193 234 L 227.94269 228.5435 L 233.13538 226.77286 L 229.22518 222.92455 L 231.07843 217.76152 L 225.63173 218.4185 L 222.75 213.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejo
 in="round" stroke-width=".72000003"/><text transform="translate(212.36462 218.375)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="6.1380655" y="9" textLength="8.494629">W</tspan></text></g><line x1="108" y1="247.5" x2="100.200276" y2="282.59876" marker-end="url(#SharpArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(76 285)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="14.492676" y="10" textLength="37.792969">T1 local </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="17.268555" y="22" textLength="29.46289">events</tspan></text><line x1="108" y1="247.5" x2="108" y2="284.717" marker-end="url(#SharpArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="108" y1="247.5" x2="115.799724" y2="282.59876" marker-end="url(#S
 harpArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="108" y1="247.5" x2="92.474433" y2="278.55113" marker-end="url(#SharpArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="108" y1="247.5" x2="123.52557" y2="278.55113" marker-end="url(#SharpArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 234 324 C 234 304.875 233.83593 295.03122 233.74999 285.74997 C 233.67369 277.50923 233.65898 269.71197 216.57304 253.10543" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id22_Graphic"><path d="M 285.66 108 L 542.34 108 C 546.01822 108 549 110.981783 549 114.66 L 549 344.34 C 549 348.01822 546.01822 351 542.34 351 L 285.66 351 C 281.98178 351 279 348.01822 279 344.34 L 279 114.66 C 279 110.981783 281.98178 108 285.66 1
 08 Z" fill="url(#Obj_Gradient_7)"/><path d="M 285.66 108 L 542.34 108 C 546.01822 108 549 110.981783 549 114.66 L 549 344.34 C 549 348.01822 546.01822 351 542.34 351 L 285.66 351 C 281.98178 351 279 348.01822 279 344.34 L 279 114.66 C 279 110.981783 281.98178 108 285.66 108 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(283 112)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="177.99316" y="14" textLength="84.006836">Member (M2)</tspan></text></g><path d="M 294.66 153 L 533.34 153 C 537.01822 153 540 155.98178 540 159.66 L 540 254.34 C 540 258.01822 537.01822 261 533.34 261 L 294.66 261 C 290.98178 261 288 258.01822 288 254.34 L 288 159.66 C 288 155.98178 290.98178 153 294.66 153 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(292 157)" fill="black"><tspan font-family="Helvetica" font-size="12" f
 ont-weight="500" fill="black" x="104.65625" y="11" textLength="34.6875">Cache</tspan></text><g id="id24_Graphic"><path d="M 501.66 216 L 506.34 216 C 510.01822 216 513 218.98178 513 222.66 L 513 227.34 C 513 231.01822 510.01822 234 506.34 234 L 501.66 234 C 497.98178 234 495 231.01822 495 227.34 L 495 222.66 C 495 218.98178 497.98178 216 501.66 216 Z" fill="url(#Obj_Gradient_8)"/><path d="M 501.66 216 L 506.34 216 C 510.01822 216 513 218.98178 513 222.66 L 513 227.34 C 513 231.01822 510.01822 234 506.34 234 L 501.66 234 C 497.98178 234 495 231.01822 495 227.34 L 495 222.66 C 495 218.98178 497.98178 216 501.66 216 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(499 219.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id25_Graphic"><path d="M 405 216 L 405 216 C 409.97056 216 414 220.02944 414 225 L 41
 4 225 C 414 229.97056 409.97056 234 405 234 L 405 234 C 400.02944 234 396 229.97056 396 225 L 396 225 C 396 220.02944 400.02944 216 405 216 Z" fill="url(#Obj_Gradient_9)"/><path d="M 405 216 L 405 216 C 409.97056 216 414 220.02944 414 225 L 414 225 C 414 229.97056 409.97056 234 405 234 L 405 234 C 400.02944 234 396 229.97056 396 225 L 396 225 C 396 220.02944 400.02944 216 405 216 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(400 219.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><path d="M 382.41 180 L 524.34 180 C 528.01822 180 531 182.98178 531 186.66 L 531 240.84 C 531 244.51822 528.01822 247.5 524.34 247.5 L 382.41 247.5 C 378.73178 247.5 375.75 244.51822 375.75 240.84 L 375.75 186.66 C 375.75 182.98178 378.73178 180 382.41 180 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" strok
 e-width=".72000003"/><text transform="translate(377.75 182)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="56.32959" y="10" textLength="34.467773">Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="90.25049" y="10" textLength="6.669922">A</tspan></text><g id="id27_Graphic"><rect x="423" y="216" width="18" height="18" fill="url(#Obj_Gradient_a)"/><rect x="423" y="216" width="18" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(427 219.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.2512207" y="9" textLength="5.4975586">Z</tspan></text></g><rect x="297" y="189" width="72" height="58.5" fill="none"/><rect x="297" y="189" width="72" height="58.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(299 191)
 " fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.0600586" y="10" textLength="6.1083984">T</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="14.802246" y="10" textLength="48.916016">ransaction </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="29.165039" y="22" textLength="11.669922">T2</tspan></text><rect x="456.75" y="198" width="65.25" height="40.5" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(458.75 200)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="10.863037" y="9" textLength="44.024414">secondary </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="22.866699" y="20" textLength="17.516602">data</tspan></text><rect x="387" y="198" width="63" height="40.5" stroke="#252525" stroke-linecap="round" stroke-linejoin
 ="round" stroke-width=".72000003"/><text transform="translate(389 200)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="5.4907227" y="9" textLength="50.018555">primary data</tspan></text><g id="id31_Graphic"><path d="M 473.06552 218.4185 L 467.54657 217.76076 L 469.39982 222.92455 L 465.48962 226.77286 L 470.6823 228.5435 L 471.25307 234 L 475.875 231.04417 L 480.49693 234 L 481.0677 228.5435 L 486.26038 226.77286 L 482.35018 222.92455 L 484.20343 217.76152 L 478.75673 218.4185 L 475.875 213.75 Z" fill="url(#Obj_Gradient_b)"/><path d="M 473.06552 218.4185 L 467.54657 217.76076 L 469.39982 222.92455 L 465.48962 226.77286 L 470.6823 228.5435 L 471.25307 234 L 475.875 231.04417 L 480.49693 234 L 481.0677 228.5435 L 486.26038 226.77286 L 482.35018 222.92455 L 484.20343 217.76152 L 478.75673 218.4185 L 475.875 213.75 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(465.48962
  218.375)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="6.1380655" y="9" textLength="8.494629">W</tspan></text></g><line x1="452.25" y1="247.5" x2="444.45028" y2="282.59876" marker-end="url(#SharpArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(420.25 285)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="14.492676" y="10" textLength="37.792969">T2 local </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="17.268555" y="22" textLength="29.46289">events</tspan></text><line x1="452.25" y1="247.5" x2="452.25" y2="284.717" marker-end="url(#SharpArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="452.25" y1="247.5" x2="460.04972" y2="282.59876" marker-end="url(#SharpArrow_Marker)" stroke="#252525" stroke-linecap="round" 
 stroke-linejoin="round" stroke-width=".72000003"/><line x1="452.25" y1="247.5" x2="436.72443" y2="278.55113" marker-end="url(#SharpArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="452.25" y1="247.5" x2="467.77557" y2="278.55113" marker-end="url(#SharpArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id38_Graphic"><path d="M 320.625 216 L 320.625 216 C 325.59556 216 329.625 220.02944 329.625 225 L 329.625 225 C 329.625 229.97056 325.59556 234 320.625 234 L 320.625 234 C 315.65444 234 311.625 229.97056 311.625 225 L 311.625 225 C 311.625 220.02944 315.65444 216 320.625 216 Z" fill="url(#Obj_Gradient_c)"/><path d="M 320.625 216 L 320.625 216 C 325.59556 216 329.625 220.02944 329.625 225 L 329.625 225 C 329.625 229.97056 325.59556 234 320.625 234 L 320.625 234 C 315.65444 234 311.625 229.97056 311.625 225 L 311.625 225 C 311.625 220.02944 315.65444 216 320.625 
 216 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(315.625 219.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><g id="id39_Graphic"><rect x="336.375" y="216" width="18" height="18" fill="url(#Obj_Gradient_d)"/><rect x="336.375" y="216" width="18" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(340.375 219.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.2512207" y="9" textLength="5.4975586">Z</tspan></text></g><path d="M 252 324 C 252 304.875 276.76474 301.21508 297.01474 292.49633 C 314.11255 285.13477 327.99177 274.16676 331.89847 257.38708" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text tr
 ansform="translate(202 295.5)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="8.165039" y="10" textLength="11.669922">T1</tspan></text><text transform="translate(240.25 295.5)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="8.165039" y="10" textLength="11.669922">T2</tspan></text></g></g></svg>



[63/76] [abbrv] incubator-geode git commit: GEODE-1952: Add Apache license to all geode-docs erb files

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/http_session_mgmt/tomcat_setting_up_the_module.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/http_session_mgmt/tomcat_setting_up_the_module.html.md.erb b/geode-docs/tools_modules/http_session_mgmt/tomcat_setting_up_the_module.html.md.erb
index a94609e..a472ab3 100644
--- a/geode-docs/tools_modules/http_session_mgmt/tomcat_setting_up_the_module.html.md.erb
+++ b/geode-docs/tools_modules/http_session_mgmt/tomcat_setting_up_the_module.html.md.erb
@@ -2,6 +2,23 @@
 title:  Setting Up the HTTP Module for Tomcat
 ---
 
+<!--
+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.
+-->
+
 To use the Geode HTTP module with Tomcat application servers, you will need to modify Tomcat's `server.xml` and `context.xml` files.
 
 Configuration is slightly different depending on the topology you are setting up. Refer to [Common Topologies for HTTP Session Management](common_gemfire_topologies.html#common_gemfire_topologies) for more information.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/http_session_mgmt/weblogic_changing_gf_default_cfg.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/http_session_mgmt/weblogic_changing_gf_default_cfg.html.md.erb b/geode-docs/tools_modules/http_session_mgmt/weblogic_changing_gf_default_cfg.html.md.erb
index d86dca6..50e41be 100644
--- a/geode-docs/tools_modules/http_session_mgmt/weblogic_changing_gf_default_cfg.html.md.erb
+++ b/geode-docs/tools_modules/http_session_mgmt/weblogic_changing_gf_default_cfg.html.md.erb
@@ -2,6 +2,23 @@
 title:  Changing the Default Geode Configuration in the AppServers Module
 ---
 
+<!--
+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.
+-->
+
 By default, the AppServers module will run Geode automatically with preconfigured settings. You can change these Geode settings.
 
 Here are the default settings:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/http_session_mgmt/weblogic_common_configuration_changes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/http_session_mgmt/weblogic_common_configuration_changes.html.md.erb b/geode-docs/tools_modules/http_session_mgmt/weblogic_common_configuration_changes.html.md.erb
index 693fc8e..7669fdd 100644
--- a/geode-docs/tools_modules/http_session_mgmt/weblogic_common_configuration_changes.html.md.erb
+++ b/geode-docs/tools_modules/http_session_mgmt/weblogic_common_configuration_changes.html.md.erb
@@ -2,6 +2,23 @@
 title:  Common Geode Configuration Changes for AppServers
 ---
 
+<!--
+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="weblogic_common_cfg_changes__section_38D803A7E8474188898963F456188543" class="no-quick-link"></a>Overriding Region Attributes
 
 When using the HTTP Session Management Module, you cannot override region attributes directly on the cache server. You must place all region attribute definitions in the region attributes template that you customize within the application server. For example, to specify a different name for the region's disk store, you could add the new disk-store-name specification to the region attributes template and then reference the template on the cache server.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/http_session_mgmt/weblogic_setting_up_the_module.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/http_session_mgmt/weblogic_setting_up_the_module.html.md.erb b/geode-docs/tools_modules/http_session_mgmt/weblogic_setting_up_the_module.html.md.erb
index 935853f..e0eb267 100644
--- a/geode-docs/tools_modules/http_session_mgmt/weblogic_setting_up_the_module.html.md.erb
+++ b/geode-docs/tools_modules/http_session_mgmt/weblogic_setting_up_the_module.html.md.erb
@@ -2,6 +2,23 @@
 title:  Setting Up the HTTP Module for AppServers
 ---
 
+<!--
+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.
+-->
+
 To use the module, you need to modify your application's `web.xml` files. Configuration is slightly different depending on the topology you are setting up.
 
 Refer to [Common Topologies for HTTP Session Management](common_gemfire_topologies.html#common_gemfire_topologies) for more information. Modifying the war file can be done manually or with the `modify_war` script. To see the command line options for the `modify_war` script, invoke:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/pulse/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/pulse/chapter_overview.html.md.erb b/geode-docs/tools_modules/pulse/chapter_overview.html.md.erb
index 553fa55..19de8f1 100644
--- a/geode-docs/tools_modules/pulse/chapter_overview.html.md.erb
+++ b/geode-docs/tools_modules/pulse/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Geode Pulse
 ---
 
+<!--
+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.
+-->
+
 Geode Pulse is a Web Application that provides a graphical dashboard for monitoring vital, real-time health and performance of Geode clusters, members, and regions.
 
 Use Pulse to examine total memory, CPU, and disk space used by members, uptime statistics, client connections, WAN connections, and critical notifications. Pulse communicates with a Geode JMX manager to provide a complete view of your Geode deployment. You can drill down from a high-level cluster view to examine individual members and even regions within a member, to filter the type of information and level of detail.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/pulse/quickstart.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/pulse/quickstart.html.md.erb b/geode-docs/tools_modules/pulse/quickstart.html.md.erb
index 22e5b16..6bcf1dc 100644
--- a/geode-docs/tools_modules/pulse/quickstart.html.md.erb
+++ b/geode-docs/tools_modules/pulse/quickstart.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: Pulse Quick Start (Embedded Mode)
 ---
+
+<!--
+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="topic_523F6DE33FE54307BBE8F83BB7D9355D"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/pulse/system_requirements.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/pulse/system_requirements.html.md.erb b/geode-docs/tools_modules/pulse/system_requirements.html.md.erb
index c736a45..05dffe6 100644
--- a/geode-docs/tools_modules/pulse/system_requirements.html.md.erb
+++ b/geode-docs/tools_modules/pulse/system_requirements.html.md.erb
@@ -2,6 +2,23 @@
 title:  Pulse System Requirements
 ---
 
+<!--
+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.
+-->
+
 Verify that your system meets the installation and runtime requirements for Pulse.
 
 <a id="system_requirements__section_CBD5B04ACC554029B5C710CE8E244FEA"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/tools_modules/redis_adapter.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/tools_modules/redis_adapter.html.md.erb b/geode-docs/tools_modules/redis_adapter.html.md.erb
index 5825150..47da3fc 100644
--- a/geode-docs/tools_modules/redis_adapter.html.md.erb
+++ b/geode-docs/tools_modules/redis_adapter.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: Geode Redis Adapter
 ---
+
+<!--
+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="topic_523F6DE33FE54307BBE8F83BB7D9355D"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/book_intro.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/book_intro.html.md.erb b/geode-docs/topologies_and_comm/book_intro.html.md.erb
index 5c2be20..f7de5ed 100644
--- a/geode-docs/topologies_and_comm/book_intro.html.md.erb
+++ b/geode-docs/topologies_and_comm/book_intro.html.md.erb
@@ -2,6 +2,23 @@
 title:  Topologies and Communication
 ---
 
+<!--
+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.
+-->
+
 *Topologies and Communication* explains how to plan and configure Apache Geode member discovery, peer-to-peer and client/server communication topologies.
 
 <a id="concept_7628F498DB534A2D8A99748F5DA5DC94__section_E62DEF9610814012A3307D50A56FE1B4"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/cs_configuration/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/cs_configuration/chapter_overview.html.md.erb b/geode-docs/topologies_and_comm/cs_configuration/chapter_overview.html.md.erb
index 6fd6574..45a8855 100644
--- a/geode-docs/topologies_and_comm/cs_configuration/chapter_overview.html.md.erb
+++ b/geode-docs/topologies_and_comm/cs_configuration/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Client/Server Configuration
 ---
 
+<!--
+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.
+-->
+
 In the client/server architecture, a relatively small server farm manages the cached data of and access to the same data for many client applications. Clients can update and access data efficiently, leaving the servers to manage data distribution to other clients and any synchronization with outside data stores.
 
 -   **[Standard Client/Server Deployment](../../topologies_and_comm/cs_configuration/standard_client_server_deployment.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/cs_configuration/client_server_example_configurations.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/cs_configuration/client_server_example_configurations.html.md.erb b/geode-docs/topologies_and_comm/cs_configuration/client_server_example_configurations.html.md.erb
index d35ae70..3b30c46 100644
--- a/geode-docs/topologies_and_comm/cs_configuration/client_server_example_configurations.html.md.erb
+++ b/geode-docs/topologies_and_comm/cs_configuration/client_server_example_configurations.html.md.erb
@@ -2,6 +2,23 @@
 title:  Client/Server Example Configurations
 ---
 
+<!--
+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.
+-->
+
 For easy configuration, you can start with these example client/server configurations and modify for your systems.
 
 ## <a id="client_server_example_configurations__section_556E0D3D72624AD9B27C636BA628ADC0" class="no-quick-link"></a>Examples of Standard Client/Server Configuration

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/cs_configuration/client_server_whats_next.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/cs_configuration/client_server_whats_next.html.md.erb b/geode-docs/topologies_and_comm/cs_configuration/client_server_whats_next.html.md.erb
index 2cd802b..6da8f32 100644
--- a/geode-docs/topologies_and_comm/cs_configuration/client_server_whats_next.html.md.erb
+++ b/geode-docs/topologies_and_comm/cs_configuration/client_server_whats_next.html.md.erb
@@ -2,6 +2,23 @@
 title:  Fine-Tuning Your Client/Server Configuration
 ---
 
+<!--
+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.
+-->
+
 You can fine-tune your client/server system with server load-balancing and client thread use of pool connections. For example, you can configure how often the servers check their load with the cache server `load-poll-interval` property, or configure your own server load metrics by implementing the `org.apache.geode.cache.server` package.
 
 ## <a id="client_server_whats_next__section_64AD4CBC253B4C309E3D592D0CED2A6B" class="no-quick-link"></a>How Server Load Conditioning Works

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/cs_configuration/configure_servers_into_logical_groups.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/cs_configuration/configure_servers_into_logical_groups.html.md.erb b/geode-docs/topologies_and_comm/cs_configuration/configure_servers_into_logical_groups.html.md.erb
index 4e80864..783b266 100644
--- a/geode-docs/topologies_and_comm/cs_configuration/configure_servers_into_logical_groups.html.md.erb
+++ b/geode-docs/topologies_and_comm/cs_configuration/configure_servers_into_logical_groups.html.md.erb
@@ -2,6 +2,23 @@
 title:  Organizing Servers Into Logical Member Groups
 ---
 
+<!--
+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.
+-->
+
 In a client/server configuration, by putting servers into logical member groups, you can control which servers your clients use and target specific servers for specific data or tasks. You can configure servers to manage different data sets or to direct specific client traffic to a subset of servers, such as those directly connected to a back-end database.
 
 <a id="configure_servers_into_logical_groups__section_411EA6C46AD4456C987C0759A05340F2"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/cs_configuration/setting_up_a_client_server_system.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/cs_configuration/setting_up_a_client_server_system.html.md.erb b/geode-docs/topologies_and_comm/cs_configuration/setting_up_a_client_server_system.html.md.erb
index 86ee766..95621cd 100644
--- a/geode-docs/topologies_and_comm/cs_configuration/setting_up_a_client_server_system.html.md.erb
+++ b/geode-docs/topologies_and_comm/cs_configuration/setting_up_a_client_server_system.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configuring a Client/Server System
 ---
 
+<!--
+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.
+-->
+
 Configure your server and client processes and data regions to run your client/server system.
 
 **Prerequisites**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/cs_configuration/standard_client_server_deployment.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/cs_configuration/standard_client_server_deployment.html.md.erb b/geode-docs/topologies_and_comm/cs_configuration/standard_client_server_deployment.html.md.erb
index 9be56c3..4f877ca 100644
--- a/geode-docs/topologies_and_comm/cs_configuration/standard_client_server_deployment.html.md.erb
+++ b/geode-docs/topologies_and_comm/cs_configuration/standard_client_server_deployment.html.md.erb
@@ -2,6 +2,23 @@
 title:  Standard Client/Server Deployment
 ---
 
+<!--
+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.
+-->
+
 In the most common client/server topology, a farm of cache servers provides caching services to many clients. Cache servers have a homogeneous data store in data regions that are replicated or partitioned across the server farm.
 
 <a id="standard_deployment__section_5DC4875B143F4160BC790C4AFAB75265"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/multi_site_configuration/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/multi_site_configuration/chapter_overview.html.md.erb b/geode-docs/topologies_and_comm/multi_site_configuration/chapter_overview.html.md.erb
index 1ecc812..b5f627b 100644
--- a/geode-docs/topologies_and_comm/multi_site_configuration/chapter_overview.html.md.erb
+++ b/geode-docs/topologies_and_comm/multi_site_configuration/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Multi-site (WAN) Configuration
 ---
 
+<!--
+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.
+-->
+
 Use the multi-site configuration to scale horizontally between disparate, loosely-coupled distributed systems. A wide-area network (WAN) is the main use case for the multi-site topology.
 
 -   **[How Multi-site (WAN) Systems Work](../../topologies_and_comm/topology_concepts/how_multisite_systems_work.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/multi_site_configuration/multisite_topologies.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/multi_site_configuration/multisite_topologies.html.md.erb b/geode-docs/topologies_and_comm/multi_site_configuration/multisite_topologies.html.md.erb
index 2e3aa26..4b5753b 100644
--- a/geode-docs/topologies_and_comm/multi_site_configuration/multisite_topologies.html.md.erb
+++ b/geode-docs/topologies_and_comm/multi_site_configuration/multisite_topologies.html.md.erb
@@ -2,6 +2,23 @@
 title:  Multi-site (WAN) Topologies
 ---
 
+<!--
+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.
+-->
+
 To configure your multi-site topology, you should understand the recommended topologies and the topologies to avoid.
 
 <a id="multisite_topologies__section_26A561471249495A847B4C3854EE04C9"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/multi_site_configuration/setting_up_a_multisite_system.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/multi_site_configuration/setting_up_a_multisite_system.html.md.erb b/geode-docs/topologies_and_comm/multi_site_configuration/setting_up_a_multisite_system.html.md.erb
index 7733600..0b5091d 100644
--- a/geode-docs/topologies_and_comm/multi_site_configuration/setting_up_a_multisite_system.html.md.erb
+++ b/geode-docs/topologies_and_comm/multi_site_configuration/setting_up_a_multisite_system.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configuring a Multi-site (WAN) System
 ---
 
+<!--
+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.
+-->
+
 Plan and configure your multi-site topology, and configure the regions that will be shared between systems.
 
 ## <a id="setting_up_a_multisite_system__section_5DF2D8D199364E6C8B7F83382A134B5E" class="no-quick-link"></a>Prerequisites

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/p2p_configuration/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/p2p_configuration/chapter_overview.html.md.erb b/geode-docs/topologies_and_comm/p2p_configuration/chapter_overview.html.md.erb
index d17f770..22c026f 100644
--- a/geode-docs/topologies_and_comm/p2p_configuration/chapter_overview.html.md.erb
+++ b/geode-docs/topologies_and_comm/p2p_configuration/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Peer-to-Peer Configuration
 ---
 
+<!--
+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.
+-->
+
 Use peer-to-peer configuration to set member discovery and communication within a single distributed system.
 
 -   **[Configuring Peer-to-Peer Discovery](../../topologies_and_comm/p2p_configuration/setting_up_a_p2p_system.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/p2p_configuration/configuring_peer_member_groups.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/p2p_configuration/configuring_peer_member_groups.html.md.erb b/geode-docs/topologies_and_comm/p2p_configuration/configuring_peer_member_groups.html.md.erb
index da693b3..8caabf7 100644
--- a/geode-docs/topologies_and_comm/p2p_configuration/configuring_peer_member_groups.html.md.erb
+++ b/geode-docs/topologies_and_comm/p2p_configuration/configuring_peer_member_groups.html.md.erb
@@ -2,6 +2,23 @@
 title:  Organizing Peers into Logical Member Groups
 ---
 
+<!--
+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.
+-->
+
 In a peer-to-peer configuration, you can organize members into logical member groups and use those groups to associate specific data or assign tasks to a pre-defined set of members.
 
 <a id="concept_032521546EF34FABB40EB2C18080ED35__section_411EA6C46AD4456C987C0759A05340F2"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/p2p_configuration/setting_up_a_p2p_system.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/p2p_configuration/setting_up_a_p2p_system.html.md.erb b/geode-docs/topologies_and_comm/p2p_configuration/setting_up_a_p2p_system.html.md.erb
index 207549d..6227646 100644
--- a/geode-docs/topologies_and_comm/p2p_configuration/setting_up_a_p2p_system.html.md.erb
+++ b/geode-docs/topologies_and_comm/p2p_configuration/setting_up_a_p2p_system.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configuring Peer-to-Peer Discovery
 ---
 
+<!--
+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.
+-->
+
 Peer members discover each other using one or more locators.
 
 <a id="setting_up_membership__section_8C0147A16D5A488FB9C0EB765BDEC07B"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/p2p_configuration/setting_up_peer_communication.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/p2p_configuration/setting_up_peer_communication.html.md.erb b/geode-docs/topologies_and_comm/p2p_configuration/setting_up_peer_communication.html.md.erb
index da2eea3..9598aa6 100644
--- a/geode-docs/topologies_and_comm/p2p_configuration/setting_up_peer_communication.html.md.erb
+++ b/geode-docs/topologies_and_comm/p2p_configuration/setting_up_peer_communication.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configuring Peer Communication
 ---
 
+<!--
+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.
+-->
+
 By default Apache Geode uses TCP for communication between members of a single distributed system. You can modify this at the member and region levels.
 
 <a id="setting_up_communication__section_34509F5B17A943D8BBF19A3497E32BAE"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/topology_concepts/IPv4_and_IPv6.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/topology_concepts/IPv4_and_IPv6.html.md.erb b/geode-docs/topologies_and_comm/topology_concepts/IPv4_and_IPv6.html.md.erb
index 4b972eb..07f0328 100644
--- a/geode-docs/topologies_and_comm/topology_concepts/IPv4_and_IPv6.html.md.erb
+++ b/geode-docs/topologies_and_comm/topology_concepts/IPv4_and_IPv6.html.md.erb
@@ -2,6 +2,23 @@
 title:  Choosing Between IPv4 and IPv6
 ---
 
+<!--
+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.
+-->
+
 By default, Apache Geode uses Internet Protocol version 4 for Geode address specifications. You can switch to Internet Protocol version 6 if all your machines support it. You may lose performance, so you need to understand the costs of making the switch.
 
 <a id="IPv4_and_IPv6__section_027647C0034042C087FD5C8DBCB8482B"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/topology_concepts/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/topology_concepts/chapter_overview.html.md.erb b/geode-docs/topologies_and_comm/topology_concepts/chapter_overview.html.md.erb
index 5d346bc..95d0a3f 100644
--- a/geode-docs/topologies_and_comm/topology_concepts/chapter_overview.html.md.erb
+++ b/geode-docs/topologies_and_comm/topology_concepts/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Topology and Communication General Concepts
 ---
 
+<!--
+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.
+-->
+
 Before you configure your Apache Geode members, make sure you understand the options for topology and communication.
 
 -   **[Topology Types](../../topologies_and_comm/topology_concepts/topology_types.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/topology_concepts/how_communication_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/topology_concepts/how_communication_works.html.md.erb b/geode-docs/topologies_and_comm/topology_concepts/how_communication_works.html.md.erb
index c7b0174..9739e10 100644
--- a/geode-docs/topologies_and_comm/topology_concepts/how_communication_works.html.md.erb
+++ b/geode-docs/topologies_and_comm/topology_concepts/how_communication_works.html.md.erb
@@ -2,6 +2,23 @@
 title:  How Communication Works
 ---
 
+<!--
+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.
+-->
+
 Geode uses a combination of TCP and UDP unicast and multicast for communication between members. You can change the default behavior to optimize communication for your system.
 
 Client/server communication and gateway sender to gateway receiver communication uses TCP/IP sockets. The server listens for client communication at a published address and the client establishes the connection, sending its location. Similarly, the gateway receiver listens for gateway sender communication and the connection is established between sites.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/topology_concepts/how_member_discovery_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/topology_concepts/how_member_discovery_works.html.md.erb b/geode-docs/topologies_and_comm/topology_concepts/how_member_discovery_works.html.md.erb
index 97d8922..7123c9d 100644
--- a/geode-docs/topologies_and_comm/topology_concepts/how_member_discovery_works.html.md.erb
+++ b/geode-docs/topologies_and_comm/topology_concepts/how_member_discovery_works.html.md.erb
@@ -2,6 +2,23 @@
 title:  How Member Discovery Works
 ---
 
+<!--
+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.
+-->
+
 Apache Geode provides various options for member discovery within a distributed system and between clients and servers.
 
 -   [Peer Member Discovery](how_member_discovery_works.html#how_member_discovery_works__section_F2B8EBF2909440BD90B4CDEE0CAA0C2A)

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/topology_concepts/how_multisite_systems_work.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/topology_concepts/how_multisite_systems_work.html.md.erb b/geode-docs/topologies_and_comm/topology_concepts/how_multisite_systems_work.html.md.erb
index 737c1fb..bbdd813 100644
--- a/geode-docs/topologies_and_comm/topology_concepts/how_multisite_systems_work.html.md.erb
+++ b/geode-docs/topologies_and_comm/topology_concepts/how_multisite_systems_work.html.md.erb
@@ -2,6 +2,23 @@
 title:  How Multi-site (WAN) Systems Work
 ---
 
+<!--
+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.
+-->
+
 The Apache Geode multi-site implementation connects disparate distributed systems. The systems act as one when they are coupled, and they act as independent systems when communication between sites fails. The coupling is tolerant of weak or slow links between distributed system sites. A wide-area network (WAN) is the main use case for the multi-site topology.
 
 -   **[Overview of Multi-site Caching](../../topologies_and_comm/topology_concepts/multisite_overview.html#topic_70045702D3994BC692E75102CE01BD7C)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/topology_concepts/how_server_discovery_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/topology_concepts/how_server_discovery_works.html.md.erb b/geode-docs/topologies_and_comm/topology_concepts/how_server_discovery_works.html.md.erb
index f57bd69..4abcd8a 100644
--- a/geode-docs/topologies_and_comm/topology_concepts/how_server_discovery_works.html.md.erb
+++ b/geode-docs/topologies_and_comm/topology_concepts/how_server_discovery_works.html.md.erb
@@ -2,6 +2,23 @@
 title:  How Server Discovery Works
 ---
 
+<!--
+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.
+-->
+
 Apache Geode locators provide reliable and flexible server discovery services for your clients. You can use all servers for all client requests, or group servers according to function, with the locators directing each client request to the right group of servers.
 
 <a id="how_server_discovery_works__section_91AC081D4C48408B9ABA40430F161E73"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/topology_concepts/how_the_pool_manages_connections.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/topology_concepts/how_the_pool_manages_connections.html.md.erb b/geode-docs/topologies_and_comm/topology_concepts/how_the_pool_manages_connections.html.md.erb
index b5581cc..c0c93ab 100644
--- a/geode-docs/topologies_and_comm/topology_concepts/how_the_pool_manages_connections.html.md.erb
+++ b/geode-docs/topologies_and_comm/topology_concepts/how_the_pool_manages_connections.html.md.erb
@@ -2,6 +2,23 @@
 title:  How Client/Server Connections Work
 ---
 
+<!--
+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.
+-->
+
 The server pools in your Apache Geode client processes manage all client connection requests to the server tier. To make the best use of the pool functionality, you should understand how the pool manages the server connections.
 
 <a id="how_the_pool_manages_connections__section_2C419926908B4A3599FF0B8EAB7E69A1"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/topology_concepts/member_communication.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/topology_concepts/member_communication.html.md.erb b/geode-docs/topologies_and_comm/topology_concepts/member_communication.html.md.erb
index 0239036..2826224 100644
--- a/geode-docs/topologies_and_comm/topology_concepts/member_communication.html.md.erb
+++ b/geode-docs/topologies_and_comm/topology_concepts/member_communication.html.md.erb
@@ -2,6 +2,23 @@
 title:  Planning Topology and Communication
 ---
 
+<!--
+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.
+-->
+
 Create a topology plan and a detailed list of machines and communication ports that your members will use. Configure your Apache Geode systems and the communication between systems.
 
 ## <a id="membership_and_communication__section_AC0D7685A2CA4999A40BCEFD514BF599" class="no-quick-link"></a>Determine Protocols and Addresses

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/topology_concepts/multisite_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/topology_concepts/multisite_overview.html.md.erb b/geode-docs/topologies_and_comm/topology_concepts/multisite_overview.html.md.erb
index 321cb0e..2ad9a38 100644
--- a/geode-docs/topologies_and_comm/topology_concepts/multisite_overview.html.md.erb
+++ b/geode-docs/topologies_and_comm/topology_concepts/multisite_overview.html.md.erb
@@ -1,6 +1,23 @@
 ---
 title: Overview of Multi-site Caching
 ---
+
+<!--
+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="topic_70045702D3994BC692E75102CE01BD7C"></a>
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/topology_concepts/topology_types.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/topology_concepts/topology_types.html.md.erb b/geode-docs/topologies_and_comm/topology_concepts/topology_types.html.md.erb
index e44a0f6..fbc51ca 100644
--- a/geode-docs/topologies_and_comm/topology_concepts/topology_types.html.md.erb
+++ b/geode-docs/topologies_and_comm/topology_concepts/topology_types.html.md.erb
@@ -2,6 +2,23 @@
 title:  Topology Types
 ---
 
+<!--
+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.
+-->
+
 The Apache Geode topology options allow you to scale horizontally and vertically.
 
 Apache Geode provides a variety of cache topologies:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/topologies_and_comm/topology_concepts/using_bind_addresses.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/topologies_and_comm/topology_concepts/using_bind_addresses.html.md.erb b/geode-docs/topologies_and_comm/topology_concepts/using_bind_addresses.html.md.erb
index 617bfdd..833e3fa 100644
--- a/geode-docs/topologies_and_comm/topology_concepts/using_bind_addresses.html.md.erb
+++ b/geode-docs/topologies_and_comm/topology_concepts/using_bind_addresses.html.md.erb
@@ -2,6 +2,23 @@
 title:  Using Bind Addresses
 ---
 
+<!--
+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.
+-->
+
 You use a bind address configuration to send network traffic through non-default network cards and to distribute the load of network traffic for Geode across multiple cards. If no bind address setting is found, Geode uses the host machine's default address.
 
 <a id="using_bind_addresses__section_6063D5004787488A90EC03085991F902"></a>


[43/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/outside_data_sources/sync_outside_data.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/outside_data_sources/sync_outside_data.html.md.erb b/developing/outside_data_sources/sync_outside_data.html.md.erb
deleted file mode 100644
index 54e4f48..0000000
--- a/developing/outside_data_sources/sync_outside_data.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  Keeping the Cache in Sync with Outside Data Sources
----
-
-Keep your distributed cache in sync with an outside data source by programming and installing application plug-ins for your region.
-
--   **[Overview of Outside Data Sources](../../developing/outside_data_sources/chapter_overview.html)**
-
-    Apache Geode has application plug-ins to read data into the cache and write it out.
-
--   **[How Data Loaders Work](../../developing/outside_data_sources/how_data_loaders_work.html)**
-
-    By default, a region has no data loader defined. Plug an application-defined loader into any region by setting the region attribute cache-loader on the members that host data for the region.
-
--   **[Implement a Data Loader](../../developing/outside_data_sources/implementing_data_loaders.html)**
-
-    Program a data loader and configure your region to use it.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/partitioned_regions/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/partitioned_regions/chapter_overview.html.md.erb b/developing/partitioned_regions/chapter_overview.html.md.erb
deleted file mode 100644
index 56e65e1..0000000
--- a/developing/partitioned_regions/chapter_overview.html.md.erb
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title:  Partitioned Regions
----
-
-In addition to basic region management, partitioned regions include options for high availability, data location control, and data balancing across the distributed system.
-
--   **[Understanding Partitioning](../../developing/partitioned_regions/how_partitioning_works.html)**
-
-    To use partitioned regions, you should understand how they work and your options for managing them.
-
--   **[Configuring Partitioned Regions](../../developing/partitioned_regions/managing_partitioned_regions.html)**
-
-    Plan the configuration and ongoing management of your partitioned region for host and accessor members and configure the regions for startup.
-
--   **[Configuring the Number of Buckets for a Partitioned Region](../../developing/partitioned_regions/configuring_bucket_for_pr.html)**
-
-    Decide how many buckets to assign to your partitioned region and set the configuration accordingly.
-
--   **[Custom-Partitioning and Colocating Data](../../developing/partitioned_regions/overview_custom_partitioning_and_data_colocation.html)**
-
-    You can customize how Apache Geode groups your partitioned region data with custom partitioning and data colocation.
-
--   **[Configuring High Availability for Partitioned Regions](../../developing/partitioned_regions/overview_how_pr_ha_works.html)**
-
-    By default, Apache Geode stores only a single copy of your partitioned region data among the region's data stores. You can configure Geode to maintain redundant copies of your partitioned region data for high availability.
-
--   **[Configuring Single-Hop Client Access to Server-Partitioned Regions](../../developing/partitioned_regions/overview_how_pr_single_hop_works.html)**
-
-    Single-hop data access enables the client pool to track where a partitioned region\u2019s data is hosted in the servers. To access a single entry, the client directly contacts the server that hosts the key, in a single hop.
-
--   **[Rebalancing Partitioned Region Data](../../developing/partitioned_regions/rebalancing_pr_data.html)**
-
-    In a distributed system with minimal contention to the concurrent threads reading or updating from the members, you can use rebalancing to dynamically increase or decrease your data and processing capacity.
-
--   **[Checking Redundancy in Partitioned Regions](../../developing/partitioned_regions/checking_region_redundancy.html)**
-
-    Under some circumstances, it can be important to verify that your partitioned region data is redundant and that upon member restart, redundancy has been recovered properly across partitioned region members.
-
--   **[Moving Partitioned Region Data to Another Member](../../developing/partitioned_regions/moving_partitioned_data.html)**
-
-    You can use the `PartitionRegionHelper` `moveBucketByKey` and `moveData` methods to explicitly move partitioned region data from one member to another.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/partitioned_regions/checking_region_redundancy.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/partitioned_regions/checking_region_redundancy.html.md.erb b/developing/partitioned_regions/checking_region_redundancy.html.md.erb
deleted file mode 100644
index a35de98..0000000
--- a/developing/partitioned_regions/checking_region_redundancy.html.md.erb
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title:  Checking Redundancy in Partitioned Regions
----
-
-Under some circumstances, it can be important to verify that your partitioned region data is redundant and that upon member restart, redundancy has been recovered properly across partitioned region members.
-
-You can verify partitioned region redundancy by making sure that the `numBucketsWithoutRedundancy` statistic is **zero** for all your partitioned regions. To check this statistic, use the following `gfsh` command:
-
-``` pre
-gfsh>show metrics --categories=partition --region=region_name
-```
-
-For example:
-
-``` pre
-gfsh>show metrics --categories=partition --region=posts
-
-Cluster-wide Region Metrics
---------- | --------------------------- | -----
-partition | putLocalRate                | 0
-          | putRemoteRate               | 0
-          | putRemoteLatency            | 0
-          | putRemoteAvgLatency         | 0
-          | bucketCount                 | 1
-          | primaryBucketCount          | 1
-          | numBucketsWithoutRedundancy | 1
-          | minBucketSize               | 1
-          | maxBucketSize               | 0
-          | totalBucketSize             | 1
-          | averageBucketSize           | 1
-      
-```
-
-If you have `start-recovery-delay=-1` configured for your partitioned region, you will need to perform a rebalance on your region after you restart any members in your cluster in order to recover redundancy.
-
-If you have `start-recovery-delay` set to a low number, you may need to wait extra time until the region has recovered redundancy.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/partitioned_regions/colocating_partitioned_region_data.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/partitioned_regions/colocating_partitioned_region_data.html.md.erb b/developing/partitioned_regions/colocating_partitioned_region_data.html.md.erb
deleted file mode 100644
index f8f13a6..0000000
--- a/developing/partitioned_regions/colocating_partitioned_region_data.html.md.erb
+++ /dev/null
@@ -1,111 +0,0 @@
----
-title:  Colocate Data from Different Partitioned Regions
----
-
-By default, Geode allocates the data locations for a partitioned region independent of the data locations for any other partitioned region. You can change this policy for any group of partitioned regions, so that cross-region, related data is all hosted by the same member. This colocation speeds queries and other operations that access data from the regions.
-
-<a id="colocating_partitioned_region_data__section_131EC040055E48A6B35E981B5C845A65"></a>
-**Note:**
-If you are colocating data between regions and custom partitioning the data in the regions, all colocated regions must use partitioning mechanisms that return the same routing object. The most common approach, though not the only one, is for all colocated regions to use the same custom PartitionResolver. See [Custom-Partition Your Region Data](using_custom_partition_resolvers.html).
-
-Data colocation between partitioned regions generally improves the performance of data-intensive operations. You can reduce network hops for iterative operations on related data sets. Compute-heavy applications that are data-intensive can significantly increase overall throughput. For example, a query run on a patient's health records, insurance, and billing information is more efficient if all data is grouped in a single member. Similarly, a financial risk analytical application runs faster if all trades, risk sensitivities, and reference data associated with a single instrument are together.
-
-**Prerequisites**
-
-<a id="colocating_partitioned_region_data__section_5A8D752F02834146A37D9430F1CA32DA"></a>
-
--   Understand how to configure and create your partitioned regions. See [Understanding Partitioning](how_partitioning_works.html) and [Configuring Partitioned Regions](managing_partitioned_regions.html#configure_partitioned_regions).
--   (Optional) Understand how to custom-partition your data. See [Custom-Partition Your Region Data](using_custom_partition_resolvers.html).
--   (Optional) If you want your colocated regions to be highly available, understand how high availability for partitioned regions works. See [Understanding High Availability for Partitioned Regions](how_pr_ha_works.html#how_pr_ha_works).
--   (Optional) Understand how to persist your region data. See [Configure Region Persistence and Overflow](../storing_data_on_disk/storing_data_on_disk.html).
-
-**Procedure**
-
-1.  Identify one region as the central region, with which data in the other regions is explicitly colocated. If you use persistence for any of the regions, you must persist the central region.
-    1.  Create the central region before you create the others, either in the cache.xml or your code. Regions in the XML are created before regions in the code, so if you create any of your colocated regions in the XML, you must create the central region in the XML before the others. Geode will verify its existence when the others are created and return `IllegalStateException` if the central region is not there. Do not add any colocation specifications to this central region.
-    2.  For all other regions, in the region partition attributes, provide the central region's name in the `colocated-with` attribute. Use one of these methods:
-        -   XML:
-
-            ``` pre
-            <cache> 
-                <region name="trades"> 
-                    <region-attributes> 
-                        <partition-attributes>  
-                            ...
-                        <partition-attributes> 
-                    </region-attributes> 
-                </region> 
-                <region name="trade_history"> 
-                    <region-attributes> 
-                        <partition-attributes colocated-with="trades">   
-                            ...
-                        <partition-attributes> 
-                    </region-attributes> 
-                </region> 
-            </cache> 
-            ```
-        -   Java:
-
-            ``` pre
-            PartitionAttributes attrs = ...
-            Region trades = new RegionFactory().setPartitionAttributes(attrs).create("trades");
-            ...
-            attrs = new PartitionAttributesFactory().setColocatedWith(trades.getFullPath()).create();
-            Region trade_history = new RegionFactory().setPartitionAttributes(attrs).create("trade_history");
-            ```
-        -   gfsh:
-
-            ``` pre
-            gfsh>create region --name="trades" type=PARTITION
-            gfsh> create region --name="trade_history" --colocated-with="trades"
-            ```
-
-2.  For each of the colocated regions, use the same values for these partition attributes related to bucket management:
-    -   `recovery-delay`
-    -   `redundant-copies`
-    -   `startup-recovery-delay`
-    -   `total-num-buckets`
-
-3.  If you custom partition your region data, provide the same custom resolver to all colocated regions:
-    -   XML:
-
-        ``` pre
-        <cache> 
-            <region name="trades"> 
-                <region-attributes> 
-                    <partition-attributes>  
-                    <partition-resolver name="TradesPartitionResolver"> 
-                        <class-name>myPackage.TradesPartitionResolver
-                        </class-name>
-                    <partition-attributes> 
-                </region-attributes> 
-            </region> 
-            <region name="trade_history"> 
-                <region-attributes> 
-                    <partition-attributes colocated-with="trades">   
-                    <partition-resolver name="TradesPartitionResolver"> 
-                        <class-name>myPackage.TradesPartitionResolver
-                        </class-name>
-                    <partition-attributes> 
-                </region-attributes> 
-            </region> 
-        </cache> 
-        ```
-    -   Java:
-
-        ``` pre
-        PartitionResolver resolver = new TradesPartitionResolver();
-        PartitionAttributes attrs = 
-            new PartitionAttributesFactory()
-            .setPartitionResolver(resolver).create();
-        Region trades = new RegionFactory().setPartitionAttributes(attrs).create("trades");
-        attrs = new PartitionAttributesFactory()
-            .setColocatedWith(trades.getFullPath()).setPartitionResolver(resolver).create();
-        Region trade_history = new RegionFactory().setPartitionAttributes(attrs).create("trade_history");
-        ```
-    -   gfsh:
-
-        You cannot specify a partition resolver using gfsh.
-
-4.  If you want to persist data in the colocated regions, persist the central region and then persist the other regions as needed. Use the same disk store for all of the colocated regions that you persist.
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/partitioned_regions/configure_pr_single_hop.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/partitioned_regions/configure_pr_single_hop.html.md.erb b/developing/partitioned_regions/configure_pr_single_hop.html.md.erb
deleted file mode 100644
index 5518905..0000000
--- a/developing/partitioned_regions/configure_pr_single_hop.html.md.erb
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title:  Configure Client Single-Hop Access to Server-Partitioned Regions
----
-
-Configure your client/server system for direct, single-hop access to partitioned region data in the servers.
-
-This requires a client/server installation that uses one or more partitioned regions on the server.
-
-1.  
-
-    Verify the client's pool attribute, `pr-single-hop-enabled` is not set or is set to true. It is true by default. 
-2.  
-
-    If possible, leave the pool\u2019s `max-connections` at the default unlimited setting (-1). 
-3.  
-
-    If possible, use a custom data resolver to partition your server region data according to your clients' data use patterns. See [Custom-Partition Your Region Data](using_custom_partition_resolvers.html). Include the server\u2019s partition resolver implementation in the client\u2019s `CLASSPATH`. The server passes the name of the resolver for each custom partitioned region, so the client uses the proper one. If the server does not use a partition resolver, the default partitioning between server and client matches, so single hop works. 
-4.  
-
-    Add single-hop considerations to your overall server load balancing plan. Single-hop uses data location rather than least loaded server to pick the servers for single-key operations. Poorly balanced single-hop data access can affect overall client/server load balancing. Some counterbalancing is done automatically because the servers with more single-key operations become more loaded and are less likely to be picked for other operations. 
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/partitioned_regions/configuring_bucket_for_pr.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/partitioned_regions/configuring_bucket_for_pr.html.md.erb b/developing/partitioned_regions/configuring_bucket_for_pr.html.md.erb
deleted file mode 100644
index 7ee7133..0000000
--- a/developing/partitioned_regions/configuring_bucket_for_pr.html.md.erb
+++ /dev/null
@@ -1,53 +0,0 @@
----
-title:  Configuring the Number of Buckets for a Partitioned Region
----
-
-Decide how many buckets to assign to your partitioned region and set the configuration accordingly.
-
-<a id="configuring_total_buckets__section_DF52B2BF467F4DB4B8B3D16A79EFCA39"></a>
-The total number of buckets for the partitioned region determines the granularity of data storage and thus how evenly the data can be distributed. Geode distributes the buckets as evenly as possible across the data stores. The number of buckets is fixed after region creation.
-
-The partition attribute `total-num-buckets` sets the number for the entire partitioned region across all participating members. Set it using one of the following:
-
--   XML:
-
-    ``` pre
-    <region name="PR1"> 
-      <region-attributes refid="PARTITION"> 
-        <partition-attributes total-num-buckets="7"/> 
-      </region-attributes> 
-    </region> 
-    ```
-
--   Java:
-
-    ``` pre
-    RegionFactory rf = 
-        cache.createRegionFactory(RegionShortcut.PARTITION);
-    rf.setPartitionAttributes(new PartitionAttributesFactory().setTotalNumBuckets(7).create());
-    custRegion = rf.create("customer");
-    ```
-
--   gfsh:
-
-    Use the <span class="keyword parmname">--total-num-buckets</span> parameter of the `create region` command. For example:
-
-    ``` pre
-    gfsh>create region --name="PR1" --type=PARTITION --total-num-buckets=7
-    ```
-
-## <a id="configuring_total_buckets__section_C956D9BA41C546F89D07DCFE901E539F" class="no-quick-link"></a>Calculate the Total Number of Buckets for a Partitioned Region
-
-Follow these guidelines to calculate the total number of buckets for the partitioned region:
-
--   Use a prime number. This provides the most even distribution.
--   Make it at least four times as large as the number of data stores you expect to have for the region. The larger the ratio of buckets to data stores, the more evenly the load can be spread across the members. Note that there is a trade-off between load balancing and overhead, however. Managing a bucket introduces significant overhead, especially with higher levels of redundancy.
-
-You are trying to avoid the situation where some members have significantly more data entries than others. For example, compare the next two figures. This figure shows a region with three data stores and seven buckets. If all the entries are accessed at about the same rate, this configuration creates a hot spot in member M3, which has about fifty percent more data than the other data stores. M3 is likely to be a slow receiver and potential point of failure.
-
-<img src="../../images_svg/partitioned_data_buckets_1.svg" id="configuring_total_buckets__image_04B05CE3C732430C84D967A062D9EDDA" class="image" />
-
-Configuring more buckets gives you fewer entries in a bucket and a more balanced data distribution. This figure uses the same data as before but increases the number of buckets to 13. Now the data entries are distributed more evenly.
-
-<img src="../../images_svg/partitioned_data_buckets_2.svg" id="configuring_total_buckets__image_326202046D07414391BA5CBA474920CA" class="image" />
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/partitioned_regions/configuring_ha_for_pr.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/partitioned_regions/configuring_ha_for_pr.html.md.erb b/developing/partitioned_regions/configuring_ha_for_pr.html.md.erb
deleted file mode 100644
index a9a98fb..0000000
--- a/developing/partitioned_regions/configuring_ha_for_pr.html.md.erb
+++ /dev/null
@@ -1,41 +0,0 @@
----
-title:  Configure High Availability for a Partitioned Region
----
-
-Configure in-memory high availability for your partitioned region. Set other high-availability options, like redundancy zones and redundancy recovery strategies.
-
-Here are the main steps for configuring high availability for a partitioned region. See later sections for details.
-
-1.  Set the number of redundant copies the system should maintain of the region data. See [Set the Number of Redundant Copies](set_pr_redundancy.html#set_pr_redundancy). 
-2.  (Optional) If you want to group your data store members into redundancy zones, configure them accordingly. See [Configure Redundancy Zones for Members](set_redundancy_zones.html#set_redundancy_zones). 
-3.  (Optional) If you want Geode to only place redundant copies on different physical machines, configure for that. See [Set Enforce Unique Host](set_enforce_unique_host.html#set_pr_redundancy). 
-4.  Decide how to manage redundancy recovery and change Geode's default behavior as needed. 
-    - **After a member crashes**. If you want automatic redundancy recovery, change the configuration for that. See [Configure Member Crash Redundancy Recovery for a Partitioned Region](set_crash_redundancy_recovery.html#set_crash_redundancy_recovery). 
-    - **After a member joins**. If you do *not* want immediate, automatic redundancy recovery, change the configuration for that. See [Configure Member Join Redundancy Recovery for a Partitioned Region](set_join_redundancy_recovery.html#set_join_redundancy_recovery). 
-
-5.  Decide how many buckets Geode should attempt to recover in parallel when performing redundancy recovery. By default, the system recovers up to 8 buckets in parallel. Use the `gemfire.MAX_PARALLEL_BUCKET_RECOVERIES` system property to increase or decrease the maximum number of buckets to recover in parallel any time redundancy recovery is performed.
-6.  For all but fixed partitioned regions, review the points at which you kick off rebalancing. Redundancy recovery is done automatically at the start of any rebalancing. This is most important if you run with no automated recovery after member crashes or joins. See [Rebalancing Partitioned Region Data](rebalancing_pr_data.html#rebalancing_pr_data). 
-
-During runtime, you can add capacity by adding new members for the region. For regions that do not use fixed partitioning, you can also kick off a rebalancing operation to spread the region buckets among all members.
-
--   **[Set the Number of Redundant Copies](../../developing/partitioned_regions/set_pr_redundancy.html)**
-
-    Configure in-memory high availability for your partitioned region by specifying the number of secondary copies you want to maintain in the region's data stores.
-
--   **[Configure Redundancy Zones for Members](../../developing/partitioned_regions/set_redundancy_zones.html)**
-
-    Group members into redundancy zones so Geode will separate redundant data copies into different zones.
-
--   **[Set Enforce Unique Host](../../developing/partitioned_regions/set_enforce_unique_host.html)**
-
-    Configure Geode to use only unique physical machines for redundant copies of partitioned region data.
-
--   **[Configure Member Crash Redundancy Recovery for a Partitioned Region](../../developing/partitioned_regions/set_crash_redundancy_recovery.html)**
-
-    Configure whether and how redundancy is recovered in a partition region after a member crashes.
-
--   **[Configure Member Join Redundancy Recovery for a Partitioned Region](../../developing/partitioned_regions/set_join_redundancy_recovery.html)**
-
-    Configure whether and how redundancy is recovered in a partition region after a member joins.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/partitioned_regions/custom_partitioning_and_data_colocation.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/partitioned_regions/custom_partitioning_and_data_colocation.html.md.erb b/developing/partitioned_regions/custom_partitioning_and_data_colocation.html.md.erb
deleted file mode 100644
index 0cd5f63..0000000
--- a/developing/partitioned_regions/custom_partitioning_and_data_colocation.html.md.erb
+++ /dev/null
@@ -1,41 +0,0 @@
----
-title:  Understanding Custom Partitioning and Data Colocation
----
-
-Custom partitioning and data colocation can be used separately or in conjunction with one another.
-
-## <a id="custom_partitioning_and_data_colocation__section_ABFEE9CB17AF44F1AE252AC10FB5E999" class="no-quick-link"></a>Custom Partitioning
-
-Use custom partitioning to group like entries into region buckets within a region. By default, Geode assigns new entries to buckets based on the entry key contents. With custom partitioning, you can assign your entries to buckets in whatever way you want.
-
-You can generally get better performance if you use custom partitioning to group similar data within a region. For example, a query run on all accounts created in January runs faster if all January account data is hosted by a single member. Grouping all data for a single customer can improve performance of data operations that work on customer data. Data aware function execution takes advantage of custom partitioning.
-
-This figure shows a region with customer data that is grouped into buckets by customer.
-
-<img src="../../images_svg/custom_partitioned.svg" id="custom_partitioning_and_data_colocation__image_1D37D547D3244171BB9CADAEC88E7649" class="image" />
-
-With custom partitioning, you have two choices:
-
--   **Standard custom partitioning**. With standard partitioning, you group entries into buckets, but you do not specify where the buckets reside. Geode always keeps the entries in the buckets you have specified, but may move the buckets around for load balancing.
--   **Fixed custom partitioning**. With fixed partitioning, you provide standard partitioning plus you specify the exact member where each data entry resides. You do this by assigning the data entry to a bucket and to a partition and by naming specific members as primary and secondary hosts of each partition.
-
-    This gives you complete control over the locations of your primary and any secondary buckets for the region. This can be useful when you want to store specific data on specific physical machines or when you need to keep data close to certain hardware elements.
-
-    Fixed partitioning has these requirements and caveats:
-
-    -   Geode cannot rebalance fixed partition region data because it cannot move the buckets around among the host members. You must carefully consider your expected data loads for the partitions you create.
-    -   With fixed partitioning, the region configuration is different between host members. Each member identifies the named partitions it hosts, and whether it is hosting the primary copy or a secondary copy. You then program fixed partition resolver to return the partition id, so the entry is placed on the right members. Only one member can be primary for a particular partition name and that member cannot be the partition's secondary.
-
-## <a id="custom_partitioning_and_data_colocation__section_D2C66951FE38426F9C05050D2B9028D8" class="no-quick-link"></a>Data Colocation Between Regions
-
-With data colocation, Geode stores entries that are related across multiple data regions in a single member. Geode does this by storing all of the regions' buckets with the same ID together in the same member. During rebalancing operations, Geode moves these bucket groups together or not at all.
-
-So, for example, if you have one region with customer contact information and another region with customer orders, you can use colocation to keep all contact information and all orders for a single customer in a single member. This way, any operation done for a single customer uses the cache of only a single member.
-
-This figure shows two regions with data colocation where the data is partitioned by customer type.
-
-<img src="../../images_svg/colocated_partitioned_regions.svg" id="custom_partitioning_and_data_colocation__image_525AC474950F473ABCDE8E372583C5DF" class="image" />
-
-Data colocation requires the same data partitioning mechanism for all of the colocated regions. You can use the default partitioning provided by Geode or custom partitioning.
-
-You must use the same high availability settings across your colocated regions.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/partitioned_regions/how_partitioning_works.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/partitioned_regions/how_partitioning_works.html.md.erb b/developing/partitioned_regions/how_partitioning_works.html.md.erb
deleted file mode 100644
index 68e8dd2..0000000
--- a/developing/partitioned_regions/how_partitioning_works.html.md.erb
+++ /dev/null
@@ -1,41 +0,0 @@
----
-title:  Understanding Partitioning
----
-
-To use partitioned regions, you should understand how they work and your options for managing them.
-
-<a id="how_partitioning_works__section_B540C49A80124551853AFCE2DE6BCFE8"></a>
-During operation, a partitioned region looks like one large virtual region, with the same logical view held by all of the members where the region is defined.
-<img src="../../images_svg/how_partitioning_works_1.svg" id="how_partitioning_works__image_305566EA091A4CBBB108BE0EA7658C0A" class="image" />
-
-For each member where you define the region, you can choose how much space to allow for region data storage, including no local storage at all. The member can access all region data regardless of how much is stored locally.
-<img src="../../images_svg/how_partitioning_works_2.svg" id="how_partitioning_works__image_773C91B76D5E4739A1F81D9DF918BCDB" class="image" />
-
-A distributed system can have multiple partitioned regions, and it can mix partitioned regions with distributed regions and local regions. The usual requirement for unique region names, except for regions with local scope, still applies. A single member can host multiple partitioned regions.
-
-## <a id="how_partitioning_works__section_260C2455FC8C40A094B39BF585D06B7D" class="no-quick-link"></a>Data Partitioning
-
-Geode automatically determines the physical location of data in the members that host a partitioned region's data. Geode breaks partitioned region data into units of storage known as buckets and stores each bucket in a region host member. Buckets are distributed in accordance to the member\u2019s region attribute settings.
-
-When an entry is created, it is assigned to a bucket. Keys are grouped together in a bucket and always remain there. If the configuration allows, the buckets may be moved between members to balance the load.
-
-You must run the data stores needed to accommodate storage for the partitioned region\u2019s buckets. You can start new data stores on the fly. When a new data store creates the region, it takes responsibility for as many buckets as allowed by the partitioned region and member configuration.
-
-You can customize how Geode groups your partitioned region data with custom partitioning and data colocation.
-
-## <a id="how_partitioning_works__section_155F9D4AB539473F848FD05E413B21B3" class="no-quick-link"></a>Partitioned Region Operation
-
-A partitioned region operates much like a non-partitioned region with distributed scope. Most of the standard `Region` methods are available, although some methods that are normally local operations become distributed operations, because they work on the partitioned region as a whole instead of the local cache. For example, a `put` or `create` into a partitioned region may not actually be stored into the cache of the member that called the operation. The retrieval of any entry requires no more than one hop between members.
-
-Partitioned regions support the client/server model, just like other regions. If you need to connect dozens of clients to a single partitioned region, using servers greatly improves performance.
-
-## <a id="how_partitioning_works__section_3B47A291ADAB4988AF9D0DF34BC2CDAC" class="no-quick-link"></a>Additional Information About Partitioned Regions
-
-Keep the following in mind about partitioned regions:
-
--   Partitioned regions never run asynchronously. Operations in partitioned regions always wait for acknowledgement from the caches containing the original data entry and any redundant copies.
--   A partitioned region needs a cache loader in every region data store (`local-max-memory` &gt; 0).
--   Geode distributes the data buckets as evenly as possible across all members storing the partitioned region data, within the limits of any custom partitioning or data colocation that you use. The number of buckets allotted for the partitioned region determines the granularity of data storage and thus how evenly the data can be distributed. The number of buckets is a total for the entire region across the distributed system.
--   In rebalancing data for the region, Geode moves buckets, but does not move data around inside the buckets.
--   You can query partitioned regions, but there are certain limitations. See [Querying Partitioned Regions](../querying_basics/querying_partitioned_regions.html#querying_partitioned_regions) for more information.
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/partitioned_regions/how_pr_ha_works.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/partitioned_regions/how_pr_ha_works.html.md.erb b/developing/partitioned_regions/how_pr_ha_works.html.md.erb
deleted file mode 100644
index 5082cc4..0000000
--- a/developing/partitioned_regions/how_pr_ha_works.html.md.erb
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title:  Understanding High Availability for Partitioned Regions
----
-
-With high availability, each member that hosts data for the partitioned region gets some primary copies and some redundant (secondary) copies.
-
-<a id="how_pr_ha_works__section_04FDCC6C2130496F8B33B9DF5CDED362"></a>
-
-With redundancy, if one member fails, operations continue on the partitioned region with no interruption of service:
-
--   If the member hosting the primary copy is lost, Geode makes a secondary copy the primary. This might cause a temporary loss of redundancy, but not a loss of data.
--   Whenever there are not enough secondary copies to satisfy redundancy, the system works to recover redundancy by assigning another member as secondary and copying the data to it.
-
-**Note:**
-You can still lose cached data when you are using redundancy if enough members go down in a short enough time span.
-
-You can configure how the system works to recover redundancy when it is not satisfied. You can configure recovery to take place immediately or, if you want to give replacement members a chance to start up, you can configure a wait period. Redundancy recovery is also automatically attempted during any partitioned data rebalancing operation. Use the `gemfire.MAX_PARALLEL_BUCKET_RECOVERIES` system property to configure the maximum number of buckets that are recovered in parallel. By default, up to 8 buckets are recovered in parallel any time the system attempts to recover redundancy.
-
-Without redundancy, the loss of any of the region's data stores causes the loss of some of the region's cached data. Generally, you should not use redundancy when your applications can directly read from another data source, or when write performance is more important than read performance.
-
-## <a id="how_pr_ha_works__section_7045530D601F4C65A062B5FDD0DD9206" class="no-quick-link"></a>Controlling Where Your Primaries and Secondaries Reside
-
-By default, Geode places your primary and secondary data copies for you, avoiding placement of two copies on the same physical machine. If there are not enough machines to keep different copies separate, Geode places copies on the same physical machine. You can change this behavior, so Geode only places copies on separate machines.
-
-You can also control which members store your primary and secondary data copies. Geode provides two options:
-
--   **Fixed custom partitioning**. This option is set for the region. Fixed partitioning gives you absolute control over where your region data is hosted. With fixed partitioning, you provide Geode with the code that specifies the bucket and data store for each data entry in the region. When you use this option with redundancy, you specify the primary and secondary data stores. Fixed partitioning does not participate in rebalancing because all bucket locations are fixed by you.
--   **Redundancy zones**. This option is set at the member level. Redundancy zones let you separate primary and secondary copies by member groups, or zones. You assign each data host to a zone. Then Geode places redundant copies in different redundancy zones, the same as it places redundant copies on different physical machines. You can use this to split data copies across different machine racks or networks, This option allows you to add members on the fly and use rebalancing to redistribute the data load, with redundant data maintained in separate zones. When you use redundancy zones, Geode will not place two copies of the data in the same zone, so make sure you have enough zones.
-
-## <a id="how_pr_ha_works__section_87A2429B6277497184926E08E64B81C6" class="no-quick-link"></a>Running Processes in Virtual Machines
-
-By default, Geode stores redundant copies on different machines. When you run your processes in virtual machines, the normal view of the machine becomes the VM and not the physical machine. If you run multiple VMs on the same physical machine, you could end up storing partitioned region primary buckets in separate VMs, but on the same physical machine as your secondaries. If the physical machine fails, you can lose data. When you run in VMs, you can configure Geode to identify the physical machine and store redundant copies on different physical machines.
-
-## <a id="how_pr_ha_works__section_CAB9440BABD6484D99525766E937CB55" class="no-quick-link"></a>Reads and Writes in Highly-Available Partitioned Regions
-
-Geode treats reads and writes differently in highly-available partitioned regions than in other regions because the data is available in multiple members:
-
--   Write operations (like `put` and `create`) go to the primary for the data keys and then are distributed synchronously to the redundant copies. Events are sent to the members configured with `subscription-attributes` `interest-policy` set to `all`.
--   Read operations go to any member holding a copy of the data, with the local cache favored, so a read intensive system can scale much better and handle higher loads.
-
-In this figure, M1 is reading W, Y, and Z. It gets W directly from its local copy. Since it doesn't have a local copy of Y or Z, it goes to a cache that does, picking the source cache at random.
-
-<img src="../../images_svg/partitioned_data_HA.svg" id="how_pr_ha_works__image_574D1A1E641944D2A2DE68C4618D84B4" class="image" />
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/partitioned_regions/how_pr_single_hop_works.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/partitioned_regions/how_pr_single_hop_works.html.md.erb b/developing/partitioned_regions/how_pr_single_hop_works.html.md.erb
deleted file mode 100644
index 9002719..0000000
--- a/developing/partitioned_regions/how_pr_single_hop_works.html.md.erb
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title:  Understanding Client Single-Hop Access to Server-Partitioned Regions
----
-
-With single-hop access the client connects to every server, so more connections are generally used. This works fine for smaller installations, but is a barrier to scaling.
-
-If you have a large installation with many clients, you may want to disable single hop by setting the pool attribute, `pr-single-hop-enabled` to false in your pool declarations.
-
-Without single hop, the client uses whatever server connection is available, the same as with all other operations. The server that receives the request determines the data location and contacts the host, which might be a different server. So more multiple-hop requests are made to the server system.
-
-**Note:**
-Single hop is used for the following operations: `put`, `get`, `destroy`, `putAll`, `getAll`, `removeAll` and `onRegion` function execution.
-
-Even with single hop access enabled, you will occasionally see some multiple-hop behavior. To perform single-hop data access, clients automatically get metadata from the servers about where the entry buckets are hosted. The metadata is maintained lazily. It is only updated after a single-hop operation ends up needing multiple hops, an indicator of stale metadata in the client.
-
-## <a id="how_pr_single_hop_works__section_AE4A6DA0064C4D5280336DD65CB107CC" class="no-quick-link"></a>Single Hop and the Pool max-connections Setting
-
-Do not set the pool's `max-connections` setting with single hop enabled. Limiting the pool's connections with single hop can cause connection thrashing, throughput loss, and server log bloat.
-
-If you need to limit the pool\u2019s connections, either disable single hop or keep a close watch on your system for these negative effects.
-
-Setting no limit on connections, however, can result in too many connections to your servers, possibly causing you to run up against your system\u2019s file handle limits. Review your anticipated connection use and make sure your servers are able to accommodate it.
-
-## <a id="how_pr_single_hop_works__section_99F27B724E5F4008BC8878D1CB4B9821" class="no-quick-link"></a>Balancing Single-Hop Server Connection Use
-
-Single-hop gives the biggest benefits when data access is well balanced across your servers. In particular, the loads for client/server connections can get out of balance if you have these in combination:
-
--   Servers that are empty data accessors or that do not host the data the clients access through single-key operations
--   Many single-key operations from the clients
-
-If data access is greatly out of balance, clients can thrash trying to get to the data servers. In this case, it might be faster to disable single hop and go through servers that do not host the data.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/partitioned_regions/join_query_partitioned_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/partitioned_regions/join_query_partitioned_regions.html.md.erb b/developing/partitioned_regions/join_query_partitioned_regions.html.md.erb
deleted file mode 100644
index b8399e2..0000000
--- a/developing/partitioned_regions/join_query_partitioned_regions.html.md.erb
+++ /dev/null
@@ -1,80 +0,0 @@
----
-title:  Performing an Equi-Join Query on Partitioned Regions
----
-
-In order to perform equi-join operations on partitioned regions or partitioned regions and replicated regions, you need to use the `query.execute` method and supply it with a function execution context. You need to use Geode's FunctionService executor because join operations are not yet directly supported for partitioned regions without providing a function execution context.
-
-See [Partitioned Region Query Restrictions](../query_additional/partitioned_region_query_restrictions.html#concept_5353476380D44CC1A7F586E5AE1CE7E8) for more information on partitioned region query limitations.
-
-For example, let's say your equi-join query is the following:
-
-``` pre
-SELECT DISTINCT * FROM /QueryRegion1 r1,
-/QueryRegion2 r2 WHERE r1.ID = r2.ID
-```
-
-In this example QueryRegion2 is colocated with QueryRegion1, and both regions have same type of data objects.
-
-On the server side:
-
-``` pre
- Function prQueryFunction1 = new QueryFunction();
- FunctionService.registerFunction(prQueryFunction1);
-
- public class QueryFunction extends FunctionAdapter {
-    @Override
-    public void execute(FunctionContext context) {
-      Cache cache = CacheFactory.getAnyInstance();
-      QueryService queryService = cache.getQueryService();
-      ArrayList allQueryResults = new ArrayList();
-      ArrayList arguments = (ArrayList)(context.getArguments());
-      String qstr = (String)arguments.get(0);
-      try {
-           Query query = queryService.newQuery(qstr);
-           SelectResults result = (SelectResults)query
-             .execute((RegionFunctionContext)context);
-           ArrayList arrayResult = (ArrayList)result.asList();
-           context.getResultSender().sendResult((ArrayList)result.asList());
-           context.getResultSender().lastResult(null);
-              } catch (Exception e) {
-               // handle exception
-             }
-       }
-} 
-     
-```
-
-On the server side, `Query.execute()` operates on the local data of the partitioned region.
-
-On the client side:
-
-``` pre
- 
-Function function = new QueryFunction();
-String queryString = "SELECT DISTINCT * FROM /QueryRegion1 r1,
-        /QueryRegion2 r2 WHERE r1.ID = r2.ID";
-ArrayList argList = new ArrayList();
-argList.add(queryString);
-Object result = FunctionService.onRegion(CacheFactory.getAnyInstance()
-     .getRegion("QueryRegion1" ))
-     .withArgs(argList).execute(function).getResult();
-ArrayList resultList = (ArrayList)result;
-resultList.trimToSize();
-List queryResults = null;
-if (resultList.size() != 0) {
-   queryResults = new ArrayList();
-   for (Object obj : resultList) {
-      if (obj != null ) {
-      queryResults.addAll((ArrayList)obj);
-         }
-   }
-}
-```
-
-On the client side, note that you can specify a bucket filter while invoking FunctionService.onRegion(). In this case, the query engine relies on FunctionService to direct the query to specific nodes.
-
-**Additional Notes on Using the Query.execute and RegionFunctionContext APIs**
-
-You can also pass multiple parameters (besides the query itself) to the query function by specifying the parameters in the client-side code (`FunctionService.onRegion(..).withArgs()`). Then you can handle the parameters inside the function on the server side using `context.getArguments`. Note that it does not matter which order you specify the parameters as long as you match the parameter handling order on the server with the order specified in the client.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/partitioned_regions/managing_partitioned_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/partitioned_regions/managing_partitioned_regions.html.md.erb b/developing/partitioned_regions/managing_partitioned_regions.html.md.erb
deleted file mode 100644
index fd7494f..0000000
--- a/developing/partitioned_regions/managing_partitioned_regions.html.md.erb
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title:  Configuring Partitioned Regions
----
-
-Plan the configuration and ongoing management of your partitioned region for host and accessor members and configure the regions for startup.
-
-<a id="configure_partitioned_regions__section_241583D88E244AB6AB5CD05BF55F6A0A"></a>
-Before you begin, understand [Basic Configuration and Programming](../../basic_config/book_intro.html).
-
-1.  Start your region configuration using one of the `PARTITION` region shortcut settings. See [Region Shortcuts and Custom Named Region Attributes](../../basic_config/data_regions/region_shortcuts.html).
-2.  If you need high availability for your partitioned region, configure for that. See [Configure High Availability for a Partitioned Region](configuring_ha_for_pr.html).
-3.  Estimate the amount of space needed for the region. If you use redundancy, this is the max for all primary and secondary copies stored in the member. For example, with redundancy of one, each region data entry requires twice the space than with no redundancy, because the entry is stored twice. See [Memory Requirements for Cached Data](../../reference/topics/memory_requirements_for_cache_data.html#calculating_memory_requirements).
-4.  Configure the total number of buckets for the region. This number must be the same for colocated regions. See [Configuring the Number of Buckets for a Partitioned Region](configuring_bucket_for_pr.html#configuring_total_buckets).
-5.  Configure your members' data storage and data loading for the region:
-    1.  You can have members with no local data storage and members with varying amounts of storage. Determine the max memory available in your different member types for this region. These will be set in the `partition-attributes` `local-max-memory`. This is the only setting in `partition-attributes` that can vary between members. Use these max values and your estimates for region memory requirements to help you figure how many members to start out with for the region.
-    2.  For members that store data for the region (`local-max-memory` greater than 0), define a data loader. See [Implement a Data Loader](../outside_data_sources/implementing_data_loaders.html#implementing_data_loaders).
-    3.  If you have members with no local data storage (`local-max-memory` set to 0), review your system startup/shutdown procedures. Make sure there is always at least one member with local data storage running when any members with no storage are running.
-
-6.  If you want to custom partition the data in your region or colocate data between multiple regions, code and configure accordingly. See [Understanding Custom Partitioning and Data Colocation](custom_partitioning_and_data_colocation.html#custom_partitioning_and_data_colocation).
-7.  Plan your partition rebalancing strategy and configure and program for that. See [Rebalancing Partitioned Region Data](rebalancing_pr_data.html#rebalancing_pr_data).
-
-**Note:**
-To configure a partitioned region using gfsh, see [gfsh Command Help](../../tools_modules/gfsh/gfsh_command_index.html#concept_C291647179C5407A876CC7FCF91CF756).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/partitioned_regions/moving_partitioned_data.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/partitioned_regions/moving_partitioned_data.html.md.erb b/developing/partitioned_regions/moving_partitioned_data.html.md.erb
deleted file mode 100644
index 054f7fe..0000000
--- a/developing/partitioned_regions/moving_partitioned_data.html.md.erb
+++ /dev/null
@@ -1,59 +0,0 @@
----
-title:  Moving Partitioned Region Data to Another Member
----
-
-You can use the `PartitionRegionHelper` `moveBucketByKey` and `moveData` methods to explicitly move partitioned region data from one member to another.
-
-The `moveBucketByKey` method moves the bucket that contains the specified key from a source member to a destination member. For example, you could use the method to move a popular product item to a new, empty member to reduce load on the source member.
-
-For example:
-
-``` pre
-Object product = ...
-Region r = ...
-DistributedSystem ds = ...
-String memberName = ...
-
-//Find the member that is currently hosting the product.
-Set<DistributedMember> sourceMembers =
-PartitionRegionHelper.getAllMembersForKey(r, product);
-
-//Find the member to move the product to.
-DistributedMember destination = ds.findDistributedMember(memberName);
-
-//In this example we assume there is always at least one source.
-//In practice, you should check that at least one source
-//for the data is available.
-source = sourceMembers.iterator().next();
-
-//Move the bucket to the new node. The bucket will
-//be moved when this method completes. It throws an exception
-//if there is a problem or invalid arguments.
-PartitionRegionHelper.moveBucketByKey(r, source, destination, product);
-```
-
-See the Java API documentation for `org.apache.geode.cache.partition.PartitionRegionHelper.moveBucketByKey` for more details.
-
-The `moveData` method moves data up to a given percentage (measured in bytes) from a source member to a destination member. For example, you could use this method to move a specified percentage of data from an overloaded member to another member to improve distribution.
-
-For example:
-
-``` pre
-Region r = ...
-DistributedSystem ds = ...
-String sourceName = ...
-String destName = ...
-
-//Find the source member.
-DistributedMember source = ds.findDistributedMember(sourceName);
-DistributedMember destination = ds.findDistributedMember(destName);
-
-//Move up to 20% of the data from the source to the destination node.
-PartitionRegionHelper.moveData(r, source, destination, 20);
-```
-
-See the Java API documentation for `org.apache.geode.cache.partition.PartitionRegionHelper.moveData` for more details.
-
-For more information on partitioned regions and rebalancing, see [Partitioned Regions](chapter_overview.html).
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/partitioned_regions/overview_custom_partitioning_and_data_colocation.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/partitioned_regions/overview_custom_partitioning_and_data_colocation.html.md.erb b/developing/partitioned_regions/overview_custom_partitioning_and_data_colocation.html.md.erb
deleted file mode 100644
index 3cf5c10..0000000
--- a/developing/partitioned_regions/overview_custom_partitioning_and_data_colocation.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  Custom-Partitioning and Colocating Data
----
-
-You can customize how Apache Geode groups your partitioned region data with custom partitioning and data colocation.
-
--   **[Understanding Custom Partitioning and Data Colocation](../../developing/partitioned_regions/custom_partitioning_and_data_colocation.html)**
-
-    Custom partitioning and data colocation can be used separately or in conjunction with one another.
-
--   **[Custom-Partition Your Region Data](../../developing/partitioned_regions/using_custom_partition_resolvers.html)**
-
-    By default, Geode partitions each data entry into a bucket using a hashing policy on the key. Additionally, the physical location of the key-value pair is abstracted away from the application. You can change these policies for a partitioned region. You can provide your own data partitioning resolver and you can additionally specify which members host which data buckets.
-
--   **[Colocate Data from Different Partitioned Regions](../../developing/partitioned_regions/colocating_partitioned_region_data.html)**
-
-    By default, Geode allocates the data locations for a partitioned region independent of the data locations for any other partitioned region. You can change this policy for any group of partitioned regions, so that cross-region, related data is all hosted by the same member. This colocation speeds queries and other operations that access data from the regions.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/partitioned_regions/overview_how_pr_ha_works.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/partitioned_regions/overview_how_pr_ha_works.html.md.erb b/developing/partitioned_regions/overview_how_pr_ha_works.html.md.erb
deleted file mode 100644
index 7b182c5..0000000
--- a/developing/partitioned_regions/overview_how_pr_ha_works.html.md.erb
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title:  Configuring High Availability for Partitioned Regions
----
-
-By default, Apache Geode stores only a single copy of your partitioned region data among the region's data stores. You can configure Geode to maintain redundant copies of your partitioned region data for high availability.
-
--   **[Understanding High Availability for Partitioned Regions](../../developing/partitioned_regions/how_pr_ha_works.html)**
-
-    With high availability, each member that hosts data for the partitioned region gets some primary copies and some redundant (secondary) copies.
-
--   **[Configure High Availability for a Partitioned Region](../../developing/partitioned_regions/configuring_ha_for_pr.html)**
-
-    Configure in-memory high availability for your partitioned region. Set other high-availability options, like redundancy zones and redundancy recovery strategies.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/partitioned_regions/overview_how_pr_single_hop_works.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/partitioned_regions/overview_how_pr_single_hop_works.html.md.erb b/developing/partitioned_regions/overview_how_pr_single_hop_works.html.md.erb
deleted file mode 100644
index 651c851..0000000
--- a/developing/partitioned_regions/overview_how_pr_single_hop_works.html.md.erb
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title:  Configuring Single-Hop Client Access to Server-Partitioned Regions
----
-
-Single-hop data access enables the client pool to track where a partitioned region\u2019s data is hosted in the servers. To access a single entry, the client directly contacts the server that hosts the key, in a single hop.
-
--   **[Understanding Client Single-Hop Access to Server-Partitioned Regions](../../developing/partitioned_regions/how_pr_single_hop_works.html)**
-
-    With single-hop access the client connects to every server, so more connections are generally used. This works fine for smaller installations, but is a barrier to scaling.
-
--   **[Configure Client Single-Hop Access to Server-Partitioned Regions](../../developing/partitioned_regions/configure_pr_single_hop.html)**
-
-    Configure your client/server system for direct, single-hop access to partitioned region data in the servers.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/partitioned_regions/rebalancing_pr_data.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/partitioned_regions/rebalancing_pr_data.html.md.erb b/developing/partitioned_regions/rebalancing_pr_data.html.md.erb
deleted file mode 100644
index 93c31e7..0000000
--- a/developing/partitioned_regions/rebalancing_pr_data.html.md.erb
+++ /dev/null
@@ -1,89 +0,0 @@
----
-title:  Rebalancing Partitioned Region Data
----
-
-In a distributed system with minimal contention to the concurrent threads reading or updating from the members, you can use rebalancing to dynamically increase or decrease your data and processing capacity.
-
-<a id="rebalancing_pr_data__section_D3649ADD28DB4FF78C47A3E428C80510"></a>
-Rebalancing is a member operation. It affects all partitioned regions defined by the member, regardless of whether the member hosts data for the regions. The rebalancing operation performs two tasks:
-
-1.  If the configured partition region redundancy is not satisfied, rebalancing does what it can to recover redundancy. See [Configure High Availability for a Partitioned Region](configuring_ha_for_pr.html).
-2.  Rebalancing moves the partitioned region data buckets between host members as needed to establish the most fair balance of data and behavior across the distributed system.
-
-For efficiency, when starting multiple members, trigger the rebalance a single time, after you have added all members.
-
-**Note:**
-If you have transactions running in your system, be careful in planning your rebalancing operations. Rebalancing may move data between members, which could cause a running transaction to fail with a `TransactionDataRebalancedException`. Fixed custom partitioning prevents rebalancing altogether. All other data partitioning strategies allow rebalancing and can result in this exception unless you run your transactions and your rebalancing operations at different times.
-
-Kick off a rebalance using one of the following:
-
--   `gfsh` command. First, starting a `gfsh` prompt and connect to the Geode distributed system. Then type the following command:
-
-    ``` pre
-    gfsh>rebalance
-    ```
-
-    Optionally, you can specify regions to include or exclude from rebalancing, specify a time-out for the rebalance operation or just [simulate a rebalance operation](rebalancing_pr_data.html#rebalancing_pr_data__section_495FEE48ED60433BADB7D36C73279C89). Type `help rebalance` or see [rebalance](../../tools_modules/gfsh/command-pages/rebalance.html) for more information.
-
--   API call:
-
-    ``` pre
-    ResourceManager manager = cache.getResourceManager(); 
-    RebalanceOperation op = manager.createRebalanceFactory().start(); 
-    //Wait until the rebalance is complete and then get the results
-    RebalanceResults results = op.getResults(); 
-    //These are some of the details we can get about the run from the API
-    System.out.println("Took " + results.getTotalTime() + " milliseconds\n"); 
-    System.out.println("Transfered " + results.getTotalBucketTransferBytes()+ "bytes\n");
-    ```
-
-You can also just simulate a rebalance through the API, to see if it's worth it to run:
-
-``` pre
-ResourceManager manager = cache.getResourceManager(); 
-RebalanceOperation op = manager.createRebalanceFactory().simulate(); 
-RebalanceResults results = op.getResults(); 
-System.out.println("Rebalance would transfer " + results.getTotalBucketTransferBytes() +" bytes "); 
-System.out.println(" and create " + results.getTotalBucketCreatesCompleted() + " buckets.\n");
-```
-
-## <a id="rebalancing_pr_data__section_1592413D533D454D9E5ACFCDC4685DD1" class="no-quick-link"></a>How Partitioned Region Rebalancing Works
-
-The rebalancing operation runs asynchronously.
-
-By default, rebalancing is performed on one partitioned region at a time. For regions that have colocated data, the rebalancing works on the regions as a group, maintaining the data colocation between the regions.
-
-You can optionally rebalance multiple regions in parallel by setting the `gemfire.resource.manager.threads` system property. Setting this property to a value greater than 1 enables Geode to rebalance multiple regions in parallel, any time a rebalance operation is initiated using the API.
-
-You can continue to use your partitioned regions normally while rebalancing is in progress. Read operations, write operations, and function executions continue while data is moving. If a function is executing on a local data set, you may see a performance degradation if that data moves to another host during function execution. Future function invocations are routed to the correct member.
-
-Geode tries to ensure that each member has the same percentage of its available space used for each partitioned region. The percentage is configured in the `partition-attributes` `local-max-memory` setting.
-
-Partitioned region rebalancing:
-
--   Does not allow the `local-max-memory` setting to be exceeded unless LRU eviction is enabled with overflow to disk.
--   Places multiple copies of the same bucket on different host IP addresses whenever possible.
--   Resets entry time to live and idle time statistics during bucket migration.
--   Replaces offline members.
-
-## <a id="rebalancing_pr_data__section_BE71EE52DE1A4275BC7854CA597797F4" class="no-quick-link"></a>When to Rebalance a Partitioned Region
-
-You typically want to trigger rebalancing when capacity is increased or reduced through member startup, shut down or failure.
-
-You may also need to rebalance when:
-
--   You use redundancy for high availability and have configured your region to not automatically recover redundancy after a loss. In this case, Geode only restores redundancy when you invoke a rebalance. See [Configure High Availability for a Partitioned Region](configuring_ha_for_pr.html).
--   You have uneven hashing of data. Uneven hashing can occur if your keys do not have a hash code method, which ensures uniform distribution, or if you use a `PartitionResolver` to colocate your partitioned region data (see [Colocate Data from Different Partitioned Regions](colocating_partitioned_region_data.html#colocating_partitioned_region_data)). In either case, some buckets may receive more data than others. Rebalancing can be used to even out the load between data stores by putting fewer buckets on members that are hosting large buckets.
-
-## <a id="rebalancing_pr_data__section_495FEE48ED60433BADB7D36C73279C89" class="no-quick-link"></a>How to Simulate Region Rebalancing
-
-You can simulate the rebalance operation before moving any actual data around by executing the `rebalance` command with the following option:
-
-``` pre
-gfsh>rebalance --simulate
-```
-
-**Note:**
-If you are using `heap_lru` for data eviction, you may notice a difference between your simulated results and your actual rebalancing results. This discrepancy can be due to the VM starting to evict entries after you execute the simulation. Then when you perform an actual rebalance operation, the operation will make different decisions based on the newer heap size.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/partitioned_regions/set_crash_redundancy_recovery.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/partitioned_regions/set_crash_redundancy_recovery.html.md.erb b/developing/partitioned_regions/set_crash_redundancy_recovery.html.md.erb
deleted file mode 100644
index 4c7311e..0000000
--- a/developing/partitioned_regions/set_crash_redundancy_recovery.html.md.erb
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title:  Configure Member Crash Redundancy Recovery for a Partitioned Region
----
-
-Configure whether and how redundancy is recovered in a partition region after a member crashes.
-
-<a id="set_crash_redundancy_recovery__section_86CF741758E54DA29519E9CDDF1BC393"></a>
-Use the partition attribute `recovery-delay` to specify member crash redundancy recovery.
-
-| recovery-delay partition attribute | Effect following a member failure                                                    |
-|------------------------------------|--------------------------------------------------------------------------------------|
-| -1                                 | No automatic recovery of redundancy following a member failure. This is the default. |
-| long greater than or equal to 0    | Number of milliseconds to wait after a member failure before recovering redundancy.  |
-
-By default, redundancy is not recovered after a member crashes. If you expect to quickly restart most crashed members, combining this default setting with member join redundancy recovery can help you avoid unnecessary data shuffling while members are down. By waiting for lost members to rejoin, redundancy recovery is done using the newly started members and partitioning is better balanced with less processing.
-
-Set crash redundancy recovery using one of the following:
-
--   XML:
-
-    ``` pre
-    // Give a crashed member 10 seconds to restart 
-    // before recovering redundancy
-    <region name="PR1"> 
-      <region-attributes refid="PARTITION"> 
-        <partition-attributes recovery-delay="10000"/> 
-      </region-attributes> 
-    </region> 
-    ```
-
--   Java:
-
-    ``` pre
-    PartitionAttributes pa = new PartitionAttributesFactory().setRecoveryDelay(10000).create(); 
-    ```
-
--   gfsh:
-
-    ``` pre
-    gfsh>create region --name="PR1" type=PARTITION --recovery-delay=10000
-    ```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/partitioned_regions/set_enforce_unique_host.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/partitioned_regions/set_enforce_unique_host.html.md.erb b/developing/partitioned_regions/set_enforce_unique_host.html.md.erb
deleted file mode 100644
index 19cc1ec..0000000
--- a/developing/partitioned_regions/set_enforce_unique_host.html.md.erb
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title:  Set Enforce Unique Host
----
-
-Configure Geode to use only unique physical machines for redundant copies of partitioned region data.
-
-Understand how to set a member's `gemfire.properties` settings. See [Reference](../../reference/book_intro.html#reference).
-
-Configure your members so Geode always uses different physical machines for redundant copies of partitioned region data using the `gemfire.properties` setting `enforce-unique-host`. The default for this setting is false. 
-
-Example:
-
-``` pre
-enforce-unique-host=true
-```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/partitioned_regions/set_join_redundancy_recovery.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/partitioned_regions/set_join_redundancy_recovery.html.md.erb b/developing/partitioned_regions/set_join_redundancy_recovery.html.md.erb
deleted file mode 100644
index 4fe790e..0000000
--- a/developing/partitioned_regions/set_join_redundancy_recovery.html.md.erb
+++ /dev/null
@@ -1,49 +0,0 @@
----
-title:  Configure Member Join Redundancy Recovery for a Partitioned Region
----
-
-Configure whether and how redundancy is recovered in a partition region after a member joins.
-
-<a id="set_join_redundancy_recovery__section_D6FB0D69CC454B53B9CF1E656A44465C"></a>
-Use the partition attribute `startup-recovery-delay` to specify member join redundancy recovery.
-
-| startup-recovery-delay partition attribute | Effect following a member join                                                                                                                                                                                               |
-|--------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| -1                                         | No automatic recovery of redundancy after a new member comes online. If you use this and the default `recovery-delay` setting, you can only recover redundancy by kicking off rebalancing through a cacheserver or API call. |
-| long greater than or equal to **0**        | Number of milliseconds to wait after a member joins before before recovering redundancy. The default is 0 (zero), which causes immediate redundancy recovery whenever a new partitioned region host joins.                   |
-
-Setting this to a value higher than the default of 0 allows multiple new members to join before redundancy recovery kicks in. With the multiple members present during recovery, the system will spread redundancy recovery among them. With no delay, if multiple members are started in close succession, the system may choose only the first member started for most or all of the redundancy recovery.
-
-**Note:**
-Satisfying redundancy is not the same as adding capacity. If redundancy is satisfied, new members do not take buckets until you invoke a rebalance.
-
-**Note:**
-With parallel recovery introduced in version 8.2, redundancy may be recovered more quickly than in previous versions. For this reason, it is even more important to configure `startup-recovery-delay` to an appropriate value if you intend to restart multiple members at once. Set `startup-recovery-delay` to a value that ensures all members are up and available *before* redundancy recovery kicks in.
-
-Set join redundancy recovery using one of the following:
-
--   XML:
-
-    ``` pre
-    // Wait 5 seconds after a new member joins before  
-    // recovering redundancy
-    <region name="PR1"> 
-      <region-attributes refid="PARTITION"> 
-        <partition-attributes startup-recovery-delay="5000"/> 
-      </region-attributes> 
-    </region> 
-    ```
-
--   Java:
-
-    ``` pre
-    PartitionAttributes pa = new PartitionAttributesFactory().setStartupRecoveryDelay(5000).create(); 
-    ```
-
--   gfsh:
-
-    ``` pre
-    gfsh>create region --name="PR1" --type=PARTITION --startup-recovery-delay=5000
-    ```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/partitioned_regions/set_pr_redundancy.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/partitioned_regions/set_pr_redundancy.html.md.erb b/developing/partitioned_regions/set_pr_redundancy.html.md.erb
deleted file mode 100644
index ae12721..0000000
--- a/developing/partitioned_regions/set_pr_redundancy.html.md.erb
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title:  Set the Number of Redundant Copies
----
-
-Configure in-memory high availability for your partitioned region by specifying the number of secondary copies you want to maintain in the region's data stores.
-
-Specify the number of redundant copies you want for your partitioned region data in the partition attribute `redundant-copies` setting. The default setting is 0. 
-
-For example:
-
--   XML:
-
-    ``` pre
-    <region name="PR1"> 
-      <region-attributes refid="PARTITION"> 
-        <partition-attributes redundant-copies="1"/> 
-      </region-attributes> 
-    </region> 
-    ```
-
--   Java:
-
-    ``` pre
-    PartitionAttributes pa = 
-        new PartitionAttributesFactory().setRedundantCopies(1).create(); 
-    ```
-
--   gfsh:
-
-    ``` pre
-    gfsh>create region --name="PR1" --type=PARTITION --redundant-copies=1
-    ```
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/partitioned_regions/set_redundancy_zones.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/partitioned_regions/set_redundancy_zones.html.md.erb b/developing/partitioned_regions/set_redundancy_zones.html.md.erb
deleted file mode 100644
index f5a0a10..0000000
--- a/developing/partitioned_regions/set_redundancy_zones.html.md.erb
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title:  Configure Redundancy Zones for Members
----
-
-Group members into redundancy zones so Geode will separate redundant data copies into different zones.
-
-Understand how to set a member's `gemfire.properties` settings. See [Reference](../../reference/book_intro.html#reference).
-
-Group your partition region hosts into redundancy zones with the `gemfire.properties` setting `redundancy-zone`. 
-
-For example, if you had redundancy set to 1, so you have one primary and one secondary copy of each data entry, you could split primary and secondary data copies between two machine racks by defining one redundancy zone for each rack. To do this, you set this zone in the `gemfire.properties` for all members that run on one rack:
-``` pre
-redundancy-zone=rack1
-```
-
-You would set this zone `gemfire.properties` for all members on the other rack:
-``` pre
-redundancy-zone=rack2
-```
-
-Each secondary copy would be hosted on the rack opposite the rack where its primary copy is hosted.
-
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/partitioned_regions/using_custom_partition_resolvers.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/partitioned_regions/using_custom_partition_resolvers.html.md.erb b/developing/partitioned_regions/using_custom_partition_resolvers.html.md.erb
deleted file mode 100644
index df9e4b3..0000000
--- a/developing/partitioned_regions/using_custom_partition_resolvers.html.md.erb
+++ /dev/null
@@ -1,204 +0,0 @@
----
-title:  Custom-Partition Your Region Data
----
-
-By default, Geode partitions each data entry into a bucket using a hashing policy on the key. Additionally, the physical location of the key-value pair is abstracted away from the application. You can change these policies for a partitioned region. You can provide your own data partitioning resolver and you can additionally specify which members host which data buckets.
-
-<a id="custom_partition_region_data__section_CF05CE974C9C4AF78430DA55601D2158"></a>
-**Note:**
-If you are colocating data between regions and custom partitioning the data in the regions, all colocated regions must use the same custom partitioning mechanism. See [Colocate Data from Different Partitioned Regions](colocating_partitioned_region_data.html#colocating_partitioned_region_data).
-
-<a id="custom_partition_region_data__section_1D7043815DF24308ABE4C78BFDFEE686"></a>
-
-For standard partitioning, use `org.apache.geode.cache.PartitionResolver`. To implement fixed partitioning, use `org.apache.geode.cache.FixedPartitionResolver`.
-
-<a id="custom_partition_region_data__section_5A8D752F02834146A37D9430F1CA32DA"></a>
-
-**Prerequisites**
-
--   Create partitioned regions. See [Understanding Partitioning](how_partitioning_works.html) and [Configuring Partitioned Regions](managing_partitioned_regions.html#configure_partitioned_regions).
--   Decide whether to use standard custom partitioning or fixed custom partitioning. See [Understanding Custom Partitioning and Data Colocation](custom_partitioning_and_data_colocation.html#custom_partitioning_and_data_colocation).
--   If you also want to colocate data from multiple regions, understand how to colocate. See [Colocate Data from Different Partitioned Regions](colocating_partitioned_region_data.html#colocating_partitioned_region_data).
-
-**Procedure**
-
-1.  Using `org.apache.geode.cache.PartitionResolver` (standard partitioning) or `org.apache.geode.cache.FixedPartitionResolver` (fixed partitioning), implement the standard partitioning resolver or the fixed partitioning resolver in one of the following locations, listed here in the search order used by Geode:
-    -   **Custom class**. You provide this class as the partition resolver to the region creation.
-    -   **Entry key**. You use the implementing key object for every operation on the region entries.
-    -   **Cache callback argument**. This implementation restricts you to using methods that accept a cache callback argument to manage the region entries. For a full list of the methods that take a callback argument, see the `Region` Javadocs.
-
-2.  If you need the resolver's `getName` method, program that.
-3.  Program the resolver's `getRoutingObject` method to return the routing object for each entry, based on how you want to group the entries. Give the same routing object to entries you want to group together. Geode will place the entries in the same bucket.
-
-    **Note:**
-    Only fields on the key should be used when creating the routing object. Do not use the value or additional metadata for this purpose.
-
-    For example, here is an implementation on a region key object that groups the entries by month and year:
-
-    ``` pre
-    Public class TradeKey implements PartitionResolver 
-    { 
-        private String tradeID; 
-        private Month month; 
-        private Year year; 
-        public TradingKey(){ } 
-        public TradingKey(Month month, Year year)
-        { 
-            this.month = month; 
-            this.year = year; 
-        } 
-        public Serializable getRoutingObject(EntryOperation opDetails)
-        { 
-            return this.month + this.year; 
-        }
-    }
-    ```
-
-4.  For fixed partitioning only, program and configure additional fixed partitioning pieces:
-    1.  Set the fixed partition attributes for each member.
-
-        These attributes define the data stored for the region by the member and must be different for different members. See `org.apache.geode.cache.FixedPartitionAttributes` for definitions of the attributes. Define each `partition-name` in your data host members for the region. For each partition name, in the member you want to host the primary copy, define it with `is-primary` set to `true`. In every member you want to host the secondary copy, define it with `is-primary` set to `false` (the default). The number of secondaries must match the number of redundant copies you have defined for the region. See [Configure High Availability for a Partitioned Region](configuring_ha_for_pr.html).
-
-        **Note:**
-        Buckets for a partition are hosted only by the members that have defined the partition name in their `FixedPartitionAttributes`.
-
-        These examples set the partition attributes for a member to be the primary host for the "Q1" partition data and a secondary host for "Q3" partition data.
-        -   XML:
-
-            ``` pre
-            <cache>
-               <region name="Trades">
-                  <region-attributes>
-                     <partition-attributes redundant-copies="1">
-                       <partition-resolver name="QuarterFixedPartitionResolver">
-                          <class-name>myPackage.QuarterFixedPartitionResolver</class-name>
-                       </partition-resolver>
-                       <fixed-partition-attributes partition-name="Q1" is-primary="true"/>
-                       <fixed-partition-attributes partition-name="Q3" is-primary="false" num-buckets="6"/>
-                     </partition-attributes> 
-                  </region-attributes>
-               </region>
-            </cache>
-            ```
-        -   Java:
-
-
-            ``` pre
-            FixedPartitionAttribute fpa1 = FixedPartitionAttributes.createFixedPartition("Q1", true);
-            FixedPartitionAttribute fpa3 = FixedPartitionAttributes.createFixedPartition("Q3", false, 6);
-
-            PartitionAttributesFactory paf = new PartitionAttributesFactory()
-                 .setPartitionResolver(new QuarterFixedPartitionResolver())
-                 .setTotalNumBuckets(12)
-                 .setRedundantCopies(2)
-                 .addFixedPartitionAttribute(fpa1)
-                 .addFixedPartitionAttribute(fpa3);
-
-            Cache c = new CacheFactory().create();
-
-            Region r = c.createRegionFactory()
-                .setPartitionAttributes(paf.create())
-                .create("Trades");
-            ```
-        -   gfsh:
-
-            You cannot specify a partition resolver using gfsh.
-
-    2.  Program the `FixedPartitionResolver` `getPartitionName` method to return the name of the partition for each entry, based on where you want the entries to reside. Geode uses `getPartitionName` and `getRoutingObject` to determine where an entry is placed.
-
-        **Note:**
-        To group entries, assign every entry in the group the same routing object and the same partition name.
-
-        This example places the data based on date, with a different partition name for each quarter-year and a different routing object for each month.
-
-        ``` pre
-        /**
-         * Returns one of four different partition names
-         * (Q1, Q2, Q3, Q4) depending on the entry's date
-         */
-        class QuarterFixedPartitionResolver implements
-            FixedPartitionResolver<String, String> {
-
-          @Override
-          public String getPartitionName(EntryOperation<String, String> opDetails,
-              Set<String> targetPartitions) {
-
-             Date date = (Date)opDetails.getKey();
-             Calendar cal = Calendar.getInstance();
-             cal.setTime(date);
-             int month = cal.get(Calendar.MONTH);
-             if (month >= 0 && month < 3) {
-                if (targetPartitions.contains("Q1")) return "Q1";
-             }
-             else if (month >= 3 && month < 6) {
-                if (targetPartitions.contains("Q2")) return "Q2";
-             }
-             else if (month >= 6 && month < 9) {
-                if (targetPartitions.contains("Q3")) return "Q3";
-             }
-             else if (month >= 9 && month < 12) {
-                if (targetPartitions.contains("Q4")) return "Q4";
-             }
-             return "Invalid Quarter";
-          }
-
-          @Override
-          public String getName() {
-             return "QuarterFixedPartitionResolver";
-          }
-
-          @Override
-          public Serializable getRoutingObject(EntryOperation<String, String> opDetails) {
-             Date date = (Date)opDetails.getKey();
-             Calendar cal = Calendar.getInstance();
-             cal.setTime(date);
-             int month = cal.get(Calendar.MONTH);
-             return month;
-          }
-
-          @Override
-          public void close() {
-          }
-        }
-        ```
-
-5.  Configure or program the region so Geode finds your resolver for every operation that you perform on the region's entries. How you do this depends on where you chose to program your custom partitioning implementation (step 1).
-    1.  **Custom class**. Define the class for the region at creation. The resolver will be used for every entry operation. Use one of these methods:
-        -   XML:
-
-            ``` pre
-            <region name="trades">
-                <region-attributes>
-                    <partition-attributes>
-                        <partition-resolver name="TradesPartitionResolver"> 
-                            <class-name>myPackage.TradesPartitionResolver
-                            </class-name>
-                        </partition-resolver>
-                    <partition-attributes>
-                </region-attributes>
-            </region>
-            ```
-        -   Java:
-
-
-            ``` pre
-            PartitionResolver resolver = new TradesPartitionResolver();
-            PartitionAttributes attrs = 
-                new PartitionAttributesFactory()
-                .setPartitionResolver(resolver).create();
-
-            Cache c = new CacheFactory().create();
-
-            Region r = c.createRegionFactory()
-                .setPartitionAttributes(attrs)
-                .create("trades");
-            ```
-        -   gfsh:
-
-            You cannot specify a partition resolver using gfsh.
-
-    2.  **Entry key**. Use the key object with the resolver implementation for every entry operation.
-    3.  **Cache callback argument**. Provide the argument to every call that accesses an entry. This restricts you to calls that take a callback argument.
-
-6.  If your colocated data is in a server system, add the `PartitionResolver` implementation class to the `CLASSPATH` of your Java clients. The resolver is used for single hop access to partitioned region data in the servers.
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/developing/query_additional/advanced_querying.html.md.erb
----------------------------------------------------------------------
diff --git a/developing/query_additional/advanced_querying.html.md.erb b/developing/query_additional/advanced_querying.html.md.erb
deleted file mode 100644
index d94da69..0000000
--- a/developing/query_additional/advanced_querying.html.md.erb
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title:  Advanced Querying
----
-
-This section includes advanced querying topics such as using query indexes, using query bind parameters, querying partitioned regions and query debugging.
-
--   **[Performance Considerations](../../developing/querying_basics/performance_considerations.html)**
-
-    This topic covers considerations for improving query performance.
-
--   **[Monitoring Queries for Low Memory](../../developing/querying_basics/monitor_queries_for_low_memory.html)**
-
-    The query monitoring feature prevents out-of-memory exceptions from occurring when you execute queries or create indexes.
-
--   **[Using Query Bind Parameters](../../developing/query_additional/using_query_bind_parameters.html)**
-
-    Using query bind parameters in Geode queries is similar to using prepared statements in SQL where parameters can be set during query execution. This allows user to build a query once and execute it multiple times by passing the query conditions during run time.
-
--   **[Working with Indexes](../../developing/query_index/query_index.html)**
-
-    The Geode query engine supports indexing. An index can provide significant performance gains for query execution.
-
--   **[Querying Partitioned Regions](../../developing/querying_basics/querying_partitioned_regions.html)**
-
-    Geode allows you to manage and store large amounts of data across distributed nodes using partitioned regions. The basic unit of storage for a partitioned region is a bucket, which resides on a Geode node and contains all the entries that map to a single hashcode. In a typical partitioned region query, the system distributes the query to all buckets across all nodes, then merges the result sets and sends back the query results.
-
--   **[Query Debugging](../../developing/query_additional/query_debugging.html)**
-
-    You can debug a specific query at the query level by adding the `<trace>` keyword before the query string that you want to debug.
-
-



[70/76] [abbrv] incubator-geode git commit: GEODE-1952: Add Apache license to all geode-docs erb files

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/partitioned_regions/configure_pr_single_hop.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/configure_pr_single_hop.html.md.erb b/geode-docs/developing/partitioned_regions/configure_pr_single_hop.html.md.erb
index 5518905..a7eeeb2 100644
--- a/geode-docs/developing/partitioned_regions/configure_pr_single_hop.html.md.erb
+++ b/geode-docs/developing/partitioned_regions/configure_pr_single_hop.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configure Client Single-Hop Access to Server-Partitioned Regions
 ---
 
+<!--
+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.
+-->
+
 Configure your client/server system for direct, single-hop access to partitioned region data in the servers.
 
 This requires a client/server installation that uses one or more partitioned regions on the server.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/partitioned_regions/configuring_bucket_for_pr.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/configuring_bucket_for_pr.html.md.erb b/geode-docs/developing/partitioned_regions/configuring_bucket_for_pr.html.md.erb
index 7ee7133..ccb7e71 100644
--- a/geode-docs/developing/partitioned_regions/configuring_bucket_for_pr.html.md.erb
+++ b/geode-docs/developing/partitioned_regions/configuring_bucket_for_pr.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configuring the Number of Buckets for a Partitioned Region
 ---
 
+<!--
+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.
+-->
+
 Decide how many buckets to assign to your partitioned region and set the configuration accordingly.
 
 <a id="configuring_total_buckets__section_DF52B2BF467F4DB4B8B3D16A79EFCA39"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/partitioned_regions/configuring_ha_for_pr.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/configuring_ha_for_pr.html.md.erb b/geode-docs/developing/partitioned_regions/configuring_ha_for_pr.html.md.erb
index a9a98fb..c084f4a 100644
--- a/geode-docs/developing/partitioned_regions/configuring_ha_for_pr.html.md.erb
+++ b/geode-docs/developing/partitioned_regions/configuring_ha_for_pr.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configure High Availability for a Partitioned Region
 ---
 
+<!--
+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.
+-->
+
 Configure in-memory high availability for your partitioned region. Set other high-availability options, like redundancy zones and redundancy recovery strategies.
 
 Here are the main steps for configuring high availability for a partitioned region. See later sections for details.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/partitioned_regions/custom_partitioning_and_data_colocation.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/custom_partitioning_and_data_colocation.html.md.erb b/geode-docs/developing/partitioned_regions/custom_partitioning_and_data_colocation.html.md.erb
index 0cd5f63..3e4f185 100644
--- a/geode-docs/developing/partitioned_regions/custom_partitioning_and_data_colocation.html.md.erb
+++ b/geode-docs/developing/partitioned_regions/custom_partitioning_and_data_colocation.html.md.erb
@@ -2,6 +2,23 @@
 title:  Understanding Custom Partitioning and Data Colocation
 ---
 
+<!--
+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.
+-->
+
 Custom partitioning and data colocation can be used separately or in conjunction with one another.
 
 ## <a id="custom_partitioning_and_data_colocation__section_ABFEE9CB17AF44F1AE252AC10FB5E999" class="no-quick-link"></a>Custom Partitioning

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/partitioned_regions/how_partitioning_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/how_partitioning_works.html.md.erb b/geode-docs/developing/partitioned_regions/how_partitioning_works.html.md.erb
index 68e8dd2..c846995 100644
--- a/geode-docs/developing/partitioned_regions/how_partitioning_works.html.md.erb
+++ b/geode-docs/developing/partitioned_regions/how_partitioning_works.html.md.erb
@@ -2,6 +2,23 @@
 title:  Understanding Partitioning
 ---
 
+<!--
+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.
+-->
+
 To use partitioned regions, you should understand how they work and your options for managing them.
 
 <a id="how_partitioning_works__section_B540C49A80124551853AFCE2DE6BCFE8"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/partitioned_regions/how_pr_ha_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/how_pr_ha_works.html.md.erb b/geode-docs/developing/partitioned_regions/how_pr_ha_works.html.md.erb
index 5082cc4..ba83732 100644
--- a/geode-docs/developing/partitioned_regions/how_pr_ha_works.html.md.erb
+++ b/geode-docs/developing/partitioned_regions/how_pr_ha_works.html.md.erb
@@ -2,6 +2,23 @@
 title:  Understanding High Availability for Partitioned Regions
 ---
 
+<!--
+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.
+-->
+
 With high availability, each member that hosts data for the partitioned region gets some primary copies and some redundant (secondary) copies.
 
 <a id="how_pr_ha_works__section_04FDCC6C2130496F8B33B9DF5CDED362"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/partitioned_regions/how_pr_single_hop_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/how_pr_single_hop_works.html.md.erb b/geode-docs/developing/partitioned_regions/how_pr_single_hop_works.html.md.erb
index 9002719..c4592b9 100644
--- a/geode-docs/developing/partitioned_regions/how_pr_single_hop_works.html.md.erb
+++ b/geode-docs/developing/partitioned_regions/how_pr_single_hop_works.html.md.erb
@@ -2,6 +2,23 @@
 title:  Understanding Client Single-Hop Access to Server-Partitioned Regions
 ---
 
+<!--
+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.
+-->
+
 With single-hop access the client connects to every server, so more connections are generally used. This works fine for smaller installations, but is a barrier to scaling.
 
 If you have a large installation with many clients, you may want to disable single hop by setting the pool attribute, `pr-single-hop-enabled` to false in your pool declarations.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/partitioned_regions/join_query_partitioned_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/join_query_partitioned_regions.html.md.erb b/geode-docs/developing/partitioned_regions/join_query_partitioned_regions.html.md.erb
index b8399e2..e6beab2 100644
--- a/geode-docs/developing/partitioned_regions/join_query_partitioned_regions.html.md.erb
+++ b/geode-docs/developing/partitioned_regions/join_query_partitioned_regions.html.md.erb
@@ -2,6 +2,23 @@
 title:  Performing an Equi-Join Query on Partitioned Regions
 ---
 
+<!--
+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.
+-->
+
 In order to perform equi-join operations on partitioned regions or partitioned regions and replicated regions, you need to use the `query.execute` method and supply it with a function execution context. You need to use Geode's FunctionService executor because join operations are not yet directly supported for partitioned regions without providing a function execution context.
 
 See [Partitioned Region Query Restrictions](../query_additional/partitioned_region_query_restrictions.html#concept_5353476380D44CC1A7F586E5AE1CE7E8) for more information on partitioned region query limitations.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/partitioned_regions/managing_partitioned_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/managing_partitioned_regions.html.md.erb b/geode-docs/developing/partitioned_regions/managing_partitioned_regions.html.md.erb
index fd7494f..aedcba7 100644
--- a/geode-docs/developing/partitioned_regions/managing_partitioned_regions.html.md.erb
+++ b/geode-docs/developing/partitioned_regions/managing_partitioned_regions.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configuring Partitioned Regions
 ---
 
+<!--
+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.
+-->
+
 Plan the configuration and ongoing management of your partitioned region for host and accessor members and configure the regions for startup.
 
 <a id="configure_partitioned_regions__section_241583D88E244AB6AB5CD05BF55F6A0A"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/partitioned_regions/moving_partitioned_data.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/moving_partitioned_data.html.md.erb b/geode-docs/developing/partitioned_regions/moving_partitioned_data.html.md.erb
index 054f7fe..b7e6e1b 100644
--- a/geode-docs/developing/partitioned_regions/moving_partitioned_data.html.md.erb
+++ b/geode-docs/developing/partitioned_regions/moving_partitioned_data.html.md.erb
@@ -2,6 +2,23 @@
 title:  Moving Partitioned Region Data to Another Member
 ---
 
+<!--
+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.
+-->
+
 You can use the `PartitionRegionHelper` `moveBucketByKey` and `moveData` methods to explicitly move partitioned region data from one member to another.
 
 The `moveBucketByKey` method moves the bucket that contains the specified key from a source member to a destination member. For example, you could use the method to move a popular product item to a new, empty member to reduce load on the source member.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/partitioned_regions/overview_custom_partitioning_and_data_colocation.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/overview_custom_partitioning_and_data_colocation.html.md.erb b/geode-docs/developing/partitioned_regions/overview_custom_partitioning_and_data_colocation.html.md.erb
index 3cf5c10..1221873 100644
--- a/geode-docs/developing/partitioned_regions/overview_custom_partitioning_and_data_colocation.html.md.erb
+++ b/geode-docs/developing/partitioned_regions/overview_custom_partitioning_and_data_colocation.html.md.erb
@@ -2,6 +2,23 @@
 title:  Custom-Partitioning and Colocating Data
 ---
 
+<!--
+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.
+-->
+
 You can customize how Apache Geode groups your partitioned region data with custom partitioning and data colocation.
 
 -   **[Understanding Custom Partitioning and Data Colocation](../../developing/partitioned_regions/custom_partitioning_and_data_colocation.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/partitioned_regions/overview_how_pr_ha_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/overview_how_pr_ha_works.html.md.erb b/geode-docs/developing/partitioned_regions/overview_how_pr_ha_works.html.md.erb
index 7b182c5..889c56c 100644
--- a/geode-docs/developing/partitioned_regions/overview_how_pr_ha_works.html.md.erb
+++ b/geode-docs/developing/partitioned_regions/overview_how_pr_ha_works.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configuring High Availability for Partitioned Regions
 ---
 
+<!--
+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.
+-->
+
 By default, Apache Geode stores only a single copy of your partitioned region data among the region's data stores. You can configure Geode to maintain redundant copies of your partitioned region data for high availability.
 
 -   **[Understanding High Availability for Partitioned Regions](../../developing/partitioned_regions/how_pr_ha_works.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/partitioned_regions/overview_how_pr_single_hop_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/overview_how_pr_single_hop_works.html.md.erb b/geode-docs/developing/partitioned_regions/overview_how_pr_single_hop_works.html.md.erb
index 651c851..8be43f6 100644
--- a/geode-docs/developing/partitioned_regions/overview_how_pr_single_hop_works.html.md.erb
+++ b/geode-docs/developing/partitioned_regions/overview_how_pr_single_hop_works.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configuring Single-Hop Client Access to Server-Partitioned Regions
 ---
 
+<!--
+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.
+-->
+
 Single-hop data access enables the client pool to track where a partitioned region\u2019s data is hosted in the servers. To access a single entry, the client directly contacts the server that hosts the key, in a single hop.
 
 -   **[Understanding Client Single-Hop Access to Server-Partitioned Regions](../../developing/partitioned_regions/how_pr_single_hop_works.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/partitioned_regions/rebalancing_pr_data.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/rebalancing_pr_data.html.md.erb b/geode-docs/developing/partitioned_regions/rebalancing_pr_data.html.md.erb
index 93c31e7..d40a4f2 100644
--- a/geode-docs/developing/partitioned_regions/rebalancing_pr_data.html.md.erb
+++ b/geode-docs/developing/partitioned_regions/rebalancing_pr_data.html.md.erb
@@ -2,6 +2,23 @@
 title:  Rebalancing Partitioned Region Data
 ---
 
+<!--
+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.
+-->
+
 In a distributed system with minimal contention to the concurrent threads reading or updating from the members, you can use rebalancing to dynamically increase or decrease your data and processing capacity.
 
 <a id="rebalancing_pr_data__section_D3649ADD28DB4FF78C47A3E428C80510"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/partitioned_regions/set_crash_redundancy_recovery.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/set_crash_redundancy_recovery.html.md.erb b/geode-docs/developing/partitioned_regions/set_crash_redundancy_recovery.html.md.erb
index 4c7311e..a24b966 100644
--- a/geode-docs/developing/partitioned_regions/set_crash_redundancy_recovery.html.md.erb
+++ b/geode-docs/developing/partitioned_regions/set_crash_redundancy_recovery.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configure Member Crash Redundancy Recovery for a Partitioned Region
 ---
 
+<!--
+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.
+-->
+
 Configure whether and how redundancy is recovered in a partition region after a member crashes.
 
 <a id="set_crash_redundancy_recovery__section_86CF741758E54DA29519E9CDDF1BC393"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/partitioned_regions/set_enforce_unique_host.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/set_enforce_unique_host.html.md.erb b/geode-docs/developing/partitioned_regions/set_enforce_unique_host.html.md.erb
index 19cc1ec..000216c 100644
--- a/geode-docs/developing/partitioned_regions/set_enforce_unique_host.html.md.erb
+++ b/geode-docs/developing/partitioned_regions/set_enforce_unique_host.html.md.erb
@@ -2,6 +2,23 @@
 title:  Set Enforce Unique Host
 ---
 
+<!--
+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.
+-->
+
 Configure Geode to use only unique physical machines for redundant copies of partitioned region data.
 
 Understand how to set a member's `gemfire.properties` settings. See [Reference](../../reference/book_intro.html#reference).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/partitioned_regions/set_join_redundancy_recovery.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/set_join_redundancy_recovery.html.md.erb b/geode-docs/developing/partitioned_regions/set_join_redundancy_recovery.html.md.erb
index 4fe790e..6461f0e 100644
--- a/geode-docs/developing/partitioned_regions/set_join_redundancy_recovery.html.md.erb
+++ b/geode-docs/developing/partitioned_regions/set_join_redundancy_recovery.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configure Member Join Redundancy Recovery for a Partitioned Region
 ---
 
+<!--
+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.
+-->
+
 Configure whether and how redundancy is recovered in a partition region after a member joins.
 
 <a id="set_join_redundancy_recovery__section_D6FB0D69CC454B53B9CF1E656A44465C"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/partitioned_regions/set_pr_redundancy.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/set_pr_redundancy.html.md.erb b/geode-docs/developing/partitioned_regions/set_pr_redundancy.html.md.erb
index ae12721..7ecbd71 100644
--- a/geode-docs/developing/partitioned_regions/set_pr_redundancy.html.md.erb
+++ b/geode-docs/developing/partitioned_regions/set_pr_redundancy.html.md.erb
@@ -2,6 +2,23 @@
 title:  Set the Number of Redundant Copies
 ---
 
+<!--
+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.
+-->
+
 Configure in-memory high availability for your partitioned region by specifying the number of secondary copies you want to maintain in the region's data stores.
 
 Specify the number of redundant copies you want for your partitioned region data in the partition attribute `redundant-copies` setting. The default setting is 0. 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/partitioned_regions/set_redundancy_zones.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/set_redundancy_zones.html.md.erb b/geode-docs/developing/partitioned_regions/set_redundancy_zones.html.md.erb
index f5a0a10..e08be5d 100644
--- a/geode-docs/developing/partitioned_regions/set_redundancy_zones.html.md.erb
+++ b/geode-docs/developing/partitioned_regions/set_redundancy_zones.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configure Redundancy Zones for Members
 ---
 
+<!--
+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.
+-->
+
 Group members into redundancy zones so Geode will separate redundant data copies into different zones.
 
 Understand how to set a member's `gemfire.properties` settings. See [Reference](../../reference/book_intro.html#reference).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/partitioned_regions/using_custom_partition_resolvers.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/partitioned_regions/using_custom_partition_resolvers.html.md.erb b/geode-docs/developing/partitioned_regions/using_custom_partition_resolvers.html.md.erb
index df9e4b3..61a0e36 100644
--- a/geode-docs/developing/partitioned_regions/using_custom_partition_resolvers.html.md.erb
+++ b/geode-docs/developing/partitioned_regions/using_custom_partition_resolvers.html.md.erb
@@ -2,6 +2,23 @@
 title:  Custom-Partition Your Region Data
 ---
 
+<!--
+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.
+-->
+
 By default, Geode partitions each data entry into a bucket using a hashing policy on the key. Additionally, the physical location of the key-value pair is abstracted away from the application. You can change these policies for a partitioned region. You can provide your own data partitioning resolver and you can additionally specify which members host which data buckets.
 
 <a id="custom_partition_region_data__section_CF05CE974C9C4AF78430DA55601D2158"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_additional/advanced_querying.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/advanced_querying.html.md.erb b/geode-docs/developing/query_additional/advanced_querying.html.md.erb
index d94da69..7054868 100644
--- a/geode-docs/developing/query_additional/advanced_querying.html.md.erb
+++ b/geode-docs/developing/query_additional/advanced_querying.html.md.erb
@@ -2,6 +2,23 @@
 title:  Advanced Querying
 ---
 
+<!--
+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.
+-->
+
 This section includes advanced querying topics such as using query indexes, using query bind parameters, querying partitioned regions and query debugging.
 
 -   **[Performance Considerations](../../developing/querying_basics/performance_considerations.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_additional/case_sensitivity.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/case_sensitivity.html.md.erb b/geode-docs/developing/query_additional/case_sensitivity.html.md.erb
index 2d49259..e67a22a 100644
--- a/geode-docs/developing/query_additional/case_sensitivity.html.md.erb
+++ b/geode-docs/developing/query_additional/case_sensitivity.html.md.erb
@@ -2,6 +2,23 @@
 title:  Case Sensitivity
 ---
 
+<!--
+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.
+-->
+
 Query language keywords such as SELECT, NULL, DATE, and &lt;TRACE&gt; are case-insensitive. Identifiers such as attribute names, method names, and path expressions are case-sensitive.
 
 In terms of query string and region entry matching, if you want to perform a case-insensitive search on a particular field, you can use the Java String class `toUpperCase` and `toLowerCase` methods in your query. For example:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_additional/literals.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/literals.html.md.erb b/geode-docs/developing/query_additional/literals.html.md.erb
index 37fcc0f..e86371c 100644
--- a/geode-docs/developing/query_additional/literals.html.md.erb
+++ b/geode-docs/developing/query_additional/literals.html.md.erb
@@ -2,6 +2,23 @@
 title:  Supported Literals
 ---
 
+<!--
+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="literals__section_BA2D0AC444EB45088F00D9E2C8A1DD06" class="no-quick-link"></a>Comparing Values With java.util.Date
 
 Geode supports the following literal types:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_additional/operators.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/operators.html.md.erb b/geode-docs/developing/query_additional/operators.html.md.erb
index b05d5d3..e8cca37 100644
--- a/geode-docs/developing/query_additional/operators.html.md.erb
+++ b/geode-docs/developing/query_additional/operators.html.md.erb
@@ -2,6 +2,23 @@
 title:  Operators
 ---
 
+<!--
+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.
+-->
+
 Geode supports comparison, logical, unary, map, index, dot, and right arrow operators.
 
 ## <a id="operators__section_A3FB372F85D840D7A49CB95BD7FCA7C6" class="no-quick-link"></a>Comparison Operators

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_additional/order_by_on_partitioned_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/order_by_on_partitioned_regions.html.md.erb b/geode-docs/developing/query_additional/order_by_on_partitioned_regions.html.md.erb
index 4d52a88..8bcc41b 100644
--- a/geode-docs/developing/query_additional/order_by_on_partitioned_regions.html.md.erb
+++ b/geode-docs/developing/query_additional/order_by_on_partitioned_regions.html.md.erb
@@ -2,6 +2,23 @@
 title:  Using ORDER BY on Partitioned Regions
 ---
 
+<!--
+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.
+-->
+
 To execute a query with an ORDER BY clause on a partitioned region, the fields specified in the ORDER BY clause must be part of the projection list.
 
 When an ORDER BY clause is used with a partition region query, the query is executed separately on each region host, the local query coordinator, and all remote members. The results are all gathered by the query coordinator. The cumulative result set is built by applying ORDER BY on the gathered results. If the LIMIT clause is also used in the query, ORDER BY and LIMIT are applied on each node before each node\u2019s results are returned to the coordinator. Then the clauses are applied to the cumulative result set to get the final result set, which is returned to the calling application.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_additional/partitioned_region_key_or_field_value.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/partitioned_region_key_or_field_value.html.md.erb b/geode-docs/developing/query_additional/partitioned_region_key_or_field_value.html.md.erb
index f97c011..8ee443e 100644
--- a/geode-docs/developing/query_additional/partitioned_region_key_or_field_value.html.md.erb
+++ b/geode-docs/developing/query_additional/partitioned_region_key_or_field_value.html.md.erb
@@ -2,6 +2,23 @@
 title:  Optimizing Queries on Data Partitioned by a Key or Field Value
 ---
 
+<!--
+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.
+-->
+
 You can improve query performance on data that is partitioned by key or a field value by creating a key index and then executing the query using the `FunctionService` with the key or field value used as filter.
 
 The following is an example how to optimize a query that will be run on data partitioned by region key value. In the following example, data is partitioned by the "orderId" field.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_additional/partitioned_region_query_restrictions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/partitioned_region_query_restrictions.html.md.erb b/geode-docs/developing/query_additional/partitioned_region_query_restrictions.html.md.erb
index 429081e..4fe4cd9 100644
--- a/geode-docs/developing/query_additional/partitioned_region_query_restrictions.html.md.erb
+++ b/geode-docs/developing/query_additional/partitioned_region_query_restrictions.html.md.erb
@@ -2,6 +2,23 @@
 title:  Partitioned Region Query Restrictions
 ---
 
+<!--
+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="concept_5353476380D44CC1A7F586E5AE1CE7E8__section_16875A7EA07D42C08FB194F4A854360D" class="no-quick-link"></a>Query Restrictions in Partitioned Regions
 
 Partitioned region queries function the same as non-partitioned region queries, except for the restrictions listed in this section. Partitioned region queries that do not follow these guidelines generate an `UnsupportedOperationException`.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_additional/query_debugging.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/query_debugging.html.md.erb b/geode-docs/developing/query_additional/query_debugging.html.md.erb
index b39cf08..c404d6b 100644
--- a/geode-docs/developing/query_additional/query_debugging.html.md.erb
+++ b/geode-docs/developing/query_additional/query_debugging.html.md.erb
@@ -2,6 +2,23 @@
 title:  Query Debugging
 ---
 
+<!--
+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.
+-->
+
 You can debug a specific query at the query level by adding the `<trace>` keyword before the query string that you want to debug.
 
 Here is an example:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_additional/query_language_features.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/query_language_features.html.md.erb b/geode-docs/developing/query_additional/query_language_features.html.md.erb
index eea7cc0..10ab0c6 100644
--- a/geode-docs/developing/query_additional/query_language_features.html.md.erb
+++ b/geode-docs/developing/query_additional/query_language_features.html.md.erb
@@ -2,6 +2,23 @@
 title:  OQL Syntax and Semantics
 ---
 
+<!--
+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="concept_5B8BA904DF2A41BEAA057017777D4E90__section_33F0FD791A2448CB812E8397828B33C2"></a>
 This section covers the following querying language features:
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_additional/query_on_a_single_node.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/query_on_a_single_node.html.md.erb b/geode-docs/developing/query_additional/query_on_a_single_node.html.md.erb
index 6b56cb0..bf83999 100644
--- a/geode-docs/developing/query_additional/query_on_a_single_node.html.md.erb
+++ b/geode-docs/developing/query_additional/query_on_a_single_node.html.md.erb
@@ -2,6 +2,23 @@
 title:  Querying a Partitioned Region on a Single Node
 ---
 
+<!--
+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.
+-->
+
 To direct a query to specific partitioned region node, you can execute the query within a function. Use the following steps:
 
 1.  Implement a function which executes a query using RegionFunctionContext.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_additional/supported_keywords.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/supported_keywords.html.md.erb b/geode-docs/developing/query_additional/supported_keywords.html.md.erb
index 1a257f6..bbc3204 100644
--- a/geode-docs/developing/query_additional/supported_keywords.html.md.erb
+++ b/geode-docs/developing/query_additional/supported_keywords.html.md.erb
@@ -2,6 +2,23 @@
 title:  Supported Keywords
 ---
 
+<!--
+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.
+-->
+
 | Query Language Keyword | Description                                                                                                                                                                                                                                                                                                                                         | Example                                                                                                                                                                                                                                                    |
 |------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
 | AND                    | Logical operator used to create complex expressions by combining two or more expressions to produce a Boolean result. When you combine two conditional expressions using the AND operator, both conditions must evaluate to true for the entire expression to be true.                                                                              | See [Operators](operators.html#operators)                                                                                                                                                                                          |

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_additional/using_query_bind_parameters.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_additional/using_query_bind_parameters.html.md.erb b/geode-docs/developing/query_additional/using_query_bind_parameters.html.md.erb
index cf9dcea..8fee56b 100644
--- a/geode-docs/developing/query_additional/using_query_bind_parameters.html.md.erb
+++ b/geode-docs/developing/query_additional/using_query_bind_parameters.html.md.erb
@@ -2,6 +2,23 @@
 title:  Using Query Bind Parameters
 ---
 
+<!--
+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.
+-->
+
 Using query bind parameters in Geode queries is similar to using prepared statements in SQL where parameters can be set during query execution. This allows user to build a query once and execute it multiple times by passing the query conditions during run time.
 
 Query objects are thread-safe.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_index/create_multiple_indexes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/create_multiple_indexes.html.md.erb b/geode-docs/developing/query_index/create_multiple_indexes.html.md.erb
index a629349..e5a15c0 100644
--- a/geode-docs/developing/query_index/create_multiple_indexes.html.md.erb
+++ b/geode-docs/developing/query_index/create_multiple_indexes.html.md.erb
@@ -2,6 +2,23 @@
 title:  Creating Multiple Indexes at Once
 ---
 
+<!--
+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.
+-->
+
 In order to speed and promote efficiency when creating indexes, you can define multiple indexes and then create them all at once.
 
 Defining multiple indexes before creating them speeds up the index creation process by iterating over region entries only once.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_index/creating_an_index.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/creating_an_index.html.md.erb b/geode-docs/developing/query_index/creating_an_index.html.md.erb
index 8e977a7..2438447 100644
--- a/geode-docs/developing/query_index/creating_an_index.html.md.erb
+++ b/geode-docs/developing/query_index/creating_an_index.html.md.erb
@@ -2,6 +2,23 @@
 title:  Creating, Listing and Removing Indexes
 ---
 
+<!--
+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.
+-->
+
 The Geode `QueryService` API provides methods to create, list and remove the index. You can also use `gfsh` command-line interface to create, list and remove indexes, and use cache.xml to create an index.
 
 ## <a id="indexing__section_565C080FBDD0443C8504DF372E3C32C8" class="no-quick-link"></a>Creating Indexes

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_index/creating_hash_indexes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/creating_hash_indexes.html.md.erb b/geode-docs/developing/query_index/creating_hash_indexes.html.md.erb
index f7fe579..bd97e6f 100644
--- a/geode-docs/developing/query_index/creating_hash_indexes.html.md.erb
+++ b/geode-docs/developing/query_index/creating_hash_indexes.html.md.erb
@@ -2,6 +2,23 @@
 title:  Creating Hash Indexes
 ---
 
+<!--
+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.
+-->
+
 Geode supports the creation of hash indexes for the purposes of performing equality-based queries.
 
 ## <a id="concept_5C7614F71F394C62ACA1BDC5684A7AC4__section_8A927DFB29364DA7856E7FE122FC1654" class="no-quick-link"></a>Why Create a HashIndex

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_index/creating_key_indexes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/creating_key_indexes.html.md.erb b/geode-docs/developing/query_index/creating_key_indexes.html.md.erb
index fb9de44..c7baff2 100644
--- a/geode-docs/developing/query_index/creating_key_indexes.html.md.erb
+++ b/geode-docs/developing/query_index/creating_key_indexes.html.md.erb
@@ -2,6 +2,23 @@
 title:  Creating Key Indexes
 ---
 
+<!--
+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.
+-->
+
 Creating a key index is a good way to improve query performance when data is partitioned using a key or a field value. You can create key indexes by using the `createKeyIndex` method of the QueryService or by defining the index in `cache.xml`. Creating a key index makes the query service aware of the relationship between the values in the region and the keys in the region.
 
 The FROM clause for a primary key index must be just a region path. The indexed expression is an expression that, when applied to an entry value, produces the key. For example, if a region has Portfolios as the values and the keys are the id field of the Portfolios region, the indexed expression is id.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_index/creating_map_indexes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/creating_map_indexes.html.md.erb b/geode-docs/developing/query_index/creating_map_indexes.html.md.erb
index 32a5cf2..d1b1523 100644
--- a/geode-docs/developing/query_index/creating_map_indexes.html.md.erb
+++ b/geode-docs/developing/query_index/creating_map_indexes.html.md.erb
@@ -2,6 +2,23 @@
 title:  Creating Indexes on Map Fields ("Map Indexes")
 ---
 
+<!--
+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.
+-->
+
 To assist with the quick lookup of multiple values in a Map (or HashMap) type field, you can create an index (sometimes referred to as a "map index") on specific (or all) keys in that field.
 
 For example, you could create a map index to support the following query:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_index/index_samples.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/index_samples.html.md.erb b/geode-docs/developing/query_index/index_samples.html.md.erb
index ce2e67c..6429a97 100644
--- a/geode-docs/developing/query_index/index_samples.html.md.erb
+++ b/geode-docs/developing/query_index/index_samples.html.md.erb
@@ -2,6 +2,23 @@
 title:  Index Samples
 ---
 
+<!--
+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.
+-->
+
 This topic provides code samples for creating query indexes.
 
 ``` pre

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_index/indexes_on_single_region_queries.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/indexes_on_single_region_queries.html.md.erb b/geode-docs/developing/query_index/indexes_on_single_region_queries.html.md.erb
index 35662f7..c378cfd 100644
--- a/geode-docs/developing/query_index/indexes_on_single_region_queries.html.md.erb
+++ b/geode-docs/developing/query_index/indexes_on_single_region_queries.html.md.erb
@@ -2,6 +2,23 @@
 title:  Using Indexes on Single Region Queries
 ---
 
+<!--
+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.
+-->
+
 Queries with one comparison operation may be improved with either a key or range index, depending on whether the attribute being compared is also the primary key.
 
 <a id="concept_0210701C193A470E8C572111F6CEC3FC__section_751427643EC3480BABCE9CA44E831E27"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_index/indexes_with_overflow_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/indexes_with_overflow_regions.html.md.erb b/geode-docs/developing/query_index/indexes_with_overflow_regions.html.md.erb
index 126b2e6..e89443d 100644
--- a/geode-docs/developing/query_index/indexes_with_overflow_regions.html.md.erb
+++ b/geode-docs/developing/query_index/indexes_with_overflow_regions.html.md.erb
@@ -2,6 +2,23 @@
 title:  Using Indexes with Overflow Regions
 ---
 
+<!--
+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.
+-->
+
 You can use indexes when querying on overflow regions; however, there are caveats.
 
 The following are caveats for querying overflow regions:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_index/indexing_guidelines.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/indexing_guidelines.html.md.erb b/geode-docs/developing/query_index/indexing_guidelines.html.md.erb
index 8cf229f..88c14b0 100644
--- a/geode-docs/developing/query_index/indexing_guidelines.html.md.erb
+++ b/geode-docs/developing/query_index/indexing_guidelines.html.md.erb
@@ -2,6 +2,23 @@
 title:  Tips and Guidelines on Using Indexes
 ---
 
+<!--
+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.
+-->
+
 Optimizing your queries with indexes requires a cycle of careful planning, testing, and tuning. Poorly-defined indexes can degrade the performance of your queries instead of improving it. This section gives guidelines for index usage in the query service.
 
 <a id="indexing_guidelines__section_A8885DFC334243508C4563C9692E0801"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_index/maintaining_indexes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/maintaining_indexes.html.md.erb b/geode-docs/developing/query_index/maintaining_indexes.html.md.erb
index ae8c29b..838f380 100644
--- a/geode-docs/developing/query_index/maintaining_indexes.html.md.erb
+++ b/geode-docs/developing/query_index/maintaining_indexes.html.md.erb
@@ -2,6 +2,23 @@
 title:  Maintaining Indexes (Synchronously or Asynchronously) and Index Storage
 ---
 
+<!--
+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.
+-->
+
 Indexes are automatically kept current with the region data they reference. The region attribute `IndexMaintenanceSynchronous` specifies whether the region indexes are updated synchronously when a region is modified or asynchronously in a background thread.
 
 ## <a id="concept_98ED3F38919A490B9AE2553568455C35__section_FF1945F2AAFA4B158067CEE967410616" class="no-quick-link"></a>Index Maintenance Behavior

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_index/query_index.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/query_index.html.md.erb b/geode-docs/developing/query_index/query_index.html.md.erb
index accbf00..0f2c698 100644
--- a/geode-docs/developing/query_index/query_index.html.md.erb
+++ b/geode-docs/developing/query_index/query_index.html.md.erb
@@ -2,6 +2,23 @@
 title:  Working with Indexes
 ---
 
+<!--
+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.
+-->
+
 The Geode query engine supports indexing. An index can provide significant performance gains for query execution.
 
 <a id="indexing__section_565C080FBDD0443C8504DF372E3C32C8"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_index/query_index_hints.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/query_index_hints.html.md.erb b/geode-docs/developing/query_index/query_index_hints.html.md.erb
index 37b1005..9911014 100644
--- a/geode-docs/developing/query_index/query_index_hints.html.md.erb
+++ b/geode-docs/developing/query_index/query_index_hints.html.md.erb
@@ -2,6 +2,23 @@
 title:  Using Query Index Hints
 ---
 
+<!--
+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.
+-->
+
 You can use the hint keyword to allow Geode's query engine to prefer certain indexes.
 
 In cases where one index is hinted in a query, the query engine filters off the hinted index (if possible) and then iterates and filters from the resulting values.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_index/using_indexes_with_equijoin_queries.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/using_indexes_with_equijoin_queries.html.md.erb b/geode-docs/developing/query_index/using_indexes_with_equijoin_queries.html.md.erb
index 2d7accc..a5ca840 100644
--- a/geode-docs/developing/query_index/using_indexes_with_equijoin_queries.html.md.erb
+++ b/geode-docs/developing/query_index/using_indexes_with_equijoin_queries.html.md.erb
@@ -2,6 +2,23 @@
 title:  Using Indexes with Equi-Join Queries
 ---
 
+<!--
+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.
+-->
+
 Equi-join queries are queries in which two regions are joined through an equality condition in the WHERE clause.
 
 <a id="concept_A90C5FD84FCB45B2B28D6CE78DE1D117__section_47CFF4EF4D964FCFBB772B0347C02214"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_index/using_indexes_with_equijoin_queries_multiple_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/using_indexes_with_equijoin_queries_multiple_regions.html.md.erb b/geode-docs/developing/query_index/using_indexes_with_equijoin_queries_multiple_regions.html.md.erb
index a834b60..04e63d2 100644
--- a/geode-docs/developing/query_index/using_indexes_with_equijoin_queries_multiple_regions.html.md.erb
+++ b/geode-docs/developing/query_index/using_indexes_with_equijoin_queries_multiple_regions.html.md.erb
@@ -2,6 +2,23 @@
 title:  Using Indexes on Equi-Join Queries using Multiple Regions
 ---
 
+<!--
+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.
+-->
+
 To query across multiple regions, identify all equi-join conditions. Then, create as few indexes for the equi-join conditions as you can while still joining all regions.
 
 <a id="concept_DB2407C49F064B04AA58BC9D1DBA3666__section_70735ED43C4D47B0A19B910BB7E3A1DA"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_select/aggregates.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_select/aggregates.html.md.erb b/geode-docs/developing/query_select/aggregates.html.md.erb
index 1a4e0aa..38bd490 100644
--- a/geode-docs/developing/query_select/aggregates.html.md.erb
+++ b/geode-docs/developing/query_select/aggregates.html.md.erb
@@ -2,6 +2,23 @@
 title:  OQL Aggregate Functions
 ---
 
+<!--
+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.
+-->
+
 The aggregate functions 
 ```MIN```,
 ```MAX```,

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_select/the_from_clause.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_select/the_from_clause.html.md.erb b/geode-docs/developing/query_select/the_from_clause.html.md.erb
index 2ecc2e8..4490972 100644
--- a/geode-docs/developing/query_select/the_from_clause.html.md.erb
+++ b/geode-docs/developing/query_select/the_from_clause.html.md.erb
@@ -2,6 +2,23 @@
 title:  FROM Clause
 ---
 
+<!--
+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="the_from_clause__section_FAEBC02C4E414F91B1CA8D33E11218AF"></a>
 Use the FROM clause to bring the data you need into scope for the rest of your query. The FROM clause also includes object typing and iterator variables.
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_select/the_import_statement.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_select/the_import_statement.html.md.erb b/geode-docs/developing/query_select/the_import_statement.html.md.erb
index 1269f79..f58d443 100644
--- a/geode-docs/developing/query_select/the_import_statement.html.md.erb
+++ b/geode-docs/developing/query_select/the_import_statement.html.md.erb
@@ -2,6 +2,23 @@
 title:  IMPORT Statement
 ---
 
+<!--
+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.
+-->
+
 It is sometimes necessary for an OQL query to refer to the class of an object. In cases where the same class name resides in two different namescopes (packages), you must be able to differentiate the classes having the same name.
 
 The **IMPORT** statement is used to establish a name for a class in a query.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_select/the_select_statement.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_select/the_select_statement.html.md.erb b/geode-docs/developing/query_select/the_select_statement.html.md.erb
index 04d14df..baaf6c1 100644
--- a/geode-docs/developing/query_select/the_select_statement.html.md.erb
+++ b/geode-docs/developing/query_select/the_select_statement.html.md.erb
@@ -2,6 +2,23 @@
 title:  SELECT Statement
 ---
 
+<!--
+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.
+-->
+
 The SELECT statement allows you to filter data from the collection of object(s) returned by a WHERE search operation. The projection list is either specified as \* or as a comma delimited list of expressions.
 
 For \*, the interim results of the WHERE clause are returned from the query.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/query_select/the_where_clause.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_select/the_where_clause.html.md.erb b/geode-docs/developing/query_select/the_where_clause.html.md.erb
index fd2405e..834bae9 100644
--- a/geode-docs/developing/query_select/the_where_clause.html.md.erb
+++ b/geode-docs/developing/query_select/the_where_clause.html.md.erb
@@ -2,6 +2,23 @@
 title:  WHERE Clause
 ---
 
+<!--
+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="the_where_clause__section_56BB3A7F44124CA9BFBC20E19399C6E4"></a>
 Each FROM clause expression must resolve to a collection of objects. The collection is then available for iteration in the query expressions that follow in the WHERE clause.
 



[29/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_index/using_indexes_with_equijoin_queries_multiple_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_index/using_indexes_with_equijoin_queries_multiple_regions.html.md.erb b/geode-docs/developing/query_index/using_indexes_with_equijoin_queries_multiple_regions.html.md.erb
new file mode 100644
index 0000000..a834b60
--- /dev/null
+++ b/geode-docs/developing/query_index/using_indexes_with_equijoin_queries_multiple_regions.html.md.erb
@@ -0,0 +1,62 @@
+---
+title:  Using Indexes on Equi-Join Queries using Multiple Regions
+---
+
+To query across multiple regions, identify all equi-join conditions. Then, create as few indexes for the equi-join conditions as you can while still joining all regions.
+
+<a id="concept_DB2407C49F064B04AA58BC9D1DBA3666__section_70735ED43C4D47B0A19B910BB7E3A1DA"></a>
+If there are equi-join conditions that redundantly join two regions (in order to more finely filter the data, for example), then creating redundant indexes for these joins will negatively impact performance. Create indexes only on one equi-join condition for each region pair.
+
+In this example query:
+
+``` pre
+SELECT DISTINCT * 
+FROM /investors inv, /securities sc, /orders or, 
+inv.ordersPlaced inv_op, or.securities or_sec 
+    WHERE inv_op.orderID = or.orderID 
+    AND or_sec.secID = sc.secID
+```
+
+All conditions are required to join the regions, so you would create four indexes, two for each equi-join condition:
+
+| FROM clause                              | Indexed expression |
+|------------------------------------------|--------------------|
+| /investors inv, inv.ordersPlaced inv\_op | inv\_op.orderID    |
+| /orders or, or.securities or\_sec        | or.orderID         |
+
+| FROM clause                       | Indexed expression |
+|-----------------------------------|--------------------|
+| /orders or, or.securities or\_sec | or\_sec.secID      |
+| /securities sc                    | sc.secID           |
+
+Adding another condition to the example:
+
+``` pre
+SELECT DISTINCT * 
+FROM /investors inv, /securities sc, /orders or, 
+inv.ordersPlaced inv_op, or.securities or_sec, sc.investors sc_invs 
+    WHERE inv_op.orderID = or.orderID 
+    AND or_sec.secID = sc.secID
+                AND inv.investorID = sc_invs.investorID
+```
+
+You would still only want to use four indexes in all, as that's all you need to join all of the regions. You would need to choose the most performant two of the following three index pairs:
+
+| FROM clause                              | Indexed expression |
+|------------------------------------------|--------------------|
+| /investors inv, inv.ordersPlaced inv\_op | inv\_op.orderID    |
+| /orders or, or.securities or\_sec        | or.orderID         |
+
+| FROM clause                           | Indexed expression |
+|---------------------------------------|--------------------|
+| /orders or, or.securities or\_sec     | or\_sec.secID      |
+| /securities sc, sc.investors sc\_invs | sc.secID           |
+
+| FROM clause                              | Indexed expression  |
+|------------------------------------------|---------------------|
+| /investors inv, inv.ordersPlaced inv\_op | inv.investorID      |
+| /securities sc, sc.investors sc\_invs    | sc\_invs.investorID |
+
+The most performant set is that which narrows the data to the smallest result set possible. Examine your data and experiment with the three index pairs to see which provides the best performance.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_select/aggregates.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_select/aggregates.html.md.erb b/geode-docs/developing/query_select/aggregates.html.md.erb
new file mode 100644
index 0000000..1a4e0aa
--- /dev/null
+++ b/geode-docs/developing/query_select/aggregates.html.md.erb
@@ -0,0 +1,92 @@
+---
+title:  OQL Aggregate Functions
+---
+
+The aggregate functions 
+```MIN```,
+```MAX```,
+```AVG```,
+```AVG``` over a DISTINCT expression,
+```SUM``` over a DISTINCT expression,
+```COUNT```, and
+```COUNT``` over a DISTINCT expression
+are supported.
+The ```GROUP BY``` extension is also supported where appropriate.
+
+The ```MIN``` function returns the smallest of the selected
+expression.
+The type of the expression must evaluate to a 
+```java.lang.Comparable```.
+
+The ```MAX``` function returns the largest of the selected
+expression.
+The type of the expression must evaluate to a 
+```java.lang.Comparable```.
+
+The ```AVG``` function returns the arithmetic mean of the set
+formed by the selected expression.
+The type of the expression must evaluate to a 
+```java.lang.Number```.
+For partitioned regions,
+each node's buckets provide both a sum and the number of elements
+to the node executing the query,
+such that a correct average may be computed.
+
+The ```AVG``` function where the DISTINCT modifier is applied
+to the expression returns the arithmetic mean of the set
+of unique (distinct) values.
+The type of the expression must evaluate to a 
+```java.lang.Number```.
+For partitioned regions,
+the distinct values in a node's buckets are returned
+to the node executing the query.
+The query node can then calculate the avarage over
+the values that are unique across nodes,
+after eliminating duplicate values that come from separate nodes.
+
+The ```SUM``` function returns the sum over the set
+formed by the selected expression.
+The type of the expression must evaluate to a 
+```java.lang.Number```.
+For partitioned regions,
+each node's buckets compute a sum over that node,
+returning that sum
+to the node executing the query,
+when then sums across all nodes.
+
+The ```SUM``` function where the DISTINCT modifier is applied
+to the expression returns the sum over the set
+of unique (distinct) values.
+The type of the expression must evaluate to a 
+```java.lang.Number```.
+For partitioned regions,
+the distinct values in a node's buckets are returned
+to the node executing the query.
+The query node can then calculate the sum over
+the values that are unique across nodes,
+after eliminating duplicate values that come from separate nodes.
+
+The ```COUNT``` function returns the quantity of values in the set
+formed by the selected expression.
+For example, to return the quantity of employees who have a
+positive sales amount:
+
+``` pre
+SELECT count(e.sales) FROM /employees e WHERE e.sales > 0.0
+```
+
+The ```COUNT``` function where the DISTINCT modifier is applied
+returns the quantity of unique (distinct) values in the set
+formed by the selected expression.
+
+## GROUP BY Extension for Aggregate Functions
+
+```GROUP BY``` is required 
+when aggregate functions are used in combination
+with other selected items.
+It permits ordering.
+For example,
+
+``` pre
+SELECT ID, MAX(e.sales) FROM /employees e GROUP BY ID
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_select/the_from_clause.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_select/the_from_clause.html.md.erb b/geode-docs/developing/query_select/the_from_clause.html.md.erb
new file mode 100644
index 0000000..2ecc2e8
--- /dev/null
+++ b/geode-docs/developing/query_select/the_from_clause.html.md.erb
@@ -0,0 +1,86 @@
+---
+title:  FROM Clause
+---
+
+<a id="the_from_clause__section_FAEBC02C4E414F91B1CA8D33E11218AF"></a>
+Use the FROM clause to bring the data you need into scope for the rest of your query. The FROM clause also includes object typing and iterator variables.
+
+The query engine resolves names and path expressions according to the name space that is currently in scope in the query.
+
+## <a id="the_from_clause__section_CF6063A6C5134EFC89C43D106B6A6D4D" class="no-quick-link"></a>Path Expressions
+
+The initial name space for any query is composed of:
+
+-   **Regions.** In the context of a query, the name of a region is specified by its full path starting with a forward slash ( / ) and delimited by the forward slash between region names. For example, **/exampleRegion** or **/root/exampleRegion**.
+-   **Region querying attributes**. From a region path, you can access the Region object's public fields and methods, referred to in querying as the region's attributes. For example, **/exampleRegion.size**.
+-   **Top-level region data.** You can access entry keys and entry data through the region path.
+    1.  `/exampleRegion.keySet` returns the Set of entry keys in the region
+    2.  `/exampleRegion.entryset` returns the Set of Region.Entry objects
+    3.  `/exampleRegion.values` returns the Collection of entry values
+    4.  `/exampleRegion` returns the Collection of entry values
+
+New name spaces are brought into scope based on the FROM clause in the SELECT statement.
+
+**Examples:**
+
+Query a region for all distinct values. Return a collection of unique entry values from the region:
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion
+```
+
+Query the top level region data using entrySet. Return the keys and positions of Region.Entry objects whose mktValue attribute is greater than 25.00:
+
+``` pre
+SELECT key, positions FROM /exampleRegion.entrySet, value.positions.values positions WHERE positions.mktValue >= 25.00
+```
+
+Query the region for its entry values. Return a set of unique values from Region.Entry objects that have the key equal to 1:
+
+``` pre
+SELECT DISTINCT entry.value FROM /exampleRegion.entries entry WHERE entry.key = '1'
+```
+
+Query the region for its entry values. Return the set of all entry values in which the `ID` field is greater than 1000:
+
+``` pre
+SELECT * FROM /exampleRegion.entries entry WHERE entry.value.ID > 1000
+```
+
+Query entry keys in the region. Return a set of entry keys in the region that have the key equal to '1':
+
+``` pre
+SELECT * FROM /exampleRegion.keySet key WHERE key = '1'
+```
+
+Query values in the region. Return a collection of entry values in the region that have the status attribute value of 'active':
+
+``` pre
+SELECT * FROM /exampleRegion.values portfolio WHERE portfolio.status = 'active'
+```
+
+## <a id="the_from_clause__section_AB1734C16DC348479C00FD6829B933AA" class="no-quick-link"></a>Aliases and Synonyms
+
+In query strings, you can use aliases in path expressions (region and its objects) so that you can refer to the region or objects in other places in the query.
+
+You can also use the **AS** keyword to provide a label for joined path expressions.
+
+**Examples:**
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion p WHERE p.status = 'active'
+```
+
+``` pre
+SELECT * FROM /exampleRegion p, p.positions.values AS pos WHERE pos.secId != '1'
+```
+
+## <a id="the_from_clause__section_A5B42CCB7C924949954AEC2DAAD51134" class="no-quick-link"></a>Object Typing
+
+Specifying object type in the FROM clause helps the query engine to process the query at optimal speed. Apart from specifying the object types during configuration (using key-constraint and value-constraint), type can be explicitly specified in the query string.
+
+**Example:**
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion, positions.values positions TYPE Position WHERE positions.mktValue >= 25.00
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_select/the_import_statement.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_select/the_import_statement.html.md.erb b/geode-docs/developing/query_select/the_import_statement.html.md.erb
new file mode 100644
index 0000000..1269f79
--- /dev/null
+++ b/geode-docs/developing/query_select/the_import_statement.html.md.erb
@@ -0,0 +1,14 @@
+---
+title:  IMPORT Statement
+---
+
+It is sometimes necessary for an OQL query to refer to the class of an object. In cases where the same class name resides in two different namescopes (packages), you must be able to differentiate the classes having the same name.
+
+The **IMPORT** statement is used to establish a name for a class in a query.
+
+``` pre
+IMPORT package.Position;
+SELECT DISTINCT * FROM /exampleRegion, positions.values positions TYPE Position WHERE positions.mktValue >= 25.00
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_select/the_select_statement.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_select/the_select_statement.html.md.erb b/geode-docs/developing/query_select/the_select_statement.html.md.erb
new file mode 100644
index 0000000..04d14df
--- /dev/null
+++ b/geode-docs/developing/query_select/the_select_statement.html.md.erb
@@ -0,0 +1,203 @@
+---
+title:  SELECT Statement
+---
+
+The SELECT statement allows you to filter data from the collection of object(s) returned by a WHERE search operation. The projection list is either specified as \* or as a comma delimited list of expressions.
+
+For \*, the interim results of the WHERE clause are returned from the query.
+
+**Examples:**
+
+Query all objects from the region using \*. Returns the Collection of portfolios (The exampleRegion contains Portfolio as values).
+
+``` pre
+SELECT * FROM /exampleRegion
+```
+
+Query secIds from positions. Returns the Collection of secIds from the positions of active portfolios:
+
+``` pre
+SELECT secId FROM /exampleRegion, positions.values TYPE Position 
+WHERE status = 'active'
+```
+
+Returns a Collection of struct&lt;type: String, positions: map&gt; for the active portfolios. The second field of the struct is a Map ( jav.utils.Map ) object, which contains the positions map as the value:
+
+``` pre
+SELECT "type", positions FROM /exampleRegion 
+WHERE status = 'active'
+```
+
+Returns a Collection of struct&lt;portfolios: Portfolio, values: Position&gt; for the active portfolios:
+
+``` pre
+SELECT * FROM /exampleRegion, positions.values 
+TYPE Position WHERE status = 'active'
+```
+
+Returns a Collection of struct&lt;pflo: Portfolio, posn: Position&gt; for the active portfolios:
+
+``` pre
+SELECT * FROM /exampleRegion portfolio, positions positions 
+TYPE Position WHERE portfolio.status = 'active'
+```
+
+## <a id="concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_1B7762EC686A4808B1D12E8851954E82" class="no-quick-link"></a>SELECT Statement Results
+
+The result of a SELECT statement is either UNDEFINED or is a Collection that implements the [SelectResults](/releases/latest/javadoc/org/apache/geode/cache/query/SelectResults.html) interface.
+
+The SelectResults returned from the SELECT statement is either:
+
+1.  A collection of objects, returned for these two cases:
+    -   When only one expression is specified by the projection list and that expression is not explicitly specified using the fieldname:expression syntax
+    -   When the SELECT list is \* and a single collection is specified in the FROM clause
+
+2.  A collection of Structs that contains the objects
+
+When a struct is returned, the name of each field in the struct is determined following this order of preference:
+
+1.  If a field is specified explicitly using the fieldname:expression syntax, the fieldname is used.
+2.  If the SELECT projection list is \* and an explicit iterator expression is used in the FROM clause, the iterator variable name is used as the field name.
+3.  If the field is associated with a region or attribute path, the last attribute name in the path is used.
+4.  If names cannot be decided based on these rules, arbitrary unique names are generated by the query processor.
+
+## <a id="concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_972EE73A6F3E4427B6A99DB4EDF5860D" class="no-quick-link"></a>DISTINCT
+
+Use the DISTINCT keyword if you want to limit the results set to unique rows. Note that in the current version of Geode you are no longer required to use the DISTINCT keyword in your SELECT statement.
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion
+```
+
+**Note:**
+If you are using DISTINCT queries, you must implement the equals and hashCode methods for the objects that you query.
+
+## <a id="concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_25D7055B33EC47B19B1B70264B39212F" class="no-quick-link"></a>LIMIT
+
+You can use the LIMIT keyword at the end of the query string to limit the number of values returned.
+
+For example, this query returns at most 10 values:
+
+``` pre
+SELECT * FROM /exampleRegion LIMIT 10
+```
+
+## <a id="concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_D9DF0F785CA94EF8B367C3326CC12990" class="no-quick-link"></a>ORDER BY
+
+You can order your query results in ascending or descending order by using the ORDER BY clause. You must use DISTINCT when you write ORDER BY queries.
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion WHERE ID < 101 ORDER BY ID
+```
+
+The following query sorts the results in ascending order:
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion WHERE ID < 101 ORDER BY ID asc
+```
+
+The following query sorts the results in descending order:
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion WHERE ID < 101 ORDER BY ID desc
+```
+
+**Note:**
+If you are using ORDER BY queries, you must implement the equals and hashCode methods for the objects that you query.
+
+## <a id="concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_69DCAD624E9640028BC86FD67649DEB2" class="no-quick-link"></a>Preset Query Functions
+
+Geode provides several built-in functions for evaluating or filtering data returned from a query. They include the following:
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Function</th>
+<th>Description</th>
+<th>Example</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td>ELEMENT(expr)</td>
+<td>Extracts a single element from a collection or array. This function throws a <code class="ph codeph">FunctionDomainException</code> if the argument is not a collection or array with exactly one element.</td>
+<td><pre class="pre codeblock"><code>ELEMENT(SELECT DISTINCT * 
+ FROM /exampleRegion 
+ WHERE id = &#39;XYZ-1&#39;).status = &#39;active&#39;</code></pre></td>
+</tr>
+<tr class="even">
+<td>IS_DEFINED(expr)</td>
+<td>Returns TRUE if the expression does not evaluate to UNDEFINED.</td>
+<td><pre class="pre codeblock"><code>IS_DEFINED(SELECT DISTINCT * 
+FROM /exampleRegion p 
+WHERE p.status = &#39;active&#39;)</code></pre></td>
+</tr>
+<tr class="odd">
+<td>IS_UNDEFINED (expr)</td>
+<td>Returns TRUE if the expression evaluates to UNDEFINED. In most queries, undefined values are not included in the query results. The IS_UNDEFINED function allows undefined values to be included, so you can identify element with undefined values.</td>
+<td><pre class="pre codeblock"><code>SELECT DISTINCT * 
+FROM /exampleRegion p 
+WHERE IS_UNDEFINED(p.status)</code></pre></td>
+</tr>
+<tr class="even">
+<td>NVL(expr1, expr2)</td>
+<td>Returns expr2 if expr1 is null. The expressions can be query parameters (bind arguments), path expressions, or literals.</td>
+<td>�</td>
+</tr>
+<tr class="odd">
+<td>TO_DATE(date_str, format_str)</td>
+<td>Returns a Java Data class object. The arguments must be String S with date_str representing the date and format_str representing the format used by date_str. The format_str you provide is parsed using java.text.SimpleDateFormat.</td>
+<td>�</td>
+</tr>
+</tbody>
+</table>
+
+## <a id="concept_85AE7D6B1E2941ED8BD2A8310A81753E__section_B2CBA00EB83F463DAF4769D7859C64C8" class="no-quick-link"></a>COUNT
+
+The COUNT keyword returns the number of results that match the query selection conditions specified in the WHERE clause. Using COUNT allows you to determine the size of a results set. The COUNT statement always returns an integer as its result.
+
+The following queries are example COUNT queries that return region entries:
+
+``` pre
+SELECT COUNT(*) FROM /exampleRegion
+```
+
+``` pre
+SELECT COUNT(*) FROM /exampleRegion WHERE ID > 0
+```
+
+``` pre
+SELECT COUNT(*) FROM /exampleRegion WHERE ID > 0 LIMIT 50
+```
+
+``` pre
+SELECT COUNT(*) FROM /exampleRegion 
+WHERE ID >0 AND status LIKE 'act%'
+```
+
+``` pre
+SELECT COUNT(*) FROM /exampleRegion 
+WHERE ID IN SET(1,2,3,4,5)
+```
+
+The following COUNT query returns the total number of StructTypes that match the query's selection criteria.
+
+``` pre
+SELECT COUNT(*) 
+FROM /exampleRegion p, p.positions.values pos 
+WHERE p.ID > 0 AND pos.secId 'IBM'
+```
+
+The following COUNT query uses the DISTINCT keyword and eliminates duplicates from the number of results.
+
+``` pre
+SELECT DISTINCT COUNT(*)
+FROM /exampleRegion p, p.positions.values pos
+WHERE p.ID > 0 OR p.status = 'active' OR pos.secId
+OR pos.secId = 'IBM'
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/query_select/the_where_clause.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/query_select/the_where_clause.html.md.erb b/geode-docs/developing/query_select/the_where_clause.html.md.erb
new file mode 100644
index 0000000..fd2405e
--- /dev/null
+++ b/geode-docs/developing/query_select/the_where_clause.html.md.erb
@@ -0,0 +1,336 @@
+---
+title:  WHERE Clause
+---
+
+<a id="the_where_clause__section_56BB3A7F44124CA9BFBC20E19399C6E4"></a>
+Each FROM clause expression must resolve to a collection of objects. The collection is then available for iteration in the query expressions that follow in the WHERE clause.
+
+For example:
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion p WHERE p.status = 'active'
+```
+
+The entry value collection is iterated by the WHERE clause, comparing the status field to the string 'active'. When a match is found, the value object of the entry is added to the return set.
+
+In the next example query, the collection specified in the first FROM clause expression is used by the rest of the SELECT statement, including the second FROM clause expression.
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion, positions.values p WHERE p.qty > 1000.00
+```
+
+## <a id="the_where_clause__section_99CA3FA508B740DCBAB4F01F8F9B1390" class="no-quick-link"></a>Implementing equals and hashCode Methods
+
+You must implement the `equals` and `hashCode` methods in your custom objects if you are doing ORDER BY and DISTINCT queries on the objects. The methods must conform to the properties and behavior documented in the online Java API documentation for `java.lang.Object`. Inconsistent query results may occur if these methods are absent.
+
+If you have implemented `equals` and `hashCode` methods in your custom objects, you must provide detailed implementations of these methods so that queries execute properly against the objects. For example, assume that you have defined a custom object (CustomObject) with the following variables:
+
+``` pre
+int ID
+int otherValue
+```
+
+Let's put two CustomObjects (we'll call them CustomObjectA and CustomObjectB) into the cache:
+
+CustomObjectA:
+
+``` pre
+ID=1
+otherValue=1
+```
+
+CustomObjectB:
+
+``` pre
+ID=1
+otherValue=2
+```
+
+If you have implemented the equals method to simply match on the ID field (ID == ID), queries will produce unpredictable results.
+
+The following query:
+
+``` pre
+SELECT * FROM /CustomObjects c 
+WHERE c.ID > 1 AND c.ID < 3 
+AND c.otherValue > 0 AND c.otherValue < 3
+```
+
+returns two objects, however the objects will be two of either CustomObjectA or CustomObjectB.
+
+Alternately, the following query:
+
+``` pre
+SELECT * FROM /CustomObjects c 
+WHERE c.ID > 1 AND c.ID < 3 
+AND c.otherValue > 1 AND c.otherValue < 3
+```
+
+returns either 0 results or 2 results of CustomObjectB, depending on which entry is evaluated last.
+
+To avoid unpredictable querying behavior, implement detailed versions of the `equals` and `hashCode` methods.
+
+If you are comparing a non-primitive field of the object in the WHERE clause, use the `equals` method instead of the `=` operator. For example instead of `nonPrimitiveObj = objToBeCompared` use `nonPrimitiveObj.equals(objToBeCompared)`.
+
+## <a id="the_where_clause__section_7484AD999D01473385628246697F37F6" class="no-quick-link"></a>Querying Serialized Objects
+
+Objects must implement serializable if you will be querying partitioned regions or if you are performing client-server querying.
+
+If you are using PDX serialization, you can access the values of individual fields without having to deserialize the entire object. This is accomplished by using PdxInstance, which is a wrapper around the serialized stream. The PdxInstance provides a helper method that takes field-name and returns the value without deserializing the object. While evaluating the query, the query engine will access field values by calling the getField method thus avoiding deserialization.
+
+To use PdxInstances in querying, ensure that PDX serialization reads are enabled in your server's cache. In gfsh, execute the following command before starting up your data members:
+
+``` pre
+gfsh>configure pdx --read-serialized=true
+```
+
+See [configure pdx](../../tools_modules/gfsh/command-pages/configure.html#topic_jdkdiqbgphqh) for more information.
+
+In cache.xml, set the following:
+
+``` pre
+// Cache configuration setting PDX read behavior 
+<cache>
+  <pdx read-serialized="true">
+  ...
+  </pdx>
+</cache>
+```
+
+## <a id="the_where_clause__section_75A114F9FEBF40A586621CAA1780DBD3" class="no-quick-link"></a>Attribute Visibility
+
+You can access any object or object attribute that is available in the current scope of a query. In querying, an object's attribute is any identifier that can be mapped to a public field or method in the object. In the FROM specification, any object that is in scope is valid. Therefore, at the beginning of a query, all locally cached regions and their attributes are in scope.
+
+For attribute Position.secId which is public and has getter method "getSecId()", the query can be written as the following:
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion p WHERE p.position1.secId = '1'
+SELECT DISTINCT * FROM /exampleRegion p WHERE p.position1.SecId = '1'
+SELECT DISTINCT * FROM /exampleRegion p WHERE p.position1.getSecId() = '1'
+```
+
+The query engine tries to evaluate the value using the public field value. If a public field value is not found, it makes a get call using field name (note that the first character is uppercase.)
+
+## <a id="the_where_clause__section_EB7B976238104C0EACD959C52E5BD75B" class="no-quick-link"></a>Joins
+
+If collections in the FROM clause are not related to each other, the WHERE clause can be used to join them.
+
+The statement below returns all portfolios from the /exampleRegion and /exampleRegion2 regions that have the same status.
+
+``` pre
+SELECT * FROM /exampleRegion portfolio1, /exampleRegion2 portfolio2 WHERE portfolio1.status = portfolio2.status
+```
+
+To create indexes for region joins you create single-region indexes for both sides of the join condition. These are used during query execution for the join condition. Partitioned regions do not support region joins. For more information on indexes, see [Working with Indexes](../query_index/query_index.html).
+
+**Examples:**
+
+Query two regions. Return the ID and status for portfolios that have the same status.
+
+``` pre
+SELECT portfolio1.ID, portfolio2.status FROM /exampleRegion portfolio1, /exampleRegion2 portfolio2 WHERE portfolio1.status = portfolio2.status
+```
+
+Query two regions, iterating over all `positions` within each portfolio. Return all 4-tuples consisting of the value from each of the two regions and the value portion of the `positions` map from both regions in which the `secId` field of positions match.
+
+``` pre
+SELECT * FROM /exampleRegion portfolio1, portfolio1.positions.values positions1, /exampleRegion2 portfolio2, portfolio2.positions.values positions2 WHERE positions1.secId = positions2.secId
+```
+
+Same query as the previous example, with the additional constraint that matches will have a `ID` of 1.
+
+``` pre
+SELECT * FROM /exampleRegion portfolio1, portfolio1.positions.values positions1, /exampleRegion2 portfolio2, portfolio2.positions.values positions2 WHERE portfolio1.ID = 1 AND positions1.secId = positions2.secId
+```
+
+## <a id="the_where_clause__section_D91E0B06FFF6431490CC0BFA369425AD" class="no-quick-link"></a>LIKE
+
+Geode offers limited support for the LIKE predicate. LIKE can be used to mean 'equals to'. If you terminate the string with a wildcard ('%'), it behaves like 'starts with'. You can also place a wildcard (either '%' or '\_') at any other position in the comparison string. You can escape the wildcard characters to represent the characters themselves.
+
+**Note:**
+The '\*' wildcard is not supported in OQL LIKE predicates.
+
+You can also use the LIKE predicate when an index is present.
+
+**Examples:**
+
+Query the region. Return all objects where status equals 'active':
+
+``` pre
+SELECT * FROM /exampleRegion p WHERE p.status LIKE 'active'
+```
+
+Query the region using a wild card for comparison. Returns all objects where status begins with 'activ':
+
+``` pre
+SELECT * FROM /exampleRegion p WHERE p.status LIKE 'activ%'
+```
+
+## Case Insensitive Fields
+
+You can use the Java String class methods `toUpperCase` and `toLowerCase` to transform fields where you want to perform a case-insensitive search. For example:
+
+``` pre
+SELECT entry.value FROM /exampleRegion.entries entry WHERE entry.value.toUpperCase LIKE '%BAR%'
+```
+
+or
+
+``` pre
+SELECT * FROM /exampleRegion WHERE foo.toLowerCase LIKE '%bar%'
+```
+
+## <a id="the_where_clause__section_D2F8D17B52B04895B672E2FCD675A676" class="no-quick-link"></a>Method Invocations
+
+To use a method in a query, use the attribute name that maps to the public method you want to invoke.
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion p WHERE p.positions.size >= 2 - maps to positions.size()
+```
+
+Methods declared to return void evaluate to null when invoked through the query processor.
+
+You cannot invoke a static method. See [Enum Objects](the_where_clause.html#the_where_clause__section_59E7D64746AE495D942F2F09EF7DB9B5) for more information.
+
+**Methods without parameters**
+
+If the attribute name maps to a public method that takes no parameters, just include the method name in the query string as an attribute. For example, emps.isEmpty is equivalent to emps.isEmpty().
+
+In the following example, the query invokes isEmpty on positions, and returns the set of all portfolios with no positions:
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion p WHERE p.positions.isEmpty
+```
+
+**Methods with parameters**
+
+To invoke methods with parameters, include the method name in the query string as an attribute and provide method arguments between parentheses.
+
+This example passes the argument "Bo" to the public method, and returns all names that begin with "Bo".
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion p WHERE p.name.startsWith('Bo')
+```
+
+For overloaded methods, the query processor decides which method to call by matching the runtime argument types with the parameter types required by the method. If only one method's signature matches the parameters provided, it is invoked. The query processor uses runtime types to match method signatures.
+
+If more than one method can be invoked, the query processor chooses the method whose parameter types are the most specific for the given arguments. For example, if an overloaded method includes versions with the same number of arguments, but one takes a Person type as an argument and the other takes an Employee type, derived from Person, Employee is the more specific object type. If the argument passed to the method is compatible with both types, the query processor uses the method with the Employee parameter type.
+
+The query processor uses the runtime types of the parameters and the receiver to determine the proper method to invoke. Because runtime types are used, an argument with a null value has no typing information, and so can be matched with any object type parameter. When a null argument is used, if the query processor cannot determine the proper method to invoke based on the non-null arguments, it throws an `AmbiguousNameException`.
+
+## <a id="the_where_clause__section_59E7D64746AE495D942F2F09EF7DB9B5" class="no-quick-link"></a>Enum Objects
+
+To write a query based on the value of an Enum object field, you must use the `toString` method of the enum object or use a query bind parameter.
+
+For example, the following query is NOT valid:
+
+``` pre
+//INVALID QUERY
+select distinct * from /QueryRegion0 where aDay = Day.Wednesday
+```
+
+The reason it is invalid is that the call to `Day.Wednesday` involves a static class and method invocation which is not supported.
+
+Enum types can be queried by using toString method of the enum object or by using bind parameter. When you query using the toString method, you must already know the constraint value that you wish to query. In the following first example, the known value is 'active'.
+
+**Examples:**
+
+Query enum type using the toString method:
+
+``` pre
+// eStatus is an enum with values 'active' and 'inactive'
+select * from /exampleRegion p where p.eStatus.toString() = 'active'
+```
+
+Query enum type using a bind parameter. The value of the desired Enum field ( Day.Wednesday) is passed as an execution parameter:
+
+``` pre
+select distinct * from /QueryRegion0 where aDay = $1
+```
+
+## <a id="the_where_clause__section_AC12146509F141378E493078540950C7" class="no-quick-link"></a>IN and SET
+
+The IN expression is a boolean indicating if one expression is present inside a collection of expressions of compatible type. The determination is based on the expressions' equals semantics.
+
+If `e1` and `e2` are expressions, `e2` is a collection, and `e1` is an object or a literal whose type is a subtype or the same type as the elements of `e2`, then `e1 IN                     e2` is an expression of type boolean.
+
+The expression returns:
+
+-   TRUE if e1 is not UNDEFINED and is contained in collection e2
+-   FALSE if e1 is not UNDEFINED and is not contained in collection e2 \#
+-   UNDEFINED if e1 is UNDEFINED
+
+For example, `2 IN SET(1, 2, 3)` is TRUE.
+
+Another example is when the collection you are querying into is defined by a subquery. This query looks for companies that have an active portfolio on file:
+
+``` pre
+SELECT name, address FROM /company 
+  WHERE id IN (SELECT id FROM /portfolios WHERE status = 'active')
+```
+
+The interior SELECT statement returns a collection of ids for all /portfolios entries whose status is active. The exterior SELECT iterates over /company, comparing each entry\u2019s id with this collection. For each entry, if the IN expression returns TRUE, the associated name and address are added to the outer SELECT\u2019s collection.
+
+**Comparing Set Values**
+
+The following is an example of a set value type comparison where sp is of type Set:
+
+``` pre
+SELECT * FROM /exampleRegion WHERE sp = set('20','21','22')
+```
+
+In this case, if sp only contains '20' and '21', then the query will evalute to false. The query compares the two sets and looks for the presence of all elements in both sets.
+
+For other collections types like list, the query can be written as follows:
+
+``` pre
+SELECT * FROM /exampleRegion WHERE sp.containsAll(set('20','21','22))
+```
+
+where sp is of type List.
+
+In order to use it for Set value, the query can be written as:
+
+``` pre
+SELECT * FROM /exampleRegion WHERE sp IN SET (set('20','21','22'),set('10',11','12'))
+```
+
+where a set value is searched in collection of set values.
+
+One problem is that you cannot create indexes on Set or List types (collection types) that are not comparable. To workaround this, you can create an index on a custom collection type that implements Comparable.
+
+## <a id="the_where_clause__section_E7206D045BEC4F67A8D2B793922BF213" class="no-quick-link"></a>Double.NaN and Float.NaN Comparisons
+
+The comparison behavior of Double.NaN and Float.NaN within Geode queries follow the semantics of the JDK methods Float.compareTo and Double.compareTo.
+
+In summary, the comparisons differ in the following ways from those performed by the Java language numerical comparison operators (<, <=, ==, >= >) when applied to primitive double [float] values:
+
+-   Double.NaN \[Float.NaN\] is considered to be equal to itself and greater than all other double \[float\] values (including Double.POSITIVE\_INFINITY \[Float.POSITIVE\_INFINITY\]).
+-   0.0d \[0.0f\] is considered by this method to be greater than -0.0d \[-0.0f\].
+
+Therefore, Double.NaN\[Float.NaN\] is considered to be larger than Double.POSITIVE\_INFINITY\[Float.POSITIVE\_INFINITY\]. Here are some example queries and what to expect.
+
+| If p.value is NaN, the following query:                                                        | Evaluates to:     | Appears in the result set?     |
+|------------------------------------------------------------------------------------------------|-------------------|--------------------------------|
+| `SELECT * FROM /positions p WHERE                                         p.value = 0`         | false             | no                             |
+| `SELECT * FROM /positions p WHERE                                         p.value > 0`         | true              | yes                            |
+| `SELECT * FROM /positions p WHERE                                         p.value >= 0`        | true              | yes                            |
+| `SELECT * FROM /positions p WHERE                                         p.value < 0`         | false             | no                             |
+| `SELECT * FROM /positions p WHERE                                         p.value <= 0`        | false             | no                             |
+| **When p.value and p.value1 are both NaN, the following query:**                               | **Evaluates to:** | **Appears in the result set:** |
+| `SELECT * FROM /positions p WHERE                                         p.value = p.value1 ` | true              | yes                            |
+
+If you combine values when defining the following query in your code, when the query is executed the value itself is considered UNDEFINED when parsed and will not be returned in the result set.
+
+``` pre
+String query = "SELECT * FROM /positions p WHERE p.value =" + Float.NaN
+```
+
+Executing this query, the value itself is considered UNDEFINED when parsed and will not be returned in the result set.
+
+To retrieve NaN values without having another field already stored as NaN, you can define the following query in your code:
+
+``` pre
+String query = "SELECT * FROM /positions p WHERE p.value > " + Float.MAX_VALUE;
+        
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/querying_basics/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/chapter_overview.html.md.erb b/geode-docs/developing/querying_basics/chapter_overview.html.md.erb
new file mode 100644
index 0000000..27611d0
--- /dev/null
+++ b/geode-docs/developing/querying_basics/chapter_overview.html.md.erb
@@ -0,0 +1,21 @@
+---
+title:  Querying
+---
+
+Geode provides a SQL-like querying language called OQL that allows you to access data stored in Geode regions.
+
+Since Geode regions are key-value stores where values can range from simple byte arrays to complex nested objects, Geode uses a query syntax based on OQL (Object Query Language) to query region data. OQL is very similar to SQL, but OQL allows you to query complex objects, object attributes, and methods.
+
+-   **[Geode Querying FAQ and Examples](../../getting_started/querying_quick_reference.html)**
+
+    This topic answers some frequently asked questions on querying functionality. It provides examples to help you get started with Geode querying.
+
+-   **[Basic Querying](../../developing/querying_basics/query_basics.html)**
+
+    This section provides a high-level introduction to Geode querying such as building a query string and describes query language features.
+
+-   **[Advanced Querying](../../developing/query_additional/advanced_querying.html)**
+
+    This section includes advanced querying topics such as using query indexes, using query bind parameters, querying partitioned regions and query debugging.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/querying_basics/comments_in_query_strings.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/comments_in_query_strings.html.md.erb b/geode-docs/developing/querying_basics/comments_in_query_strings.html.md.erb
new file mode 100644
index 0000000..5125609
--- /dev/null
+++ b/geode-docs/developing/querying_basics/comments_in_query_strings.html.md.erb
@@ -0,0 +1,13 @@
+---
+title:  Comments in Query Strings
+---
+
+Comment lines being with `--` (double dash). Comment blocks begin with `/*` and end with `*/`. For example:
+
+``` pre
+SELECT * --my comment 
+FROM /exampleRegion /* here is
+a comment */ WHERE status = \u2018active\u2019
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/querying_basics/monitor_queries_for_low_memory.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/monitor_queries_for_low_memory.html.md.erb b/geode-docs/developing/querying_basics/monitor_queries_for_low_memory.html.md.erb
new file mode 100644
index 0000000..3064b70
--- /dev/null
+++ b/geode-docs/developing/querying_basics/monitor_queries_for_low_memory.html.md.erb
@@ -0,0 +1,24 @@
+---
+title: Monitoring Queries for Low Memory
+---
+
+<a id="topic_685CED6DE7D0449DB8816E8ABC1A6E6F"></a>
+
+
+The query monitoring feature prevents out-of-memory exceptions from occurring when you execute queries or create indexes.
+
+This feature is automatically enabled when you set a `critical-heap-percentage` attribute for the resource-manager element in cache.xml or by using the `cache.getResourceManager().setCriticalHelpPercentage(float                     heapPercentage)` API. Use this feature to cancel out queries that are taking too long and to warn the user that there are low memory conditions when they are running queries or creating indexes.
+
+You can override this feature by setting the system property `gemfire.cache.DISABLE_QUERY_MONITOR_FOR_LOW_MEMORY` to true.
+
+When the query memory monitoring feature is on, the default query time out is set to five hours. You can override this value by setting a larger or smaller, non -1 value to the existing query time out system variable `gemfire.cache.MAX_QUERY_EXECUTION_TIME`.
+
+When system memory is low (as determined by the critical heap percentage threshold that you defined in cache.xml or in the getResourceManager API ), queries will throw a `QueryExecutionLowMemoryException`. Any indexes that are in the process of being created will throw an `InvalidIndexException` with the message indicating the reason.
+
+## <a id="topic_685CED6DE7D0449DB8816E8ABC1A6E6F__section_2E9DEEC9D9C94D038543DDE03BC60B20" class="no-quick-link"></a>Partitioned Region Queries and Low Memory
+
+Partitioned region queries are likely causes for out-of-memory exceptions. If query monitoring is enabled, partitioned region queries drop or ignore results that are being gathered by other servers if the executing server is low in memory.
+
+Query-monitoring does not address a scenario in which a low-level collection is expanded while the partitioned region query is gathering results. For example, if a row is added and then causes a Java level collection or array to expand, it is possible to then encounter an out-of-memory exception. This scenario is rare and is only possible if the collection size itself expands before a low memory condition is met and then expands beyond the remaining available memory. As a workaround, in the event that you encounter this situation, you may be able to tune the system by additionally lowering the `critical-heap-percentage`.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/querying_basics/oql_compared_to_sql.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/oql_compared_to_sql.html.md.erb b/geode-docs/developing/querying_basics/oql_compared_to_sql.html.md.erb
new file mode 100644
index 0000000..df13209
--- /dev/null
+++ b/geode-docs/developing/querying_basics/oql_compared_to_sql.html.md.erb
@@ -0,0 +1,14 @@
+---
+title:  Advantages of OQL
+---
+
+The following list describes some of the advantages of using an OQL-based querying language:
+
+-   You can query on any arbitrary object
+-   You can navigate object collections
+-   You can invoke methods and access the behavior of objects
+-   Data mapping is supported
+-   You are not required to declare types. Since you do not need type definitions, you can work across multiple languages
+-   You are not constrained by a schema
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/querying_basics/performance_considerations.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/performance_considerations.html.md.erb b/geode-docs/developing/querying_basics/performance_considerations.html.md.erb
new file mode 100644
index 0000000..b37e529
--- /dev/null
+++ b/geode-docs/developing/querying_basics/performance_considerations.html.md.erb
@@ -0,0 +1,16 @@
+---
+title:  Performance Considerations
+---
+
+This topic covers considerations for improving query performance.
+
+<a id="performance_considerations__section_2DA52BD8C72A4D01982CA8A44954ADAF"></a>
+Some general performance tips:
+
+-   Improve query performance whenever possible by creating indexes. See [Tips and Guidelines on Using Indexes](../query_index/indexing_guidelines.html#indexing_guidelines) for some scenarios for using indexes.
+-   Use bind parameters for frequently used queries. When you use a bind parameter, the query is compiled once. This improves the subsequent performance of the query when it is re-run. See [Using Query Bind Parameters](../query_additional/using_query_bind_parameters.html#concept_173E775FE46B47DF9D7D1E40680D34DF) for more details.
+-   When querying partitioned regions, execute the query using the FunctionService. This function allows you to target a particular node, which will improve performance greatly by avoiding query distribution. See [Querying a Partitioned Region on a Single Node](../query_additional/query_on_a_single_node.html#concept_30B18A6507534993BD55C2C9E0544A97) for more information.
+-   Use key indexes when querying data that has been partitioned by a key or field value. See [Optimizing Queries on Data Partitioned by a Key or Field Value](../query_additional/partitioned_region_key_or_field_value.html#concept_3010014DFBC9479783B2B45982014454).
+-   The size of a query result set depends on the restrictiveness of the query and the size of the total data set. A partitioned region can hold much more data than other types of regions, so there is more potential for larger result sets on partitioned region queries. This could cause the member receiving the results to run out of memory if the result set is very large.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/querying_basics/query_basics.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/query_basics.html.md.erb b/geode-docs/developing/querying_basics/query_basics.html.md.erb
new file mode 100644
index 0000000..89324f7
--- /dev/null
+++ b/geode-docs/developing/querying_basics/query_basics.html.md.erb
@@ -0,0 +1,40 @@
+---
+title:  Basic Querying
+---
+
+This section provides a high-level introduction to Geode querying such as building a query string and describes query language features.
+
+<a id="querying_with_oql__section_828A9660B5014DCAA883A58A45E6B51A"></a>
+Geode provides a SQL-like querying language that allows you to access data stored in Geode regions. Since Geode regions are key-value stores where values can range from simple byte arrays to complex nested objects, Geode uses a query syntax based on OQL (Object Query Language) to query region data. OQL and SQL have many syntactical similarities, however they have significant differences. For example, while OQL does not offer all of the capabilities of SQL like aggregates, OQL does allow you to execute queries on complex object graphs, query object attributes and invoke object methods.
+
+The syntax of a typical Geode OQL query is:
+
+``` pre
+[IMPORT package]
+SELECT [DISTINCT] projectionList
+FROM collection1, [collection2, \u2026]
+[WHERE clause]
+[ORDER BY order_criteria [desc]]
+```
+
+Therefore, a simple Geode OQL query resembles the following:
+
+``` pre
+SELECT DISTINCT * FROM /exampleRegion WHERE status = \u2018active\u2019
+```
+
+An important characteristic of Geode querying to note is that by default, Geode queries on the values of a region and not on keys. To obtain keys from a region, you must use the keySet path expression on the queried region. For example, `/exampleRegion.keySet`.
+
+For those new to the Geode querying, see also the [Geode Querying FAQ and Examples](../../getting_started/querying_quick_reference.html#reference_D5CE64F5FD6F4A808AEFB748C867189E).
+
+-   **[Advantages of OQL](../../developing/querying_basics/oql_compared_to_sql.html)**
+
+-   **[Writing and Executing a Query in Geode](../../developing/querying_basics/running_a_query.html)**
+
+-   **[Building a Query String](../../developing/querying_basics/what_is_a_query_string.html)**
+
+-   **[OQL Syntax and Semantics](../../developing/query_additional/query_language_features.html)**
+
+-   **[Query Language Restrictions and Unsupported Features](../../developing/querying_basics/restrictions_and_unsupported_features.html)**
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/querying_basics/query_grammar_and_reserved_words.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/query_grammar_and_reserved_words.html.md.erb b/geode-docs/developing/querying_basics/query_grammar_and_reserved_words.html.md.erb
new file mode 100644
index 0000000..bf5b564
--- /dev/null
+++ b/geode-docs/developing/querying_basics/query_grammar_and_reserved_words.html.md.erb
@@ -0,0 +1,146 @@
+---
+title:  Query Language Grammar
+---
+
+## <a id="query_grammar_and_reserved_words__section_F6DF7EBA0201463F9F19645849748D54" class="no-quick-link"></a>Language Grammar
+
+Notation used in the grammar:
+n   
+A nonterminal symbol that has to appear at some place within the grammar on the left side of a rule. All nonterminal symbols have to be derived to be terminal symbols.
+
+ ***t***   
+A terminal symbol (shown in italic bold).
+
+x y   
+x followed by y
+
+x | y   
+x or y
+
+(x | y)   
+x or y
+
+\[ x \]   
+x or empty
+
+{ x }   
+A possibly empty sequence of x.
+
+ *comment*   
+descriptive text
+
+Grammar list:
+
+``` pre
+symbol ::= expression
+query_program ::= [ imports semicolon ] query [semicolon]
+imports ::= import { semicolon import }
+import ::= IMPORT qualifiedName [ AS identifier ]
+query ::= selectExpr | expr
+selectExpr ::= SELECT DISTINCT projectionAttributes fromClause [ whereClause ]
+projectionAttributes ::= * | projectionList
+projectionList ::= projection { comma projection }
+projection ::= field | expr [ AS identifier ]
+field ::= identifier colon expr
+fromClause ::= FROM iteratorDef { comma iteratorDef }
+iteratorDef ::= expr [ [ AS ] identifier ] [ TYPE identifier ] | identifier IN expr [ TYPE identifier ]
+whereClause ::= WHERE expr
+expr ::= castExpr
+castExpr ::= orExpr | left_paren identifier right_paren castExpr
+orExpr ::= andExpr { OR andExpr }
+andExpr ::= equalityExpr { AND equalityExpr }
+equalityExpr ::= relationalExpr { ( = | <> | != ) relationalExpr }
+relationalExpr ::= inExpr { ( < | <= | > | >= ) inExpr }
+inExpr ::= unaryExpr { IN unaryExpr }
+unaryExpr ::= [ NOT ] unaryExpr
+postfixExpr ::= primaryExpr { left_bracket expr right_bracket }
+        | primaryExpr { dot identifier [ argList ] }
+argList ::= left_paren [ valueList ] right_paren
+qualifiedName ::= identifier { dot identifier }
+primaryExpr ::= functionExpr
+        | identifier [ argList ]
+        | undefinedExpr
+        | collectionConstruction
+        | queryParam
+        | literal
+        | ( query )
+        | region_path
+functionExpr ::= ELEMENT left_paren query right_paren
+        | NVL left_paren query comma query right_paren
+        | TO_DATE left_paren query right_paren
+undefinedExpr ::= IS_UNDEFINED left_paren query right_paren
+        | IS_DEFINED left_paren query right_paren
+collectionConstruction ::= SET left_paren [ valueList ] right_paren
+valueList ::= expr { comma expr }
+queryParam ::= $ integerLiteral
+region_path ::= forward_slash region_name { forward_slash region_name }
+region_name ::= name_character { name_character }
+identifier ::= letter { name_character }
+literal ::= booleanLiteral
+        | integerLiteral
+        | longLiteral
+        | doubleLiteral
+        | floatLiteral
+        | charLiteral
+        | stringLiteral
+        | dateLiteral
+        | timeLiteral
+        | timestampLiteral
+        | NULL
+        | UNDEFINED
+booleanLiteral ::= TRUE | FALSE
+integerLiteral ::= [ dash ] digit { digit }
+longLiteral ::= integerLiteral L
+floatLiteral ::= [ dash ] digit { digit } dot digit { digit } [ ( E | e ) [ plus | dash ] digit { digit } ] F
+doubleLiteral ::= [ dash ] digit { digit } dot digit { digit } [ ( E | e ) [ plus | dash ] digit { digit } ] [ D ]
+charLiteral ::= CHAR single_quote character single_quote
+stringLiteral ::= single_quote { character } single_quote
+dateLiteral ::= DATE single_quote integerLiteral dash integerLiteral dash integerLiteral single_quote
+timeLiteral ::= TIME single_quote integerLiteral colon
+        integerLiteral colon integerLiteral single_quote
+timestampLiteral ::= TIMESTAMP single_quote
+        integerLiteral dash integerLiteral dash integerLiteral integerLiteral colon
+        integerLiteral colon
+        digit { digit } [ dot digit { digit } ] single_quote
+letter ::= any unicode letter
+character ::= any unicode character except 0xFFFF
+name_character ::= letter | digit | underscore
+digit ::= any unicode digit 
+```
+
+The expressions in the following are all terminal characters:
+
+``` pre
+dot ::= .
+left_paren ::= (
+right_paren ::= )
+left_bracket ::= [
+right_bracket ::= ]
+single_quote ::= \u2019
+underscore ::= _
+forward_slash ::= /
+comma ::= ,
+semicolon ::= ;
+colon ::= :
+dash ::= -
+plus ::= +
+            
+```
+
+## <a id="query_grammar_and_reserved_words__section_B074373F2ED44DC7B98652E70ABC5D5D" class="no-quick-link"></a>Language Notes
+
+-   Query language keywords such as SELECT, NULL, and DATE are case-insensitive. Identifiers such as attribute names, method names, and path expressions are case-sensitive.
+-   Comment lines begin with -- (double dash).
+-   Comment blocks begin with /\* and end with \*/.
+-   String literals are delimited by single-quotes. Embedded single-quotes are doubled.
+
+    Examples:
+
+    ``` pre
+    'Hello' value = Hello
+    'He said, ''Hello''' value = He said, 'Hello'
+    ```
+
+-   Character literals begin with the CHAR keyword followed by the character in single quotation marks. The single-quotation mark character itself is represented as `CHAR ''''` (with four single quotation marks).
+-   In the TIMESTAMP literal, there is a maximum of nine digits after the decimal point.
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/querying_basics/querying_partitioned_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/querying_partitioned_regions.html.md.erb b/geode-docs/developing/querying_basics/querying_partitioned_regions.html.md.erb
new file mode 100644
index 0000000..14e7f09
--- /dev/null
+++ b/geode-docs/developing/querying_basics/querying_partitioned_regions.html.md.erb
@@ -0,0 +1,24 @@
+---
+title:  Querying Partitioned Regions
+---
+
+Geode allows you to manage and store large amounts of data across distributed nodes using partitioned regions. The basic unit of storage for a partitioned region is a bucket, which resides on a Geode node and contains all the entries that map to a single hashcode. In a typical partitioned region query, the system distributes the query to all buckets across all nodes, then merges the result sets and sends back the query results.
+
+<a id="querying_partitioned_regions__section_4C603563DEDC4303818FB8F894470457"></a>
+The following list summarizes the querying functionality supported by Geode for partitioned regions:
+
+-   **Ability to target specific nodes in a query**. If you know that a specific bucket contains the data that you want to query, you can use a function to ensure that your query only runs the specific node that holds the data. This can greatly improve query efficiency. The ability to query data on a specific node is only available if you are using functions and if the function is executed on one single region. In order to do this, you need to use `Query.execute(RegionFunctionContext context)`. See the [Java API](/releases/latest/javadoc/org/apache/geode/cache/query/Query.html) and [Querying a Partitioned Region on a Single Node](../query_additional/query_on_a_single_node.html#concept_30B18A6507534993BD55C2C9E0544A97) for more details.
+-   **Ability to optimize partitioned region query performance using key indexes**. You can improve query performance on data that is partitioned by key or a field value by creating a key index and then executing the query using use `Query.execute(RegionFunctionContext                         context)` with the key or field value used as filter. See the [Java API](/releases/latest/javadoc/org/apache/geode/cache/query/Query.html) and [Optimizing Queries on Data Partitioned by a Key or Field Value](../query_additional/partitioned_region_key_or_field_value.html#concept_3010014DFBC9479783B2B45982014454) for more details.
+-   **Ability to perform equi-join queries between partitioned regions and between partitioned regions and replicated regions**. Join queries between partitioned region and between partitioned regions and replicated regions are supported through the function service. In order to perform equi-join operations on partitioned regions or partitioned regions and replicated regions, the partitioned regions must be colocated, and you need to use the need to use `Query.execute(RegionFunctionContext                         context)`. See the [Java API](/releases/latest/javadoc/org/apache/geode/cache/query/Query.html) and [Performing an Equi-Join Query on Partitioned Regions](../partitioned_regions/join_query_partitioned_regions.html#concept_B930D276F49541F282A2CFE639F107DD) for more details.
+
+-   **[Using ORDER BY on Partitioned Regions](../../developing/query_additional/order_by_on_partitioned_regions.html)**
+
+-   **[Querying a Partitioned Region on a Single Node](../../developing/query_additional/query_on_a_single_node.html)**
+
+-   **[Optimizing Queries on Data Partitioned by a Key or Field Value](../../developing/query_additional/partitioned_region_key_or_field_value.html)**
+
+-   **[Performing an Equi-Join Query on Partitioned Regions](../../developing/partitioned_regions/join_query_partitioned_regions.html)**
+
+-   **[Partitioned Region Query Restrictions](../../developing/query_additional/partitioned_region_query_restrictions.html)**
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/querying_basics/reserved_words.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/reserved_words.html.md.erb b/geode-docs/developing/querying_basics/reserved_words.html.md.erb
new file mode 100644
index 0000000..3da8b33
--- /dev/null
+++ b/geode-docs/developing/querying_basics/reserved_words.html.md.erb
@@ -0,0 +1,112 @@
+---
+title:  Reserved Words
+---
+
+## <a id="concept_4F288B1F9579422FA481FBE2C3ADD007__section_3415163C3EFB46A6BE873E2606C9DE0F" class="no-quick-link"></a>Reserved Words
+
+These words are reserved for the query language and may not be used as identifiers. The words with asterisk (`*`) after them are not currently used by Geode, but are reserved for future implementation.
+
+<table>
+<colgroup>
+<col width="25%" />
+<col width="25%" />
+<col width="25%" />
+<col width="25%" />
+</colgroup>
+<tbody>
+<tr class="odd">
+<td><pre class="pre codeblock"><code>abs*
+all
+and 
+andthen* 
+any* 
+array 
+as 
+asc 
+avg* 
+bag* 
+boolean 
+by 
+byte 
+char 
+collection
+count 
+date 
+declare* 
+define*
+desc </code></pre></td>
+<td><pre class="pre codeblock"><code>dictionary 
+distinct 
+double 
+element 
+enum* 
+except* 
+exists* 
+false 
+first* 
+flatten* 
+float 
+for* 
+from 
+group* 
+having* 
+import 
+in 
+int 
+intersect* 
+interval* </code></pre></td>
+<td><pre class="pre codeblock"><code>is_defined 
+is_undefined 
+last* 
+like
+limit
+list* 
+listtoset* 
+long 
+map 
+max* 
+min* 
+mod* 
+nil 
+not 
+null 
+nvl 
+octet 
+or 
+order </code></pre></td>
+<td><pre class="pre codeblock"><code>orelse* 
+query* 
+select 
+set 
+short 
+some* 
+string 
+struct* 
+sum* 
+time 
+timestamp 
+to_date 
+true 
+type 
+undefine* 
+undefined 
+union* 
+unique* 
+where</code></pre></td>
+</tr>
+</tbody>
+</table>
+
+To access any method, attribute, or named object that has the same name as a query language reserved word, enclose the name within double quotation marks.
+
+Examples:
+
+``` pre
+SELECT DISTINCT "type" FROM /portfolios WHERE status = 'active'
+```
+
+``` pre
+SELECT DISTINCT * FROM /region1 WHERE emps."select"() < 100000 
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/querying_basics/restrictions_and_unsupported_features.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/restrictions_and_unsupported_features.html.md.erb b/geode-docs/developing/querying_basics/restrictions_and_unsupported_features.html.md.erb
new file mode 100644
index 0000000..44a5e73
--- /dev/null
+++ b/geode-docs/developing/querying_basics/restrictions_and_unsupported_features.html.md.erb
@@ -0,0 +1,18 @@
+---
+title:  Query Language Restrictions and Unsupported Features
+---
+
+At a high level, Geode does not support the following querying features:
+
+-   Indexes targeted for joins across more than one region are not supported
+-   Static method invocations. For example, the following query is invalid:
+
+    ``` pre
+    SELECT DISTINCT * FROM /QueryRegion0 WHERE aDay = Day.Wednesday
+    ```
+
+-   You cannot create an index on fields using Set/List types (Collection types) that are not comparable. The OQL index implementation expects fields to be Comparable. To workaround this, you can create a custom Collection type that implements Comparable.
+-   ORDER BY is only supported with DISTINCT queries.
+
+In addition, there are some specific limitations on partitioned region querying. See [Partitioned Region Query Restrictions](../query_additional/partitioned_region_query_restrictions.html#concept_5353476380D44CC1A7F586E5AE1CE7E8).
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/querying_basics/running_a_query.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/running_a_query.html.md.erb b/geode-docs/developing/querying_basics/running_a_query.html.md.erb
new file mode 100644
index 0000000..83b9d1d
--- /dev/null
+++ b/geode-docs/developing/querying_basics/running_a_query.html.md.erb
@@ -0,0 +1,70 @@
+---
+title:  Writing and Executing a Query in Geode
+---
+
+<a id="running_a_querying__section_C285160AF91C4486A39444C3A22D6475"></a>
+The Geode QueryService provides methods to create the Query object. You can then use the Query object to perform query-related operations.
+
+The QueryService instance you should use depends on whether you are querying the local cache of an application or if you want your application to query the server cache.
+
+## <a id="running_a_querying__section_8B9C3F5BFBA6421A81EEB404DBE512C2" class="no-quick-link"></a>Querying a Local Cache
+
+To query the application's local cache or to query other members, use `org.apache.geode.cache.Cache.getQueryService`.
+
+**Sample Code**
+
+``` pre
+ // Identify your query string.
+ String queryString = "SELECT DISTINCT * FROM /exampleRegion";
+ 
+ // Get QueryService from Cache.
+ QueryService queryService = cache.getQueryService();
+ 
+ // Create the Query Object.
+ Query query = queryService.newQuery(queryString);
+ 
+ // Execute Query locally. Returns results set.
+ SelectResults results = (SelectResults)query.execute();
+ 
+ // Find the Size of the ResultSet.
+ int size = results.size();
+ 
+ // Iterate through your ResultSet.
+ Portfolio p = (Portfolio)results.iterator().next(); /* Region containing Portfolio object. */
+```
+
+## <a id="running_a_querying__section_BAD35A249F784095857CC6848F91F6A4" class="no-quick-link"></a>Querying a Server Cache from a Client
+
+To perform a client to server query, use `org.apache.geode.cache.client.Pool.getQueryService`.
+
+**Sample Code**
+
+``` pre
+// Identify your query string.
+ String queryString = "SELECT DISTINCT * FROM /exampleRegion";
+ 
+ // Get QueryService from client pool.
+ QueryService queryService = pool.getQueryService();
+ 
+ // Create the Query Object.
+ Query query = queryService.newQuery(queryString);
+ 
+ // Execute Query locally. Returns results set.
+ SelectResults results = (SelectResults)query.execute();
+ 
+ // Find the Size of the ResultSet.
+ int size = results.size();
+ 
+ // Iterate through your ResultSet.
+ Portfolio p = (Portfolio)results.iterator().next(); /* Region containing Portfolio object. */
+```
+
+Refer to the following JavaDocs for specific APIs:
+
+-   [Query package](/releases/latest/javadoc/org/apache/geode/cache/query/package-summary.html)
+-   [QueryService](/releases/latest/javadoc/org/apache/geode/cache/query/QueryService.html)
+
+**Note:**
+You can also perform queries using the gfsh `query` command. See [query](../../tools_modules/gfsh/command-pages/query.html).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/querying_basics/supported_character_sets.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/supported_character_sets.html.md.erb b/geode-docs/developing/querying_basics/supported_character_sets.html.md.erb
new file mode 100644
index 0000000..1383ee9
--- /dev/null
+++ b/geode-docs/developing/querying_basics/supported_character_sets.html.md.erb
@@ -0,0 +1,7 @@
+---
+title:  Supported Character Sets
+---
+
+Geode query language supports the full ASCII and Unicode character sets.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/querying_basics/what_is_a_query_string.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/querying_basics/what_is_a_query_string.html.md.erb b/geode-docs/developing/querying_basics/what_is_a_query_string.html.md.erb
new file mode 100644
index 0000000..c2999bb
--- /dev/null
+++ b/geode-docs/developing/querying_basics/what_is_a_query_string.html.md.erb
@@ -0,0 +1,33 @@
+---
+title:  Building a Query String
+---
+
+<a id="what_is_a_query_string__section_1866AE6026DE4D66A2CD2363C1BC0406"></a>
+A query string is a fully formed OQL statement that can be passed to a query engine and executed against a data set. To build a query string, you combine supported keywords, expressions, and operators to create an expression that returns the information you require.
+
+A query string follows the rules specified by the query language and grammar. It can include:
+
+-   **Namescopes**. For example, the IMPORT statement. See [IMPORT Statement](../query_select/the_import_statement.html#concept_2E9F15B2FE9041238B54736103396BF7).
+-   **Path expressions**. For example, in the query `SELECT * FROM                                 /exampleRegion`,` /exampleRegion` is a path expression. See [FROM Clause](../query_select/the_from_clause.html#the_from_clause).
+-   **Attribute names**. For example, in the query `SELECT DISTINCT * FROM /exampleRegion p WHERE                             p.position1.secId = '1'`, we access the `secId` attribute of the Position object. See [WHERE Clause](../query_select/the_where_clause.html#the_where_clause).
+-   **Method invocations**. For example, in the query `SELECT DISTINCT * FROM /exampleRegion p WHERE                             p.name.startsWith('Bo')`, we invoke the `startsWith` method on the Name object. See [WHERE Clause](../query_select/the_where_clause.html#the_where_clause).
+-   **Operators**. For example, comparison operators (=,&lt;,&gt;,&lt;&gt;), unary operators (NOT), logical operators (AND, OR) and so on. See [Operators](../query_additional/operators.html#operators) for a complete list.
+-   **Literals**. For example, boolean, date, time and so on. See [Supported Literals](../query_additional/literals.html#literals) for a complete list.
+-   **Query bind parameters**. For example, in the query `SELECT DISTINCT * FROM $1 p WHERE p.status =                             $2`, $1 and $2 are parameters that can be passed to the query during runtime. See [Using Query Bind Parameters](../query_additional/using_query_bind_parameters.html#concept_173E775FE46B47DF9D7D1E40680D34DF) for more details.
+-   **Preset query functions**. For example, ELEMENT(expr) and IS\_DEFINED(expr). See [SELECT Statement](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E) for other available functions.
+-   **SELECT statements**. For example, in the example queries above `SELECT *` or `SELECT DISTINCT *`. See [SELECT Statement](../query_select/the_select_statement.html#concept_85AE7D6B1E2941ED8BD2A8310A81753E) for other available functions.
+-   **Comments**. OQL permits extra characters to accompany the query string without changing the string's definition. Form a multi-line comment by enclosing the comment body within `/*` and `*/` delimiters; OQL does not permit nested comments. A single line comment body is all the characters to the right of `--` (two hyphens) up to the end of the line.
+
+The components listed above can all be part of the query string, but none of the components are required. At a minimum, a query string contains an expression that can be evaluated against specified data.
+
+The following sections provide guidelines for the query language building blocks that are used when writing typical Geode queries.
+
+-   **[IMPORT Statement](../../developing/query_select/the_import_statement.html)**
+
+-   **[FROM Clause](../../developing/query_select/the_from_clause.html)**
+
+-   **[WHERE Clause](../../developing/query_select/the_where_clause.html)**
+
+-   **[SELECT Statement](../../developing/query_select/the_select_statement.html)**
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/region_options/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/region_options/chapter_overview.html.md.erb b/geode-docs/developing/region_options/chapter_overview.html.md.erb
new file mode 100644
index 0000000..53ad2fb
--- /dev/null
+++ b/geode-docs/developing/region_options/chapter_overview.html.md.erb
@@ -0,0 +1,23 @@
+---
+title:  Region Data Storage and Distribution
+---
+
+The Apache Geode data storage and distribution models put your data in the right place at the right time. You should understand all the options for data storage in Geode before you configure your data regions.
+
+-   **[Storage and Distribution Options](../../developing/region_options/storage_distribution_options.html)**
+
+    Geode provides several models for data storage and distribution, including partitioned or replicated regions as well as distributed or non-distributed regions (local cache storage).
+
+-   **[Region Types](../../developing/region_options/region_types.html)**
+
+    Region types define region behavior within a single distributed system. You have various options for region data storage and distribution.
+
+-   **[Region Data Stores and Data Accessors](../../developing/region_options/data_hosts_and_accessors.html)**
+
+    Understand the difference between members that store data for a region and members that act only as data accessors to the region.
+
+-   **[Creating Regions Dynamically](../../developing/region_options/dynamic_region_creation.html)**
+
+    You can dynamically create regions in your application code and automatically instantiate them on members of a distributed system.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/region_options/data_hosts_and_accessors.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/region_options/data_hosts_and_accessors.html.md.erb b/geode-docs/developing/region_options/data_hosts_and_accessors.html.md.erb
new file mode 100644
index 0000000..ed167b6
--- /dev/null
+++ b/geode-docs/developing/region_options/data_hosts_and_accessors.html.md.erb
@@ -0,0 +1,14 @@
+---
+title:  Region Data Stores and Data Accessors
+---
+
+Understand the difference between members that store data for a region and members that act only as data accessors to the region.
+
+<a id="data_hosts_and_accessors__section_0EF33633F97B4C63AC34F523259AD310"></a>
+In most cases, when you define a data region in a member\u2019s cache, you also specify whether the member is a data store. Members that store data for a region are referred to as data stores or data hosts. Members that do not store data are referred to as accessor members, or empty members. Any member, store or accessor, that defines a region can access it, put data into it, and receive events from other members. To configure a region so the member is a data accessor, you use configurations that specify no local data storage for the region. Otherwise, the member is a data store for the region.
+
+For server regions, suppress local data storage at region creation by specifying a region shortcut that contains the term
+"PROXY" in its name, such as `PARTITION_PROXY` or `REPLICATE_PROXY`.
+
+For client regions, suppress local data storage at region creation by specifying the `PROXY` region
+shortcut. Do not use the `CACHING_PROXY` shortcut for this purpose, as it allows local data storage.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/region_options/dynamic_region_creation.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/region_options/dynamic_region_creation.html.md.erb b/geode-docs/developing/region_options/dynamic_region_creation.html.md.erb
new file mode 100644
index 0000000..2974f22
--- /dev/null
+++ b/geode-docs/developing/region_options/dynamic_region_creation.html.md.erb
@@ -0,0 +1,180 @@
+---
+title:  Creating Regions Dynamically
+---
+
+You can dynamically create regions in your application code and automatically instantiate them on members of a distributed system.
+
+If your application does not require partitioned regions, you can use the <span class="keyword apiname">org.apache.geode.cache.DynamicRegionFactory</span> class to dynamically create regions, or you can create them using the `<dynamic-region-factory>` element in the cache.xml file that defines the region. See [&lt;dynamic-region-factory&gt;](../../reference/topics/cache_xml.html#dynamic-region-factory).
+
+Due to the number of options involved, most developers use functions to create regions dynamically in their applications, as described in this topic. Dynamic regions can also be created from the `gfsh` command line.
+
+For a complete discussion of using Geode functions, see [Function Execution](../function_exec/chapter_overview.html). Functions use the <span class="keyword apiname">org.apache.geode.cache.execute.FunctionService</span> class.
+
+For example, the following Java classes define and use a function for dynamic region creation:
+
+The <span class="keyword apiname">CreateRegionFunction</span> class defines a function invoked on a server by a client using the <span class="keyword apiname">onServer()</span> method of the <span class="keyword apiname">FunctionService</span> class. This function call initiates region creation by putting an entry into the region attributes metadata region. The entry key is the region name and the value is the set of region attributes used to create the region.
+
+``` pre
+#CreateRegionFunction.java
+
+import org.apache.geode.cache.Cache;
+import org.apache.geode.cache.CacheFactory;
+import org.apache.geode.cache.DataPolicy;
+import org.apache.geode.cache.Declarable;
+import org.apache.geode.cache.Region;
+import org.apache.geode.cache.RegionAttributes;
+import org.apache.geode.cache.RegionFactory;
+import org.apache.geode.cache.Scope;
+
+import org.apache.geode.cache.execute.Function;
+import org.apache.geode.cache.execute.FunctionContext;
+
+import java.util.Properties;
+
+public class CreateRegionFunction implements Function, Declarable {
+
+  private final Cache cache;
+  
+  private final Region<String,RegionAttributes> regionAttributesMetadataRegion;
+
+  private static final String REGION_ATTRIBUTES_METADATA_REGION = 
+                                     "_regionAttributesMetadata";
+  
+  public enum Status {SUCCESSFUL, UNSUCCESSFUL, ALREADY_EXISTS};
+
+  public CreateRegionFunction() {
+    this.cache = CacheFactory.getAnyInstance();
+    this.regionAttributesMetadataRegion = createRegionAttributesMetadataRegion();
+  }
+
+  public void execute(FunctionContext context) {
+    Object[] arguments = (Object[]) context.getArguments();
+    String regionName = (String) arguments[0];
+    RegionAttributes attributes = (RegionAttributes) arguments[1];
+
+    // Create or retrieve region
+    Status status = createOrRetrieveRegion(regionName, attributes);
+
+    // Return status
+    context.getResultSender().lastResult(status);
+  }
+  
+  private Status createOrRetrieveRegion(String regionName, 
+                                        RegionAttributes attributes) {
+    Status status = Status.SUCCESSFUL;
+    Region region = this.cache.getRegion(regionName);
+    if (region == null) {
+      // Put the attributes into the metadata region. The afterCreate call will
+      // actually create the region.
+      this.regionAttributesMetadataRegion.put(regionName, attributes);
+      
+      // Retrieve the region after creating it
+      region = this.cache.getRegion(regionName);
+      if (region == null) {
+        status = Status.UNSUCCESSFUL;
+      }
+    } else {
+      status = Status.ALREADY_EXISTS;
+    }
+    return status;
+  }
+  
+  private Region<String,RegionAttributes> 
+  createRegionAttributesMetadataRegion() {
+    Region<String, RegionAttributes> metaRegion = 
+                         this.cache.getRegion(REGION_ATTRIBUTES_METADATA_REGION);
+    if (metaRegion == null) {
+      RegionFactory<String, RegionAttributes> factory =
+                              this.cache.createRegionFactory();
+      factory.setDataPolicy(DataPolicy.REPLICATE);
+      factory.setScope(Scope.DISTRIBUTED_ACK);
+      factory.addCacheListener(new CreateRegionCacheListener());
+      metaRegion = factory.create(REGION_ATTRIBUTES_METADATA_REGION);
+    }
+    return metaRegion;
+  }
+
+  public String getId() {
+    return getClass().getSimpleName();
+  }
+
+  public boolean optimizeForWrite() {
+    return false;
+  }
+
+  public boolean isHA() {
+    return true;
+  }
+
+  public boolean hasResult() {
+    return true;
+  }
+
+  public void init(Properties properties) {
+  }
+}
+```
+
+The <span class="keyword apiname">CreateRegionCacheListener</span> class is a cache listener that implements two methods, <span class="keyword apiname">afterCreate()</span> and <span class="keyword apiname">afterRegionCreate()</span>. The <span class="keyword apiname">afterCreate()</span> method creates the region. The <span class="keyword apiname">afterRegionCreate()</span> method causes each new server to create all the regions defined in the metadata region.
+
+``` pre
+#CreateRegionCacheListener.java
+
+import org.apache.geode.cache.Cache;
+import org.apache.geode.cache.CacheFactory;
+import org.apache.geode.cache.Declarable;
+import org.apache.geode.cache.EntryEvent;
+import org.apache.geode.cache.Region;
+import org.apache.geode.cache.RegionAttributes;
+import org.apache.geode.cache.RegionEvent;
+import org.apache.geode.cache.RegionExistsException;
+
+import org.apache.geode.cache.util.CacheListenerAdapter;
+
+import java.util.Map;
+import java.util.Properties;
+
+public class CreateRegionCacheListener 
+             extends CacheListenerAdapter<String,RegionAttributes>
+             implements Declarable {
+
+  private Cache cache;
+  
+  public CreateRegionCacheListener() {
+    this.cache = CacheFactory.getAnyInstance();
+  }
+
+  public void afterCreate(EntryEvent<String,RegionAttributes> event) {
+    createRegion(event.getKey(), event.getNewValue());
+  }
+  
+  public void afterRegionCreate(RegionEvent<String,RegionAttributes> event) {
+    Region<String,RegionAttributes> region = event.getRegion();
+    for (Map.Entry<String,RegionAttributes> entry : region.entrySet()) {
+      createRegion(entry.getKey(), entry.getValue());
+    }
+  }
+  
+  private void createRegion(String regionName, RegionAttributes attributes) {
+    if (this.cache.getLogger().fineEnabled()) {
+      this.cache.getLogger().fine(
+                             "CreateRegionCacheListener creating region named: "
+                             + regionName + " with attributes: " + attributes);
+    }
+    try {
+      Region region = this.cache.createRegionFactory(attributes)
+        .create(regionName);
+      if (this.cache.getLogger().fineEnabled()) {
+        this.cache.getLogger().fine("CreateRegionCacheListener created: "
+                               + region);
+      }
+      System.out.println("CreateRegionCacheListener created: " + region);
+    } catch (RegionExistsException e) {/* ignore */}
+  }
+
+  public void init(Properties p) {
+  }
+}
+```
+
+


[36/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/configuring/running/running_the_cacheserver.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/running_the_cacheserver.html.md.erb b/geode-docs/configuring/running/running_the_cacheserver.html.md.erb
new file mode 100644
index 0000000..9de1189
--- /dev/null
+++ b/geode-docs/configuring/running/running_the_cacheserver.html.md.erb
@@ -0,0 +1,182 @@
+---
+title:  Running Geode Server Processes
+---
+
+A Geode server is a process that runs as a long-lived, configurable member of a client/server system.
+
+<a id="running_the_cacheserver__section_6C2B495518C04064A181E7917CA81FC1"></a>
+The Geode server is used primarily for hosting long-lived data regions and for running standard Geode processes such as the server in a client/server configuration. You can start and stop servers using the following methods:
+
+-   The `gfsh` tool allows you to manage Geode server processes from the command line.
+-   You can also start, stop and manage the Geode servers through the `org.apache.geode.distributed.ServerLauncher` API. The `ServerLauncher` API can only be used for Geode Servers that were started with `gfsh` or with the `ServerLauncher` class itself. See the JavaDocs for additional specifics on using the `ServerLauncher` API.
+
+## <a id="running_the_cacheserver__section_E15FB1B039CE4F6CB2E4B5618D7ECAA1" class="no-quick-link"></a>Default Server Configuration and Log Files
+
+The `gfsh` utility uses a working directory for its configuration files and log files. These are the defaults and configuration options:
+
+-   When you start a standalone server using `gfsh`, `gfsh` will automatically load the required JAR files `$GEMFIRE/lib/server-dependencies.jar` and `$JAVA_HOME/lib/tools.jar` into the CLASSPATH of the JVM process. If you start a standalone server using the ServerLauncher API, you must specify `$GEMFIRE/lib/server-dependencies.jar` inside your command to launch the process. For more information on CLASSPATH settings in Geode, see [Setting Up the CLASSPATH](../../getting_started/setup_classpath.html).
+-   Servers are configured like any other Geode process, with `gemfire.properties` and shared cluster configuration files. It is not programmable except through application plug-ins. Typically, you provide the `gemfire.properties` file and the `gfsecurity.properties` file (if you are using a separate, restricted access security settings file). You can also specify a `cache.xml` file in the cache server\u2019s working directory.
+-   By default, a new server started with `gfsh` receives its initial cache configuration from the cluster configuration service, assuming the locator is running the cluster configuration service. If you specify a group when starting the server, the server also receives configurations that apply to a group. The shared configuration consists of `cache.xml` files, `gemfire.properties` files, and deployed jar files. You can disable use of the cluster configuration service by specifying `--use-cluster-configuration=false` when starting the server using `gfsh`.
+
+    See [Overview of the Cluster Configuration Service](../cluster_config/gfsh_persist.html#concept_r22_hyw_bl).
+
+-   If you are using the Spring Framework, you can specify a Spring ApplicationContext XML file when starting up your server in `gfsh` by using the `--spring-xml-location` command-line option. This option allows you to bootstrap your Geode server process with your Spring application's configuration. See [Spring documentation](http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/resources.html#resources-app-ctx) for more information on this file.
+-   For logging output, log file output defaults to `server_name.log` in the cache server's working directory. If you restart a server with the same server name, the existing *server\_name*.log file is automatically renamed for you (for example, `server1-01-01.log` or `server1-02-01.log`). You can modify the level of logging details in this file by specifying a level in the `--log-level` argument when starting up the server.
+-   By default, the server will start in a subdirectory (named after the server's specified `--name`) under the directory where `gfsh` is executed. This subdirectory is considered the current working directory. You can also specify a different working directory when starting the cache server in `gfsh`.
+-   By default, a server process that has been shutdown and disconnected due to a network partition event or member unresponsiveness will restart itself and automatically try to reconnect to the existing distributed system. See [Handling Forced Cache Disconnection Using Autoreconnect](../../managing/autoreconnect/member-reconnect.html#concept_22EE6DDE677F4E8CAF5786E17B4183A9) for more details.
+-   You can pass JVM parameters to the server's JVM by using the `--J=-Dproperty.name=value` upon server startup. These parameters can be Java properties or Geode configuration properties such as `gemfire.jmx-manager`. For example:
+
+    ``` pre
+    gfsh>start server --name=server1 --J=-Dgemfire.jmx-manager=true \
+    --J=-Dgemfire.jmx-manager-start=true --J=-Dgemfire.http-port=8080
+    ```
+
+-   We recommend that you do not use the `-XX:+UseCompressedStrings` and `-XX:+UseStringCache` JVM configuration properties when starting up servers. These JVM options can cause issues with data corruption and compatibility.
+
+## <a id="running_the_cacheserver__section_07001480D33745139C3707EDF8166D86" class="no-quick-link"></a>Start the Server
+
+The startup syntax for Geode servers in `gfsh` is:
+
+``` pre
+start server --name=value [--assign-buckets(=value)] [--bind-address=value]
+    [--cache-xml-file=value] [--classpath=value] [--disable-default-server(=value)]
+    [--disable-exit-when-out-of-memory(=value)] [--enable-time-statistics(=value)]
+    [--force(=value)] [--include-system-classpath(=value)] [--properties-file=value]
+    [--security-properties-file=value]
+    [--group=value] [--locators=value] [--locator-wait-time=value] [--log-level=value]
+    [--mcast-address=value] [--mcast-port=value] [--memcached-port=value]
+    [--memcached-protocol=value] [--rebalance(=value)] [--server-bind-address=value]
+    [--server-port=value] [--spring-xml-location=value]
+    [--statistic-archive-file=value] [--dir=value] [--initial-heap=value]
+    [--max-heap=value] [--use-cluster-configuration(=value)] [--J=value(,value)*]
+    [--critical-heap-percentage=value] [--critical-off-heap-percentage=value] 
+    [--eviction-heap-percentage=value] [--eviction-off-heap-percentage=value]
+    [--hostname-for-clients=value] [--max-connections=value]
+    [--message-time-to-live=value] [--max-message-count=value] [--max-threads=value]
+    [--socket-buffer-size=value] [--lock-memory=value] [--off-heap-memory-size=value] 
+```
+
+**Note:**
+When both `--max-heap` and `--initial-heap` are specified during server startup, additional GC parameters are specified internally by Geode's Resource Manager. If you do not want the additional default GC properties set by the Resource Manager, then use the `-Xms` & `-Xmx` JVM options. See [Controlling Heap Use with the Resource Manager](../../managing/heap_use/heap_management.html#configuring_resource_manager) for more information.
+
+The following `gfsh start server` start sequences specify a `cache.xml` file for cache configuration, and use different incoming client connection ports:
+
+``` pre
+gfsh>start server --name=server1 --mcast-port=10338 \
+--cache-xml-file=../ServerConfigs/cache.xml --server-port=40404
+
+gfsh>start server --name=server2 --mcast-port=10338 \
+--cache-xml-file=../ServerConfigs/cache.xml --server-port=40405
+```
+
+Here is a portion of a `gemfire.properties` file that sets the location of a`cache.xml` file for the server and sets the mcast-port:
+
+``` pre
+mcast-port=10338 
+cache-xml-file=D:\gfeserver\cacheCS.xml
+```
+
+To start the server using this `gemfire.properties` file, enter:
+
+``` pre
+gfsh>start server --name=server1 \
+--properties-file=D:\gfeserver\gemfire.properties
+```
+
+To start a server with an embedded JMX Manager, you can enter the following command:
+
+``` pre
+gfsh>start server --name=server2 \
+--J=-Dgemfire.jmx-manager=true --J=-Dgemfire.jmx-manager-start=true
+```
+
+To start a server and provide JVM configuration settings, you can issue a command like the following:
+
+``` pre
+gfsh>start server --name=server3 \
+--J=-Xms80m,-Xmx80m --J=-XX:+UseConcMarkSweepGC,-XX:CMSInitiatingOccupancyFraction=65
+```
+
+## Start the Server Programmatically
+
+Use `org.apache.geode.distributed.ServerLauncher` API to start the cache server process inside your code. Use the `ServerLauncher.Builder` class to construct an instance of the `ServerLauncher`, and then use the `start()` method to start the server service. The other methods in the `ServerLauncher` class provide status information about the server and allow you to stop the server.
+
+``` pre
+import org.apache.geode.distributed.ServerLauncher;
+
+ public class MyEmbeddedServer {
+
+    public static void main(String[] args){
+        ServerLauncher serverLauncher  = new ServerLauncher.Builder()
+          .setMemberName("server1")
+       .setServerPort(40405)
+          .set("jmx-manager", "true")
+          .set("jmx-manager-start", "true")
+          .build();
+
+          serverLauncher.start();  
+
+          System.out.println("Cache server successfully started");
+        }
+    }
+```
+
+## <a id="running_the_cacheserver__section_F58F229D5C7048E9915E0EC470F9A923" class="no-quick-link"></a>Check Server Status
+
+If you are connected to the distributed system in `gfsh`, you can check the status of a running cache server by providing the server name. For example:
+
+``` pre
+gfsh>status server --name=server1
+```
+
+If you are not connected to a distributed system, you can check the status of a local cache server by providing the process ID or the server's current working directory. For example:
+
+``` pre
+gfsh>status server --pid=2484
+```
+
+or
+
+``` pre
+% gfsh status server --dir=<server_working_directory>
+```
+
+where &lt;*server\_working\_directory*&gt; corresponds to the local working directory where the cache server is running.
+
+If successful, the command returns the following information (with the JVM arguments that were provided at startup):
+
+``` pre
+% gfsh status server --dir=server4
+Server in /home/user/server4 on ubuntu.local[40404] as server4 is currently online.
+Process ID: 3324
+Uptime: 1 minute 5 seconds
+GemFire Version: 8.0.0
+Java Version: 1.7.0_65
+Log File: /home/user/server4/server4.log
+JVM Arguments: 
+...
+```
+
+## <a id="running_the_cacheserver__section_0E4DDED6AB784B0CAFBAD538B227F487" class="no-quick-link"></a>Stop Server
+
+If you are connected to the distributed system in `gfsh`, you can stop a running cache server by providing the server name. For example:
+
+``` pre
+gfsh>stop server --name=server1
+```
+
+If you are not connected to a distributed system, you can stop a local cache server by specify the server's current working directory or the process ID. For example:
+
+``` pre
+gfsh>stop server --pid=2484
+```
+
+or
+
+``` pre
+gfsh>stop server --dir=<server_working_directory>
+```
+
+where &lt;*server\_working\_directory*&gt; corresponds to the local working directory where the cache server is running.
+
+You can also use the `gfsh` `shutdown` command to shut down all cache servers in an orderly fashion. This is useful if you are using persistent regions. See [Starting Up and Shutting Down Your System](starting_up_shutting_down.html) for more details.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/configuring/running/running_the_locator.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/running_the_locator.html.md.erb b/geode-docs/configuring/running/running_the_locator.html.md.erb
new file mode 100644
index 0000000..64ac02e
--- /dev/null
+++ b/geode-docs/configuring/running/running_the_locator.html.md.erb
@@ -0,0 +1,240 @@
+---
+title:  Running Geode Locator Processes
+---
+
+The locator is a Geode process that tells new, connecting members where running members are located and provides load balancing for server use.
+
+<a id="running_the_locator__section_E9C98E8756524552BEA9B0CA49A2069E"></a>
+You can run locators as peer locators, server locators, or both:
+
+-   Peer locators give joining members connection information to members already running in the locator's distributed system.
+-   Server locators give clients connection information to servers running in the locator's distributed system. Server locators also monitor server load and send clients to the least-loaded servers.
+
+By default, locators run as peer and server locators.
+
+You can run the locator standalone or embedded within another Geode process. Running your locators standalone provides the highest reliability and availability of the locator service as a whole.
+
+## <a id="running_the_locator__section_0733348268AF4D5F8851B999A6A36C53" class="no-quick-link"></a>Locator Configuration and Log Files
+
+Locator configuration and log files have the following properties:
+
+-   When you start a standalone locator using `gfsh`, `gfsh` will automatically load the required JAR files (`$GEMFIRE/lib/locator-dependencies.jar`) into the CLASSPATH of the JVM process. If you start a standalone locator using the `LocatorLauncher` API, you must specify `$GEMFIRE/lib/locator-dependencies.jar` inside the command used to launch the locator process. For more information on CLASSPATH settings in Geode, see [CLASSPATH Settings for Geode Processes](../../getting_started/setup_classpath.html). You can modify the CLASSPATH by specifying the `--classpath` parameter.
+-   Locators are members of the distributed system just like any other member. In terms of `mcast-port` and `locators` configuration, a locator should be configured in the same manner as a server. Therefore, if there are two other locators in the distributed system, each locator should reference the other locators (just like a server member would). For example:
+
+    ``` pre
+    gfsh> start locator --name=locator1 --port=9009 --mcast-port=0 \
+    --locators='host1[9001],host2[9003]'
+    ```
+
+-   You can configure locators within the `gemfire.properties` file or by specifying start-up parameters on the command line. If you are specifying the locator's configuration in a properties file, locators require the same `gemfire.properties` settings as other members of the distributed system and the same `gfsecurity.properties` settings if you are using a separate, restricted access security settings file.
+
+    For example, to configure both locators and a multicast port in `gemfire.properties:`
+
+    ``` pre
+    locators=host1[9001],host2[9003]
+    mcast-port=0
+    ```
+
+-   There is no cache configuration specific to locators.
+-   For logging output, the locator creates a log file in its current working directory. Log file output defaults to `locator_name.log` in the locator's working directory. If you restart a locator with a previously used locator name, the existing *locator\_name*.log file is automatically renamed for you (for example, `locator1-01-01.log` or `locator1-02-01.log`). You can modify the level of logging details in this file by specifying a level in the `--log-level` argument when starting up the locator.
+-   By default, a locator will start in a subdirectory (named after the locator) under the directory where `gfsh` is executed. This subdirectory is considered the current working directory. You can also specify a different working directory when starting the locator in `gfsh`.
+-   By default, a locator that has been shutdown and disconnected due to a network partition event or member unresponsiveness will restart itself and automatically try to reconnect to the existing distributed system. When a locator is in the reconnecting state, it provides no discovery services for the distributed system. See [Handling Forced Cache Disconnection Using Autoreconnect](../../managing/autoreconnect/member-reconnect.html) for more details.
+
+## <a id="running_the_locator__section_wst_ykb_rr" class="no-quick-link"></a>Locators and the Cluster Configuration Service
+
+Locators use the cluster configuration service to save configurations that apply to all cluster members, or to members of a specified group. The configurations are saved in the Locator's directory and are propagated to all locators in a distributed system. When you start servers using `gfsh`, the servers receive the group-level and cluster-level configurations from the locators.
+
+See [Overview of the Cluster Configuration Service](../cluster_config/gfsh_persist.html).
+
+## <a id="running_the_locator__section_FF25228E30624E04ACA8784A2183D585" class="no-quick-link"></a>Start the Locator
+
+Use the following guidelines to start the locator:
+
+-   **Standalone locator**. Start a standalone locator in one of these ways:
+    -   Use the `gfsh` command-line utility. See [`gfsh` (Geode SHell)](../../tools_modules/gfsh/chapter_overview.html) for more information on using `gfsh`. For example:
+
+        ``` pre
+        gfsh>start locator --name=locator1
+
+        gfsh> start locator --name=locator2 --bind-address=192.0.2.0 --port=13489
+        ```
+
+    -   Start the locator using the `main` method in the `org.apache.geode.distributed.LocatorLauncher` class and the Java executable. For example:
+
+        ``` pre
+        working/directory/of/Locator/process$java -server \
+         -classpath "$GEMFIRE/lib/locator-dependencies.jar:/path/to/application/classes.jar" \
+         org.apache.geode.distributed.LocatorLauncher start Locator1 --port=11235 \
+          --redirect-output
+        ```
+
+        Specifically, you use the `LocatorLauncher` class API to run an embedded Locator service in Java application processes that you have created. The directory where you execute the java command becomes the working directory for the locator process.
+
+    -   When starting up multiple locators, do not start them up in parallel (in other words, simultaneously). As a best practice, you should wait approximately 30 seconds for the first locator to complete startup before starting any other locators. To check the successful startup of a locator, check for locator log files. To view the uptime of a running locator, you can use the `gfsh status locator` command.
+
+-   **Embedded (colocated) locator**. Manage a colocated locator at member startup or through the APIs:
+    -   Use the `gemfire.properties` `start-locator` setting to start the locator automatically inside your Geode member. See the [Reference](../../reference/book_intro.html#reference). The locator stops automatically when the member exits. The property has the following syntax:
+
+        ``` pre
+        #gemfire.properties
+        start-locator=[address]port[,server={true|false},peer={true|false}]
+        ```
+
+        Example:
+
+        ``` pre
+        #gemfire.properties
+        start-locator=13489
+        ```
+
+    -   Use `org.apache.geode.distributed.LocatorLauncher` API to start the locator inside your code. Use the `LocatorLauncher.Builder` class to construct an instance of the `LocatorLauncher`, and then use the `start()` method to start a Locator service embedded in your Java application process. The other methods in the `LocatorLauncher` class provide status information about the locator and allow you to stop the locator.
+
+        ``` pre
+        import org.apache.geode.distributed.LocatorLauncher;
+
+         public class MyEmbeddedLocator {
+
+            public static void main(String[] args){
+                LocatorLauncher locatorLauncher  = new LocatorLauncher.Builder()
+                  .setMemberName("locator1")
+                  .setPort(13489)
+                  .build();
+
+                  locatorLauncher.start();
+
+                  System.out.println("Locator successfully started");
+                }
+            }
+        ```
+
+        Here's another example that embeds the locator within an application, starts it and then checks the status of the locator before allowing other members to access it:
+
+        ``` pre
+        package example;
+
+        import ...
+
+        class MyApplication implements Runnable {
+
+          private final LocatorLauncher locatorLauncher;
+
+          public MyApplication(final String... args) {
+            validateArgs(args);
+
+            locatorLauncher = new LocatorLauncher.Builder()
+              .setMemberName(args[0])
+              .setPort(Integer.parseInt(args[1])
+              .setRedirectOutput(true)
+              .build();
+          }
+
+          protected void args(final String[] args) {
+            ...
+          }
+
+          public void run() {
+            ...
+
+            // start the Locator in-process
+            locatorLauncher.start();
+
+            // wait for Locator to start and be ready to accept member (client) connections
+            locatorLauncher.waitOnStatusResponse(30, 5, TimeUnit.SECONDS);
+
+            ...
+          }
+
+          public static void main(final String... args) {
+            new MyApplication(args).run();
+          }
+
+        }
+        ```
+
+        Then to execute the application, you would run:
+
+        ``` pre
+        /working/directory/of/MyApplication$ java \
+         -server -classpath "$GEMFIRE/lib/locator-dependencies.jar:/path/to/application/classes.jar" \
+         example.MyApplication Locator1 11235
+        ```
+
+        The directory where you execute the java command becomes the working directory for the locator process.
+
+## <a id="running_the_locator__section_F58F229D5C7048E9915E0EC470F9A923" class="no-quick-link"></a>Check Locator Status
+
+If you are connected to the distributed system in `gfsh`, you can check the status of a running Locator by providing the Locator name. For example:
+
+``` pre
+gfsh>status locator --name=locator1
+```
+
+If you are not connected to a distributed system, you can check the status of a local Locator by providing the process ID, the Locator's hostname and port, or the Locator's current working directory. For example:
+
+``` pre
+gfsh>status locator --pid=2986
+```
+
+or
+
+``` pre
+gfsh>status locator --host=host1 --port=1035
+```
+
+or
+
+``` pre
+$ gfsh status locator --dir=<locator_working_directory>
+```
+
+where &lt;*locator\_working\_directory*&gt; corresponds to the local working directory where the locator is running.
+
+If successful, the command returns the following information (with the JVM arguments that were provided at startup):
+
+``` pre
+$ gfsh status locator --dir=locator1
+Locator in /home/user/locator1 on ubuntu.local[10334] as locator1 is currently online.
+Process ID: 2359
+Uptime: 17 minutes 3 seconds
+GemFire Version: 8.0.0
+Java Version: 1.7.0_65
+Log File: /home/user/locator1/locator1.log
+JVM Arguments: -Dgemfire.enable-cluster-configuration=true -Dgemfire.load-cluster-configuration-from-dir=false
+ -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
+Class-Path: /home/user/Pivotal_GemFire_800_b48319_Linux/lib/locator-dependencies.jar:/usr/local/java/lib/tools.jar
+
+Cluster configuration service is up and running.
+```
+
+## <a id="running_the_locator__section_0E4DDED6AB784B0CAFBAD538B227F487" class="no-quick-link"></a>Stop the Locator
+
+If you are connected to the distributed system in `gfsh`, you can stop a running locator by providing the locator name. For example:
+
+``` pre
+gfsh>stop locator --name=locator1
+```
+
+If you are not connected to a distributed system, you can stop a local locator by specifying the locator's process ID or the locator's current working directory. For example:
+
+``` pre
+gfsh>stop locator --pid=2986
+```
+
+or
+
+``` pre
+gfsh>stop locator --dir=<locator_working_directory>
+```
+
+where &lt;*locator\_working\_directory*&gt; corresponds to the local working directory where the locator is running.
+
+## Locators and Multi-Site (WAN) Deployments
+
+If you use a multi-site (WAN) configuration, you can connect a locator to a remote site when starting the locator.
+
+To connect a new locator process to a remote locator in a WAN configuration, specify the following at startup:
+
+``` pre
+gfsh> start locator --name=locator1 --port=9009 --mcast-port=0 \
+--J='-Dgemfire.remote-locators=192.0.2.0[9009],198.51.100.0[9009]'
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/configuring/running/starting_up_shutting_down.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/starting_up_shutting_down.html.md.erb b/geode-docs/configuring/running/starting_up_shutting_down.html.md.erb
new file mode 100644
index 0000000..2afea6a
--- /dev/null
+++ b/geode-docs/configuring/running/starting_up_shutting_down.html.md.erb
@@ -0,0 +1,129 @@
+---
+title:  Starting Up and Shutting Down Your System
+---
+
+Determine the proper startup and shutdown procedures, and write your startup and shutdown scripts.
+
+Well-designed procedures for starting and stopping your system can speed startup and protect your data. The processes you need to start and stop include server and locator processes and your other Geode applications, including clients. The procedures you use depend in part on your system\u2019s configuration and the dependencies between your system processes.
+
+Use the following guidelines to create startup and shutdown procedures and scripts. Some of these instructions use [`gfsh` (Geode SHell)](../../tools_modules/gfsh/chapter_overview.html).
+
+## <a id="starting_up_shutting_down__section_3D111558326D4A38BE48C17D44BB66DB" class="no-quick-link"></a>Starting Up Your System
+
+You should follow certain order guidelines when starting your Geode system.
+
+Start server-distributed systems before you start their client applications. In each distributed system, follow these guidelines for member startup:
+
+-   Start locators first. See [Running Geode Locator Processes](running_the_locator.html) for examples of locator start up commands.
+-   Start cache servers before the rest of your processes unless the implementation requires that other processes be started ahead of them. See [Running Geode Server Processes](running_the_cacheserver.html) for examples of server start up commands.
+-   If your distributed system uses both persistent replicated and non-persistent replicated regions, you should start up all the persistent replicated members in parallel before starting the non-persistent regions. This way, persistent members will not delay their startup for other persistent members with later data.
+-   For a system that includes persistent regions, see [Start Up and Shut Down with Disk Stores](../../managing/disk_storage/starting_system_with_disk_stores.html).
+-   If you are running producer processes and consumer or event listener processes, start the consumers first. This ensures the consumers and listeners do not miss any notifications or updates.
+-   If you are starting up your locators and peer members all at once, you can use the `locator-wait-time` property (in seconds) upon process start up. This timeout allows peers to wait for the locators to finish starting up before attempting to join the distributed system. If a process has been configured to wait for a locator to start, it will log an info-level message
+
+    > `GemFire startup was unable to contact a                             locator. Waiting for one to start. Configured locators are                             frodo[12345],pippin[12345]. `
+
+    The process will then sleep for a second and retry until it either connects or the number of seconds specified in `locator-wait-time` has elapsed. By default, `locator-wait-time` is set to zero meaning that a process that cannot connect to a locator upon startup will throw an exception.
+
+**Note:**
+You can optionally override the default timeout period for shutting down individual processes. This override setting must be specified during member startup. See [Shutting Down the System](#starting_up_shutting_down__section_mnx_4cp_cv) for details.
+
+## <a id="starting_up_shutting_down__section_2F8ABBFCE641463C8A8721841407993D" class="no-quick-link"></a>Starting Up After Losing Data on Disk
+
+This information pertains to catastrophic loss of Geode disk store files. If you lose disk store files, your next startup may hang, waiting for the lost disk stores to come back online. If your system hangs at startup, use the `gfsh` command `show missing-disk-store` to list missing disk stores and, if needed, revoke missing disk stores so your system startup can complete. You must use the Disk Store ID to revoke a disk store. These are the two commands:
+
+``` pre
+gfsh>show missing-disk-stores
+
+Disk Store ID             |   Host    |               Directory                                           
+------------------------------------ | --------- | -------------------------------------
+60399215-532b-406f-b81f-9b5bd8d1b55a | excalibur | /usr/local/gemfire/deploy/disk_store1 
+
+gfsh>revoke missing-disk-store --id=60399215-532b-406f-b81f-9b5bd8d1b55a
+```
+
+**Note:**
+This `gfsh` commands require that you are connected to the distributed system via a JMX Manager node.
+
+## <a id="starting_up_shutting_down__section_mnx_4cp_cv" class="no-quick-link"></a>Shutting Down the System
+
+Shut down your Geode system by using either the `gfsh` `shutdown` command or by shutting down individual members one at a time.
+
+## <a id="starting_up_shutting_down__section_0EB4DDABB6A348BA83B786EEE7C84CF1" class="no-quick-link"></a>Using the shutdown Command
+
+If you are using persistent regions, (members are persisting data to disk), you should use the `gfsh` `shutdown` command to stop the running system in an orderly fashion. This command synchronizes persistent partitioned regions before shutting down, which makes the next startup of the distributed system as efficient as possible.
+
+If possible, all members should be running before you shut them down so synchronization can occur. Shut down the system using the following `gfsh` command:
+
+``` pre
+gfsh>shutdown
+```
+
+By default, the shutdown command will only shut down data nodes. If you want to shut down all nodes including locators, specify the `--include-locators=true` parameter. For example:
+
+``` pre
+gfsh>shutdown --include-locators=true
+```
+
+This will shut down all locators one by one, shutting down the manager last.
+
+To shutdown all data members after a grace period, specify a time-out option (in seconds).
+
+``` pre
+gfsh>shutdown --time-out=60
+```
+
+To shutdown all members including locators after a grace period, specify a time-out option (in seconds).
+
+``` pre
+gfsh>shutdown --include-locators=true --time-out=60
+```
+
+## <a id="starting_up_shutting_down__section_A07D40BC118544D0984860A3B4A5CB29" class="no-quick-link"></a>Shutting Down System Members Individually
+
+If you are not using persistent regions, you can shut down the distributed system by shutting down each member in the reverse order of their startup. (See [Starting Up Your System](#starting_up_shutting_down__section_3D111558326D4A38BE48C17D44BB66DB) for the recommended order of member startup.)
+
+Shut down the distributed system members according to the type of member. For example, use the following mechanisms to shut down members:
+
+-   Use the appropriate mechanism to shut down any Geode-connected client applications that are running in the distributed system.
+-   Shut down any cache servers. To shut down a server, issue the following `gfsh` command:
+
+    ``` pre
+    gfsh>stop server --name=<...>
+    ```
+
+    or
+
+    ``` pre
+    gfsh>stop server --dir=<server_working_dir>
+    ```
+
+-   Shut down any locators. To shut down a locator, issue the following `gfsh` command:
+
+    ``` pre
+    gfsh>stop locator --name=<...>
+    ```
+
+    or
+
+    ``` pre
+    gfsh>stop locator --dir=<locator_working_dir>
+    ```
+
+## <a id="starting_up_shutting_down__section_7CF680CF8A924C57A7052AE2F975DA81" class="no-quick-link"></a>Option for System Member Shutdown Behavior
+
+The `DISCONNECT_WAIT` command line argument sets the maximum time for each individual step in the shutdown process. If any step takes longer than the specified amount, it is forced to end. Each operation is given this grace period, so the total length of time the cache member takes to shut down depends on the number of operations and the `DISCONNECT_WAIT` setting. During the shutdown process, Geode produces messages such as:
+
+``` pre
+Disconnect listener still running
+```
+
+The `DISCONNECT_WAIT` default is 10000 milliseconds.
+
+To change it, set this system property on the Java command line used for member startup. For example:
+
+``` pre
+gfsh>start server --J=-DDistributionManager.DISCONNECT_WAIT=<milliseconds>
+```
+
+Each process can have different `DISCONNECT_WAIT` settings.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/book_intro.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/book_intro.html.md.erb b/geode-docs/developing/book_intro.html.md.erb
new file mode 100644
index 0000000..432d6da
--- /dev/null
+++ b/geode-docs/developing/book_intro.html.md.erb
@@ -0,0 +1,57 @@
+---
+title:  Developing with Apache Geode
+---
+
+*Developing with Apache Geode* explains main concepts of application programming with Apache Geode. It describes how to plan and implement regions, data serialization, event handling, delta propagation, transactions, and more.
+
+For information about Geode REST application development, see [Developing REST Applications for Apache Geode](../rest_apps/book_intro.html).
+
+-   **[Region Data Storage and Distribution](../developing/region_options/chapter_overview.html)**
+
+    The Apache Geode data storage and distribution models put your data in the right place at the right time. You should understand all the options for data storage in Geode before you start configuring your data regions.
+
+-   **[Partitioned Regions](../developing/partitioned_regions/chapter_overview.html)**
+
+    In addition to basic region management, partitioned regions include options for high availability, data location control, and data balancing across the distributed system.
+
+-   **[Distributed and Replicated Regions](../developing/distributed_regions/chapter_overview.html)**
+
+    In addition to basic region management, distributed and replicated regions include options for things like push and pull distribution models, global locking, and region entry versions to ensure consistency across Geode members.
+
+-   **[Consistency for Region Updates](../developing/distributed_regions/region_entry_versions.html)**
+
+    Geode ensures that all copies of a region eventually reach a consistent state on all members and clients that host the region, including Geode members that distribute region events.
+
+-   **[General Region Data Management](../developing/management_all_region_types/chapter_overview.html)**
+
+    For all regions, you have options to control memory use, back up your data to disk, and keep stale data out of your cache.
+
+-   **[Data Serialization](../developing/data_serialization/chapter_overview.html)**
+
+    Data that you manage in Geode must be serialized and deserialized for storage and transmittal between processes. You can choose among several options for data serialization.
+
+-   **[Events and Event Handling](../developing/events/chapter_overview.html)**
+
+    Geode provides versatile and reliable event distribution and handling for your cached data and system member events.
+
+-   **[Delta Propagation](../developing/delta_propagation/chapter_overview.html)**
+
+    Delta propagation allows you to reduce the amount of data you send over the network by including only changes to objects rather than the entire object.
+
+-   **[Querying](../developing/querying_basics/chapter_overview.html)**
+
+    Geode provides a SQL-like querying language called OQL that allows you to access data stored in Geode regions.
+
+-   **[Continuous Querying](../developing/continuous_querying/chapter_overview.html)**
+
+    Continuous querying continuously returns events that match the queries you set up.
+
+-   **[Transactions](../developing/transactions/chapter_overview.html)**
+
+    Geode provides a transactions API, with `begin`, `commit`, and `rollback` methods. These methods are much the same as the familiar relational database transactions methods.
+
+-   **[Function Execution](../developing/function_exec/chapter_overview.html)**
+
+    A function is a body of code that resides on a server and that an application can invoke from a client or from another server without the need to send the function code itself. The caller can direct a data-dependent function to operate on a particular dataset, or can direct a data-independent function to operate on a particular server, member, or member group.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/continuous_querying/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/continuous_querying/chapter_overview.html.md.erb b/geode-docs/developing/continuous_querying/chapter_overview.html.md.erb
new file mode 100644
index 0000000..c16d4b5
--- /dev/null
+++ b/geode-docs/developing/continuous_querying/chapter_overview.html.md.erb
@@ -0,0 +1,21 @@
+---
+title:  Continuous Querying
+---
+
+Continuous querying continuously returns events that match the queries you set up.
+
+<a id="continuous__section_779B4E4D06E948618E5792335174E70D"></a>
+
+-   **[How Continuous Querying Works](../../developing/continuous_querying/how_continuous_querying_works.html)**
+
+    Clients subscribe to server-side events by using SQL-type query filtering. The server sends all events that modify the query results. CQ event delivery uses the client/server subscription framework.
+
+-   **[Implementing Continuous Querying](../../developing/continuous_querying/implementing_continuous_querying.html)**
+
+    Use continuous querying in your clients to receive continuous updates to queries run on the servers.
+
+-   **[Managing Continuous Querying](../../developing/continuous_querying/continuous_querying_whats_next.html)**
+
+    This topic discusses CQ management options, CQ states, and retrieving initial result sets.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/continuous_querying/continuous_querying_whats_next.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/continuous_querying/continuous_querying_whats_next.html.md.erb b/geode-docs/developing/continuous_querying/continuous_querying_whats_next.html.md.erb
new file mode 100644
index 0000000..db36016
--- /dev/null
+++ b/geode-docs/developing/continuous_querying/continuous_querying_whats_next.html.md.erb
@@ -0,0 +1,71 @@
+---
+title:  Managing Continuous Querying
+---
+
+This topic discusses CQ management options, CQ states, and retrieving initial result sets.
+
+## Using CQs from a RegionService Instance
+
+If you are running durable client queues (CQs) from the `RegionService` instance, stop and start the offline event storage for the client as a whole. The server manages one queue for the entire client process, so you need to request the stop and start of durable CQ event messaging for the cache as a whole, through the `ClientCache` instance. If you closed the `RegionService` instances, event processing would stop, but the server would continue to send events, and those events would be lost.
+
+Stop with:
+
+``` pre
+clientCache.close(true);
+```
+
+Start up again in this order:
+
+1.  Create `ClientCache` instance.
+2.  Create all `RegionService` instances. Initialize CQ listeners.
+3.  Call `ClientCache` instance `readyForEvents` method.
+
+## <a id="continuous_querying_whats_next__section_35F929682CD24478AF0B2249C5065A27" class="no-quick-link"></a>States of a CQ
+
+A CQ has three possible states, which are maintained on the server. You can check them from the client through `CqQuery.getState`.
+
+| Query State | What does this mean?                                                                               | When does the CQ reach this state?                                                                             | Notes                                                                                                                                                                                                                                                                                                                                                          |
+|-------------|----------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| STOPPED     | The CQ is in place and ready to run, but is not running.                                           | When CQ is first created and after being stopped from a running state.                                         | A stopped CQ uses system resources. Stopping a CQ only stops the CQ event messaging from server to client. All server-side CQ processing continues, but new CQ events are not placed into the server's client queue. Stopping a CQ does not change anything on the client side (but, of course, the client stops receiving events for the CQ that is stopped). |
+| RUNNING     | The CQ is running against server region events and the client listeners are waiting for CQ events. | When CQ is executed from a stopped state.                                                                      | This is the only state in which events are sent to the client.                                                                                                                                                                                                                                                                                                 |
+| CLOSED      | The CQ is not available for any further activities. You cannot rerun a closed CQ.                  | When CQ is closed by the client and when cache or connection conditions make it impossible to maintain or run. | The closed CQ does not use system resources.                                                                                                                                                                                                                                                                                                                   |
+
+## <a id="continuous_querying_whats_next__section_4E308A70BCE44031BB1F37B95B4D06E6" class="no-quick-link"></a>CQ Management Options
+
+You manage your CQs from the client side. All calls are executed only for the calling client's CQs.
+
+| Task                                         | For a single CQ use ...                                   | For groups of CQs use ...                 |
+|----------------------------------------------|-----------------------------------------------------------|-------------------------------------------|
+| Create a CQ                                  | `QueryService.newCq`                                      | N/A                                       |
+| Execute a CQ                                 | `CqQuery.execute` and `CqQuery.executeWithInitialResults` | `QueryService.executeCqs`                 |
+| Stop a CQ                                    | `CqQuery.stop`                                            | `QueryService.stopCqs`                    |
+| Close a CQ                                   | `CqQuery.close`                                           | `QueryService.closeCqs`                   |
+| Access a CQ                                  | `CqEvent.getCq` and `QueryService.getCq`                  | `QueryService.getCq`                      |
+| Modify CQ Listeners                          | `CqQuery.getCqAttributesMutator`                          | N/A                                       |
+| Access CQ Runtime Statistics                 | `CqQuery.getStatistics`                                   | `QueryService.getCqStatistics`            |
+| Get all durable CQs registered on the server | N/A                                                       | `QueryService.getAllDurableCqsFromServer` |
+
+## <a id="continuous_querying_whats_next__section_B274DA982AE6441288323A1D11B58786" class="no-quick-link"></a>Managing CQs and Durable Clients Using gfsh
+
+Using the `gfsh` command-line utility, you can perform the following actions:
+
+-   Close durable clients and durable client CQs. See [close](../../tools_modules/gfsh/command-pages/close.html#topic_27555B1929D7487D9158096BC065D372).
+-   List all durable CQs for a given durable client ID. See [list](../../tools_modules/gfsh/command-pages/list.html).
+-   Show the subscription event queue size for a given durable client ID. See [show subscription-queue-size](../../tools_modules/gfsh/command-pages/show.html#topic_395C96B500AD430CBF3D3C8886A4CD2E).
+
+## <a id="continuous_querying_whats_next__section_345E9C144EB544FBA61FC9C83BF1C1ED" class="no-quick-link"></a>Retrieving an Initial Result Set of a CQ
+
+You can optionally retrieve an initial result set when you execute your CQ. To do this, execute the CQ with the `executeWithInitialResults` method. The initial `SelectResults` returned is the same that you would get if you ran the query ad hoc, by calling `QueryService.newQuery.execute` on the server cache, but with the key included. This example retrieves keys and values from an initial result set:
+
+``` pre
+SelectResults cqResults = cq.executeWithInitialResults();
+for (Object o : cqResults.asList()) {
+  Struct s = (Struct) o; // Struct with Key, value pair
+  Portfolio p = (Portfolio) s.get("value"); // get value from the Struct
+  String id = (String) s.get("key"); // get key from the Struct
+}
+```
+
+If you are managing a data set from the CQ results, you can initialize the set by iterating over the result set and then updating it from your listeners as events arrive. For example, you might populate a new screen with initial results and then update the screen from a CQ listener.
+
+If a CQ is executed using the `ExecuteWithInitialResults` method, the returned result may already include the changes with respect to the event. This can arise when updates are happening on the region while CQ registration is in progress. The CQ does not block any region operation as it could affect the performance of the region operation. Design your application to synchronize between the region operation and CQ registration to avoid duplicate events from being delivered.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/continuous_querying/how_continuous_querying_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/continuous_querying/how_continuous_querying_works.html.md.erb b/geode-docs/developing/continuous_querying/how_continuous_querying_works.html.md.erb
new file mode 100644
index 0000000..67facc9
--- /dev/null
+++ b/geode-docs/developing/continuous_querying/how_continuous_querying_works.html.md.erb
@@ -0,0 +1,81 @@
+---
+title:  How Continuous Querying Works
+---
+
+Clients subscribe to server-side events by using SQL-type query filtering. The server sends all events that modify the query results. CQ event delivery uses the client/server subscription framework.
+
+<a id="how_continuous_querying_works__section_D473C4D532E14044820B7D76DEE83450"></a>
+With CQ, the client sends a query to the server side for execution and receives the events that satisfy the criteria. For example, in a region storing stock market trade orders, you can retrieve all orders over a certain price by running a CQ with a query like this:
+
+``` pre
+SELECT * FROM /tradeOrder t WHERE t.price > 100.00
+```
+
+When the CQ is running, the server sends the client all new events that affect the results of the query. On the client side, listeners programmed by you receive and process incoming events. For this example query on `/tradeOrder`, you might program a listener to push events to a GUI where higher-priced orders are displayed. CQ event delivery uses the client/server subscription framework.
+
+## <a id="how_continuous_querying_works__section_777DEEA9D1DD45F59EC1BB35789C3A5D" class="no-quick-link"></a>Logical Architecture of Continuous Querying
+
+Your clients can execute any number of CQs, with each CQ assigned any number of listeners.
+
+<img src="../../images/ContinuousQuerying-1.gif" id="how_continuous_querying_works__image_B7C36491E8CA4376AEAE4E030C3DF86B" class="image" />
+
+## <a id="how_continuous_querying_works__section_F0E19919B3F645EF83EACBD7AFDF527E" class="no-quick-link"></a>Data Flow with CQs
+
+CQs do not update the client region. This is in contrast to other server-to-client messaging like the updates sent to satisfy interest registration and responses to get requests from the client's `Pool`. CQs serve as notification tools for the CQ listeners, which can be programmed in any way your application requires.
+
+When a CQ is running against a server region, each entry event is evaluated against the CQ query by the thread that updates the server cache. If either the old or the new entry value satisfies the query, the thread puts a `CqEvent` in the client's queue. The `CqEvent` contains information from the original cache event plus information specific to the CQ's execution. Once received by the client, the `CqEvent` is passed to the `onEvent` method of all `CqListener`s defined for the CQ.
+
+Here is the typical CQ data flow for entries updated in the server cache:
+
+1.  Entry events come to the server's cache from the server or its peers, distribution from remote sites, or updates from a client.
+2.  For each event, the server's CQ executor framework checks for a match with its running CQs.
+3.  If the old or new entry value satisfies a CQ query, a CQ event is sent to the CQ's listeners on the client side. Each listener for the CQ gets the event.
+
+In the following figure:
+
+-   Both the new and old prices for entry X satisfy the CQ query, so that event is sent indicating an update to the query results.
+-   The old price for entry Y satisfied the query, so it was part of the query results. The invalidation of entry Y makes it not satisfy the query. Because of this, the event is sent indicating that it is destroyed in the query results.
+-   The price for the newly created entry Z does not satisfy the query, so no event is sent.
+
+<img src="../../images/ContinuousQuerying-3.gif" id="how_continuous_querying_works__image_2F21A3820906449FAABE7ACC9654A564" class="image" />
+
+## <a id="how_continuous_querying_works__section_819CDBA814024315A6DDA83BD56D125C" class="no-quick-link"></a>CQ Events
+
+CQ events do not change your client cache. They are provided as an event service only. This allows you to have any collection of CQs without storing large amounts of data in your regions. If you need to persist information from CQ events, program your listener to store the information where it makes the most sense for your application.
+
+The `CqEvent` object contains this information:
+
+-   Entry key and new value.
+-   Base operation that triggered the cache event in the server. This is the standard `Operation` class instance used for cache events in GemFire.
+-   `CqQuery` object associated with this CQ event.
+-   `Throwable` object, returned only if an error occurred when the `CqQuery` ran for the cache event. This is non-null only for `CqListener` onError calls.
+-   Query operation associated with this CQ event. This operation describes the change affected to the query results by the cache event. Possible values are:
+    -   `CREATE`, which corresponds to the standard database
+    -   `INSERT` operation
+    -   `UPDATE`
+    -   `DESTROY`, which corresponds to the standard database DELETE operation
+
+Region operations do not translate to specific query operations and query operations do not specifically describe region events. Instead, the query operation describes how the region event affects the query results.
+
+| Query operations based on old and new entry values | New value does not satisfy the query | New value satisfies the query |
+|----------------------------------------------------|--------------------------------------|-------------------------------|
+| Old value does not satisfy the query               | no event                             | `CREATE` query operation      |
+| Old value does satisfies the query                 | `DESTROY` query operation            | `UPDATE` query operation      |
+
+You can use the query operation to decide what to do with the `CqEvent` in your listeners. For example, a `CqListener` that displays query results on screen might stop displaying the entry, start displaying the entry, or update the entry display depending on the query operation.
+
+## <a id="how_continuous_querying_works__section_bfs_llr_gr" class="no-quick-link"></a>Region Type Restrictions for CQs
+
+You can only create CQs on replicated or partitioned regions. If you attempt to create a CQ on a non-replicated or non-partitioned region, you will receive the following error message:
+
+``` pre
+The region <region name> specified in CQ creation is neither replicated nor partitioned; only replicated or partitioned regions are allowed in CQ creation.
+```
+
+In addition, you cannot create a CQ on a replicated region with eviction setting of local-destroy since this eviction setting changes the region's data policy. If you attempt to create a CQ on this kind of region, you will receive the following error message:
+
+``` pre
+CQ is not supported for replicated region: <region name> with eviction action: LOCAL_DESTROY
+```
+
+See also [Configure Distributed, Replicated, and Preloaded Regions](../distributed_regions/managing_distributed_regions.html) for potential issues with setting local-destroy eviction on replicated regions.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/continuous_querying/implementing_continuous_querying.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/continuous_querying/implementing_continuous_querying.html.md.erb b/geode-docs/developing/continuous_querying/implementing_continuous_querying.html.md.erb
new file mode 100644
index 0000000..de4c81e
--- /dev/null
+++ b/geode-docs/developing/continuous_querying/implementing_continuous_querying.html.md.erb
@@ -0,0 +1,185 @@
+---
+title:  Implementing Continuous Querying
+---
+
+Use continuous querying in your clients to receive continuous updates to queries run on the servers.
+
+CQs are only run by a client on its servers.
+
+Before you begin, you should be familiar with [Querying](../querying_basics/chapter_overview.html) and have your client/server system configured.
+
+1. Configure the client pools you will use for CQs with `subscription-enabled` set to true.
+
+    To have CQ and interest subscription events arrive as closely together as possible, use a single pool for everything. Different pools might use different servers, which can lead to greater differences in event delivery time.
+
+2. Write your OQL query to retrieve the data you need from the server.
+
+    The query must satisfy these CQ requirements in addition to the standard GemFire querying specifications:
+    -   The FROM clause must contain only a single region specification, with optional iterator variable.
+    -   The query must be a SELECT expression only, preceded by zero or more IMPORT statements. This means the query cannot be a statement such as <code>"/tradeOrder.name"</code> or <code>"(SELECT \* from /tradeOrder).size".</code>
+    -   The CQ query cannot use:
+        -   Cross region joins
+        -   Drill-downs into nested collections
+        -   DISTINCT
+        -   Projections
+        -   Bind parameters
+    -   The CQ query must be created on a partitioned or replicated region. See [Region Type Restrictions for CQs](how_continuous_querying_works.html#how_continuous_querying_works__section_bfs_llr_gr).
+
+    The basic syntax for the CQ query is:
+
+    ``` pre
+    SELECT * FROM /fullRegionPath [iterator] [WHERE clause]
+    ```
+
+    This example query could be used to get all trade orders where the price is over $100:
+
+    ``` pre
+    SELECT * FROM /tradeOrder t WHERE t.price > 100.00
+    ```
+
+3. Write your CQ listeners to handle CQ events from the server.
+    Implement `org.apache.geode.cache.query.CqListener` in each event handler you need. In addition to your main CQ listeners, you might have listeners that you use for all CQs to track statistics or other general information.
+
+    **Note:**
+    Be especially careful if you choose to update your cache from your `CqListener`. If your listener updates the region that is queried in its own CQ and that region has a `Pool` named, the update will be forwarded to the server. If the update on the server satisfies the same CQ, it may be returned to the same listener that did the update, which could put your application into an infinite loop. This same scenario could be played out with multiple regions and multiple CQs, if the listeners are programmed to update each other's regions.
+
+    This example outlines a `CqListener` that might be used to update a display screen with current data from the server. The listener gets the `queryOperation` and entry key and value from the `CqEvent` and then updates the screen according to the type of `queryOperation`.
+
+    ``` pre
+    // CqListener class
+    public class TradeEventListener implements CqListener
+    {
+      public void onEvent(CqEvent cqEvent)
+      {
+        // org.apache.geode.cache Operation associated with the query op
+        Operation queryOperation = cqEvent.getQueryOperation();
+        // key and new value from the event
+        Object key = cqEvent.getKey();
+        TradeOrder tradeOrder = (TradeOrder)cqEvent.getNewValue();
+        if (queryOperation.isUpdate())
+        {
+          // update data on the screen for the trade order . . .
+        }
+        else if (queryOperation.isCreate())
+        {
+          // add the trade order to the screen . . .
+        }
+        else if (queryOperation.isDestroy())
+        {
+          // remove the trade order from the screen . . .
+        }
+      }
+      public void onError(CqEvent cqEvent)
+      {
+        // handle the error
+      }
+      // From CacheCallback public void close()
+      {
+        // close the output screen for the trades . . .
+      }
+    }
+    ```
+
+    When you install the listener and run the query, your listener will handle all of the CQ results.
+
+4. If you need your CQs to detect whether they are connected to any of the servers that host its subscription queues, implement a `CqStatusListener` instead of a `CqListener`.
+    `CqStatusListener` extends the current `CqListener`, allowing a client to detect when a CQ is connected and/or disconnected from the server(s). The `onCqConnected()` method will be invoked when the CQ is connected, and when the CQ has been reconnected after being disconnected. The `onCqDisconnected()` method will be invoked when the CQ is no longer connected to any servers.
+
+    Taking the example from step 3, we can instead implement a `CqStatusListener`:
+
+    ``` pre
+    public class TradeEventListener implements CqStatusListener
+    {
+      public void onEvent(CqEvent cqEvent)
+      {
+        // org.apache.geode.cache Operation associated with the query op
+        Operation queryOperation = cqEvent.getQueryOperation();
+        // key and new value from the event
+        Object key = cqEvent.getKey();
+        TradeOrder tradeOrder = (TradeOrder)cqEvent.getNewValue();
+        if (queryOperation.isUpdate())
+        {
+          // update data on the screen for the trade order . . .
+        }
+        else if (queryOperation.isCreate())
+        {
+          // add the trade order to the screen . . .
+        }
+        else if (queryOperation.isDestroy())
+        {
+          // remove the trade order from the screen . . .
+        }
+      }
+      public void onError(CqEvent cqEvent)
+      {
+        // handle the error
+      }
+      // From CacheCallback public void close()
+      {
+        // close the output screen for the trades . . .
+      }
+
+      public void onCqConnected() {
+        //Display connected symbol
+      }
+
+      public void onCqDisconnected() {
+        //Display disconnected symbol
+      }
+    }
+    ```
+
+    When you install the `CqStatusListener`, your listener will be able to detect its connection status to the servers that it is querying.
+
+5. Program your client to run the CQ:
+    1. Create a `CqAttributesFactory` and use it to set your `CqListener`s and `CqStatusListener`.
+    2. Pass the attributes factory and the CQ query and its unique name to the `QueryService` to create a new `CqQuery`.
+    3. Start the query running by calling one of the execute methods on the `CqQuery` object.
+        You can execute with or without an initial result set.
+    4. When you are done with the CQ, close it.
+
+## Continuous Query Implementation
+
+``` pre
+// Get cache and queryService - refs to local cache and QueryService
+// Create client /tradeOrder region configured to talk to the server
+
+// Create CqAttribute using CqAttributeFactory
+CqAttributesFactory cqf = new CqAttributesFactory();
+
+// Create a listener and add it to the CQ attributes callback defined below
+CqListener tradeEventListener = new TradeEventListener();
+cqf.addCqListener(tradeEventListener);
+CqAttributes cqa = cqf.create();
+// Name of the CQ and its query
+String cqName = "priceTracker";
+String queryStr = "SELECT * FROM /tradeOrder t where t.price > 100.00";
+
+// Create the CqQuery
+CqQuery priceTracker = queryService.newCq(cqName, queryStr, cqa);
+
+try
+{  // Execute CQ, getting the optional initial result set
+   // Without the initial result set, the call is priceTracker.execute();
+  SelectResults sResults = priceTracker.executeWithInitialResults();
+  for (Object o : sResults) {
+       Struct s = (Struct) o;
+       TradeOrder to = (TradeOrder) s.get("value");
+       System.out.println("Intial result includes: " + to);
+  }
+}
+  catch (Exception ex)
+{
+  ex.printStackTrace();
+}
+// Now the CQ is running on the server, sending CqEvents to the listener
+. . .
+
+// End of life for the CQ - clear up resources by closing
+priceTracker.close();
+```
+
+With continuous queries, you can optionally implement:
+
+-   Highly available CQs by configuring your servers for high availability.
+-   Durable CQs by configuring your clients for durable messaging and indicating which CQs are durable at creation.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/data_serialization/PDX_Serialization_Features.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/PDX_Serialization_Features.html.md.erb b/geode-docs/developing/data_serialization/PDX_Serialization_Features.html.md.erb
new file mode 100644
index 0000000..45b154e
--- /dev/null
+++ b/geode-docs/developing/data_serialization/PDX_Serialization_Features.html.md.erb
@@ -0,0 +1,23 @@
+---
+title:  Geode PDX Serialization Features
+---
+
+Geode PDX serialization offers several advantages in terms of functionality.
+
+## <a id="concept_F02E40517C4B42F2A75B133BB507C626__section_A0EEB4DA3E9F4EA4B65FE727D3951EA1" class="no-quick-link"></a>Application Versioning of PDX Domain Objects
+
+Domain objects evolve along with your application code. You might create an address object with two address lines, then realize later that a third line is required for some situations. Or you might realize that a particular field is not used and want to get rid of it. With PDX, you can use old and new versions of domain objects together in a distributed system if the versions differ by the addition or removal of fields. This compatibility lets you gradually introduce modified code and data into the system, without bringing the system down.
+
+Geode maintains a central registry of the PDX domain object metadata. Using the registry, Geode preserves fields in each member's cache regardless of whether the field is defined. When a member receives an object with a registered field that the member is not aware of, the member does not access the field, but preserves it and passes it along with the entire object to other members. When a member receives an object that is missing one or more fields according to the member's version, Geode assigns the Java default values for the field types to the missing fields.
+
+## <a id="concept_F02E40517C4B42F2A75B133BB507C626__section_D68A6A9C2C0C4D32AE7DADA2A4C3104D" class="no-quick-link"></a>Portability of PDX Serializable Objects
+
+When you serialize an object using PDX, Geode stores the object's type information in the central registry. The information is passed among clients and servers, peers, and distributed systems.
+
+This centralization of object type information is advantageous for client/server installations in which clients and servers are written in different languages. Clients pass registry information to servers automatically when they store a PDX serialized object. Clients can run queries and functions against the data in the servers without compatibility between server and the stored objects. One client can store data on the server to be retrieved by another client, with no requirements on the part of the server.
+
+## <a id="concept_F02E40517C4B42F2A75B133BB507C626__section_08C901A3CF3E438C8778F09D482B9A63" class="no-quick-link"></a>Reduced Deserialization of Serialized Objects
+
+The access methods of PDX serialized objects allow you to examine specific fields of your domain object without deserializing the entire object. Depending on your object usage, you can reduce serialization and deserialization costs significantly.
+
+Java and other clients can run queries and execute functions against the objects in the server caches without deserializing the entire object on the server side. The query engine automatically recognizes PDX objects, retrieves the `PdxInstance` of the object and uses only the fields it needs. Likewise, peers can access only the necessary fields from the serialized object, keeping the object stored in the cache in serialized form.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/data_serialization/auto_serialization.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/auto_serialization.html.md.erb b/geode-docs/developing/data_serialization/auto_serialization.html.md.erb
new file mode 100644
index 0000000..7e3dfa2
--- /dev/null
+++ b/geode-docs/developing/data_serialization/auto_serialization.html.md.erb
@@ -0,0 +1,124 @@
+---
+title:  Using Automatic Reflection-Based PDX Serialization
+---
+
+You can configure your cache to automatically serialize and deserialize domain objects without having to add any extra code to them.
+
+<a id="auto_serialization__section_E2B7719D3C1545808CC21E0FDBD2D610"></a>
+You can automatically serialize and deserialize domain objects without coding a `PdxSerializer` class. You do this by registering your domain objects with a custom `PdxSerializer` called `ReflectionBasedAutoSerializer` that uses Java reflection to infer which fields to serialize.
+
+You can also extend the ReflectionBasedAutoSerializer to customize its behavior. For example, you could add optimized serialization support for BigInteger and BigDecimal types. See [Extending the ReflectionBasedAutoSerializer](extending_the_autoserializer.html#concept_9E020566EE794A81A48A90BA798EC279) for details.
+
+**Note:**
+Your custom PDX autoserializable classes cannot use the `com.gemstone` package. If they do, the classes will be ignored by the PDX auto serializer.
+
+<a id="auto_serialization__section_C69046B44729454F8CD464B0289EFDD8"></a>
+
+**Prerequisites**
+
+-   Understand generally how to configure the Geode cache.
+-   Understand how PDX serialization works and how to configure your application to use `PdxSerializer`.
+
+<a id="auto_serialization__section_43F6E45FF69E470897FD9D002FBE896D"><strong>Procedure</strong></a>
+
+In your application where you manage data from the cache, provide the following configuration and code as appropriate:
+
+1.  In the domain classes that you wish to autoserialize, make sure each class has a zero-arg constructor. For example:
+
+    ``` pre
+    public PortfolioPdx(){}
+    ```
+
+2.  Using one of the following methods, set the PDX serializer to `ReflectionBasedAutoSerializer`.
+    1.  In gfsh, execute the following command prior to starting up any members that host data:
+
+        ``` pre
+        gfsh>configure pdx --auto-serializable-classes=com\.company\.domain\..*
+        ```
+
+        By using gfsh, this configuration can propagated across the cluster through the [Cluster Configuration Service](../../configuring/cluster_config/gfsh_persist.html).
+
+    2.  Alternately, in `cache.xml`:
+
+        ``` pre
+        <!-- Cache configuration configuring auto serialization behavior -->
+        <cache>
+          <pdx>
+            <pdx-serializer>
+              <class-name>
+               org.apache.geode.pdx.ReflectionBasedAutoSerializer
+              </class-name>
+              <parameter name="classes">
+              <string>com.company.domain.DomainObject</string>
+             </parameter>
+          </pdx-serializer>
+         </pdx>
+          ...
+        </cache>
+        ```
+
+        The parameter, `classes`, takes a comma-separated list of class patterns to define the domain classes to serialize. If your domain object is an aggregation of other domain classes, you need to register the domain object and each of those domain classes explicitly for the domain object to be serialized completely.
+
+    3.  Using the Java API:
+
+        ``` pre
+        Cache c = new CacheFactory()
+          .setPdxSerializer(new ReflectionBasedAutoSerializer("com.company.domain.DomainObject"))
+          .create();
+        ```
+
+3.  Customize the behavior of the `ReflectionBasedAutoSerializer` using one of the following mechanisms:
+    -   By using a class pattern string to specify the classes to auto-serialize and customize how the classes are serialized. Class pattern strings can be specified in the API by passing strings to the `ReflectionBasedAutoSerializer` constructor or by specifying them in cache.xml. See [Customizing Serialization with Class Pattern Strings](autoserialization_with_class_pattern_strings.html#concept_9B67BBE94B414B7EA63BD7E8D61D0312) for details.
+    -   By creating a subclass of `ReflectionBasedAutoSerializer` and overriding specific methods. See [Extending the ReflectionBasedAutoSerializer](extending_the_autoserializer.html#concept_9E020566EE794A81A48A90BA798EC279) for details.
+
+4.  If desired, configure the `ReflectionBasedAutoSerializer` to check the portability of the objects it is passed before it tries to autoserialize them. When this flag is set to true, the `ReflectionBasedAutoSerializer` will throw a `NonPortableClassException` error when trying to autoserialize a non-portable object. To set this, use the following configuration:
+    -   In gfsh, use the following command:
+
+        ``` pre
+        gfsh>configure pdx --portable-auto-serializable-classes=com\.company\.domain\..*
+        ```
+
+        By using gfsh, this configuration can propagated across the cluster through the [Cluster Configuration Service](../../configuring/cluster_config/gfsh_persist.html).
+    -   In cache.xml:
+
+        ``` pre
+        <!-- Cache configuration configuring auto serialization behavior -->
+        <cache>
+          <pdx>
+            <pdx-serializer>
+              <class-name>
+               org.apache.geode.pdx.ReflectionBasedAutoSerializer
+              </class-name>
+            <parameter name="classes">
+              <string>com.company.domain.DomainObject</string>
+            </parameter>
+            <parameter name="check-portability">
+              <string>true</string>
+            </parameter>
+          </pdx-serializer>
+         </pdx>
+          ...
+        </cache>
+        ```
+    -   Using the Java API:
+
+        ``` pre
+        Cache c = new CacheFactory()
+          .setPdxSerializer(new ReflectionBasedAutoSerializer(true,"com.company.domain.DomainObject"))
+          .create();
+        ```
+
+For each domain class you provide, all fields are considered for serialization except those defined as `static` or `transient` and those you explicitly exclude using the class pattern strings.
+
+**Note:**
+The `ReflectionBasedAutoSerializer` traverses the given domain object's class hierarchy to retrieve all fields to be considered for serialization. So if `DomainObjectB` inherits from `DomainObjectA`, you only need to register `DomainObjectB` to have all of `DomainObjectB` serialized.
+
+-   **[Customizing Serialization with Class Pattern Strings](../../developing/data_serialization/autoserialization_with_class_pattern_strings.html)**
+
+    Use class pattern strings to name the classes that you want to serialize using Geode's reflection-based autoserializer and to specify object identity fields and to specify fields to exclude from serialization.
+
+-   **[Extending the ReflectionBasedAutoSerializer](../../developing/data_serialization/extending_the_autoserializer.html)**
+
+    You can extend the `ReflectionBasedAutoSerializer` to handle serialization in a customized manner. This section provides an overview of the available method-based customization options and an example of extending the serializer to support BigDecimal and BigInteger types.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/data_serialization/autoserialization_with_class_pattern_strings.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/autoserialization_with_class_pattern_strings.html.md.erb b/geode-docs/developing/data_serialization/autoserialization_with_class_pattern_strings.html.md.erb
new file mode 100644
index 0000000..ba18558
--- /dev/null
+++ b/geode-docs/developing/data_serialization/autoserialization_with_class_pattern_strings.html.md.erb
@@ -0,0 +1,68 @@
+---
+title:  Customizing Serialization with Class Pattern Strings
+---
+
+Use class pattern strings to name the classes that you want to serialize using Geode's reflection-based autoserializer and to specify object identity fields and to specify fields to exclude from serialization.
+
+The class pattern strings used to configured the `ReflectionBasedAutoSerializer` are standard regular expressions. For example, this expression would select all classes defined in the `com.company.domain` package and its subpackages:
+
+``` pre
+com\.company\.domain\..*
+```
+
+You can augment the pattern strings with a special notation to define fields to exclude from serialization and to define fields to mark as PDX identity fields. The full syntax of the pattern string is:
+
+``` pre
+<class pattern> [# (identity|exclude) = <field pattern>]... [, <class pattern>...]
+```
+
+The following example pattern string sets these PDX serialization criteria:
+
+-   Classes with names matching the pattern `com.company.DomainObject.*` are serialized. In those classes, fields beginning with `id` are marked as identity fields and fields named `creationDate` are not serialized.
+-   The class `com.company.special.Patient` is serialized. In the class, the field, `ssn` is marked as an identity field
+
+``` pre
+com.company.DomainObject.*#identity=id.*#exclude=creationDate, 
+com.company.special.Patient#identity=ssn
+```
+
+**Note:**
+There is no association between the `identity` and `exclude` options, so the pattern above could also be expressed as:
+
+``` pre
+com.company.DomainObject.*#identity=id.*, com.company.DomainObject.*#exclude=creationDate, 
+com.company.special.Patient#identity=ssn
+            
+```
+
+**Note:**
+The order of the patterns is not relevant. All defined class patterns are used when determining whether a field should be considered as an identity field or should be excluded.
+
+Examples:
+
+-   This XML uses the example pattern shown above:
+
+    ``` pre
+    <parameter name="classes">
+      <string>com.company.DomainObject.*#identity=id.*#exclude=creationDate, 
+    com.company.special.Patient#identity=ssn</string>
+    </parameter>
+    ```
+
+-   This application code sets the same pattern:
+
+    ``` pre
+    classPatterns.add("com.company.DomainObject.*#identity=id.*#exclude=creationDate,
+       com.company.special.Patient#identity=ssn");
+    ```
+
+-   This application code has the same effect:
+
+    ``` pre
+     Cache c = new CacheFactory().set("cache-xml-file", cacheXmlFileName)
+         .setPdxSerializer(new ReflectionBasedAutoSerializer("com.foo.DomainObject*#identity=id.*",
+             "com.company.DomainObject.*#exclude=creationDate","com.company.special.Patient#identity=ssn"))
+         .create();
+    ```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/data_serialization/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/chapter_overview.html.md.erb b/geode-docs/developing/data_serialization/chapter_overview.html.md.erb
new file mode 100644
index 0000000..5ef0877
--- /dev/null
+++ b/geode-docs/developing/data_serialization/chapter_overview.html.md.erb
@@ -0,0 +1,23 @@
+---
+title:  Data Serialization
+---
+
+Data that you manage in Geode must be serialized and deserialized for storage and transmittal between processes. You can choose among several options for data serialization.
+
+-   **[Overview of Data Serialization](../../developing/data_serialization/data_serialization_options.html)**
+
+    Geode offers serialization options other than Java serialization that give you higher performance and greater flexibility for data storage, transfers, and language types.
+
+-   **[Geode PDX Serialization](../../developing/data_serialization/gemfire_pdx_serialization.html)**
+
+    Geode's Portable Data eXchange (PDX) is a cross-language data format that can reduce the cost of distributing and serializing your objects. PDX stores data in named fields that you can access individually, to avoid the cost of deserializing the entire data object. PDX also allows you to mix versions of objects where you have added or removed fields.
+
+-   **[Geode Data Serialization (DataSerializable and DataSerializer)](../../developing/data_serialization/gemfire_data_serialization.html)**
+
+    Geode's `DataSerializable` interface gives you quick serialization of your objects.
+
+-   **[Standard Java Serialization](../../developing/data_serialization/java_serialization.html)**
+
+    You can use standard Java serialization for data you only distribute between Java applications. If you distribute your data between non-Java clients and Java servers, you need to do additional programming to get the data between the various class formats.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/developing/data_serialization/data_serialization_options.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/data_serialization_options.html.md.erb b/geode-docs/developing/data_serialization/data_serialization_options.html.md.erb
new file mode 100644
index 0000000..7402ee7
--- /dev/null
+++ b/geode-docs/developing/data_serialization/data_serialization_options.html.md.erb
@@ -0,0 +1,51 @@
+---
+title:  Overview of Data Serialization
+---
+
+Geode offers serialization options other than Java serialization that give you higher performance and greater flexibility for data storage, transfers, and language types.
+
+<a id="data_serialization_options__section_B1BDB0E7F6814DFD8BACD8D8C5CAA81B"></a>
+All data that Geode moves out of the local cache must be serializable. However, you do not necessarily need to implement `java.io.Serializable` since other serialization options are available in Geode. Region data that must be serializable falls under the following categories:
+
+-   Partitioned regions
+-   Distributed regions
+-   Regions that are persisted or overflowed to disk
+-   Server or client regions in a client/server installation
+-   Regions configured with a gateway sender for distributing events in a multi-site installation
+-   Regions that receive events from remote caches
+-   Regions that provide function arguments and results
+
+**Note:**
+If you are storing objects with the [HTTP Session Management Modules](../../tools_modules/http_session_mgmt/chapter_overview.html), these objects must be serializable since they are serialized before being stored in the region.
+
+To minimize the cost of serialization and deserialization, Geode avoids changing the data format whenever possible. This means your data might be stored in the cache in serialized or deserialized form, depending on how you use it. For example, if a server acts only as a storage location for data distribution between clients, it makes sense to leave the data in serialized form, ready to be transmitted to clients that request it. Partitioned region data is always initially stored in serialized form.
+
+## <a id="data_serialization_options__section_691C2CF5A4E24D599070A7AADEDF2BEC" class="no-quick-link"></a>Data Serialization Options
+
+<a id="data_serialization_options__section_44CC2DEEDA0F41D49D416ABA921A6436"></a>
+
+With Geode, you have the option to serialize your domain objects automatically or to implement serialization using one of Geode's interfaces. Enabling automatic serialization means that domain objects are serialized and deserialized without your having to make any code changes to those objects. This automatic serialization is performed by registering your domain objects with a custom `PdxSerializer` called the `ReflectionBasedAutoSerializer`, which uses Java reflection to infer which fields to serialize.
+
+If autoserialization does not meet your needs, you can serialize your objects by implementing one of the Geode interfaces, `PdxSerializable` or `DataSerializable`. You can use these interfaces to replace any standard Java data serialization for better performance. If you cannot or do not want to modify your domain classes, each interface has an alternate serializer class, `PdxSerializer` and `DataSerializer`. To use these, you create your custom serializer class and then associate it with your domain class in the Geode cache configuration.
+
+Geode Data serialization is about 25% faster than PDX serialization, however using PDX serialization will help you to avoid the even larger costs of performing deserialization.
+
+<a id="data_serialization_options__section_993B4A298874459BB4A8A0A9811854D9"></a><a id="data_serialization_options__table_ccf00c9f-9b98-47f7-ab30-3d23ecaff0a1"></a>
+
+| Capability                                                                                                                       | Geode Data Serializable | Geode PDX Serializable |
+|----------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------|-----------------------------------------------------|
+| Implements Java Serializable.                                                                                                    | X                                                    | �                                                   |
+| Handles multiple versions of application domain objects, providing the versions differ by the addition or subtraction of fields. | �                                                    | X                                                   |
+| Provides single field access of serialized data, without full deserialization - supported also for OQL querying.                 | �                                                    | X                                                   |
+| Automatically ported to other languages by Geode                                                    | �                                                    | X                                                   |
+| Works with .NET clients.                                                                                                         | X                                                    | X                                                   |
+| Works with C++ clients.                                                                                                         | X                                                    | X                                                   |
+| Works with Geode delta propagation.                                                                 | X                                                    | X (See note below.)                                 |
+
+<span class="tablecap">**Table 1.** Serialization Options: Comparison of Features</span>
+
+**Note:** By default, you can use Geode delta propagation with PDX serialization. However, delta propagation will not work if you have set the Geode property `read-serialized` to "true". In terms of deserialization, to apply a change delta propagation requires a domain class instance and the `fromDelta `method. If you have set `read-serialized` to true, then you will receive a `PdxInstance` instead of a domain class instance and `PdxInstance` does not have the `fromDelta` method required for delta propagation.
+
+## <a id="data_serialization_options__section_D90C2C09B95C40B6803CF202CF8008BF" class="no-quick-link"></a>Differences between Geode Serialization (PDX or Data Serializable) and Java Serialization
+
+Geode serialization (either PDX Serialization or Data Serialization) does not support circular object graphs whereas Java serialization does. In Geode serialization, if the same object is referenced more than once in an object graph, the object is serialized for each reference, and deserialization produces multiple copies of the object. By contrast in this situation, Java serialization serializes the object once and when deserializing the object, it produces one instance of the object with multiple references.


[18/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/how_partitioning_works_2.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/how_partitioning_works_2.svg b/geode-docs/images_svg/how_partitioning_works_2.svg
new file mode 100644
index 0000000..6351a28
--- /dev/null
+++ b/geode-docs/images_svg/how_partitioning_works_2.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="68 212 385 412" width="385pt" height="412pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 10:43Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".3" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(189 468) scale(97.349884)"/><font-face font-family="Helvetica" font-size="11" units-per-em="1000" underline-posi
 tion="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(117 445.5) scale(19.091883)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" u
 nderline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_2" gradientTransform="translate(144 445.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(171 445.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(405 351) scale(97.349884)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(387 342.61037) scale(55.661926)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient" gradientTransform="translate(405 467.23404) scale(97.349884)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(346.5 460.78324) scale(19.091883)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient" gradientTra
 nsform="translate(405 585) scale(97.349884)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_2" gradientTransform="translate(360 576.81383) scale(19.091883)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient_2" gradientTransform="translate(373.5 460.93883) scale(19.091883)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>how_it_works_2</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id19_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id20_Graphic" filter="url(#Shadow)"/><xl:use x
 l:href="#id29_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 87.66 396 L 182.34 396 C 186.01822 396 189 398.98178 189 402.66 L 189 461.34 C 189 465.01822 186.01822 468 182.34 468 L 87.66 468 C 83.981783 468 81 465.01822 81 461.34 L 81 402.66 C 81 398.98178 83.981783 396 87.66 396 Z" fill="url(#Obj_Gradient)"/><path d="M 87.66 396 L 182.34 396 C 186.01822 396 189 398.98178 189 402.66 L 189 461.34 C 189 465.01822 186.01822 468 182.34 468 L 87.66 468 C 83.981783 468 81 465.01822 81 461.34 L 81 402.66 C 81 398.98178 83.981783 396 87.66 396 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(85 400)" fill="black"><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="4.7485352" y="10" textLength="93.55908">Partitioned Region </tspan><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="46.331543" y="23" textLength="7.336914">A</tspan></text></g><text 
 transform="translate(85 374)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="10.823242" y="14" textLength="57.592773">Logical V</tspan><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="68.16992" y="14" textLength="21.006836">iew</tspan></text><g id="id5_Graphic"><path d="M 105.66 427.5 L 110.34 427.5 C 114.018217 427.5 117 430.48178 117 434.16 L 117 438.84 C 117 442.51822 114.018217 445.5 110.34 445.5 L 105.66 445.5 C 101.981783 445.5 99 442.51822 99 438.84 L 99 434.16 C 99 430.48178 101.981783 427.5 105.66 427.5 Z" fill="url(#Obj_Gradient_2)"/><path d="M 105.66 427.5 L 110.34 427.5 C 114.018217 427.5 117 430.48178 117 434.16 L 117 438.84 C 117 442.51822 114.018217 445.5 110.34 445.5 L 105.66 445.5 C 101.981783 445.5 99 442.51822 99 438.84 L 99 434.16 C 99 430.48178 101.981783 427.5 105.66 427.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="tran
 slate(103 431)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id6_Graphic"><path d="M 132.66 427.5 L 137.34 427.5 C 141.01822 427.5 144 430.48178 144 434.16 L 144 438.84 C 144 442.51822 141.01822 445.5 137.34 445.5 L 132.66 445.5 C 128.98178 445.5 126 442.51822 126 438.84 L 126 434.16 C 126 430.48178 128.98178 427.5 132.66 427.5 Z" fill="url(#Obj_Gradient_3)"/><path d="M 132.66 427.5 L 137.34 427.5 C 141.01822 427.5 144 430.48178 144 434.16 L 144 438.84 C 144 442.51822 141.01822 445.5 137.34 445.5 L 132.66 445.5 C 128.98178 445.5 126 442.51822 126 438.84 L 126 434.16 C 126 430.48178 128.98178 427.5 132.66 427.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(130 431)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</
 tspan></text></g><g id="id7_Graphic"><path d="M 159.66 427.5 L 164.34 427.5 C 168.01822 427.5 171 430.48178 171 434.16 L 171 438.84 C 171 442.51822 168.01822 445.5 164.34 445.5 L 159.66 445.5 C 155.98178 445.5 153 442.51822 153 438.84 L 153 434.16 C 153 430.48178 155.98178 427.5 159.66 427.5 Z" fill="url(#Obj_Gradient_4)"/><path d="M 159.66 427.5 L 164.34 427.5 C 168.01822 427.5 171 430.48178 171 434.16 L 171 438.84 C 171 442.51822 168.01822 445.5 164.34 445.5 L 159.66 445.5 C 155.98178 445.5 153 442.51822 153 438.84 L 153 434.16 C 153 430.48178 155.98178 427.5 159.66 427.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(157 431)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.2512207" y="9" textLength="5.4975586">Z</tspan></text></g><g id="id8_Graphic"><path d="M 303.66 279 L 398.34 279 C 402.01822 279 405 281.98178 405 285.66 L 405 344.34 C 405 348.01822 402.01822
  351 398.34 351 L 303.66 351 C 299.98178 351 297 348.01822 297 344.34 L 297 285.66 C 297 281.98178 299.98178 279 303.66 279 Z" fill="url(#Obj_Gradient_5)"/><path d="M 303.66 279 L 398.34 279 C 402.01822 279 405 281.98178 405 285.66 L 405 344.34 C 405 348.01822 402.01822 351 398.34 351 L 303.66 351 C 299.98178 351 297 348.01822 297 344.34 L 297 285.66 C 297 281.98178 299.98178 279 303.66 279 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(301 283)" fill="black"><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="4.7485352" y="10" textLength="93.55908">Partitioned Region </tspan><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="46.331543" y="23" textLength="7.336914">A</tspan></text></g><text transform="translate(305.5 221)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="6.9404297" y="14" textLength="65.3584">Ph
 ysical V</tspan><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="72.052734" y="14" textLength="21.006836">iew</tspan></text><g id="id10_Graphic"><path d="M 321.66 324.61037 L 380.34 324.61037 C 384.01822 324.61037 387 327.59216 387 331.27037 L 387 335.95037 C 387 339.62859 384.01822 342.61037 380.34 342.61037 L 321.66 342.61037 C 317.98178 342.61037 315 339.62859 315 335.95037 L 315 331.27037 C 315 327.59216 317.98178 324.61037 321.66 324.61037 Z" fill="url(#Obj_Gradient_6)"/><path d="M 321.66 324.61037 L 380.34 324.61037 C 384.01822 324.61037 387 327.59216 387 331.27037 L 387 335.95037 C 387 339.62859 384.01822 342.61037 380.34 342.61037 L 321.66 342.61037 C 317.98178 342.61037 315 339.62859 315 335.95037 L 315 331.27037 C 315 327.59216 317.98178 324.61037 321.66 324.61037 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><text transform="translate(319 328.11037)" fill="black"><tspan fo
 nt-family="Helvetica" font-size="9" font-weight="500" fill="black" x="5.7338867" y="9" textLength="52.532227">No local data</tspan></text></g><rect x="288" y="261" width="135" height="99" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="220.5" y="310.5" width="135" height="10.8333333" fill="#efefef"/><text transform="translate(222.5 309.41667)" fill="black"><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="80.248535" y="10" textLength="50.751465">Machine 1</tspan></text><g id="id14_Graphic"><path d="M 303.66 395.23404 L 398.34 395.23404 C 402.01822 395.23404 405 398.21583 405 401.89404 L 405 460.57404 C 405 464.25226 402.01822 467.23404 398.34 467.23404 L 303.66 467.23404 C 299.98178 467.23404 297 464.25226 297 460.57404 L 297 401.89404 C 297 398.21583 299.98178 395.23404 303.66 395.23404 Z" fill="url(#Obj_Gradient_7)"/><path d="M 303.66 395.23404 L 398.34 395.23404 C 402.01822 395.23404 405 398.21583 40
 5 401.89404 L 405 460.57404 C 405 464.25226 402.01822 467.23404 398.34 467.23404 L 303.66 467.23404 C 299.98178 467.23404 297 464.25226 297 460.57404 L 297 401.89404 C 297 398.21583 299.98178 395.23404 303.66 395.23404 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(301 399.23404)" fill="black"><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="4.7485352" y="10" textLength="93.55908">Partitioned Region </tspan><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="46.331543" y="23" textLength="7.336914">A</tspan></text></g><g id="id15_Graphic"><path d="M 335.16 442.78324 L 339.84 442.78324 C 343.51822 442.78324 346.5 445.76503 346.5 449.44324 L 346.5 454.12324 C 346.5 457.80146 343.51822 460.78324 339.84 460.78324 L 335.16 460.78324 C 331.48178 460.78324 328.5 457.80146 328.5 454.12324 L 328.5 449.44324 C 328.5 445.76503 331.48178 442.78324 335.16 442.78324 Z
 " fill="url(#Obj_Gradient_8)"/><path d="M 335.16 442.78324 L 339.84 442.78324 C 343.51822 442.78324 346.5 445.76503 346.5 449.44324 L 346.5 454.12324 C 346.5 457.80146 343.51822 460.78324 339.84 460.78324 L 335.16 460.78324 C 331.48178 460.78324 328.5 457.80146 328.5 454.12324 L 328.5 449.44324 C 328.5 445.76503 331.48178 442.78324 335.16 442.78324 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(332.5 446.28324)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><rect x="287.23404" y="381.73404" width="135" height="99" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="219.73404" y="431.23404" width="135" height="10.8333333" fill="#efefef"/><text transform="translate(221.73404 430.1507)" fill="black"><tspan font-family="Helvetica" font-size="11" font-weight="500" f
 ill="black" x="80.248535" y="10" textLength="50.751465">Machine 2</tspan></text><g id="id19_Graphic"><path d="M 303.66 513 L 398.34 513 C 402.01822 513 405 515.98178 405 519.66 L 405 578.34 C 405 582.0182 402.01822 585 398.34 585 L 303.66 585 C 299.98178 585 297 582.0182 297 578.34 L 297 519.66 C 297 515.98178 299.98178 513 303.66 513 Z" fill="url(#Obj_Gradient_9)"/><path d="M 303.66 513 L 398.34 513 C 402.01822 513 405 515.98178 405 519.66 L 405 578.34 C 405 582.0182 402.01822 585 398.34 585 L 303.66 585 C 299.98178 585 297 582.0182 297 578.34 L 297 519.66 C 297 515.98178 299.98178 513 303.66 513 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(301 517)" fill="black"><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="4.7485352" y="10" textLength="93.55908">Partitioned Region </tspan><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="46.331543" y="23" text
 Length="7.336914">A</tspan></text></g><g id="id20_Graphic"><path d="M 348.66 558.81383 L 353.34 558.81383 C 357.01822 558.81383 360 561.7956 360 565.47383 L 360 570.15383 C 360 573.83205 357.01822 576.81383 353.34 576.81383 L 348.66 576.81383 C 344.98178 576.81383 342 573.83205 342 570.15383 L 342 565.47383 C 342 561.7956 344.98178 558.81383 348.66 558.81383 Z" fill="url(#Obj_Gradient_a)"/><path d="M 348.66 558.81383 L 353.34 558.81383 C 357.01822 558.81383 360 561.7956 360 565.47383 L 360 570.15383 C 360 573.83205 357.01822 576.81383 353.34 576.81383 L 348.66 576.81383 C 344.98178 576.81383 342 573.83205 342 570.15383 L 342 565.47383 C 342 561.7956 344.98178 558.81383 348.66 558.81383 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(346 562.31383)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">Y</tspan></text></g><rect x="288" 
 y="495" width="135" height="99" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><rect x="220.5" y="544.5" width="135" height="10.8333333" fill="#efefef"/><text transform="translate(222.5 543.41667)" fill="black"><tspan font-family="Helvetica" font-size="11" font-weight="500" fill="black" x="80.248535" y="10" textLength="50.751465">Machine 3</tspan></text><line x1="187.29434" y1="398.20914" x2="279" y2="242.99999" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><line x1="186.81638" y1="466.2713" x2="279" y2="612" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><line x1="279" y1="243" x2="441" y2="243" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><line x1="441" y1="243" x2="441" y2="612" stroke="#252525" stroke-linecap="round" stroke-linejoin="round
 " stroke-width=".72000003" stroke-dasharray="8,5"/><line x1="279" y1="612" x2="441" y2="612" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><g id="id29_Graphic"><path d="M 362.16 442.93883 L 366.84 442.93883 C 370.51822 442.93883 373.5 445.9206 373.5 449.59883 L 373.5 454.27883 C 373.5 457.95705 370.51822 460.93883 366.84 460.93883 L 362.16 460.93883 C 358.48178 460.93883 355.5 457.95705 355.5 454.27883 L 355.5 449.59883 C 355.5 445.9206 358.48178 442.93883 362.16 442.93883 Z" fill="url(#Obj_Gradient_b)"/><path d="M 362.16 442.93883 L 366.84 442.93883 C 370.51822 442.93883 373.5 445.9206 373.5 449.59883 L 373.5 454.27883 C 373.5 457.95705 370.51822 460.93883 366.84 460.93883 L 362.16 460.93883 C 358.48178 460.93883 355.5 457.95705 355.5 454.27883 L 355.5 449.59883 C 355.5 445.9206 358.48178 442.93883 362.16 442.93883 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text tra
 nsform="translate(359.5 446.43883)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.2512207" y="9" textLength="5.4975586">Z</tspan></text></g></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/http_module_cs_with_locator.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/http_module_cs_with_locator.svg b/geode-docs/images_svg/http_module_cs_with_locator.svg
new file mode 100644
index 0000000..3b8e6a3
--- /dev/null
+++ b/geode-docs/images_svg/http_module_cs_with_locator.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="77 333 373 279" width="373pt" height="279pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 08:40Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><filter id="Shadow_2" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".3" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox
 ="-1 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M 8.9444437 0 L 0 -3.3541664 L 0 3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-10 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M -8.9444437 0 L 0 3.3541664 L 0 -3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(328.5 533.63672) scale(43.35671)"/><font-face font-family="Helvetica" font-size="6" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-h
 eight="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(167.76562 533.63672) scale(43.35671)"/><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(186.75 540) scale(75.25816)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(344.25 540) scale(75.25816)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color
 ="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_5" xl:href="#Gradient_2" gradientTransform="translate(357.75 534.375) scale(201.6686)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(329.89637 533.25) scale(45.532327)"/><font-face font-family="Helvetica" font-size="8" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_3" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e0e0e0" stop-opacity=".65"/><stop offset="1" stop-color="white" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_3" gradientTransform="translate(373.5 460.125) scale(127.358745)"/><font-face font-family="Helvetica" font-size="10
 " units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(342 446.625) scale(72.40399)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_3" viewBox="-1 -7 17 14" markerWidth="17" markerHeight="14" color="#252525"><g><path d="M 14.499999 0 L 0 -5.4374996 L 0 5.4374996 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_9" xl:href="#Gradient_2" gradientTransform="translate(328.5 432) scale(43.35671)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_2" gradientTransform="translate(335.25 452.25) scale(51.073018)"/><font-face font-family="Helvetica" font-size="7" units-per-em="1000" u
 nderline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="SharpArrow_Marker" viewBox="-5 -5 12 10" markerWidth="12" markerHeight="10" color="#252525"><g><path d="M 5.5902773 0 L -3.3541664 -3.3541664 L 0 0 L 0 0 L -3.3541664 3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_b" xl:href="#Gradient_2" gradientTransform="translate(432 594) scale(259.7654)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_4" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_c" xl:href="#Gradient_4" gradientTransform="translate(172.
 1932 533.25) scale(45.532327)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>cs with locator</title><g><title>Layer 1</title><g><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id17_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id19_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id23_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id27_Graphic" filter="url(#Shadow_2)"/></g><line x1="301.5" y1="559.052" x2="301.5" y2="547.948" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525"
  stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><g id="id4_Graphic"><path d="M 281.16 513 L 321.84 513 C 325.51822 513 328.5 515.98178 328.5 519.66 L 328.5 526.97672 C 328.5 530.65494 325.51822 533.63672 321.84 533.63672 L 281.16 533.63672 C 277.48178 533.63672 274.5 530.65494 274.5 526.97672 L 274.5 519.66 C 274.5 515.98178 277.48178 513 281.16 513 Z" fill="url(#Obj_Gradient)"/><path d="M 281.16 513 L 321.84 513 C 325.51822 513 328.5 515.98178 328.5 519.66 L 328.5 526.97672 C 328.5 530.65494 325.51822 533.63672 321.84 533.63672 L 281.16 533.63672 C 277.48178 533.63672 274.5 530.65494 274.5 526.97672 L 274.5 519.66 C 274.5 515.98178 277.48178 513 281.16 513 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(278.5 516.31836)" fill="black"><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="8.657715" y="6" textLength="30.351562">Partitioned <
 /tspan><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="5.1567383" y="13" textLength="35.686523">Session Data</tspan></text></g><g id="id5_Graphic"><path d="M 120.42562 513 L 161.10562 513 C 164.78384 513 167.76562 515.98178 167.76562 519.66 L 167.76562 526.97672 C 167.76562 530.65494 164.78384 533.63672 161.10562 533.63672 L 120.42562 533.63672 C 116.747403 533.63672 113.76562 530.65494 113.76562 526.97672 L 113.76562 519.66 C 113.76562 515.98178 116.747403 513 120.42562 513 Z" fill="url(#Obj_Gradient_2)"/><path d="M 120.42562 513 L 161.10562 513 C 164.78384 513 167.76562 515.98178 167.76562 519.66 L 167.76562 526.97672 C 167.76562 530.65494 164.78384 533.63672 161.10562 533.63672 L 120.42562 533.63672 C 116.747403 533.63672 113.76562 530.65494 113.76562 526.97672 L 113.76562 519.66 C 113.76562 515.98178 116.747403 513 120.42562 513 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(1
 17.76562 516.31836)" fill="black"><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="8.657715" y="6" textLength="30.351562">Partitioned </tspan><tspan font-family="Helvetica" font-size="6" font-weight="500" fill="black" x="5.1567383" y="13" textLength="35.686523">Session Data</tspan></text></g><g id="id6_Graphic"><path d="M 107.91 487.47656 L 180.09 487.47656 C 183.76822 487.47656 186.75 490.45834 186.75 494.13656 L 186.75 533.34 C 186.75 537.01822 183.76822 540 180.09 540 L 107.91 540 C 104.231783 540 101.25 537.01822 101.25 533.34 L 101.25 494.13656 C 101.25 490.45834 104.231783 487.47656 107.91 487.47656 Z" fill="url(#Obj_Gradient_3)"/><path d="M 107.91 487.47656 L 180.09 487.47656 C 183.76822 487.47656 186.75 490.45834 186.75 494.13656 L 186.75 533.34 C 186.75 537.01822 183.76822 540 180.09 540 L 107.91 540 C 104.231783 540 101.25 537.01822 101.25 533.34 L 101.25 494.13656 C 101.25 490.45834 104.231783 487.47656 107.91 487.47656 Z" stroke="#252525" st
 roke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(105.25 491.47656)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="25.496094" y="9" textLength="26.507812">Server</tspan></text></g><g id="id7_Graphic"><path d="M 265.41 487.47656 L 337.59 487.47656 C 341.26822 487.47656 344.25 490.45834 344.25 494.13656 L 344.25 533.34 C 344.25 537.01822 341.26822 540 337.59 540 L 265.41 540 C 261.73178 540 258.75 537.01822 258.75 533.34 L 258.75 494.13656 C 258.75 490.45834 261.73178 487.47656 265.41 487.47656 Z" fill="url(#Obj_Gradient_4)"/><path d="M 265.41 487.47656 L 337.59 487.47656 C 341.26822 487.47656 344.25 490.45834 344.25 494.13656 L 344.25 533.34 C 344.25 537.01822 341.26822 540 337.59 540 L 265.41 540 C 261.73178 540 258.75 537.01822 258.75 533.34 L 258.75 494.13656 C 258.75 490.45834 261.73178 487.47656 265.41 487.47656 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-w
 idth=".72000003"/><text transform="translate(262.75 491.47656)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="25.496094" y="9" textLength="26.507812">Server</tspan></text></g><g id="id8_Graphic"><path d="M 96.66 509.625 L 351.09 509.625 C 354.76822 509.625 357.75 512.60678 357.75 516.285 L 357.75 527.715 C 357.75 531.39322 354.76822 534.375 351.09 534.375 L 96.66 534.375 C 92.981783 534.375 90 531.39322 90 527.715 L 90 516.285 C 90 512.60678 92.981783 509.625 96.66 509.625 Z" fill="url(#Obj_Gradient_5)"/><path d="M 96.66 509.625 L 351.09 509.625 C 354.76822 509.625 357.75 512.60678 357.75 516.285 L 357.75 527.715 C 357.75 531.39322 354.76822 534.375 351.09 534.375 L 96.66 534.375 C 92.981783 534.375 90 531.39322 90 527.715 L 90 516.285 C 90 512.60678 92.981783 509.625 96.66 509.625 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id10_Graphic"><path d="M 327.45658 533.25 C 332.19378 
 527.625 328.82797 524.35506 327.3732 522.16773 C 325.91842 519.9804 326.37468 518.87567 327.34245 516.60427 C 328.31022 514.33287 329.7895 510.8948 327.45658 510.75 L 276.92629 510.75 C 276.9263 510.75 274.64362 514.04543 273.8425 516.89203 C 273.0414 519.73862 273.72186 522.13638 275.51606 523.82672 C 277.31027 525.51707 280.21821 526.5 276.92629 533.25 L 327.45658 533.25 Z" fill="url(#Obj_Gradient_6)"/><path d="M 327.45658 533.25 C 332.19378 527.625 328.82797 524.35506 327.3732 522.16773 C 325.91842 519.9804 326.37468 518.87567 327.34245 516.60427 C 328.31022 514.33287 329.7895 510.8948 327.45658 510.75 L 276.92629 510.75 C 276.9263 510.75 274.64362 514.04543 273.8425 516.89203 C 273.0414 519.73862 273.72186 522.13638 275.51606 523.82672 C 277.31027 525.51707 280.21821 526.5 276.92629 533.25 L 327.45658 533.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(277.50997 512)" fill="black"><tspan font-family="Helv
 etica" font-size="8" font-weight="500" fill="black" x="5.0701533" y="8" textLength="40.46875">Partitioned </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x=".4021846" y="18" textLength="47.58203">Session Data</tspan></text></g><g id="id11_Graphic"><path d="M 236.16 370.125 L 366.84 370.125 C 370.51822 370.125 373.5 373.10678 373.5 376.785 L 373.5 453.465 C 373.5 457.14322 370.51822 460.125 366.84 460.125 L 236.16 460.125 C 232.48178 460.125 229.5 457.14322 229.5 453.465 L 229.5 376.785 C 229.5 373.10678 232.48178 370.125 236.16 370.125 Z" fill="url(#Obj_Gradient_7)"/><path d="M 236.16 370.125 L 366.84 370.125 C 370.51822 370.125 373.5 373.10678 373.5 376.785 L 373.5 453.465 C 373.5 457.14322 370.51822 460.125 366.84 460.125 L 236.16 460.125 C 232.48178 460.125 229.5 457.14322 229.5 453.465 L 229.5 376.785 C 229.5 373.10678 232.48178 370.125 236.16 370.125 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/>
 <text transform="translate(233.5 374.125)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.1333008" y="10" textLength="121.7334">Application Server Instance</tspan></text></g><g id="id12_Graphic"><path d="M 267.66 394.10156 L 335.34 394.10156 C 339.01822 394.10156 342 397.08334 342 400.76156 L 342 439.965 C 342 443.64322 339.01822 446.625 335.34 446.625 L 267.66 446.625 C 263.98178 446.625 261 443.64322 261 439.965 L 261 400.76156 C 261 397.08334 263.98178 394.10156 267.66 394.10156 Z" fill="url(#Obj_Gradient_8)"/><path d="M 267.66 394.10156 L 335.34 394.10156 C 339.01822 394.10156 342 397.08334 342 400.76156 L 342 439.965 C 342 443.64322 339.01822 446.625 335.34 446.625 L 267.66 446.625 C 263.98178 446.625 261 443.64322 261 439.965 L 261 400.76156 C 261 397.08334 263.98178 394.10156 267.66 394.10156 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(265 398.10156)" fi
 ll="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="24.995117" y="9" textLength="23.009766">Client</tspan></text></g><path d="M 301.5 352.125 L 301.5 354.291 L 301.5 356.457 L 301.5 358.177" marker-end="url(#FilledArrow_Marker_3)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="319.5" y1="352.125" x2="319.5" y2="358.177" marker-end="url(#FilledArrow_Marker_3)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="283.5" y1="352.125" x2="283.5" y2="358.177" marker-end="url(#FilledArrow_Marker_3)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(233.5 342.625)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="32.648438" y="8" textLength="70.703125">app server requests</tspan></text><g id="id17_Graphic"><path d="M 281.16 411.36328 L 321.84 411
 .36328 C 325.51822 411.36328 328.5 414.34506 328.5 418.02328 L 328.5 425.34 C 328.5 429.01822 325.51822 432 321.84 432 L 281.16 432 C 277.48178 432 274.5 429.01822 274.5 425.34 L 274.5 418.02328 C 274.5 414.34506 277.48178 411.36328 281.16 411.36328 Z" fill="url(#Obj_Gradient_9)"/><path d="M 281.16 411.36328 L 321.84 411.36328 C 325.51822 411.36328 328.5 414.34506 328.5 418.02328 L 328.5 425.34 C 328.5 429.01822 325.51822 432 321.84 432 L 281.16 432 C 277.48178 432 274.5 429.01822 274.5 425.34 L 274.5 418.02328 C 274.5 414.34506 277.48178 411.36328 281.16 411.36328 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(278.5 416.68164)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x=".76367188" y="8" textLength="44.472656">Local Cache</tspan></text></g><path d="M 301.5 460.198 L 301.5 461.918 L 301.5 469.86328 L 301.5 477.80856 L 301.5 479.52856" marker-end="url(#FilledArrow_
 Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id19_Graphic"><path d="M 272.25 443.25 L 330.75 443.25 C 333.23528 443.25 335.25 445.26472 335.25 447.75 L 335.25 447.75 C 335.25 450.23528 333.23528 452.25 330.75 452.25 L 272.25 452.25 C 269.76472 452.25 267.75 450.23528 267.75 447.75 L 267.75 447.75 C 267.75 445.26472 269.76472 443.25 272.25 443.25 Z" fill="url(#Obj_Gradient_a)"/><path d="M 272.25 443.25 L 330.75 443.25 C 333.23528 443.25 335.25 445.26472 335.25 447.75 L 335.25 447.75 C 335.25 450.23528 333.23528 452.25 330.75 452.25 L 272.25 452.25 C 269.76472 452.25 267.75 450.23528 267.75 447.75 L 267.75 447.75 C 267.75 445.26472 269.76472 443.25 272.25 443.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(271.75 443.75)" fill="black"><tspan font-family="Helvetica" font-size="7" font-weight="500" fill="black" 
 x="5.2312012" y="6" textLength="49.037598">connection pool</tspan></text></g><line x1="301.5" y1="471.375" x2="301.5" y2="481.94356" marker-end="url(#SharpArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 285.75 460.198 L 285.75 468.6525 C 285.75 472.33072 282.76822 475.3125 279.09 475.3125 L 145.24803 475.3125 C 144.55876 475.3125 144 475.87126 144 476.56053 L 144 477.80856 L 144 479.52856" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="144" y1="559.052" x2="144" y2="547.948" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><g id="id23_Graphic"><path d="M 117 573.66 L 117 587.34 C 117 591.0182 119.98178 594 123.66 594 L 425.34 594 C 429.01822 59
 4 432 591.0182 432 587.34 L 432 456.66 C 432 452.98178 429.01822 450 425.34 450 L 411.66 450 C 407.98178 450 405 452.98178 405 456.66 L 405 560.34 C 405 564.0182 402.01822 567 398.34 567 L 123.66 567 C 119.98178 567 117 569.9818 117 573.66 Z" fill="url(#Obj_Gradient_b)"/><path d="M 117 573.66 L 117 587.34 C 117 591.0182 119.98178 594 123.66 594 L 425.34 594 C 429.01822 594 432 591.0182 432 587.34 L 432 456.66 C 432 452.98178 429.01822 450 425.34 450 L 411.66 450 C 407.98178 450 405 452.98178 405 456.66 L 405 560.34 C 405 564.0182 402.01822 567 398.34 567 L 123.66 567 C 119.98178 567 117 569.9818 117 573.66 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><text transform="translate(145.75 571)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="116.572754" y="10" textLength="33.354492">Locator</tspan></text><text transform="translate(155.10526 582.24816)" fill="black"><tspan font-family="Helveti
 ca" font-size="8" font-weight="500" fill="black" x="40.293172" y="8" textLength="167.203125">provides discovery and load balancing services</tspan></text><path d="M 397.052 473.625 L 326.16 473.625 C 322.48178 473.625 319.5 470.64322 319.5 466.965 L 319.5 460.198" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><g id="id27_Graphic"><path d="M 169.75341 533.25 C 174.49062 527.625 171.1248 524.35506 169.67003 522.16773 C 168.21525 519.9804 168.67152 518.87567 169.63929 516.60427 C 170.60706 514.33287 172.08633 510.8948 169.75341 510.75 L 119.223124 510.75 C 119.22313 510.75 116.94045 514.04543 116.13934 516.89203 C 115.33823 519.73862 116.01869 522.13638 117.812895 523.82672 C 119.6071 525.51707 122.51505 526.5 119.223124 533.25 L 169.75341 533.25 Z" fill="url(#Obj_Gradient_c)"/><path d="M 169.75341 533.25 C 174.49062 527.625 171.1248 524.355
 06 169.67003 522.16773 C 168.21525 519.9804 168.67152 518.87567 169.63929 516.60427 C 170.60706 514.33287 172.08633 510.8948 169.75341 510.75 L 119.223124 510.75 C 119.22313 510.75 116.94045 514.04543 116.13934 516.89203 C 115.33823 519.73862 116.01869 522.13638 117.812895 523.82672 C 119.6071 525.51707 122.51505 526.5 119.223124 533.25 L 169.75341 533.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(119.8068 512)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="5.0701533" y="8" textLength="40.46875">Partitioned </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x=".4021846" y="18" textLength="47.58203">Session Data</tspan></text></g></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/http_module_p2p_with_locator.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/http_module_p2p_with_locator.svg b/geode-docs/images_svg/http_module_p2p_with_locator.svg
new file mode 100644
index 0000000..3c7c0b4
--- /dev/null
+++ b/geode-docs/images_svg/http_module_p2p_with_locator.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="59 348 499 191" width="499pt" height="191pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 08:39Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e0e0e0" stop-opacity=".65"/><stop offset="1" stop-color="white" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(216 477) scale(127.358745)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underlin
 e-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_2" xl:href="#Gradient_2" gradientTransform="translate(184.5 463.5) scale(72.40399)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(378 477) sc
 ale(127.358745)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(346.5 463.5) scale(72.40399)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(540 477) scale(127.358745)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient_2" gradientTransform="translate(504 463.5) scale(66.84142)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -7 17 14" markerWidth="17" markerHeight="14" color="#252525"><g><path d="M 14.499999 0 L 0 -5.4374996 L 0 5.4374996 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-family="Helvetica" font-size="8" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradien
 t id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(517.5 459) scale(321.16189)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient_2" gradientTransform="translate(175.5 457.13672) scale(46.524938)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient_2" gradientTransform="translate(337.5 457.13672) scale(46.524938)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_2" gradientTransform="translate(499.5 457.13672) scale(46.524938)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M 8.9444437 0 L 0 -3.3541664 L 0 3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_3" viewBox="-10 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M -8.9444437 0 L 0 3.3541664 L 0 -3.3541664 Z" fi
 ll="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient cx="0" cy="0" r="1" id="Gradient_3" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_b" xl:href="#Gradient_3" gradientTransform="translate(443.46094 520.89258) scale(206.76304)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>p2p with locator</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id21_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id22_Graphic" filter="url(#Shad
 ow)"/><xl:use xl:href="#id23_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id24_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id28_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 78.66 387 L 209.34 387 C 213.01822 387 216 389.98178 216 393.66 L 216 470.34 C 216 474.01822 213.01822 477 209.34 477 L 78.66 477 C 74.981783 477 72 474.01822 72 470.34 L 72 393.66 C 72 389.98178 74.981783 387 78.66 387 Z" fill="url(#Obj_Gradient)"/><path d="M 78.66 387 L 209.34 387 C 213.01822 387 216 389.98178 216 393.66 L 216 470.34 C 216 474.01822 213.01822 477 209.34 477 L 78.66 477 C 74.981783 477 72 474.01822 72 470.34 L 72 393.66 C 72 389.98178 74.981783 387 78.66 387 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(76 391)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.1333008" y="10" textLength="121.7334">Application Server Instance</tspan></text></g><g
  id="id4_Graphic"><path d="M 110.16 410.97656 L 177.84 410.97656 C 181.51822 410.97656 184.5 413.95834 184.5 417.63656 L 184.5 456.84 C 184.5 460.51822 181.51822 463.5 177.84 463.5 L 110.16 463.5 C 106.481783 463.5 103.5 460.51822 103.5 456.84 L 103.5 417.63656 C 103.5 413.95834 106.481783 410.97656 110.16 410.97656 Z" fill="url(#Obj_Gradient_2)"/><path d="M 110.16 410.97656 L 177.84 410.97656 C 181.51822 410.97656 184.5 413.95834 184.5 417.63656 L 184.5 456.84 C 184.5 460.51822 181.51822 463.5 177.84 463.5 L 110.16 463.5 C 106.481783 463.5 103.5 460.51822 103.5 456.84 L 103.5 417.63656 C 103.5 413.95834 106.481783 410.97656 110.16 410.97656 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(107.5 414.97656)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="23.492188" y="9" textLength="26.015625">Cache</tspan></text></g><g id="id5_Graphic"><path d="M 240.66 387 L 371.34 38
 7 C 375.01822 387 378 389.98178 378 393.66 L 378 470.34 C 378 474.01822 375.01822 477 371.34 477 L 240.66 477 C 236.98178 477 234 474.01822 234 470.34 L 234 393.66 C 234 389.98178 236.98178 387 240.66 387 Z" fill="url(#Obj_Gradient_3)"/><path d="M 240.66 387 L 371.34 387 C 375.01822 387 378 389.98178 378 393.66 L 378 470.34 C 378 474.01822 375.01822 477 371.34 477 L 240.66 477 C 236.98178 477 234 474.01822 234 470.34 L 234 393.66 C 234 389.98178 236.98178 387 240.66 387 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(238 391)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.1333008" y="10" textLength="121.7334">Application Server Instance</tspan></text></g><g id="id6_Graphic"><path d="M 272.16 410.97656 L 339.84 410.97656 C 343.51822 410.97656 346.5 413.95834 346.5 417.63656 L 346.5 456.84 C 346.5 460.51822 343.51822 463.5 339.84 463.5 L 272.16 463.5 C 268.48178 463
 .5 265.5 460.51822 265.5 456.84 L 265.5 417.63656 C 265.5 413.95834 268.48178 410.97656 272.16 410.97656 Z" fill="url(#Obj_Gradient_4)"/><path d="M 272.16 410.97656 L 339.84 410.97656 C 343.51822 410.97656 346.5 413.95834 346.5 417.63656 L 346.5 456.84 C 346.5 460.51822 343.51822 463.5 339.84 463.5 L 272.16 463.5 C 268.48178 463.5 265.5 460.51822 265.5 456.84 L 265.5 417.63656 C 265.5 413.95834 268.48178 410.97656 272.16 410.97656 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(269.5 414.97656)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="23.492188" y="9" textLength="26.015625">Cache</tspan></text></g><g id="id7_Graphic"><path d="M 402.66 387 L 533.34 387 C 537.01822 387 540 389.98178 540 393.66 L 540 470.34 C 540 474.01822 537.01822 477 533.34 477 L 402.66 477 C 398.98178 477 396 474.01822 396 470.34 L 396 393.66 C 396 389.98178 398.98178 387 402.66 387 Z" fill="u
 rl(#Obj_Gradient_5)"/><path d="M 402.66 387 L 533.34 387 C 537.01822 387 540 389.98178 540 393.66 L 540 470.34 C 540 474.01822 537.01822 477 533.34 477 L 402.66 477 C 398.98178 477 396 474.01822 396 470.34 L 396 393.66 C 396 389.98178 398.98178 387 402.66 387 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(400 391)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.1333008" y="10" textLength="121.7334">Application Server Instance</tspan></text></g><g id="id8_Graphic"><path d="M 438.66 410.97656 L 497.34 410.97656 C 501.01822 410.97656 504 413.95834 504 417.63656 L 504 456.84 C 504 460.51822 501.01822 463.5 497.34 463.5 L 438.66 463.5 C 434.98178 463.5 432 460.51822 432 456.84 L 432 417.63656 C 432 413.95834 434.98178 410.97656 438.66 410.97656 Z" fill="url(#Obj_Gradient_6)"/><path d="M 438.66 410.97656 L 497.34 410.97656 C 501.01822 410.97656 504 413.95834 504 417.636
 56 L 504 456.84 C 504 460.51822 501.01822 463.5 497.34 463.5 L 438.66 463.5 C 434.98178 463.5 432 460.51822 432 456.84 L 432 417.63656 C 432 413.95834 434.98178 410.97656 438.66 410.97656 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(436 414.97656)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="18.992188" y="9" textLength="26.015625">Cache</tspan></text></g><line x1="144" y1="369" x2="144" y2="375.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 306 369 L 306 371.166 L 306 373.332 L 306 375.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 468 369 L 468 371.166 L 468 373.332 L 468 375.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejo
 in="round" stroke-width=".72000003"/><line x1="162" y1="369" x2="162" y2="375.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="324" y1="369" x2="324" y2="375.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="486" y1="369" x2="486" y2="375.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="126" y1="369" x2="126" y2="375.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="288" y1="369" x2="288" y2="375.052" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="450" y1="369" x2="450" y2="375.052" marker-end="url(#FilledArrow_Marker)" stroke
 ="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(76 357.25)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="32.648438" y="8" textLength="70.703125">app server requests</tspan></text><text transform="translate(238 359.5)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="32.648438" y="8" textLength="70.703125">app server requests</tspan></text><text transform="translate(400 359.5)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="32.648438" y="8" textLength="70.703125">app server requests</tspan></text><g id="id21_Graphic"><path d="M 96.66 434.25 L 510.84 434.25 C 514.51822 434.25 517.5 437.23178 517.5 440.91 L 517.5 452.34 C 517.5 456.01822 514.51822 459 510.84 459 L 96.66 459 C 92.981783 459 90 456.01822 90 452.34 L 90 440.91 C 90 437.23178 92.981783 434.25 96.66 434.25 Z" fill="url(#Obj_Gradi
 ent_7)"/><path d="M 96.66 434.25 L 510.84 434.25 C 514.51822 434.25 517.5 437.23178 517.5 440.91 L 517.5 452.34 C 517.5 456.01822 514.51822 459 510.84 459 L 96.66 459 C 92.981783 459 90 456.01822 90 452.34 L 90 440.91 C 90 437.23178 92.981783 434.25 96.66 434.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id22_Graphic"><path d="M 123.66 436.5 L 168.84 436.5 C 172.51822 436.5 175.5 439.48178 175.5 443.16 L 175.5 450.47672 C 175.5 454.15494 172.51822 457.13672 168.84 457.13672 L 123.66 457.13672 C 119.98178 457.13672 117 454.15494 117 450.47672 L 117 443.16 C 117 439.48178 119.98178 436.5 123.66 436.5 Z" fill="url(#Obj_Gradient_8)"/><path d="M 123.66 436.5 L 168.84 436.5 C 172.51822 436.5 175.5 439.48178 175.5 443.16 L 175.5 450.47672 C 175.5 454.15494 172.51822 457.13672 168.84 457.13672 L 123.66 457.13672 C 119.98178 457.13672 117 454.15494 117 450.47672 L 117 443.16 C 117 439.48178 119.98178 436.5 123.66 436.5 Z" stroke="#
 252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(121 436.81836)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="6.3496094" y="8" textLength="40.023438">Replicated </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="1.4589844" y="18" textLength="47.58203">Session Data</tspan></text></g><g id="id23_Graphic"><path d="M 285.66 436.5 L 330.84 436.5 C 334.51822 436.5 337.5 439.48178 337.5 443.16 L 337.5 450.47672 C 337.5 454.15494 334.51822 457.13672 330.84 457.13672 L 285.66 457.13672 C 281.98178 457.13672 279 454.15494 279 450.47672 L 279 443.16 C 279 439.48178 281.98178 436.5 285.66 436.5 Z" fill="url(#Obj_Gradient_9)"/><path d="M 285.66 436.5 L 330.84 436.5 C 334.51822 436.5 337.5 439.48178 337.5 443.16 L 337.5 450.47672 C 337.5 454.15494 334.51822 457.13672 330.84 457.13672 L 285.66 457.13672 C 281.98178 457.13672 279 454.15494 279 450.47672 L 279
  443.16 C 279 439.48178 281.98178 436.5 285.66 436.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(283 436.81836)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="6.3496094" y="8" textLength="40.023438">Replicated </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="1.4589844" y="18" textLength="47.58203">Session Data</tspan></text></g><g id="id24_Graphic"><path d="M 447.66 436.5 L 492.84 436.5 C 496.51822 436.5 499.5 439.48178 499.5 443.16 L 499.5 450.47672 C 499.5 454.15494 496.51822 457.13672 492.84 457.13672 L 447.66 457.13672 C 443.98178 457.13672 441 454.15494 441 450.47672 L 441 443.16 C 441 439.48178 443.98178 436.5 447.66 436.5 Z" fill="url(#Obj_Gradient_a)"/><path d="M 447.66 436.5 L 492.84 436.5 C 496.51822 436.5 499.5 439.48178 499.5 443.16 L 499.5 450.47672 C 499.5 454.15494 496.51822 457.13672 492.84 457.13672 L 447.66 
 457.13672 C 443.98178 457.13672 441 454.15494 441 450.47672 L 441 443.16 C 441 439.48178 443.98178 436.5 447.66 436.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(445 436.81836)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="6.3496094" y="8" textLength="40.023438">Replicated </tspan><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="1.4589844" y="18" textLength="47.58203">Session Data</tspan></text></g><line x1="306.15833" y1="487.4213" x2="306.0526" y2="471.44783" marker-end="url(#FilledArrow_Marker_2)" marker-start="url(#FilledArrow_Marker_3)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><path d="M 161.01294 508.13086 L 159.29294 508.13086 L 150.66 508.13086 C 146.98178 508.13086 144 505.14908 144 501.47086 C 144 501.47086 144 501.47086 144 501.47086 L 144 473.168 L 1
 44 471.448" marker-end="url(#FilledArrow_Marker_2)" marker-start="url(#FilledArrow_Marker_3)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><path d="M 451.40894 508.13086 L 453.12894 508.13086 L 461.34 508.13086 C 465.01822 508.13086 468 505.14908 468 501.47086 C 468 501.47086 468 501.47086 468 501.47086 L 468 473.168 L 468 471.448" marker-end="url(#FilledArrow_Marker_2)" marker-start="url(#FilledArrow_Marker_3)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><g id="id28_Graphic"><path d="M 175.62094 495.36914 L 436.80094 495.36914 C 440.47916 495.36914 443.46094 498.35092 443.46094 502.02914 L 443.46094 514.23258 C 443.46094 517.9108 440.47916 520.89258 436.80094 520.89258 L 175.62094 520.89258 C 171.94272 520.89258 168.96094 517.9108 168.96094 514.23258 L 168.96094 502.02914 C 168.96094 498.35092 171.94272 495.36914 175.62094 495.36914 Z" fill="url(#
 Obj_Gradient_b)"/><path d="M 175.62094 495.36914 L 436.80094 495.36914 C 440.47916 495.36914 443.46094 498.35092 443.46094 502.02914 L 443.46094 514.23258 C 443.46094 517.9108 440.47916 520.89258 436.80094 520.89258 L 175.62094 520.89258 C 171.94272 520.89258 168.96094 517.9108 168.96094 514.23258 L 168.96094 502.02914 C 168.96094 498.35092 171.94272 495.36914 175.62094 495.36914 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(172.96094 499.36914)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="116.572754" y="10" textLength="33.354492">Locator</tspan></text></g><text transform="translate(182.3162 510.6173)" fill="black"><tspan font-family="Helvetica" font-size="8" font-weight="500" fill="black" x="40.293172" y="8" textLength="167.203125">provides discovery and load balancing services</tspan></text></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/locator_discovery.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/locator_discovery.svg b/geode-docs/images_svg/locator_discovery.svg
new file mode 100644
index 0000000..53e9f3b
--- /dev/null
+++ b/geode-docs/images_svg/locator_discovery.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="81 317 450 160" width="450pt" height="160pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-06 22:26Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(225 382.5) scale(78.153857)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" under
 line-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(351 382.5) scale(78.153857)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M 8.9444437 0 L 0 -3.3541664 L 0 3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-10 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M -8.9444437 0 L 0 3.3541664 L 0 -3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-family="Helvetica" font-
 size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_2" gradientTransform="translate(279 439.52344) scale(70.161873)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(477 382.5) scale(78.153857)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient_2" gradientTransform="translate(423 439.52344) scale(70.161873)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(486 376.875) scale(270.63733)"/><radialGradient id="Obj_
 Gradient_7" xl:href="#Gradient" gradientTransform="translate(207 374.81836) scale(43.35671)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_8" xl:href="#Gradient" gradientTransform="translate(333 374.81836) scale(43.35671)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient" gradientTransform="translate(459 374.81836) scale(43.35671)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>locators</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filte
 r="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id13_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 141.66 329.97656 L 218.34 329.97656 C 222.01822 329.97656 225 332.95834 225 336.63656 L 225 375.84 C 225 379.51822 222.01822 382.5 218.34 382.5 L 141.66 382.5 C 137.98178 382.5 135 379.51822 135 375.84 L 135 336.63656 C 135 332.95834 137.98178 329.97656 141.66 329.97656 Z" fill="url(#Obj_Gradient)"/><path d="M 141.66 329.97656 L 218.34 329.97656 C 222.01822 329.97656 225 332.95834 225 336.63656 L 225 375.84 C 225 379.51822 222.01822 382.5 218.34 382.5 L 141.66 382.5 C 137.98178 382.5 135 379.51822 135 375.84 L 135 336.63656 C 135 332.95834 137.98178 329.97656 141.66 329.97656 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".7200
 0003"/><text transform="translate(139 333.97656)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="30.438477" y="10" textLength="21.123047">Peer</tspan></text></g><g id="id4_Graphic"><path d="M 267.66 329.97656 L 344.34 329.97656 C 348.01822 329.97656 351 332.95834 351 336.63656 L 351 375.84 C 351 379.51822 348.01822 382.5 344.34 382.5 L 267.66 382.5 C 263.98178 382.5 261 379.51822 261 375.84 L 261 336.63656 C 261 332.95834 263.98178 329.97656 267.66 329.97656 Z" fill="url(#Obj_Gradient_2)"/><path d="M 267.66 329.97656 L 344.34 329.97656 C 348.01822 329.97656 351 332.95834 351 336.63656 L 351 375.84 C 351 379.51822 348.01822 382.5 344.34 382.5 L 267.66 382.5 C 263.98178 382.5 261 379.51822 261 375.84 L 261 336.63656 C 261 332.95834 263.98178 329.97656 267.66 329.97656 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(265 333.97656)" fill="black"><tspan font-family="Helve
 tica" font-size="10" font-weight="500" fill="black" x="30.438477" y="10" textLength="21.123047">Peer</tspan></text></g><line x1="286.948" y1="426.76172" x2="325.052" y2="426.76172" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><text transform="translate(94 452)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="129.634766" y="11" textLength="164.73047">Peer Discovery Using Locators</tspan></text><g id="id7_Graphic"><path d="M 195.66 414 L 272.34 414 C 276.01822 414 279 416.98178 279 420.66 L 279 432.86344 C 279 436.54166 276.01822 439.52344 272.34 439.52344 L 195.66 439.52344 C 191.98178 439.52344 189 436.54166 189 432.86344 L 189 420.66 C 189 416.98178 191.98178 414 195.66 414 Z" fill="url(#Obj_Gradient_3)"/><path d="M 195.66 414 L 272.34 414 C 276.01822 414 279 416.98178 279 420.66 L 279 432.86
 344 C 279 436.54166 276.01822 439.52344 272.34 439.52344 L 195.66 439.52344 C 191.98178 439.52344 189 436.54166 189 432.86344 L 189 420.66 C 189 416.98178 191.98178 414 195.66 414 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(193 420.76172)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="22.933594" y="10" textLength="36.132812"> Locator</tspan></text></g><g id="id8_Graphic"><path d="M 393.66 329.97656 L 470.34 329.97656 C 474.01822 329.97656 477 332.95834 477 336.63656 L 477 375.84 C 477 379.51822 474.01822 382.5 470.34 382.5 L 393.66 382.5 C 389.98178 382.5 387 379.51822 387 375.84 L 387 336.63656 C 387 332.95834 389.98178 329.97656 393.66 329.97656 Z" fill="url(#Obj_Gradient_4)"/><path d="M 393.66 329.97656 L 470.34 329.97656 C 474.01822 329.97656 477 332.95834 477 336.63656 L 477 375.84 C 477 379.51822 474.01822 382.5 470.34 382.5 L 393.66 382.5 C 389.98178 382.
 5 387 379.51822 387 375.84 L 387 336.63656 C 387 332.95834 389.98178 329.97656 393.66 329.97656 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(391 333.97656)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="30.438477" y="10" textLength="21.123047">Peer</tspan></text></g><line x1="411.10582" y1="399.91181" x2="425.89418" y2="387.58819" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><g id="id10_Graphic"><path d="M 339.66 414 L 416.34 414 C 420.01822 414 423 416.98178 423 420.66 L 423 432.86344 C 423 436.54166 420.01822 439.52344 416.34 439.52344 L 339.66 439.52344 C 335.98178 439.52344 333 436.54166 333 432.86344 L 333 420.66 C 333 416.98178 335.98178 414 339.66 414 Z" fill="url(#Obj_Gradient_5)"/><path d="M 339.66 414 L 416.
 34 414 C 420.01822 414 423 416.98178 423 420.66 L 423 432.86344 C 423 436.54166 420.01822 439.52344 416.34 439.52344 L 339.66 439.52344 C 335.98178 439.52344 333 436.54166 333 432.86344 L 333 420.66 C 333 416.98178 335.98178 414 339.66 414 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(337 420.76172)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="24.322754" y="10" textLength="33.354492">Locator</tspan></text></g><g id="id11_Graphic"><path d="M 132.66 352.125 L 479.34 352.125 C 483.01822 352.125 486 355.10678 486 358.785 L 486 370.215 C 486 373.89322 483.01822 376.875 479.34 376.875 L 132.66 376.875 C 128.98178 376.875 126 373.89322 126 370.215 L 126 358.785 C 126 355.10678 128.98178 352.125 132.66 352.125 Z" fill="url(#Obj_Gradient_6)"/><path d="M 132.66 352.125 L 479.34 352.125 C 483.01822 352.125 486 355.10678 486 358.785 L 486 370.215 C 486 373.89322 483.01822 3
 76.875 479.34 376.875 L 132.66 376.875 C 128.98178 376.875 126 373.89322 126 370.215 L 126 358.785 C 126 355.10678 128.98178 352.125 132.66 352.125 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/></g><g id="id12_Graphic"><path d="M 159.66 354.18164 L 200.34 354.18164 C 204.01822 354.18164 207 357.16342 207 360.84164 L 207 368.15836 C 207 371.83658 204.01822 374.81836 200.34 374.81836 L 159.66 374.81836 C 155.98178 374.81836 153 371.83658 153 368.15836 L 153 360.84164 C 153 357.16342 155.98178 354.18164 159.66 354.18164 Z" fill="url(#Obj_Gradient_7)"/><path d="M 159.66 354.18164 L 200.34 354.18164 C 204.01822 354.18164 207 357.16342 207 360.84164 L 207 368.15836 C 207 371.83658 204.01822 374.81836 200.34 374.81836 L 159.66 374.81836 C 155.98178 374.81836 153 371.83658 153 368.15836 L 153 360.84164 C 153 357.16342 155.98178 354.18164 159.66 354.18164 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"
 /><text transform="translate(157 353.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.9921875" y="9" textLength="28.516113">Cache </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="13.494629" y="20" textLength="19.010742">Data</tspan></text></g><g id="id13_Graphic"><path d="M 285.66 354.18164 L 326.34 354.18164 C 330.01822 354.18164 333 357.16342 333 360.84164 L 333 368.15836 C 333 371.83658 330.01822 374.81836 326.34 374.81836 L 285.66 374.81836 C 281.98178 374.81836 279 371.83658 279 368.15836 L 279 360.84164 C 279 357.16342 281.98178 354.18164 285.66 354.18164 Z" fill="url(#Obj_Gradient_8)"/><path d="M 285.66 354.18164 L 326.34 354.18164 C 330.01822 354.18164 333 357.16342 333 360.84164 L 333 368.15836 C 333 371.83658 330.01822 374.81836 326.34 374.81836 L 285.66 374.81836 C 281.98178 374.81836 279 371.83658 279 368.15836 L 279 360.84164 C 279 357.16342 281.98178 354.18164 285.66 354.18164 Z" str
 oke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(283 353.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.9921875" y="9" textLength="28.516113">Cache </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="13.494629" y="20" textLength="19.010742">Data</tspan></text></g><g id="id14_Graphic"><path d="M 411.66 354.18164 L 452.34 354.18164 C 456.01822 354.18164 459 357.16342 459 360.84164 L 459 368.15836 C 459 371.83658 456.01822 374.81836 452.34 374.81836 L 411.66 374.81836 C 407.98178 374.81836 405 371.83658 405 368.15836 L 405 360.84164 C 405 357.16342 407.98178 354.18164 411.66 354.18164 Z" fill="url(#Obj_Gradient_9)"/><path d="M 411.66 354.18164 L 452.34 354.18164 C 456.01822 354.18164 459 357.16342 459 360.84164 L 459 368.15836 C 459 371.83658 456.01822 374.81836 452.34 374.81836 L 411.66 374.81836 C 407.98178 374.81836 405 371.83658 405 
 368.15836 L 405 360.84164 C 405 357.16342 407.98178 354.18164 411.66 354.18164 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(409 353.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="9.9921875" y="9" textLength="28.516113">Cache </tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="13.494629" y="20" textLength="19.010742">Data</tspan></text></g><line x1="200.89418" y1="399.91181" x2="186.10582" y2="387.58819" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8,5"/><line x1="306" y1="390.448" x2="306" y2="406.052" marker-end="url(#FilledArrow_Marker)" marker-start="url(#FilledArrow_Marker_2)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003" stroke-dasharray="8
 ,5"/></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/member_severe_alert.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/member_severe_alert.svg b/geode-docs/images_svg/member_severe_alert.svg
new file mode 100644
index 0000000..8614503
--- /dev/null
+++ b/geode-docs/images_svg/member_severe_alert.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="94 248 368 267" width="368pt" height="267pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 08:59Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".30000001" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse
 "><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(252 414) scale(90.560753)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(432 414) scale(90.560753)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -5 11 10" markerWidth="11" markerHeight="10" color="#252525"><g><path d="M 8.9444437 0 L 0 -3.3541664 L 0 3.3541664 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient cx="
 0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_3" xl:href="#Gradient_2" gradientTransform="translate(333 295.52344) scale(72.29575)"/><radialGradient id="Obj_Gradient_4" xl:href="#Gradient" gradientTransform="translate(195.75 497.25) scale(51.51714)"/><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(258.75 497.25) scale(51.51714)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(375.75 497.25) scale(51.51714)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient" gradientTransform="translate(438.75 497.25) scale(51.51714)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>member severe alert</title><g><title>Layer 1</title><g><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)
 "/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id16_Graphic" filter="url(#Shadow)"/></g><text transform="translate(256 390.75)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="6.157715" y="10" textLength="51.68457">1. CACHE_</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="2.9204102" y="22" textLength="35.009766">OPERA</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="37.19287" y="22" textLength="23.886719">TION</tspan></text><g id="id4_Graphic"><path d="M 150.66 360 L 245.34 360 C 249.01822 360 252 362.98178 252 366.66 L 252 407.34 C 252 411.01822 249.01822 414 245.34 414 L 150.66 414 C 146.98178 414 144 411.01822 144 407
 .34 L 144 366.66 C 144 362.98178 146.98178 360 150.66 360 Z" fill="url(#Obj_Gradient)"/><path d="M 150.66 360 L 245.34 360 C 249.01822 360 252 362.98178 252 366.66 L 252 407.34 C 252 411.01822 249.01822 414 245.34 414 L 150.66 414 C 146.98178 414 144 411.01822 144 407.34 L 144 366.66 C 144 362.98178 146.98178 360 150.66 360 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(148 373)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="13.317383" y="11" textLength="73.365234">Cache Server</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x=".96875" y="25" textLength="98.0625">Replicated Region</tspan></text></g><g id="id5_Graphic"><path d="M 330.66 360 L 425.34 360 C 429.01822 360 432 362.98178 432 366.66 L 432 407.34 C 432 411.01822 429.01822 414 425.34 414 L 330.66 414 C 326.98178 414 324 411.01822 324 407.34 L 324 366.66 C 324 362.98178 32
 6.98178 360 330.66 360 Z" fill="url(#Obj_Gradient_2)"/><path d="M 330.66 360 L 425.34 360 C 429.01822 360 432 362.98178 432 366.66 L 432 407.34 C 432 411.01822 429.01822 414 425.34 414 L 330.66 414 C 326.98178 414 324 411.01822 324 407.34 L 324 366.66 C 324 362.98178 326.98178 360 330.66 360 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(328 373)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="13.317383" y="11" textLength="73.365234">Cache Server</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x=".96875" y="25" textLength="98.0625">Replicated Region</tspan></text></g><line x1="325.95067" y1="361.95067" x2="430.04933" y2="412.04933" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.1600001"/><line x1="166.5" y1="461.25" x2="166.5" y2="421.948" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stro
 ke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><line x1="430.8086" y1="362.85867" x2="325.595" y2="411.6645" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.1600001"/><g id="id9_Graphic"><path d="M 249.66 261 L 326.34 261 C 330.01822 261 333 263.98178 333 267.66 L 333 288.86344 C 333 292.54166 330.01822 295.52344 326.34 295.52344 L 249.66 295.52344 C 245.98178 295.52344 243 292.54166 243 288.86344 L 243 267.66 C 243 263.98178 245.98178 261 249.66 261 Z" fill="url(#Obj_Gradient_3)"/><path d="M 249.66 261 L 326.34 261 C 330.01822 261 333 263.98178 333 267.66 L 333 288.86344 C 333 292.54166 330.01822 295.52344 326.34 295.52344 L 249.66 295.52344 C 245.98178 295.52344 243 292.54166 243 288.86344 L 243 267.66 C 243 263.98178 245.98178 261 249.66 261 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(247 272.26172)" fill="black"><tspan font-family="Helvetica" font-siz
 e="10" font-weight="500" fill="black" x="24.322754" y="10" textLength="33.354492">Locator</tspan></text></g><g id="id10_Graphic"><path d="M 143.91 461.25 L 189.09 461.25 C 192.76822 461.25 195.75 464.23178 195.75 467.91 L 195.75 490.59 C 195.75 494.26822 192.76822 497.25 189.09 497.25 L 143.91 497.25 C 140.23178 497.25 137.25 494.26822 137.25 490.59 L 137.25 467.91 C 137.25 464.23178 140.23178 461.25 143.91 461.25 Z" fill="url(#Obj_Gradient_4)"/><path d="M 143.91 461.25 L 189.09 461.25 C 192.76822 461.25 195.75 464.23178 195.75 467.91 L 195.75 490.59 C 195.75 494.26822 192.76822 497.25 189.09 497.25 L 143.91 497.25 C 140.23178 497.25 137.25 494.26822 137.25 490.59 L 137.25 467.91 C 137.25 464.23178 140.23178 461.25 143.91 461.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(141.25 473.25)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="12.466797" y="10" textLength=
 "25.566406">Client</tspan></text></g><line x1="229.5" y1="461.25" x2="229.5" y2="421.948" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id12_Graphic"><path d="M 206.91 461.25 L 252.09 461.25 C 255.76822 461.25 258.75 464.23178 258.75 467.91 L 258.75 490.59 C 258.75 494.26822 255.76822 497.25 252.09 497.25 L 206.91 497.25 C 203.23178 497.25 200.25 494.26822 200.25 490.59 L 200.25 467.91 C 200.25 464.23178 203.23178 461.25 206.91 461.25 Z" fill="url(#Obj_Gradient_5)"/><path d="M 206.91 461.25 L 252.09 461.25 C 255.76822 461.25 258.75 464.23178 258.75 467.91 L 258.75 490.59 C 258.75 494.26822 255.76822 497.25 252.09 497.25 L 206.91 497.25 C 203.23178 497.25 200.25 494.26822 200.25 490.59 L 200.25 467.91 C 200.25 464.23178 203.23178 461.25 206.91 461.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(204.25 473.25)" fill="black"
 ><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="12.466797" y="10" textLength="25.566406">Client</tspan></text></g><line x1="346.5" y1="461.25" x2="346.5" y2="421.948" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id14_Graphic"><path d="M 323.91 461.25 L 369.09 461.25 C 372.76822 461.25 375.75 464.23178 375.75 467.91 L 375.75 490.59 C 375.75 494.26822 372.76822 497.25 369.09 497.25 L 323.91 497.25 C 320.23178 497.25 317.25 494.26822 317.25 490.59 L 317.25 467.91 C 317.25 464.23178 320.23178 461.25 323.91 461.25 Z" fill="url(#Obj_Gradient_6)"/><path d="M 323.91 461.25 L 369.09 461.25 C 372.76822 461.25 375.75 464.23178 375.75 467.91 L 375.75 490.59 C 375.75 494.26822 372.76822 497.25 369.09 497.25 L 323.91 497.25 C 320.23178 497.25 317.25 494.26822 317.25 490.59 L 317.25 467.91 C 317.25 464.23178 320.23178 461.25 323.91 461.25 Z" stroke="#252525" stroke-linecap="ro
 und" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(321.25 473.25)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="12.466797" y="10" textLength="25.566406">Client</tspan></text></g><line x1="409.5" y1="461.25" x2="409.5" y2="421.948" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id16_Graphic"><path d="M 386.91 461.25 L 432.09 461.25 C 435.76822 461.25 438.75 464.23178 438.75 467.91 L 438.75 490.59 C 438.75 494.26822 435.76822 497.25 432.09 497.25 L 386.91 497.25 C 383.23178 497.25 380.25 494.26822 380.25 490.59 L 380.25 467.91 C 380.25 464.23178 383.23178 461.25 386.91 461.25 Z" fill="url(#Obj_Gradient_7)"/><path d="M 386.91 461.25 L 432.09 461.25 C 435.76822 461.25 438.75 464.23178 438.75 467.91 L 438.75 490.59 C 438.75 494.26822 435.76822 497.25 432.09 497.25 L 386.91 497.25 C 383.23178 497.25 380.25 494.26822 380.25 4
 90.59 L 380.25 467.91 C 380.25 464.23178 383.23178 461.25 386.91 461.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(384.25 473.25)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="12.466797" y="10" textLength="25.566406">Client</tspan></text></g><line x1="252" y1="387" x2="316.052" y2="387" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><path d="M 198 360 C 198 342 198 315 206.4375 301.5 C 213.05072 290.91885 224.84731 288.63109 235.05616 288.13645" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(208.75 315.75)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="0" y="10" textLength="58.34961">2. SUSPECT</tspan></text><path d="M 162 360 C
  162 337.5 162 303.75 177.1875 286.875 C 190.49288 272.09125 215.45475 270.25916 235.0532 270.03212" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(107.5 279)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="42.160156" y="10" textLength="11.118164">4. </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="9.928711" y="22" textLength="43.34961">SEVERE </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="18.444336" y="34" textLength="26.123047">ALER</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="44.391602" y="34" textLength="6.1083984">T</tspan></text><path d="M 378 360 C 378 339.56543 378 308.91357 377.88281 293.58765 C 377.77305 279.23306 377.56049 278.32328 340.94447 278.26562" marker-end="url(#FilledArrow_Marker)" stroke="#2
 52525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(384.25 306.75)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="0" y="10" textLength="16.674805">3. I </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="16.12793" y="10" textLength="17.77832">AM </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="33.359375" y="10" textLength="28.34961">ALIVE</tspan></text></g></g></svg>


[38/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/data_entries_custom_classes/managing_data_entries.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_entries_custom_classes/managing_data_entries.html.md.erb b/geode-docs/basic_config/data_entries_custom_classes/managing_data_entries.html.md.erb
new file mode 100644
index 0000000..d809635
--- /dev/null
+++ b/geode-docs/basic_config/data_entries_custom_classes/managing_data_entries.html.md.erb
@@ -0,0 +1,129 @@
+---
+title:  Managing Data Entries
+---
+
+Program your applications to create, modify, and manage your cached data entries.
+
+<a id="managing_data_entries__section_AACC36127F17411F86D1E409B86C6E5C"></a>
+**Note:**
+If you do not have the cache's `copy-on-read` attribute set to true, do not change the objects returned from the Java entry access methods. Instead, create a copy of the object, then modify the copy and pass it to the Java `put` method. Modifying a value in place bypasses the entire distribution framework provided by Geode, including cache listeners and expiration activities, and can produce undesired results.
+
+## <a id="managing_data_entries__section_B095A4073EFB4A3C91AF7C03632EEBFB" class="no-quick-link"></a>Basic Create and Update
+
+To create or update an entry in the cache, use `Region.put`. For example:
+
+``` pre
+String name = ... 
+String value = ...  
+this.currRegion.put(name,value); 
+```
+
+**Note:**
+You can also use the `gfsh put` command to add entries to a region, and the `get` command to retrieve entries from a region. See [get](../../tools_modules/gfsh/command-pages/get.html) and [put](../../tools_modules/gfsh/command-pages/put.html) for more information.
+
+If you want only to create the entry (with a null value and with method failure if the entry already exists), use `Region.create` instead.
+
+## <a id="managing_data_entries__section_7578349EA26A4621B732FE851D71A84F" class="no-quick-link"></a>Batch Operations (getAll, putAll, removeAll)
+
+Geode provides three APIs to perform batch operations on multiple region entries:
+
+-   `Region.getAll`
+-   `Region.putAll`
+-   `Region.removeAll`
+
+The `getAll` method takes a collection of keys and returns a `Map` of values for the provided keys. If a given key does not exist in the region, then that key's value in the returned map will be null.
+
+The `putAll` method takes a `Map` of key-value pairs and puts them into the cache and distributes them in a single operation.
+
+**Example:**
+
+``` pre
+void putAll(String command) throws CacheException 
+{ 
+// Get Entry keys and values into Strings key1, ... keyN and value1, ... valueN 
+  Map map = new LinkedHashMap(); 
+  map.put(key1, value1)); 
+  ...
+  map.put(keyN, valueN));
+  this.currRegion.putAll(map); 
+}
+```
+
+The updates to the cache are done individually in the order in which they were placed in the `Map`. For partitioned regions, multiple events are sent as a single message to the primary buckets and then distributed to the secondary buckets.
+
+**Note:**
+The processing of maps with very many entries and/or very large data may affect system performance and cause cache update timeouts, especially if the region uses overflow or persistence to disk.
+
+The `removeAll` method takes a collection of keys and removes all of the entries for the specified keys from this region. This call performs the equivalent of calling`destroy(Object)` on this region once for each key in the specified collection. If an entry does not exist, then that key is skipped. An `EntryNotFoundException` is not thrown. This operation will be distributed to other caches if the region's scope is not set to `Scope.LOCAL`.
+
+## <a id="managing_data_entries__section_A0E0F889AC344EFA8DF304FD64418809" class="no-quick-link"></a>Safe Entry Modification
+
+When you get an entry value from the cache, by default, the retrieval methods return a direct reference to the cached object. This provides the value as quickly as possible, but also opens the cache to direct, in-place changes.
+
+**Note:**
+Do not directly modify cached values. Modifying a value in place bypasses the Geode distribution framework, including cache writers and listeners, expiration activities, and transaction management, and can produce undesired results.
+
+Always change your entries using copies of the retrieved objects\u2014never directly modify the returned objects. You can do this in one of two ways:
+
+1.  Change the entry retrieval behavior for your cache by setting the cache attribute, `copy-on-read`, to true (the default is false).
+
+    ``` pre
+    <cache copy-on-read="true">
+     ...
+    </cache>
+    ```
+
+    When `copy-on-read` is true, the entry access methods return copies of the entries. This protects you from inadvertently modifying in-place, but negatively impacts performance and memory consumption when copying is not needed.
+
+    These entry access methods return an entry reference if `copy-on-read` is false and a copy of the entry if `copy-on-read` is true:
+
+    `Region.get`
+    result of `Region.put`
+    `EntryEvent.getNewValue`
+    `Region.values`
+    `Region.Entry.getValue`
+    `EntryEvent.getOldValue`
+    `Query.select`
+
+2.  Create a copy of the returned object and work with that. For objects that are cloneable or serializable, you can copy the entry value to a new object using `org.apache.geode.CopyHelper.copy`. Example:
+
+    ``` pre
+    Object o = (StringBuffer)region.get("stringBuf");
+    StringBuffer s = (StringBuffer) CopyHelper.copy(o);
+    s.append("Changes to value, added using put.");
+    region.put("stringBuf", s);
+    ```
+
+## <a id="managing_data_entries__section_78F6731642944DE594316B86ECB4E70F" class="no-quick-link"></a>Retrieving Region Entries from Proxy Members
+
+The `Region.values` method call applies to the local region instance only. If you call the `values` method from a client region using the PROXY shortcut, the method call will not be redirected to the server region. To obtain a collection of all values in the Region from a client, you should use interest registration on ALL\_KEYS, or use a query.
+
+If you use the `Region.get` method from a proxy member, the method call will redirect to the region on the server if it cannot find the key locally.
+
+## Using gfsh to get and put
+
+You can use the gfsh `get` and `put` commands to manage data. See [get](../../tools_modules/gfsh/command-pages/get.html) and [put](../../tools_modules/gfsh/command-pages/put.html).
+
+For example:
+
+``` pre
+get --key=('id':'133abg124') --region=region1
+
+// Retrieving when key type is a wrapper(primitive)/String
+get --key=('133abg124') --region=/region1/region12 --value-class=data.ProfileDetails
+
+get --key=('100L') --region=/region1/region12 --value-class=data.ProfileDetails 
+--key-class=java.lang.Long
+```
+
+``` pre
+put --key=('id':'133abg125') --value=('firstname':'James','lastname':'Gosling') 
+--region=/region1 --key-class=data.ProfileKey --value-class=data.ProfileDetails
+
+put --key=('133abg124') --value=('Hello World!!') --region=/region2
+
+put --key=('100F') --value=('2146547689879658564')  --region=/region1/region12 
+--key-class=java.lang.Float --value-class=java.lang.Long
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/data_entries_custom_classes/using_custom_classes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_entries_custom_classes/using_custom_classes.html.md.erb b/geode-docs/basic_config/data_entries_custom_classes/using_custom_classes.html.md.erb
new file mode 100644
index 0000000..0fe6171
--- /dev/null
+++ b/geode-docs/basic_config/data_entries_custom_classes/using_custom_classes.html.md.erb
@@ -0,0 +1,34 @@
+---
+title:  Requirements for Using Custom Classes in Data Caching
+---
+
+Follow these guidelines to use custom domain classes for your cached entry keys and values.
+
+## <a id="using_custom_classes__section_F098CAC546164094BE6872BF0C443A71" class="no-quick-link"></a>CLASSPATH
+
+Each member\u2019s `CLASSPATH` must include classes for all objects the member accesses.
+
+-   For Java applications, use the standard Java `CLASSPATH`.
+-   For the cache server process, use the `CLASSPATH` environment variable or the `gfsh                             start server`'s `--classpath` parameter. See [Running Geode Server Processes](../../configuring/running/running_the_cacheserver.html).
+
+Data is sent between clients and servers in serialized form and the server stores client data in serialized form. The server does not need to deserialize data to send it to another client or to access it through a `PDXInstance`, but it does need to deserialize it to access it in other ways. The server `CLASSPATH` must include the classes for:
+
+-   All entry keys
+-   Entry values in regions that the server persists to disk
+-   Entry values the server accesses for any reason other than access using a `PdxInstance` or transfer of the full entry value to a client
+
+For information on `PdxInstance`s, see [Data Serialization](../../developing/data_serialization/chapter_overview.html#data_serialization).
+
+## <a id="using_custom_classes__section_57EB5D02C06947B4BDE75A49286D581D" class="no-quick-link"></a>Data Serialization
+
+Geode serializes data entry keys and values for distribution, so all data that Geode moves out of the local cache for any reason must be serializable. Additionally, partitioned regions store data in serialized form. Almost every configuration requires serialization.
+
+For information on the requirements and options for data serialization, see [Data Serialization](../../developing/data_serialization/chapter_overview.html#data_serialization).
+
+## <a id="using_custom_classes__section_CE776B94EDCB4D269A71C3C9CFEDD5FD" class="no-quick-link"></a>Classes Used as Keys
+
+The region uses hashing on keys. If you define a custom class to use as a key, for the class, override:
+
+-   `equals`
+-   `hashCode`. The default `hashCode` inherited from `Object` uses identity, which is different in every system member. In partitioned regions, hashing based on identity puts data in the wrong place. For details, see the Java API documentation for `java.lang.Object`.
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/data_regions/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_regions/chapter_overview.html.md.erb b/geode-docs/basic_config/data_regions/chapter_overview.html.md.erb
new file mode 100644
index 0000000..3786906
--- /dev/null
+++ b/geode-docs/basic_config/data_regions/chapter_overview.html.md.erb
@@ -0,0 +1,48 @@
+---
+title:  Data Regions
+---
+
+The region is the core building block of the Apache Geode distributed system. All cached data is organized into data regions and you do all of your data puts, gets, and querying activities against them.
+
+-   **[Data Region Management](../../basic_config/data_regions/managing_data_regions.html)**
+
+    Apache Geode provides different APIs and XML configuration models to support configuration and management of your data regions.
+
+-   **[Creating a Region with gfsh](../../basic_config/data_regions/create_a_region_with_gfsh.html)**
+
+    A simple and fast way to create a data region in the Apache Geode cache is to use the `gfsh` command-line tool.
+
+-   **[Creating a Region Through the cache.xml File](../../basic_config/data_regions/create_a_region_with_cacheXML.html)**
+
+    A common way to create a data region in the Apache Geode cache is through `cache.xml` declarations.
+
+-   **[Creating a Region Through the API](../../basic_config/data_regions/create_a_region_with_API.html)**
+
+    You can use the Geode caching API to create regions in your cache after startup. For run-time region creation, you need to use the API.
+
+-   **[Region Naming](../../basic_config/data_regions/region_naming.html)**
+
+    To be able to perform all available operations on your data regions, 
+follow these region naming guidelines.
+
+-   **[Region Shortcuts and Custom Named Region Attributes](../../basic_config/data_regions/region_shortcuts.html)**
+
+    Geode provides region shortcut settings, with preset region configurations for the most common region types. For the easiest configuration, start with a shortcut setting and customize as needed. You can also store your own custom configurations in the cache for use by multiple regions.
+
+-   **[Storing and Retrieving Region Shortcuts and Custom Named Region Attributes](../../basic_config/data_regions/store_retrieve_region_shortcuts.html)**
+
+    Use these examples to get started with Geode region shortcuts.
+
+-   **[Managing Region Attributes](../../basic_config/data_regions/managing_region_attributes.html)**
+
+    Use region attributes to fine-tune the region configuration provided by the region shortcut settings.
+
+-   **[Creating Custom Attributes for Regions and Entries](../../basic_config/data_regions/creating_custom_attributes.html)**
+
+    Use custom attributes to store information related to your region or its entries in your cache. These attributes are only visible to the local application and are not distributed.
+
+-   **[Building a New Region with Existing Content](../../basic_config/data_regions/new_region_existing_data.html)**
+
+    A new region or distributed system may need to be loaded with the data of an existing system. There are two approaches to accomplish this task. The approach used depends upon the organization of both the new and the existing distributed system.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/data_regions/create_a_region_with_API.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_regions/create_a_region_with_API.html.md.erb b/geode-docs/basic_config/data_regions/create_a_region_with_API.html.md.erb
new file mode 100644
index 0000000..ba8e384
--- /dev/null
+++ b/geode-docs/basic_config/data_regions/create_a_region_with_API.html.md.erb
@@ -0,0 +1,63 @@
+---
+title:  Creating a Region Through the API
+---
+
+You can use the Geode caching API to create regions in your cache after startup. For run-time region creation, you need to use the API.
+
+Before you start, configure your `Cache` or `ClientCache` and determine the region shortcut and other attributes settings your region needs.
+
+Region creation is subject to attribute consistency checks, both internal to the cache and, if the region is not local, between all caches where the region is defined. The requirements for consistency between region attributes are detailed in the online Java API documentation.
+
+1.  
+
+    Use a region shortcut to create your region factory. 
+    -   
+
+        In peers and servers, use `org.apache.geode.cache.RegionFactory`.
+    -   
+
+        In clients, use `org.apache.geode.cache.client.ClientRegionFactory`.
+
+2.  
+
+    (Optional) Use the region factory to further configure your region. 
+3.  
+
+    Create your region from the configured region factory. 
+
+When you run your member with the region creation code, the region will be created in the cache.
+
+## Examples
+
+Creating a partitioned region using RegionFactory:
+
+``` pre
+RegionFactory rf =   
+    cache.createRegionFactory(RegionShortcut.PARTITION);
+rf.addCacheListener(new LoggingCacheListener());
+custRegion = rf.create("customer");
+```
+
+Creating a modified partitioned region using RegionFactory:
+
+``` pre
+PartitionAttributesFactory paf = new PartitionAttributesFactory<CustomerId, String>();
+paf.setPartitionResolver(new CustomerOrderResolver());
+
+RegionFactory rf = 
+    cache.createRegionFactory(RegionShortcut.PARTITION);
+rf.setPartitionAttributes(paf.create());
+rf.addCacheListener(new LoggingCacheListener());
+custRegion = rf.create("customer");
+```
+
+Creating a client region with a pool specification using ClientRegionFactory:
+
+``` pre
+ClientRegionFactory<String,String> cRegionFactory = 
+    cache.createClientRegionFactory(PROXY);
+Region<String, String> region = 
+    cRegionFactory.setPoolName("Pool3").create("DATA");
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/data_regions/create_a_region_with_cacheXML.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_regions/create_a_region_with_cacheXML.html.md.erb b/geode-docs/basic_config/data_regions/create_a_region_with_cacheXML.html.md.erb
new file mode 100644
index 0000000..2737c88
--- /dev/null
+++ b/geode-docs/basic_config/data_regions/create_a_region_with_cacheXML.html.md.erb
@@ -0,0 +1,68 @@
+---
+title:  Creating a Region Through the cache.xml File
+---
+
+A common way to create a data region in the Apache Geode cache is through `cache.xml` declarations.
+
+Before you start, configure your `<cache>` or `<client-cache>` in your `cache.xml` file and determine the region shortcut and other attributes settings your region needs. The `cache.xml` file must conform to the schema definition provided in the product's `cache-1.0.xsd`.
+
+Region creation is subject to attribute consistency checks, both internal to the cache and, if the region is not local, between all caches where the region is defined. The requirements for consistency between region attributes are detailed in the online Java API documentation.
+
+1.  
+
+    In your `cache.xml` file, create a `<region>` element for your new region as a subelement to the `<cache>` element or the `<client-cache>` element. 
+2.  
+
+    Define your region\u2019s name and a region attributes shortcut setting, if one applies. Find the shortcut setting that most closely fits your region configuration. 
+3.  
+
+    Add other attributes as needed to customize the region\u2019s behavior. 
+
+When you start your member with the `cache.xml` file, the region will be created.
+
+## Examples
+
+Partitioned Region Declaration
+
+``` pre
+<region name="myRegion" refid="PARTITION"/>
+```
+
+Partitioned Region Declaration with Backup to Disk
+
+``` pre
+<region name="myRegion" refid="PARTITION_PERSISTENT"/>
+```
+
+Partitioned Region Declaration with HA and Modified Storage Capacity in Host Member
+
+``` pre
+<region name="myRegion" refid="PARTITION_REDUNDANT">
+    <region-attributes>
+        <partition-attributes local-max-memory="512" />
+    </region-attributes>
+</region>
+```
+
+Replicated Region Declaration
+
+``` pre
+<region name="myRegion" refid="REPLICATE"/>
+```
+
+Replicated Region Declaration with Event Listener and Expiration
+
+``` pre
+<region name="myRegion" refid="REPLICATE">
+    <region-attributes statistics-enabled="true">
+        <entry-time-to-live>
+            <expiration-attributes timeout="60" action="destroy"/>
+        </entry-time-to-live>
+        <cache-listener>
+            <class-name>myPackage.MyCacheListener</class-name>
+        </cache-listener>
+    </region-attributes>
+</region>
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/data_regions/create_a_region_with_gfsh.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_regions/create_a_region_with_gfsh.html.md.erb b/geode-docs/basic_config/data_regions/create_a_region_with_gfsh.html.md.erb
new file mode 100644
index 0000000..c15c5fc
--- /dev/null
+++ b/geode-docs/basic_config/data_regions/create_a_region_with_gfsh.html.md.erb
@@ -0,0 +1,38 @@
+---
+title:  Creating a Region with gfsh
+---
+
+A simple and fast way to create a data region in the Apache Geode cache is to use the `gfsh` command-line tool.
+
+Before you start, configure your `Cache` or `ClientCache` and determine the region shortcut and other attributes settings your region needs.
+
+Region creation is subject to attribute consistency checks, both internal to the cache and, if the region is not local, between all caches where the region is defined. The requirements for consistency between region attributes are detailed in the online Java API documentation.
+
+1.  
+
+    Start a `gfsh` prompt. 
+2.  
+
+    Connect to a server that is currently acting as a JMX Manager node. 
+3.  
+
+    Enter the `create region` command providing any desired region attributes as arguments. 
+    For example:
+    ``` pre
+    gfsh>create region --name=region1 --type=REPLICATE
+    ```
+
+4.  
+
+    Add data into the region by using the [import data](../../tools_modules/gfsh/command-pages/import.html#topic_jw2_2ld_2l) command or [put](../../tools_modules/gfsh/command-pages/put.html) gfsh command. 
+5.  
+
+    After you modify data in the region you can use the [export data](../../tools_modules/gfsh/command-pages/export.html#topic_263B70069BFC4A7185F86B3272011734) command to generate a snapshot of the current region's data for later use. 
+6.  
+
+    Export the configuration files of your server so that you can save your region's configuration and recreate the region with the same attributes the next time you start up your cache server. See [export config](../../tools_modules/gfsh/command-pages/export.html#topic_C7C69306F93743459E65D46537F4A1EE) for details. 
+
+    **Note:**
+    The cluster configuration service, which is enabled by default, automatically saves the configuration on the locators in the distributed system. After you use the gfsh create region command, any new servers that you start that attach to the same locator receive the same configuration. You can also create alternate configurations within a distributed system by specifying a group when creating the region and starting servers. See [Overview of the Cluster Configuration Service](../../configuring/cluster_config/gfsh_persist.html).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/data_regions/creating_custom_attributes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_regions/creating_custom_attributes.html.md.erb b/geode-docs/basic_config/data_regions/creating_custom_attributes.html.md.erb
new file mode 100644
index 0000000..c234016
--- /dev/null
+++ b/geode-docs/basic_config/data_regions/creating_custom_attributes.html.md.erb
@@ -0,0 +1,47 @@
+---
+title:  Creating Custom Attributes for Regions and Entries
+---
+
+Use custom attributes to store information related to your region or its entries in your cache. These attributes are only visible to the local application and are not distributed.
+
+<a id="creating_custom_attributes__section_A8752F55C157480FAF435738D6244503"></a>
+You can define custom user attributes so you can associate data with the region or entry and retrieve it later. Unlike the other configuration settings, these attributes are used only by your application.
+
+**Note:**
+User attributes are not distributed.
+
+1.  Create a Java `Object` with your attribute definitions.
+2.  Attach the object to the region or to an entry:
+    -   `Region.setUserAttribute(userAttributeObject)`
+    -   `Region.getEntry(key).setUserAttribute(userAttributeObject)`
+
+3.  Get the attribute value:
+    -   `Region.getUserAttribute()`
+    -   `Region.getEntry(key).getUserAttribute()`
+
+This example stores attributes for later retrieval by a cache writer.
+
+``` pre
+// Attach a user attribute to a Region with database info for table portfolio
+Object myAttribute = "portfolio"; 
+final Region portfolios = 
+      new RegionFactory().setCacheWriter(new PortfolioDBWriter()).create("Portfolios"); 
+Portfolios.setUserAttribute(myAttribute);
+```
+
+``` pre
+//Implement a cache writer that reads the user attribute setting
+public class PortfolioDBWriter extends CacheWriterAdapter {
+  public void beforeCreate(RegionEvent event) {
+    table = (String)event.getRegion().getUserAttribute();
+    // update database table using name from attribute
+        . . .
+  }
+}
+```
+
+## <a id="creating_custom_attributes__section_A5CB456E4E96410584F8856EAFB5BB83" class="no-quick-link"></a>Limitations and Alternatives
+
+User attributes are not distributed to other processes, so if you need to define each attribute in every process that uses the region or entry. You need to update every instance of the region separately. User attributes are not stored to disk for region persistence or overflow, so they cannot be recovered to reinitialize the region.
+
+If your application requires features not supported by user attributes, an alternative is to create a separate region to hold this data instead. For instance, a region, AttributesRegion, defined by you, could use region names as keys and the user attributes as values. Changes to AttributesRegion would be distributed to other processes, and you could configure the region for persistence or overflow if needed.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/data_regions/managing_data_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_regions/managing_data_regions.html.md.erb b/geode-docs/basic_config/data_regions/managing_data_regions.html.md.erb
new file mode 100644
index 0000000..cd9427b
--- /dev/null
+++ b/geode-docs/basic_config/data_regions/managing_data_regions.html.md.erb
@@ -0,0 +1,205 @@
+---
+title:  Data Region Management
+---
+
+Apache Geode provides different APIs and XML configuration models to support configuration and management of your data regions.
+
+<a id="data_regions__section_18A9481217204613958897FE64105097"></a>
+You store your data in region entry key/value pairs, with keys and values being any object types your application needs.
+
+The `org.apache.geode.cache.Region` interface implements `java.util.Map`.
+
+Each region's attributes define how the data in the region is stored, distributed, and managed. Data regions can be distributed, partitioned among system members, or local to the member.
+
+You can create regions in the `cache.xml` file, by using the API, or with the gfsh command-line interface. You can use *region shortcuts* to configure commonly-used types of regions. For more information about region shortcuts, see [Region Shortcuts Reference](../../reference/topics/region_shortcuts_reference.html#reference_lt4_54c_lk).
+
+**Note:**
+If you change attributes that define a region, you must restart the member for the changes to take effect.
+
+## <a id="data_regions__section_028F2602395646818680C906F205526B" class="no-quick-link"></a>The Region APIs
+
+Geode's regions APIs provide specialized behavior for different system member types.
+
+-   **Peer/Server Region APIs**. Use these methods, interfaces, and classes for peer/server region creation. These are in the `org.apache.geode.cache` package. They correspond to declarations in the `<cache>` element for creating and configuring regions.
+    -   **`org.apache.geode.cache.Cache.createRegionFactory`** . This method takes a `RegionShortcut` `enum` to initiate region configuration, and returns a `RegionFactory`. Use `createRegionFactory()`, not "`new                                     RegionFactory`," to create a RegionFactory.
+    -   **`org.apache.geode.cache.RegionFactory`**. Provides methods to set individual region attributes and to create the region. The `create` call returns `Region`.
+    -   **`org.apache.geode.cache.RegionShortcut`**. Common region configurations can be retrieved through `Cache` `createRegionShortcut` and with the region attribute, `refid`.
+-   **Client Region APIs**. Use these methods, interfaces, and classes for client region creation. These are in the `org.apache.geode.cache.client` package. They correspond to declarations in the `<client-cache>` element for creating and configuring regions.
+
+    These are client versions of the Peer/Server Region APIs. These client APIs provide similar functionality, but are tailored to the needs and behaviors of client regions.
+
+    -   **`org.apache.geode.cache.clientCache.createRegionFactory`** . This method takes a `ClientRegionShortcut` `enum` to initiate region configuration, and returns a `ClientRegionFactory`.
+    -   **`org.apache.geode.cache.client.ClientRegionFactory`**. Provides methods to set individual region attributes and to create the region. The `create` call returns `Region`.
+    -   **`org.apache.geode.cache.client.ClientRegionShortcut`** . Common region configurations can be retrieved through `ClientCache` `createClientRegionFactory` and with the region attribute, `refid`.
+-   **Region APIs Used For All Member Types**. These interfaces and classes are used universally for region management. These are in the `org.apache.geode.cache` package. They correspond to declarations under the `<cache>` and `<client-cache>` elements for creating and configuring regions.
+    -   **`org.apache.geode.cache.Region`** . Interface for managing your regions and their entries.
+    -   **`org.apache.geode.cache.RegionAttributes`** . Object holding region configuration settings.
+    -   **`org.apache.geode.cache.createRegionFactory`**. Can be used to create `RegionAttributes` to pass to `RegionFactory` and `ClientRegionFactory`.
+
+## <a id="data_regions__section_9F898C23D2164ED5BB3789FD8B1F68C3" class="no-quick-link"></a>Create and Access Data Regions
+
+Before you start, have your cache configuration defined, along with any cache-wide configuration your region requires, like disk store configuration and client server pool configuration.
+
+1.  Determine the region attributes requirements and identify the region shortcut setting that most closely matches your needs. See [Region Shortcuts and Custom Named Region Attributes](region_shortcuts.html) and [Region Shortcuts](../../reference/topics/chapter_overview_regionshortcuts.html) for more information.
+2.  Define any region attributes that are not provided in the shortcut you chose.
+3.  Create a region using any of the following methods:
+    -   `gfsh`. After starting up servers, a JMX manager and connecting to the cluster, execute the following command:
+
+            gfsh>create region --name=Portfolios --type=REPLICATE
+    -   Declaration in the `cache.xml`:
+
+            <?xml version="1.0" encoding="UTF-8"?>
+            <cache
+                xmlns="http://geode.incubator.apache.org/schema/cache"
+                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                xsi:schemaLocation="http://geode.incubator.apache.org/schema/cache http://geode.incubator.apache.org/schema/cache/cache-1.0.xsd"
+                version="1.0"
+                lock-lease="120"
+                lock-timeout="60"
+                search-timeout="300">
+            <!-- Create a region named Portfolios -->
+              <region name="Portfolios" id="REPLICATE"/>
+            </cache>
+
+        When the `cache.xml` is loaded at cache creation, the system automatically creates any declared regions.
+    -   `RegionFactory` API calls:
+
+            Cache cache = CacheFactory.create();
+            RegionFactory rf = cache.createRegionFactory(REPLICATE);
+            Region pfloRegion = rf.create("Portfolios");
+
+Once you have created your regions, you can access them through the `Cache` and `Region` APIs as full region lists or individually.
+
+## <a id="data_regions__section_jn1_sry_5m" class="no-quick-link"></a>Create and Access Data Subregions
+
+An individual region can contain multiple subregions.
+Subregions are an older feature that will not be useful in new designs
+and applications.
+They are used to create a hierarchical namespace within a cache,
+providing naming that feels like paths in a file system.
+Here are limitations on the use of subregions:
+
+-   A region with LOCAL scope can only have subregions with LOCAL scope.
+-   Partitioned region types may not be used with subregions. A subregion may not have a parent that is a partitioned region, and a subregion may not be of type PARTITION.
+-   A subregion must have the same scope (GLOBAL, DISTRIBUTED\_ACK, DISTRIBUTED\_NO\_ACK) as its parent region.
+-   Subregion names must be unique within the cache.
+
+You can create subregions using one of the following methods:
+
+-   Declaration in the `cache.xml`:
+
+        <?xml version="1.0"?>
+        <cache
+            xmlns="http://geode.incubator.apache.org/schema/cache"
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:schemaLocation="http://geode.incubator.apache.org/schema/cache http://geode.incubator.apache.org/schema/cache/cache-1.0.xsd"
+            version="1.0"
+            lock-lease="120"
+            lock-timeout="60"
+            search-timeout="300">
+        <!-- Create a region named Portfolios -->
+          <region name="Portfolios" id="REPLICATE">
+              <region name="Private" id="REPLICATE">
+              ...
+              </region>
+          </region>
+        </cache>
+
+    When the `cache.xml` is loaded at cache creation, the system automatically creates any declared regions and subregions.
+
+-   `RegionFactory` API calls:
+
+        Cache cache = CacheFactory.create();
+        RegionFactory rf = cache.createRegionFactory(REPLICATE);
+        Region pfloRegion = rf.create("Portfolios");
+        Region pvtSubregion = rf.createSubregion(pfloRegion, "Private");
+
+`Region` method calls with a `recursive` parameter operate on the given
+region(s) and then recursively on all contained subregions. 
+
+## <a id="data_regions__section_7AD53DCC71064883BFA9C53E6040D85A" class="no-quick-link"></a>Update Data Regions
+
+Update your region properties and contents through `alter region` command, the API or from `cache.xml` file declarations.
+
+-   Execute the [alter region](../../tools_modules/gfsh/command-pages/alter.html#topic_E74ED23CB60342538B2175C326E7D758) command.
+-   In the API, use `Cache` and `Region` methods to change configuration parameters and modify region structure and data.
+-   Load new XML declarations using the `Cache.loadCacheXml` method. Where possible, declarations in the new `cache.xml` file supersede existing definitions. For example, if a region declared in the `cache.xml` file already exists in the cache, its mutable attributes are modified according to the file declarations. Immutable attributes are not affected. If a region does not already exist, it is created. Entries and indexes are created or updated according to the state of the cache and the file declarations.
+
+## <a id="data_regions__section_953E19F03F4541BAA3AE58118E7EA7E4" class="no-quick-link"></a>Invalidate a Region
+
+An invalidate region operation removes all entry values for a region, while leaving the entry keys intact. This operation can be invoked only through the API on a `Region` instance. Event notification occurs.
+
+``` pre
+// Invalidate the entire distributed region 
+Region.invalidateRegion(); 
+```
+
+The API also offers a method to invalidate only the entries within the local cache. This method may not be used on a replicated region, as doing so would invalidate the replication contract.
+
+``` pre
+// Invalidate the region within this member
+Region.localInvalidateRegion(); 
+```
+
+## Clear a Region
+
+A clear region operation removes all entries from a region. This operation is not available for partitioned regions. This operation can be invoked through the API on a `Region` instance:
+
+``` pre
+// Remove all entries for the region
+Region.clear(); 
+```
+
+It can be invoked with the `gfsh` command:
+
+``` pre
+gfsh>remove --region=Region1 --all 
+```
+
+Event notification occurs for a clear region operation.
+
+## Destroy a Region
+
+A destroy region operation removes the entire region. This operation can be invoked through the API on a `Region` instance:
+
+``` pre
+// Remove the entire region
+Region.destroyRegion();
+```
+
+A destroy region operation can be invoked with the `gfsh` command:
+
+``` pre
+gfsh>destroy region --name=Region1
+```
+
+Event notification occurs for a destroy region operation.
+
+A region can be destroyed by removing the region's specification from the `cache.xml` file.
+
+Destroying the region by an API invocation or by using the `gfsh                     destroy` command while all members are online is the best way to remove a region, as Geode handles all aspects of the removal, including removing the region's persistent disk stores across the online members hosting the region. Destroying the region by removing its specification from the `cache.xml` file does not remove the region's existing persistent disk stores.
+
+The destroy operation can be propagated only to online members. The system will encounter restart issues if a region is destroyed while some members are online and others are offline. As those members that were offline restart, they will block indefinitely, waiting for persistent region data that no longer exists. To fix this issue, shut down all members that are blocked waiting for the removed region. Once those members are in the offline state, use the `gfsh alter                     disk-store` command with the `--remove` option on each offline member to remove the region. Then, restart each member.
+
+An edge case results in issues when destroying a persistent region (R-removed) by removing its specification from the `cache.xml` file, and region R-removed was colocated with another persistent region (R-remains). The issue occurs because the persistent information contained within R-remains is inconsistent with the (lack of) specification of R-removed. Upon restart of R-remains, its persisted metadata refers to R-removed as a colocated region, and the startup of R-remains is dependent on that removed region. Thus, the startup of R-remains blocks, unable to complete. The issue may manifest with operations on the R-remains region such as a query, put, or get, that never finishes. To fix this issue, shut down all members with the persisted metadata that refers to the removed region. Once those members are in the offline state, use the `gfsh alter disk-store` command with the `--remove` option on each offline member to remove the region. Then, restart each member.
+
+## <a id="data_regions__section_3C0A7E088FDB413297ED8C0CD606968D" class="no-quick-link"></a>Close a Region
+
+Use this to stop local caching of persistent and partitioned regions without closing the entire cache:
+
+``` pre
+Region.close();
+```
+
+The `Region.close` operation works like the `Region.localDestroyRegion` operation with these significant differences:
+
+-   The `close` method is called for every callback installed on the region.
+-   No events are invoked. Of particular note, the entry events, `beforeDestroy` and `afterDestroy`, and the region events, `beforeRegionDestroy` and `afterRegionDestroy`, are not invoked. See [Events and Event Handling](../../developing/events/chapter_overview.html#implementing_event_handlers).
+-   If persistent, the region is removed from memory but its disk files are retained.
+-   If partitioned, the region is removed from the local cache. If the partitioned region is redundant, local data caching fails over to another cache. Otherwise, local data is lost.
+
+## Using gfsh to Manage Regions
+
+You can also use gfsh commands to manage regions. There are commands to create, alter, describe, destroy, rebalance, and list the regions in your distributed system. By default, the cluster configuration service saves the cluster configuration as you execute gfsh commands. When you add new servers to the cluster, the servers receive this cluster-wide configuration and create the specified regions. You can also define *groups* that apply only to some of the servers in the cluster. Servers you start that specify a group also receive the group configuration from the cluster configuration service. See [Overview of the Cluster Configuration Service](../../configuring/cluster_config/gfsh_persist.html).
+
+See [Creating a Region with gfsh](create_a_region_with_gfsh.html#task_75639BFA7847461D9E006E91B728BB44) and the [create](../../tools_modules/gfsh/command-pages/create.html) command reference page.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/data_regions/managing_region_attributes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_regions/managing_region_attributes.html.md.erb b/geode-docs/basic_config/data_regions/managing_region_attributes.html.md.erb
new file mode 100644
index 0000000..541c8dd
--- /dev/null
+++ b/geode-docs/basic_config/data_regions/managing_region_attributes.html.md.erb
@@ -0,0 +1,96 @@
+---
+title:  Managing Region Attributes
+---
+
+Use region attributes to fine-tune the region configuration provided by the region shortcut settings.
+
+<a id="managing_region_attributes__section_B6363B281A994141B9B9BDD952173330"></a>
+All region attributes have default settings, so you only need to use region attributes to set the ones you want to override. See [&lt;region-attributes&gt;](../../reference/topics/cache_xml.html#region-attributes).
+
+## <a id="managing_region_attributes__section_DDBF2810ABB54A55B1479AD786ED48DF" class="no-quick-link"></a>Define Region Attributes
+
+Create region attributes using any of these methods:
+
+-   Declarations inside the `cache.xml` `<region>` element:
+
+    ``` pre
+    <cache>
+       <region name="exampleRegion" refid="REPLICATE">
+          <region-attributes statistics-enabled="true">
+            <entry-idle-time>
+              <expiration-attributes timeout="10" action="destroy"/>
+            </entry-idle-time>
+            <cache-listener>
+              <class-name>quickstart.SimpleCacheListener</class-name>
+            </cache-listener>
+          </region-attributes>
+        </region>
+    </cache>
+    ```
+
+    When the `cache.xml` is loaded at startup, declared region attributes are automatically created and applied to the region.
+
+-   `RegionFactory` API `set`\* method calls:
+
+    ``` pre
+    // Creating a partitioned region using the RegionFactory
+    RegionFactory rf = cache.createRegionFactory(RegionShortcut.PARTITION);
+    rf.addCacheListener(new LoggingCacheListener());
+    custRegion = rf.create("customer");
+    ```
+
+    ``` pre
+    // Creating a partitioned region using the RegionFactory, with attribute modifications
+    RegionFactory rf = 
+      cache.createRegionFactory(RegionShortcut.PARTITION);
+    rf.setPartitionResolver(new CustomerOrderResolver());
+    rf.addCacheListener(new LoggingCacheListener());
+    custRegion = rf.create("customer");
+    ```
+
+    ``` pre
+    // Creating a client with a Pool Specification Using ClientRegionFactory
+    ClientRegionFactory<String,String> cRegionFactory = 
+        cache.createClientRegionFactory(PROXY);
+    Region<String, String> region = 
+        cRegionFactory.setPoolName("Pool3").create("DATA");
+    ```
+
+-   By issuing the gfsh `create region` command.
+
+## <a id="managing_region_attributes__section_F69A7664F72D47BBA463D81B72C03B4D" class="no-quick-link"></a>Modify Region Attributes
+
+You can modify a region\u2019s event handlers and expiration and eviction attributes after the region is created.
+
+**Note:**
+Do not modify attributes for existing regions unless absolutely necessary. Creating the attributes you need at region creation is more efficient.
+
+Modify attributes in one of these ways:
+
+-   By loading a `cache.xml` with modified region attribute specifications:
+
+    ``` pre
+    <!-- Change the listener for exampleRegion
+    ...
+        <region name="exampleRegion">
+          <region-attributes statistics-enabled="true">
+            <cache-listener>
+              <class-name>quickstart.ComplicatedCacheListener</class-name>
+            </cache-listener>
+          </region-attributes>
+        </region>
+    ... 
+    ```
+
+-   Using the `AttributesMutator` API:
+    1.  Retrieve the `AttributesMutator` from the region
+    2.  Call the mutator set methods to modify attributes:
+
+    ``` pre
+    currRegion = cache.getRegion("root");
+    AttributesMutator mutator = this.currRegion.getAttributesMutator();
+    mutator.addCacheListener(new LoggingCacheListener()); 
+    ```
+
+-   By issuing the gfsh `alter region` command. See [alter region](../../tools_modules/gfsh/command-pages/alter.html#topic_E74ED23CB60342538B2175C326E7D758).
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/data_regions/new_region_existing_data.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_regions/new_region_existing_data.html.md.erb b/geode-docs/basic_config/data_regions/new_region_existing_data.html.md.erb
new file mode 100644
index 0000000..ad17ebd
--- /dev/null
+++ b/geode-docs/basic_config/data_regions/new_region_existing_data.html.md.erb
@@ -0,0 +1,11 @@
+---
+title:  Building a New Region with Existing Content
+---
+
+A new region or distributed system may need to be loaded with the data of an existing system. There are two approaches to accomplish this task. The approach used depends upon the organization of both the new and the existing distributed system.
+
+If both the number and the type of members is the same in both the new and the existing distributed system, then the simplest option is to use backup and restore on the persistent disk store contents. Make a full online backup of the persistent data in the disk store of the existing distributed system. Copy the files that comprise the backup to the new distributed system location. A restore instills the data into the new distributed system. See [Creating Backups for System Recovery and Operational Management](../../managing/disk_storage/backup_restore_disk_store.html) for details on how to make a backup and use the backup to restore a disk store.
+
+Take a different approach when the number or the type of members is *not* the same in both the new and the existing distributed system. This approach uses export and import of region data. Export the region data of the existing distributed system to create a snapshot. Copy the snapshot to the new distributed system location. Import the snapshot into the new distributed system. See appropriate sections within [Cache and Region Snapshots](../../managing/cache_snapshots/chapter_overview.html) for details on making and using a snapshot.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/data_regions/region_naming.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_regions/region_naming.html.md.erb b/geode-docs/basic_config/data_regions/region_naming.html.md.erb
new file mode 100644
index 0000000..021079d
--- /dev/null
+++ b/geode-docs/basic_config/data_regions/region_naming.html.md.erb
@@ -0,0 +1,14 @@
+---
+title:  Region Naming
+---
+
+To be able to perform all available operations on your data regions,
+follow these region naming guidelines.
+
+-   Permitted characters within region names are alphanumeric characters
+(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789`),
+the underscore character (`_`), and the hyphen character (`-`).
+-   Do not use the slash character (`/`).
+-   Do not begin region names with two underscore characters (`__`),
+as this is reserved for internal use.
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/data_regions/region_shortcuts.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_regions/region_shortcuts.html.md.erb b/geode-docs/basic_config/data_regions/region_shortcuts.html.md.erb
new file mode 100644
index 0000000..270987b
--- /dev/null
+++ b/geode-docs/basic_config/data_regions/region_shortcuts.html.md.erb
@@ -0,0 +1,98 @@
+---
+title:  Region Shortcuts and Custom Named Region Attributes
+---
+
+Geode provides region shortcut settings, with preset region configurations for the most common region types. For the easiest configuration, start with a shortcut setting and customize as needed. You can also store your own custom configurations in the cache for use by multiple regions.
+
+<a id="region_shortcuts__section_D9E58754D2B0435FA2986DBBF3063D4C"></a>
+You configure automated management of data regions and their entries through region shortcuts and region attributes. These region configuration settings determine such things as where the data resides, how the region is managed in memory, reliability behavior, and the automatic loading, distribution, and expiration of data entries.
+
+**Note:**
+Whenever possible, use region shortcuts to configure your region, and further customize behavior using region attributes. The shortcut settings are preset with the most common region configurations.
+
+Geode provides a number of predefined, shortcut region attributes settings for your use. You can also define your own 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 region shortcuts and custom named attributes by providing the ID to the region creation, in the `refid` attribute setting. This example uses the shortcut REPLICATE attributes to create a region:
+
+``` pre
+<region name="testREP" refid="REPLICATE"/>
+```
+
+You can create your own named attributes as needed, by providing an `id` in your region attributes declaration. The following region declaration:
+
+1.  Retrieves all of the attribute settings provided by the persistent partitioned region shortcut
+2.  Modifies the shortcut attribute settings by specifying a disk store name to use for persistence
+3.  Assigns the new attribute settings to the new region named `testPR`
+4.  Stores the attribute settings in a new custom attributes named `testPRPersist`:
+
+    ``` pre
+    <disk-store name="testDiskStore" >
+        <disk-dirs>
+            <disk-dir>PRPersist1</disk-dir>
+            <disk-dir>PRPersist2</disk-dir>
+        </disk-dirs>
+    </disk-store>
+    <region name="testPR" >
+        <region-attributes id="testPRPersist"
+            refid="PARTITION_PERSISTENT" disk-store-name="testDiskStore"/>
+    </region>
+    ```
+
+## <a id="region_shortcuts__section_20548383511141B19EBC053E36877B1A" class="no-quick-link"></a>Shortcut Attribute Options
+
+You can select the most common region attributes settings from Geode\u2019s predefined named region attributes in these classes:
+
+-   **`org.apache.geode.cache.RegionShortcut`**. For peers and servers.
+-   **`org.apache.geode.cache.client.ClientRegionShortcut`**. For clients.
+
+Shortcut attributes are a convenience only. They are just named attributes that Geode has already stored for you. You can override their settings by storing new attributes with the same id as the predefined attributes.
+
+For a full list of all available region shortcuts, see [Region Shortcuts Quick Reference](../../reference/topics/region_shortcuts_table.html#reference_ufj_5kz_4k).
+
+The `org.apache.geode.cache.RegionShortcut` Javadocs give complete listings of the options.
+
+## <a id="region_shortcuts__section_D0975C76572E41F79C1A6EE7CF371251" class="no-quick-link"></a>RegionShortcuts for Peers and Servers
+
+These are the primary options available in the region shortcut settings. The names listed appear in the shortcut identifier alone or in combination, like "`PARTITION`" in `PARTITION`, `PARTITION_PROXY`, and `PARTITION_REDUNDANT`.
+
+**Cache Data Storage Mode**
+
+-   **`PARTITION`** . Creates a partitioned region. This is a data store for the region. You can also specify these options with `PARTITION`:
+    -   **`PROXY`**. Data is not stored in the local cache and the member is a data accessor to the region. This requires other members to create non-proxy copies of the region, so the data is stored somewhere.
+    -   **`REDUNDANT`**. The region stores a secondary copy of all data, for high availability.
+-   **`REPLICATE`**. Creates a replicated region. This is a data store for the region. You can also specify these options with `REPLICATE`:
+    -   **`PROXY`**. Data is not stored in the local cache and the member is a data accessor to the region. This requires other members to create non-proxy copies of the region, so the data is stored somewhere.
+-   **`LOCAL`**. Creates a region private to the defining member.
+
+**Data Eviction**
+
+-   **`HEAP_LRU`**. Causes least recently used data to be evicted from memory when the Geode resource manager determines that the cache has reached configured storage limits.
+
+**Disk Storage**
+
+You can specify these alone or in combination:
+
+-   **`PERSISTENT`**. Backs up all data to disk, in addition to storing it in memory.
+-   **`OVERFLOW`**. Moves data out of memory and on to disk, when memory use becomes too high.
+
+## <a id="region_shortcuts__section_BD136ACEB8274B17ACFB9A5954D116E4" class="no-quick-link"></a>ClientRegionShortcuts for Clients
+
+These are the primary options available in the client region shortcut settings. The names listed appear in the shortcut identifier alone or in combination, like "`PROXY`" in `PROXY` and `CACHING_PROXY`.
+
+**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. The client is a data accessor to the region.
+-   **`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. Note that this is not the same as setting the region's `scope` attribute to `LOCAL`.
+
+**Data Eviction**
+
+-   **`HEAP_LRU`**. Causes least recently used data to be evicted from memory when the Geode resource manager determines that the cache has reached configured storage limits.
+
+**Disk Storage**
+
+With the LOCAL and CACHING data storage shortcut options, you can also specify these disk storage options, alone or in combination:
+
+-   **`PERSISTENT`**. Backs up all data to disk, in addition to storing it in memory.
+-   **`OVERFLOW`**. Moves data out of memory and on to disk, when memory use becomes too high.
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/data_regions/store_retrieve_region_shortcuts.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/data_regions/store_retrieve_region_shortcuts.html.md.erb b/geode-docs/basic_config/data_regions/store_retrieve_region_shortcuts.html.md.erb
new file mode 100644
index 0000000..9d39bd5
--- /dev/null
+++ b/geode-docs/basic_config/data_regions/store_retrieve_region_shortcuts.html.md.erb
@@ -0,0 +1,60 @@
+---
+title:  Storing and Retrieving Region Shortcuts and Custom Named Region Attributes
+---
+
+Use these examples to get started with Geode region shortcuts.
+
+<a id="region_shortcuts__section_D9E58754D2B0435FA2986DBBF3063D4C"></a>
+Geode region shortcuts, in `org.apache.geode.cache.RegionShortcut` for peers and servers and `org.apache.geode.cache.client.ClientRegionShortcut` for clients, are available wherever you create a region in the `cache.xml` or through the API. Custom named attributes, stored by you, are available from the moment you store them on.
+
+The region shortcuts are special Geode named region attributes, with identifying names. Create custom named region attributes by setting the attributes and storing them with a unique identifier in the region attribute `id`. Retrieve named attributes by providing the shortcut enum value or the name you assigned in the `id` to the region creation:
+
+-   In the API, use the identifier in the region factory creation
+-   In the `cache.xml`, use the identifier in the `<region>` or `<region-attribute>` `refid` setting. The `refid` is available in both elements for convenience
+
+## <a id="region_shortcuts__section_8FCBCC4BDCDE4A85A27E5B9B70603F63" class="no-quick-link"></a>Examples
+
+**Example \#1**
+
+This example shows partitioned region creation in the `cache.xml`:
+
+-   The first `region-attributes` declaration starts with the predefined `PARTITION_REDUNDANT` attributes, modifies the `local-max-memory` setting, and stores the resulting attributes in the custom-named `myPartition` attributes.
+-   The region declarations use the new stored attributes, but each has its own interest policy, which is specified in the individual region creation.
+
+    ``` pre
+    <!-- Retrieving and storing attributes -->
+    <region-attributes id="myPartition" refid="PARTITION_REDUNDANT">
+        <partition-attributes local-max-memory="512"/>
+    </region-attributes>
+
+    <!-- Two partitioned regions, one colocated with the other -->
+
+    <!-- Attributes are retrieved and applied in the first region -->
+    <region name="PartitionedRegion1" refid="myPartition"/>
+
+    <!-- Same stored attributes, modification for this region-->
+    <region name="PartitionedRegion2" refid="myPartition">
+        <region-attributes>
+            <partition-attributes colocated-with="PartitionedRegion1" />
+        </region-attributes>
+    </region>
+    ```
+
+**Example \#2**
+
+This example uses the `RegionFactory` API to create a region based on the predefined `PARTITION` region shortcut:
+
+``` pre
+final Region diskPortfolios = 
+    new RegionFactory("PARTITION").create("Portfolios");
+```
+
+This example retrieves an attributes template and passes it to the region creation with a modified pool specification:
+
+``` pre
+ClientRegionFactory<String,String> regionFactory =         
+    cache.createClientRegionFactory(PROXY);
+Region<String, String> region = regionFactory
+    .setPoolName("publisher")
+    .create("DATA");
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/gemfire_properties/setting_distributed_properties.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/gemfire_properties/setting_distributed_properties.html.md.erb b/geode-docs/basic_config/gemfire_properties/setting_distributed_properties.html.md.erb
new file mode 100644
index 0000000..db03d15
--- /dev/null
+++ b/geode-docs/basic_config/gemfire_properties/setting_distributed_properties.html.md.erb
@@ -0,0 +1,64 @@
+---
+title:  Setting Properties
+---
+
+Geode provides a default distributed system configuration for out-of-the-box systems. To use non-default configurations and to fine-tune your member communication, you can use a mix of various options to customize your distributed system configuration.
+
+<a id="setting_distributed_properties__section_67EBCC53EB174B108DA7271E2CD2B76C"></a>
+Geode properties are used to join a distributed system and configure system member behavior. Configure your Geode properties through the `gemfire.properties` file, the Java API, or command-line input. Generally, you store all your properties in the `gemfire.properties` file, but you may need to provide properties through other means, for example, to pass in security properties for username and password that you have received from keyboard input.
+
+**Note:**
+Check with your Geode system administrator before changing properties through the API, including the `gemfire.properties` and `gfsecurity.properties` settings. The system administrator may need to set properties at the command line or in configuration files. Any change made through the API overrides those other settings.
+
+**Note:**
+The product `defaultConfigs` directory has a sample `gemfire.properties` file with all default settings.
+
+Set distributed system properties by any combination of the following. The system looks for the settings in the order listed:
+
+1.  `java.lang.System` property setting. Usually set at the command line. For applications, set these in your code or at the command line.
+
+    Naming: Specify these properties in the format `gemfire.property-name`, where `property-name` matches the name in the `gemfire.properties` file. To set the gemfire property file name, use `gemfirePropertyFile` by itself
+    -   In the API, set the `System` properties before the cache creation call. Example:
+
+        ``` pre
+        System.setProperty("DgemfirePropertyFile", "gfTest");
+        System.setProperty("Dgemfire.mcast-port", "10999");
+
+        Cache cache = new CacheFactory().create();
+        ```
+    -   At the `java` command line, pass in `System` properties using the `-D` switch. Example:
+
+        ``` pre
+        java -DgemfirePropertyFile=gfTest -Dgemfire.mcast-port=10999 test.Program
+        ```
+2.  Entry in a `Properties` object.
+
+    Naming: Specify these properties using the names in the `gemfire.properties` file. To set the gemfire property file name, use `gemfirePropertyFile`.
+    -   In the API, create a `Properties` object and pass it to the cache create method. Example:
+
+        ``` pre
+        Properties properties= new Properties();
+        properties.setProperty("log-level", "warning");
+        properties.setProperty("name", "testMember2");
+        ClientCache userCache = 
+            new ClientCacheFactory(properties).create();
+        ```
+    -   For the cache server, pass the properties files on the `gfsh` command line as command-line options. Example:
+
+        ``` pre
+        gfsh>start server --name=server_name --mcast-port=10338 --properties-file=serverConfig/gemfire.properties --security-properties-file=gfsecurity.properties
+        ```
+
+        See [Running Geode Server Processes](../../configuring/running/running_the_cacheserver.html) for more information on running cache servers.
+
+3.  Entry in a `gemfire.properties` file. See [Deploying Configuration Files without the Cluster Configuration Service](../../configuring/running/deploying_config_files.html). Example:
+
+    ``` pre
+    cache-xml-file=cache.xml
+    conserve-sockets=true
+    disable-tcp=false
+    ```
+
+4.  Default value. The default property values are listed in the online Java documentation for `org.apache.geode.distributed.DistributedSystem`.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/the_cache/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/the_cache/chapter_overview.html.md.erb b/geode-docs/basic_config/the_cache/chapter_overview.html.md.erb
new file mode 100644
index 0000000..c003e8b
--- /dev/null
+++ b/geode-docs/basic_config/the_cache/chapter_overview.html.md.erb
@@ -0,0 +1,31 @@
+---
+title:  Cache Management
+---
+
+The Geode cache is the entry point to Geode caching management. Geode provides different APIs and XML configuration models to support the behaviors of different members.
+
+-   **[Introduction to Cache Management](../../basic_config/the_cache/intro_cache_management.html)**
+
+    The cache provides in-memory storage and management for your data.
+
+-   **[Managing a Peer or Server Cache](../../basic_config/the_cache/managing_a_peer_server_cache.html)**
+
+    You start your peer or server cache using a combination of XML declarations and API calls. Close the cache when you are done.
+
+-   **[Managing a Client Cache](../../basic_config/the_cache/managing_a_client_cache.html)**
+
+    You have several options for client cache configuration. Start your client cache using a combination of XML declarations and API calls. Close the client cache when you are done.
+
+-   **[Managing a Cache in a Secure System](../../basic_config/the_cache/managing_a_secure_cache.html)**
+
+    When you create your cache in a secure system, you provide credentials to the connection process for authentication by already-running, secure members. Clients connect to secure servers. Peers are authenticated by secure locators or peer members.
+
+-   **[Managing RegionServices for Multiple Secure Users](../../basic_config/the_cache/managing_a_multiuser_cache.html)**
+
+    In a secure system, you can create clients with multiple, secure connections to the servers from each client. The most common use case is a Geode client embedded in an application server that supports data requests from many users. Each user may be authorized to access a subset of data on the servers. For example, customer users may be allowed to see and update only their own orders and shipments.
+
+-   **[Launching an Application after Initializing the Cache](../../basic_config/the_cache/setting_cache_initializer.html)**
+
+    You can specify a callback application that is launched after the cache initialization.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/the_cache/intro_cache_management.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/the_cache/intro_cache_management.html.md.erb b/geode-docs/basic_config/the_cache/intro_cache_management.html.md.erb
new file mode 100644
index 0000000..2d21a60
--- /dev/null
+++ b/geode-docs/basic_config/the_cache/intro_cache_management.html.md.erb
@@ -0,0 +1,79 @@
+---
+title:  Introduction to Cache Management
+---
+
+The cache provides in-memory storage and management for your data.
+
+<a id="concept_F8BA7F2D3B5A40D78461E78BC5FB31FA__section_B364B076EB5843DAAC28EE2805686453"></a>
+You organize your data in the cache into *data regions*, each with its own configurable behavior. You store your data into your regions in key/value pairs called *data entries*. The cache also provides features like transactions, data querying, disk storage management, and logging. See the Javadocs for `org.apache.geode.cache.Cache`.
+
+You generally configure caches using the `gfsh` command-line utility or a combination of XML declarations and API calls. Geode loads and processes your XML declarations when you first create the cache.
+
+Geode has one cache type for managing server and peer caches and one for managing client caches. The cache server process automatically creates its server cache at startup. In your application process, the cache creation returns an instance of the server/peer or client cache. From that point on, you manage the cache through API calls in your application.
+
+## <a id="concept_F8BA7F2D3B5A40D78461E78BC5FB31FA__section_20973C59F1C94E35A02CE6582503205A" class="no-quick-link"></a>The Caching APIs
+
+Geode's caching APIs provide specialized behavior for different system member types and security settings.
+
+-   **`org.apache.geode.cache.RegionService`**. Generally, you use the `RegionService` functionality through instances of `Cache` and `ClientCache`. You only specifically use instances of `RegionService` for limited-access users in secure client applications that service many users. The `RegionService` API provides access to existing cache data regions and to the standard query service for the cache. For client caches, queries are sent to the server tier. For server and peer caches, queries are run in the current cache and any available peers. `RegionService` is implemented by `GemFireCache`.
+-   **`org.apache.geode.cache.GemFireCache`**. You do not specifically use instances of `GemFireCache`, but you use `GemFireCache` functionality in your instances of `Cache` and `ClientCache`. `GemFireCache` extends `RegionService` and adds general caching features like region attributes, disk stores for region persistence and overflow, and access to the underlying distributed system. `GemFireCache` is implemented by `Cache` and `ClientCache`.
+-   **`org.apache.geode.cache.Cache`**. Use the `Cache` interface to manage server and peer caches. You have one `Cache` per server or peer process. The `Cache` extends `GemFireCache` and adds server/peer caching features like communication within the distributed system, region creation, transactions and querying, and cache server functionality.
+-   **`org.apache.geode\u2248setting_cache_initializer.cache.ClientCache`**. Use the `ClientCache` interface to manage the cache in your clients. You have one `ClientCache` per client process. The `ClientCache` extends `GemFireCache` and adds client-specific caching features like client region creation, subscription keep-alive management for durable clients, querying on server and client tiers, and RegionService creation for secure access by multiple users within the client.
+
+## <a id="concept_F8BA7F2D3B5A40D78461E78BC5FB31FA__section_6486BDAF06EC4B91A548872066F3EC8C" class="no-quick-link"></a>The Cache XML
+
+Your `cache.xml` must be formatted according to the product XML schema definition `cache-1.0.xsd`. The schema definition file is available in the product distribution at `$GEMFIRE/schemas/geode.apache.org/schema/cache/cache-1.0.xsd`.
+
+You use one format for peer and server caches and another for client caches.
+
+`cache.xml` for Peer/Server:
+
+``` pre
+<?xml version="1.0" encoding="UTF-8"?>
+<cache xmlns="http://geode.incubator.apache.org/schema/cache"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://geode.incubator.apache.org/schema/cache http://geode.incubator.apache.org/schema/cache/cache-1.0.xsd"
+    version="1.0\u201d>
+...
+</cache>
+```
+
+`cache.xml` for Client:
+
+``` pre
+<?xml version="1.0" encoding="UTF-8"?>
+<client-cache
+    xmlns="http://geode.incubator.apache.org/schema/cache"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://geode.incubator.apache.org/schema/cache http://geode.incubator.apache.org/schema/cache/cache-1.0.xsd"
+    version="1.0\u201d>
+...
+</client-cache>
+```
+
+For more information on the `cache.xml` file, see [cache.xml](../../reference/topics/chapter_overview_cache_xml.html#cache_xml).
+
+## <a id="concept_F8BA7F2D3B5A40D78461E78BC5FB31FA__section_B113BC6921DA434C947D4326DDB4526E" class="no-quick-link"></a>Create and Close a Cache
+
+Your system configuration and cache configuration are initialized when you start your member processes and create each member\u2019s Geode cache. If you are using the cluster configuration service, member processes can pick up its cache configuration from the cluster or group's current configuration. See [Overview of the Cluster Configuration Service](../../configuring/cluster_config/gfsh_persist.html).
+
+The steps in this section use `gemfire.properties` and `cache.xml` file examples, except where API is required. You can configure your distributed system properties and cache through the API as well, and you can use a combination of file configuration and API configuration.
+
+The XML examples may not include the full `cache.xml` file listing. All of your declarative cache configuration must conform to the cache XSD in the product installation `$GEMFIRE/schemas/geode.apache.org/schema/cache/cache-1.0.xsd`.
+
+For all of your Geode applications:
+
+1.  Create your `Cache`, for peer/server applications, or `ClientCache`, for client applications. This connects to the Geode system you have configured and initializes any configured data regions. Use your cache instance to access your regions and perform your application work.
+2.  Close your cache when you are done. This frees up resources and disconnects your application from the distributed system in an orderly manner.
+
+Follow the instructions in the subtopics under [Cache Management](chapter_overview.html#the_cache) to customize your cache creation and closure for your application needs. You may need to combine more than one of the sets of instructions. For example, to create a client cache in a system with security, you would follow the instructions for creating and closing a client cache and for creating and closing a cache in a secure system.
+
+## <a id="concept_F8BA7F2D3B5A40D78461E78BC5FB31FA__section_E8781B263D434F6A9104194AE7BE1647" class="no-quick-link"></a>Export and Import a Cache Snapshot
+
+To aid in the administration of cache data and speed the setup of new environments, you can export a snapshot of the entire cache (all regions) and then import the snapshot into a new cache. For example, you could take a snapshot of the production environment cache in order to import the cache's data into a testing environment.
+
+For more details on exporting and importing snapshots of a cache, see [Cache and Region Snapshots](../../managing/cache_snapshots/chapter_overview.html#concept_E6AC3E25404D4D7788F2D52D83EE3071).
+
+## Cache Management with gfsh and the Cluster Configuration Service
+
+You can use gfsh commands to mange a server cache. There are gfsh commands to create regions, start servers, and to create queues and other objects. As you issue these commands, the Cluster Configuration Service saves cache.xml and gemfire.properties files on the locators and distributes those configurations to any new members that join the cluster. See [Overview of the Cluster Configuration Service](../../configuring/cluster_config/gfsh_persist.html).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/the_cache/managing_a_client_cache.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/the_cache/managing_a_client_cache.html.md.erb b/geode-docs/basic_config/the_cache/managing_a_client_cache.html.md.erb
new file mode 100644
index 0000000..94099aa
--- /dev/null
+++ b/geode-docs/basic_config/the_cache/managing_a_client_cache.html.md.erb
@@ -0,0 +1,67 @@
+---
+title:  Managing a Client Cache
+---
+
+You have several options for client cache configuration. Start your client cache using a combination of XML declarations and API calls. Close the client cache when you are done.
+
+<a id="managing_a_client_cache__section_566044C44C434926A7A9FBAB2BF463BF"></a>
+Geode clients are processes that send most or all of their data requests and updates to a Geode server system. Clients run as standalone processes, without peers of their own.
+
+**Note:**
+Geode automatically configures the distributed system for your `ClientCache` as standalone, which means the client has no peers. Do not try to set the `gemfire.properties` `mcast-port` or `locators` for a client application or the system will throw an exception.
+
+1.  Create your client cache:
+    1.  In your `cache.xml`, use the `client-cache` DOCTYPE and configure your cache inside a `<client-cache>` element. Configure your server connection pool and your regions as needed. Example:
+
+        ``` pre
+        <?xml version="1.0" encoding="UTF-8"?>
+        <client-cache
+            xmlns="http://geode.incubator.apache.org/schema/cache"
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:schemaLocation="http://geode.incubator.apache.org/schema/cache http://geode.incubator.apache.org/schema/cache/cache-1.0.xsd"
+            version="1.0">
+            <pool name="serverPool">
+                <locator host="host1" port="44444"/>
+            </pool>
+            <region name="exampleRegion" refid="PROXY"/>
+        </client-cache>
+        ```
+
+        **Note:**
+        Applications that use a `client-cache` may want to set `concurrency-checks-enabled` to false for a region in order to see all events for that region. Geode server members can continue using concurrency checks, but they will pass all events to the client cache. This configuration ensures that the client sees all region events, but it does not prevent the client cache region from becoming out-of-sync with the server cache. See [Consistency for Region Updates](../../developing/distributed_regions/region_entry_versions.html#topic_CF2798D3E12647F182C2CEC4A46E2045).
+
+    2.  If you use multiple server pools, configure the pool name explicitly for each client region. Example:
+
+        ``` pre
+        <pool name="svrPool1">
+            <locator host="host1" port="40404"/>
+        </pool>
+        <pool name="svrPool2">
+            <locator host="host2" port="40404"/>
+        </pool>
+        <region name="clientR1" refid="PROXY" pool-name="svrPool1"/>  
+        <region name="clientR2" refid="PROXY" pool-name="svrPool2"/>
+        <region name="clientsPrivateR" refid="LOCAL"/>
+        ```
+
+    3.  In your Java client application, create the cache using the `ClientCacheFactory` `create` method. Example:
+
+        ``` pre
+        ClientCache clientCache = new ClientCacheFactory().create();
+        ```
+
+        This creates the server connections and initializes the client\u2019s cache according to your `gemfire.properties` and `cache.xml` specifications.
+
+2.  Close your cache when you are done using the `close` method of your `Cache` instance:
+
+    ``` pre
+    cache.close();
+    ```
+
+    If your client is durable and you want to maintain your durable queues while the client cache is closed, use:
+
+    ``` pre
+    clientCache.close(true);
+    ```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/the_cache/managing_a_multiuser_cache.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/the_cache/managing_a_multiuser_cache.html.md.erb b/geode-docs/basic_config/the_cache/managing_a_multiuser_cache.html.md.erb
new file mode 100644
index 0000000..76dc590
--- /dev/null
+++ b/geode-docs/basic_config/the_cache/managing_a_multiuser_cache.html.md.erb
@@ -0,0 +1,49 @@
+---
+title:  Managing RegionServices for Multiple Secure Users
+---
+
+In a secure system, you can create clients with multiple, secure connections to the servers from each client. The most common use case is a Geode client embedded in an application server that supports data requests from many users. Each user may be authorized to access a subset of data on the servers. For example, customer users may be allowed to see and update only their own orders and shipments.
+
+<a id="managing_a_multiuser_cache__section_A2A0F835DF35450E8E4B5304F4BC07E2"></a>
+
+In a single client, multiple authenticated users can all access the same `ClientCache` through instances of the `RegionService` interface. Because there are multiple users with varying authorization levels, access to cached data is done entirely through the servers, where each user\u2019s authorization can be managed.
+Follow these steps in addition to the steps in [Managing a Cache in a Secure System](managing_a_secure_cache.html#managing_a_secure_cache).
+
+1.  Create your cache and `RegionService` instances:
+    1.  Configure your client\u2019s server pool for multiple secure user authentication. Example:
+
+        ``` pre
+        <pool name="serverPool" multiuser-authentication="true">
+            <locator host="host1" port="44444"/>
+            </pool>
+        ```
+
+        This enables access through the pool for the `RegionService` instances and disables it for the `ClientCache` instance.
+
+    2.  After you create your `ClientCache`, from your `ClientCache` instance, for each user call the `createAuthenticatedView` method, providing the user\u2019s particular credentials. These are create method calls for two users:
+
+        ``` pre
+        Properties properties = new Properties();
+        properties.setProperty("security-username", cust1Name);
+        properties.setProperty("security-password", cust1Pwd);
+        RegionService regionService1 = 
+            clientCache.createAuthenticatedView(properties);
+
+        properties = new Properties();
+        properties.setProperty("security-username", cust2Name);
+        properties.setProperty("security-password", cust2Pwd);
+        RegionService regionService2 =  
+            clientCache.createAuthenticatedView(properties);
+        ```
+
+    For each user, do all of your caching and region work through the assigned `RegionService` instance. Access to the server cache will be governed by the server\u2019s configured authorization rules for each individual user.
+2.  Close your cache by closing the `ClientCache` instance only. Do not close the `RegionService` instances first. This is especially important for durable clients.
+
+## <a id="managing_a_multiuser_cache__section_692D9961E8224739903E483BF8AB4F84" class="no-quick-link"></a>Requirements and Caveats for RegionService
+
+Once each region is created, you can perform operations on it through the `ClientCache` instance or the `RegionService` instances, but not both.
+
+**Note:**
+You can use the `ClientCache` to create a region that uses a pool configured for multi-user authentication, then access and do work on the region using your `RegionService` instances.
+
+To use `RegionService`, regions must be configured as `EMPTY`. Depending on your data access requirements, this configuration might affect performance, because the client goes to the server for every get.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/the_cache/managing_a_peer_server_cache.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/the_cache/managing_a_peer_server_cache.html.md.erb b/geode-docs/basic_config/the_cache/managing_a_peer_server_cache.html.md.erb
new file mode 100644
index 0000000..89ad024
--- /dev/null
+++ b/geode-docs/basic_config/the_cache/managing_a_peer_server_cache.html.md.erb
@@ -0,0 +1,64 @@
+---
+title:  Managing a Peer or Server Cache
+---
+
+You start your peer or server cache using a combination of XML declarations and API calls. Close the cache when you are done.
+
+<a id="creating_and_closing_a_peer_cache__section_1633A80F0DB04794BB6C3A7F05EED97E"></a>
+Geode peers are members of a Geode distributed system that do not act as clients to another Geode distributed system. Geode servers are peers that also listen for and process client requests.
+
+1.  Create your cache:
+    1.  Start up a cluster and the cluster configuration service:
+        1.  Start a locator with `--enable-cluster-configuration` set to true. (It is set true by default.)
+
+            ``` pre
+            gfsh>start locator --name=locator1
+            ```
+
+        2.  Start up member processes that use the cluster configuration service (enabled by default):
+
+            ``` pre
+            gfsh>start server --name=server1 --server-port=40404
+            ```
+
+        3.  Create regions:
+
+            ``` pre
+            gfsh>create region --name=customerRegion --type=REPLICATE
+
+            gfsh>create region --name=ordersRegion --type=PARTITION
+            ```
+
+    2.  Or if you are not using the cluster configuration service, directly configure cache.xml in each member of your cluster. In your `cache.xml`, use the `cache` DOCTYPE and configure your cache inside a `<cache>` element. Example:
+
+        ``` pre
+        <?xml version="1.0" encoding="UTF-8"?>
+        <cache
+            xmlns="http://geode.incubator.apache.org/schema/cache"
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:schemaLocation="http://geode.incubator.apache.org/schema/cache http://geode.incubator.apache.org/schema/cache/cache-1.0.xsd"
+            version="1.0\u201d>
+            // NOTE: Use this <cache-server> element only for server processes 
+            <cache-server port="40404"/>
+            <region name="customerRegion" refid="REPLICATE" />
+            <region name="ordersRegion" refid="PARTITION" />
+        </cache>
+        ```
+
+    3.  To programmatically create the `Cache` instance:
+        -   In your Java application, use the `CacheFactory` create method:
+
+            ``` pre
+            Cache cache = new CacheFactory().create();
+            ```
+        -   If you are running a server using the Geode `cacheserver` process, it automatically creates the cache and connection at startup and closes both when it exits.
+
+        The system creates the distributed system connection and initializes the cache according to your `gemfire.properties` and `cache.xml` specifications.
+
+2.  Close your cache when you are done using the inherited `close` method of the `Cache` instance:
+
+    ``` pre
+    cache.close();
+    ```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/basic_config/the_cache/managing_a_secure_cache.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/the_cache/managing_a_secure_cache.html.md.erb b/geode-docs/basic_config/the_cache/managing_a_secure_cache.html.md.erb
new file mode 100644
index 0000000..6bd109c
--- /dev/null
+++ b/geode-docs/basic_config/the_cache/managing_a_secure_cache.html.md.erb
@@ -0,0 +1,50 @@
+---
+title:  Managing a Cache in a Secure System
+---
+
+To create a cache in a secured system,
+authentication at connection time will require credentials.
+Authorization permits operations as configured.
+
+<a id="managing_a_secure_cache__section_11BF0F3F64504B74B39CD4C1CF58E6FC"></a>
+These steps demonstrate a programmatic cache creation.
+
+1.  To create the cache:
+    1.  Add necessary security properties to the `gemfire.properties` or `gfsecurity.properties` file, to configure for your particular security implementation. Examples:
+
+        ``` pre
+        security-client-auth-init=mySecurity.UserPasswordAuthInit.create
+        ```
+
+        ``` pre
+        security-peer-auth-init=myAuthPkg.myAuthInitImpl.create
+        ```
+
+    2.  When you create your cache, pass any properties required by your security implementation to the cache factory create call by using one of these methods:
+        -   `ClientCacheFactory` or `CacheFactory` `set` methods. Example:
+
+            ``` pre
+            ClientCache clientCache = new ClientCacheFactory()
+                .set("security-username", username)
+                .set("security-password", password)
+                .create();
+            ```
+        -   Properties object passed to the `ClientCacheFactory` or `CacheFactory` `create` method. These are usually properties of a sensitive nature that you do not want to put inside the `gfsecurity.properties` file. Example:
+
+            ``` pre
+            Properties properties = new Properties();
+            properties.setProperty("security-username", username);
+            properties.setProperty("security-password", password);
+            Cache cache = new CacheFactory(properties).create();
+            ```
+
+            **Note:**
+            Properties passed to a cache creation method override any settings in either the `gemfire.properties` file or `gfsecuirty.properties`.
+
+2.  Close your cache when you are done, using the `close` method of the `ClientCache` instance or the inherited `close` method of the `Cache` instance. Example:
+
+    ``` pre
+    cache.close();
+    ```
+
+


[09/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/disk_storage/file_names_and_extensions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/file_names_and_extensions.html.md.erb b/geode-docs/managing/disk_storage/file_names_and_extensions.html.md.erb
new file mode 100644
index 0000000..89e7178
--- /dev/null
+++ b/geode-docs/managing/disk_storage/file_names_and_extensions.html.md.erb
@@ -0,0 +1,79 @@
+---
+title:  Disk Store File Names and Extensions
+---
+
+Disk store files include store management files, access control files, and the operation log, or oplog, files, consisting of one file for deletions and another for all other operations.
+
+<a id="file_names_and_extensions__section_AE90870A7BDB425B93111D1A6E166874"></a>
+The next tables describe file names and extensions; they are followed by example disk store files.
+
+## <a id="file_names_and_extensions__section_C99ABFDB1AEA4FE4B38F5D4F1D612F71" class="no-quick-link"></a>File Names
+
+File names have three parts:
+
+**First Part of File Name: Usage Identifier**
+
+| Values   | Used for                                                               | Examples                                   |
+|----------|------------------------------------------------------------------------|--------------------------------------------|
+| OVERFLOW | Oplog data from overflow regions and queues only.                      | OVERFLOWoverflowDS1\_1.crf                 |
+| BACKUP   | Oplog data from persistent and persistent+overflow regions and queues. | BACKUPoverflowDS1.if, BACKUPDEFAULT.if     |
+| DRLK\_IF | Access control - locking the disk store.                               | DRLK\_IFoverflowDS1.lk, DRLK\_IFDEFAULT.lk |
+
+**Second Part of File Name: Disk Store Name**
+
+| Values                  | Used for                                                                                                                  | Examples                                                                             |
+|-------------------------|---------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|
+| &lt;disk store name&gt; | Non-default disk stores.                                                                                                  | name="overflowDS1" DRLK\_IFoverflowDS1.lk, name="persistDS1" BACKUPpersistDS1\_1.crf |
+| DEFAULT                 | Default disk store name, used when persistence or overflow are specified on a region or queue but no disk store is named. | DRLK\_IFDEFAULT.lk, BACKUPDEFAULT\_1.crf                                             |
+
+**Third Part of File Name: oplog Sequence Number**
+
+| Values                            | Used for                                        | Examples                                                                     |
+|-----------------------------------|-------------------------------------------------|------------------------------------------------------------------------------|
+| Sequence number in the format \_n | Oplog data files only. Numbering starts with 1. | OVERFLOWoverflowDS1\_1.crf, BACKUPpersistDS1\_2.crf, BACKUPpersistDS1\_3.crf |
+
+## <a id="file_names_and_extensions__section_4FC89D10D6304088882B2E278A889A9B" class="no-quick-link"></a>File Extensions
+
+| File extension | Used for                                         | Notes                                                                                                |
+|----------------|--------------------------------------------------|------------------------------------------------------------------------------------------------------|
+| if             | Disk store metadata                              | Stored in the first disk-dir listed for the store. Negligible size - not considered in size control. |
+| lk             | Disk store access control                        | Stored in the first disk-dir listed for the store. Negligible size - not considered in size control. |
+| crf            | Oplog: create, update, and invalidate operations | Pre-allocated 90% of the total max-oplog-size at creation.                                           |
+| drf            | Oplog: delete operations                         | Pre-allocated 10% of the total max-oplog-size at creation.                                           |
+| krf            | Oplog: key and crf offset information            | Created after the oplog has reached the max-oplog-size. Used to improve performance at startup.      |
+
+Example files for disk stores persistDS1 and overflowDS1:
+
+``` pre
+bash-2.05$ ls -tlra persistData1/
+total 8
+-rw-rw-r--   1 person users        188 Mar  4 06:17 BACKUPpersistDS1.if
+drwxrwxr-x   2 person users        512 Mar  4 06:17 .
+-rw-rw-r--   1 person users          0 Mar  4 06:18 BACKUPpersistDS1_1.drf
+-rw-rw-r--   1 person users         38 Mar  4 06:18 BACKUPpersistDS1_1.crf
+drwxrwxr-x   8 person users        512 Mar  4 06:20 ..
+bash-2.05$
+ 
+bash-2.05$ ls -ltra overflowData1/
+total 1028
+drwxrwxr-x   8 person users        512 Mar  4 06:20 ..
+-rw-rw-r--   1 person users          0 Mar  4 06:21 DRLK_IFoverflowDS1.lk
+-rw-rw-r--   1 person users          0 Mar  4 06:21 BACKUPoverflowDS1.if
+-rw-rw-r--   1 person users 1073741824 Mar  4 06:21 OVERFLOWoverflowDS1_1.crf
+drwxrwxr-x   2 person users        512 Mar  4 06:21 .
+```
+
+Example default disk store files for a persistent region:
+
+``` pre
+bash-2.05$ ls -tlra
+total 106
+drwxrwxr-x   8 person users       1024 Mar  8 14:51 ..
+-rw-rw-r--   1 person users       1010 Mar  8 15:01 defTest.xml
+drwxrwxr-x   2 person users        512 Mar  8 15:01 backupDirectory
+-rw-rw-r--   1 person users          0 Mar  8 15:01 DRLK_IFDEFAULT.lk
+-rw-rw-r--   1 person users  107374183 Mar  8 15:01 BACKUPDEFAULT_1.drf
+-rw-rw-r--   1 person users  966367641 Mar  8 15:01 BACKUPDEFAULT_1.crf
+-rw-rw-r--   1 person users        172 Mar  8 15:01 BACKUPDEFAULT.if
+drwxrwxr-x   3 person users        512 Mar  8 15:01 .           
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/disk_storage/handling_missing_disk_stores.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/handling_missing_disk_stores.html.md.erb b/geode-docs/managing/disk_storage/handling_missing_disk_stores.html.md.erb
new file mode 100644
index 0000000..c68441f
--- /dev/null
+++ b/geode-docs/managing/disk_storage/handling_missing_disk_stores.html.md.erb
@@ -0,0 +1,55 @@
+---
+title:  Handling Missing Disk Stores
+---
+
+<a id="handling_missing_disk_stores__section_9345819FC27E41FB94F5E54979B7C506"></a>
+This section applies to disk stores that hold the latest copy of your data for at least one region.
+
+## <a id="handling_missing_disk_stores__section_9E8FBB7935F34239AD5E65A3E857EEAA" class="no-quick-link"></a>Show Missing Disk Stores
+
+Using `gfsh`, the `show missing-disk-stores` command lists all disk stores with most recent data that are being waited on by other members.
+
+For replicated regions, this command only lists missing members that are preventing other members from starting up. For partitioned regions, this command also lists any offline data stores, even when other data stores for the region are online, because their offline status may be causing `PartitionOfflineExceptions` in cache operations or preventing the system from satisfying redundancy.
+
+Example:
+
+``` pre
+gfsh>show missing-disk-stores
+          Disk Store ID              |   Host    |               Directory                                           
+------------------------------------ | --------- | -------------------------------------
+60399215-532b-406f-b81f-9b5bd8d1b55a | excalibur | /usr/local/gemfire/deploy/disk_store1
+```
+
+**Note:**
+You need to be connected to JMX Manager in `gfsh` to run this command.
+
+**Note:**
+The disk store directories listed for missing disk stores may not be the directories you have currently configured for the member. The list is retrieved from the other running members\u2014the ones who are reporting the missing member. They have information from the last time the missing disk store was online. If you move your files and change the member\u2019s configuration, these directory locations will be stale.
+
+Disk stores usually go missing because their member fails to start. The member can fail to start for a number of reasons, including:
+
+-   Disk store file corruption. You can check on this by validating the disk store.
+-   Incorrect distributed system configuration for the member
+-   Network partitioning
+-   Drive failure
+
+## <a id="handling_missing_disk_stores__section_FDF161F935054AB190D9DB0D7930CEAA" class="no-quick-link"></a>Revoke Missing Disk Stores
+
+This section applies to disk stores for which both of the following are true:
+
+-   Disk stores that have the most recent copy of data for one or more regions or region buckets.
+-   Disk stores that are unrecoverable, such as when you have deleted them, or their files are corrupted or on a disk that has had a catastrophic failure.
+
+When you cannot bring the latest persisted copy online, use the revoke command to tell the other members to stop waiting for it. Once the store is revoked, the system finds the remaining most recent copy of data and uses that.
+
+**Note:**
+Once revoked, a disk store cannot be reintroduced into the system.
+
+Use gfsh show missing-disk-stores to properly identify the disk store you need to revoke. The revoke command takes the disk store ID as input, as listed by that command.
+
+Example:
+
+``` pre
+gfsh>revoke missing-disk-store --id=60399215-532b-406f-b81f-9b5bd8d1b55a
+Missing disk store successfully revoked
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/disk_storage/how_disk_stores_work.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/how_disk_stores_work.html.md.erb b/geode-docs/managing/disk_storage/how_disk_stores_work.html.md.erb
new file mode 100644
index 0000000..902a310
--- /dev/null
+++ b/geode-docs/managing/disk_storage/how_disk_stores_work.html.md.erb
@@ -0,0 +1,43 @@
+---
+title:  How Disk Stores Work
+---
+
+Overflow and persistence use disk stores individually or together to store data.
+
+<a id="how_disk_stores_work__section_1A93EFBE3E514918833592C17CFC4C40"></a>
+Disk storage is available for these items:
+
+-   **Regions**. Persist and/or overflow data from regions.
+-   **Server\u2019s client subscription queues**. Overflow the messaging queues to control memory use.
+-   **Gateway sender queues**. Persist these for high availability. These queues always overflow.
+-   **PDX serialization metadata**. Persist metadata about objects you serialize using Geode PDX serialization.
+
+Each member has its own set of disk stores, and they are completely separate from the disk stores of any other member. For each disk store, define where and how the data is stored to disk. You can store data from multiple regions and queues in a single disk store.
+
+This figure shows a member with disk stores D through R defined. The member has two persistent regions using disk store D and an overflow region and an overflow queue using disk store R.
+
+<img src="../../images/diskStores-1.gif" id="how_disk_stores_work__image_CB7972998C4A40B2A02550B97A723536" class="image" />
+
+## <a id="how_disk_stores_work__section_433EEEA1560D40DD9842200181EB1D0A" class="no-quick-link"></a>What Geode Writes to the Disk Store
+
+This list describes the items that Geode comprise the disk store:
+
+-   The members that host the store, and information on their status, such as which members are online and which members are offline and time stamps.
+-   A disk store identifier.
+-   Which regions are in the disk store, specified by region name.
+-   Colocated regions that the regions in the disk store are dependent upon.
+-   A set of files that specify all keys for the regions, as well as all operations on the regions. Given both keys and operations, a region can be recreated when a member is restarted.
+
+Geode does not write indexes to disk.
+
+## <a id="how_disk_stores_work__section_C1A047CD5518499D94A0E9A0328F6DB8" class="no-quick-link"></a>Disk Store State
+
+The files for a disk store are used by Geode as a group. Treat them as a single entity. If you copy them, copy them all together. Do not change the file names.
+
+Disk store access and management differs according to whether the member is online or offline.
+
+While a member is running, its disk stores are online. When the member exits and is not running, its disk stores are offline.
+
+-   Online, a disk store is owned and managed by its member process. To run operations on an online disk store, use API calls in the member process, or use the `gfsh` command-line interface.
+-   Offline, the disk store is just a collection of files in the host file system. The files are accessible based on file system permissions. You can copy the files for backup or to move the member\u2019s disk store location. You can also run some maintenance operations, such as file compaction and validation, by using the `gfsh` command-line interface. When offline, the disk store's information is unavailable to the distributed system. For partitioned regions, region data is split between multiple members, and therefore the start up of a member is dependent on and must wait for all members to be online. An attempt to access an entry that is stored on disk by an offline member results in a `PartitionOfflineException`.
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/disk_storage/keeping_offline_disk_store_in_sync.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/keeping_offline_disk_store_in_sync.html.md.erb b/geode-docs/managing/disk_storage/keeping_offline_disk_store_in_sync.html.md.erb
new file mode 100644
index 0000000..279284c
--- /dev/null
+++ b/geode-docs/managing/disk_storage/keeping_offline_disk_store_in_sync.html.md.erb
@@ -0,0 +1,48 @@
+---
+title:  Keeping a Disk Store Synchronized with the Cache
+---
+
+<a id="syncing_offline_disk_store__section_7D01550D750E48289EFBA9BBDB5A334E"></a>
+You can take several actions to optimize disk store use and data loading at startup.
+
+## <a id="syncing_offline_disk_store__section_7B95B20F07BD40699CDB7F3D6A93B905" class="no-quick-link"></a>Change Region Configuration
+
+When your disk store is offline, you can keep the configuration for its regions up-to-date with your `cache.xml` and API settings. The disk store retains region capacity and load settings, including entry map settings (initial capacity, concurrency level, load factor), LRU eviction settings, and the statistics enabled boolean. If the configurations do not match at startup, the `cache.xml` and API override any disk store settings and the disk store is automatically updated to match. So you do not need to modify your disk store to keep your cache configuration and disk store synchronized, but you will save startup time and memory if you do.
+
+For example, to change the initial capacity of the disk store:
+
+``` pre
+gfsh>alter disk-store --name=myDiskStoreName --region=partitioned_region 
+--disk-dirs=/firstDiskStoreDir,/secondDiskStoreDir,/thirdDiskStoreDir 
+--initialCapacity=20
+```
+
+To list all modifiable settings and their current values for a region, run the command with no actions specified:
+
+``` pre
+gfsh>alter disk-store --name=myDiskStoreName --region=partitioned_region
+--disk-dirs=/firstDiskStoreDir,/secondDiskStoreDir,/thirdDiskStoreDir  
+```
+
+## <a id="syncing_offline_disk_store__section_0CA17ED106394686A1A5B30601758DA6" class="no-quick-link"></a>Take a Region Out of Your Cache Configuration and Disk Store
+
+You might remove a region from your application if you decide to rename it or to split its data into two entirely different regions. Any significant data restructuring can cause you to retire some data regions.
+
+This applies to the removal of regions while the disk store is offline. Regions you destroy through API calls or by `gfsh` are automatically removed from the disk store of online members.
+
+In your application development, when you discontinue use of a persistent region, remove the region from the member\u2019s disk store as well.
+
+**Note:**
+Perform the following operations with caution. You are permanently removing data.
+
+You can remove the region from the disk store in one of two ways:
+
+-   Delete the entire set of disk store files. Your member will initialize with an empty set of files the next time you and start it. Exercise caution when removing the files from the file system, as more than one region can be specified to use the same disk store directories.
+-   Selectively remove the discontinued region from the disk store with a command such as:
+
+    ``` pre
+    gfsh>alter disk-store --name=myDiskStoreName --region=partitioned_region
+    --disk-dirs=/firstDiskStoreDir,/secondDiskStoreDir,/thirdDiskStoreDir --remove
+    ```
+
+To guard against unintended data loss, Geode maintains the region in the disk store until you manually remove it. Regions in the disk stores that are not associated with any region in your application are still loaded into temporary regions in memory and kept there for the life of the member. The system has no way of detecting whether the cache region will be created by your API at some point, so it keeps the temporary region loaded and available.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/disk_storage/managing_disk_buffer_flushes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/managing_disk_buffer_flushes.html.md.erb b/geode-docs/managing/disk_storage/managing_disk_buffer_flushes.html.md.erb
new file mode 100644
index 0000000..872cb5a
--- /dev/null
+++ b/geode-docs/managing/disk_storage/managing_disk_buffer_flushes.html.md.erb
@@ -0,0 +1,27 @@
+---
+title:  Altering When Buffers Are Flushed to Disk
+---
+
+You can configure Geode to write immediately to disk and you may be able to modify your operating system behavior to perform buffer flushes more frequently.
+
+Typically, Geode writes disk data into the operating system's disk buffers and the operating system periodically flushes the buffers to disk. Increasing the frequency of writes to disk decreases the likelihood of data loss from application or machine crashes, but it impacts performance. Your other option, which may give you better performance, is to use Geode's in-memory data backups. Do this by storing your data in multiple replicated regions or in partitioned regions that are configured with redundant copies. See [Region Types](../../developing/region_options/region_types.html#region_types).
+
+## <a id="disk_buffer_flushes__section_448348BD28B14F478D81CC2EDC6C7049" class="no-quick-link"></a>Modifying Disk Flushes for the Operating System
+
+You may be able to change the operating system settings for periodic flushes. You may also be able to perform explicit disk flushes from your application code. For information on these options, see your operating system's documentation. For example, in Linux you can change the disk flush interval by modifying the setting `/proc/sys/vm/dirty_expire_centiseconds`. It defaults to 30 seconds. To alter this setting, see the Linux documentation for `dirty_expire_centiseconds`.
+
+## <a id="disk_buffer_flushes__section_D1068505581A43EE8395DBE97297C60F" class="no-quick-link"></a>Modifying Geode to Flush Buffers on Disk Writes
+
+You can have Geode flush the disk buffers on every disk write. Do this by setting the system property `gemfire.syncWrites` to true at the command line when you start your Geode member. You can only modify this setting when you start a member. When this is set, Geode uses a Java `RandomAccessFile` with the flags "rwd", which causes every file update to be written synchronously to the storage device. This only guarantees your data if your disk stores are on a local device. See the Java documentation for `java.IO.RandomAccessFile`.
+
+To modify the setting for a Geode application, add this to the java command line when you start the member:
+
+``` pre
+-Dgemfire.syncWrites=true
+```
+
+To modify the setting for a cache server, use this syntax:
+
+``` pre
+gfsh>start server --name=... --J=-Dgemfire.syncWrites=true
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/disk_storage/managing_disk_stores.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/managing_disk_stores.html.md.erb b/geode-docs/managing/disk_storage/managing_disk_stores.html.md.erb
new file mode 100644
index 0000000..cda4981
--- /dev/null
+++ b/geode-docs/managing/disk_storage/managing_disk_stores.html.md.erb
@@ -0,0 +1,25 @@
+---
+title:  Disk Store Management
+---
+
+The `gfsh` command-line tool has a number of options for examining and managing your disk stores. The `gfsh` tool, the `cache.xml` file and the DiskStore APIs are your management tools for online and offline disk stores.
+
+See [Disk Store Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_1ACC91B493EE446E89EC7DBFBBAE00EA) for a list of available commands.
+
+-   **[Disk Store Management Commands and Operations](../../managing/disk_storage/managing_disk_stores_cmds.html)**
+
+-   **[Validating a Disk Store](../../managing/disk_storage/validating_disk_store.html)**
+
+-   **[Running Compaction on Disk Store Log Files](../../managing/disk_storage/compacting_disk_stores.html)**
+
+-   **[Keeping a Disk Store Synchronized with the Cache](../../managing/disk_storage/keeping_offline_disk_store_in_sync.html)**
+
+-   **[Configuring Disk Free Space Monitoring](../../managing/disk_storage/disk_free_space_monitoring.html)**
+
+-   **[Handling Missing Disk Stores](../../managing/disk_storage/handling_missing_disk_stores.html)**
+
+-   **[Altering When Buffers Are Flushed to Disk](../../managing/disk_storage/managing_disk_buffer_flushes.html)**
+
+    You can configure Geode to write immediately to disk and you may be able to modify your operating system behavior to perform buffer flushes more frequently.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/disk_storage/managing_disk_stores_cmds.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/managing_disk_stores_cmds.html.md.erb b/geode-docs/managing/disk_storage/managing_disk_stores_cmds.html.md.erb
new file mode 100644
index 0000000..3d7ca92
--- /dev/null
+++ b/geode-docs/managing/disk_storage/managing_disk_stores_cmds.html.md.erb
@@ -0,0 +1,45 @@
+---
+title:  Disk Store Management Commands and Operations
+---
+
+<a id="concept_8E6C4AD311674880941DA0F224A7BF39__section_4AFD4B9EECDA448BA5235FB1C32A48F1"></a>
+You can manage your disk stores using the gfsh command-line tool. For more information on `gfsh` commands, see [gfsh (Geode SHell)](../../tools_modules/gfsh/chapter_overview.html) and [Disk Store Commands](../../tools_modules/gfsh/quick_ref_commands_by_area.html#topic_1ACC91B493EE446E89EC7DBFBBAE00EA).
+
+**Note:**
+Each of these commands operates either on the online disk stores or offline disk stores, but not both.
+
+| gfsh Command                  | Online or Offline Command | See . . .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
+|-------------------------------|---------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `alter disk-store`            | Off                       | [Keeping a Disk Store Synchronized with the Cache](keeping_offline_disk_store_in_sync.html#syncing_offline_disk_store)                                                                                                                                                                                                                                                                                                                                                                                             |
+| `compact disk-store`          | On                        | [Running Compaction on Disk Store Log Files](compacting_disk_stores.html#compacting_disk_stores)                                                                                                                                                                                                                                                                                                                                                                                                                   |
+| `backup disk-store`           | On                        | [Creating Backups for System Recovery and Operational Management](backup_restore_disk_store.html#backup_restore_disk_store) |
+| `compact offline-disk-store`  | Off                       | [Running Compaction on Disk Store Log Files](compacting_disk_stores.html#compacting_disk_stores)                                                                                                                                                                                                                                                                                                                                                                                                                   |
+| `export offline-disk-store`   | Off                       | [Creating Backups for System Recovery and Operational Management](backup_restore_disk_store.html#backup_restore_disk_store) |
+| `revoke missing-disk-store`   | On                        | [Handling Missing Disk Stores](handling_missing_disk_stores.html#handling_missing_disk_stores)                                                                                                                                                                                                                                                                                                                                                                                                                     |
+| `show missing-disk-stores`    | On                        | [Handling Missing Disk Stores](handling_missing_disk_stores.html#handling_missing_disk_stores)                                                                                                                                                                                                                                                                                                                                                                                                                     |
+| `shutdown`                    | On                        | [Start Up and Shut Down with Disk Stores](starting_system_with_disk_stores.html)                                                                                                                                                                                                                                                                                                             |
+| `validate offline disk-store` | Off                       | [Validating a Disk Store](validating_disk_store.html#validating_disk_store)                                                                                                                                                                                                                                                                                                                                                                                                                                        |
+
+For complete command syntax of any gfsh command, run `help                     <command>` at the gfsh command line.
+
+## <a id="concept_8E6C4AD311674880941DA0F224A7BF39__section_885D2FD6C4D94664BE1DEE032153B819" class="no-quick-link"></a>Online Disk Store Operations
+
+For online operations, `gfsh` must be connected to a distributed system via a JMX manager and sends the operation requests to the members that have disk stores. These commands will not run on offline disk stores.
+
+## <a id="concept_8E6C4AD311674880941DA0F224A7BF39__section_5B001E58091D4CC1B83CFF9B895C7DA2" class="no-quick-link"></a>Offline Disk Store Operations
+
+For offline operations, `gfsh` runs the command against the specified disk store and its specified directories. You must specify all directories for the disk store. For example:
+
+``` pre
+gfsh>compact offline-disk-store --name=mydiskstore --disk-dirs=MyDirs 
+```
+
+Offline operations will not run on online disk stores. The tool locks the disk store while it is running, so the member cannot start in the middle of an operation.
+
+If you try to run an offline command for an online disk store, you get a message like this:
+
+``` pre
+gfsh>compact offline-disk-store --name=DEFAULT --disk-dirs=s1
+This disk store is in use by another process. "compact disk-store" can 
+be used to compact a disk store that is currently in use.
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/disk_storage/operation_logs.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/operation_logs.html.md.erb b/geode-docs/managing/disk_storage/operation_logs.html.md.erb
new file mode 100644
index 0000000..f9ca4f8
--- /dev/null
+++ b/geode-docs/managing/disk_storage/operation_logs.html.md.erb
@@ -0,0 +1,52 @@
+---
+title:  Disk Store Operation Logs
+---
+
+At creation, each operation log is initialized at the disk store's `max-oplog-size`, with the size divided between the `crf` and `drf` files. When the oplog is closed, Apache Geode shrinks the files to the space used in each file.
+
+<a id="operation_logs__section_C0B1391492394A908577C29772902A42"></a>
+After the oplog is closed, Geode also attempts to create a `krf` file, which contains the key names as well as the offset for the value within the `crf` file. Although this file is not required for startup, if it is available, it will improve startup performance by allowing Geode to load the entry values in the background after the entry keys are loaded.
+
+When an operation log is full, Geode automatically closes it and creates a new log with the next sequence number. This is called *oplog rolling*. You can also request an oplog rolling through the API call `DiskStore.forceRoll`. You may want to do this immediately before compacting your disk stores, so the latest oplog is available for compaction.
+
+**Note:**
+Log compaction can change the names of the disk store files. File number sequencing is usually altered, with some existing logs removed or replaced by newer logs with higher numbering. Geode always starts a new log at a number higher than any existing number.
+
+This example listing shows the logs in a system with only one disk directory specified for the store. The first log (`BACKUPCacheOverflow_1.crf` and `BACKUPCacheOverflow_1.drf`) has been closed and the system is writing to the second log.
+
+``` pre
+bash-2.05$ ls -tlra 
+total 55180
+drwxrwxr-x   7 person users        512 Mar 22 13:56 ..
+-rw-rw-r--   1 person users          0 Mar 22 13:57 BACKUPCacheOverflow_2.drf
+-rw-rw-r--   1 person users     426549 Mar 22 13:57 BACKUPCacheOverflow_2.crf
+-rw-rw-r--   1 person users          0 Mar 22 13:57 BACKUPCacheOverflow_1.drf
+-rw-rw-r--   1 person users     936558 Mar 22 13:57 BACKUPCacheOverflow_1.crf
+-rw-rw-r--   1 person users       1924 Mar 22 13:57 BACKUPCacheOverflow.if
+drwxrwxr-x   2 person users       2560 Mar 22 13:57 .
+```
+
+The system rotates through all available disk directories to write its logs. The next log is always started in a directory that has not reached its configured capacity, if one exists.
+
+## <a id="operation_logs__section_8431984F4E6644D79292850CCA60E6E3" class="no-quick-link"></a>When Disk Store Oplogs Reach the Configured Disk Capacity
+
+If no directory exists that is within its capacity limits, how Geode handles this depends on whether automatic compaction is enabled.
+
+-   If auto-compaction is enabled, Geode creates a new oplog in one of the directories, going over the limit, and logs a warning that reports:
+
+    ``` pre
+    Even though the configured directory size limit has been exceeded a 
+    new oplog will be created. The current limit is of XXX. The current 
+    space used in the directory is YYY.
+    ```
+
+    **Note:**
+    When auto-compaction is enabled, `dir-size` does not limit how much disk space is used. Geode will perform auto-compaction, which should free space, but the system may go over the configured disk limits.
+
+-   If auto-compaction is disabled, Geode does not create a new oplog, operations in the regions attached to the disk store block, and Geode logs this error:
+
+    ``` pre
+    Disk is full and rolling is disabled. No space can be created
+    ```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/disk_storage/optimize_availability_and_performance.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/optimize_availability_and_performance.html.md.erb b/geode-docs/managing/disk_storage/optimize_availability_and_performance.html.md.erb
new file mode 100644
index 0000000..5a0b60e
--- /dev/null
+++ b/geode-docs/managing/disk_storage/optimize_availability_and_performance.html.md.erb
@@ -0,0 +1,15 @@
+---
+title:  Optimizing a System with Disk Stores
+---
+
+Optimize availability and performance by following the guidelines in this section.
+
+1.  Apache Geode recommends the use of `ext4` filesystems when operating on Linux or Solaris platforms. The `ext4` filesystem supports preallocation, which benefits disk startup performance. If you are using `ext3` filesystems in latency-sensitive environments with high write throughput, you can improve disk startup performance by setting the `maxOplogSize` (see the `DiskStoreFactory.setMaxOplogSize`) to a value lower than the default 1 GB and by disabling preallocation by specifying the system property `gemfire.preAllocateDisk=false` upon Geode process startup.
+2.  When you start your system, start all the members that have persistent regions at roughly the same time. Create and use startup scripts for consistency and completeness.
+3.  Shut down your system using the gfsh `shutdown` command. This is an ordered shutdown that positions your disk stores for a faster startup.
+4.  Configure critical usage thresholds (`disk-usage-warning-percentage` and `disk-usage-critical-percentage`) for the disk. By default, these are set to 80% for warning and 99% for errors that will shut down the cache.
+5.  Decide on a file compaction policy and, if needed, develop procedures to monitor your files and execute regular compaction.
+6.  Decide on a backup strategy for your disk stores and follow it. You can back up a running sytem by using the `backup                     disk-store` command.
+7.  If you remove any persistent region or change its configuration while your disk store is offline, consider synchronizing the regions in your disk stores.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/disk_storage/overview_using_disk_stores.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/overview_using_disk_stores.html.md.erb b/geode-docs/managing/disk_storage/overview_using_disk_stores.html.md.erb
new file mode 100644
index 0000000..a142ee6
--- /dev/null
+++ b/geode-docs/managing/disk_storage/overview_using_disk_stores.html.md.erb
@@ -0,0 +1,19 @@
+---
+title:  Configuring Disk Stores
+---
+
+In addition to the disk stores you specify, Apache Geode has a default disk store that it uses when disk use is configured with no disk store name specified. You can modify default disk store behavior.
+
+-   **[Designing and Configuring Disk Stores](../../managing/disk_storage/using_disk_stores.html)**
+
+    You define disk stores in your cache, then you assign them to your regions and queues by setting the `disk-store-name` attribute in your region and queue configurations.
+
+-   **[Disk Store Configuration Parameters](../../managing/disk_storage/disk_store_configuration_params.html)**
+
+    You define your disk stores by using the `gfsh create disk-store` command or in `<disk-store>` subelements of your cache declaration in `cache.xml`. All disk stores are available for use by all of your regions and queues.
+
+-   **[Modifying the Default Disk Store](../../managing/disk_storage/using_the_default_disk_store.html)**
+
+    You can modify the behavior of the default disk store by specifying the attributes you want for the disk store named "DEFAULT".
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/disk_storage/starting_system_with_disk_stores.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/starting_system_with_disk_stores.html.md.erb b/geode-docs/managing/disk_storage/starting_system_with_disk_stores.html.md.erb
new file mode 100644
index 0000000..25fe244
--- /dev/null
+++ b/geode-docs/managing/disk_storage/starting_system_with_disk_stores.html.md.erb
@@ -0,0 +1,111 @@
+---
+title:  Start Up and Shut Down with Disk Stores
+---
+
+This section describes what happens during startup and shutdown and provides procedures for those operations.
+
+## Start Up
+
+When you start a member with a persistent region, the data is retrieved from disk stores to recreate the member\u2019s persistent region. If the member does not hold all of the most recent data for the region, then other members have the data, and region creation blocks, waiting for the those other members. A partitioned region with colocated entries also blocks on start up, waiting for the entries of the colocated region to be available. A persistent gateway sender is treated the same as a colocated region, so it can also block region creation.
+
+With a log level of info or below, the system provides messaging about the wait. Here, the disk store for server2 has the most recent data for the region, and server1 is waiting for server2.
+
+``` pre
+Region /people has potentially stale data.
+It is waiting for another member to recover the latest data.
+My persistent id:
+
+  DiskStore ID: 6893751ee74d4fbd-b4780d844e6d5ce7
+  Name: server1
+  Location: /192.0.2.0:/home/dsmith/server1/.
+
+Members with potentially new data:
+[
+  DiskStore ID: 160d415538c44ab0-9f7d97bae0a2f8de
+  Name: server2
+  Location: /192.0.2.0:/home/dsmith/server2/.
+]
+Use the "gfsh show missing-disk-stores" command to see all disk stores
+that are being waited on by other members.
+```
+
+When the most recent data is available, the system updates the region, logs a message, and continues the startup.
+
+``` pre
+[info 2010/04/09 10:52:13.010 PDT CacheRunner <main> tid=0x1]    
+   Done waiting for the remote data to be available.
+```
+
+If the member's disk store has data for a region that is never created, the data remains in the disk store.
+
+Each member\u2019s persistent regions load and go online as quickly as possible, not waiting unnecessarily for other members to complete. For performance reasons, these actions occur asynchronously:
+
+-   Once at least one copy of each and every bucket is recovered from disk, the region is available. Secondary buckets will load asynchronously.
+-   Entry keys are loaded from the key file in the disk store before considering entry values. Once all keys are loaded, Geode loads the entry values asynchronously. If a value is requested before it has loaded, the value will immediately be fetched from the disk store.
+
+## <a id="starting_system_with_disk_stores__section_D0A7403707B847749A22BF9221A2C823" class="no-quick-link"></a>Start Up Procedure
+
+To start a system with disk stores:
+
+1.  **Start all members with persisted data first and at the same time**. Exactly how you do this depends on your members. Make sure to start members that host colocated regions, as well as persistent gateway senders.
+
+    While they are initializing their regions, the members determine which have the most recent region data, and initialize their regions with the most recent data.
+
+    For replicated regions, where you define persistence only in some of the region's host members, start the persistent replicate members prior to the non-persistent replicate members to make sure the data is recovered from disk.
+
+    This is an example bash script for starting members in parallel. The script waits for the startup to finish. It exits with an error status if one of the jobs fails.
+
+    ``` pre
+    #!/bin/bash
+    ssh servera "cd /my/directory; gfsh start server --name=servera &
+    ssh serverb "cd /my/directory; gfsh start server --name=serverb &
+
+    STATUS=0;
+    for job in `jobs -p`
+    do
+    echo $job
+    wait $job;
+    JOB_STATUS=$?;
+    test $STATUS -eq 0 && STATUS=$JOB_STATUS;
+    done
+    exit $STATUS;
+    ```
+
+2.  **Respond to blocked members**. When a member blocks waiting for more recent data from another member, the member waits indefinitely rather than coming online with stale data. Check for missing disk stores with the `gfsh show                             missing-disk-stores` command. See [Handling Missing Disk Stores](handling_missing_disk_stores.html#handling_missing_disk_stores).
+    -   If no disk stores are missing, the cache initialization must be slow for some other reason. Check the information on member hangs in [Diagnosing System Problems](../troubleshooting/diagnosing_system_probs.html#diagnosing_system_probs).
+    -   If disk stores are missing that you think should be there:
+        -   Make sure you have started the member. Check the logs for any failure messages. See [Logging](../logging/logging.html#concept_30DB86B12B454E168B80BB5A71268865).
+        -   Make sure your disk store files are accessible. If you have moved your member or disk store files, you must update your disk store configuration to match.
+    -   If disk stores are missing that you know are lost, because you have deleted them or their files are otherwise unavailable, revoke them so the startup can continue.
+
+## <a id="starting_system_with_disk_stores__section_5E32F488EB5D4E74AAB6BF394E4329D6" class="no-quick-link"></a>Example Startup to Illustrate Ordering
+
+The following lists the two possibilities for starting up a replicated persistent region after a shutdown. Assume that Member A (MA) exits first, leaving persisted data on disk for RegionP. Member B (MB) continues to run operations on RegionP, which update its disk store and leave the disk store for MA in a stale condition. MB exits, leaving the most up-to-date data on disk for RegionP.
+
+-   Restart order 1
+    1.  MB is started first. MB identifies that it has the most recent disk data for RegionP and initializes the region from disk. MB does not block.
+    2.  MA is started, recovers its data from disk, and updates region data as needed from the data in MB.
+-   Restart order 2
+    1.  MA is started first. MA identifies that it does not have the most recent disk data and blocks, waiting for MB to start before recreating RegionP in MA.
+    2.  MB is started. MB identifies that it has the most recent disk data for RegionP and initializes the region from disk.
+    3.  MA recovers its RegionP data from disk and updates region data as needed from the data in MB.
+
+## Shutdown
+
+If more than one member hosts a persistent region or queue, the order in which the various members shut down may be significant upon restart of the system. The last member to exit the system or shut down has the most up-to-date data on disk. Each member knows which other system members were online at the time of exit or shutdown. This permits a member to acquire the most recent data upon subsequent start up.
+
+For a replicated region with persistence, the last member to exit has the most recent data.
+
+For a partitioned region every member persists its own buckets. A shutdown using `gfsh shutdown` will synchronize the disk stores before exiting, so all disk stores hold the most recent data. Without an orderly shutdown, some disk stores may have more recent bucket data than others.
+
+The best way to shut down a system is to invoke the `gfsh shutdown` command with all members running. All online data stores will be synchronized before shutting down, so all hold the most recent data copy. To shut down all members other than locators:
+
+``` pre
+gfsh>shutdown
+```
+
+To shut down all members, including locators:
+
+``` pre
+gfsh>shutdown --include-locators=true
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/disk_storage/using_disk_stores.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/using_disk_stores.html.md.erb b/geode-docs/managing/disk_storage/using_disk_stores.html.md.erb
new file mode 100644
index 0000000..a7144b9
--- /dev/null
+++ b/geode-docs/managing/disk_storage/using_disk_stores.html.md.erb
@@ -0,0 +1,199 @@
+---
+title:  Designing and Configuring Disk Stores
+---
+
+You define disk stores in your cache, then you assign them to your regions and queues by setting the `disk-store-name` attribute in your region and queue configurations.
+
+**Note:**
+Besides the disk stores you specify, Apache Geode has a default disk store that it uses when disk use is configured with no disk store name specified. By default, this disk store is saved to the application\u2019s working directory. You can change its behavior, as indicated in [Create and Configure Your Disk Stores](using_disk_stores.html#defining_disk_stores__section_37BC5A4D84B34DB49E489DD4141A4884) and [Modifying the Default Disk Store](using_the_default_disk_store.html#using_the_default_disk_store).
+
+-   [Design Your Disk Stores](using_disk_stores.html#defining_disk_stores__section_0CD724A12EE4418587046AAD9EEC59C5)
+-   [Create and Configure Your Disk Stores](using_disk_stores.html#defining_disk_stores__section_37BC5A4D84B34DB49E489DD4141A4884)
+-   [Configuring Regions, Queues, and PDX Serialization to Use the Disk Stores](using_disk_stores.html#defining_disk_stores__section_AFB254CA9C5A494A8E335352A6849C16)
+-   [Configuring Disk Stores on Gateway Senders](using_disk_stores.html#defining_disk_stores__config-disk-store-gateway)
+
+## <a id="defining_disk_stores__section_0CD724A12EE4418587046AAD9EEC59C5" class="no-quick-link"></a>Design Your Disk Stores
+
+Before you begin, you should understand Geode [Basic Configuration and Programming](../../basic_config/book_intro.html).
+
+1.  Work with your system designers and developers to plan for anticipated disk storage requirements in your testing and production caching systems. Take into account space and functional requirements.
+    -   For efficiency, separate data that is only overflowed in separate disk stores from data that is persisted or persisted and overflowed. Regions can be overflowed, persisted, or both. Server subscription queues are only overflowed.
+    -   When calculating your disk requirements, figure in your data modification patterns and your compaction strategy. Geode creates each oplog file at the max-oplog-size, which defaults to 1 GB. Obsolete operations are only removed from the oplogs during compaction, so you need enough space to store all operations that are done between compactions. For regions where you are doing a mix of updates and deletes, if you use automatic compaction, a good upper bound for the required disk space is
+
+        ``` pre
+        (1 / (1 - (compaction_threshold/100)) ) * data size
+        ```
+
+        where data size is the total size of all the data you store in the disk store. So, for the default compaction-threshold of 50, the disk space is roughly twice your data size. Note that the compaction thread could lag behind other operations, causing disk use to rise above the threshold temporarily. If you disable automatic compaction, the amount of disk required depends on how many obsolete operations accumulate between manual compactions.
+
+2.  Work with your host system administrators to determine where to place your disk store directories, based on your anticipated disk storage requirements and the available disks on your host systems.
+    -   Make sure the new storage does not interfere with other processes that use disk on your systems. If possible, store your files to disks that are not used by other processes, including virtual memory or swap space. If you have multiple disks available, for the best performance, place one directory on each disk.
+    -   Use different directories for different members. You can use any number of directories for a single disk store.
+
+## <a id="defining_disk_stores__section_37BC5A4D84B34DB49E489DD4141A4884" class="no-quick-link"></a>Create and Configure Your Disk Stores
+
+1.  In the locations you have chosen, create all directories you will specify for your disk stores to use. Geode throws an exception if the specified directories are not available when a disk store is created. You do not need to populate these directories with anything.
+2.  Open a `gfsh` prompt and connect to the distributed system.
+3.  At the `gfsh` prompt, create and configure a disk store:
+    -  Specify the name (`--name`) of the disk-store.
+
+        -   Choose disk store names that reflect how the stores should be used and that work for your operating systems. Disk store names are used in the disk file names:
+
+            -   Use disk store names that satisfy the file naming requirements for your operating system. For example, if you store your data to disk in a Windows system, your disk store names could not contain any of these reserved characters, &lt; &gt; : " / \\ | ? \*.
+
+            -   Do not use very long disk store names. The full file names must fit within your operating system limits. On Linux, for example, the standard limitation is 255 characters.
+
+        ``` pre
+        gfsh>create disk-store --name=serverOverflow --dir=c:\overflow_data#20480 
+        ```
+    -  Configure the directory locations (`--dir`) and the maximum space to use for the store (specified after the disk directory name by \# and the maximum number in megabytes).
+
+        ``` pre
+        gfsh>create disk-store --name=serverOverflow --dir=c:\overflow_data#20480
+        ```
+    -  Optionally, you can configure the store\u2019s file compaction behavior. In conjunction with this, plan and program for any manual compaction.  Example:
+
+        ``` pre
+        gfsh>create disk-store --name=serverOverflow --dir=c:\overflow_data#20480 \
+        --compaction-threshold=40 --auto-compact=false --allow-force-compaction=true
+        ```
+    -  If needed, configure the maximum size (in MB) of a single oplog. When the current files reach this size, the system rolls forward to a new file. You get better performance with relatively small maximum file sizes.  Example:
+
+        ``` pre
+        gfsh>create disk-store --name=serverOverflow --dir=c:\overflow_data#20480 \
+        --compaction-threshold=40 --auto-compact=false --allow-force-compaction=true \
+        --max-oplog-size=512
+        ```
+    -  If needed, modify queue management parameters for asynchronous queueing to the disk store. You can configure any region for synchronous or asynchronous queueing (region attribute `disk-synchronous`). Server queues and gateway sender queues always operate synchronously. When either the `queue-size` (number of operations) or `time-interval` (milliseconds) is reached, enqueued data is flushed to disk. You can also synchronously flush unwritten data to disk through the `DiskStore` `flushToDisk` method.  Example:
+
+        ``` pre
+        gfsh>create disk-store --name=serverOverflow --dir=c:\overflow_data#20480 \
+        --compaction-threshold=40 --auto-compact=false --allow-force-compaction=true \
+        --max-oplog-size=512 --queue-size=10000 --time-interval=15
+        ```
+    -  If needed, modify the size (specified in bytes) of the buffer used for writing to disk.  Example:
+
+        ``` pre
+        gfsh>create disk-store --name=serverOverflow --dir=c:\overflow_data#20480 \
+        --compaction-threshold=40 --auto-compact=false --allow-force-compaction=true \
+        --max-oplog-size=512 --queue-size=10000 --time-interval=15 --write-buffer-size=65536
+        ```
+    -  If needed, modify the `disk-usage-warning-percentage` and `disk-usage-critical-percentage` thresholds that determine the percentage (default: 90%) of disk usage that will trigger a warning and the percentage (default: 99%) of disk usage that will generate an error and shut down the member cache.  Example:
+
+        ``` pre
+        gfsh>create disk-store --name=serverOverflow --dir=c:\overflow_data#20480 \
+        --compaction-threshold=40 --auto-compact=false --allow-force-compaction=true \
+        --max-oplog-size=512 --queue-size=10000 --time-interval=15 --write-buffer-size=65536 \
+        --disk-usage-warning-percentage=80 --disk-usage-critical-percentage=98
+        ```
+
+The following is the complete disk store cache.xml configuration example:
+
+``` pre
+<disk-store name="serverOverflow" compaction-threshold="40" 
+           auto-compact="false" allow-force-compaction="true"
+        max-oplog-size="512" queue-size="10000"  
+        time-interval="15" write-buffer-size="65536"
+        disk-usage-warning-percentage="80"
+        disk-usage-critical-percentage="98">
+       <disk-dirs>
+              <disk-dir>c:\overflow_data</disk-dir>
+              <disk-dir dir-size="20480">d:\overflow_data</disk-dir>
+       </disk-dirs>
+</disk-store>
+```
+
+**Note:**
+As an alternative to defining cache.xml on every server in the cluster-- if you have the cluster configuration service enabled, when you create a disk store in `gfsh`, you can share the disk store's configuration with the rest of cluster. See [Overview of the Cluster Configuration Service](../../configuring/cluster_config/gfsh_persist.html).
+
+## Modifying Disk Stores
+
+You can modify an offline disk store by using the [alter disk-store](../../tools_modules/gfsh/command-pages/alter.html#topic_99BCAD98BDB5470189662D2F308B68EB) command. If you are modifying the default disk store configuration, use "DEFAULT" as the disk-store name.
+
+## <a id="defining_disk_stores__section_AFB254CA9C5A494A8E335352A6849C16" class="no-quick-link"></a>Configuring Regions, Queues, and PDX Serialization to Use the Disk Stores
+
+The following are examples of using already created and named disk stores for Regions, Queues, and PDX Serialization.
+
+Example of using a disk store for region persistence and overflow:
+
+-   gfsh:
+
+    ``` pre
+    gfsh>create region --name=regionName --type=PARTITION_PERSISTENT_OVERFLOW \
+    --disk-store=serverPersistOverflow
+    ```
+
+-   cache.xml
+
+    ``` pre
+    <region refid="PARTITION_PERSISTENT_OVERFLOW" disk-store-name="persistOverflow1"/>
+    ```
+
+Example of using a named disk store for server subscription queue overflow (cache.xml):
+
+``` pre
+<cache-server port="40404">
+   <client-subscription 
+      eviction-policy="entry" 
+      capacity="10000"
+      disk-store-name="queueOverflow2"/>
+</cache-server>
+```
+
+Example of using a named disk store for PDX serialization metadata (cache.xml):
+
+``` pre
+<pdx read-serialized="true" 
+    persistent="true" 
+    disk-store-name="SerializationDiskStore">
+</pdx>
+```
+
+## <a id="defining_disk_stores__config-disk-store-gateway" class="no-quick-link"></a>Configuring Disk Stores on Gateway Senders
+
+Gateway sender queues are always overflowed and may be persisted. Assign them to overflow disk stores if you do not persist, and to persistence disk stores if you do.
+
+Example of using a named disk store for gateway sender queue persistence:
+
+-   gfsh:
+
+    ``` pre
+    gfsh>create gateway-sender --id=persistedSender1 --remote-distributed-system-id=1 \
+    --enable-persistence=true --disk-store-name=diskStoreA --maximum-queue-memory=100  
+    ```
+
+-   cache.xml:
+
+    ``` pre
+    <cache>
+      <gateway-sender id="persistedsender1" parallel="true" 
+       remote-distributed-system-id="1"
+       enable-persistence="true"
+       disk-store-name="diskStoreA"
+       maximum-queue-memory="100"/> 
+       ... 
+    </cache>
+    ```
+
+Examples of using the default disk store for gateway sender queue persistence and overflow:
+
+-   gfsh:
+
+    ``` pre
+    gfsh>create gateway-sender --id=persistedSender1 --remote-distributed-system-id=1 \
+    --enable-persistence=true --maximum-queue-memory=100 
+    ```
+
+-   cache.xml:
+
+    ``` pre
+    <cache>
+      <gateway-sender id="persistedsender1" parallel="true" 
+       remote-distributed-system-id="1"
+       enable-persistence="true"
+       maximum-queue-memory="100"/> 
+       ... 
+    </cache>
+    ```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/disk_storage/using_the_default_disk_store.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/using_the_default_disk_store.html.md.erb b/geode-docs/managing/disk_storage/using_the_default_disk_store.html.md.erb
new file mode 100644
index 0000000..bd2bfda
--- /dev/null
+++ b/geode-docs/managing/disk_storage/using_the_default_disk_store.html.md.erb
@@ -0,0 +1,53 @@
+---
+title:  Modifying the Default Disk Store
+---
+
+You can modify the behavior of the default disk store by specifying the attributes you want for the disk store named "DEFAULT".
+
+<a id="using_the_default_disk_store__section_7D6E1A05D28840AC8606EF0D88E9B373"></a>
+Whenever you use disk stores without specifying the disk store to use, Geode uses the disk store named "DEFAULT".
+
+For example, these region and queue configurations specify persistence and/or overflow, but do not specify the disk-store-name. Because no disk store is specified, these use the disk store named "DEFAULT".
+
+Examples of using the default disk store for region persistence and overflow:
+
+-   gfsh:
+
+    ``` pre
+    gfsh>create region --name=regionName --type=PARTITION_PERSISTENT_OVERFLOW
+    ```
+
+-   cache.xml
+
+    ``` pre
+    <region refid="PARTITION_PERSISTENT_OVERFLOW"/>
+    ```
+
+Example of using the default disk store for server subscription queue overflow (cache.xml):
+
+``` pre
+<cache-server port="40404">
+    <client-subscription eviction-policy="entry" capacity="10000"/>
+</cache-server>
+```
+
+## <a id="using_the_default_disk_store__section_671AED6EAFEE485D837411DEBE0C6BC6" class="no-quick-link"></a>Change the Behavior of the Default Disk Store
+
+Geode initializes the default disk store with the default disk store configuration settings. You can modify the behavior of the default disk store by specifying the attributes you want for the disk store named "DEFAULT". The only thing you can\u2019t change about the default disk store is the name.
+
+The following example changes the default disk store to allow manual compaction and to use multiple, non-default directories:
+
+cache.xml:
+
+``` pre
+<disk-store name="DEFAULT" allow-force-compaction="true">
+     <disk-dirs>
+        <disk-dir>/export/thor/customerData</disk-dir>
+        <disk-dir>/export/odin/customerData</disk-dir>
+        <disk-dir>/export/embla/customerData</disk-dir>
+     </disk-dirs>
+</disk-store>
+```
+
+<a id="using_the_default_disk_store__section_C61BA9AD9A6442DA934C2B20C75E0996"></a>
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/disk_storage/validating_disk_store.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/disk_storage/validating_disk_store.html.md.erb b/geode-docs/managing/disk_storage/validating_disk_store.html.md.erb
new file mode 100644
index 0000000..13c9801
--- /dev/null
+++ b/geode-docs/managing/disk_storage/validating_disk_store.html.md.erb
@@ -0,0 +1,20 @@
+---
+title:  Validating a Disk Store
+---
+
+<a id="validating_disk_store__section_1782CD93DB6040A2BF52014A6600EA44"></a>
+The `validate offline-disk-store` command verifies the health of your offline disk store and gives you information about the regions in it, the total entries, and the number of records that would be removed if you compacted the store.
+
+Use this command at these times:
+
+-   Before compacting an offline disk store to help decide whether it\u2019s worth doing.
+-   Before restoring or modifying a disk store.
+-   Any time you want to be sure the disk store is in good shape.
+
+Example:
+
+``` pre
+gfsh>validate offline-disk-store --name=ds1 --disk-dirs=hostB/bupDirectory
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/heap_use/heap_management.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/heap_use/heap_management.html.md.erb b/geode-docs/managing/heap_use/heap_management.html.md.erb
new file mode 100644
index 0000000..f3b90b7
--- /dev/null
+++ b/geode-docs/managing/heap_use/heap_management.html.md.erb
@@ -0,0 +1,208 @@
+---
+title: Managing Heap and Off-heap Memory
+---
+
+By default, Apache Geode uses the JVM heap. Apache Geode also offers an option to store data off heap. This section describes how to manage heap and off-heap memory to best support your application.
+
+## <a id="section_590DA955523246ED980E4E351FF81F71" class="no-quick-link"></a>Tuning the JVM's Garbage Collection Parameters
+
+Because Apache Geode is specifically designed to manipulate data held in memory, you can optimize your application's performance by tuning the way Apache Geode uses the JVM heap.
+
+See your JVM documentation for all JVM-specific settings that can be used to improve garbage collection (GC) response. At a minimum, do the following:
+
+1.  Set the initial and maximum heap switches, `-Xms` and `-Xmx`, to the same values. The `gfsh start server` options `--initial-heap` and `--max-heap` accomplish the same purpose, with the added value of providing resource manager defaults such as eviction threshold and critical threshold.
+2.  Configure your JVM for concurrent mark-sweep (CMS) garbage collection.
+3.  If your JVM allows, configure it to initiate CMS collection when heap use is at least 10% lower than your setting for the resource manager `eviction-heap-percentage`. You want the collector to be working when Geode is evicting or the evictions will not result in more free memory. For example, if the `eviction-heap-percentage` is set to 65, set your garbage collection to start when the heap use is no higher than 55%.
+
+| JVM         | CMS switch flag           | CMS initiation (begin at heap % N)     |
+|-------------|---------------------------|----------------------------------------|
+| Sun HotSpot | `\u2011XX:+UseConcMarkSweepGC` | `\u2011XX:CMSInitiatingOccupancyFraction=N` |
+| JRockit     | `-Xgc:gencon`             | `-XXgcTrigger:N`                       |
+| IBM         | `-Xgcpolicy:gencon`       | N/A                                    |
+
+For the `gfsh start server` command, pass these settings with the `--J` switch, for example: `\u2011\u2011J=\u2011XX:+UseConcMarkSweepGC`.
+
+The following is an example of setting JVM for an application:
+
+``` pre
+$ java app.MyApplication -Xms=30m -Xmx=30m -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=60
+```
+
+**Note:** Do not use the `-XX:+UseCompressedStrings` and `-XX:+UseStringCache` JVM configuration properties when starting up servers. These JVM options can cause issues with data corruption and compatibility.
+
+Or, using `gfsh`:
+
+``` pre
+$ gfsh start server --name=app.MyApplication --initial-heap=30m --max-heap=30m \
+--J=-XX:+UseConcMarkSweepGC --J=-XX:CMSInitiatingOccupancyFraction=60
+```
+
+## <a id="how_the_resource_manager_works" class="no-quick-link"></a>Using the Geode Resource Manager
+
+The Geode resource manager works with your JVM's tenured garbage collector to control heap use and protect your member from hangs and crashes due to memory overload.
+
+<a id="how_the_resource_manager_works__section_53E80B61991447A2915E8A754383B32D"></a>
+The Geode resource manager prevents the cache from consuming too much memory by evicting old data. If the garbage collector is unable to keep up, the resource manager refuses additions to the cache until the collector has freed an adequate amount of memory.
+
+The resource manager has two threshold settings, each expressed as a percentage of the total tenured heap. Both are disabled by default.
+
+  1.  **Eviction Threshold**. Above this, the manager orders evictions for all regions with `eviction-attributes` set to `lru-heap-percentage`. This prompts dedicated background evictions, independent of any application threads and it also tells all application threads adding data to the regions to evict at least as much data as they add. The JVM garbage collector removes the evicted data, reducing heap use. The evictions continue until the manager determines that heap use is again below the eviction threshold.
+
+    The resource manager enforces eviction thresholds only on regions whose LRU eviction policies are based on heap percentage. Regions whose eviction policies based on entry count or memory size use other mechanisms to manage evictions. See [Eviction](../../developing/eviction/chapter_overview.html) for more detail regarding eviction policies.
+
+  2.  **Critical Threshold**. Above this, all activity that might add data to the cache is refused. This threshold is set above the eviction threshold and is intended to allow the eviction and GC work to catch up. This JVM, all other JVMs in the distributed system, and all clients to the system receive `LowMemoryException` for operations that would add to this critical member's heap consumption. Activities that fetch or reduce data are allowed. For a list of refused operations, see the Javadocs for the `ResourceManager` method `setCriticalHeapPercentage`.
+
+    Critical threshold is enforced on all regions, regardless of LRU eviction policy, though it can be set to zero to disable its effect.
+
+<img src="../../images/DataManagement-9.png" id="how_the_resource_manager_works__image_C3568D47EE1B4F2C9F0742AE9C291BF1" class="image" />
+
+When heap use passes the eviction threshold in either direction, the manager logs an info-level message.
+
+When heap use exceeds the critical threshold, the manager logs an error-level message. Avoid exceeding the critical threshold. Once identified as critical, the Geode member becomes a read-only member that refuses cache updates for all of its regions, including incoming distributed updates.
+
+For more information, see `org.apache.geode.cache.control.ResourceManager` in the online API documentation.
+
+## <a id="how_the_resource_manager_works__section_EA5E52E65923486488A71E3E6F0DE9DA" class="no-quick-link"></a>How Background Eviction Is Performed
+
+When the manager kicks off evictions:
+
+1.  From all regions in the local cache that are configured for heap LRU eviction, the background eviction manager creates a randomized list containing one entry for each partitioned region bucket (primary or secondary) and one entry for each non-partitioned region. So each partitioned region bucket is treated the same as a single, non-partitioned region.
+
+2.  The background eviction manager starts four evictor threads for each processor on the local machine. The manager passes each thread its share of the bucket/region list. The manager divides the bucket/region list as evenly as possible by count, and not by memory consumption.
+
+3.  Each thread iterates round-robin over its bucket/region list, evicting one LRU entry per bucket/region until the resource manager sends a signal to stop evicting.
+
+See also [Memory Requirements for Cached Data](../../reference/topics/memory_requirements_for_cache_data.html#calculating_memory_requirements).
+
+## <a id="configuring_resource_manager_controlling_heap_use" class="no-quick-link"></a>Controlling Heap Use with the Resource Manager
+
+Resource manager behavior is closely tied to the triggering of Garbage Collection (GC) activities, the use of concurrent garbage collectors in the JVM, and the number of parallel GC threads used for concurrency.
+
+<a id="configuring_resource_manager__section_B47A78E7BA0048C89FBBDB7441C308BE"></a>
+The recommendations provided here for using the manager assume you have a solid understanding of your Java VM's heap management and garbage collection service.
+
+The resource manager is available for use in any Apache Geode member, but you may not want to activate it everywhere. For some members it might be better to occasionally restart after a hang or OME crash than to evict data and/or refuse distributed caching activities. Also, members that do not risk running past their memory limits would not benefit from the overhead the resource manager consumes. Cache servers are often configured to use the manager because they generally host more data and have more data activity than other members, requiring greater responsiveness in data cleanup and collection.
+
+For the members where you want to activate the resource manager:
+
+1.  Configure Geode for heap LRU management.
+
+2.  Set the JVM GC tuning parameters to handle heap and garbage collection in conjunction with the Geode manager.
+
+3.  Monitor and tune heap LRU configurations and your GC configurations.
+
+4.  Before going into production, run your system tests with application behavior and data loads that approximate your target systems so you can tune as well as possible for production needs.
+
+5.  In production, keep monitoring and tuning to meet changing needs.
+
+## <a id="configuring_resource_manager__section_4949882892DA46F6BB8588FA97037F45" class="no-quick-link"></a>Configure Geode for Heap LRU Management
+
+The configuration terms used here are `cache.xml` elements and attributes, but you can also configure through `gfsh` and the `org.apache.geode.cache.control.ResourceManager` and `Region` APIs.
+
+1.  When starting up your server, set `initial-heap` and `max-heap` to the same value.
+
+2.  Set the `resource-manager` `critical-heap-percentage` threshold. This should be as as close to 100 as possible while still low enough so the manager's response can prevent the member from hanging or getting `OutOfMemoryError`. The threshold is zero (no threshold) by default.
+
+    **Note:** When you set this threshold, it also enables a query monitoring feature that prevents most out-of-memory exceptions when executing queries or creating indexes. See [Monitoring Queries for Low Memory](../../developing/querying_basics/monitor_queries_for_low_memory.html#topic_685CED6DE7D0449DB8816E8ABC1A6E6F).
+
+3.  Set the `resource-manager` `eviction-heap-percentage` threshold to a value lower than the critical threshold. This should be as high as possible while still low enough to prevent your member from reaching the critical threshold. The threshold is zero (no threshold) by default.
+
+4.  Decide which regions will participate in heap eviction and set their `eviction-attributes` to `lru-heap-percentage`. See [Eviction](../../developing/eviction/chapter_overview.html). The regions you configure for eviction should have enough data activity for the evictions to be useful and should contain data your application can afford to delete or offload to disk.
+
+<a id="configuring_resource_manager__section_5D88064B75C643B0849BBD4345A6671B"></a>
+
+gfsh example:
+
+``` pre
+gfsh>start server --name=server1 --initial-heap=30m --max-heap=30m \
+--critical-heap-percentage=80 --eviction-heap-percentage=60
+```
+
+cache.xml example:
+
+``` pre
+<cache>
+<region refid="REPLICATE_HEAP_LRU" />
+...
+<resource-manager critical-heap-percentage="80" eviction-heap-percentage="60"/>
+</cache>
+```
+
+**Note:** The `resource-manager` specification must appear after the region declarations in your cache.xml file.
+
+## <a id="set_jvm_gc_tuning_params" class="no-quick-link"></a>Set the JVM GC Tuning Parameters
+
+If your JVM allows, configure it to initiate concurrent mark-sweep (CMS) garbage collection when heap use is at least 10% lower than your setting for the resource manager `eviction-heap-percentage`. You want the collector to be working when Geode is evicting or the evictions will not result in more free memory. For example, if the `eviction-heap-percentage` is set to 65, set your garbage collection to start when the heap use is no higher than 55%.
+
+## <a id="configuring_resource_manager__section_DE1CC494C2B547B083AA00821250972A" class="no-quick-link"></a>Monitor and Tune Heap LRU Configurations
+
+In tuning the resource manager, your central focus should be keeping the member below the critical threshold. The critical threshold is provided to avoid member hangs and crashes, but because of its exception-throwing behavior for distributed updates, the time spent in critical negatively impacts the entire distributed system. To stay below critical, tune so that the Geode eviction and the JVM's GC respond adequately when the eviction threshold is reached.
+
+Use the statistics provided by your JVM to make sure your memory and GC settings are sufficient for your needs.
+
+The Geode `ResourceManagerStats` provide information about memory use and the manager thresholds and eviction activities.
+
+If your application spikes above the critical threshold on a regular basis, try lowering the eviction threshold. If the application never goes near critical, you might raise the eviction threshold to gain more usable memory without the overhead of unneeded evictions or GC cycles.
+
+The settings that will work well for your system depend on a number of factors, including these:
+
+ - The size of the data objects you store in the cache
+Very large data objects can be evicted and garbage collected relatively quickly. The same amount of space in use by many small objects takes more processing effort to clear and might require lower thresholds to allow eviction and GC activities to keep up.
+
+ - Application behavior
+Applications that quickly put a lot of data into the cache can more easily overrun the eviction and GC capabilities. Applications that operate more slowly may be more easily offset by eviction and GC efforts, possibly allowing you to set your thresholds higher than in the more volatile system.
+
+ - Your choice of JVM
+Each JVM has its own GC behavior, which affects how efficiently the collector can operate, how quickly it kicks in when needed, and other factors.
+
+## <a id="resource_manager_example_configurations" class="no-quick-link"></a>Resource Manager Example Configurations
+
+<a id="resource_manager_example_configurations__section_B50C552B114D47F3A63FC906EB282024"></a>
+These examples set the critical threshold to 85 percent of the tenured heap and the eviction threshold to 75 percent. The region `bigDataStore` is configured to participate in the resource manager's eviction activities.
+
+-   gfsh Example:
+
+    ``` pre
+    gfsh>start server --name=server1 --initial-heap=30MB --max-heap=30MB \
+    --critical-heap-percentage=85 --eviction-heap-percentage=75
+    ```
+
+    ``` pre
+    gfsh>create region --name=bigDataStore --type=PARTITION_HEAP_LRU
+    ```
+
+-   XML:
+
+    ``` pre
+    <cache>
+    <region name="bigDataStore" refid="PARTITION_HEAP_LRU"/>
+    ...
+    <resource-manager critical-heap-percentage="85" eviction-heap-percentage="75"/>
+    </cache>
+    ```
+
+    **Note:** The `resource-manager` specification must appear after the region declarations in your cache.xml file.
+
+-   Java:
+
+    ``` pre
+    Cache cache = CacheFactory.create();
+
+    ResourceManager rm = cache.getResourceManager();
+    rm.setCriticalHeapPercentage(85);
+    rm.setEvictionHeapPercentage(75);
+
+    RegionFactory rf =
+      cache.createRegionFactory(RegionShortcut.PARTITION_HEAP_LRU);
+      Region region = rf.create("bigDataStore");
+    ```
+
+## <a id="resource_manager_example_configurations__section_95497FDF114A4DC8AC5D899E05E324E5" class="no-quick-link"></a>Use Case for the Example Code
+
+This is one possible scenario for the configuration used in the examples:
+
+-   A 64-bit Java VM with 8 Gb of heap space on a 4 CPU system running Linux.
+-   The data region bigDataStore has approximately 2-3 million small values with average entry size of 512 bytes. So approximately 4-6 Gb of the heap is for region storage.
+-   The member hosting the region also runs an application that may take up to 1 Gb of the heap.
+-   The application must never run out of heap space and has been crafted such that data loss in the region is acceptable if the heap space becomes limited due to application issues, so the default `lru-heap-percentage` action destroy is suitable.
+-   The application's service guarantee makes it very intolerant of `OutOfMemoryException` errors. Testing has shown that leaving 15% head room above the critical threshold when adding data to the region gives 99.5% uptime with no `OutOfMemoryException` errors, when configured with the CMS garbage collector using `-XX:CMSInitiatingOccupancyFraction=70`.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/managing/heap_use/lock_memory.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/managing/heap_use/lock_memory.html.md.erb b/geode-docs/managing/heap_use/lock_memory.html.md.erb
new file mode 100644
index 0000000..3c7e23f
--- /dev/null
+++ b/geode-docs/managing/heap_use/lock_memory.html.md.erb
@@ -0,0 +1,35 @@
+---
+title: Locking Memory (Linux Systems Only)
+---
+
+<a id="locking-memory"></a>
+
+
+On Linux systems, you can lock memory to prevent the operating system from paging out heap or off-heap memory.
+
+To use this feature:
+
+1.  Configure the operating system limits for locked memory. Increase the operating system's `ulimit -l` value (the maximum size that may be locked in memory) from the default (typically 32 KB or 64 KB) to at least the total amount of memory used by Geode for on-heap or off-heap storage. To view the current setting, enter `ulimit -a` at a shell prompt and find the value for `max locked                         memory`:
+
+    ``` pre
+    # ulimit -a
+    ...
+    max locked memory       (kbytes, -l) 64
+    ...
+    ```
+
+    Use `ulimit -l max-size-in-kbytes` to raise the limit. For example, to set the locked memory limit to 64 GB:
+
+    ``` pre
+    # ulimit -l 64000000
+    ```
+
+2.  Using locked memory in this manner increases the time required to start Geode. The additional time required to start Geode depends on the total amount of memory used, and can range from several seconds to 10 minutes or more. To improve startup time and reduce the potential of member timeouts, instruct the kernel to free operating system page caches just before starting a Geode member by issuing the following command:
+
+    ``` pre
+    $ echo 1 > /proc/sys/vm/drop_caches
+    ```
+
+3.  Start each Geode data store with the gfsh `-lock-memory=true` option. If you deploy more than one server per host, begin by starting each server sequentially. Starting servers sequentially avoids a race condition in the operating system that can cause failures (even machine crashes) if you accidentally over-allocate the available RAM. After you verify that the system configuration is stable, you can then start servers concurrently.
+
+


[02/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/application-plugins.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/application-plugins.html.md.erb b/geode-docs/nativeclient/client-cache/application-plugins.html.md.erb
new file mode 100644
index 0000000..8d23295
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/application-plugins.html.md.erb
@@ -0,0 +1,262 @@
+---
+title:  Specifying Application Plug-In Attributes
+---
+
+<a id="application-plugins__section_E81DB00AE0784BA2819DB3683C257647"></a>
+The plug-in attributes allow you to customize client region behavior for loading, updating, deleting, and overflowing region data and for accessing data in server partitioned regions. All client plug-ins are available through the C++ and .NET API.
+
+Application plug-ins for cache regions in clients can be declared either programmatically or in the `cache.xml` file.
+
+
+<a id="application-plugins__fig_630074710E134805A96B50AA5373866F"></a>
+<span class="figtitleprefix">Figure: </span>Where Application Plug-Ins Run
+
+<img src="../common/images/client-cache-plugins-run.gif" alt="Where Application Plug-Ins Run" id="application-plugins__image_23F82DD7DCD543239F3A75F112282C46" class="image" />
+
+## <a id="application-plugins__section_8FEB62EEC7A042E0A85E0FEDC9F71597" class="no-quick-link"></a>Overview of Application Plug-ins
+
+The API provides the framework for application plug-ins with callback functions for the appropriate events. Your classes and functions can customize these for your application's needs. When creating a region, specify these as part of the region's attributes settings. For regions already in the cache, you can specify new `CacheLoader`, `CacheWriter`, and `CacheListener` using the region's `AttributesMutator`. The `PartitionResolver` is not mutable.
+
+-   `CacheLoader`: A data loader called when an entry get operation fails to find a value for a given key. A cache loader is generally used to retrieve data from an outside source such as a database, but it may perform any operation defined by the user. Loaders are invoked as part of the distributed loading activities for entry retrieval, described in [Entry Retrieval](accessing-entries.html#accessing-entries__section_AD6AFD842C144C128FA1C7F0B9283372).
+-   `CacheWriter`: A synchronous event listener that receives callbacks before region events occur and has the ability to abort the operations. Writers are generally used to keep a back-end data source synchronized with the cache.
+-   `CacheListener`: An asynchronous event listener for region events in the local cache.
+-   `PartitionResolver`: Used for single-hop access to partitioned region entries on the server side. This resolver implementation must match that of the `PartitionResolver` on the server side.
+
+The following XML declaration specifies a cache loader for a region when the region is created.
+
+``` pre
+<region-attributes>
+    <cache-loader library-name="appl-lib"
+        library-function-name ="createCacheLoader">
+    </cache-loader>
+</region-attributes>
+```
+
+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 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 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 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.
+
+This declarative XML example establishes a cache listener when a region is created:
+
+``` pre
+<region name="region11">
+    <region-attributes>
+        <cache-listener library-name="appl-lib"
+            library-function-name ="createCacheListener" />
+    </region-attributes>
+</region>
+```
+
+Unlike cache loaders and cache writers, cache listeners only receive events for entries to which the client has performed operations or registered interest.
+
+When the listener is attached to a region with caching disabled, the old value is always `NULL`.
+
+**Note:**
+Do not perform region operations inside the cache listener. Once you have configured a cache listener, the event supplies the new entry values to the application. Performing a get with a key from the `EntryEvent` can result in distributed deadlock. For more about this, see the online API documentation for `EntryEvent`.
+
+When a region disconnects from a cache listener, you can implement the `afterRegionDisconnected` callback event. This callback event is only be invoked when using the `pool` API and `subscription` is enabled on the pool. For example:
+
+``` pre
+class DisconnectCacheListener : public CacheListener
+{
+    void afterRegionDisconnected( const RegionPtr& region )
+    {
+        printf("After Region Disconnected event received");
+    }
+};
+```
+
+## <a id="application-plugins__section_348E00A84F274D4B9DBA9ECFEB2F012E" 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 that hosts the key--in a single hop.
+
+**Note:**
+Single hop is used for the following operations: `put`, `get`, `destroy`, `putAll`, `getAll`, `removeAll` and `onRegion` function execution.
+
+**Implementing Single-Hop on a Partitioned Region**
+
+1.  Make sure the pool attribute, `pr-single-hop-enabled`, is set to `true` or not set. It is `true` by default.
+2.  If the server uses a custom `PartitionResolver` install an implementation of `PartitionResolver` in the client region that returns, entry for entry, the same value as the server's Java `PartitionResolver` implementation. The server uses the resolver to colocate like data within a partitioned region.
+
+    If the server does not use a custom resolver, the default resolvers in client and server match, so single hop will work there by default.
+
+Disable single hop behavior for a region by setting its pool attribute `pr-single-hop-enabled` to `false`.
+
+See [&lt;client-cache&gt; Element Reference](../../reference/topics/client-cache.html) for information on setting `pr-single-hop-enabled`.
+
+See [Partitioned Regions](../../developing/partitioned_regions/chapter_overview.html) for more information, including colocating like data within a partitioned region and how to get the best performance with PR single hop.
+
+**Implementing a PartitionResolver**
+
+See [Custom-Partitioning and Colocating Data](../../developing/partitioned_regions/overview_custom_partitioning_and_data_colocation.html) for information on custom-partitioning the server partitioned regions.
+
+1.  Implement `PartitionResolver` in the same place that you did in the server--custom class, key, or cache callback argument.
+2.  Program the resolver's functions the same way you programmed them in the Java implementation. Your implementation must match the server's.
+
+    Example of programming the `PartitionResolver` in C++:
+
+    ``` pre
+    class TradeKeyResolver : public PartitionResolver
+    {
+    private:
+        string m_tradeID;
+        int m_month;
+        int m_year;
+    public:
+        TradeKeyResolver() { }
+        TradeKeyResolver(int month, int year) {
+            m_month = month;
+            m_year = year;
+        }
+
+        ~TradeKeyResolver() { }
+
+        static PartitionResolverPtr createTradeKeyResolver() {
+            PartitionResolverPtr tradeKeyResolver( new TradeKeyResolver());
+        return tradeKeyResolver;
+        }
+        const char* getName() {
+            return "TradeKey";
+        }
+        CacheableKeyPtr getRoutingObject(const EntryEvent& opDetails) {
+            return CacheableKey::create(m_month + m_year);
+        }
+    };
+    ```
+
+    Example of programming the `PartitionResolver` in C\#:
+
+    ``` pre
+    using System;
+    using System.Threading;
+    // Use the GemFire namespace
+    using GemStone.GemFire.Cache;
+    class TradeKeyResolver : IPartitionResolver
+    {
+        private int m_month = 0;
+        private int m_year = 0;
+
+        public static TradeKeyResolver CreateTradeKeyResolver()
+        {
+            return new TradeKeyResolver();
+        }
+
+        public virtual ICacheableKey GetRoutingObject(EntryEvent entry)
+        {
+            return new CacheableInt32(m_month + m_year);
+        }
+
+        public virtual String GetName()
+        {
+            return "TradeKeyResolver";
+        }
+    }
+    ```
+
+3.  Install the resolver in the region. Use one of these methods:
+
+    XML partition resolver declaration:
+
+    ``` pre
+    <region name="trades" refid="CACHING_PROXY">
+        <region-attributes>
+            <partition-resolver library-name="appl-lib" library-function-name=
+            "createTradeKeyResolver"/>
+        </region-attributes>
+    </region>
+    <pool free-connection-timeout="12345" idle-timeout="5555"
+            load-conditioning-interval="23456" max-connections="7"
+            min-connections="3" name="test_pool_1" ping-interval="12345"
+            read-timeout="23456" retry-attempts="3" server-group="ServerGroup1"
+            socket-buffer-size="32768" statistic-interval="10123"
+            subscription-ack-interval="567" subscription-enabled="true"
+            subscription-message-tracking-timeout="900123"
+            subscription-redundancy="0" thread-local-connections="5"
+            pr-single-hop-enabled="true" >
+        <locator host="localhost" port="34756"/>
+    </pool>
+    ```
+
+    Programmatic partition resolver installation:
+
+    ``` pre
+    void setPartitionResolver()
+    {
+        CachePtr cachePtr = CacheFactory::createCacheFactory()->create();
+        PartitionResolverPtr resolver( new TradeKeyResolver());
+        RegionFactoryPtr regionFactory =
+            cachePtr->createRegionFactory(PROXY)
+            ->setClientNotificationEnabled(true)
+            ->setPartitionResolver(resolver);
+        RegionPtr regionPtr = regionFactory->create( "Trades" );
+    }
+    ```
+
+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 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.
+
+This example shows how to use `AttributesMutator` to dynamically add a cache listener to an existing region.
+
+``` pre
+void setListener(RegionPtr& region)
+{
+    CacheListenerPtr regionListener = new TestCacheListener();
+    AttributesMutatorPtr regionAttributesMutator =
+        region->getAttributesMutator();
+ 
+    // Change cache listener for region.
+    regionAttributesMutator->setCacheListener(regionListener);
+}
+```
+
+The plug-ins can also be implemented using a dynamically linked library. The class is not available to the application code in this case, so a `factory` method is required by the `set` function along with the name of the library.
+
+This example shows how to use `AttributesMutator` along with the `setCacheListener` function to obtain a new cache listener object using the `factory` function provided by the library. Next, the listener is set for the region.
+
+``` pre
+void setListenerUsingFactory(RegionPtr& region)
+{
+    AttributesMutatorPtr regionAttributesMutator =
+    region->getAttributesMutator();
+
+    // Change cache listener for region.
+    regionAttributesMutator->setCacheListener("Library", "createTestCacheListener");
+}
+```
+
+To use `AttributesMutator` to remove a plug-in from a region, set the plug-in's value to `NULLPTR`, as shown in the following example.
+
+``` pre
+void removeListener(RegionPtr& region)
+{
+    CacheListenerPtr nullListener = NULLPTR;
+    AttributesMutatorPtr regionAttributesMutator =
+        region->getAttributesMutator();
+
+    // Change cache listener for region to NULLPTR
+    regionAttributesMutator->setCacheListener(nullListener);
+}
+```
+
+## <a id="application-plugins__section_428DCC57B6344603AA19DCAFCE483A10" class="no-quick-link"></a>Considerations for Implementing Callbacks
+
+Keep your callback implementations lightweight and prevent situations that might cause them to hang. For example, do not perform distribution operations or disconnects inside events.
+
+Your code should handle any exceptions that it generates. If not, Geode handles them as well as possible. Because C++ has no standard for exceptions, in many cases Geode can only print an `unknown error` message.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/cache-management.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/cache-management.html.md.erb b/geode-docs/nativeclient/client-cache/cache-management.html.md.erb
new file mode 100644
index 0000000..1f9004d
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/cache-management.html.md.erb
@@ -0,0 +1,29 @@
+---
+title:  Cache Management
+---
+
+This section covers cache management.
+
+<a id="using-thread-safety__section_165DAD3CE6CA44D9A883FC91D4F09343"></a>
+
+-   **[Client-to-Server Connection Process](../../nativeclient/client-cache/client-to-server-connection.html)**
+
+    It is important to understand the sequence of events that occur when the native client connects with a Geode cache server.
+
+-   **[Controlling Cache Size](../../nativeclient/client-cache/controlling-cache-size.html)**
+
+    You can control cache size through region size limits, cache size limits, or a combination of the two.
+
+-   **[Managing the Lifetime of a Cached Object](../../nativeclient/client-cache/managing-lifetime-cached-object.html)**
+
+    All cacheable objects derive from `SharedBase` , which provides reference counting. Cacheable objects are referenced using `SharedPtr` types.
+
+-   **[Using Thread Safety in Cache Management](../../nativeclient/client-cache/using-thread-safety.html)**
+
+    When you perform structural changes on your cache, such as creating or closing a `Cache`, `Pool`, or `Region`, synchronize your operations or do them in a single thread.
+
+-   **[Troubleshooting](../../nativeclient/client-cache/troubleshooting.html)**
+
+    This section provides troubleshooting information for the native client.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/cache-ownership.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/cache-ownership.html.md.erb b/geode-docs/nativeclient/client-cache/cache-ownership.html.md.erb
new file mode 100644
index 0000000..37f010c
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/cache-ownership.html.md.erb
@@ -0,0 +1,11 @@
+---
+title:  Local, Remote, and Distributed Caches
+---
+
+The *distributed system* defines how native client and cache server processes find each other.
+
+The distributed system keeps track of its membership list and makes its members aware of the identities of the other members in the distributed system.
+
+A cache for a native client is referred to as its *local cache*. All other caches in the distributed system are considered *remote caches* to the application. Every cache server and application process has its own cache. The term *distributed cache* is used to describe the union of all caches in a Geode distributed system.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/caches.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/caches.html.md.erb b/geode-docs/nativeclient/client-cache/caches.html.md.erb
new file mode 100644
index 0000000..cfc456c
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/caches.html.md.erb
@@ -0,0 +1,27 @@
+---
+title:  Caches
+---
+
+The cache is the entry point to native client data caching in Geode. Through the cache, native clients gain access to the Geode caching framework for data loading, distribution, and maintenance.
+
+-   **[About the Native Client Cache](../../nativeclient/client-cache/overview-client-cache.html)**
+
+    The cache consists of data regions, each of which can contain any number of entries. Region entries hold the cached data. Every entry has a key that uniquely identifies it within the region and a value where the data object is stored.
+
+-   **[Cache APIs](../../nativeclient/client-cache/caching-apis.html)**
+
+    The native client has two cache APIs, `RegionService` and `Cache`.
+
+-   **[Local, Remote, and Distributed Caches](../../nativeclient/client-cache/cache-ownership.html)**
+
+    The *distributed system* defines how native client and cache server processes find each other.
+
+-   **[Creating and Accessing a Cache](../../nativeclient/client-cache/create-access-cache.html)**
+
+    When you create a native client cache, you are creating a native client cache instance. You must provide some basic configuration information such as a connection name and cache initialization parameters for the native client's cache instance.
+
+-   **[Closing the Cache](../../nativeclient/client-cache/closing-cache.html)**
+
+    Use the `Cache::close` function to release system resources when you finish using the cache.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/caching-apis.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/caching-apis.html.md.erb b/geode-docs/nativeclient/client-cache/caching-apis.html.md.erb
new file mode 100644
index 0000000..455fbf0
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/caching-apis.html.md.erb
@@ -0,0 +1,28 @@
+---
+title:  Cache APIs
+---
+
+The native client has two cache APIs, `RegionService` and `Cache`.
+
+## <a id="caching-apis__section_8F81996678B64BBE94EF352527F7F006" class="no-quick-link"></a>RegionService API
+
+`RegionService` provides:
+
+-   Access to existing cache regions.
+-   Access to the standard query service for the cache, which sends queries to the servers. See [Remote Querying](../remote-querying/remote-querying.html#security) and [Continuous Querying](../continuous-querying/continuous-querying.html#security).
+
+`RegionService` is inherited by `Cache`.
+
+You do not use instances of `RegionService` except for secure client applications with many users. See [Creating Multiple Secure User Connections with RegionService](../security/createsecureconnregionservice.html#security).
+
+## <a id="caching-apis__section_403383B9B5044A939A89A5BBB4915452" class="no-quick-link"></a>Cache API
+
+Use the `Cache` to manage your client caches. You have one `Cache` per client.
+
+The `Cache` inherits `RegionService` and adds management of these client caching features:
+
+-   Region creation.
+-   Subscription keepalive management for durable clients.
+-   Access to the underlying distributed system.
+-   `RegionService` creation for secure access by multiple users.
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/caching-enabled.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/caching-enabled.html.md.erb b/geode-docs/nativeclient/client-cache/caching-enabled.html.md.erb
new file mode 100644
index 0000000..1ce9960
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/caching-enabled.html.md.erb
@@ -0,0 +1,27 @@
+---
+title:  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 [RegionShortcuts](region-shortcuts.html#region-shortcuts) and the Javadocs for `RegionShortcut`.
+
+If `CachingEnabled` is false (no caching), an `IllegalStateException` is thrown if any of these attributes are set:
+
+-   [InitialCapacity](initial-capacity.html#initial-capacity)
+-   `EntryTimeToLive` under [Specifying Expiration Attributes](expiration-attributes.html#expiration-attributes)
+-   `EntryIdleTimeout` under [Specifying Expiration Attributes](expiration-attributes.html#expiration-attributes)
+-   [LoadFactor](load-factor.html#load-factor)
+-   [ConcurrencyLevel](concurrency-level.html#concurrency-level)
+-   [LruEntriesLimit](lru-entries-limit.html#concept_75D723D60E044FF9AE97C939699AB10A)
+-   [DiskPolicy](disk-policy.html#disk-policy)
+
+The following declaration enables caching for the region:
+
+``` pre
+<region-attributes caching-enabled="true"> 
+</region-attributes>
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/chapter-overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/chapter-overview.html.md.erb b/geode-docs/nativeclient/client-cache/chapter-overview.html.md.erb
new file mode 100644
index 0000000..d898928
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/chapter-overview.html.md.erb
@@ -0,0 +1,37 @@
+---
+title:  Configuring the Native Client Cache
+---
+
+*Configuring the Native Client Cache* describes the native client cache functionality, initialization file, and APIs. It provides information about creating and working with caches, cache regions, and region entries.
+
+The native client cache provides a framework for native clients to store, manage, and distribute application data.
+
+-   **[Caches](../../nativeclient/client-cache/caches.html)**
+
+    The cache is the entry point to native client data caching in Geode. Through the cache, native clients gain access to the Geode caching framework for data loading, distribution, and maintenance.
+
+-   **[Cache Initialization File (cache.xml)](../../nativeclient/cache-init-file/chapter-overview.html)**
+
+    To ease the task of managing the structure of the cache, you can define the default Geode cache structure in an XML-based initialization file.
+
+-   **[Regions](../../nativeclient/client-cache/regions.html)**
+
+    You create cache regions either programmatically or through declarative statements in the `cache.xml` file. Generally, a cache is organized and populated through a combination of the two approaches.
+
+-   **[Region Entries](../../nativeclient/client-cache/entries.html)**
+
+    Region entries hold cached application data. Entries are automatically managed according to region attribute settings.
+
+-   **[Region Consistency](../../nativeclient/client-cache/consistency_checking_in_regions.html)**
+
+    Geode ensures that all copies of a region eventually reach a consistent state on all members and clients that host the region.
+
+-   **[Region Attributes](../../nativeclient/client-cache/region-attributes.html)**
+
+    Region attributes govern the automated management of a region and its entries.
+
+-   **[Cache Management](../../nativeclient/client-cache/cache-management.html)**
+
+    This section covers cache management.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/client-to-server-connection.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/client-to-server-connection.html.md.erb b/geode-docs/nativeclient/client-cache/client-to-server-connection.html.md.erb
new file mode 100644
index 0000000..e2008a5
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/client-to-server-connection.html.md.erb
@@ -0,0 +1,39 @@
+---
+title:  Client-to-Server Connection Process
+---
+
+It is important to understand the sequence of events that occur when the native client connects with a Geode cache server.
+
+<a id="client-to-server-connection__section_C1E805D842FD44B984041C2ED1D4C2EF"></a>
+
+1.  A native client region is configured in `cache.xml` or programmatically with a set of server connection endpoints. Server endpoints identify each cache server by specifying the server's name and port number.
+
+    Client threads obtain, use, and release a connection to a connection pool that maintains new connections. The number of connections that a client can establish is governed by the pool's `min-connections` and `max-connections` settings, either using client XML configuration or programmatically through the `CacheFactory::setMinConnections()` and `CacheFactory::setMaxConnections()` APIs. The defaults for `min-connections` is 1 and `max-connections` is -1 meaning the connection count can grow to accommodate the number of active threads performing region operations.
+
+    This example shows how to use `cache.xml` to configure a native client region with endpoints set to two cache servers:
+
+    ``` pre
+    <pool name="examplePool" subscription-enabled="true" >
+        <server host="java_servername1" port="java_port1" />
+        <server host="java_servername2" port="java_port2" />
+    </pool>
+    <region name="NativeClientRegion" refid="CACHING_PROXY">
+        <region-attributes pool-name="examplePool"/>
+    </region>
+    ```
+    TCP connections on the native client are specified at the cache level, or by overriding endpoints for specific regions. The connections are created as the regions are created. In addition, connections can also get created for querying without having any created regions. In this case, when endpoints are defined at the cache level no regions are yet created and a query is fired.
+
+    You can configure client-server connections in two ways. Use either the region/cache endpoints or the Pool API. For more information about the pool API, see [Using Connection Pools](../connection-pools/connection-pools.html#using-connection-pools).
+
+2.  The client announces to the server which entries it wishes to have updated by programmatically registering interest in those entries. See [Registering Interest for Entries](registering-interest-for-entries.html#registering-interest-for-entries) for more information.
+
+3.  The client `cache.xml` file should have the following parameters configured so the client can update the server and the client can receive updates from the server:
+    -   Caching enabled in the client region, by using the `CACHING_PROXY RegionShortcut` setting in the region attribute `refid`. A listener could also be defined so event notification occurs. You can use both, but at least one of the two methods must be used by the client to receive event notifications.
+    -   Set `subscription-enabled` to `true` so the client receives update notifications from the server for entries to which it has registered interest.
+
+4.  A native client application calls the C++ or .NET API to connect to a cache server.
+5.  The client and the cache server exchange a handshake over a configured endpoint to create a connection.
+6.  Any `create`, `put`, `invalidate`, and `destroy` events sent to the server are propagated across the distributed cache so the client can receive the events.
+
+**Note:**
+You may be able to improve system performance by making adjustments to the cache server.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/closing-cache.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/closing-cache.html.md.erb b/geode-docs/nativeclient/client-cache/closing-cache.html.md.erb
new file mode 100644
index 0000000..fcd53e2
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/closing-cache.html.md.erb
@@ -0,0 +1,11 @@
+---
+title:  Closing the Cache
+---
+
+Use the `Cache::close` function to release system resources when you finish using the cache.
+
+After the cache is closed, any further method calls on the cache or any region object result in a `CacheClosedException` .
+
+If the cache is in a durable client, you need to use the `keepalive` version of the close method. See [Disconnecting From the Server](../preserving-data/disconnecting-from-server.html#concept_3A9AC62F96FA44DBBB5CCBFD3EA19B56).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/concurrency-checks-enabled.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/concurrency-checks-enabled.html.md.erb b/geode-docs/nativeclient/client-cache/concurrency-checks-enabled.html.md.erb
new file mode 100644
index 0000000..5c81fa6
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/concurrency-checks-enabled.html.md.erb
@@ -0,0 +1,18 @@
+---
+title:  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#concept_77340A4999AC4861972A0EE10303E557) for more information.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/concurrency-level.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/concurrency-level.html.md.erb b/geode-docs/nativeclient/client-cache/concurrency-level.html.md.erb
new file mode 100644
index 0000000..08e0582
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/concurrency-level.html.md.erb
@@ -0,0 +1,18 @@
+---
+title:  ConcurrencyLevel
+---
+
+<a id="concurrency-level__section_20FB0B9EEE9442BAAD87E3C488610866"></a>
+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.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/consistency_checking_in_regions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/consistency_checking_in_regions.html.md.erb b/geode-docs/nativeclient/client-cache/consistency_checking_in_regions.html.md.erb
new file mode 100644
index 0000000..87c3303
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/consistency_checking_in_regions.html.md.erb
@@ -0,0 +1,19 @@
+---
+title:  Region Consistency
+---
+
+Geode ensures that all copies of a region eventually reach a consistent state on all members and clients that host the region.
+
+By default Geode members perform consistency checks when they apply updates to a distributed region, in order to ensure that all copies of the region eventually become consistent on all Geode members and client caches that host the region. Different types of region ensure consistency using different techniques. However, when consistency checking is enabled (the default) all entries in a region require additional overhead in order to store version and timestamp information.
+
+Although a region must have the same consistency checking configuration on all Geode members that host the region, you can optionally disable consistency checking in a client cache region while leaving consistency checking enabled for the region on Geode members. This configuration may be necessary in certain cases where the client must view all updates to a given region, even when Geode members discards an update in order to preserve region consistency.
+
+See [Consistency for Region Updates](../../developing/distributed_regions/region_entry_versions.html#topic_CF2798D3E12647F182C2CEC4A46E2045) for more information.
+
+## <a id="concept_77340A4999AC4861972A0EE10303E557__section_167CD194A5374C64B4064783490F3EA8" class="no-quick-link"></a>Native Client Overhead for Consistency Checks
+
+In the native client regions, the overhead for performing consistency check is an additional 11 bytes per region entry. This overhead is slightly smaller than the overhead required to provide consistency checking on server-side region entries.
+
+If you cannot support the additional overhead in your deployment, you can disable consistency checks by setting the region attribute `concurrency-checks-enabled` to false for each region hosted by your client.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/controlling-cache-size.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/controlling-cache-size.html.md.erb b/geode-docs/nativeclient/client-cache/controlling-cache-size.html.md.erb
new file mode 100644
index 0000000..e67b5ac
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/controlling-cache-size.html.md.erb
@@ -0,0 +1,20 @@
+---
+title:  Controlling Cache Size
+---
+
+You can control cache size through region size limits, cache size limits, or a combination of the two.
+
+<a id="controlling-cache-size__section_A0C25D6D1D5243778800AE67CAD8CB2C"></a>
+Geode controls region size by moving least recently used (LRU) entries from the region or from all cache regions.
+
+## <a id="controlling-cache-size__section_3C7994A4C9D9468F860D99C0ED086D74" class="no-quick-link"></a>Controlling Region Size
+
+You can cap the size of any region with the region attribute [LruEntriesLimit](lru-entries-limit.html#concept_75D723D60E044FF9AE97C939699AB10A). You can specify whether to destroy the entries or overflow them to disk in the attribute [DiskPolicy](disk-policy.html#disk-policy). If you overflow entries to disk, you must also specify the attribute [PersistenceManager](persistence-manager.html#persistence-manager).
+
+## <a id="controlling-cache-size__section_E59CA4D5724147DC83E8991E654AC155" class="no-quick-link"></a>Controlling Cache Size
+
+You can control overall cache size with the [heap-lru-limit](../setting-properties/attributes-gfcpp.html#attributes-gfcpp), which is set in `gfcpp.properties`. This property sets the maximum amount of memory used for the cache, in megabytes. If a new entry causes memory to grow past this limit, the LRU algorithm is called to evict entries. Heap LRU causes eviction to occur on all regions in the cache, overriding region-level [LruEntriesLimit](lru-entries-limit.html#concept_75D723D60E044FF9AE97C939699AB10A) settings when it needs to reclaim memory.
+
+For each region, evictions are performed according to the region's `DiskPolicy` and `PersistenceManager` settings. If you use `heap-lru-limit`, review these region attributes for all your caching regions, to be sure you are evicting the way you want to.
+
+The related [heap-lru-delta](../setting-properties/attributes-gfcpp.html#attributes-gfcpp) property, also set in `gfcpp.properties`, is the amount of memory to free up once the LRU evictions have begun. Memory is reclaimed until the amount of memory used is below `heap-lru-limit` minus `heap-lru-delta`.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/create-access-cache.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/create-access-cache.html.md.erb b/geode-docs/nativeclient/client-cache/create-access-cache.html.md.erb
new file mode 100644
index 0000000..b0fde6f
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/create-access-cache.html.md.erb
@@ -0,0 +1,53 @@
+---
+title:  Creating and Accessing a Cache
+---
+
+When you create a native client cache, you are creating a native client cache instance. You must provide some basic configuration information such as a connection name and cache initialization parameters for the native client's cache instance.
+
+When you create a cache, you provide the following input:
+
+-   **Connection name**. Used in logging to identify both the distributed system connection and the cache instance. If you do not specify a connection name, a unique (but non-descriptive) default name is assigned.
+-   **`cache.xml` to initialize the cache (if the initialization is not done programmatically)**. To modify the cache structure, edit `cache.xml` in your preferred text editor. No changes to the application code are required. If you do not specify a cache initialization file, you need to initialize the cache programmatically.
+
+The `cache.xml` file contains XML declarations for cache, region, and region entry configuration.
+
+This XML declares server connection pools and regions:
+
+``` pre
+<cache>
+  <region name="clientRegion1" refid="PROXY">
+    <region-attributes pool-name="serverPool1"/>
+  </region>
+  <region name="clientRegion2" refid="PROXY">
+    <region-attributes pool-name="serverPool2"/>
+  </region>
+  <region name="localRegion3" refid="LOCAL"/>
+  <pool name="serverPool1">
+    <locator host="host1" port="40404"/>
+  </pool>
+  <pool name="serverPool2">
+    <locator host="host2" port="40404"/>
+  </pool>
+</cache>
+    
+```
+
+When you use the regions, the client regions connect to the servers through the pools named in their configurations.
+
+This file can have any name, but is generally referred to as `cache.xml` .
+
+For a list of the parameters in the `cache.xml` file, including the DTD, see [Cache Initialization File](../cache-init-file/chapter-overview.html#chapter-overview).
+
+To create your cache, call the `CacheFactory create` function.
+
+The `cache` object it returns gives access to the native client caching API. For example:
+
+``` pre
+CacheFactoryPtr cacheFactory = CacheFactory::createCacheFactory();
+CachePtr cachePtr = cacheFactory->create();
+    
+```
+
+**Note:** For more information on how to create a cache, see [Pivotal GemFire Native Client C++ API](../cpp-caching-api/cpp-caching-api.html#concept_CEC658A999414AC3A494578C214BF64E) or [Pivotal GemFire Native Client .NET API](../dotnet-caching-api/dotnet-caching-api.html#concept_FC6776DCE6ED48B887A6137761104AA4).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/declarative-region-creation.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/declarative-region-creation.html.md.erb b/geode-docs/nativeclient/client-cache/declarative-region-creation.html.md.erb
new file mode 100644
index 0000000..5c018c1
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/declarative-region-creation.html.md.erb
@@ -0,0 +1,38 @@
+---
+title:  Declarative Region Creation
+---
+
+Declarative region creation involves placing the region's XML declaration, with the appropriate attribute settings, in the `cache.xml` file that is loaded at cache creation.
+
+**Note:**
+Before creating a region, specify region attributes. See [Region Attributes](region-attributes.html#region-attributes).
+
+Regions are placed inside the cache declaration in `region` elements. For example:
+
+``` pre
+<cache>
+  <pool name="examplePool" subscription-enabled="true" >
+    <server host="localhost" port="40404" />
+  </pool>
+  <region name="A" refid="PROXY">
+    <region-attributes pool-name="examplePool"/>
+  </region>
+  <region name="A1">
+    <region-attributes refid="PROXY" pool-name="examplePool"/>
+  </region>
+  <region name="A2" refid="CACHING_PROXY">
+    <region-attributes pool-name="examplePool">
+      <region-time-to-live>
+        <expiration-attributes timeout="120" action="invalidate"/>
+      </region-time-to-live>
+    </region-attributes>
+  </region>
+</cache>
+    
+```
+
+The `cache.xml` file contents must conform to the DTD provided in the `productDir/dtd/gfcpp-cache8000.dtd` file. For details, see [Cache Initialization File](../cache-init-file/chapter-overview.html#chapter-overview).
+
+**Note:** For more information on how to create a region, see [Working with the C++ API](../cpp-caching-api/cpp-caching-api.html#concept_CEC658A999414AC3A494578C214BF64E), [Working with the .NET API](../dotnet-caching-api/dotnet-caching-api.html#concept_FC6776DCE6ED48B887A6137761104AA4), and the native client API reference.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/disk-policy.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/disk-policy.html.md.erb b/geode-docs/nativeclient/client-cache/disk-policy.html.md.erb
new file mode 100644
index 0000000..d862004
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/disk-policy.html.md.erb
@@ -0,0 +1,34 @@
+---
+title:  DiskPolicy
+---
+
+<a id="disk-policy__section_F3A921FC67B44DD795BD9B5C180FCBB1"></a>
+If the `lru-entries-limit` attribute is greater than zero, the optional `disk-policy` attribute determines how over-limit LRU entries are handled. LRU entries over the limit are either destroyed by default (`disk-policy` is none ) or written to disk (`overflows`).
+
+**Note:**
+If `LruEntriesLimit` is `0`, or `CachingEnabled` is `false`, do not set the `disk-policy` attribute. An `IllegalStateException` is thrown if the attribute is set.
+
+This declaration causes LRU to overflow to disk:
+
+``` pre
+<region-attributes lru-entries-limit="20000"
+    disk-policy="overflows">
+  <persistence-manager ... />
+</region-attributes>
+```
+
+Overflow requires a persistence manager for cache-to-disk and disk-to-cache operations. See [PersistenceManager](persistence-manager.html#persistence-manager).
+
+## <a id="disk-policy__section_FE325E59644149ACA43DA2ABB4CF0F7A" class="no-quick-link"></a>Overflowing Data to Disk
+
+Region data can be stored to disk using the overflow process to satisfy region capacity restrictions without completely destroying the local cache data. The storage mechanism uses disk files to hold region entry data. When an entry is overflowed, its value is written to disk but its key and entry object remain in the cache. This also uses the region attribute [DiskPolicy](disk-policy.html#disk-policy).
+
+Overflow allows you to keep the region within a user-specified size in memory by relegating the values of least recently used (LRU) entries to disk. Overflow essentially uses disk as a swap space for entry values. When the region size reaches the specified threshold, entry values are moved from memory to disk, as shown in the following figure. If an entry is requested whose value is only on disk, the value is copied back into memory, possibly causing the value of a different LRU entry to be overflowed to disk.
+
+<a id="disk-policy__fig_67963EC3BDD64272BBDAD9517E1D78A0"></a>
+
+<span class="figtitleprefix">Figure: </span>Data Flow Between Overflow Region and Disk Files
+
+<img src="../common/images/client-cache-data-flow.gif" alt="Data Flow Between Overflow Region and Disk Files" id="disk-policy__image_687021ECD97A40FB843DBDE59C555384" class="image" />
+
+In this figure the value of the LRU entry X has been moved to disk to recover space in memory. The key for the entry remains in memory. From the distributed system perspective, the value on disk is as much a part of the region as the data in memory. A `get` performed on region B looks first in memory and then on disk as part of the local cache search.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/entries.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/entries.html.md.erb b/geode-docs/nativeclient/client-cache/entries.html.md.erb
new file mode 100644
index 0000000..b5799f5
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/entries.html.md.erb
@@ -0,0 +1,20 @@
+---
+title:  Region Entries
+---
+
+Region entries hold cached application data. Entries are automatically managed according to region attribute settings.
+
+You can create, update, invalidate, and destroy entries through explicit API calls or through operations distributed from other caches.
+
+When the number of entries is very large, a partitioned region can provide the required data management capacity if the total size of the data is greater than the heap in any single JVM.
+
+When an entry is created, a new object is instantiated in the region containing:
+
+-   The entry key.
+-   The entry value. This is the application data object. The entry value may be set to `NULL`, which is the equivalent of an invalid value.
+
+Entry operations invoke callbacks to user-defined application plug-ins. In this chapter, the calls that may affect the entry operation itself (by providing a value or aborting the operation, for example) are highlighted, but all possible interactions are not listed. For details, see [Application Plug-Ins](application-plugins.html#application-plugins).
+
+`DateTime` objects must be stored in the cache in UTC, so that times correspond between client and server. If you use a date with a different time zone, convert it when storing into and retrieving from the cache.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/expiration-attributes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/expiration-attributes.html.md.erb b/geode-docs/nativeclient/client-cache/expiration-attributes.html.md.erb
new file mode 100644
index 0000000..d154d62
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/expiration-attributes.html.md.erb
@@ -0,0 +1,65 @@
+---
+title:  Specifying Expiration Attributes
+---
+
+<a id="expiration-attributes__section_4901B92DE7EB408F81792920C9E4ED7C"></a>
+Expiration attributes govern the automatic eviction of regions and region entries from the cache. Eviction is based on the time elapsed since the last update or access to the object. This is referred to as the least-recently-used (LRU) eviction process. Expiration options range from marking the expired object as invalid to completely removing it from the distributed cache. Eviction can help keep data current by removing outdated entries, prompting a reload the next time they are requested. Eviction may also be used to recover space in the cache by clearing out unaccessed entries and regions.
+
+Similar to application plug-ins, expiration activities are hosted by each application that defines a region in its cache.
+
+The following example shows a declaration that causes the region's entries to be invalidated in the local cache after they have not been accessed for one minute.
+
+``` pre
+<region-attributes>
+    <entry-idle-time>
+        <expiration-attributes timeout="60" action="local-invalidate"/>
+    </entry-idle-time>
+</region-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>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<tbody>
+<tr class="odd">
+<td><code class="ph codeph">RegionTimeToLive</code></td>
+<td>Number of seconds that the region remains in the cache after the last creation or update before the expiration action occurs.</td>
+</tr>
+<tr class="even">
+<td><code class="ph codeph">EntryTimeToLive</code></td>
+<td>For entries, the counter is set to zero for <code class="ph codeph">create</code> and <code class="ph codeph">put</code> operations. Region counters are reset when the region is created and when an entry has its counter reset. An update to an entry causes the time-to-live (TTL) counters to be reset for the entry and its region.</td>
+</tr>
+<tr class="odd">
+<td><code class="ph codeph">RegionIdleTimeout</code></td>
+<td>Number of seconds that the region remains in the cache after the last access before the expiration action occurs.</td>
+</tr>
+<tr class="even">
+<td><code class="ph codeph">EntryIdleTimeout</code></td>
+<td>The idle timeout counter for an object is reset when its TTL counter is reset. An entry's idle timeout counter is also reset whenever the entry is accessed through a <code class="ph codeph">get</code> operation.
+<p>The idle timeout counter for a region is reset whenever the idle timeout is reset for one of its entries.</p></td>
+</tr>
+</tbody>
+</table>
+
+## <a id="expiration-attributes__section_F338C1117B7B44398F59523B881EDD55" class="no-quick-link"></a>Using Statistics to Measure Expiration
+
+Expiration is measured by comparing expiration attribute settings with the last accessed time and last modified time statistics. These statistics are directly available to applications through the `CacheStatistics` object that is returned by the `Region::getStatistics` and `RegionEntry::getStatistics` functions. The `CacheStatistics` object also provides a function for resetting the statistics counters.
+
+## <a id="expiration-attributes__section_6B402F97ECD8492A8798AC838D0BB606" class="no-quick-link"></a>Expiration Actions
+
+You can specify one of the following actions for each expiration attribute:
+
+-   **Destroy**. Removes the object completely from the cache. For regions, all entries are destroyed as well. Destroy actions are distributed according to the region's distribution settings.
+-   **Invalidate**. Marks the object as invalid. For entries, the value is set to `NULL`. You invalidate a region by invalidating all its entries. Invalidate actions are distributed according to the region's distribution settings. When an entry is invalid, a `get` causes the cache to retrieve the entry according to the steps described in [Entry Retrieval](accessing-entries.html#accessing-entries__section_AD6AFD842C144C128FA1C7F0B9283372).
+-   **Local destroy**. Destroys the object in the local cache but does not distribute the operation.
+-   **Local invalidate**. Invalidates the object in the local cache but does not distribute the operation.
+    **Note:**
+    Destruction and invalidation cause the same event notification activities whether carried out explicitly or through expiration activities.
+
+## <a id="expiration-attributes__section_57F5B32CE9B34F29907E8697F51817F9" class="no-quick-link"></a>Region Expiration
+
+Expiration activities in distributed regions can be distributed or performed only in the local cache. So one cache could control region expiration for a number of caches in the distributed system.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/getting-the-region-size.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/getting-the-region-size.html.md.erb b/geode-docs/nativeclient/client-cache/getting-the-region-size.html.md.erb
new file mode 100644
index 0000000..d7d80d8
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/getting-the-region-size.html.md.erb
@@ -0,0 +1,11 @@
+---
+title:  Getting the Region Size
+---
+
+The `Region` API provides a `size` method (`Size` property for .NET) that gets the size of a region.
+
+For native client regions, this gives the number of entries in the local cache, not on the servers.
+
+See the `Region` API documentation for details.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/initial-capacity.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/initial-capacity.html.md.erb b/geode-docs/nativeclient/client-cache/initial-capacity.html.md.erb
new file mode 100644
index 0000000..18f96d9
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/initial-capacity.html.md.erb
@@ -0,0 +1,15 @@
+---
+title:  InitialCapacity
+---
+
+<a id="initial-capacity__section_AB0163B072DA4DA0B858293CA02E91A1"></a>
+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>
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/invalidating-cached-entries.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/invalidating-cached-entries.html.md.erb b/geode-docs/nativeclient/client-cache/invalidating-cached-entries.html.md.erb
new file mode 100644
index 0000000..e13ac0b
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/invalidating-cached-entries.html.md.erb
@@ -0,0 +1,16 @@
+---
+title:  Invalidating or Destroying Cached Entries
+---
+
+<a id="invalidating-cached-entries__section_9244FABA5204452A8D25D1184310B7EE"></a>
+Invalidating an entry sets the entry's value to `NULL`. Destroying it removes the entry from the region altogether. These operations can be carried out in the local cache in the following ways:
+
+-   Through direct API calls from the client.
+-   Through expiration activities based on the entry's statistics and the region's attribute settings.
+
+**Note:**
+A user-defined cache writer is called before an operation is completed, and can abort an entry destroy operation.
+
+Whether carried out explicitly or through expiration activities, invalidation and destruction cause event notification: The `CacheEvent` object has an `isExpiration` flag that is set to true for events resulting from expiration activities, and set to `false` for all other events.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/invalidating-region.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/invalidating-region.html.md.erb b/geode-docs/nativeclient/client-cache/invalidating-region.html.md.erb
new file mode 100644
index 0000000..0769681
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/invalidating-region.html.md.erb
@@ -0,0 +1,25 @@
+---
+title:  Invalidating and Destroying Regions
+---
+
+Invalidation marks all entries contained in the region as invalid (with null values). Destruction removes the region and all of its contents from the cache.
+
+<a id="invalidating-region__section_6F7E304D1D5743F1B53FCBD4F82651D0"></a>
+You can execute these operations explicitly in the local cache in the following ways:
+
+-   Through direct API calls from the native client.
+-   Through expiration activities based on the region's statistics and attribute settings.
+
+In either case, you can perform invalidation and destruction as a local or a distributed operation.
+
+-   A local operation affects the region only in the local cache.
+-   A distributed operation works first on the region in the local cache and then distributes the operation to all other caches where the region is defined. This is the proper choice when the region is no longer needed, or valid, for any application in the distributed system.
+-   If the region on the server is configured as a partitioned region, it cannot be cleared using API calls from the native client.
+
+A user-defined cache writer can abort a region destroy operation. Cache writers are synchronous listeners with the ability to abort operations. If a cache writer is defined for the region anywhere in the distributed system, it is invoked before the region is explicitly destroyed.
+
+Region invalidation and destruction can cause other user-defined application plug-ins to be invoked as well. These plug-ins are described in detail in [Application Plug-Ins](application-plugins.html#application-plugins).
+
+Whether carried out explicitly or through expiration activities, invalidation and destruction cause event notification.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/load-factor.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/load-factor.html.md.erb b/geode-docs/nativeclient/client-cache/load-factor.html.md.erb
new file mode 100644
index 0000000..7643702
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/load-factor.html.md.erb
@@ -0,0 +1,15 @@
+---
+title:  LoadFactor
+---
+
+<a id="load-factor__section_D4102F0D396E4E2DA05654A20FA0723D"></a>
+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>
+```
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/lru-entries-limit.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/lru-entries-limit.html.md.erb b/geode-docs/nativeclient/client-cache/lru-entries-limit.html.md.erb
new file mode 100644
index 0000000..8f716e5
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/lru-entries-limit.html.md.erb
@@ -0,0 +1,31 @@
+---
+title:  LruEntriesLimit
+---
+
+<a id="concept_75D723D60E044FF9AE97C939699AB10A__section_B0174EA802CB47C9981EF3BDF4B7D169"></a>
+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, Geode 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](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](controlling-cache-size.html#controlling-cache-size).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/managing-lifetime-cached-object.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/managing-lifetime-cached-object.html.md.erb b/geode-docs/nativeclient/client-cache/managing-lifetime-cached-object.html.md.erb
new file mode 100644
index 0000000..0eb18d4
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/managing-lifetime-cached-object.html.md.erb
@@ -0,0 +1,48 @@
+---
+title:  Managing the Lifetime of a Cached Object
+---
+
+All cacheable objects derive from `SharedBase` , which provides reference counting. Cacheable objects are referenced using `SharedPtr` types.
+
+<a id="managing-lifetime-cached-object__section_5F8E6FE4F9AB4C658516DB0D31DD4FF8"></a>
+When `SharedPtr` retrieves a cached object, the object remains alive as long as that pointer or the cache itself references the object.
+
+A native client may have many pointers that reference an object. Regardless of how many pointers to the object are deleted, the object remains alive until the last remaining pointer is deleted. At that point the object is deleted.
+
+This is a very simple example:
+
+``` pre
+CacheableStringPtr p = CacheableString::create("string");
+region.put("key", p) ;
+```
+
+In the example:
+
+-   The act of object creation allocates memory and initializes the object.
+-   When you assign the object to a `SharedPtr` , you relinquish control of the lifetime of that object to the reference counting mechanism for the cache.
+-   The put operation does not actually copy the object into the cache. Rather, it copies a `SharedPtr` into the cache's hashmap. Consequently, the object remains alive in the cache when the original `SharedPtr` goes away.
+
+The client can make use of an object after you have initialized the object. For example, another `SharedPtr` might issue a `get` to retrieve the object from the cache:
+
+``` pre
+CacheableStringPtr p2 = region.get("key");
+```
+
+Because `p` (the original `SharedPtr`) and `p2` point to the same object in memory, it is possible under some circumstances for multiple `SharedPtr` types to work on the same object in data storage.
+
+**Note:**
+Once you have put an object into the cache, do not delete it explicitly. Attempting to do so can produce undesirable results.
+
+## <a id="managing-lifetime-cached-object__section_8753DE6DF3864BEC806D39F623CBE3E0" class="no-quick-link"></a>Changed Objects
+
+If an object update is received, the cache no longer holds the same object. Rather, it holds a completely different instance of the object. The client does not see the updates until it calls a `get` to fetch the object again from the local cache, or (in a cache plug-in) calls `EntryEvent::getNewValue`.
+
+For more about plug-ins, see [Application Plug-Ins](application-plugins.html#application-plugins).
+
+## <a id="managing-lifetime-cached-object__section_065526A7FFBB464591A5E119EB8D6CA6" class="no-quick-link"></a>Object Expiration
+
+When a cache automatically deletes an object as a result of an expiration action, the reference counting pointers protect the client from situations that might otherwise result if the cache actually freed the object's memory. Instead, the client disconnects the object from the cache by deleting the cache's `SharedPtr` reference, while leaving untouched any client threads with a `SharedPtr` to that object.
+
+## <a id="managing-lifetime-cached-object__section_6D700999EE534BD7999D5B428301F5A6" class="no-quick-link"></a>Object Lifetime Across the Distributed Cache
+
+An object remains alive until every copy of the object is gone. In distributed regions, expiration activities can be local or distributed, depending on a region's distribution settings. One cache could control the expiration of all copies of an object in all the caches in the distributed system. Alternatively, each cache could control the expiration of its own local copy of the object. If the configuration gives each cache local control, and the expiration parameters are set to different lengths of time in different caches, some copies of an object may still exist after it has disappeared in other caches. See [Expiration Attributes](expiration-attributes.html#expiration-attributes) for more information.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/notification-for-operations.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/notification-for-operations.html.md.erb b/geode-docs/nativeclient/client-cache/notification-for-operations.html.md.erb
new file mode 100644
index 0000000..0abfdcb
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/notification-for-operations.html.md.erb
@@ -0,0 +1,16 @@
+---
+title:  Notification for Operations
+---
+
+<a id="notification-for-operations__section_53F43C51118C4087915CB954CA3439E0"></a>
+Listeners are invoked for client-initiated operations only after the client operation succeeds on the server. Listener invocation on the client indicates that the server has the same data as the client.
+
+If a client operation fails on the server, the operation is rolled back, assuming that no other thread has modified the data in the intervening period. Rollback may not be possible in cases where the entry has been evicted by LRU or expiration during this period. Thus when an exception is received from the server for an operation, local changes may not have been rolled back
+
+## <a id="notification-for-operations__section_48240559E20D4FAF8FDEC8D62C098357" class="no-quick-link"></a>Event Notification Sequence
+
+Events received on the clients that originated on the server invoke the subscription for the event as seen by the server. Events originating on the client invoke the subscription as seen by the client.
+
+For example, a client that receives a `create` and an `update` from the server fires a `create` event and an `update` event because that is how the server saw it. A cacheless client that does two consecutive put operations has two `afterCreate` events invoked on the originating client because the client does not have any history about the first put , since it is cacheless.
+
+For the same sequence, the server sees an `afterCreate` and an `afterUpdate` event, and a remote client receiving the event sees an `afterCreate` followed by an `afterUpdate` event. A client that caches locally sees an `afterCreate` and an `afterUpdate` for the same scenario (as will the server and remote clients).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/overview-client-cache.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/overview-client-cache.html.md.erb b/geode-docs/nativeclient/client-cache/overview-client-cache.html.md.erb
new file mode 100644
index 0000000..30689db
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/overview-client-cache.html.md.erb
@@ -0,0 +1,24 @@
+---
+title:  About the Native Client Cache
+---
+
+The cache consists of data regions, each of which can contain any number of entries. Region entries hold the cached data. Every entry has a key that uniquely identifies it within the region and a value where the data object is stored.
+
+The `Cache` instance allows your process to set general parameters for communication between a cache and other caches in the distributed system, and to create and access any region in the cache.
+
+Regions are created from the `Cache` instance. Regions provide the entry point to the interfaces for instances of `Region` and `RegionEntry`.
+
+## <a id="native-client-cache__section_A0F2E9EF30324736BD0D5F92FE3D1BD7" class="no-quick-link"></a>Main Features and Functionality
+
+The native client cache provides the following features and functionality.
+
+-   Local and distributed data caching for fast access.
+-   Data distribution between applications on the same or different platforms.
+-   Local and remote data loading through application plug-ins.
+-   Application plug-ins for synchronous and asynchronous handling of data events.
+-   Automated and application-specific data eviction for freeing up space in the cache, including optional overflow to disk.
+-   System message logging, and statistics gathering and archiving.
+
+For more information specific to your client programming language, see the online API documentation and [Working with the C++ API](../cpp-caching-api/cpp-caching-api.html#concept_CEC658A999414AC3A494578C214BF64E) and [Working with the .NET Caching API](../dotnet-caching-api/dotnet-caching-api.html#concept_FC6776DCE6ED48B887A6137761104AA4).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/persistence-manager.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/persistence-manager.html.md.erb b/geode-docs/nativeclient/client-cache/persistence-manager.html.md.erb
new file mode 100644
index 0000000..1d71808
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/persistence-manager.html.md.erb
@@ -0,0 +1,224 @@
+---
+title:  PersistenceManager
+---
+
+For each region, if the disk-policy attribute is set to overflows, a persistence-manager plug-in must perform cache-to-disk and disk-to-cache operations. See [Application Plug-Ins](application-plugins.html#application-plugins).
+
+Persistence manager declaration:
+
+``` pre
+<region-attributes lru-entries-limit="nnnnn"
+        disk-policy="overflows">
+    <persistence-manager library-name="libraryName"
+            library-function-name="functionName">
+        <properties>
+            <property name="propertyName" value="propertyValue" />
+        </properties>
+    </persistence-manager>
+</region-attributes>
+```
+
+The optional properties set parameters for the plug-in.
+
+
+## <a id="persistence-manager__section_9FC7089FDF8044868F17A2659397402A" class="no-quick-link"></a>Using SQLite as a Persistence Manager
+
+The Geode native client distribution includes a persistence manager that uses the open-source SQLite library.
+
+SQLite is a software library that implements a self-contained transactional SQL database. SQLite does not require its own server or separate configuration, and the source code for SQLite is in the public domain. For more information on SQLite, see [http://www.sqlite.org](http://www.sqlite.org).
+
+Each SQLite persistence manager persists its region data in a SQLite database that is stored in disk files. In a given native client application process, each region must have a unique persistence (overflow) directory.
+
+<a id="persistence-manager__fig_6A0C9F1A29134ACBA0FDD8236CD836B6"></a>
+<span class="figtitleprefix">Figure: </span>SQLite Database Persistence Manager Directory Structure
+
+<img src="../../images/SQLite_Persistence_Mgr.png" id="persistence-manager__image_BD1AF915E09548D68D9307E2F52737F9" class="image" />
+
+## <a id="persistence-manager__section_3C6991A39C5F4FB8A945EF15FB089287" class="no-quick-link"></a>SQLite Persistence Manager Region Attributes
+
+The following table describes the region attributes that can be configured for the SQLite persistence manager.
+
+| Property             | Description                                                                                                                                                                                                                                                                                                | Default Setting                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
+|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| PersistenceDirectory | Directory where each region's database files are stored. This setting must be different for each region including regions in different processes. This directory is created by the persistence manager. The persistence manager fails to initialize if this directory already exists or cannot be created. | Default is to create a subdirectory named GemFireRegionData in the directory where the process using the region was started.                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
+| PageSize             | Maximum page size of the SQLite database. SQLite can limit the size of a database file to prevent the database file from growing too large and consuming too much disk space.                                                                                                                              | Ordinarily, if no value is explicitly provided, SQLite creates a database with the page size set to SQLITE\_DEFAULT\_PAGE\_SIZE (default is 1024). However, based on certain device characteristics (for example, sector-size and atomic write() support) SQLite may choose a larger value. PageSize specifies the maximum value that SQLite will be able to choose on its own. See <a href="http://www.sqlite.org/compile.html#default_page_size">http://www.sqlite.org/compile.html#default_page_size</a>. for more details on SQLITE\_DEFAULT\_PAGE\_SIZE. |
+| MaxPageCount         | Maximum number of pages in one database file.                                                                                                                                                                                                                                                              | SQLite default, which is 1073741823.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
+
+## <a id="persistence-manager__section_A9583FBEB5D74B92AD61CB6158AE2B4C" class="no-quick-link"></a>Configuring the SQLite Persistence Manager Plug-In for C++ Applications
+
+To load the SQLite persistence manager plug-in for C++ applications, you can configure it either in your client's `cache.xml` or programmatically using the native client C++ API.
+
+The following is an example of how to specify the following region attributes in your client's cache.xml:
+
+``` pre
+<region-attributes>
+   <persistence-manager library-name="libSqLiteImpl.so" library-function-name="createSqLiteInstance">
+      <properties>
+         <property name="PersistenceDirectory" value="/xyz"/>
+         <property name="PageSize" value="65536"/>
+         <property name="MaxPageCount" value="1073741823"/>
+      </properties>
+   </persistence-manager>
+</region-attributes>
+```
+
+## C++ API Example
+
+To use the native client C++ API, set SQLite persistence manager attributes programmatically as follows:
+
+``` pre
+PropertiesPtr sqliteProperties = Properties::create();
+sqliteProperties->insert("MaxPagecount", "5");
+sqliteProperties->insert("PageSize", "1024");
+sqliteProperties->insert("PersistenceDirectory", "SqLite-Test779");
+regionFactory->setPersistenceManager("SqLiteImpl","createSqLiteInstance",
+          sqliteProperties);
+```
+
+## <a id="persistence-manager__section_7410F68E0BB144A584A9AFE7E8CDBE22" class="no-quick-link"></a>Configuring the SQLite Persistence Manager Plug-In for .NET Applications
+
+To load the SQLite persistence manager plug-in for .NET applications, you can configure it either in your client's cache.xml or programmatically using the .NET API:
+
+``` pre
+<persistence-manager library-name="Gemstone.Gemfire.Plugins.SqLite" 
+   library-function-name="GemStone.GemFire.Plugins.SqLite.SqLiteImpl&lt;System.Object, System.Object&gt;.Create"> 
+    <properties>
+       <property name="PersistenceDirectory" value="SqLite"/>
+       <property name="MaxPageCount" value="1073741823"/>
+       <property name="PageSize" value="65536"/>
+    </properties>
+</persistence-manager>
+```
+
+## .NET API Example
+
+To use the native client .NET API, set the SQLite persistence manager attributes programmatically as follows:
+
+``` pre
+Properties<string, string> sqliteProperties = new Properties<string, string>();
+sqliteProperties.Insert("PageSize", "65536");
+sqliteProperties.Insert("MaxFileSize", "51200000");
+sqliteProperties.Insert("PersistenceDirectory", SqLiteDir);
+rf.SetPersistenceManager("Gemstone.Gemfire.Plugins.SqLite", 
+"Gemstone.Gemfire.Plugins.SqLiteSqLiteImpl<System.Object,System.Object>.Create",
+sqliteProperties);
+```
+
+You can also use and configure the C++ SQLite persistence manager library from your .NET application as follows:
+
+``` pre
+rf.SetPersistenceManager("SqliteImpl", "createSqLiteInstance", sqliteProperties);
+```
+
+## <a id="persistence-manager__section_9D038C438E01415EA4D32000D5CB5596" class="no-quick-link"></a>Implementing a PersistenceManager with the IPersistenceManager Interface
+
+When developing .NET managed applications, you can use the IPersistenceManager managed interface to implement your own persistence manager. The following code sample provides the IPersistenceManager interface:
+
+``` pre
+/// <summary> 
+/// IPersistenceManager interface for persistence and overflow. 
+/// This class abstracts the disk-related operations in case of persistence or overflow to disk. 
+/// A specific disk storage implementation will implement all the methods described here. 
+/// </summary> 
+generic<class TKey, class TValue> 
+public interface class IPersistenceManager 
+ { 
+   public: 
+   /// <summary> 
+   /// Called after an implementation object is created. Initializes all the implementation specific environments needed. 
+   /// </summary> 
+   /// <param name="region"> 
+   /// Region for which this PersistenceManager is initialized. 
+   /// </param> 
+   /// <param name="diskProperties"> 
+   /// Configuration Properties used by PersistenceManager implementation. 
+   /// </param> 
+   void Init(IRegion<TKey, TValue>^ region, Properties<String^, String^>^ diskProperties); 
+   
+   /// <summary> 
+   /// Writes a key, value pair of region to the disk. The actual file or database related write operations should be implemented in this method. 
+   /// </summary> 
+   /// <param name="key"> 
+   /// the key to write. 
+   /// </param> 
+   /// <param name="value"> 
+   /// the value to write. 
+   /// </param> 
+   void Write(TKey key, TValue value); 
+
+   /// <summary> 
+   /// This method is not used. 
+   /// </summary> 
+   bool WriteAll(); 
+
+   /// <summary> 
+   /// Reads the value for the key from the disk. 
+   /// </summary> 
+   /// <param name="key"> 
+   /// key for which the value has to be read. 
+   /// </param> 
+   TValue Read(TKey key); 
+
+   /// <summary> 
+   /// This method is not used. 
+   /// </summary> 
+   bool ReadAll(); 
+
+   /// <summary> 
+   /// Destroys the entry specified by the key in the argument. 
+   /// </summary> 
+   /// <param name="key"> 
+   /// key of the entry which is being destroyed. 
+   /// </param>
+   void Destroy(TKey key); 
+
+   /// <summary> 
+   /// Closes the persistence manager instance. 
+   /// </summary> 
+   void Close(); 
+}
+```
+
+The following is a sample interface implementation:
+
+``` pre
+class MyPersistenceManager<TKey, TValue> : IPersistenceManager<TKey, TValue> 
+   { 
+      #region IPersistenceManager<TKey,TValue> Members
+      public void Close() 
+      { 
+         throw new NotImplementedException(); 
+      } 
+
+      public void Destroy(TKey key) 
+      { 
+         throw new NotImplementedException(); 
+      } 
+
+      public void Init(IRegion<TKey, TValue> region, Properties<string, string> disk Properties) 
+      { 
+         throw new NotImplementedException(); 
+      } 
+
+      public TValue Read(TKey key) 
+      { 
+         throw new NotImplementedException(); 
+      } 
+
+      public void Write(TKey key, TValue value) 
+      { 
+         throw new NotImplementedException(); 
+      } 
+
+      public bool ReadAll() 
+      { 
+         throw new NotImplementedException(); 
+      } 
+
+      public bool WriteAll() 
+      {
+         throw new NotImplementedException(); 
+      } 
+      #endregion 
+   }
+```

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/programmatic-region-creation.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/programmatic-region-creation.html.md.erb b/geode-docs/nativeclient/client-cache/programmatic-region-creation.html.md.erb
new file mode 100644
index 0000000..f3f8757
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/programmatic-region-creation.html.md.erb
@@ -0,0 +1,24 @@
+---
+title:  Programmatic Region Creation
+---
+
+You create regions programmatically with the `regionFactory` class.
+
+**Note:**
+Before creating a region, specify region attributes. See [Region Attributes](region-attributes.html#region-attributes).
+
+Create your regions using the `regionFactory` class.
+
+**C++ RegionFactory Example**
+
+``` pre
+RegionFactoryPtr regionFactory =
+    cachePtr->createRegionFactory(CACHING_PROXY);
+RegionPtr regPtr0 = regionFactory->setLruEntriesLimit(20000)
+        ->create("exampleRegion0");
+    
+```
+
+**Note:** For more information on how to create a region, see [Working with the C++ API](../cpp-caching-api/cpp-caching-api.html#concept_CEC658A999414AC3A494578C214BF64E), [Working with the .NET API](../dotnet-caching-api/dotnet-caching-api.html#concept_FC6776DCE6ED48B887A6137761104AA4), and the native client API reference.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/nativeclient/client-cache/region-access.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/client-cache/region-access.html.md.erb b/geode-docs/nativeclient/client-cache/region-access.html.md.erb
new file mode 100644
index 0000000..efb6fee
--- /dev/null
+++ b/geode-docs/nativeclient/client-cache/region-access.html.md.erb
@@ -0,0 +1,21 @@
+---
+title:  Region Access
+---
+
+You can use `Cache::getRegion` to retrieve a reference to a specified region.
+
+`RegionPtr` returns `NULL` if the region is not already present in the application's cache. A server region must already exist.
+
+A region name *cannot* contain these characters:
+
+-   &lt;
+-   &gt;
+-   :
+-   "
+-   /
+-   \\
+-   |
+-   ?
+-   \*
+
+


[72/76] [abbrv] incubator-geode git commit: GEODE-1952: Add Apache license to all geode-docs erb files

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/basic_config/the_cache/setting_cache_properties.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/basic_config/the_cache/setting_cache_properties.html.md.erb b/geode-docs/basic_config/the_cache/setting_cache_properties.html.md.erb
index 76d5066..c56eaa7 100644
--- a/geode-docs/basic_config/the_cache/setting_cache_properties.html.md.erb
+++ b/geode-docs/basic_config/the_cache/setting_cache_properties.html.md.erb
@@ -2,6 +2,23 @@
 title:  Options for Configuring the Cache and Data Regions
 ---
 
+<!--
+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.
+-->
+
 To populate your Apache Geode cache and fine-tune its storage and distribution behavior, you need to define cached data regions and provide custom configuration for the cache and regions.
 
 <a id="setting_cache_properties__section_FB536C90C219432D93E872CBD49D66B1"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/configuring/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/chapter_overview.html.md.erb b/geode-docs/configuring/chapter_overview.html.md.erb
index 8026e72..295444c 100644
--- a/geode-docs/configuring/chapter_overview.html.md.erb
+++ b/geode-docs/configuring/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Configuring and Running a Cluster
 ---
 
+<!--
+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.
+-->
+
 You use the `gfsh` command-line utility to configure your Apache Geode cluster (also called a "distributed system"). The cluster configuration service persists the cluster configurations and distributes the configurations to members of the cluster. There are also several additional ways to configure a cluster.
 
 You use `gfsh` to configure regions, disk stores, members, and other Geode objects. You also use `gfsh` to start and stop locators, servers, and Geode monitoring tools. As you execute these commands, the cluster configuration service persists the configuration. When new members join the cluster, the service distributes the configuration to the new members.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/configuring/cluster_config/deploying_application_jars.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/cluster_config/deploying_application_jars.html.md.erb b/geode-docs/configuring/cluster_config/deploying_application_jars.html.md.erb
index 08eb1d5..1e43753 100644
--- a/geode-docs/configuring/cluster_config/deploying_application_jars.html.md.erb
+++ b/geode-docs/configuring/cluster_config/deploying_application_jars.html.md.erb
@@ -2,6 +2,23 @@
 title:  Deploying Application JARs to Apache Geode Members
 ---
 
+<!--
+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.
+-->
+
 You can dynamically deploy your application JAR files to specific members or to all members in your distributed system. Geode automatically keeps track of JAR file versions; autoloads the deployed JAR files to the CLASSPATH; and auto-registers any functions that the JAR contains.
 
 To deploy and undeploy application JAR files in Apache Geode, use the `gfsh` `deploy` or `undeploy` command. You can deploy a single JAR or multiple JARs (by either specifying the JAR filenames or by specifying a directory that contains the JAR files), and you can also target the deployment to a member group or multiple member group. For example, after connecting to the distributed system where you want to deploy the JARs, you could type at the `gfsh` prompt:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/configuring/cluster_config/export-import.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/cluster_config/export-import.html.md.erb b/geode-docs/configuring/cluster_config/export-import.html.md.erb
index e730c5b..5a89f51 100644
--- a/geode-docs/configuring/cluster_config/export-import.html.md.erb
+++ b/geode-docs/configuring/cluster_config/export-import.html.md.erb
@@ -2,6 +2,23 @@
 title:  Exporting and Importing Cluster Configurations
 ---
 
+<!--
+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.
+-->
+
 The cluster configuration service exports and imports configurations created using `gfsh` for an entire Apache Geode cluster.
 
 The cluster configuration service saves the cluster configuration as you create a regions, disk-stores and other objects using `gfsh` commands. You can export this configuration as well as any jar files that contain application files to a zip file and then import this configuration to create a new cluster.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/configuring/cluster_config/gfsh_config_troubleshooting.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/cluster_config/gfsh_config_troubleshooting.html.md.erb b/geode-docs/configuring/cluster_config/gfsh_config_troubleshooting.html.md.erb
index 51f89b0..638ff1d 100644
--- a/geode-docs/configuring/cluster_config/gfsh_config_troubleshooting.html.md.erb
+++ b/geode-docs/configuring/cluster_config/gfsh_config_troubleshooting.html.md.erb
@@ -2,6 +2,23 @@
 title:  Cluster Configuration Files and Troubleshooting
 ---
 
+<!--
+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.
+-->
+
 When you use the cluster configuration service in Geode, you can examine the generated configuration files in the `cluster_config` directory on the locator. `gfsh` saves configuration files at the cluster-level and at the individual group-level.
 
 The following directories and configuration files are available on the locator running the cluster configuration service:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/configuring/cluster_config/gfsh_load_from_shared_dir.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/cluster_config/gfsh_load_from_shared_dir.html.md.erb b/geode-docs/configuring/cluster_config/gfsh_load_from_shared_dir.html.md.erb
index b9e9a5d..d8ba4d9 100644
--- a/geode-docs/configuring/cluster_config/gfsh_load_from_shared_dir.html.md.erb
+++ b/geode-docs/configuring/cluster_config/gfsh_load_from_shared_dir.html.md.erb
@@ -2,6 +2,23 @@
 title:  Loading Existing Configuration Files into Cluster Configuration
 ---
 
+<!--
+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.
+-->
+
 To load an existing cache.xml or gemfire.properties configuration file into a new cluster, use the `--load-cluster-configuration-from-dir` parameter when starting up the locator.
 
 You can use this technique to migrate a single server's configuration into the cluster configuration service. To load an existing cache.xml file or cluster configuration into a cluster, perform the following steps:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/configuring/cluster_config/gfsh_persist.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/cluster_config/gfsh_persist.html.md.erb b/geode-docs/configuring/cluster_config/gfsh_persist.html.md.erb
index 85be33c..45f73f9 100644
--- a/geode-docs/configuring/cluster_config/gfsh_persist.html.md.erb
+++ b/geode-docs/configuring/cluster_config/gfsh_persist.html.md.erb
@@ -2,6 +2,23 @@
 title:  Overview of the Cluster Configuration Service
 ---
 
+<!--
+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.
+-->
+
 The Apache Geode cluster configuration service persists cluster configurations created by `gfsh` commands to the locators in a cluster and distributes the configurations to members of the cluster.
 
 ## Why Use the Cluster Configuration Service

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/configuring/cluster_config/gfsh_remote.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/cluster_config/gfsh_remote.html.md.erb b/geode-docs/configuring/cluster_config/gfsh_remote.html.md.erb
index 9132e44..c8ea240 100644
--- a/geode-docs/configuring/cluster_config/gfsh_remote.html.md.erb
+++ b/geode-docs/configuring/cluster_config/gfsh_remote.html.md.erb
@@ -2,6 +2,23 @@
 title:  Using gfsh to Manage a Remote Cluster Over HTTP or HTTPS
 ---
 
+<!--
+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.
+-->
+
 You can connect `gfsh` via HTTP or HTTPS to a remote cluster and manage the cluster using `gfsh` commands.
 
 To connect `gfsh` using the HTTP protocol to a remote GemFire cluster:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/configuring/cluster_config/persisting_configurations.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/cluster_config/persisting_configurations.html.md.erb b/geode-docs/configuring/cluster_config/persisting_configurations.html.md.erb
index e18bb30..d6aadbc 100644
--- a/geode-docs/configuring/cluster_config/persisting_configurations.html.md.erb
+++ b/geode-docs/configuring/cluster_config/persisting_configurations.html.md.erb
@@ -2,6 +2,23 @@
 title:  Tutorial\u2014Creating and Using a Cluster Configuration
 ---
 
+<!--
+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 short walk-through that uses a single computer to demonstrate how to use `gfsh` to create a cluster configuration for a Geode cluster.
 
 The `gfsh` command-line tool allows you to configure and start a Geode cluster. The cluster configuration service uses Apache Geode locators to store the configuration at the group and cluster levels and serves these configurations to new members as they are started. The locators store the configurations in a hidden region that is available to all locators and also write the configuration data to disk as XML files. Configuration data is updated as `gfsh` commands are executed.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/configuring/cluster_config/using_member_groups.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/cluster_config/using_member_groups.html.md.erb b/geode-docs/configuring/cluster_config/using_member_groups.html.md.erb
index 524d787..250ef9f 100644
--- a/geode-docs/configuring/cluster_config/using_member_groups.html.md.erb
+++ b/geode-docs/configuring/cluster_config/using_member_groups.html.md.erb
@@ -2,6 +2,23 @@
 title:  Using Member Groups
 ---
 
+<!--
+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.
+-->
+
 Apache Geode allows you to organize your distributed system members into logical member groups.
 
 The use of member groups in Apache Geode is optional. The benefit of using member groups is the ability to coordinate certain operations on members based on logical group membership. For example, by defining and using member groups you can:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/configuring/running/change_file_spec.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/change_file_spec.html.md.erb b/geode-docs/configuring/running/change_file_spec.html.md.erb
index 8edb68b..cb195bb 100644
--- a/geode-docs/configuring/running/change_file_spec.html.md.erb
+++ b/geode-docs/configuring/running/change_file_spec.html.md.erb
@@ -2,6 +2,23 @@
 title:  Changing the File Specifications
 ---
 
+<!--
+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.
+-->
+
 You can change all file specifications in the `gemfire.properties` file and at the command line.
 
 **Note:**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/configuring/running/default_file_specs.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/default_file_specs.html.md.erb b/geode-docs/configuring/running/default_file_specs.html.md.erb
index 37f9ee3..041992f 100644
--- a/geode-docs/configuring/running/default_file_specs.html.md.erb
+++ b/geode-docs/configuring/running/default_file_specs.html.md.erb
@@ -2,6 +2,23 @@
 title:  Default File Specifications and Search Locations
 ---
 
+<!--
+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.
+-->
+
 Each file has a default name, a set of file search locations, and a system property you can use to override the defaults.
 
 To use the default specifications, place the file at the top level of its directory or jar file. The system properties are standard file specifications that can have absolute or relative pathnames and filenames.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/configuring/running/deploy_config_files_intro.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/deploy_config_files_intro.html.md.erb b/geode-docs/configuring/running/deploy_config_files_intro.html.md.erb
index 758b25a..6d52529 100644
--- a/geode-docs/configuring/running/deploy_config_files_intro.html.md.erb
+++ b/geode-docs/configuring/running/deploy_config_files_intro.html.md.erb
@@ -2,6 +2,23 @@
 title:  Main Steps to Deploying Configuration Files
 ---
 
+<!--
+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.
+-->
+
 These are the basic steps for deploying configuration files, with related detail in sections that follow.
 
 1.  Determine which configuration files you need for your installation.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/configuring/running/deploying_config_files.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/deploying_config_files.html.md.erb b/geode-docs/configuring/running/deploying_config_files.html.md.erb
index 76c036a..63d9ac9 100644
--- a/geode-docs/configuring/running/deploying_config_files.html.md.erb
+++ b/geode-docs/configuring/running/deploying_config_files.html.md.erb
@@ -2,6 +2,23 @@
 title:  Deploying Configuration Files without the Cluster Configuration Service
 ---
 
+<!--
+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.
+-->
+
 You can deploy your Apache Geode configuration files in your system directory structure or in jar files. You determine how you want to deploy your configuration files and set them up accordingly.
 
 **Note:**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/configuring/running/deploying_config_jar_files.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/deploying_config_jar_files.html.md.erb b/geode-docs/configuring/running/deploying_config_jar_files.html.md.erb
index bf855c6..8c6cc20 100644
--- a/geode-docs/configuring/running/deploying_config_jar_files.html.md.erb
+++ b/geode-docs/configuring/running/deploying_config_jar_files.html.md.erb
@@ -2,6 +2,23 @@
 title:  Deploying Configuration Files in JAR Files
 ---
 
+<!--
+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.
+-->
+
 This section provides a procedure and an example for deploying configuration files in JAR files.
 
 **Procedure**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/configuring/running/firewall_ports_config.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/firewall_ports_config.html.md.erb b/geode-docs/configuring/running/firewall_ports_config.html.md.erb
index 4f90602..4a5d4c7 100644
--- a/geode-docs/configuring/running/firewall_ports_config.html.md.erb
+++ b/geode-docs/configuring/running/firewall_ports_config.html.md.erb
@@ -2,6 +2,23 @@
 title:  Firewall Considerations
 ---
 
+<!--
+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.
+-->
+
 You can configure and limit port usage for situations that involve firewalls, for example, between client-server or server-server connections.
 
 -   **[Firewalls and Connections](../../configuring/running/firewalls_connections.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/configuring/running/firewalls_connections.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/firewalls_connections.html.md.erb b/geode-docs/configuring/running/firewalls_connections.html.md.erb
index 3ae6bb1..9f61bc0 100644
--- a/geode-docs/configuring/running/firewalls_connections.html.md.erb
+++ b/geode-docs/configuring/running/firewalls_connections.html.md.erb
@@ -2,6 +2,23 @@
 title:  Firewalls and Connections
 ---
 
+<!--
+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.
+-->
+
 Be aware of possible connection problems that can result from running a firewall on your machine.
 
 Apache Geode is a network-centric distributed system, so if you have a firewall running on your machine it could cause connection problems. For example, your connections may fail if your firewall places restrictions on inbound or outbound permissions for Java-based sockets. You may need to modify your firewall configuration to permit traffic to Java applications running on your machine. The specific configuration depends on the firewall you are using.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/configuring/running/firewalls_multisite.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/firewalls_multisite.html.md.erb b/geode-docs/configuring/running/firewalls_multisite.html.md.erb
index ace18d7..50c25c7 100644
--- a/geode-docs/configuring/running/firewalls_multisite.html.md.erb
+++ b/geode-docs/configuring/running/firewalls_multisite.html.md.erb
@@ -2,6 +2,23 @@
 title:  Firewalls and Ports in Multi-Site (WAN) Configurations
 ---
 
+<!--
+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.
+-->
+
 Make sure your port settings are configured correctly for firewalls.
 
 <a id="concept_pfs_sf4_ft__section_alm_2g4_ft"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/configuring/running/firewalls_ports.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/firewalls_ports.html.md.erb b/geode-docs/configuring/running/firewalls_ports.html.md.erb
index e278e5c..11e4554 100644
--- a/geode-docs/configuring/running/firewalls_ports.html.md.erb
+++ b/geode-docs/configuring/running/firewalls_ports.html.md.erb
@@ -2,6 +2,23 @@
 title:  Firewalls and Ports
 ---
 
+<!--
+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.
+-->
+
 Make sure your port settings are configured correctly for firewalls.
 
 <a id="concept_5ED182BDBFFA4FAB89E3B81366EBC58E__section_F9C1D7419F954DC1A305C34714C8615C"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/configuring/running/managing_output_files.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/managing_output_files.html.md.erb b/geode-docs/configuring/running/managing_output_files.html.md.erb
index 59f48aa..b194f79 100644
--- a/geode-docs/configuring/running/managing_output_files.html.md.erb
+++ b/geode-docs/configuring/running/managing_output_files.html.md.erb
@@ -2,6 +2,23 @@
 title:  Managing System Output Files
 ---
 
+<!--
+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.
+-->
+
 Geode output files are optional and can become quite large. Work with your system administrator to determine where to place them to avoid interfering with other system activities.
 
 <a id="managing_output_files__section_F0CEA4299D274801B9AB700C074F178F"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/configuring/running/running_the_cacheserver.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/running_the_cacheserver.html.md.erb b/geode-docs/configuring/running/running_the_cacheserver.html.md.erb
index 9de1189..374839b 100644
--- a/geode-docs/configuring/running/running_the_cacheserver.html.md.erb
+++ b/geode-docs/configuring/running/running_the_cacheserver.html.md.erb
@@ -2,6 +2,23 @@
 title:  Running Geode Server Processes
 ---
 
+<!--
+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 Geode server is a process that runs as a long-lived, configurable member of a client/server system.
 
 <a id="running_the_cacheserver__section_6C2B495518C04064A181E7917CA81FC1"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/configuring/running/running_the_locator.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/running_the_locator.html.md.erb b/geode-docs/configuring/running/running_the_locator.html.md.erb
index 64ac02e..a8c2d7d 100644
--- a/geode-docs/configuring/running/running_the_locator.html.md.erb
+++ b/geode-docs/configuring/running/running_the_locator.html.md.erb
@@ -2,6 +2,23 @@
 title:  Running Geode Locator Processes
 ---
 
+<!--
+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.
+-->
+
 The locator is a Geode process that tells new, connecting members where running members are located and provides load balancing for server use.
 
 <a id="running_the_locator__section_E9C98E8756524552BEA9B0CA49A2069E"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/configuring/running/starting_up_shutting_down.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/configuring/running/starting_up_shutting_down.html.md.erb b/geode-docs/configuring/running/starting_up_shutting_down.html.md.erb
index 2afea6a..01b191d 100644
--- a/geode-docs/configuring/running/starting_up_shutting_down.html.md.erb
+++ b/geode-docs/configuring/running/starting_up_shutting_down.html.md.erb
@@ -2,6 +2,23 @@
 title:  Starting Up and Shutting Down Your System
 ---
 
+<!--
+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.
+-->
+
 Determine the proper startup and shutdown procedures, and write your startup and shutdown scripts.
 
 Well-designed procedures for starting and stopping your system can speed startup and protect your data. The processes you need to start and stop include server and locator processes and your other Geode applications, including clients. The procedures you use depend in part on your system\u2019s configuration and the dependencies between your system processes.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/book_intro.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/book_intro.html.md.erb b/geode-docs/developing/book_intro.html.md.erb
index 432d6da..8086b7a 100644
--- a/geode-docs/developing/book_intro.html.md.erb
+++ b/geode-docs/developing/book_intro.html.md.erb
@@ -2,6 +2,23 @@
 title:  Developing with Apache Geode
 ---
 
+<!--
+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.
+-->
+
 *Developing with Apache Geode* explains main concepts of application programming with Apache Geode. It describes how to plan and implement regions, data serialization, event handling, delta propagation, transactions, and more.
 
 For information about Geode REST application development, see [Developing REST Applications for Apache Geode](../rest_apps/book_intro.html).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/continuous_querying/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/continuous_querying/chapter_overview.html.md.erb b/geode-docs/developing/continuous_querying/chapter_overview.html.md.erb
index c16d4b5..3f77edb 100644
--- a/geode-docs/developing/continuous_querying/chapter_overview.html.md.erb
+++ b/geode-docs/developing/continuous_querying/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Continuous Querying
 ---
 
+<!--
+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.
+-->
+
 Continuous querying continuously returns events that match the queries you set up.
 
 <a id="continuous__section_779B4E4D06E948618E5792335174E70D"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/continuous_querying/continuous_querying_whats_next.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/continuous_querying/continuous_querying_whats_next.html.md.erb b/geode-docs/developing/continuous_querying/continuous_querying_whats_next.html.md.erb
index db36016..4d91722 100644
--- a/geode-docs/developing/continuous_querying/continuous_querying_whats_next.html.md.erb
+++ b/geode-docs/developing/continuous_querying/continuous_querying_whats_next.html.md.erb
@@ -2,6 +2,23 @@
 title:  Managing Continuous Querying
 ---
 
+<!--
+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.
+-->
+
 This topic discusses CQ management options, CQ states, and retrieving initial result sets.
 
 ## Using CQs from a RegionService Instance

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/continuous_querying/how_continuous_querying_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/continuous_querying/how_continuous_querying_works.html.md.erb b/geode-docs/developing/continuous_querying/how_continuous_querying_works.html.md.erb
index 67facc9..67bb447 100644
--- a/geode-docs/developing/continuous_querying/how_continuous_querying_works.html.md.erb
+++ b/geode-docs/developing/continuous_querying/how_continuous_querying_works.html.md.erb
@@ -2,6 +2,23 @@
 title:  How Continuous Querying Works
 ---
 
+<!--
+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.
+-->
+
 Clients subscribe to server-side events by using SQL-type query filtering. The server sends all events that modify the query results. CQ event delivery uses the client/server subscription framework.
 
 <a id="how_continuous_querying_works__section_D473C4D532E14044820B7D76DEE83450"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/continuous_querying/implementing_continuous_querying.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/continuous_querying/implementing_continuous_querying.html.md.erb b/geode-docs/developing/continuous_querying/implementing_continuous_querying.html.md.erb
index de4c81e..e1bb4ea 100644
--- a/geode-docs/developing/continuous_querying/implementing_continuous_querying.html.md.erb
+++ b/geode-docs/developing/continuous_querying/implementing_continuous_querying.html.md.erb
@@ -2,6 +2,23 @@
 title:  Implementing Continuous Querying
 ---
 
+<!--
+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.
+-->
+
 Use continuous querying in your clients to receive continuous updates to queries run on the servers.
 
 CQs are only run by a client on its servers.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/data_serialization/PDX_Serialization_Features.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/PDX_Serialization_Features.html.md.erb b/geode-docs/developing/data_serialization/PDX_Serialization_Features.html.md.erb
index 45b154e..e6c06f4 100644
--- a/geode-docs/developing/data_serialization/PDX_Serialization_Features.html.md.erb
+++ b/geode-docs/developing/data_serialization/PDX_Serialization_Features.html.md.erb
@@ -2,6 +2,23 @@
 title:  Geode PDX Serialization Features
 ---
 
+<!--
+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.
+-->
+
 Geode PDX serialization offers several advantages in terms of functionality.
 
 ## <a id="concept_F02E40517C4B42F2A75B133BB507C626__section_A0EEB4DA3E9F4EA4B65FE727D3951EA1" class="no-quick-link"></a>Application Versioning of PDX Domain Objects

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/data_serialization/auto_serialization.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/auto_serialization.html.md.erb b/geode-docs/developing/data_serialization/auto_serialization.html.md.erb
index 7e3dfa2..cdb63a8 100644
--- a/geode-docs/developing/data_serialization/auto_serialization.html.md.erb
+++ b/geode-docs/developing/data_serialization/auto_serialization.html.md.erb
@@ -2,6 +2,23 @@
 title:  Using Automatic Reflection-Based PDX Serialization
 ---
 
+<!--
+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.
+-->
+
 You can configure your cache to automatically serialize and deserialize domain objects without having to add any extra code to them.
 
 <a id="auto_serialization__section_E2B7719D3C1545808CC21E0FDBD2D610"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/data_serialization/autoserialization_with_class_pattern_strings.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/autoserialization_with_class_pattern_strings.html.md.erb b/geode-docs/developing/data_serialization/autoserialization_with_class_pattern_strings.html.md.erb
index ba18558..b545610 100644
--- a/geode-docs/developing/data_serialization/autoserialization_with_class_pattern_strings.html.md.erb
+++ b/geode-docs/developing/data_serialization/autoserialization_with_class_pattern_strings.html.md.erb
@@ -2,6 +2,23 @@
 title:  Customizing Serialization with Class Pattern Strings
 ---
 
+<!--
+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.
+-->
+
 Use class pattern strings to name the classes that you want to serialize using Geode's reflection-based autoserializer and to specify object identity fields and to specify fields to exclude from serialization.
 
 The class pattern strings used to configured the `ReflectionBasedAutoSerializer` are standard regular expressions. For example, this expression would select all classes defined in the `com.company.domain` package and its subpackages:

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/data_serialization/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/chapter_overview.html.md.erb b/geode-docs/developing/data_serialization/chapter_overview.html.md.erb
index 5ef0877..7e13c20 100644
--- a/geode-docs/developing/data_serialization/chapter_overview.html.md.erb
+++ b/geode-docs/developing/data_serialization/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Data Serialization
 ---
 
+<!--
+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.
+-->
+
 Data that you manage in Geode must be serialized and deserialized for storage and transmittal between processes. You can choose among several options for data serialization.
 
 -   **[Overview of Data Serialization](../../developing/data_serialization/data_serialization_options.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/data_serialization/data_serialization_options.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/data_serialization_options.html.md.erb b/geode-docs/developing/data_serialization/data_serialization_options.html.md.erb
index 7402ee7..dfe18d0 100644
--- a/geode-docs/developing/data_serialization/data_serialization_options.html.md.erb
+++ b/geode-docs/developing/data_serialization/data_serialization_options.html.md.erb
@@ -2,6 +2,23 @@
 title:  Overview of Data Serialization
 ---
 
+<!--
+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.
+-->
+
 Geode offers serialization options other than Java serialization that give you higher performance and greater flexibility for data storage, transfers, and language types.
 
 <a id="data_serialization_options__section_B1BDB0E7F6814DFD8BACD8D8C5CAA81B"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/data_serialization/extending_the_autoserializer.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/extending_the_autoserializer.html.md.erb b/geode-docs/developing/data_serialization/extending_the_autoserializer.html.md.erb
index 35cbe66..cfa69f5 100644
--- a/geode-docs/developing/data_serialization/extending_the_autoserializer.html.md.erb
+++ b/geode-docs/developing/data_serialization/extending_the_autoserializer.html.md.erb
@@ -2,6 +2,23 @@
 title:  Extending the ReflectionBasedAutoSerializer
 ---
 
+<!--
+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.
+-->
+
 You can extend the `ReflectionBasedAutoSerializer` to handle serialization in a customized manner. This section provides an overview of the available method-based customization options and an example of extending the serializer to support BigDecimal and BigInteger types.
 
 ## <a id="concept_9E020566EE794A81A48A90BA798EC279__section_378C0C68A1B342DD9D754DDBDC4874B3" class="no-quick-link"></a>Reasons to Extend the ReflectionBasedAutoSerializer

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/data_serialization/gemfire_data_serialization.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/gemfire_data_serialization.html.md.erb b/geode-docs/developing/data_serialization/gemfire_data_serialization.html.md.erb
index 58aeb7e..24acbfd 100644
--- a/geode-docs/developing/data_serialization/gemfire_data_serialization.html.md.erb
+++ b/geode-docs/developing/data_serialization/gemfire_data_serialization.html.md.erb
@@ -2,6 +2,23 @@
 title:  Geode Data Serialization (DataSerializable and DataSerializer)
 ---
 
+<!--
+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.
+-->
+
 Geode's `DataSerializable` interface gives you quick serialization of your objects.
 
 ## <a id="gemfire_data_serialization__section_0C84D6BF5E9748CB865E6BB944A077DE" class="no-quick-link"></a>Data Serialization with the DataSerializable Interface

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/data_serialization/gemfire_pdx_serialization.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/gemfire_pdx_serialization.html.md.erb b/geode-docs/developing/data_serialization/gemfire_pdx_serialization.html.md.erb
index 1053618..c8bcdb4 100644
--- a/geode-docs/developing/data_serialization/gemfire_pdx_serialization.html.md.erb
+++ b/geode-docs/developing/data_serialization/gemfire_pdx_serialization.html.md.erb
@@ -2,6 +2,23 @@
 title:  Geode PDX Serialization
 ---
 
+<!--
+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.
+-->
+
 Geode's Portable Data eXchange (PDX) is a cross-language data format that can reduce the cost of distributing and serializing your objects. PDX stores data in named fields that you can access individually, to avoid the cost of deserializing the entire data object. PDX also allows you to mix versions of objects where you have added or removed fields.
 
 -   **[Geode PDX Serialization Features](../../developing/data_serialization/PDX_Serialization_Features.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/data_serialization/java_serialization.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/java_serialization.html.md.erb b/geode-docs/developing/data_serialization/java_serialization.html.md.erb
index 14b9ea3..314b055 100644
--- a/geode-docs/developing/data_serialization/java_serialization.html.md.erb
+++ b/geode-docs/developing/data_serialization/java_serialization.html.md.erb
@@ -2,6 +2,23 @@
 title:  Standard Java Serialization
 ---
 
+<!--
+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.
+-->
+
 You can use standard Java serialization for data you only distribute between Java applications. If you distribute your data between non-Java clients and Java servers, you need to do additional programming to get the data between the various class formats.
 
 <a id="java_serialization__section_AD2524E4E3C145D4A2CEB379DD8E9389"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/data_serialization/jsonformatter_pdxinstances.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/jsonformatter_pdxinstances.html.md.erb b/geode-docs/developing/data_serialization/jsonformatter_pdxinstances.html.md.erb
index 59ceb3c..d5397ed 100644
--- a/geode-docs/developing/data_serialization/jsonformatter_pdxinstances.html.md.erb
+++ b/geode-docs/developing/data_serialization/jsonformatter_pdxinstances.html.md.erb
@@ -2,6 +2,23 @@
 title:  Adding JSON Documents to the Geode Cache
 ---
 
+<!--
+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.
+-->
+
 The `JSONFormatter` API allows you to put JSON formatted documents into regions and retrieve them later by storing the documents internally as PdxInstances.
 
 Geode now supports the use of JSON formatted documents natively. When you add a JSON document to a Geode cache, you call the JSONFormatter APIs to transform them into the PDX format (as a `PdxInstance`), which enables Geode to understand the JSON document at a field level.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/data_serialization/persist_pdx_metadata_to_disk.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/persist_pdx_metadata_to_disk.html.md.erb b/geode-docs/developing/data_serialization/persist_pdx_metadata_to_disk.html.md.erb
index 37b11fc..2d044ce 100644
--- a/geode-docs/developing/data_serialization/persist_pdx_metadata_to_disk.html.md.erb
+++ b/geode-docs/developing/data_serialization/persist_pdx_metadata_to_disk.html.md.erb
@@ -2,6 +2,23 @@
 title:  Persisting PDX Metadata to Disk
 ---
 
+<!--
+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.
+-->
+
 Geode allows you to persist PDX metadata to disk and specify the disk store to use.
 
 <a id="persist_pdx_metadata_to_disk__section_7F357A8E56B54BFB9A5778C0F89E034E"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/data_serialization/program_application_for_pdx.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/program_application_for_pdx.html.md.erb b/geode-docs/developing/data_serialization/program_application_for_pdx.html.md.erb
index 9bfbe12..ae8be23 100644
--- a/geode-docs/developing/data_serialization/program_application_for_pdx.html.md.erb
+++ b/geode-docs/developing/data_serialization/program_application_for_pdx.html.md.erb
@@ -2,6 +2,23 @@
 title:  Programming Your Application to Use PdxInstances
 ---
 
+<!--
+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 `PdxInstance` is a light-weight wrapper around PDX serialized bytes. It provides applications with run-time access to fields of a PDX serialized object.
 
 <a id="program_application_for_pdx__section_7F357A8E56B54BFB9A5778C0F89E034E"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/data_serialization/use_pdx_high_level_steps.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/use_pdx_high_level_steps.html.md.erb b/geode-docs/developing/data_serialization/use_pdx_high_level_steps.html.md.erb
index f47e81f..c4894b6 100644
--- a/geode-docs/developing/data_serialization/use_pdx_high_level_steps.html.md.erb
+++ b/geode-docs/developing/data_serialization/use_pdx_high_level_steps.html.md.erb
@@ -2,6 +2,23 @@
 title:  High Level Steps for Using PDX Serialization
 ---
 
+<!--
+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.
+-->
+
 To use PDX serialization, you can configure and use Geode's reflection-based autoserializer, or you can program the serialization of your objects by using the PDX interfaces and classes.
 
 <a id="concept_A7C8890826394B4293C036DD739835BD__section_7F357A8E56B54BFB9A5778C0F89E034E"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/data_serialization/use_pdx_serializable.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/use_pdx_serializable.html.md.erb b/geode-docs/developing/data_serialization/use_pdx_serializable.html.md.erb
index 948112b..2716814 100644
--- a/geode-docs/developing/data_serialization/use_pdx_serializable.html.md.erb
+++ b/geode-docs/developing/data_serialization/use_pdx_serializable.html.md.erb
@@ -2,6 +2,23 @@
 title:  Implementing PdxSerializable in Your Domain Object
 ---
 
+<!--
+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.
+-->
+
 For a domain object with source that you can modify, implement the `PdxSerializable` interface in the object and use its methods to serialize and deserialize the object's fields.
 
 <a id="use_pdx_serializable__section_7F357A8E56B54BFB9A5778C0F89E034E"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/data_serialization/use_pdx_serializer.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/use_pdx_serializer.html.md.erb b/geode-docs/developing/data_serialization/use_pdx_serializer.html.md.erb
index 7ef401e..8feee8f 100644
--- a/geode-docs/developing/data_serialization/use_pdx_serializer.html.md.erb
+++ b/geode-docs/developing/data_serialization/use_pdx_serializer.html.md.erb
@@ -2,6 +2,23 @@
 title:  Serializing Your Domain Object with a PdxSerializer
 ---
 
+<!--
+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.
+-->
+
 For a domain object that you cannot or do not want to modify, use the `PdxSerializer` class to serialize and deserialize the object's fields. You use one `PdxSerializer` implementation for the entire cache, programming it for all of the domain objects that you handle in this way.
 
 With `PdxSerializer`, you leave your domain object as-is and handle the serialization and deserialization in the separate serializer. You register the serializer in your cache PDX configuration. Program the serializer to handle all of the domain objects you need.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/data_serialization/using_PdxInstanceFactory.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/using_PdxInstanceFactory.html.md.erb b/geode-docs/developing/data_serialization/using_PdxInstanceFactory.html.md.erb
index 7b9501d..ad10b1a 100644
--- a/geode-docs/developing/data_serialization/using_PdxInstanceFactory.html.md.erb
+++ b/geode-docs/developing/data_serialization/using_PdxInstanceFactory.html.md.erb
@@ -2,6 +2,23 @@
 title:  Using PdxInstanceFactory to Create PdxInstances
 ---
 
+<!--
+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.
+-->
+
 You can use the `PdxInstanceFactory` interface to create a `PdxInstance` from raw data when the domain class is not available on the server.
 
 This can be particularly useful when you need an instance of a domain class for plug in code such as a function or a loader. If you have the raw data for the domain object (the class name and each field's type and data), then you can explicitly create a `PdxInstance`. The `PdxInstanceFactory` is very similar to the `PdxWriter` except that after writing each field, you need to call the create method which returns the created PdxInstance.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/data_serialization/using_pdx_region_entry_keys.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/data_serialization/using_pdx_region_entry_keys.html.md.erb b/geode-docs/developing/data_serialization/using_pdx_region_entry_keys.html.md.erb
index 91c91c4..7e46606 100644
--- a/geode-docs/developing/data_serialization/using_pdx_region_entry_keys.html.md.erb
+++ b/geode-docs/developing/data_serialization/using_pdx_region_entry_keys.html.md.erb
@@ -2,6 +2,23 @@
 title:  Using PDX Objects as Region Entry Keys
 ---
 
+<!--
+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.
+-->
+
 Using PDX objects as region entry keys is highly discouraged.
 
 <a id="concept_E5B95958B8D04B2285CB5E4DC6FABC78__section_900BD620D716407AA78BE0E38C2C396D"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/delta_propagation/chapter_overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/delta_propagation/chapter_overview.html.md.erb b/geode-docs/developing/delta_propagation/chapter_overview.html.md.erb
index 1beb847..e4b2036 100644
--- a/geode-docs/developing/delta_propagation/chapter_overview.html.md.erb
+++ b/geode-docs/developing/delta_propagation/chapter_overview.html.md.erb
@@ -2,6 +2,23 @@
 title:  Delta Propagation
 ---
 
+<!--
+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.
+-->
+
 Delta propagation allows you to reduce the amount of data you send over the network by including only changes to objects rather than the entire object.
 
 -   **[How Delta Propagation Works](how_delta_propagation_works.html)**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/delta_propagation/delta_propagation_example.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/delta_propagation/delta_propagation_example.html.md.erb b/geode-docs/developing/delta_propagation/delta_propagation_example.html.md.erb
index 075b32e..7a81962 100644
--- a/geode-docs/developing/delta_propagation/delta_propagation_example.html.md.erb
+++ b/geode-docs/developing/delta_propagation/delta_propagation_example.html.md.erb
@@ -2,6 +2,23 @@
 title:  Delta Propagation Example
 ---
 
+<!--
+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.
+-->
+
 This topic provides an example of delta propagation.
 
 <a id="delta_propagation_example__section_F6700EB7F305462D9F0DEE3080497A14"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/delta_propagation/delta_propagation_properties.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/delta_propagation/delta_propagation_properties.html.md.erb b/geode-docs/developing/delta_propagation/delta_propagation_properties.html.md.erb
index c95fab4..0b5b40a 100644
--- a/geode-docs/developing/delta_propagation/delta_propagation_properties.html.md.erb
+++ b/geode-docs/developing/delta_propagation/delta_propagation_properties.html.md.erb
@@ -2,6 +2,23 @@
 title:  Delta Propagation Properties
 ---
 
+<!--
+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.
+-->
+
 This topic describes the properties that can be used to configure delta propagation.
 
 Delta propagation properties can be configured through the API and through the `gemfire.properties` and `cache.xml` files.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/delta_propagation/errors_in_delta_propagation.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/delta_propagation/errors_in_delta_propagation.html.md.erb b/geode-docs/developing/delta_propagation/errors_in_delta_propagation.html.md.erb
index f6441e8..6f0cdf4 100644
--- a/geode-docs/developing/delta_propagation/errors_in_delta_propagation.html.md.erb
+++ b/geode-docs/developing/delta_propagation/errors_in_delta_propagation.html.md.erb
@@ -2,6 +2,23 @@
 title:  Errors In Delta Propagation
 ---
 
+<!--
+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.
+-->
+
 This topic lists the errors that can occur when using delta propagation.
 
 <a id="errors_in_delta_propagation__section_877AC61D691C44078A782683F90D169B"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/delta_propagation/how_delta_propagation_works.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/delta_propagation/how_delta_propagation_works.html.md.erb b/geode-docs/developing/delta_propagation/how_delta_propagation_works.html.md.erb
index a37bd8a..6437781 100644
--- a/geode-docs/developing/delta_propagation/how_delta_propagation_works.html.md.erb
+++ b/geode-docs/developing/delta_propagation/how_delta_propagation_works.html.md.erb
@@ -2,6 +2,23 @@
 title:  How Delta Propagation Works
 ---
 
+<!--
+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.
+-->
+
 Delta propagation reduces the amount of data you send over the network. You do this by only sending the change, or delta, information about an object, instead of sending the entire changed object. If you do not use cloning when applying the deltas, you can also expect to generate less garbage in your receiving JVMs.
 
 <a id="how_delta_propagation_works__section_78D584B3FFD04D1D9BA83203FF2B55A9"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/delta_propagation/implementing_delta_propagation.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/delta_propagation/implementing_delta_propagation.html.md.erb b/geode-docs/developing/delta_propagation/implementing_delta_propagation.html.md.erb
index 7727532..4b6ae99 100644
--- a/geode-docs/developing/delta_propagation/implementing_delta_propagation.html.md.erb
+++ b/geode-docs/developing/delta_propagation/implementing_delta_propagation.html.md.erb
@@ -2,6 +2,23 @@
 title:  Implementing Delta Propagation
 ---
 
+<!--
+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.
+-->
+
 By default, delta propagation is enabled in your distributed system. When enabled, delta propagation is used for objects that implement `org.apache.geode.Delta`. You program the methods to store and extract delta information for your entries and to apply received delta information.
 
 <a id="implementing_delta_propagation__section_877AC61D691C44078A782683F90D169B"></a>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bea8204/geode-docs/developing/delta_propagation/when_to_use_delta_prop.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/developing/delta_propagation/when_to_use_delta_prop.html.md.erb b/geode-docs/developing/delta_propagation/when_to_use_delta_prop.html.md.erb
index 47de0ba..0c53082 100644
--- a/geode-docs/developing/delta_propagation/when_to_use_delta_prop.html.md.erb
+++ b/geode-docs/developing/delta_propagation/when_to_use_delta_prop.html.md.erb
@@ -2,6 +2,23 @@
 title:  When to Avoid Delta Propagation
 ---
 
+<!--
+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.
+-->
+
 Generally, the larger your objects and the smaller the deltas, the greater the benefits of using delta propagation. Partitioned regions with higher redundancy levels generally benefit more from delta propagation. However, in some application scenarios, delta propagation does not show any significant benefits. On occasion it results in performance degradation.
 
 <a id="when_to_use_delta_prop__section_83BA84BB08194FC58F2BCE149AA0F0EC"></a>



[12/76] [abbrv] [partial] incubator-geode git commit: GEODE-1952 Consolidated docs under a single geode-docs directory

Posted by km...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/transactions_replicate_2.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/transactions_replicate_2.svg b/geode-docs/images_svg/transactions_replicate_2.svg
new file mode 100644
index 0000000..dbf8732
--- /dev/null
+++ b/geode-docs/images_svg/transactions_replicate_2.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="54 149 589 337" width="589pt" height="337pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 10:55Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".3" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(324 414) scale(260.40044)"/><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underline-posi
 tion="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(292.5 369) scale(202.5)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(179.685 281.25) scale(79.24066)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953
 " descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(147.32038 274.5) scale(21.756296)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(625.185 288) scale(214.12041)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(278.685 283.5) s
 cale(78.518633)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(238.185 274.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient" gradientTransform="translate(179.685 353.25) scale(73.26549)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient_2" gradientTransform="translate(147.32038 346.5) scale(21.756296)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient" gradientTransform="translate(271.935 355.5) scale(74.09643)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient_2" gradientTransform="translate(238.185 346.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_c" xl:href="#Gradient" gradientTransform="translate(593.685 274.5) scale(174.22978)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient" gradientTransform="translate(479.25 263.25) scale(77.734976)"/><radialGradient id="Obj_Gradient_e" xl:href="#Gradient_2" gradientTransform="translate(440.13538 256.5) scale(21.756296)"/><radialGradient 
 id="Obj_Gradient_f" xl:href="#Gradient" gradientTransform="translate(625.185 468) scale(232.90006)"/><radialGradient id="Obj_Gradient_10" xl:href="#Gradient" gradientTransform="translate(593.685 418.5) scale(178.20511)"/><radialGradient id="Obj_Gradient_11" xl:href="#Gradient" gradientTransform="translate(474.435 409.5) scale(78.518633)"/><radialGradient id="Obj_Gradient_12" xl:href="#Gradient_2" gradientTransform="translate(440.685 400.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_13" xl:href="#Gradient" gradientTransform="translate(573.75 409.5) scale(74.09643)"/><radialGradient id="Obj_Gradient_14" xl:href="#Gradient_2" gradientTransform="translate(540 400.5) scale(19.091883)"/><radialGradient cx="0" cy="0" r="1" id="Gradient_3" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#f7a055" stop-opacity=".65"/><stop offset="1" stop-color="#252525" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_15" xl:href="#Gradient_3" gradientTransform="tran
 slate(580.5 342) rotate(-36.027373) scale(91.80997)"/><radialGradient id="Obj_Gradient_16" xl:href="#Gradient_3" gradientTransform="translate(580.5 414) rotate(36.027373) scale(91.80997)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M 11.7222214 0 L 0 -4.395833 L 0 4.395833 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>replicate-2</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id6_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="u
 rl(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id13_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id16_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id17_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id18_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id19_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id20_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id21_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id23_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id24_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 74.16 180 L 317.34 180 C 321.01822 180 324 182.98178 324 186.66 L 324 407.34 C 324 411.01822 321.01822 414 317.34 414 L 74.16 414 C 70.481783 414 67.5 411.01822 67.5 407.34 L 67.5 186.66 C 67.5 182.98178 70.481783 180 74.16 180 Z" fi
 ll="url(#Obj_Gradient)"/><path d="M 74.16 180 L 317.34 180 C 321.01822 180 324 182.98178 324 186.66 L 324 407.34 C 324 411.01822 321.01822 414 317.34 414 L 74.16 414 C 70.481783 414 67.5 411.01822 67.5 407.34 L 67.5 186.66 C 67.5 182.98178 70.481783 180 74.16 180 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(71.5 184)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="164.49316" y="14" textLength="84.006836">Member (M1)</tspan></text></g><g id="id4_Graphic"><path d="M 83.16 207 L 285.84 207 C 289.51822 207 292.5 209.98178 292.5 213.66 L 292.5 362.34 C 292.5 366.01822 289.51822 369 285.84 369 L 83.16 369 C 79.481783 369 76.5 366.01822 76.5 362.34 L 76.5 213.66 C 76.5 209.98178 79.481783 207 83.16 207 Z" fill="url(#Obj_Gradient_2)"/><path d="M 83.16 207 L 285.84 207 C 289.51822 207 292.5 209.98178 292.5 213.66 L 292.5 362.34 C 292.5 366.01822 289.51822 369 285.84 369 L 
 83.16 369 C 79.481783 369 76.5 366.01822 76.5 362.34 L 76.5 213.66 C 76.5 209.98178 79.481783 207 83.16 207 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(80.5 211)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="86.65625" y="11" textLength="34.6875">Cache</tspan></text></g><g id="id5_Graphic"><path d="M 91.845 234 L 173.025 234 C 176.70322 234 179.685 236.98178 179.685 240.66 L 179.685 274.59 C 179.685 278.26822 176.70322 281.25 173.025 281.25 L 91.845 281.25 C 88.166783 281.25 85.185 278.26822 85.185 274.59 L 85.185 240.66 C 85.185 236.98178 88.166783 234 91.845 234 Z" fill="url(#Obj_Gradient_3)"/><path d="M 91.845 234 L 173.025 234 C 176.70322 234 179.685 236.98178 179.685 240.66 L 179.685 274.59 C 179.685 278.26822 176.70322 281.25 173.025 281.25 L 91.845 281.25 C 88.166783 281.25 85.185 278.26822 85.185 274.59 L 85.185 240.66 C 85.185 236.98178 88.166783 234 91
 .845 234 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(87.185 236)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="3.7207031" y="10" textLength="78.935547">Replicate Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="82.109375" y="10" textLength="6.669922">A</tspan></text></g><g id="id6_Graphic"><path d="M 134.12552 258.9185 L 128.60657 258.26076 L 130.45982 263.42455 L 126.54962 267.27286 L 131.74231 269.0435 L 132.31307 274.5 L 136.935 271.54417 L 141.55693 274.5 L 142.12769 269.0435 L 147.32038 267.27286 L 143.41018 263.42455 L 145.26343 258.26152 L 139.81673 258.9185 L 136.935 254.25 Z" fill="url(#Obj_Gradient_4)"/><path d="M 134.12552 258.9185 L 128.60657 258.26076 L 130.45982 263.42455 L 126.54962 267.27286 L 131.74231 269.0435 L 132.31307 274.5 L 136.935 271.54417 L 141.55693 274.5 L 142.12769 269.0435 L 147.32038 
 267.27286 L 143.41018 263.42455 L 145.26343 258.26152 L 139.81673 258.9185 L 136.935 254.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(126.54962 258.875)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="6.1380655" y="9" textLength="8.494629">W</tspan></text></g><g id="id7_Graphic"><path d="M 375.66 162 L 618.525 162 C 622.2032 162 625.185 164.98178 625.185 168.66 L 625.185 281.34 C 625.185 285.01822 622.2032 288 618.525 288 L 375.66 288 C 371.98178 288 369 285.01822 369 281.34 L 369 168.66 C 369 164.98178 371.98178 162 375.66 162 Z" fill="url(#Obj_Gradient_5)"/><path d="M 375.66 162 L 618.525 162 C 622.2032 162 625.185 164.98178 625.185 168.66 L 625.185 281.34 C 625.185 285.01822 622.2032 288 618.525 288 L 375.66 288 C 371.98178 288 369 285.01822 369 281.34 L 369 168.66 C 369 164.98178 371.98178 162 375.66 162 Z" stroke="#252525" stroke-linecap="round" stroke-line
 join="round" stroke-width=".72000003"/><text transform="translate(373 166)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="164.17816" y="14" textLength="84.006836">Member (M2)</tspan></text></g><g id="id8_Graphic"><path d="M 193.095 234 L 272.025 234 C 275.70322 234 278.685 236.98178 278.685 240.66 L 278.685 276.84 C 278.685 280.51822 275.70322 283.5 272.025 283.5 L 193.095 283.5 C 189.41678 283.5 186.435 280.51822 186.435 276.84 L 186.435 240.66 C 186.435 236.98178 189.41678 234 193.095 234 Z" fill="url(#Obj_Gradient_6)"/><path d="M 193.095 234 L 272.025 234 C 275.70322 234 278.685 236.98178 278.685 240.66 L 278.685 276.84 C 278.685 280.51822 275.70322 283.5 272.025 283.5 L 193.095 283.5 C 189.41678 283.5 186.435 280.51822 186.435 276.84 L 186.435 240.66 C 186.435 236.98178 189.41678 234 193.095 234 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(188.435 236)" fill=
 "black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="2.3222656" y="10" textLength="85.60547">Replicate Region B</tspan></text></g><g id="id9_Graphic"><path d="M 226.845 256.5 L 231.525 256.5 C 235.20322 256.5 238.185 259.48178 238.185 263.16 L 238.185 267.84 C 238.185 271.51822 235.20322 274.5 231.525 274.5 L 226.845 274.5 C 223.16678 274.5 220.185 271.51822 220.185 267.84 L 220.185 263.16 C 220.185 259.48178 223.16678 256.5 226.845 256.5 Z" fill="url(#Obj_Gradient_7)"/><path d="M 226.845 256.5 L 231.525 256.5 C 235.20322 256.5 238.185 259.48178 238.185 263.16 L 238.185 267.84 C 238.185 271.51822 235.20322 274.5 231.525 274.5 L 226.845 274.5 C 223.16678 274.5 220.185 271.51822 220.185 267.84 L 220.185 263.16 C 220.185 259.48178 223.16678 256.5 226.845 256.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(224.185 260)" fill="black"><tspan font-family="Helvetica" font-size="9" fo
 nt-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id10_Graphic"><path d="M 100.845 306 L 173.025 306 C 176.70322 306 179.685 308.98178 179.685 312.66 L 179.685 346.59 C 179.685 350.26822 176.70322 353.25 173.025 353.25 L 100.845 353.25 C 97.166783 353.25 94.185 350.26822 94.185 346.59 L 94.185 312.66 C 94.185 308.98178 97.166783 306 100.845 306 Z" fill="url(#Obj_Gradient_8)"/><path d="M 100.845 306 L 173.025 306 C 176.70322 306 179.685 308.98178 179.685 312.66 L 179.685 346.59 C 179.685 350.26822 176.70322 353.25 173.025 353.25 L 100.845 353.25 C 97.166783 353.25 94.185 350.26822 94.185 346.59 L 94.185 312.66 C 94.185 308.98178 97.166783 306 100.845 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(96.185 308)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="21.45459" y="10" textLength="34.467773">Region </tspan><tspa
 n font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="55.375488" y="10" textLength="6.669922">A</tspan></text></g><g id="id11_Graphic"><path d="M 134.12552 330.9185 L 128.60657 330.26076 L 130.45982 335.42455 L 126.54962 339.27286 L 131.74231 341.0435 L 132.31307 346.5 L 136.935 343.54417 L 141.55693 346.5 L 142.12769 341.0435 L 147.32038 339.27286 L 143.41018 335.42455 L 145.26343 330.26152 L 139.81673 330.9185 L 136.935 326.25 Z" fill="url(#Obj_Gradient_9)"/><path d="M 134.12552 330.9185 L 128.60657 330.26076 L 130.45982 335.42455 L 126.54962 339.27286 L 131.74231 341.0435 L 132.31307 346.5 L 136.935 343.54417 L 141.55693 346.5 L 142.12769 341.0435 L 147.32038 339.27286 L 143.41018 335.42455 L 145.26343 330.26152 L 139.81673 330.9185 L 136.935 326.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(126.54962 330.875)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="50
 0" fill="black" x="3.63538" y="9" textLength="13.5">W1</tspan></text></g><g id="id12_Graphic"><path d="M 193.095 306 L 265.275 306 C 268.95322 306 271.935 308.98178 271.935 312.66 L 271.935 348.84 C 271.935 352.51822 268.95322 355.5 265.275 355.5 L 193.095 355.5 C 189.41678 355.5 186.435 352.51822 186.435 348.84 L 186.435 312.66 C 186.435 308.98178 189.41678 306 193.095 306 Z" fill="url(#Obj_Gradient_a)"/><path d="M 193.095 306 L 265.275 306 C 268.95322 306 271.935 308.98178 271.935 312.66 L 271.935 348.84 C 271.935 352.51822 268.95322 355.5 265.275 355.5 L 193.095 355.5 C 189.41678 355.5 186.435 352.51822 186.435 348.84 L 186.435 312.66 C 186.435 308.98178 189.41678 306 193.095 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(188.435 308)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="21.181152" y="10" textLength="41.137695">Region B</tspan></text></g><g id="id1
 3_Graphic"><path d="M 226.845 328.5 L 231.525 328.5 C 235.20322 328.5 238.185 331.48178 238.185 335.16 L 238.185 339.84 C 238.185 343.51822 235.20322 346.5 231.525 346.5 L 226.845 346.5 C 223.16678 346.5 220.185 343.51822 220.185 339.84 L 220.185 335.16 C 220.185 331.48178 223.16678 328.5 226.845 328.5 Z" fill="url(#Obj_Gradient_b)"/><path d="M 226.845 328.5 L 231.525 328.5 C 235.20322 328.5 238.185 331.48178 238.185 335.16 L 238.185 339.84 C 238.185 343.51822 235.20322 346.5 231.525 346.5 L 226.845 346.5 C 223.16678 346.5 220.185 343.51822 220.185 339.84 L 220.185 335.16 C 220.185 331.48178 223.16678 328.5 226.845 328.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(224.185 326.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.4973145" y
 ="20" textLength="5.005371">1</tspan></text></g><rect x="85.185" y="288" width="193.5" height="72" fill="none"/><rect x="85.185" y="288" width="193.5" height="72" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(87.185 290)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="62.673828" y="10" textLength="6.1083984">T</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="68.416016" y="10" textLength="48.916016">ransaction </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="117.15625" y="10" textLength="11.669922">T1</tspan></text><g id="id15_Graphic"><path d="M 384.345 189 L 587.025 189 C 590.7032 189 593.685 191.98178 593.685 195.66 L 593.685 267.84 C 593.685 271.51822 590.7032 274.5 587.025 274.5 L 384.345 274.5 C 380.66678 274.5 377.685 271.51822 377.685 267.84 L 377.685 195.66 C 377.685 191.98178 380.666
 78 189 384.345 189 Z" fill="url(#Obj_Gradient_c)"/><path d="M 384.345 189 L 587.025 189 C 590.7032 189 593.685 191.98178 593.685 195.66 L 593.685 267.84 C 593.685 271.51822 590.7032 274.5 587.025 274.5 L 384.345 274.5 C 380.66678 274.5 377.685 271.51822 377.685 267.84 L 377.685 195.66 C 377.685 191.98178 380.66678 189 384.345 189 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(381.685 193)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="86.65625" y="11" textLength="34.6875">Cache</tspan></text></g><g id="id16_Graphic"><path d="M 393.66 216 L 472.59 216 C 476.26822 216 479.25 218.98178 479.25 222.66 L 479.25 256.59 C 479.25 260.26822 476.26822 263.25 472.59 263.25 L 393.66 263.25 C 389.98178 263.25 387 260.26822 387 256.59 L 387 222.66 C 387 218.98178 389.98178 216 393.66 216 Z" fill="url(#Obj_Gradient_d)"/><path d="M 393.66 216 L 472.59 216 C 476.26822 216 479.25 218
 .98178 479.25 222.66 L 479.25 256.59 C 479.25 260.26822 476.26822 263.25 472.59 263.25 L 393.66 263.25 C 389.98178 263.25 387 260.26822 387 256.59 L 387 222.66 C 387 218.98178 389.98178 216 393.66 216 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(389 218)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="2.5957031" y="10" textLength="78.935547">Replicate Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="80.984375" y="10" textLength="6.669922">A</tspan></text></g><g id="id17_Graphic"><path d="M 426.94052 240.9185 L 421.42157 240.26076 L 423.27482 245.42455 L 419.36462 249.27286 L 424.5573 251.0435 L 425.12807 256.5 L 429.75 253.54417 L 434.37193 256.5 L 434.9427 251.0435 L 440.13538 249.27286 L 436.22518 245.42455 L 438.07843 240.26152 L 432.63173 240.9185 L 429.75 236.25 Z" fill="url(#Obj_Gradient_e)"/><path d="M 426.94052
  240.9185 L 421.42157 240.26076 L 423.27482 245.42455 L 419.36462 249.27286 L 424.5573 251.0435 L 425.12807 256.5 L 429.75 253.54417 L 434.37193 256.5 L 434.9427 251.0435 L 440.13538 249.27286 L 436.22518 245.42455 L 438.07843 240.26152 L 432.63173 240.9185 L 429.75 236.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(419.36462 240.875)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="6.1380655" y="9" textLength="8.494629">W</tspan></text></g><g id="id18_Graphic"><path d="M 375.66 292.5 L 618.525 292.5 C 622.2032 292.5 625.185 295.48178 625.185 299.16 L 625.185 461.34 C 625.185 465.01822 622.2032 468 618.525 468 L 375.66 468 C 371.98178 468 369 465.01822 369 461.34 L 369 299.16 C 369 295.48178 371.98178 292.5 375.66 292.5 Z" fill="url(#Obj_Gradient_f)"/><path d="M 375.66 292.5 L 618.525 292.5 C 622.2032 292.5 625.185 295.48178 625.185 299.16 L 625.185 461.34 C 625.18
 5 465.01822 622.2032 468 618.525 468 L 375.66 468 C 371.98178 468 369 465.01822 369 461.34 L 369 299.16 C 369 295.48178 371.98178 292.5 375.66 292.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(373 296.5)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="164.17816" y="14" textLength="84.006836">Member (M3)</tspan></text></g><g id="id19_Graphic"><path d="M 384.345 319.5 L 587.025 319.5 C 590.7032 319.5 593.685 322.48178 593.685 326.16 L 593.685 411.84 C 593.685 415.51822 590.7032 418.5 587.025 418.5 L 384.345 418.5 C 380.66678 418.5 377.685 415.51822 377.685 411.84 L 377.685 326.16 C 377.685 322.48178 380.66678 319.5 384.345 319.5 Z" fill="url(#Obj_Gradient_10)"/><path d="M 384.345 319.5 L 587.025 319.5 C 590.7032 319.5 593.685 322.48178 593.685 326.16 L 593.685 411.84 C 593.685 415.51822 590.7032 418.5 587.025 418.5 L 384.345 418.5 C 380.66678 418.5 377.685 415.5182
 2 377.685 411.84 L 377.685 326.16 C 377.685 322.48178 380.66678 319.5 384.345 319.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(381.685 323.5)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="86.65625" y="11" textLength="34.6875">Cache</tspan></text></g><g id="id20_Graphic"><path d="M 388.845 360 L 467.775 360 C 471.45322 360 474.435 362.98178 474.435 366.66 L 474.435 402.84 C 474.435 406.51822 471.45322 409.5 467.775 409.5 L 388.845 409.5 C 385.16678 409.5 382.185 406.51822 382.185 402.84 L 382.185 366.66 C 382.185 362.98178 385.16678 360 388.845 360 Z" fill="url(#Obj_Gradient_11)"/><path d="M 388.845 360 L 467.775 360 C 471.45322 360 474.435 362.98178 474.435 366.66 L 474.435 402.84 C 474.435 406.51822 471.45322 409.5 467.775 409.5 L 388.845 409.5 C 385.16678 409.5 382.185 406.51822 382.185 402.84 L 382.185 366.66 C 382.185 362.98178 385.16678 360 388.845 360 Z"
  stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(384.185 362)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="2.3222656" y="10" textLength="85.60547">Replicate Region B</tspan></text></g><g id="id21_Graphic"><path d="M 429.345 382.5 L 434.025 382.5 C 437.70322 382.5 440.685 385.48178 440.685 389.16 L 440.685 393.84 C 440.685 397.51822 437.70322 400.5 434.025 400.5 L 429.345 400.5 C 425.66678 400.5 422.685 397.51822 422.685 393.84 L 422.685 389.16 C 422.685 385.48178 425.66678 382.5 429.345 382.5 Z" fill="url(#Obj_Gradient_12)"/><path d="M 429.345 382.5 L 434.025 382.5 C 437.70322 382.5 440.685 385.48178 440.685 389.16 L 440.685 393.84 C 440.685 397.51822 437.70322 400.5 434.025 400.5 L 429.345 400.5 C 425.66678 400.5 422.685 397.51822 422.685 393.84 L 422.685 389.16 C 422.685 385.48178 425.66678 382.5 429.345 382.5 Z" stroke="#252525" stroke-linecap="round" stroke-linej
 oin="round" stroke-width=".72000003"/><text transform="translate(426.685 386)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><rect x="526.185" y="432" width="90" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(528.185 435)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.8623047" y="10" textLength="23.901367">Java </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="31.216797" y="10" textLength="48.920898">Application</tspan></text><g id="id23_Graphic"><path d="M 494.91 360 L 567.09 360 C 570.7682 360 573.75 362.98178 573.75 366.66 L 573.75 402.84 C 573.75 406.51822 570.7682 409.5 567.09 409.5 L 494.91 409.5 C 491.23178 409.5 488.25 406.51822 488.25 402.84 L 488.25 366.66 C 488.25 362.98178 491.23178 360 494.91 360 Z" 
 fill="url(#Obj_Gradient_13)"/><path d="M 494.91 360 L 567.09 360 C 570.7682 360 573.75 362.98178 573.75 366.66 L 573.75 402.84 C 573.75 406.51822 570.7682 409.5 567.09 409.5 L 494.91 409.5 C 491.23178 409.5 488.25 406.51822 488.25 402.84 L 488.25 366.66 C 488.25 362.98178 491.23178 360 494.91 360 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(490.25 362)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="3.6713867" y="10" textLength="78.935547">Replicate Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="38.41504" y="22" textLength="6.669922">B</tspan></text></g><g id="id24_Graphic"><path d="M 528.66 382.5 L 533.34 382.5 C 537.01822 382.5 540 385.48178 540 389.16 L 540 393.84 C 540 397.51822 537.01822 400.5 533.34 400.5 L 528.66 400.5 C 524.98178 400.5 522 397.51822 522 393.84 L 522 389.16 C 522 385.48178 524.98178 382.5 528.
 66 382.5 Z" fill="url(#Obj_Gradient_14)"/><path d="M 528.66 382.5 L 533.34 382.5 C 537.01822 382.5 540 385.48178 540 389.16 L 540 393.84 C 540 397.51822 537.01822 400.5 533.34 400.5 L 528.66 400.5 C 524.98178 400.5 522 397.51822 522 393.84 L 522 389.16 C 522 385.48178 524.98178 382.5 528.66 382.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(526 380.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.4973145" y="20" textLength="5.005371">2</tspan></text></g><rect x="481.5" y="342" width="99" height="72" fill="none"/><rect x="481.5" y="342" width="99" height="72" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(483.5 344)" fill="black"><tspan font-family="Helvetica" font-si
 ze="10" font-weight="500" fill="black" x="15.423828" y="10" textLength="6.1083984">T</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="21.166016" y="10" textLength="48.916016">ransaction </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="69.90625" y="10" textLength="11.669922">T2</tspan></text><path d="M 481.5 414 L 481.5 414 L 481.5 414 L 481.5 414 Z M 580.5 342 L 580.5 342 L 580.5 342 L 580.5 342 Z" fill="url(#Obj_Gradient_15)"/><path d="M 481.5 414 L 481.5 414 L 481.5 414 L 481.5 414 Z M 580.5 342 L 580.5 342 L 580.5 342 L 580.5 342 Z M 481.5 414 L 580.5 342" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width="3.1199999"/><path d="M 481.5 342 L 481.5 342 L 481.5 342 L 481.5 342 Z M 580.5 414 L 580.5 414 L 580.5 414 L 580.5 414 Z" fill="url(#Obj_Gradient_16)"/><path d="M 481.5 342 L 481.5 342 L 481.5 342 L 481.5 342 Z M 580.5 414 L 580.5 414 L 580.5 414 L 580.5 414 Z M 481.5 342 L 5
 80.5 414" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width="3.1199999"/><rect x="224.4375" y="378" width="90" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(226.4375 381)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.8623047" y="10" textLength="23.901367">Java </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="31.216797" y="10" textLength="48.920898">Application</tspan></text><path d="M 309.9375 378 C 309.92188 360 309.9532 358.8824 309.92195 351.0074 C 309.89442 344.07064 309.81834 331.8907 288.3674 329.08693" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(288.0625 360.75)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="8.165039" y="10" 
 textLength="11.669922">T1</tspan></text></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/transactions_replicate_3.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/transactions_replicate_3.svg b/geode-docs/images_svg/transactions_replicate_3.svg
new file mode 100644
index 0000000..ba6432f
--- /dev/null
+++ b/geode-docs/images_svg/transactions_replicate_3.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="56 151 581 328" width="581pt" height="328pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.4.1 <dc:date>2016-01-05 23:10:13 +0000</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".3" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(324 414) scale(260.40044)"/><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underl
 ine-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(292.185 369) scale(202.5)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(179.685 281.25) scale(79.24066)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent=
 "770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(147.32038 274.5) scale(21.756296)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(625.5 288) scale(214.33243)"/><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" vi
 ewBox="-1 -6 14 12" markerWidth="14" markerHeight="12" color="#252525"><g><path d="M 11.7222214 0 L 0 -4.395833 L 0 4.395833 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="translate(278.685 283.5) scale(78.518633)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(238.185 274.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient" gradientTransform="translate(179.685 353.25) scale(73.26549)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient_2" gradientTransform="translate(147.32038 346.5) scale(21.756296)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient" gradientTransform="translate(271.935 355.5) scale(74.09643)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient_2" gradientTransform="translate(238.185 346.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_c" xl:href="#Gradient" gradientTransform="
 translate(593.685 274.5) scale(174.22978)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient" gradientTransform="translate(479.25 263.25) scale(77.734976)"/><radialGradient id="Obj_Gradient_e" xl:href="#Gradient_2" gradientTransform="translate(440.13538 256.5) scale(21.756296)"/><radialGradient id="Obj_Gradient_f" xl:href="#Gradient" gradientTransform="translate(625.5 468) scale(233.095)"/><radialGradient id="Obj_Gradient_10" xl:href="#Gradient" gradientTransform="translate(593.685 418.5) scale(178.20511)"/><radialGradient id="Obj_Gradient_11" xl:href="#Gradient" gradientTransform="translate(483.435 409.5) scale(80.00957)"/><radialGradient id="Obj_Gradient_12" xl:href="#Gradient_2" gradientTransform="translate(440.685 400.5) scale(19.091883)"/><radialGradient id="Obj_Gradient_13" xl:href="#Gradient_2" gradientTransform="translate(356.88538 263.25) scale(21.756296)"/><radialGradient id="Obj_Gradient_14" xl:href="#Gradient_2" gradientTransform="translate(354.375 362.25) scale(19
 .091883)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>replicate-3</title><rect fill="white" width="792" height="612"/><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id13_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id17_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id18_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id19_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id20_Gra
 phic" filter="url(#Shadow)"/><xl:use xl:href="#id21_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id22_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id23_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id26_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id27_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 74.16 180 L 317.34 180 C 321.01822 180 324 182.98178 324 186.66 L 324 407.34 C 324 411.01822 321.01822 414 317.34 414 L 74.16 414 C 70.481783 414 67.5 411.01822 67.5 407.34 L 67.5 186.66 C 67.5 182.98178 70.481783 180 74.16 180 Z" fill="url(#Obj_Gradient)"/><path d="M 74.16 180 L 317.34 180 C 321.01822 180 324 182.98178 324 186.66 L 324 407.34 C 324 411.01822 321.01822 414 317.34 414 L 74.16 414 C 70.481783 414 67.5 411.01822 67.5 407.34 L 67.5 186.66 C 67.5 182.98178 70.481783 180 74.16 180 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(71.5 184)" fill="black"><tspan font-famil
 y="Helvetica" font-size="14" font-weight="500" fill="black" x="164.49316" y="14" textLength="84.006836">Member (M1)</tspan></text></g><g id="id4_Graphic"><path d="M 82.845 207 L 285.525 207 C 289.20322 207 292.185 209.98178 292.185 213.66 L 292.185 362.34 C 292.185 366.01822 289.20322 369 285.525 369 L 82.845 369 C 79.166783 369 76.185 366.01822 76.185 362.34 L 76.185 213.66 C 76.185 209.98178 79.166783 207 82.845 207 Z" fill="url(#Obj_Gradient_2)"/><path d="M 82.845 207 L 285.525 207 C 289.20322 207 292.185 209.98178 292.185 213.66 L 292.185 362.34 C 292.185 366.01822 289.20322 369 285.525 369 L 82.845 369 C 79.166783 369 76.185 366.01822 76.185 362.34 L 76.185 213.66 C 76.185 209.98178 79.166783 207 82.845 207 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(80.185 211)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="86.65625" y="11" textLength="34.6875">Cache</tspa
 n></text></g><g id="id5_Graphic"><path d="M 91.845 234 L 173.025 234 C 176.70322 234 179.685 236.98178 179.685 240.66 L 179.685 274.59 C 179.685 278.26822 176.70322 281.25 173.025 281.25 L 91.845 281.25 C 88.166783 281.25 85.185 278.26822 85.185 274.59 L 85.185 240.66 C 85.185 236.98178 88.166783 234 91.845 234 Z" fill="url(#Obj_Gradient_3)"/><path d="M 91.845 234 L 173.025 234 C 176.70322 234 179.685 236.98178 179.685 240.66 L 179.685 274.59 C 179.685 278.26822 176.70322 281.25 173.025 281.25 L 91.845 281.25 C 88.166783 281.25 85.185 278.26822 85.185 274.59 L 85.185 240.66 C 85.185 236.98178 88.166783 234 91.845 234 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(87.185 236)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="3.7207031" y="10" textLength="78.935547">Replicate Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="
 82.109375" y="10" textLength="6.669922">A</tspan></text></g><rect x="225" y="378" width="90" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(227 381)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.8623047" y="10" textLength="23.901367">Java </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="31.216797" y="10" textLength="48.920898">Application</tspan></text><g id="id7_Graphic"><path d="M 134.12552 258.9185 L 128.60657 258.26076 L 130.45982 263.42455 L 126.54962 267.27286 L 131.74231 269.0435 L 132.31307 274.5 L 136.935 271.54417 L 141.55693 274.5 L 142.12769 269.0435 L 147.32038 267.27286 L 143.41018 263.42455 L 145.26343 258.26152 L 139.81673 258.9185 L 136.935 254.25 Z" fill="url(#Obj_Gradient_4)"/><path d="M 134.12552 258.9185 L 128.60657 258.26076 L 130.45982 263.42455 L 126.54962 267.27286 L 131.74231 269.0435 L 13
 2.31307 274.5 L 136.935 271.54417 L 141.55693 274.5 L 142.12769 269.0435 L 147.32038 267.27286 L 143.41018 263.42455 L 145.26343 258.26152 L 139.81673 258.9185 L 136.935 254.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(126.54962 258.875)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="6.1380655" y="9" textLength="8.494629">W</tspan></text></g><g id="id8_Graphic"><path d="M 375.66 162 L 618.84 162 C 622.5182 162 625.5 164.98178 625.5 168.66 L 625.5 281.34 C 625.5 285.01822 622.5182 288 618.84 288 L 375.66 288 C 371.98178 288 369 285.01822 369 281.34 L 369 168.66 C 369 164.98178 371.98178 162 375.66 162 Z" fill="url(#Obj_Gradient_5)"/><path d="M 375.66 162 L 618.84 162 C 622.5182 162 625.5 164.98178 625.5 168.66 L 625.5 281.34 C 625.5 285.01822 622.5182 288 618.84 288 L 375.66 288 C 371.98178 288 369 285.01822 369 281.34 L 369 168.66 C 369 164.98178 371.98178 162 
 375.66 162 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(373 166)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="164.49316" y="14" textLength="84.006836">Member (M2)</tspan></text></g><path d="M 278.685 306 C 292.185 306 309.29689 274.49752 324.00064 256.49752 C 335.04856 242.97291 344.73695 237.07116 354.5982 234.9725" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id10_Graphic"><path d="M 193.095 234 L 272.025 234 C 275.70322 234 278.685 236.98178 278.685 240.66 L 278.685 276.84 C 278.685 280.51822 275.70322 283.5 272.025 283.5 L 193.095 283.5 C 189.41678 283.5 186.435 280.51822 186.435 276.84 L 186.435 240.66 C 186.435 236.98178 189.41678 234 193.095 234 Z" fill="url(#Obj_Gradient_6)"/><path d="M 193.095 234 L 272.025 234 C 275.70322 234 278.685 236.98178 278.685 240.66 L 27
 8.685 276.84 C 278.685 280.51822 275.70322 283.5 272.025 283.5 L 193.095 283.5 C 189.41678 283.5 186.435 280.51822 186.435 276.84 L 186.435 240.66 C 186.435 236.98178 189.41678 234 193.095 234 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(188.435 236)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="2.3222656" y="10" textLength="85.60547">Replicate Region B</tspan></text></g><g id="id11_Graphic"><path d="M 226.845 256.5 L 231.525 256.5 C 235.20322 256.5 238.185 259.48178 238.185 263.16 L 238.185 267.84 C 238.185 271.51822 235.20322 274.5 231.525 274.5 L 226.845 274.5 C 223.16678 274.5 220.185 271.51822 220.185 267.84 L 220.185 263.16 C 220.185 259.48178 223.16678 256.5 226.845 256.5 Z" fill="url(#Obj_Gradient_7)"/><path d="M 226.845 256.5 L 231.525 256.5 C 235.20322 256.5 238.185 259.48178 238.185 263.16 L 238.185 267.84 C 238.185 271.51822 235.20322 274.5 231.525 2
 74.5 L 226.845 274.5 C 223.16678 274.5 220.185 271.51822 220.185 267.84 L 220.185 263.16 C 220.185 259.48178 223.16678 256.5 226.845 256.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(224.185 260)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><g id="id12_Graphic"><path d="M 100.845 306 L 173.025 306 C 176.70322 306 179.685 308.98178 179.685 312.66 L 179.685 346.59 C 179.685 350.26822 176.70322 353.25 173.025 353.25 L 100.845 353.25 C 97.166783 353.25 94.185 350.26822 94.185 346.59 L 94.185 312.66 C 94.185 308.98178 97.166783 306 100.845 306 Z" fill="url(#Obj_Gradient_8)"/><path d="M 100.845 306 L 173.025 306 C 176.70322 306 179.685 308.98178 179.685 312.66 L 179.685 346.59 C 179.685 350.26822 176.70322 353.25 173.025 353.25 L 100.845 353.25 C 97.166783 353.25 94.185 350.26822 94.185 346.59 L 94.185 312.6
 6 C 94.185 308.98178 97.166783 306 100.845 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(96.185 308)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="21.45459" y="10" textLength="34.467773">Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="55.375488" y="10" textLength="6.669922">A</tspan></text></g><g id="id13_Graphic"><path d="M 134.12552 330.9185 L 128.60657 330.26076 L 130.45982 335.42455 L 126.54962 339.27286 L 131.74231 341.0435 L 132.31307 346.5 L 136.935 343.54417 L 141.55693 346.5 L 142.12769 341.0435 L 147.32038 339.27286 L 143.41018 335.42455 L 145.26343 330.26152 L 139.81673 330.9185 L 136.935 326.25 Z" fill="url(#Obj_Gradient_9)"/><path d="M 134.12552 330.9185 L 128.60657 330.26076 L 130.45982 335.42455 L 126.54962 339.27286 L 131.74231 341.0435 L 132.31307 346.5 L 136.935 343.54417 L 141.55693 346.5 L 142
 .12769 341.0435 L 147.32038 339.27286 L 143.41018 335.42455 L 145.26343 330.26152 L 139.81673 330.9185 L 136.935 326.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(126.54962 330.875)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="3.63538" y="9" textLength="13.5">W1</tspan></text></g><g id="id14_Graphic"><path d="M 193.095 306 L 265.275 306 C 268.95322 306 271.935 308.98178 271.935 312.66 L 271.935 348.84 C 271.935 352.51822 268.95322 355.5 265.275 355.5 L 193.095 355.5 C 189.41678 355.5 186.435 352.51822 186.435 348.84 L 186.435 312.66 C 186.435 308.98178 189.41678 306 193.095 306 Z" fill="url(#Obj_Gradient_a)"/><path d="M 193.095 306 L 265.275 306 C 268.95322 306 271.935 308.98178 271.935 312.66 L 271.935 348.84 C 271.935 352.51822 268.95322 355.5 265.275 355.5 L 193.095 355.5 C 189.41678 355.5 186.435 352.51822 186.435 348.84 L 186.435 312.66 C 186.435 308.9817
 8 189.41678 306 193.095 306 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(188.435 308)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="21.181152" y="10" textLength="41.137695">Region B</tspan></text></g><g id="id15_Graphic"><path d="M 226.845 328.5 L 231.525 328.5 C 235.20322 328.5 238.185 331.48178 238.185 335.16 L 238.185 339.84 C 238.185 343.51822 235.20322 346.5 231.525 346.5 L 226.845 346.5 C 223.16678 346.5 220.185 343.51822 220.185 339.84 L 220.185 335.16 C 220.185 331.48178 223.16678 328.5 226.845 328.5 Z" fill="url(#Obj_Gradient_b)"/><path d="M 226.845 328.5 L 231.525 328.5 C 235.20322 328.5 238.185 331.48178 238.185 335.16 L 238.185 339.84 C 238.185 343.51822 235.20322 346.5 231.525 346.5 L 226.845 346.5 C 223.16678 346.5 220.185 343.51822 220.185 339.84 L 220.185 335.16 C 220.185 331.48178 223.16678 328.5 226.845 328.5 Z" stroke="#252525" stroke-linecap=
 "round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(224.185 326.5)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.4973145" y="20" textLength="5.005371">1</tspan></text></g><rect x="85.185" y="288" width="193.5" height="72" fill="none"/><rect x="85.185" y="288" width="193.5" height="72" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(87.185 290)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="62.673828" y="10" textLength="6.1083984">T</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="68.416016" y="10" textLength="48.916016">ransaction </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="117.1562
 5" y="10" textLength="11.669922">T1</tspan></text><g id="id17_Graphic"><path d="M 384.345 189 L 587.025 189 C 590.7032 189 593.685 191.98178 593.685 195.66 L 593.685 267.84 C 593.685 271.51822 590.7032 274.5 587.025 274.5 L 384.345 274.5 C 380.66678 274.5 377.685 271.51822 377.685 267.84 L 377.685 195.66 C 377.685 191.98178 380.66678 189 384.345 189 Z" fill="url(#Obj_Gradient_c)"/><path d="M 384.345 189 L 587.025 189 C 590.7032 189 593.685 191.98178 593.685 195.66 L 593.685 267.84 C 593.685 271.51822 590.7032 274.5 587.025 274.5 L 384.345 274.5 C 380.66678 274.5 377.685 271.51822 377.685 267.84 L 377.685 195.66 C 377.685 191.98178 380.66678 189 384.345 189 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(381.685 193)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="86.65625" y="11" textLength="34.6875">Cache</tspan></text></g><g id="id18_Graphic"><path d="M 393.66 216 
 L 472.59 216 C 476.26822 216 479.25 218.98178 479.25 222.66 L 479.25 256.59 C 479.25 260.26822 476.26822 263.25 472.59 263.25 L 393.66 263.25 C 389.98178 263.25 387 260.26822 387 256.59 L 387 222.66 C 387 218.98178 389.98178 216 393.66 216 Z" fill="url(#Obj_Gradient_d)"/><path d="M 393.66 216 L 472.59 216 C 476.26822 216 479.25 218.98178 479.25 222.66 L 479.25 256.59 C 479.25 260.26822 476.26822 263.25 472.59 263.25 L 393.66 263.25 C 389.98178 263.25 387 260.26822 387 256.59 L 387 222.66 C 387 218.98178 389.98178 216 393.66 216 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(389 218)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="2.5957031" y="10" textLength="78.935547">Replicate Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="80.984375" y="10" textLength="6.669922">A</tspan></text></g><g id="id19_Graphic"><path d="M 42
 6.94052 240.9185 L 421.42157 240.26076 L 423.27482 245.42455 L 419.36462 249.27286 L 424.5573 251.0435 L 425.12807 256.5 L 429.75 253.54417 L 434.37193 256.5 L 434.9427 251.0435 L 440.13538 249.27286 L 436.22518 245.42455 L 438.07843 240.26152 L 432.63173 240.9185 L 429.75 236.25 Z" fill="url(#Obj_Gradient_e)"/><path d="M 426.94052 240.9185 L 421.42157 240.26076 L 423.27482 245.42455 L 419.36462 249.27286 L 424.5573 251.0435 L 425.12807 256.5 L 429.75 253.54417 L 434.37193 256.5 L 434.9427 251.0435 L 440.13538 249.27286 L 436.22518 245.42455 L 438.07843 240.26152 L 432.63173 240.9185 L 429.75 236.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(419.36462 240.875)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="6.1380655" y="9" textLength="8.494629">W</tspan></text></g><g id="id20_Graphic"><path d="M 375.66 292.5 L 618.84 292.5 C 622.5182 292.5 625.5 295.48178 625.5 
 299.16 L 625.5 461.34 C 625.5 465.01822 622.5182 468 618.84 468 L 375.66 468 C 371.98178 468 369 465.01822 369 461.34 L 369 299.16 C 369 295.48178 371.98178 292.5 375.66 292.5 Z" fill="url(#Obj_Gradient_f)"/><path d="M 375.66 292.5 L 618.84 292.5 C 622.5182 292.5 625.5 295.48178 625.5 299.16 L 625.5 461.34 C 625.5 465.01822 622.5182 468 618.84 468 L 375.66 468 C 371.98178 468 369 465.01822 369 461.34 L 369 299.16 C 369 295.48178 371.98178 292.5 375.66 292.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(373 296.5)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="164.49316" y="14" textLength="84.006836">Member (M3)</tspan></text></g><g id="id21_Graphic"><path d="M 384.345 319.5 L 587.025 319.5 C 590.7032 319.5 593.685 322.48178 593.685 326.16 L 593.685 411.84 C 593.685 415.51822 590.7032 418.5 587.025 418.5 L 384.345 418.5 C 380.66678 418.5 377.685 415.51822 377.685 4
 11.84 L 377.685 326.16 C 377.685 322.48178 380.66678 319.5 384.345 319.5 Z" fill="url(#Obj_Gradient_10)"/><path d="M 384.345 319.5 L 587.025 319.5 C 590.7032 319.5 593.685 322.48178 593.685 326.16 L 593.685 411.84 C 593.685 415.51822 590.7032 418.5 587.025 418.5 L 384.345 418.5 C 380.66678 418.5 377.685 415.51822 377.685 411.84 L 377.685 326.16 C 377.685 322.48178 380.66678 319.5 384.345 319.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(381.685 323.5)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="86.65625" y="11" textLength="34.6875">Cache</tspan></text></g><g id="id22_Graphic"><path d="M 395.595 360 L 476.775 360 C 480.45322 360 483.435 362.98178 483.435 366.66 L 483.435 402.84 C 483.435 406.51822 480.45322 409.5 476.775 409.5 L 395.595 409.5 C 391.91678 409.5 388.935 406.51822 388.935 402.84 L 388.935 366.66 C 388.935 362.98178 391.91678 360 395.595 360 Z" fi
 ll="url(#Obj_Gradient_11)"/><path d="M 395.595 360 L 476.775 360 C 480.45322 360 483.435 362.98178 483.435 366.66 L 483.435 402.84 C 483.435 406.51822 480.45322 409.5 476.775 409.5 L 395.595 409.5 C 391.91678 409.5 388.935 406.51822 388.935 402.84 L 388.935 366.66 C 388.935 362.98178 391.91678 360 395.595 360 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(390.935 362)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="3.4472656" y="10" textLength="85.60547">Replicate Region B</tspan></text></g><g id="id23_Graphic"><path d="M 429.345 382.5 L 434.025 382.5 C 437.70322 382.5 440.685 385.48178 440.685 389.16 L 440.685 393.84 C 440.685 397.51822 437.70322 400.5 434.025 400.5 L 429.345 400.5 C 425.66678 400.5 422.685 397.51822 422.685 393.84 L 422.685 389.16 C 422.685 385.48178 425.66678 382.5 429.345 382.5 Z" fill="url(#Obj_Gradient_12)"/><path d="M 429.345 382.5 L 434.025 
 382.5 C 437.70322 382.5 440.685 385.48178 440.685 389.16 L 440.685 393.84 C 440.685 397.51822 437.70322 400.5 434.025 400.5 L 429.345 400.5 C 425.66678 400.5 422.685 397.51822 422.685 393.84 L 422.685 389.16 C 422.685 385.48178 425.66678 382.5 429.345 382.5 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(426.685 386)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan></text></g><rect x="526.5" y="432" width="90" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(528.5 435)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.8623047" y="10" textLength="23.901367">Java </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="31.216797" y="10" textLength="48.920898">Applicati
 on</tspan></text><path d="M 278.685 342 C 301.5 342 317.25436 342.06244 328.50436 342.18744 C 338.73483 342.30111 345.24036 342.46652 359.87181 369.19225" marker-end="url(#FilledArrow_Marker)" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><g id="id26_Graphic"><path d="M 340.98533 247.3461 L 340.89543 247.33539 C 339.96522 247.22452 339.12127 247.88874 339.0104 248.81895 C 338.97928 249.08017 339.00933 249.34505 339.0982 249.59265 L 339.0982 249.59266 C 339.66312 251.16674 339.26167 252.92562 338.06972 254.0987 L 338.06972 254.0987 C 337.4032 254.75467 337.39466 255.82675 338.05062 256.49326 C 338.23545 256.68106 338.46156 256.82314 338.71096 256.90818 L 338.71097 256.90818 C 340.29385 257.44792 341.4187 258.85844 341.5927 260.52175 L 341.5927 260.52175 C 341.68998 261.45184 342.52283 262.12695 343.45292 262.02966 C 343.71499 262.00225 343.96705 261.91405 344.18903 261.77209 L 344.18904 261.77208 C 345.59794 260.87106 347.40206 260.87106 34
 8.81096 261.77208 L 348.81097 261.77209 C 349.5988 262.27592 350.6459 262.0457 351.14973 261.25787 C 351.2917 261.03588 351.3799 260.78382 351.4073 260.52175 L 351.4073 260.52175 C 351.5813 258.85844 352.70615 257.44792 354.28903 256.90818 L 354.28904 256.90818 C 355.17415 256.60637 355.64702 255.64417 355.3452 254.75905 C 355.26016 254.50965 355.11808 254.28354 354.93028 254.0987 L 354.93003 254.09846 C 353.73824 252.92554 353.33688 251.16687 353.9018 249.59304 L 353.9018 249.59304 C 354.21773 248.71288 353.76034 247.74327 352.88019 247.42734 C 352.63223 247.33834 352.36693 247.30843 352.10539 247.33997 L 352.10508 247.34001 C 350.44472 247.54028 348.81933 246.7574 347.9409 245.33429 L 347.93099 245.31825 C 347.44929 244.53788 346.42618 244.29576 345.6458 244.77746 C 345.42053 244.91652 345.23177 245.10742 345.09526 245.33425 L 345.09526 245.33425 C 344.2403 246.75494 342.63178 247.54232 340.98533 247.3461 Z" fill="url(#Obj_Gradient_13)"/><path d="M 340.98533 247.3461 L 340.89543 2
 47.33539 C 339.96522 247.22452 339.12127 247.88874 339.0104 248.81895 C 338.97928 249.08017 339.00933 249.34505 339.0982 249.59265 L 339.0982 249.59266 C 339.66312 251.16674 339.26167 252.92562 338.06972 254.0987 L 338.06972 254.0987 C 337.4032 254.75467 337.39466 255.82675 338.05062 256.49326 C 338.23545 256.68106 338.46156 256.82314 338.71096 256.90818 L 338.71097 256.90818 C 340.29385 257.44792 341.4187 258.85844 341.5927 260.52175 L 341.5927 260.52175 C 341.68998 261.45184 342.52283 262.12695 343.45292 262.02966 C 343.71499 262.00225 343.96705 261.91405 344.18903 261.77209 L 344.18904 261.77208 C 345.59794 260.87106 347.40206 260.87106 348.81096 261.77208 L 348.81097 261.77209 C 349.5988 262.27592 350.6459 262.0457 351.14973 261.25787 C 351.2917 261.03588 351.3799 260.78382 351.4073 260.52175 L 351.4073 260.52175 C 351.5813 258.85844 352.70615 257.44792 354.28903 256.90818 L 354.28904 256.90818 C 355.17415 256.60637 355.64702 255.64417 355.3452 254.75905 C 355.26016 254.50965 35
 5.11808 254.28354 354.93028 254.0987 L 354.93003 254.09846 C 353.73824 252.92554 353.33688 251.16687 353.9018 249.59304 L 353.9018 249.59304 C 354.21773 248.71288 353.76034 247.74327 352.88019 247.42734 C 352.63223 247.33834 352.36693 247.30843 352.10539 247.33997 L 352.10508 247.34001 C 350.44472 247.54028 348.81933 246.7574 347.9409 245.33429 L 347.93099 245.31825 C 347.44929 244.53788 346.42618 244.29576 345.6458 244.77746 C 345.42053 244.91652 345.23177 245.10742 345.09526 245.33425 L 345.09526 245.33425 C 344.2403 246.75494 342.63178 247.54232 340.98533 247.3461 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(336.11462 247.625)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="3.63538" y="9" textLength="13.5">W1</tspan></text></g><g id="id27_Graphic"><path d="M 343.035 344.25 L 347.715 344.25 C 351.39322 344.25 354.375 347.23178 354.375 350.91 L 354.375 355.59 C 35
 4.375 359.26822 351.39322 362.25 347.715 362.25 L 343.035 362.25 C 339.35678 362.25 336.375 359.26822 336.375 355.59 L 336.375 350.91 C 336.375 347.23178 339.35678 344.25 343.035 344.25 Z" fill="url(#Obj_Gradient_14)"/><path d="M 343.035 344.25 L 347.715 344.25 C 351.39322 344.25 354.375 347.23178 354.375 350.91 L 354.375 355.59 C 354.375 359.26822 351.39322 362.25 347.715 362.25 L 343.035 362.25 C 339.35678 362.25 336.375 359.26822 336.375 355.59 L 336.375 350.91 C 336.375 347.23178 339.35678 344.25 343.035 344.25 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(340.375 342.25)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.4973145" y="20" textLength="5.005371">1</tspan></text></g></g></g></svg>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ccc2fbda/geode-docs/images_svg/transactions_replicate_4.svg
----------------------------------------------------------------------
diff --git a/geode-docs/images_svg/transactions_replicate_4.svg b/geode-docs/images_svg/transactions_replicate_4.svg
new file mode 100644
index 0000000..a8c9488
--- /dev/null
+++ b/geode-docs/images_svg/transactions_replicate_4.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="145 175 594 337" width="594pt" height="337pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.0.5 <dc:date>2015-04-07 10:58Z</dc:date></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="1.308"/><feOffset in="blur" result="offset" dx="2.16" dy="2.16"/><feFlood flood-color="#4f4f4f" flood-opacity=".3" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><radialGradient cx="0" cy="0" r="1" id="Gradient" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7ca8c4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient" xl:href="#Gradient" gradientTransform="translate(419.625 439.875) scale(262.90362)"/><font-face font-family="Helvetica" font-size="14" units-per-em="1000" under
 line-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_2" xl:href="#Gradient" gradientTransform="translate(387.81 394.875) scale(202.5)"/><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_3" xl:href="#Gradient" gradientTransform="translate(275.31 307.125) scale(79.157656)"/><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" as
 cent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient cx="0" cy="0" r="1" id="Gradient_2" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bed5e4" stop-opacity=".65"/><stop offset="1" stop-color="#a8c6d9" stop-opacity=".65"/></radialGradient><radialGradient id="Obj_Gradient_4" xl:href="#Gradient_2" gradientTransform="translate(242.94538 300.375) scale(21.756296)"/><font-face font-family="Helvetica" font-size="9" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><radialGradient id="Obj_Gradient_5" xl:href="#Gradient" gradientTransform="translate(721.24875 313.875) scale(214.33243)"/><radialGradient id="Obj_Gradient_6" xl:href="#Gradient" gradientTransform="tra
 nslate(376.43625 309.375) scale(79.927365)"/><radialGradient id="Obj_Gradient_7" xl:href="#Gradient_2" gradientTransform="translate(333.81 300.375) scale(19.091883)"/><radialGradient id="Obj_Gradient_8" xl:href="#Gradient" gradientTransform="translate(689.43375 300.375) scale(174.22978)"/><radialGradient id="Obj_Gradient_9" xl:href="#Gradient" gradientTransform="translate(577.125 289.125) scale(79.157656)"/><radialGradient id="Obj_Gradient_a" xl:href="#Gradient_2" gradientTransform="translate(535.88413 282.375) scale(21.756296)"/><radialGradient id="Obj_Gradient_b" xl:href="#Gradient" gradientTransform="translate(721.24875 493.875) scale(233.095)"/><radialGradient id="Obj_Gradient_c" xl:href="#Gradient" gradientTransform="translate(689.43375 444.375) scale(178.20511)"/><radialGradient id="Obj_Gradient_d" xl:href="#Gradient" gradientTransform="translate(583.875 435.375) scale(83.142343)"/><radialGradient id="Obj_Gradient_e" xl:href="#Gradient_2" gradientTransform="translate(536.43375
  426.375) scale(19.091883)"/></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>replicate-4</title><g><title>Layer 1</title><g><xl:use xl:href="#id3_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id4_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id5_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id7_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id8_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id9_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id10_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id11_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id12_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id13_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id14_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id15_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id16_Graphic" filter="url(#Shadow)"/><xl:use xl:href="#id17_Graphic" filter="url(#Shadow)"/></g><g id="id3_Graphic"><path d="M 165.285 205.875 L 4
 12.965 205.875 C 416.64322 205.875 419.625 208.85678 419.625 212.535 L 419.625 433.215 C 419.625 436.89322 416.64322 439.875 412.965 439.875 L 165.285 439.875 C 161.60678 439.875 158.625 436.89322 158.625 433.215 L 158.625 212.535 C 158.625 208.85678 161.60678 205.875 165.285 205.875 Z" fill="url(#Obj_Gradient)"/><path d="M 165.285 205.875 L 412.965 205.875 C 416.64322 205.875 419.625 208.85678 419.625 212.535 L 419.625 433.215 C 419.625 436.89322 416.64322 439.875 412.965 439.875 L 165.285 439.875 C 161.60678 439.875 158.625 436.89322 158.625 433.215 L 158.625 212.535 C 158.625 208.85678 161.60678 205.875 165.285 205.875 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(162.625 209.875)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="168.99316" y="14" textLength="84.006836">Member (M1)</tspan></text></g><g id="id4_Graphic"><path d="M 178.47 232.875 L 381.15 232.875 C 
 384.82822 232.875 387.81 235.85678 387.81 239.535 L 387.81 388.215 C 387.81 391.89322 384.82822 394.875 381.15 394.875 L 178.47 394.875 C 174.79178 394.875 171.81 391.89322 171.81 388.215 L 171.81 239.535 C 171.81 235.85678 174.79178 232.875 178.47 232.875 Z" fill="url(#Obj_Gradient_2)"/><path d="M 178.47 232.875 L 381.15 232.875 C 384.82822 232.875 387.81 235.85678 387.81 239.535 L 387.81 388.215 C 387.81 391.89322 384.82822 394.875 381.15 394.875 L 178.47 394.875 C 174.79178 394.875 171.81 391.89322 171.81 388.215 L 171.81 239.535 C 171.81 235.85678 174.79178 232.875 178.47 232.875 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(175.81 236.875)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="86.65625" y="11" textLength="34.6875">Cache</tspan></text></g><g id="id5_Graphic"><path d="M 187.59375 259.875 L 268.65 259.875 C 272.32822 259.875 275.31 262.85678 275.31 266.
 535 L 275.31 300.465 C 275.31 304.14322 272.32822 307.125 268.65 307.125 L 187.59375 307.125 C 183.91553 307.125 180.93375 304.14322 180.93375 300.465 L 180.93375 266.535 C 180.93375 262.85678 183.91553 259.875 187.59375 259.875 Z" fill="url(#Obj_Gradient_3)"/><path d="M 187.59375 259.875 L 268.65 259.875 C 272.32822 259.875 275.31 262.85678 275.31 266.535 L 275.31 300.465 C 275.31 304.14322 272.32822 307.125 268.65 307.125 L 187.59375 307.125 C 183.91553 307.125 180.93375 304.14322 180.93375 300.465 L 180.93375 266.535 C 180.93375 262.85678 183.91553 259.875 187.59375 259.875 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(182.93375 261.875)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="3.6588281" y="10" textLength="78.935547">Replicate Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="82.0475" y="10" textLength="6.6699
 22">A</tspan></text></g><rect x="320.625" y="403.875" width="90" height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(322.625 406.875)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.8623047" y="10" textLength="23.901367">Java </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="31.216797" y="10" textLength="48.920898">Application</tspan></text><g id="id7_Graphic"><path d="M 229.75052 284.7935 L 224.23157 284.13576 L 226.08482 289.29955 L 222.17462 293.14786 L 227.36731 294.9185 L 227.93807 300.375 L 232.56 297.41917 L 237.18193 300.375 L 237.75269 294.9185 L 242.94538 293.14786 L 239.03518 289.29955 L 240.88843 284.13652 L 235.44173 284.7935 L 232.56 280.125 Z" fill="url(#Obj_Gradient_4)"/><path d="M 229.75052 284.7935 L 224.23157 284.13576 L 226.08482 289.29955 L 222.17462 293.14786 L 227.36731 294.9185 L 227.93807 300.375 L
  232.56 297.41917 L 237.18193 300.375 L 237.75269 294.9185 L 242.94538 293.14786 L 239.03518 289.29955 L 240.88843 284.13652 L 235.44173 284.7935 L 232.56 280.125 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(222.17462 284.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="3.63538" y="9" textLength="13.5">W1</tspan></text></g><g id="id8_Graphic"><path d="M 471.40875 187.875 L 714.58875 187.875 C 718.26697 187.875 721.24875 190.85678 721.24875 194.535 L 721.24875 307.215 C 721.24875 310.89322 718.26697 313.875 714.58875 313.875 L 471.40875 313.875 C 467.73053 313.875 464.74875 310.89322 464.74875 307.215 L 464.74875 194.535 C 464.74875 190.85678 467.73053 187.875 471.40875 187.875 Z" fill="url(#Obj_Gradient_5)"/><path d="M 471.40875 187.875 L 714.58875 187.875 C 718.26697 187.875 721.24875 190.85678 721.24875 194.535 L 721.24875 307.215 C 721.24875 310.89322 718.266
 97 313.875 714.58875 313.875 L 471.40875 313.875 C 467.73053 313.875 464.74875 310.89322 464.74875 307.215 L 464.74875 194.535 C 464.74875 190.85678 467.73053 187.875 471.40875 187.875 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(468.74875 191.875)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="164.49316" y="14" textLength="84.006836">Member (M2)</tspan></text></g><g id="id9_Graphic"><path d="M 288.72 259.875 L 369.77625 259.875 C 373.45447 259.875 376.43625 262.85678 376.43625 266.535 L 376.43625 302.715 C 376.43625 306.39322 373.45447 309.375 369.77625 309.375 L 288.72 309.375 C 285.04178 309.375 282.06 306.39322 282.06 302.715 L 282.06 266.535 C 282.06 262.85678 285.04178 259.875 288.72 259.875 Z" fill="url(#Obj_Gradient_6)"/><path d="M 288.72 259.875 L 369.77625 259.875 C 373.45447 259.875 376.43625 262.85678 376.43625 266.535 L 376.43625 302.715 C 376.43625 
 306.39322 373.45447 309.375 369.77625 309.375 L 288.72 309.375 C 285.04178 309.375 282.06 306.39322 282.06 302.715 L 282.06 266.535 C 282.06 262.85678 285.04178 259.875 288.72 259.875 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(284.06 261.875)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="3.3853906" y="10" textLength="85.60547">Replicate Region B</tspan></text></g><g id="id10_Graphic"><path d="M 322.47 282.375 L 327.15 282.375 C 330.82822 282.375 333.81 285.35678 333.81 289.035 L 333.81 293.715 C 333.81 297.39322 330.82822 300.375 327.15 300.375 L 322.47 300.375 C 318.79178 300.375 315.81 297.39322 315.81 293.715 L 315.81 289.035 C 315.81 285.35678 318.79178 282.375 322.47 282.375 Z" fill="url(#Obj_Gradient_7)"/><path d="M 322.47 282.375 L 327.15 282.375 C 330.82822 282.375 333.81 285.35678 333.81 289.035 L 333.81 293.715 C 333.81 297.39322 330.82822 300.375 32
 7.15 300.375 L 322.47 300.375 C 318.79178 300.375 315.81 297.39322 315.81 293.715 L 315.81 289.035 C 315.81 285.35678 318.79178 282.375 322.47 282.375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(319.81 280.375)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.4973145" y="20" textLength="5.005371">1</tspan></text></g><g id="id11_Graphic"><path d="M 480.09375 214.875 L 682.77375 214.875 C 686.45197 214.875 689.43375 217.85678 689.43375 221.535 L 689.43375 293.715 C 689.43375 297.39322 686.45197 300.375 682.77375 300.375 L 480.09375 300.375 C 476.41553 300.375 473.43375 297.39322 473.43375 293.715 L 473.43375 221.535 C 473.43375 217.85678 476.41553 214.875 480.09375 214.875 Z" fill="url(#Obj_Gradient_8)"/><path d="M 480.09375 214.875 L 682.
 77375 214.875 C 686.45197 214.875 689.43375 217.85678 689.43375 221.535 L 689.43375 293.715 C 689.43375 297.39322 686.45197 300.375 682.77375 300.375 L 480.09375 300.375 C 476.41553 300.375 473.43375 297.39322 473.43375 293.715 L 473.43375 221.535 C 473.43375 217.85678 476.41553 214.875 480.09375 214.875 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(477.43375 218.875)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="86.65625" y="11" textLength="34.6875">Cache</tspan></text></g><g id="id12_Graphic"><path d="M 489.40875 241.875 L 570.465 241.875 C 574.1432 241.875 577.125 244.85678 577.125 248.535 L 577.125 282.465 C 577.125 286.14322 574.1432 289.125 570.465 289.125 L 489.40875 289.125 C 485.73053 289.125 482.74875 286.14322 482.74875 282.465 L 482.74875 248.535 C 482.74875 244.85678 485.73053 241.875 489.40875 241.875 Z" fill="url(#Obj_Gradient_9)"/><path d="M 489.4
 0875 241.875 L 570.465 241.875 C 574.1432 241.875 577.125 244.85678 577.125 248.535 L 577.125 282.465 C 577.125 286.14322 574.1432 289.125 570.465 289.125 L 489.40875 289.125 C 485.73053 289.125 482.74875 286.14322 482.74875 282.465 L 482.74875 248.535 C 482.74875 244.85678 485.73053 241.875 489.40875 241.875 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(484.74875 243.875)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="3.6588281" y="10" textLength="78.935547">Replicate Region </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="82.0475" y="10" textLength="6.669922">A</tspan></text></g><g id="id13_Graphic"><path d="M 522.68927 266.7935 L 517.17032 266.13576 L 519.02357 271.29955 L 515.11337 275.14786 L 520.30606 276.9185 L 520.87682 282.375 L 525.49875 279.41917 L 530.12068 282.375 L 530.69144 276.9185 L 535.88413 275.14786 L 531.
 97393 271.29955 L 533.82718 266.13652 L 528.38048 266.7935 L 525.49875 262.125 Z" fill="url(#Obj_Gradient_a)"/><path d="M 522.68927 266.7935 L 517.17032 266.13576 L 519.02357 271.29955 L 515.11337 275.14786 L 520.30606 276.9185 L 520.87682 282.375 L 525.49875 279.41917 L 530.12068 282.375 L 530.69144 276.9185 L 535.88413 275.14786 L 531.97393 271.29955 L 533.82718 266.13652 L 528.38048 266.7935 L 525.49875 262.125 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(515.11337 266.75)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="3.63538" y="9" textLength="13.5">W1</tspan></text></g><g id="id14_Graphic"><path d="M 471.40875 318.375 L 714.58875 318.375 C 718.26697 318.375 721.24875 321.35678 721.24875 325.035 L 721.24875 487.215 C 721.24875 490.89322 718.26697 493.875 714.58875 493.875 L 471.40875 493.875 C 467.73053 493.875 464.74875 490.89322 464.74875 487.215 L 464.7487
 5 325.035 C 464.74875 321.35678 467.73053 318.375 471.40875 318.375 Z" fill="url(#Obj_Gradient_b)"/><path d="M 471.40875 318.375 L 714.58875 318.375 C 718.26697 318.375 721.24875 321.35678 721.24875 325.035 L 721.24875 487.215 C 721.24875 490.89322 718.26697 493.875 714.58875 493.875 L 471.40875 493.875 C 467.73053 493.875 464.74875 490.89322 464.74875 487.215 L 464.74875 325.035 C 464.74875 321.35678 467.73053 318.375 471.40875 318.375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(468.74875 322.375)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="500" fill="black" x="164.49316" y="14" textLength="84.006836">Member (M3)</tspan></text></g><g id="id15_Graphic"><path d="M 480.09375 345.375 L 682.77375 345.375 C 686.45197 345.375 689.43375 348.35678 689.43375 352.035 L 689.43375 437.715 C 689.43375 441.39322 686.45197 444.375 682.77375 444.375 L 480.09375 444.375 C 476.41553 444.375 473.43
 375 441.39322 473.43375 437.715 L 473.43375 352.035 C 473.43375 348.35678 476.41553 345.375 480.09375 345.375 Z" fill="url(#Obj_Gradient_c)"/><path d="M 480.09375 345.375 L 682.77375 345.375 C 686.45197 345.375 689.43375 348.35678 689.43375 352.035 L 689.43375 437.715 C 689.43375 441.39322 686.45197 444.375 682.77375 444.375 L 480.09375 444.375 C 476.41553 444.375 473.43375 441.39322 473.43375 437.715 L 473.43375 352.035 C 473.43375 348.35678 476.41553 345.375 480.09375 345.375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(477.43375 349.375)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="86.65625" y="11" textLength="34.6875">Cache</tspan></text></g><g id="id16_Graphic"><path d="M 491.34375 385.875 L 577.215 385.875 C 580.8932 385.875 583.875 388.85678 583.875 392.535 L 583.875 428.715 C 583.875 432.39322 580.8932 435.375 577.215 435.375 L 491.34375 435.375 C 487.6
 6553 435.375 484.68375 432.39322 484.68375 428.715 L 484.68375 392.535 C 484.68375 388.85678 487.66553 385.875 491.34375 385.875 Z" fill="url(#Obj_Gradient_d)"/><path d="M 491.34375 385.875 L 577.215 385.875 C 580.8932 385.875 583.875 388.85678 583.875 392.535 L 583.875 428.715 C 583.875 432.39322 580.8932 435.375 577.215 435.375 L 491.34375 435.375 C 487.66553 435.375 484.68375 432.39322 484.68375 428.715 L 484.68375 392.535 C 484.68375 388.85678 487.66553 385.875 491.34375 385.875 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(486.68375 387.875)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="5.7928906" y="10" textLength="85.60547">Replicate Region B</tspan></text></g><g id="id17_Graphic"><path d="M 525.09375 408.375 L 529.77375 408.375 C 533.45197 408.375 536.43375 411.35678 536.43375 415.035 L 536.43375 419.715 C 536.43375 423.39322 533.45197 426.375 529.77375 4
 26.375 L 525.09375 426.375 C 521.41553 426.375 518.43375 423.39322 518.43375 419.715 L 518.43375 415.035 C 518.43375 411.35678 521.41553 408.375 525.09375 408.375 Z" fill="url(#Obj_Gradient_e)"/><path d="M 525.09375 408.375 L 529.77375 408.375 C 533.45197 408.375 536.43375 411.35678 536.43375 415.035 L 536.43375 419.715 C 536.43375 423.39322 533.45197 426.375 529.77375 426.375 L 525.09375 426.375 C 521.41553 426.375 518.43375 423.39322 518.43375 419.715 L 518.43375 415.035 C 518.43375 411.35678 521.41553 408.375 525.09375 408.375 Z" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(522.43375 406.375)" fill="black"><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="1.9985352" y="9" textLength="6.0029297">X</tspan><tspan font-family="Helvetica" font-size="9" font-weight="500" fill="black" x="2.4973145" y="20" textLength="5.005371">1</tspan></text></g><rect x="622.24875" y="457.875" width="90
 " height="18" stroke="#252525" stroke-linecap="round" stroke-linejoin="round" stroke-width=".72000003"/><text transform="translate(624.24875 460.875)" fill="black"><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="7.8623047" y="10" textLength="23.901367">Java </tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" fill="black" x="31.216797" y="10" textLength="48.920898">Application</tspan></text></g></g></svg>