Author: knguyen
Date: Mon Oct  8 14:34:19 2007
New Revision: 18779

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18779&repname=
=3Djahia
Log:
Support for an optimized Single indexing server Mode.

In this mode, an indexing order entry will be removed immediately from the =
indexing orders queue, once it has been processed.


This mode can be changed to multiple indexing server mode.

in applicationcontext-basejahiaconfig.xml:

<bean id=3D"searchConfig" class=3D"org.springframework.beans.factory.config=
.PropertiesFactoryBean">
                <property name=3D"properties">
....
<prop key=3D"multipleIndexingServer">1</prop>
<!-- =

0: Only one indexing server mode:
If you only have one single indexing server, then you should use this mode =
so that the indexing jobs queue can be handled in an optimized way for bett=
er performance.

1: Multiple indexing server mode:
If you have more than one indexing server, then you MUST use this mode.
-->

Modified:
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/search/Ja=
hiaSearchBaseService.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/search/Ja=
hiaSearchConfigConstant.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/search/Ja=
hiaSearchService.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/WEB-INF/etc/spring/applica=
tioncontext-basejahiaconfig.xml

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/sea=
rch/JahiaSearchBaseService.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/search/JahiaSearchBaseService.java=
&rev=3D18779&repname=3Djahia
=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=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/search/Ja=
hiaSearchBaseService.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/search/Ja=
hiaSearchBaseService.java Mon Oct  8 14:34:19 2007
@@ -162,6 +162,8 @@
 =

     private boolean localIndexing =3D true;
 =

+    private boolean multipleIndexingServer =3D false;
+
     private JahiaServerPropertiesManager serverPropMgr =3D null;
 =

     private Long lastIndexingJobTime =3D new Long(0);
