knguyen     2005/05/20 13:45:50 CEST

  Modified files:        (Branch: JAHIA-4-1-BRANCH)
    src/java/org/jahia/services/search JahiaSearchBaseService.java 
                                       JahiaSearchService.java 
                                       ScheduledSiteIndexationJob.java 
  Log:
  - fix Dav file access and null pointer when jParams.getRealRequest() is null.
  - limit the load of document to index to 300 max in queue to avoid memory 
peak.
  
  Revision       Changes    Path
  1.42.2.15.2.6  +17 -1     
jahia/src/java/org/jahia/services/search/JahiaSearchBaseService.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/src/java/org/jahia/services/search/JahiaSearchBaseService.java.diff?r1=1.42.2.15.2.5&r2=1.42.2.15.2.6&f=h
  1.10.4.2.2.3   +8 -0      
jahia/src/java/org/jahia/services/search/JahiaSearchService.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/src/java/org/jahia/services/search/JahiaSearchService.java.diff?r1=1.10.4.2.2.2&r2=1.10.4.2.2.3&f=h
  1.1.2.3        +6 -0      
jahia/src/java/org/jahia/services/search/ScheduledSiteIndexationJob.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/src/java/org/jahia/services/search/ScheduledSiteIndexationJob.java.diff?r1=1.1.2.2&r2=1.1.2.3&f=h
  
  
  
  Index: JahiaSearchBaseService.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/src/java/org/jahia/services/search/Attic/JahiaSearchBaseService.java,v
  retrieving revision 1.42.2.15.2.5
  retrieving revision 1.42.2.15.2.6
  diff -u -r1.42.2.15.2.5 -r1.42.2.15.2.6
  --- JahiaSearchBaseService.java       20 May 2005 09:32:17 -0000      
1.42.2.15.2.5
  +++ JahiaSearchBaseService.java       20 May 2005 11:45:50 -0000      
1.42.2.15.2.6
  @@ -304,6 +304,14 @@
           mIsServiceInitialized = false;
       }
   
  +    public int getNbDocumentsInQueue(){
  +        try {
  +            return this.indexOrders.size();
  +        } catch ( Throwable t) {
  +            return -1;
  +        }
  +    }
  +
       
//--------------------------------------------------------------------------
       /**
        * index afield
  @@ -964,6 +972,7 @@
               long indexingStartTime = System.currentTimeMillis();
               int indexOrderCount = v.size ();
   
  +            int docCount = 0;
               while (v.size() > 0) {
                   JahiaIndexableDocument nextObject = null;
   
  @@ -973,6 +982,11 @@
                       v.remove(0);
                   }
   
  +                if ( docCount>400 ){  // limit before moving to File system
  +                    closeCachedWriter(siteId);
  +                    docCount = 0;
  +                }
  +
                   // okay now we have the next added/removed field, we process 
it!
                   if (nextObject != null) {
   
  @@ -998,15 +1012,17 @@
                               } catch ( Throwable t ){
                                   logger.debug(t);
                               }
  +                            docCount = 0;
                           }
                           if ( writer != null ){
                               backgroundAddObjectToSearchEngine(nextObject, 
writer, null);
  +                            docCount++;
                           }
                       }
                       else {
                           // close cached writer first
                           closeCachedWriter(siteId);
  -
  +                        docCount = 0;
                           
backgroundRemoveObjectFromSearchEngine(nextObject,reader);
                       }
                       this.indexOrdersCache.remove(getCacheKey(nextObject));
  
  
  
  Index: JahiaSearchService.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/src/java/org/jahia/services/search/Attic/JahiaSearchService.java,v
  retrieving revision 1.10.4.2.2.2
  retrieving revision 1.10.4.2.2.3
  diff -u -r1.10.4.2.2.2 -r1.10.4.2.2.3
  --- JahiaSearchService.java   18 May 2005 13:54:58 -0000      1.10.4.2.2.2
  +++ JahiaSearchService.java   20 May 2005 11:45:50 -0000      1.10.4.2.2.3
  @@ -237,4 +237,12 @@
       public abstract FileExtractor getFileExtractor(String contentType)
           throws JahiaException;
   
  +
  +    /**
  +     * Returns the number of pending documents in the indexing queue
  +     * -1 on error
  +     * @return
  +     */
  +    public abstract int getNbDocumentsInQueue();
  +
   }
  
  
  
  Index: ScheduledSiteIndexationJob.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/src/java/org/jahia/services/search/Attic/ScheduledSiteIndexationJob.java,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- ScheduledSiteIndexationJob.java   20 May 2005 09:32:17 -0000      1.1.2.2
  +++ ScheduledSiteIndexationJob.java   20 May 2005 11:45:50 -0000      1.1.2.3
  @@ -77,6 +77,12 @@
           int size = listFieldID.size();
           for (int i = 0; i < size; i++) {
               int fieldID = ( (Integer) listFieldID.get(i)).intValue();
  +            while ( sReg.getJahiaSearchService().getNbDocumentsInQueue()>300 
) {
  +                try {
  +                    Thread.sleep(2000);
  +                } catch ( java.lang.InterruptedException ie ){
  +                }
  +            }
               try {
                   
sReg.getJahiaSearchService().indexField(fieldID,false,jParams);
               }
  

Reply via email to