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 md...@apache.org on 2016/01/26 15:39:18 UTC

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

Author: mduerig
Date: Tue Jan 26 14:39:18 2016
New Revision: 1726805

URL: http://svn.apache.org/viewvc?rev=1726805&view=rev
Log:
OAK-3855: oak-run compact should check segment version
Throw runtime exception instead of system.exit to ensure finalisation

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=1726805&r1=1726804&r2=1726805&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 Tue Jan 26 14:39:18 2016
@@ -525,33 +525,32 @@ public final class Main {
             System.exit(1);
         }
 
+        Stopwatch watch = Stopwatch.createStarted();
         FileStore store = openFileStore(directory);
-        SegmentVersion segmentVersion = getSegmentVersion(store);
-        if (segmentVersion != LATEST_VERSION) {
-            if (options.has(forceFlag)) {
-                System.out.println("Segment version mismatch. " +
-                    "Found " + segmentVersion + ", expected " + LATEST_VERSION + ". " +
-                    "Upgrading the file store to segment version " + LATEST_VERSION);
-            } else {
-                System.err.println("Segment version mismatch. " +
-                    "Found " + segmentVersion + ", expected " + LATEST_VERSION + ". " +
-                    "Specify --force to upgrade the file store to segment version " + LATEST_VERSION);
-                System.exit(-1);
+        try {
+            SegmentVersion segmentVersion = getSegmentVersion(store);
+            if (segmentVersion != LATEST_VERSION) {
+                if (options.has(forceFlag)) {
+                    System.out.println("Segment version mismatch. " +
+                        "Found " + segmentVersion + ", expected " + LATEST_VERSION + ". " +
+                        "Upgrading the file store to segment version " + LATEST_VERSION);
+                } else {
+                    failWith("Segment version mismatch. " +
+                        "Found " + segmentVersion + ", expected " + LATEST_VERSION + ". " +
+                        "Specify --force to upgrade the file store to segment version " + LATEST_VERSION);
+                }
             }
-        }
 
-        boolean persistCM = Boolean.getBoolean("tar.PersistCompactionMap");
-        Stopwatch watch = Stopwatch.createStarted();
-        System.out.println("Compacting " + directory);
-        System.out.println("    before " + Arrays.toString(directory.list()));
-        long sizeBefore = FileUtils.sizeOfDirectory(directory);
-        System.out.println("    size "
-                + IOUtils.humanReadableByteCount(sizeBefore) + " (" + sizeBefore
-                + " bytes)");
+            boolean persistCM = Boolean.getBoolean("tar.PersistCompactionMap");
+            System.out.println("Compacting " + directory);
+            System.out.println("    before " + Arrays.toString(directory.list()));
+            long sizeBefore = FileUtils.sizeOfDirectory(directory);
+            System.out.println("    size "
+                    + IOUtils.humanReadableByteCount(sizeBefore) + " (" + sizeBefore
+                    + " bytes)");
 
-        System.out.println("    -> compacting");
+            System.out.println("    -> compacting");
 
-        try {
             CompactionStrategy compactionStrategy = new CompactionStrategy(
                     false, CompactionStrategy.CLONE_BINARIES_DEFAULT,
                     CleanupType.CLEAN_ALL, 0,