You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ju...@apache.org on 2013/11/14 17:35:16 UTC

svn commit: r1541965 - /jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Main.java

Author: jukka
Date: Thu Nov 14 16:35:15 2013
New Revision: 1541965

URL: http://svn.apache.org/r1541965
Log:
OAK-806: Content migration from Jackrabbit to Oak

Make sure that the upgraded repository gets properly closed.
Also, use memory mapping for the TarMK files.

Modified:
    jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Main.java

Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Main.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Main.java?rev=1541965&r1=1541964&r2=1541965&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Main.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Main.java Thu Nov 14 16:35:15 2013
@@ -100,10 +100,18 @@ public class Main {
     private static void upgrade(String olddir, String newdir) throws Exception {
         RepositoryContext source = RepositoryContext.create(
                 RepositoryConfig.create(new File(olddir)));
-        NodeStore target = new SegmentNodeStore(new FileStore(
-                new File(newdir), 256 * 1024 * 1024, false));
-        new RepositoryUpgrade(source, target).copy();
-        source.getRepository().shutdown();
+        try {
+            FileStore store = new FileStore(
+                    new File(newdir), 256 * 1024 * 1024, true);
+            try {
+                NodeStore target = new SegmentNodeStore(store);
+                new RepositoryUpgrade(source, target).copy();
+            } finally {
+                store.close();
+            }
+        } finally {
+            source.getRepository().shutdown();
+        }
     }
 
     private static void printProductInfo() {