Author: tomekr
Date: Mon Mar 13 12:47:05 2017
New Revision: 1786673

URL: http://svn.apache.org/viewvc?rev=1786673&view=rev
Log:
OAK-5920 Checkpoint migration will fail if the MissingBlobStore is used

-improved the warning message and update the documentation

Modified:
    jackrabbit/oak/trunk/oak-doc/src/site/markdown/migration.md
    
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java

Modified: jackrabbit/oak/trunk/oak-doc/src/site/markdown/migration.md
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-doc/src/site/markdown/migration.md?rev=1786673&r1=1786672&r2=1786673&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-doc/src/site/markdown/migration.md (original)
+++ jackrabbit/oak/trunk/oak-doc/src/site/markdown/migration.md Mon Mar 13 
12:47:05 2017
@@ -38,6 +38,7 @@ The `oak-upgrade` module allows to do an
 The `source` and `destination` are the node store paths/URIs. Following node 
stores are supported:
 
 * `SegmentNodeStore` - use a path to the `repository` directory,
+* old `SegmentNodeStore` (Oak < 1.6) - use the `segment-old:` prefix and the 
path to the `repository` directory,
 * `DocumentNodeStore` with MongoDB - `mongodb://host:port/database`,
 * `DocumentNodeStore` with a RDB - `jdbc:...`. It requires passing user and 
password with separate parameters.
 
@@ -207,6 +208,19 @@ A custom `RepositoryInitializer` can be
 
 The full list of supported parameters can be displayed using `--help` switch.
 
+### Checkpoints migration
+
+When migrating an old SegmentMK repository (pre-Oak 1.6) to the new SegmentMK 
(Oak >= 1.6), the checkpoints are migrated as well. This allows to avoid 
reindexing when the Oak is being run for the first time on the new repository. 
However, the checkpoints won't be migrated in following cases:
+
+* custom include-, exclude- or merge- paths are specified or
+* the binaries are copied by references, no source datastore is specified and 
two different checkpoints contains different binary under the same path.
+
+In the second case oak-upgrade emits following warning:
+
+    Checkpoints won't be copied, because no external datastore has been 
specified. This will result in the full repository reindexing on the first 
start.
+
+The easiest way to fix this issue is specifying the source datastore in the 
command line options (eg. `--src-datastore` or `--src-s3datastore`). The 
warning may also be ignored, but in this case the repository will be fully 
reindexing on the first startup, which may be a long process, especially for 
large instances. Repository won't be usable until the reindexing process is 
done.
+
 ## Online blob migration with SplitBlobStore
 
 Oak offers one more way to migrate blob store, without turning off the 
instance (a few restarts might be required, but the migration process is done 
during normal repository operation).

Modified: 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java?rev=1786673&r1=1786672&r2=1786673&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java
 Mon Mar 13 12:47:05 2017
@@ -311,7 +311,7 @@ public class RepositorySidegrade {
             } catch(UnsupportedOperationException e) {
                 removeCheckpoints();
                 checkpointsCopied = false;
-                LOG.warn("Can't copy checkpoints without the access to the 
external blob store; migration will proceed");
+                LOG.warn("Checkpoints won't be copied, because no external 
datastore has been specified. This will result in the full repository 
reindexing on the first start. See 
https://jackrabbit.apache.org/oak/docs/migration.html#Checkpoints_migration for 
more info.");
             }
             if (!checkpointsCopied) {
                 LOG.info("Copying checkpoints is not supported for this 
combination of node stores");


Reply via email to