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
--------------