[dna-commits] DNA SVN: r1025 - trunk/docs/reference/src/main/docbook/en-US/content/connectors.
dna-commits at lists.jboss.org
dna-commits at lists.jboss.org
Tue Jun 9 20:18:55 EDT 2009
Author: rhauch
Date: 2009-06-09 20:18:54 -0400 (Tue, 09 Jun 2009)
New Revision: 1025
Modified:
trunk/docs/reference/src/main/docbook/en-US/content/connectors/federation.xml
Log:
Added to the Reference Guide more detail about how the federated connector can parallelize the fork-join processes. Also addressed the limitations of update requests when such requests do not map to a single projection.
Modified: trunk/docs/reference/src/main/docbook/en-US/content/connectors/federation.xml
===================================================================
--- trunk/docs/reference/src/main/docbook/en-US/content/connectors/federation.xml 2009-06-09 23:57:54 UTC (rev 1024)
+++ trunk/docs/reference/src/main/docbook/en-US/content/connectors/federation.xml 2009-06-10 00:18:54 UTC (rev 1025)
@@ -358,8 +358,46 @@
composing the results. Technically, Step 2 performs the fork and join operations, but this class uses &RequestProcessor;
implementations to do Step 1 and 3 (called &ForkRequestProcessor; and &JoinRequestProcessor;, respectively).
</para>
+ <para>
+ Such fork-join style techniques are well-suited to <emphasis>parallel processing</emphasis>. This connector uses an &ExecutorService;
+ to allow these different processors to operate concurrently. This can greatly improve the performance as perceived
+ by the clients, since indeed much of the operations on the different sources are occurring at the same time.
+ </para>
+ <para>
+ It is also possible that not every incoming &Request; get projected to all sources. Indeed, many operations can
+ effectively be mapped to a <emphasis>single projection</emphasis>. In such cases, the overhead of the federated
+ connector is quite minimal.
+ </para>
+ <note>
+ <para>
+ &Request;s that include the &Path; within the request's &Location; can be very quickly mapped to the correct projection,
+ and thus such federated requests can be processed with very little overhead. However, when requests contain &Location;s
+ that only contain identification properties (e.g., UUIDs), the connector may not be able to determine the correct
+ projection(s), and may have to simply forward the request to all of the projections. This is obviously less desirable,
+ so when possible ensure that the &Request; objects include the &Path;.
+ </para>
+ </note>
</sect1>
<sect1>
+ <title>Update operations</title>
+ <para>
+ The federated connector behavior for <emphasis>read-only</emphasis> requests is fairly obvious. In the best case, the connector determines the
+ appropriate projections, forwards the request into the appropriate sources, and then combines the results.
+ But what happens with <emphasis>change requests</emphasis>?
+ </para>
+ <para>
+ Currently, the federated connector requires that each &ChangeRequest; be mapped to <emphasis>one and only one</emphasis> projection.
+ However, when a single projection cannot be determined for a &ChangeRequest;, the connector throws an error.
+ </para>
+ <para>
+ This is thought to be a minimal problem that will not actually be an issue in most uses of the federated connector.
+ If you find that your usage does indeed fall into this category,
+ please let us know via the <ulink url="&Home;lists.html">mailing lists</ulink> or log
+ an enhancement request in <ulink url="&JIRA;">JIRA</ulink>. Be sure to include as much detail as possible about the scenario,
+ the problem condition, and the desired behavior.
+ </para>
+ </sect1>
+ <sect1>
<title>Configuration</title>
<para>
The federated repository uses other &RepositorySource;s that are to be federated and a &RepositorySource; that is to be used as the
More information about the dna-commits
mailing list