From do-not-reply at jboss.org Thu Feb 18 03:34:31 2010
Content-Type: multipart/mixed; boundary="===============9077758739306250999=="
MIME-Version: 1.0
From: do-not-reply at jboss.org
To: exo-jcr-commits at lists.jboss.org
Subject: [exo-jcr-commits] exo-jcr SVN: r1882 - in
jcr/trunk/docs/reference/en/src/main/docbook/en-US: modules and 1 other
directory.
Date: Thu, 18 Feb 2010 03:34:30 -0500
Message-ID: <201002180834.o1I8YUr1023711@svn01.web.mwc.hst.phx2.redhat.com>
--===============9077758739306250999==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Author: sergiykarpenko
Date: 2010-02-18 03:34:30 -0500 (Thu, 18 Feb 2010)
New Revision: 1882
Modified:
jcr/trunk/docs/reference/en/src/main/docbook/en-US/master.xml
jcr/trunk/docs/reference/en/src/main/docbook/en-US/modules/query-handler=
-config.xml
Log:
EXOJCR-490: small updates
Modified: jcr/trunk/docs/reference/en/src/main/docbook/en-US/master.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- jcr/trunk/docs/reference/en/src/main/docbook/en-US/master.xml 2010-02-1=
7 17:07:52 UTC (rev 1881)
+++ jcr/trunk/docs/reference/en/src/main/docbook/en-US/master.xml 2010-02-1=
8 08:34:30 UTC (rev 1882)
@@ -66,6 +66,9 @@
=
+
+
=
Modified: jcr/trunk/docs/reference/en/src/main/docbook/en-US/modules/query-=
handler-config.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- jcr/trunk/docs/reference/en/src/main/docbook/en-US/modules/query-handle=
r-config.xml 2010-02-17 17:07:52 UTC (rev 1881)
+++ jcr/trunk/docs/reference/en/src/main/docbook/en-US/modules/query-handle=
r-config.xml 2010-02-18 08:34:30 UTC (rev 1882)
@@ -1,186 +1,188 @@
-
-
-
-
- QueryHandler configuration
-
-
-
- How does it work?
-
- Lets talk about indexing content in cluster.
-
- For couple of reasons, we can't replicate index. That's means, s=
ome
- data added and indexed on one cluster node, will be replicated to anot=
her
- cluster node, but will not be indexed on that node.
-
- So, how do the indexing works in cluster environment?
-
- As, we can not index same data on all nodes of cluster, we must
- index it on one node. Node, that can index data and do changes on luce=
ne
- index, is called "coordinator". Coordinator-node is choosen automatica=
ly,
- so we do not need special configuration for coordinator.
-
- But, how can another nodes save their changes to lucene
- index?
-
- First of all, data is already saved and replicated to another
- cluster-nodes, so we need only deliver message like "we need to index =
this
- data" to coordinator. Thats why Jboss-cache is used.
-
- All nodes of cluster writes messages into JBoss-cache but only
- coordinator takes those messages and makes changes Lucene index.
-
- How do the search works in cluster environment?
-
- Search engine do not works with indexer, coordinator, etc. Search
- needs only lucene index. But only one cluster node can change lucene i=
ndex
- - asking you. Yes - lucene index is shared. So, all cluster nodes must=
be
- configured to use lucene index from shared directory.
-
- A little bit about indexing process (no matter, cluster or not)
- Indexer do not writes changes to FS lucene index immediately. At first,
- Indexer writes changes to Volatile index. If Volatile index size become
- 1Mb or more it is flushed to FS. Also there is timer, that flushes
- volatile index by timeout. Volatile index timeout configured by
- "max-volatile-time" paremeter.
-
- Common scheme of Shared Index
-
-
-
-
-
-
-
- Configuration
-
-
- Common requirements
-
- Now, lets see what we need to run Search engine in cluster
- environment.
-
- shared directory for storing Lucene index (i.e. NFS);
-
-
-
- changes filter configured as
- org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossC=
acheIndexChangesFilter;
-
-
- This filter ignore changes on non-coordinator nodes, a=
nd
- index changes on coordinator node.
-
-
-
-
- configure JBoss-cache, course;
-
-
-
-
-
- Query-handler configuration
-
- Configuration example:<workspace name=3D"ws=
">
- <query-handler class=3D"org.exoplatform.services.jcr.impl.core.query=
.lucene.SearchIndex">
- <properties>
- <property name=3D"index-dir" value=3D"shareddir/index/db1/ws" =
/>
- <property name=3D"changesfilter-class"
- value=3D"org.exoplatform.services.jcr.impl.core.query.jbosscac=
he.JBossCacheIndexChangesFilter" />
- <property name=3D"jbosscache-configuration" value=3D"jbosscach=
e-indexer.xml" />
- <property name=3D"jgroups-configuration" value=3D"udp-mux.xml"=
/>
- <property name=3D"jgroups-multiplexer-stack" value=3D"true" /&=
gt;
- <property name=3D"jbosscache-cluster-name" value=3D"JCR-cluste=
r-indexer-ws" />
- <property name=3D"max-volatile-time" value=3D"60" />
- </properties>
- </query-handler>
-</workspace>
- Config properties description
-
-
-
-
- Property name
-
- Description
-
-
-
-
-
- index-dir
-
- path to index
-
-
-
- jbosscache-configuration
-
- template of JBoss-cache configuration for all
- query-handlers in repository
-
-
-
- jgroups-configuration
-
- jgroups-configuration is template configuration for=
all
- components (search, cache, locks) [Add link to document
- describing template configurations]
-
-
-
- jgroups-multiplexer-stack
-
- [TODO about jgroups-multiplexer-stack - add link to
- JBoss doc]
-
-
-
- jbosscache-cluster-name
-
- cluster name (must be unique)
-
-
-
- max-volatile-time
-
- max time to live for Volatile Index
-
-
-
-
-
-
-
- JBoss-Cache template configuration
-
- JBoss-Cache template configuration for query handler.
-
- jbosscache-indexer.xml<?xml version=3D"1.0"=
encoding=3D"UTF-8"?>
-<jbosscache xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance" xml=
ns=3D"urn:jboss:jbosscache-core:config:3.1">
-
- <locking useLockStriping=3D"false" concurrencyLevel=3D"50000" lockPa=
rentForChildInsertRemove=3D"false"
- lockAcquisitionTimeout=3D"20000" />
- <!-- Configure the TransactionManager -->
- <transaction transactionManagerLookupClass=3D"org.jboss.cache.transa=
ction.JBossStandaloneJTAManagerLookup" />
-
- <clustering mode=3D"replication" clusterName=3D"${jbosscache-cluster=
-name}">
- <stateRetrieval timeout=3D"20000" fetchInMemoryState=3D"false" /&=
gt;
- <jgroupsConfig multiplexerStack=3D"jcr.stack" />
- <sync />
- </clustering>
- <!-- Eviction configuration -->
- <eviction wakeUpInterval=3D"5000">
- <default algorithmClass=3D"org.jboss.cache.eviction.FIFOAlgorithm=
" eventQueueSize=3D"1000000">
- <property name=3D"maxNodes" value=3D"10000" />
- <property name=3D"minTimeToLive" value=3D"60000" />
- </default>
- </eviction>
-
-</jbosscache>
-
-
-
+
+
+
+
+ QueryHandler configuration
+
+
+
+ How does it work?
+
+ Lets talk about indexing content in cluster.
+
+ For couple of reasons, we can't replicate index. That's means, s=
ome
+ data added and indexed on one cluster node, will be replicated to anot=
her
+ cluster node, but will not be indexed on that node.
+
+ So, how do the indexing works in cluster
+ environment?
+
+ As, we can not index same data on all nodes of cluster, we must
+ index it on one node. Node, that can index data and do changes on luce=
ne
+ index, is called "coordinator". Coordinator-node is choosen automatica=
ly,
+ so we do not need special configuration for coordinator.
+
+ But, how can another nodes save their changes to lucene
+ index?
+
+ First of all, data is already saved and replicated to another
+ cluster-nodes, so we need only deliver message like "we need to index =
this
+ data" to coordinator. Thats why Jboss-cache is used.
+
+ All nodes of cluster writes messages into JBoss-cache but only
+ coordinator takes those messages and makes changes Lucene index.
+
+ How do the search works in cluster
+ environment?
+
+ Search engine do not works with indexer, coordinator, etc. Search
+ needs only lucene index. But only one cluster node can change lucene i=
ndex
+ - asking you. Yes - lucene index is shared. So, all cluster nodes must=
be
+ configured to use lucene index from shared directory.
+
+ A little bit about indexing process (no matter, cluster or not)
+ Indexer do not writes changes to FS lucene index immediately. At first,
+ Indexer writes changes to Volatile index. If Volatile index size become
+ 1Mb or more it is flushed to FS. Also there is timer, that flushes
+ volatile index by timeout. Volatile index timeout configured by
+ "max-volatile-time" paremeter.
+
+ Common scheme of Shared Index
+
+
+
+
+
+
+
+ Configuration
+
+
+ Common requirements
+
+ Now, lets see what we need to run Search engine in cluster
+ environment.
+
+ shared directory for storing Lucene index (i.e. NFS);
+
+
+
+ changes filter configured as
+ org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossC=
acheIndexChangesFilter;
+
+
+ This filter ignore changes on non-coordinator nodes, a=
nd
+ index changes on coordinator node.
+
+
+
+
+ configure JBoss-cache, course;
+
+
+
+
+
+ Query-handler configuration
+
+ Configuration example:<workspace name=3D"ws=
">
+ <query-handler class=3D"org.exoplatform.services.jcr.impl.core.query=
.lucene.SearchIndex">
+ <properties>
+ <property name=3D"index-dir" value=3D"shareddir/index/db1/ws" =
/>
+ <property name=3D"changesfilter-class"
+ value=3D"org.exoplatform.services.jcr.impl.core.query.jbosscac=
he.JBossCacheIndexChangesFilter" />
+ <property name=3D"jbosscache-configuration" value=3D"jbosscach=
e-indexer.xml" />
+ <property name=3D"jgroups-configuration" value=3D"udp-mux.xml"=
/>
+ <property name=3D"jgroups-multiplexer-stack" value=3D"true" /&=
gt;
+ <property name=3D"jbosscache-cluster-name" value=3D"JCR-cluste=
r-indexer-ws" />
+ <property name=3D"max-volatile-time" value=3D"60" />
+ </properties>
+ </query-handler>
+</workspace>
+ Config properties description
+
+
+
+
+ Property name
+
+ Description
+
+
+
+
+
+ index-dir
+
+ path to index
+
+
+
+ jbosscache-configuration
+
+ template of JBoss-cache configuration for all
+ query-handlers in repository
+
+
+
+ jgroups-configuration
+
+ jgroups-configuration is template configuration for=
all
+ components (search, cache, locks) [Add link to document
+ describing template configurations]
+
+
+
+ jgroups-multiplexer-stack
+
+ [TODO about jgroups-multiplexer-stack - add link to
+ JBoss doc]
+
+
+
+ jbosscache-cluster-name
+
+ cluster name (must be unique)
+
+
+
+ max-volatile-time
+
+ max time to live for Volatile Index
+
+
+
+
+
+
+
+ JBoss-Cache template configuration
+
+ JBoss-Cache template configuration for query handler.
+
+ jbosscache-indexer.xml<?xml version=3D"1.0"=
encoding=3D"UTF-8"?>
+<jbosscache xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance" xml=
ns=3D"urn:jboss:jbosscache-core:config:3.1">
+
+ <locking useLockStriping=3D"false" concurrencyLevel=3D"50000" lockPa=
rentForChildInsertRemove=3D"false"
+ lockAcquisitionTimeout=3D"20000" />
+ <!-- Configure the TransactionManager -->
+ <transaction transactionManagerLookupClass=3D"org.jboss.cache.transa=
ction.JBossStandaloneJTAManagerLookup" />
+
+ <clustering mode=3D"replication" clusterName=3D"${jbosscache-cluster=
-name}">
+ <stateRetrieval timeout=3D"20000" fetchInMemoryState=3D"false" /&=
gt;
+ <jgroupsConfig multiplexerStack=3D"jcr.stack" />
+ <sync />
+ </clustering>
+ <!-- Eviction configuration -->
+ <eviction wakeUpInterval=3D"5000">
+ <default algorithmClass=3D"org.jboss.cache.eviction.FIFOAlgorithm=
" eventQueueSize=3D"1000000">
+ <property name=3D"maxNodes" value=3D"10000" />
+ <property name=3D"minTimeToLive" value=3D"60000" />
+ </default>
+ </eviction>
+
+</jbosscache>
+
+
+
--===============9077758739306250999==--