Author: nzamosenchuk
Date: 2012-01-28 10:36:17 -0500 (Sat, 28 Jan 2012)
New Revision: 5539
Added:
jcr/branches/1.14-RSYNC/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-rsync-index.png
Modified:
jcr/branches/1.14-RSYNC/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/query-handler-config.xml
jcr/branches/1.14-RSYNC/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-source.svg
Log:
EXOJCR-1711 : updatind documentation
Modified:
jcr/branches/1.14-RSYNC/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/query-handler-config.xml
===================================================================
---
jcr/branches/1.14-RSYNC/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/query-handler-config.xml 2012-01-28
08:45:35 UTC (rev 5538)
+++
jcr/branches/1.14-RSYNC/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/query-handler-config.xml 2012-01-28
15:36:17 UTC (rev 5539)
@@ -16,8 +16,8 @@
has several limitations that greatly reduce possibilities and limits the
usage of cluster advantages. That's why eXo JCR offers three strategies
that are suitable for it's own usecases. They are standalone, clustered
- with shared index and clustered with local indexes. Each one has it's pros
- and cons.</para>
+ with shared index, clustered with local indexes and RSync-based. Each one
+ has it's pros and cons.</para>
<para>Stanadlone strategy provides a stack of indexes to achieve greater
performance within single JVM.</para>
@@ -81,6 +81,26 @@
indexes within cluster instances for a while. In a few seconds they will
be up2date.</para>
+ <para>Shared index is consistent and stable enough, but slow, while local
+ index is fast, but requires much time for re-synchronization, when cluster
+ node is leaving a cluster for a small period of time. RSync-based index
+ solves this problem along with local file system advantages in term of
+ speed. </para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata align="center"
fileref="images/diagram-rsync-index.png" />
+ </imageobject>
+ </mediaobject>
+
+ <para>This strategy is the same shared index, but stores actual data on
+ local file system, instead of shared. Eventually triggering a
+ synchronization job, that woks on the level of file blocks, synchronizing
+ only modified data. Diagram shows it in action. Only single node in the
+ cluster is responsible for modifying index files, this is the Coordinator
+ node. When data persisted, corresponding command fired, starting
+ synchronization jobs all over the cluster.</para>
+
<para>See more about <link
linkend="JCR.SearchConfiguration">Search
Configuration</link>.</para>
</section>
@@ -243,76 +263,160 @@
and all the "jbosscache-*" must be skipped and not defined. Like the
configuration below.</para>
- <programlisting language="xml"><workspace
name="ws">
- <query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
- <properties>
- <property name="index-dir"
value="shareddir/index/db1/ws" />
- <property name="max-volatile-time" value="60"
/>
- <property name="rdbms-reindexing" value="true"
/>
- <property name="reindexing-page-size" value="1000"
/>
- <property name="index-recovery-mode"
value="from-coordinator" />
- </properties>
- </query-handler>
-</workspace></programlisting>
+ <programlisting language="xml"><query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+ <properties>
+ <property name="index-dir"
value="shareddir/index/db1/ws" />
+ <property name="max-volatile-time" value="60" />
+ <property name="rdbms-reindexing" value="true"
/>
+ <property name="reindexing-page-size" value="1000"
/>
+ <property name="index-recovery-mode"
value="from-coordinator" />
+ </properties>
+</query-handler>
+</programlisting>
</section>
<section>
<title>Cluster-ready indexing strategies</title>
- <para>For both cluster-ready implementations JBoss Cache, JGroups and
- Changes Filter values must be defined. Shared index requires some kind
- of remote or shared file system to be attached in a system (i.e. NFS,
- SMB or etc). Indexing directory ("indexDir" value) must point to it.
- Setting "changesfilter-class" to
-
"org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter"
- will enable shared index implementation.</para>
+ <section>
+ <title>Shared Index</title>
- <programlisting language="xml"><workspace
name="ws">
- <query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
- <properties>
- <property name="index-dir"
value="/mnt/nfs_drive/index/db1/ws" />
- <property name="changesfilter-class"
-
value="org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter"
/>
- <property name="jbosscache-configuration"
value="jbosscache-indexer.xml" />
- <property name="jgroups-configuration"
value="udp-mux.xml" />
- <property name="jgroups-multiplexer-stack"
value="true" />
- <property name="jbosscache-cluster-name"
value="JCR-cluster-indexer-ws" />
- <property name="max-volatile-time" value="60"
/>
- <property name="rdbms-reindexing" value="true"
/>
- <property name="reindexing-page-size" value="1000"
/>
- <property name="index-recovery-mode"
value="from-coordinator" />
- </properties>
- </query-handler>
-</workspace></programlisting>
+ <para>For both cluster-ready implementations JBoss Cache, JGroups and
+ Changes Filter values must be defined. Shared index requires some kind
+ of remote or shared file system to be attached in a system (i.e. NFS,
+ SMB or etc). Indexing directory ("indexDir" value) must point to it.
+ Setting "changesfilter-class" to
+
"org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter"
+ will enable shared index implementation.</para>
- <para>In order to use cluster-ready strategy based on local indexes,
- when each node has own copy of index on local file system, the following
- configuration must be applied. Indexing directory must point to any
- folder on local file system and "changesfilter-class" must be set to
-
"org.exoplatform.services.jcr.impl.core.query.jbosscache.LocalIndexChangesFilter".</para>
+ <programlisting language="xml"><query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+ <properties>
+ <property name="index-dir"
value="/mnt/nfs_drive/index/db1/ws" />
+ <property name="changesfilter-class"
+
value="org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter"
/>
+ <property name="jbosscache-configuration"
value="jbosscache-indexer.xml" />
+ <property name="jgroups-configuration"
value="udp-mux.xml" />
+ <property name="jgroups-multiplexer-stack" value="true"
/>
+ <property name="jbosscache-cluster-name"
value="JCR-cluster-indexer-ws" />
+ <property name="max-volatile-time" value="60" />
+ <property name="rdbms-reindexing" value="true"
/>
+ <property name="reindexing-page-size" value="1000"
/>
+ <property name="index-recovery-mode"
value="from-coordinator" />
+ </properties>
+</query-handler>
+</programlisting>
+ </section>
- <programlisting language="xml"><workspace
name="ws">
- <query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
- <properties>
- <property name="index-dir"
value="/mnt/nfs_drive/index/db1/ws" />
- <property name="changesfilter-class"
-
value="org.exoplatform.services.jcr.impl.core.query.jbosscache.LocalIndexChangesFilter"
/>
- <property name="jbosscache-configuration"
value="jbosscache-indexer.xml" />
- <property name="jgroups-configuration"
value="udp-mux.xml" />
- <property name="jgroups-multiplexer-stack"
value="true" />
- <property name="jbosscache-cluster-name"
value="JCR-cluster-indexer-ws" />
- <property name="max-volatile-time" value="60"
/>
- <property name="rdbms-reindexing" value="true"
/>
- <property name="reindexing-page-size" value="1000"
/>
- <property name="index-recovery-mode"
value="from-coordinator" />
- </properties>
- </query-handler>
-</workspace>
+ <section>
+ <title>RSync Index</title>
+
+ <section>
+ <title>System requirements</title>
+
+ <para>Mandatory requirement for Rsync-based indexing strategy is an
+ installed and properly configured RSync utility. It must be
+ accessible by calling "rsync" without defining it's full path,
in
+ addition each cluster node should have a running RSync Server
+ supporting "rsync://" protocol. For more details, please refer to
+ RSync and operation system documentations. Sample RSync Server
+ configuration will be shown below. There are some additional
+ limitations also. Path for index for each workspace must be the same
+ across the cluster, i.e.
+
"/var/data/index/<repository-name>/<workspace-name>".
+ Next limitation is RSync Server configuration. It must share some of
+ index's parent folders. For example, "/var/data/index". In other
+ words, index is stored inside of RSync Server shared folder.
+ Configuration details are give below.</para>
+ </section>
+
+ <section>
+ <title>Configuration</title>
+
+ <para>Configuration has much in common with Shared Index, it just
+ requires some additional parameters for RSync options. If they are
+ present, JCR switches from shared to RSync-based index. Here is an
+ example configuration:</para>
+
+ <programlisting language="xml"><query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+ <properties>
+ <property name="index-dir"
value="/var/data/index/repository1/production" />
+ <property name="changesfilter-class"
+
value="org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter"
/>
+ <property name="jbosscache-configuration"
value="jar:/conf/portal/cluster/jbosscache-indexer.xml" />
+ <property name="jgroups-configuration"
value="jar:/conf/portal/cluster/udp-mux.xml" />
+ <property name="jgroups-multiplexer-stack" value="false"
/>
+ <property name="jbosscache-cluster-name"
value="JCR-cluster-indexer" />
+ <property name="jbosscache-shareable" value="true"
/>
+ <property name="max-volatile-time" value="60" />
+ <property name="rsync-entry-name" value="index"
/>
+ <property name="rsync-entry-path"
value="/var/data/index" />
+ <property name="rsync-port" value="8085" />
+ <property name="rsync-user" value="rsyncexo" />
+ <property name="rsync-password" value="exo" />
+ </properties>
+</query-handler>
</programlisting>
+ <para>Let's start with authentication: "rsync-user" and
+ "rsync-password". They are optional and can be skipped if RSync
+ Server configured to accept anonymous identity. Before reviewing
+ other RSync index options need to have a look at RSync Server
+ configuration. Sample RSync Server (rsyncd) Configuration </para>
+
+ <programlisting>uid = nobody
+gid = nobody
+use chroot = no
+port = 8085
+log file = rsyncd.log
+pid file = rsyncd.pid
+[index]
+ path = /var/data/index
+ comment = indexes
+ read only = true
+ auth users = rsyncexo
+ secrets file= rsyncd.secrets
+</programlisting>
+
+ <para>This sample configuration shares folder "/var/data/index"
as
+ an entry "index". Those parameters should match corresponding
+ properties in JCR configuration. Respectively "rsync-entry-name",
+ "rsync-entry-path", "rsync-port" properties. Notice! Make
sure
+ "index-dir" is a descendant folder of RSync shared folder and those
+ paths are the same on each cluster node.</para>
+ </section>
+ </section>
+
<section>
- <title>Local Index Recovery Filters</title>
+ <title>Local Index</title>
+ <para>In order to use cluster-ready strategy based on local indexes,
+ when each node has own copy of index on local file system, the
+ following configuration must be applied. Indexing directory must point
+ to any folder on local file system and "changesfilter-class" must be
+ set to
+
"org.exoplatform.services.jcr.impl.core.query.jbosscache.LocalIndexChangesFilter".</para>
+
+ <programlisting language="xml"><query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+ <properties>
+ <property name="index-dir"
value="/mnt/nfs_drive/index/db1/ws" />
+ <property name="changesfilter-class"
+
value="org.exoplatform.services.jcr.impl.core.query.jbosscache.LocalIndexChangesFilter"
/>
+ <property name="jbosscache-configuration"
value="jbosscache-indexer.xml" />
+ <property name="jgroups-configuration"
value="udp-mux.xml" />
+ <property name="jgroups-multiplexer-stack" value="true"
/>
+ <property name="jbosscache-cluster-name"
value="JCR-cluster-indexer-ws" />
+ <property name="max-volatile-time" value="60" />
+ <property name="rdbms-reindexing" value="true"
/>
+ <property name="reindexing-page-size" value="1000"
/>
+ <property name="index-recovery-mode"
value="from-coordinator" />
+ </properties>
+</query-handler>
+</programlisting>
+ </section>
+
+ <section>
+ <title>Local Index Recover Filters</title>
+
<para>Common usecase for all cluster-ready applications is a hot
joining and leaving of processing units. Node that is joining cluster
for the first time or node joining after some downtime, they all must
@@ -460,11 +564,11 @@
<para>"OFFLINE" state means that index is currently re-creating.
When
state changed, corresponding log event is printed. From the start of
background task index is switched to "OFFLINE", with following log event
- : </para>
+ :</para>
<programlisting>[INFO] Setting index OFFLINE
(repository/production[system]).</programlisting>
- <para>When process finished, two events are logged : </para>
+ <para>When process finished, two events are logged :</para>
<programlisting>[INFO] Created initial index for 143018 nodes
(repository/production[system]).
[INFO] Setting index ONLINE (repository/production[system]).</programlisting>
Added:
jcr/branches/1.14-RSYNC/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-rsync-index.png
===================================================================
(Binary files differ)
Property changes on:
jcr/branches/1.14-RSYNC/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-rsync-index.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified:
jcr/branches/1.14-RSYNC/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-source.svg
===================================================================
---
jcr/branches/1.14-RSYNC/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-source.svg 2012-01-28
08:45:35 UTC (rev 5538)
+++
jcr/branches/1.14-RSYNC/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-source.svg 2012-01-28
15:36:17 UTC (rev 5539)
@@ -14,7 +14,7 @@
height="1180"
id="svg2"
version="1.1"
- inkscape:version="0.48.0 r9654"
+ inkscape:version="0.48.2 r9819"
sodipodi:docname="diagram-source.svg"
inkscape:export-filename="/home/nikolaz/Desktop/cluster.png"
inkscape:export-xdpi="90"
@@ -1341,6 +1341,195 @@
y1="378.4386"
x2="167.42206"
y2="378.4386" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590-0"
+ id="radialGradient5198"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.49287173,-1.4585165e-7,2.4715537e-8,0.08114378,-1050.957,435.79549)"
+ cx="172.86125"
+ cy="30.079779"
+ fx="172.86125"
+ fy="30.079779"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590-0"
+ id="radialGradient5204"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.49287173,-1.4585165e-7,2.4715537e-8,0.08114378,-1050.957,435.79549)"
+ cx="172.86125"
+ cy="30.079779"
+ fx="172.86125"
+ fy="30.079779"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590-0"
+ id="radialGradient5210"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.49287173,-1.4585165e-7,2.4715537e-8,0.08114378,-1050.957,435.79549)"
+ cx="172.86125"
+ cy="30.079779"
+ fx="172.86125"
+ fy="30.079779"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590-0"
+ id="radialGradient5336"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(1.3012875,-4.386106e-7,1.8785129e-7,0.48024927,351.6568,2319.6804)"
+ cx="192.30554"
+ cy="128.54347"
+ fx="192.30554"
+ fy="128.54347"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4019"
+ id="radialGradient5339"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(1.3012875,-4.386106e-7,1.8785129e-7,0.48024927,351.6568,2319.6804)"
+ cx="192.30554"
+ cy="128.54347"
+ fx="192.30554"
+ fy="128.54347"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590-0"
+ id="radialGradient5349"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(1.3012875,-4.386106e-7,1.8785129e-7,0.48024927,-128.3432,2319.6804)"
+ cx="192.30554"
+ cy="128.54347"
+ fx="192.30554"
+ fy="128.54347"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4019"
+ id="radialGradient5352"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(1.3012875,-4.386106e-7,1.8785129e-7,0.48024927,-128.3432,2319.6804)"
+ cx="192.30554"
+ cy="128.54347"
+ fx="192.30554"
+ fy="128.54347"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4019"
+ id="radialGradient5403"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(1.3012875,-4.386106e-7,1.8785129e-7,0.48024927,71.6568,2319.6804)"
+ cx="192.30554"
+ cy="128.54347"
+ fx="192.30554"
+ fy="128.54347"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4019"
+ id="radialGradient5411"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(1.3012875,-4.386106e-7,1.8785129e-7,0.48024927,71.6568,2319.6804)"
+ cx="192.30554"
+ cy="128.54347"
+ fx="192.30554"
+ fy="128.54347"
+ r="114.28571" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590"
+ id="linearGradient5521"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="71.50563"
+ y1="369.29129"
+ x2="167.36424"
+ y2="369.29129" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590"
+ id="linearGradient5523"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="71.50563"
+ y1="394.31128"
+ x2="130.18889"
+ y2="394.31128" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3679"
+ id="linearGradient5525"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="130.10934"
+ y1="378.4386"
+ x2="167.42206"
+ y2="378.4386" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590"
+ id="linearGradient5527"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="71.50563"
+ y1="369.29129"
+ x2="167.36424"
+ y2="369.29129" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590"
+ id="linearGradient5529"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="71.50563"
+ y1="394.31128"
+ x2="130.18889"
+ y2="394.31128" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3679"
+ id="linearGradient5531"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="130.10934"
+ y1="378.4386"
+ x2="167.42206"
+ y2="378.4386" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590"
+ id="linearGradient5533"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="71.50563"
+ y1="369.29129"
+ x2="167.36424"
+ y2="369.29129" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590"
+ id="linearGradient5535"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="71.50563"
+ y1="394.31128"
+ x2="130.18889"
+ y2="394.31128" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3679"
+ id="linearGradient5537"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="130.10934"
+ y1="378.4386"
+ x2="167.42206"
+ y2="378.4386" />
</defs>
<sodipodi:namedview
id="base"
@@ -1349,16 +1538,16 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="0.7071068"
- inkscape:cx="443.18636"
- inkscape:cy="-987.03691"
+ inkscape:zoom="1"
+ inkscape:cx="417.80412"
+ inkscape:cy="-1179.0227"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1680"
- inkscape:window-height="1000"
+ inkscape:window-height="1026"
inkscape:window-x="0"
- inkscape:window-y="25"
+ inkscape:window-y="24"
inkscape:window-maximized="1"
showguides="true"
inkscape:guide-bbox="true"
@@ -4282,5 +4471,752 @@
y="1970.5767"
style="font-size:15px;text-align:center;text-anchor:middle">index</tspan></text>
</g>
+ <g
+ id="g7360"
+
inkscape:export-filename="/home/exo/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-rsync-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <rect
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ id="rect5006"
+ width="163.92166"
+ height="89.972282"
+ x="239.94072"
+ y="2326.5276"
+ rx="7"
+ ry="7"
+
style="fill:url(#radialGradient5411);fill-opacity:1;stroke:#000000;stroke-opacity:1;filter:url(#filter5884)"
/>
+ <g
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ id="g5008"
+ transform="matrix(0.48339876,0,0,2.5152896,219.4854,1497.8277)"
+ style="opacity:0.26200873">
+ <path
+ inkscape:connector-curvature="0"
+
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:15;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale
Mono;-inkscape-font-specification:Andale Mono"
+ d="m -74.25,344.8125 0,15 730.4375,0 0,-15 -730.4375,0 z"
+ id="path5010" />
+ </g>
+ <rect
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ style="fill:url(#radialGradient5403);fill-opacity:1"
+ ry="7"
+ rx="7"
+ y="2326.5276"
+ x="239.94072"
+ height="89.972282"
+ width="163.92166"
+ id="rect5018" />
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ id="text5020"
+ y="2392.8604"
+ x="257.58612"
+
style="font-size:40px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream
Vera Sans"
+ xml:space="preserve"><tspan
+ y="2392.8604"
+ x="257.58612"
+ id="tspan5022"
+ sodipodi:role="line">JCR #2</tspan></text>
+ <text
+ xml:space="preserve"
+
style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream
Vera Sans"
+ id="text5024"
+ y="2431.8838"
+ x="314.95868"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan5026"
+ x="314.95868"
+ y="2431.8838"
+ style="font-size:15px">coordinator</tspan></text>
+ <path
+ inkscape:connector-curvature="0"
+
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-mid:none;marker-end:url(#Arrow1Mend)"
+ d="m 383.67405,2319.4401 c -0.462,-34.8901 -0.0914,-19.4649
-0.57286,-55.734"
+ id="path5028"
+ sodipodi:nodetypes="cs"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ inkscape:connector-curvature="0"
+
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:8,
8;stroke-dashoffset:0;marker-start:url(#Arrow1Mstart);marker-mid:none;marker-end:none"
+ d="m 147.86249,2194.8527 c 33.42131,-0.4928 137.32092,-1.0597
152.90911,-0.5649"
+ id="path5030"
+ sodipodi:nodetypes="cs"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ xml:space="preserve"
+
style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream
Vera Sans"
+ x="213.55304"
+ y="2159.1682"
+ id="text5034"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ x="213.55304"
+ y="2159.1682"
+ id="tspan5036"
+ style="font-size:30px">RSync-based
index</tspan></text>
+ <text
+ sodipodi:linespacing="80.000001%"
+ xml:space="preserve"
+
style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle;opacity:0.39738045;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream
Vera Sans"
+ id="text5038"
+ y="2388.5635"
+ x="462.73706"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ id="tspan5040"
+ sodipodi:role="line"
+ x="462.73706"
+ y="2388.5635"
+
style="font-size:15px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle">JBoss
Cache</tspan></text>
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ sodipodi:nodetypes="cc"
+ id="path5078"
+ d="m 515.26014,2369.7686 -107.51944,0"
+
style="opacity:0.59825332;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow2Lstart-53)"
/>
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ sodipodi:nodetypes="cc"
+ id="path5080"
+ d="m 407.7407,2397.6889 107.44101,0"
+
style="opacity:0.59825332;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow2Lstart-53)"
/>
+ <g
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ transform="translate(1277.846,1905.8061)"
+ id="g5082">
+ <rect
+ id="rect5084"
+ width="135.1803"
+ height="17.132936"
+ x="-1022.2118"
+ y="428.96268"
+ rx="4"
+ ry="4"
+ style="fill:#000000;fill-opacity:1;filter:url(#filter6060)" />
+ <rect
+ style="fill:url(#radialGradient5198);fill-opacity:1"
+ ry="4"
+ rx="4"
+ y="428.96268"
+ x="-1022.2118"
+ height="17.132936"
+ width="135.1803"
+ id="rect5086" />
+ <text
+ id="text5088"
+ y="442.27301"
+ x="-1004.0707"
+
style="font-size:40px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream
Vera Sans"
+ xml:space="preserve"><tspan
+ style="font-size:15px"
+ y="442.27301"
+ x="-1004.0707"
+ id="tspan5090"
+ sodipodi:role="line">Volatile index</tspan></text>
+ </g>
+ <text
+ xml:space="preserve"
+
style="font-size:40px;font-style:normal;font-weight:normal;text-align:end;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream
Vera Sans"
+ id="text5092"
+ y="2362.3901"
+ x="496.50299"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ id="tspan5094"
+ sodipodi:role="line"
+ x="496.50299"
+ y="2362.3901"
+ style="font-size:10px;text-align:end;text-anchor:end">list of
indexes</tspan></text>
+ <text
+ sodipodi:linespacing="80.000001%"
+ xml:space="preserve"
+
style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream
Vera Sans"
+ id="text5096"
+ y="2412.8521"
+ x="461.1297"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ id="tspan5098"
+ sodipodi:role="line"
+ x="461.1297"
+ y="2412.8521"
+
style="font-size:10px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle">list
of new/updated</tspan><tspan
+ id="tspan5100"
+ sodipodi:role="line"
+ x="461.1297"
+ y="2420.8521"
+
style="font-size:10px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle">content</tspan></text>
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ x="375.82294"
+ y="2287.1191"
+ id="text5102"
+
style="font-size:40px;font-style:normal;font-weight:normal;text-align:end;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream
Vera Sans"
+ xml:space="preserve"><tspan
+ id="tspan5104"
+ style="font-size:15px;text-align:end;text-anchor:end"
+ y="2287.1191"
+ x="380.59833"
+ sodipodi:role="line">flush </tspan><tspan
+ id="tspan5106"
+ style="font-size:15px;text-align:end;text-anchor:end"
+ y="2305.8691"
+ x="375.82294"
+ sodipodi:role="line">volatile index</tspan></text>
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+
style="opacity:0.59825332;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow2Lstart-53)"
+ d="m 207.981,2369.7686 26.8308,0"
+ id="path5114"
+ sodipodi:nodetypes="cc" />
+ <rect
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+
inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ id="rect5116"
+ width="163.92166"
+ height="89.972282"
+ x="39.94072"
+ y="2326.5276"
+ rx="7"
+ ry="7"
+
style="fill:url(#radialGradient5352);fill-opacity:1;stroke:#000000;stroke-opacity:1;filter:url(#filter5884)"
/>
+ <rect
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+
inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ style="fill:url(#radialGradient5349);fill-opacity:1"
+ ry="7"
+ rx="7"
+ y="2326.5276"
+ x="39.94072"
+ height="89.972282"
+ width="163.92166"
+ id="rect5118" />
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+
inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ id="text5120"
+ y="2392.8604"
+ x="57.586121"
+
style="font-size:40px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream
Vera Sans"
+ xml:space="preserve"><tspan
+ y="2392.8604"
+ x="57.586121"
+ id="tspan5122"
+ sodipodi:role="line">JCR #1</tspan></text>
+ <g
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+
inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ transform="translate(1077.846,1905.8061)"
+ id="g5124">
+ <rect
+ id="rect5126"
+ width="135.1803"
+ height="17.132936"
+ x="-1022.2118"
+ y="428.96268"
+ rx="4"
+ ry="4"
+ style="fill:#000000;fill-opacity:1;filter:url(#filter6060)" />
+ <rect
+ style="fill:url(#radialGradient5204);fill-opacity:1"
+ ry="4"
+ rx="4"
+ y="428.96268"
+ x="-1022.2118"
+ height="17.132936"
+ width="135.1803"
+ id="rect5128" />
+ <text
+ id="text5130"
+ y="442.27301"
+ x="-1004.0707"
+
style="font-size:40px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream
Vera Sans"
+ xml:space="preserve"><tspan
+ style="font-size:15px"
+ y="442.27301"
+ x="-1004.0707"
+ id="tspan5132"
+ sodipodi:role="line">Volatile index</tspan></text>
+ </g>
+ <rect
+
style="fill:url(#radialGradient5339);fill-opacity:1;stroke:#000000;stroke-opacity:1;filter:url(#filter5884)"
+ ry="7"
+ rx="7"
+ y="2326.5276"
+ x="519.94073"
+ height="89.972282"
+ width="163.92166"
+ id="rect5134"
+
inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ id="rect5136"
+ width="163.92166"
+ height="89.972282"
+ x="519.94073"
+ y="2326.5276"
+ rx="7"
+ ry="7"
+ style="fill:url(#radialGradient5336);fill-opacity:1"
+
inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ xml:space="preserve"
+
style="font-size:40px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream
Vera Sans"
+ x="537.58612"
+ y="2392.8604"
+ id="text5138"
+
inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan5140"
+ x="537.58612"
+ y="2392.8604">JCR #n</tspan></text>
+ <g
+ id="g5142"
+ transform="translate(1557.846,1905.8061)"
+
inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <rect
+ style="fill:#000000;fill-opacity:1;filter:url(#filter6060)"
+ ry="4"
+ rx="4"
+ y="428.96268"
+ x="-1022.2118"
+ height="17.132936"
+ width="135.1803"
+ id="rect5144" />
+ <rect
+ id="rect5146"
+ width="135.1803"
+ height="17.132936"
+ x="-1022.2118"
+ y="428.96268"
+ rx="4"
+ ry="4"
+ style="fill:url(#radialGradient5210);fill-opacity:1" />
+ <text
+ xml:space="preserve"
+
style="font-size:40px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream
Vera Sans"
+ x="-1004.0707"
+ y="442.27301"
+ id="text5148"><tspan
+ sodipodi:role="line"
+ id="tspan5150"
+ x="-1004.0707"
+ y="442.27301"
+ style="font-size:15px">Volatile
index</tspan></text>
+ </g>
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+
inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ sodipodi:linespacing="80.000001%"
+ x="349.88257"
+ y="2237.4382"
+ id="text5413"
+
style="font-size:20px;font-style:normal;font-weight:normal;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream
Vera Sans"
+ xml:space="preserve"><tspan
+
style="font-size:20px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle"
+ y="2237.4382"
+ x="349.88257"
+ id="tspan5415"
+ sodipodi:role="line">local</tspan><tspan
+ id="tspan5417"
+
style="font-size:20px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle"
+ y="2253.4382"
+ x="349.88257"
+ sodipodi:role="line">file system</tspan></text>
+ <g
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+
inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ transform="translate(1283.846,2027.8061)"
+ id="g5419">
+ <g
+ style="fill:#000000;fill-opacity:1;filter:url(#filter3958)"
+ id="g5421">
+ <path
+ id="path5423"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -927.54545,153.32625 -46.3903,25.73628 -0.0692,-8.28635
46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path5425"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -0.0561,-6.71388 -45.32037,-4.9837
0.0522,6.24397 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path5427"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -56.91756,-10.05543
46.3903,-25.73628 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path5429"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.27725,152.06598 -34.81726,27.91714 -56.91047,-9.20694
46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path5431"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -917.01819,189.11796 -0.0763,-9.13484 -56.91047,-9.20694
0.0692,8.28635 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path5433"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -0.0763,-9.13484
34.81726,-27.91714 z"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ style="fill:none"
+ id="g5435">
+ <path
+ id="path5437"
+ style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
+ d="m -927.54545,153.32625 -46.3903,25.73628 -0.0692,-8.28635
46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path5439"
+ style="fill:#353564;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -0.0561,-6.71388 -45.32037,-4.9837
0.0522,6.24397 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path5441"
+ style="fill:#4d4d9f;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -56.91756,-10.05543
46.3903,-25.73628 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path5443"
+
style="fill:url(#linearGradient5521);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.27725,152.06598 -34.81726,27.91714 -56.91047,-9.20694
46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path5445"
+
style="fill:url(#linearGradient5523);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -917.01819,189.11796 -0.0763,-9.13484 -56.91047,-9.20694
0.0692,8.28635 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path5447"
+
style="fill:url(#linearGradient5525);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -0.0763,-9.13484
34.81726,-27.91714 z"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ <text
+ xml:space="preserve"
+
style="font-size:20px;font-style:normal;font-weight:normal;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream
Vera Sans"
+ id="text5449"
+ y="2237.4382"
+ x="91.882568"
+ sodipodi:linespacing="80.000001%"
+
inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan5451"
+ x="91.882568"
+ y="2237.4382"
+
style="font-size:20px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle">local</tspan><tspan
+ sodipodi:role="line"
+ x="91.882568"
+ y="2253.4382"
+
style="font-size:20px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle"
+ id="tspan5453">file system</tspan></text>
+ <g
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+
inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ id="g5455"
+ transform="translate(1025.846,2027.8061)">
+ <g
+ id="g5457"
+ style="fill:#000000;fill-opacity:1;filter:url(#filter3958)">
+ <path
+ inkscape:connector-curvature="0"
+ d="m -927.54545,153.32625 -46.3903,25.73628 -0.0692,-8.28635
46.40736,-23.6939 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path5459" />
+ <path
+ inkscape:connector-curvature="0"
+ d="m -882.22116,158.77986 -0.0561,-6.71388 -45.32037,-4.9837
0.0522,6.24397 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path5461" />
+ <path
+ inkscape:connector-curvature="0"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -56.91756,-10.05543
46.3903,-25.73628 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path5463" />
+ <path
+ inkscape:connector-curvature="0"
+ d="m -882.27725,152.06598 -34.81726,27.91714 -56.91047,-9.20694
46.40736,-23.6939 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path5465" />
+ <path
+ inkscape:connector-curvature="0"
+ d="m -917.01819,189.11796 -0.0763,-9.13484 -56.91047,-9.20694
0.0692,8.28635 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path5467" />
+ <path
+ inkscape:connector-curvature="0"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -0.0763,-9.13484
34.81726,-27.91714 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path5469" />
+ </g>
+ <g
+ id="g5471"
+ style="fill:none">
+ <path
+ inkscape:connector-curvature="0"
+ d="m -927.54545,153.32625 -46.3903,25.73628 -0.0692,-8.28635
46.40736,-23.6939 z"
+ style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
+ id="path5473" />
+ <path
+ inkscape:connector-curvature="0"
+ d="m -882.22116,158.77986 -0.0561,-6.71388 -45.32037,-4.9837
0.0522,6.24397 z"
+ style="fill:#353564;fill-rule:evenodd;stroke:none"
+ id="path5475" />
+ <path
+ inkscape:connector-curvature="0"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -56.91756,-10.05543
46.3903,-25.73628 z"
+ style="fill:#4d4d9f;fill-rule:evenodd;stroke:none"
+ id="path5477" />
+ <path
+ inkscape:connector-curvature="0"
+ d="m -882.27725,152.06598 -34.81726,27.91714 -56.91047,-9.20694
46.40736,-23.6939 z"
+
style="fill:url(#linearGradient5527);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path5479" />
+ <path
+ inkscape:connector-curvature="0"
+ d="m -917.01819,189.11796 -0.0763,-9.13484 -56.91047,-9.20694
0.0692,8.28635 z"
+
style="fill:url(#linearGradient5529);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path5481" />
+ <path
+ inkscape:connector-curvature="0"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -0.0763,-9.13484
34.81726,-27.91714 z"
+
style="fill:url(#linearGradient5531);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path5483" />
+ </g>
+ </g>
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+
inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ sodipodi:linespacing="80.000001%"
+ x="631.88257"
+ y="2237.4382"
+ id="text5485"
+
style="font-size:20px;font-style:normal;font-weight:normal;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream
Vera Sans"
+ xml:space="preserve"><tspan
+
style="font-size:20px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle"
+ y="2237.4382"
+ x="631.88257"
+ id="tspan5487"
+ sodipodi:role="line">local</tspan><tspan
+ id="tspan5489"
+
style="font-size:20px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle"
+ y="2253.4382"
+ x="631.88257"
+ sodipodi:role="line">file system</tspan></text>
+ <g
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+
inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ transform="translate(1565.846,2027.8061)"
+ id="g5491">
+ <g
+ style="fill:#000000;fill-opacity:1;filter:url(#filter3958)"
+ id="g5493">
+ <path
+ id="path5495"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -927.54545,153.32625 -46.3903,25.73628 -0.0692,-8.28635
46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path5497"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -0.0561,-6.71388 -45.32037,-4.9837
0.0522,6.24397 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path5499"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -56.91756,-10.05543
46.3903,-25.73628 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path5501"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.27725,152.06598 -34.81726,27.91714 -56.91047,-9.20694
46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path5503"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -917.01819,189.11796 -0.0763,-9.13484 -56.91047,-9.20694
0.0692,8.28635 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path5505"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -0.0763,-9.13484
34.81726,-27.91714 z"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ style="fill:none"
+ id="g5507">
+ <path
+ id="path5509"
+ style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
+ d="m -927.54545,153.32625 -46.3903,25.73628 -0.0692,-8.28635
46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path5511"
+ style="fill:#353564;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -0.0561,-6.71388 -45.32037,-4.9837
0.0522,6.24397 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path5513"
+ style="fill:#4d4d9f;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -56.91756,-10.05543
46.3903,-25.73628 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path5515"
+
style="fill:url(#linearGradient5533);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.27725,152.06598 -34.81726,27.91714 -56.91047,-9.20694
46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path5517"
+
style="fill:url(#linearGradient5535);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -917.01819,189.11796 -0.0763,-9.13484 -56.91047,-9.20694
0.0692,8.28635 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path5519"
+
style="fill:url(#linearGradient5537);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -0.0763,-9.13484
34.81726,-27.91714 z"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ <path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ sodipodi:nodetypes="cs"
+ id="path5539"
+ d="m 578.20432,2193.446 c -33.42131,0.4928 -154.29148,1.0597
-169.87967,0.5649"
+
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:8,
8;stroke-dashoffset:0;marker-start:url(#Arrow1Mstart);marker-mid:none;marker-end:none"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+
style="font-size:40px;font-style:normal;font-weight:normal;text-align:end;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream
Vera Sans"
+ id="text5545"
+ y="2208.1191"
+ x="252.82294"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ x="252.82294"
+ y="2208.1191"
+ style="font-size:15px;text-align:end;text-anchor:end"
+ id="tspan5549">rsync</tspan></text>
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ x="512.82294"
+ y="2208.1191"
+ id="text5553"
+
style="font-size:40px;font-style:normal;font-weight:normal;text-align:end;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream
Vera Sans"
+ xml:space="preserve"><tspan
+ id="tspan5555"
+ style="font-size:15px;text-align:end;text-anchor:end"
+ y="2208.1191"
+ x="512.82294"
+ sodipodi:role="line">rsync</tspan></text>
+ <path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ sodipodi:nodetypes="cs"
+ id="path5557"
+ d="m 643.67405,2317.4401 c 0,-15.8948 -0.19308,-53.7582
-0.21931,-55.734"
+
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart-3);marker-mid:none;marker-end:none"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+
style="font-size:40px;font-style:normal;font-weight:normal;text-align:end;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream
Vera Sans"
+ id="text5559"
+ y="2299.1191"
+ x="631.82294"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ x="631.82294"
+ y="2299.1191"
+ style="font-size:15px;text-align:end;text-anchor:end"
+ id="tspan5563">read index</tspan></text>
+ <path
+ inkscape:connector-curvature="0"
+
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart-3);marker-mid:none;marker-end:none"
+ d="m 77.67405,2317.4401 c 0,-15.8948 -0.19308,-53.7582
-0.21931,-55.734"
+ id="path7293"
+ sodipodi:nodetypes="cs"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ x="169.11583"
+ y="2299.1191"
+ id="text7295"
+
style="font-size:40px;font-style:normal;font-weight:normal;text-align:end;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream
Vera Sans"
+ xml:space="preserve"><tspan
+ id="tspan7297"
+ style="font-size:15px;text-align:end;text-anchor:end"
+ y="2299.1191"
+ x="169.11583"
+ sodipodi:role="line">read index</tspan></text>
+ </g>
</g>
</svg>