Index: java/src/org/apache/xindice/core/filer/BTree.java =================================================================== --- java/src/org/apache/xindice/core/filer/BTree.java (revision 532898) +++ java/src/org/apache/xindice/core/filer/BTree.java (working copy) @@ -147,6 +147,17 @@ return false; } + public synchronized boolean close() throws DBException { + boolean closed = super.close(); + if (closed) { + synchronized(cache) { + cache.clear(); + } + } + + return closed; + } + /** * addKey adds a Value to the BTree and associates a pointer with * it. The pointer can be used for referencing any type of data, it Index: java/src/org/apache/xindice/core/filer/Paged.java =================================================================== --- java/src/org/apache/xindice/core/filer/Paged.java (revision 532898) +++ java/src/org/apache/xindice/core/filer/Paged.java (working copy) @@ -654,6 +654,11 @@ log.warn(descriptorsCount + " out of " + total + " files were not closed during close."); } } + + // clear cache + synchronized(pagesLock) { + pages.clear(); + } } catch (Exception e) { // Failed to close, leave open opened = true; Index: java/src/org/apache/xindice/tools/DatabaseRebuild.java =================================================================== --- java/src/org/apache/xindice/tools/DatabaseRebuild.java (revision 532898) +++ java/src/org/apache/xindice/tools/DatabaseRebuild.java (working copy) @@ -382,7 +382,7 @@ Value v = filer.getValue(pointer); newFiler.writeRecord(new Key(value), v); } catch (Exception e) { - e.printStackTrace(); + log.error(e); } return true; Index: bin/xindice_rebuild.bat =================================================================== --- bin/xindice_rebuild.bat (revision 532898) +++ bin/xindice_rebuild.bat (working copy) @@ -80,8 +80,8 @@ ) :checkdir -echo Checking locak backup %_LOCAL_BACKUP% -if exist %_LOCAL_BACKUP% goto backup-error +echo Checking local backup %_LOCAL_BACKUP% +if exist %_LOCAL_BACKUP% goto backup-error xcopy /E %2 %LOCAL_BACKUP% @@ -94,9 +94,12 @@ goto LOOP :DONE +if not exist %_XINDICE_HOME%\logs mkdir %_XINDICE_HOME%\logs + + :: ----- Start Command Line Tool ----------------------------------------------- -%_JAVACMD% -Xms16m -Xmx128m -Dorg.apache.commons.logging.Log=%_LOGGER% -Dorg.apache.commons.logging.simplelog.defaultlog=%_LOGLEVEL% -cp %LOCALCLASSPATH% org.apache.xindice.tools.DatabaseRebuild %_CL% +%_JAVACMD% -Xms16m -Xmx128m -Dorg.apache.commons.logging.Log=%_LOGGER% -Dorg.apache.commons.logging.simplelog.defaultlog=%_LOGLEVEL% -cp %LOCALCLASSPATH% org.apache.xindice.tools.DatabaseRebuild %_CL% 2>>"%_XINDICE_HOME%"\logs\rebuild.log goto end