@@ -296,6 +298,10 @@
         localIndexing =3D !((val !=3D null && "0".equals(val.trim())));
         logger.debug("This node will not perfom search indexation, just se=
arch.");
 =

+        val =3D config.getProperty(JahiaSearchConfigConstant.SEARCH_MULTIP=
LE_INDEXING_SERVER);
+        this.multipleIndexingServer =3D (val !=3D null && "1".equals(val.t=
rim()));
+        logger.debug("This node will not perfom search indexation, just se=
arch.");
+
         try {
             buildAnalyzersFilters();
         } catch (Exception e) {
@@ -521,7 +527,11 @@
                 if ( avJobsList.isEmpty() ){
                     setLastIndexingJobTime(System.currentTimeMillis());
                 }
-                jobsList =3D IndexingJobTools.resolveIndexingJobs(avJobsLi=
st, serverId);
+                if ( this.multipleIndexingServer ){
+                    jobsList =3D IndexingJobTools.resolveIndexingJobs(avJo=
bsList, serverId);
+                } else {
+                    jobsList =3D IndexingJobTools.resolveIndexingJobs(avJo=
bsList, null);
+                }
                 if ( jobsList =3D=3D null || jobsList.isEmpty() ){
                     this.notifySiteIndexingJob();
                 }
@@ -611,9 +621,13 @@
                         try {
                             job =3D (JahiaIndexingJob)jobs.next();
                             time =3D job.getDate().longValue();
-                            jobServer =3D new JahiaIndexJobServer(new Jahi=
aIndexJobServerPK(job.getId(),serverId),job.getDate());
-                            indJobMgr.saveIndexJobServer(jobServer);
                             setLastIndexingJobTime(time);
+                            if ( this.multipleIndexingServer ) {
+                                jobServer =3D new JahiaIndexJobServer(new =
JahiaIndexJobServerPK(job.getId(),serverId),job.getDate());
+                                indJobMgr.saveIndexJobServer(jobServer);
+                            } else {
+                                indJobMgr.delete(job.getId());
+                            }
                         } catch ( Throwable t ){
                             logger.debug("Exception saving JahiaIndexation=
Job", t);
                         }
@@ -783,6 +797,14 @@
         this.dateRounding =3D dateRounding;
     }
 =

+    public boolean isMultipleIndexingServer() {
+        return multipleIndexingServer;
+    }
+
+    public void setMultipleIndexingServer(boolean multipleIndexingServer) {
+        this.multipleIndexingServer =3D multipleIndexingServer;
+    }
+
     //--------------------------------------------------------------------=
-----
     //
     // SearchManager , Search Handlers methods

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/sea=
rch/JahiaSearchConfigConstant.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/search/JahiaSearchConfigConstant.j=
ava&rev=3D18779&repname=3Djahia
=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=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/search/Ja=
hiaSearchConfigConstant.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/search/Ja=
hiaSearchConfigConstant.java Mon Oct  8 14:34:19 2007
@@ -36,6 +36,11 @@
     public static final String SEARCH_LOCAL_INDEXING                    =
=3D "localIndexing";
 =

     /**
+     * 1: multiple indexing server, 0: one single indexing server
+     */
+    public static final String SEARCH_MULTIPLE_INDEXING_SERVER          =
=3D "multipleIndexingServer";
+
+    /**
      * the latenty time at search service startup before starting indexati=
on
      */
     public static final String SEARCH_INDEXING_STARTUP_LATENCY_TIME     =
=3D "indexingStartupLatencyTime";

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/sea=
rch/JahiaSearchService.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/search/JahiaSearchService.java&rev=
=3D18779&repname=3Djahia
=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=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/search/Ja=
hiaSearchService.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/search/Ja=
hiaSearchService.java Mon Oct  8 14:34:19 2007
@@ -612,6 +612,16 @@
     public abstract void setDateRounding(int dateRounding);
 =

     /**
+     * Returns true if the service is configured to run with multiple inde=
xing server
+     *         false if there is only one indexing server, even in cluster=
ing
+     *
+     * @return
+     */
+    public abstract boolean isMultipleIndexingServer();
+
+    public abstract void setMultipleIndexingServer(boolean multipleIndexin=
gServer);
+
+    /**
      * Return a CompassHighlighter instance
      * @param searchEngineHighlighter
      * @param resource

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/WEB-INF/etc/spring/a=
pplicationcontext-basejahiaconfig.xml
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/webapp/WEB-INF/etc/spring/applicationcontext-basejahiaconf=
ig.xml&rev=3D18779&repname=3Djahia
=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=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/WEB-INF/etc/spring/applica=
tioncontext-basejahiaconfig.xml (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/WEB-INF/etc/spring/applica=
tioncontext-basejahiaconfig.xml Mon Oct  8 14:34:19 2007
@@ -126,6 +126,14 @@
                                =

                                <prop 
key=3D"searchIndexRootDir">$context/WEB-INF/var/search_indexes</=
prop><!-- the root directory for search indexes -->
                                <prop key=3D"localIndexing">1</prop><!-- 1: 
index, 0: do not index ,ju=
st read ( I.E when sharing a same index directory in a clustered environmen=
t )-->
+                               <prop 
key=3D"multipleIndexingServer">0</prop><!-- 0: Only one indexing=
 server mode:
+                                                                               
   If you only have on=
e single indexing server, then you should use this mode =

+                                                                               
   so that the indexin=
g jobs queue can be handled in an optimized way for better performance.
+                                                                               
=

+                                                                               
1: Multiple indexing s=
erver mode:
+                                                                               
   If you have more th=
an one indexing server, then you MUST use this mode.
+                                                                               
   =

+                                                                               
-->
         <prop key=3D"indexingStartupLatencyTime">60000</prop><!-- the late=
ncy time at search service startup before starting indexation -->
         <prop key=3D"indexingJobWatchInterval">20000</prop><!-- the interv=
al time between each scan of indexing jobs history ( loading them and proce=
ss them if needed ) -->
         <prop key=3D"indexingJobExecutionDelayTime">30000</prop><!-- the d=
elayed time before processing an indexing job ( an indexing job will be =


_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list

Reply via email to