You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Jayendra Patil <ja...@gmail.com> on 2010/10/12 16:47:31 UTC

Solr SnapPuller fails to clear Old Index Directories ....

We are working on the Solr trunk ....and have a Master and Two slaves
configuration .....
Our indexing consists of Periodic Full and Incremental index building on the
master and replication on the slaves.

When a Full indexing (clean rebuilt) is performed, we always end with an
extra index folder copy, which holds the complete index and hence the size
just grows on, on the slaves.

drwxr-xr-x 2 tomcat     tomcat 4096 2010-10-09 12:10 index
drwxr-xr-x 2 tomcat     tomcat 4096 2010-10-11 09:43 index.20101009120649
drwxr-xr-x 2 tomcat     tomcat 4096 2010-10-12 10:27 index.20101011094043
-rw-r--r-- 1 tomcat        tomcat   75 2010-10-11 09:43  index.properties
-rw-r--r-- 1 tomcat        tomcat  422 2010-10-12 10:26
replication.properties
drwxr-xr-x 2 tomcat     tomcat   68 2010-10-12 10:27 spellchecker

Where index.20101011094043 is the active index and the other index.xxx
directories are no more used.

The SnapPuller deletes the temporary Index directory, but does not delete
the old one when the switch is performed.
The below code should do the trick.

 boolean fetchLatestIndex(SolrCore core) throws IOException {
    ..........
      } finally {
        if(deleteTmpIdxDir) {
            delTree(tmpIndexDir);
        } else {
*            // Delete the old index directory
            delTree(indexDir);*
        }
      }
    .........
  }

Any suggestions ??