Fixed acorn db main.state loading rollback reporting. 19/119/1
authorTuukka Lehtonen <tuukka.lehtonen@semantum.fi>
Fri, 7 Oct 2016 14:15:11 +0000 (17:15 +0300)
committerTuukka Lehtonen <tuukka.lehtonen@semantum.fi>
Fri, 7 Oct 2016 14:15:11 +0000 (17:15 +0300)
The previous implementation caused main.state loading to always report
the database as requiring rollback which caused the system to always
delete all indexes on program startup.

refs #6709

Change-Id: Id3d90436c1960faa3ac5ebbc82e817b673934f53

bundles/org.simantics.acorn/src/org/simantics/acorn/MainState.java

index ec8451cca78adfef37ea4377cd1fad26e2eff89f..7d158042173089a2034a3b2e5953fc1423fb6e7c 100644 (file)
@@ -157,15 +157,16 @@ public class MainState implements Serializable {
             
             for (Path p : reverseSortedPaths) {
                 if (!p.equals(latest)) {
-                    // this indicates that there is a possibility that index and vg's are out of sync
-                    // if we are able to find folders with higher number than the current head.state
-                    callback.accept(null);
+                    if (Files.exists(p.resolve(HeadState.HEAD_STATE))) {
+                        // this indicates that there is a possibility that index and vg's are out of sync
+                        // if we are able to find folders with higher number than the current head.state
+                        callback.accept(null);
+                    }
                     uncheckedDeleteAll(p);
                 } else {
                     break;
                 }
             }
-            
         }
     }