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 2013/07/26 16:24:35 UTC

svn commit: r1507325 - in /jackrabbit/oak/trunk: ./ oak-core/ oak-doc/src/site/markdown/ oak-mk-perf/ oak-run/

Author: mduerig
Date: Fri Jul 26 14:24:34 2013
New Revision: 1507325

URL: http://svn.apache.org/r1507325
Log:
OAK-301: Document Oak
Update andl ink readmes

Added:
    jackrabbit/oak/trunk/oak-mk-perf/README.md
Removed:
    jackrabbit/oak/trunk/oak-mk-perf/README
Modified:
    jackrabbit/oak/trunk/README.md
    jackrabbit/oak/trunk/oak-core/README.md
    jackrabbit/oak/trunk/oak-doc/src/site/markdown/microkernel.md
    jackrabbit/oak/trunk/oak-doc/src/site/markdown/overview.md
    jackrabbit/oak/trunk/oak-doc/src/site/markdown/use_getting_started.md
    jackrabbit/oak/trunk/oak-run/README.md

Modified: jackrabbit/oak/trunk/README.md
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/README.md?rev=1507325&r1=1507324&r2=1507325&view=diff
==============================================================================
--- jackrabbit/oak/trunk/README.md (original)
+++ jackrabbit/oak/trunk/README.md Fri Jul 26 14:24:34 2013
@@ -51,11 +51,11 @@ Components
 The build consists of the following main components:
 
   - oak-parent        - parent POM
+  - oak-doc           - Oak documentation
   - oak-commons       - shared utility code
   - oak-mk-api        - MicroKernel API
   - oak-mk            - default MicroKernel implementation
   - oak-mk-remote     - MicroKernel remoting
-  - oak-mongomk       - MongoDB-based MicroKernel
   - [oak-core][1]     - Oak repository API and implementation
   - oak-jcr           - JCR binding for the Oak repository
   - oak-sling         - integration with Apache Sling
@@ -65,10 +65,10 @@ The build consists of the following main
   - oak-http          - HTTP binding for Oak
   - oak-lucene        - Lucene-based query index
   - oak-run           - runnable jar packaging
+  - oak-upgrade       - tooling for upgrading Jackrabbit repositories to Oak
   - oak-it            - integration tests
     - oak-it/mk       - integration tests for MicroKernel
     - oak-it/osgi     - integration tests for OSGi
-  - oak-bench         - performance tests
 
   [1]: oak-core/README.md
 

Modified: jackrabbit/oak/trunk/oak-core/README.md
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/README.md?rev=1507325&r1=1507324&r2=1507325&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/README.md (original)
+++ jackrabbit/oak/trunk/oak-core/README.md Fri Jul 26 14:24:34 2013
@@ -87,7 +87,7 @@ nothing but a simple property:
     ContentSession session = ...;
     Root root = session.getCurrentRoot();
     Tree tree = root.getTree("/");
-    Tree subtree = tree.addSubtree("hello");
+    Tree subtree = tree.addChild("hello");
     subtree.setProperty("message", "Hello, World!");
     root.commit();
 

Modified: jackrabbit/oak/trunk/oak-doc/src/site/markdown/microkernel.md
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-doc/src/site/markdown/microkernel.md?rev=1507325&r1=1507324&r2=1507325&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-doc/src/site/markdown/microkernel.md (original)
+++ jackrabbit/oak/trunk/oak-doc/src/site/markdown/microkernel.md Fri Jul 26 14:24:34 2013
@@ -18,4 +18,6 @@
 TODO: Document Microkernel API and implementations
 
 * [SegmentMK design overview](segmentmk.html)
