Check if paths exist before deleting them. Reported by Renaud Richardet.


git-svn-id: https://svn.apache.org/repos/asf/lucene/nutch/branches/branch-0.8@487145 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/java/org/apache/nutch/crawl/CrawlDb.java b/src/java/org/apache/nutch/crawl/CrawlDb.java
index 20482f1..da61d98 100644
--- a/src/java/org/apache/nutch/crawl/CrawlDb.java
+++ b/src/java/org/apache/nutch/crawl/CrawlDb.java
@@ -98,11 +98,13 @@
     FileSystem fs = new JobClient(job).getFs();
     Path old = new Path(crawlDb, "old");
     Path current = new Path(crawlDb, CrawlDatum.DB_DIR_NAME);
-    fs.delete(old);
-    fs.rename(current, old);
+    if (fs.exists(current)) {
+      if (fs.exists(old)) fs.delete(old);
+      fs.rename(current, old);
+    }
     fs.mkdirs(crawlDb);
     fs.rename(newCrawlDb, current);
-    fs.delete(old);
+    if (fs.exists(old)) fs.delete(old);
   }
 
   public static void main(String[] args) throws Exception {
diff --git a/src/java/org/apache/nutch/crawl/LinkDb.java b/src/java/org/apache/nutch/crawl/LinkDb.java
index 4b7db65..7dcf300 100644
--- a/src/java/org/apache/nutch/crawl/LinkDb.java
+++ b/src/java/org/apache/nutch/crawl/LinkDb.java
@@ -279,11 +279,13 @@
     FileSystem fs = new JobClient(job).getFs();
     Path old = new Path(linkDb, "old");
     Path current = new Path(linkDb, CURRENT_NAME);
-    fs.delete(old);
-    fs.rename(current, old);
+    if (fs.exists(current)) {
+      if (fs.exists(old)) fs.delete(old);
+      fs.rename(current, old);
+    }
     fs.mkdirs(linkDb);
     fs.rename(newLinkDb, current);
-    fs.delete(old);
+    if (fs.exists(old)) fs.delete(old);
   }
 
   public static void main(String[] args) throws Exception {