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 mr...@apache.org on 2013/10/01 09:23:22 UTC

svn commit: r1527950 - /jackrabbit/oak/trunk/oak-doc/src/site/markdown/mongomk.md

Author: mreutegg
Date: Tue Oct  1 07:23:22 2013
New Revision: 1527950

URL: http://svn.apache.org/r1527950
Log:
OAK-301 Document Oak - MongoMK
- introduce _modCount field

Modified:
    jackrabbit/oak/trunk/oak-doc/src/site/markdown/mongomk.md

Modified: jackrabbit/oak/trunk/oak-doc/src/site/markdown/mongomk.md
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-doc/src/site/markdown/mongomk.md?rev=1527950&r1=1527949&r2=1527950&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-doc/src/site/markdown/mongomk.md (original)
+++ jackrabbit/oak/trunk/oak-doc/src/site/markdown/mongomk.md Tue Oct  1 07:23:22 2013
@@ -40,6 +40,7 @@ The basic MongoDB document of a node in 
             "r0-0-1" : "r13f3875b5d1-0-1"
         },
         "_modified" : NumberLong(274208361),
+        "_modCount" : NumberLong(1),
         "_revisions" : {
             "r13f3875b5d1-0-1" : "c"
         }
@@ -67,10 +68,11 @@ only information actually used by MongoM
 sub-document is only updated for non-branch commits or on merge, when changes
 become visible to all readers.
 
-The `_modified` field contains a low-resolution timestamp when the node was last
-modified. The time resolution is five seconds. This field is also updated when
+The `_modified` field contains an indexed low-resolution timestamp when the node was last modified. The time resolution is five seconds. This field is also updated when
 a branch commit modifies a node.
 
+The `_modCount` field contains a modification counter, which is incremented with every change to the document. This field allows MongoMK to perform conditional updates without requesting the whole document.
+
 Finally, the `_revisions` sub-document contains commit information about changes
 marked with a revision. E.g. the single entry in the above document tells us
 that everything marked with revision `r13f3875b5d1-0-1` is committed and
@@ -90,6 +92,7 @@ result in the following document:
             "r0-0-1" : "r13f38818ab6-0-1"
         },
         "_modified" : NumberLong(274208516),
+        "_modCount" : NumberLong(2),
         "_revisions" : {
             "r13f3875b5d1-0-1" : "c",
             "r13f38818ab6-0-1" : "c"
@@ -117,6 +120,7 @@ After the node is deleted the document l
             "r0-0-1" : "r13f38835063-2-1"
         },
         "_modified" : NumberLong(274208539),
+        "_modCount" : NumberLong(3),
         "_revisions" : {
             "r13f3875b5d1-0-1" : "c",
             "r13f38818ab6-0-1" : "c",
@@ -169,6 +173,7 @@ A root node may look like this:
             "r0-0-1" : "r13fcda91720-0-1"
         },
         "_modified" : NumberLong(274708995),
+        "_modCount" : NumberLong(2),
         "_revisions" : {
             "r13fcda88ac0-0-1" : "c",
             "r13fcda91720-0-1" : "c"
@@ -194,6 +199,7 @@ the root node looks like this:
             "r0-0-1" : "r13fcda91720-0-1"
         },
         "_modified" : NumberLong(274708995),
+        "_modCount" : NumberLong(3),
         "_revisions" : {
             "r13fcda88ac0-0-1" : "c",
             "r13fcda91720-0-1" : "c",
@@ -222,6 +228,7 @@ When the branch is later merged, the roo
             "r0-0-1" : "r13fcda91b12-0-1"
         },
         "_modified" : NumberLong(274708995),
+        "_modCount" : NumberLong(4),
         "_revisions" : {
             "r13fcda88ac0-0-1" : "c",
             "r13fcda91720-0-1" : "c",
@@ -257,6 +264,7 @@ is moved when there are 1000 commits to 
             "r0-0-1" : "r13fcda91b12-0-1"
         },
         "_modified" : NumberLong(274708995),
+        "_modCount" : NumberLong(1004),
         "_revisions" : {
             "r13fcda88ac0-0-1" : "c",
             "r13fcda91720-0-1" : "c",
@@ -281,6 +289,7 @@ is `1:p/r13fcda88ae0-0-1` and may looks 
 
     {
         "_id" : "1:p/r13fcda88ae0-0-1",
+        "_modCount" : NumberLong(1),
         "_revisions" : {
             "r13fcda88ae0-0-1" : "c",
             "r13fcda88af0-0-1" : "c",