diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/lucene/LuceneIndexer.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/lucene/LuceneIndexer.java index a84e649d2..c3d08f46e 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/lucene/LuceneIndexer.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/lucene/LuceneIndexer.java @@ -277,18 +277,26 @@ public class LuceneIndexer implements IndexerIface { private synchronized void bringRebuildOnLine() { closeWriter(); - deleteDir(new File(liveIndexDir)); File offLineDir = new File(currentOffLineDir); File liveDir = new File(liveIndexDir); + + boolean deleted = deleteDir(liveDir); + if (! deleted ){ + log.error("failed to delete live index directory " + + liveDir.getAbsolutePath()); + return; + } + boolean success = offLineDir.renameTo( liveDir ); if( ! success ){ log.error("could not move off line index at " + offLineDir.getAbsolutePath() + " to live index directory " + liveDir.getAbsolutePath()); - }else{ - deleteDir(new File(currentOffLineDir)); - currentOffLineDir = null; - } + return; + } + + deleteDir(new File(currentOffLineDir)); + currentOffLineDir = null; } private synchronized String getOffLineBuildDir(){ @@ -323,8 +331,10 @@ public class LuceneIndexer implements IndexerIface { if (dir.isDirectory()) { String[] children = dir.list(); for (int i=0; i