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/12/14 16:50:38 UTC
geode git commit: GEODE-2208 Document transactions limitation with
mixed region types.
Repository: geode
Updated Branches:
refs/heads/develop ddcec4457 -> bbac13690
GEODE-2208 Document transactions limitation with mixed
region types.
- First operation to a transactional system which has colocated
data and replicated/distributed regions must be to a
partitioned region (with colocated data), to set the transaction
host. Note that this was already documented, but not in a
prominent place. Now the basics of this info is repeated in
a less-buried location.
- Fixed poorly-working links within the subnav and fixed a
couple of markdown errors. The errors were improperly
specified anchor tags.
Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/bbac1369
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/bbac1369
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/bbac1369
Branch: refs/heads/develop
Commit: bbac1369026c434120468ecd4874c337330c5a17
Parents: ddcec44
Author: Karen Miller <km...@pivotal.io>
Authored: Tue Dec 13 14:36:11 2016 -0800
Committer: Karen Miller <km...@pivotal.io>
Committed: Wed Dec 14 08:50:31 2016 -0800
----------------------------------------------------------------------
.../source/subnavs/geode-subnav.erb | 18 ++----------------
.../cache_transactions_by_region_type.html.md.erb | 10 ++--------
.../transactions/chapter_overview.html.md.erb | 6 ++----
.../data_location_cache_transactions.html.md.erb | 15 +++++++++++++--
4 files changed, 19 insertions(+), 30 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/geode/blob/bbac1369/geode-book/master_middleman/source/subnavs/geode-subnav.erb
----------------------------------------------------------------------
diff --git a/geode-book/master_middleman/source/subnavs/geode-subnav.erb b/geode-book/master_middleman/source/subnavs/geode-subnav.erb
index 16aa1e7..e6d40d0 100644
--- a/geode-book/master_middleman/source/subnavs/geode-subnav.erb
+++ b/geode-book/master_middleman/source/subnavs/geode-subnav.erb
@@ -1399,9 +1399,6 @@ limitations under the License.
<li>
<a href="/docs/guide/developing/transactions/about_transactions.html">About Transactions</a>
</li>
- <li>
- <a href="/docs/guide/developing/transactions/about_transactions.html#concept_w3b_wh3_5k">Types of Transactions</a>
- </li>
<li class="has_submenu">
<a href="/docs/guide/developing/transactions/cache_transactions.html">Geode Cache Transactions</a>
<ul>
@@ -1466,19 +1463,8 @@ limitations under the License.
<li>
<a href="/docs/guide/developing/transactions/how_cache_transactions_work.html#concept_sbj_lj1_wk">Committing Transactions</a>
</li>
- <li class="has_submenu">
- <a href="/docs/guide/developing/transactions/cache_transactions_by_region_type.html#topic_nlq_sk1_wk">Transactions by Region Type</a>
- <ul>
- <li>
- <a href="/docs/guide/developing/transactions/cache_transactions_by_region_type.html#concept_ysk_xj1_wk">Transactions and Partitioned Regions</a>
- </li>
- <li>
- <a href="/docs/guide/developing/transactions/cache_transactions_by_region_type.html#concept_nl5_pk1_wk">Transactions and Replicated Regions</a>
- </li>
- <li>
- <a href="/docs/guide/developing/transactions/cache_transactions_by_region_type.html#concept_omy_341_wk">Transactions and Persistent Regions</a>
- </li>
- </ul>
+ <li>
+ <a href="/docs/guide/developing/transactions/cache_transactions_by_region_type.html">Transactions by Region Type</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/developing/transactions/client_server_transactions.html">Client Transactions</a>
http://git-wip-us.apache.org/repos/asf/geode/blob/bbac1369/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 fa3318a..550d755 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
@@ -34,14 +34,8 @@ The transaction host may be the same member or different member from the transac
**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">
+<a id="concept_ysk_xj1_wk"></a>
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.
@@ -133,7 +127,7 @@ When encountering conflicts with local scope, the first transaction to start the
<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">
+<a id="concept_omy_341_wk"></a>
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:
http://git-wip-us.apache.org/repos/asf/geode/blob/bbac1369/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 b5e84a4..defcf4b 100644
--- a/geode-docs/developing/transactions/chapter_overview.html.md.erb
+++ b/geode-docs/developing/transactions/chapter_overview.html.md.erb
@@ -24,10 +24,8 @@ Geode provides a transactions API, with `begin`, `commit`, and `rollback` method
- **[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**.
+It also details the two kinds of transaction that Geode supports:
+**Geode cache transactions** and **JTA global transactions**.
- **[Geode Cache Transactions](../../developing/transactions/cache_transactions.html)**
http://git-wip-us.apache.org/repos/asf/geode/blob/bbac1369/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 d96de82..be6d08c 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
@@ -25,8 +25,19 @@ 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 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.
-
+The first operation determines and sets the transaction host for any
+transactions involving partitioned regions.
+Therefore, in a system that colocates data, the first operation must
+be to the host with the colocated data,
+such that the transaction host is the one with the colocated data.
+The first operation must not be to a replicated region,
+as any member might become the transaction host.
+If the wrong member becomes the transaction host,
+accesses of partitioned region data will result in an exception.