-* [Oak MongoMK](mongomk.html)
\ No newline at end of file
+* [Oak MongoMK](mongomk.html)
+* [MicroKernel integration tests](https://github.com/rogoz/jackrabbit-oak/blob/trunk/oak-it/mk/README.md)
+* [MicroKernel performance tests](https://github.com/apache/jackrabbit-oak/blob/trunk/oak-mk-perf/README.md)
\ No newline at end of file

Modified: jackrabbit/oak/trunk/oak-doc/src/site/markdown/overview.md
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-doc/src/site/markdown/overview.md?rev=1507325&r1=1507324&r2=1507325&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-doc/src/site/markdown/overview.md (original)
+++ jackrabbit/oak/trunk/oak-doc/src/site/markdown/overview.md Fri Jul 26 14:24:34 2013
@@ -12,4 +12,5 @@ TODO: Document core concepts and archite
 * Clustering
 * Search and indexing
 * Security
+* [Oak Core](https://github.com/rogoz/jackrabbit-oak/blob/trunk/oak-core/README.md)
 * ...

Modified: jackrabbit/oak/trunk/oak-doc/src/site/markdown/use_getting_started.md
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-doc/src/site/markdown/use_getting_started.md?rev=1507325&r1=1507324&r2=1507325&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-doc/src/site/markdown/use_getting_started.md (original)
+++ jackrabbit/oak/trunk/oak-doc/src/site/markdown/use_getting_started.md Fri Jul 26 14:24:34 2013
@@ -19,4 +19,4 @@ TODO: Document how to use Oak:
 
 * Required (Maven) Dependencies
 * [Repository construction](construct.html)
-* Standalone
+* [Oak runnable jar](https://github.com/mduerig/jackrabbit-oak/blob/trunk/oak-run/README.md)

Added: jackrabbit/oak/trunk/oak-mk-perf/README.md
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-mk-perf/README.md?rev=1507325&view=auto
==============================================================================
--- jackrabbit/oak/trunk/oak-mk-perf/README.md (added)
+++ jackrabbit/oak/trunk/oak-mk-perf/README.md Fri Jul 26 14:24:34 2013
@@ -0,0 +1,90 @@
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+  -->
+
+This module contains performance tests for microkernel instances.
+
+Usage
+-----
+
+The tests can be launched locally by calling directly the remote profile from the pom file using the
+following commands:
+
+    mvn clean test -Premote -Poakmk   - for launching the tests against the oak microkernel or
+    mvn clean test -Premote -Pmongomk - for launching the tests against the mongodb microkernel.
+        
+More than that the tests can be launched remotely, for example on an mongodb cluster. In this case
+the pom file uploads the tests to the remote machine, runs them and collects the results. Use the
+following commands to remotely run the tests:
+    
+    mvn clean process-test-classes -Plocal [-Pmongomk | Poakmk]  \
+    -Dremotehost=<remotehost> -Dpass=<ssh-password for the remote machine>
+
+The test environment (mongodb cluster)
+--------------------------------------
+    
+For measuring the performance of the microkernel, I created a mongodb cluster in amazon cloud with
+the following components:
+
+* 2 shards ( in the same time, replica sets) - each of it with 2 nodes installed on different
+  platforms
+* 3 configuration servers all of them installed on one platform
+* 1 mongos instance
+        
+The sharding is enabled and I'm using the following sharding key : {"path" :1, "revId":1}. I
+changed also the chunk size from 64 to 8 (MB).
+
+
+Tests
+-----
+
+All the tests bellow were launched remotely on amazon cloud for both types of microkernel. The tests
+are all executed on the platform where the mongos instance is installed.
+        
+* `MkAddNodesDifferentStructuresTest.testWriteNodesSameLevel`: Creates 100000 nodes, all having the
+  same parent node. All the nodes are added in a single microkernel commit.
+* `MkAddNodesDifferentStructuresTest.testWriteNodes10Children`: Creates 100000 nodes, in a pyramid
+  tree structure. All of the nodes have 10 children. All the nodes are added in a single microkernel
+  commit.
+* `MkAddNodesDifferentStructuresTest.testWriteNodes100Children`: Creates 100000 nodes, in a pyramid
+  tree structure. All of the nodes have 100 children. All the nodes are added in a single
+  microkernel commit.
+* `MkAddNodesDifferentStructuresTest.testWriteNodes1000Children`: Creates 100000 nodes, in a pyramid
+  tree structure. All of the nodes have 1000 children.All the nodes are added in a single
+  microkernel commit.
+* `MkAddNodesDifferentStructuresTest.testWriteNodes1Child`: Creates 100 nodes, each node has only
+  one child, so each of it is on a different tree level. All the nodes are added in a single
+  microkernel commit.
+* `MkAddNodesMultipleCommitsTest.testWriteNodesAllNodes1Commit`: Create 10000 nodes, in a pyramid
+  tree structure. All of the nodes have 100 children. Only one microkernel commit is performed for
+  adding the nodes.
+* `MkAddNodesMultipleCommitsTest.testWriteNodes50NodesPerCommit`: Create 10000 nodes, in a pyramid
+  tree structure. All of the nodes have 100 children. The nodes are added in chunks of 50 nodes per
+  commit.
+* `MkAddNodesMultipleCommitsTest.testWriteNodes1000NodesPerCommit`: Create 10000 nodes, in a pyramid
+  tree structure. All of the nodes have 100 children. The nodes are added in chunks of 1000 nodes
+  per commit.
+* `MkAddNodesMultipleCommitsTest.testWriteNodes1NodePerCommit`: Create 10000 nodes, in a pyramid
+  tree structure. All of the nodes have 100 children. Each node is individually added.
+* `MKAddNodesRelativePathTest.testWriteNodesSameLevel`: Create 1000 nodes, all on the same level.
+  Each node is individually added (in a separate commit). Each node is added using the relative
+  paths in the microkernel commit method.
+* `MKAddNodesRelativePathTest.testWriteNodes10Children`: Create 1000 nodes, each of them having
+  exactly 10 children. Each node is individually added (in a separate commit). Each node is added
+  using the relative paths in the microkernel commit method.
+* `MKAddNodesRelativePathTest.testWriteNodes100Children`: Create 1000 nodes, each of them having
+  exactly 100 children. Each node is individually added (in a separate commit). Each node is added
+  using the relative paths in the microkernel commit method.

Modified: jackrabbit/oak/trunk/oak-run/README.md
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/README.md?rev=1507325&r1=1507324&r2=1507325&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/README.md (original)
+++ jackrabbit/oak/trunk/oak-run/README.md Fri Jul 26 14:24:34 2013
@@ -1,6 +1,11 @@
 Oak Runnable Jar
 ================
 
+Standalone server mode
+----------------------
+
+TODO
+
 Benchmark mode
 --------------