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 am...@apache.org on 2014/10/09 05:42:47 UTC
svn commit: r1630275 - in
/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/scalability:
ScalabilityNodeRelationshipSuite.java ScalabilityNodeSuite.java
Author: amitj
Date: Thu Oct 9 03:42:47 2014
New Revision: 1630275
URL: http://svn.apache.org/r1630275
Log:
OAK-2028: Scalability benchmarks for search
Added ability to insert dates randomly
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/scalability/ScalabilityNodeRelationshipSuite.java
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/scalability/ScalabilityNodeSuite.java
Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/scalability/ScalabilityNodeRelationshipSuite.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/scalability/ScalabilityNodeRelationshipSuite.java?rev=1630275&r1=1630274&r2=1630275&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/scalability/ScalabilityNodeRelationshipSuite.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/scalability/ScalabilityNodeRelationshipSuite.java Thu Oct 9 03:42:47 2014
@@ -310,9 +310,8 @@ public class ScalabilityNodeRelationship
*/
private void createActivityNode(Node activityParent, Map<String, String> props)
throws RepositoryException {
- start.add(Calendar.SECOND, 1);
activityParent.setProperty(TITLE_PROP, props.get(TITLE_PROP));
- activityParent.setProperty(CREATED, start);
+ activityParent.setProperty(CREATED, generateDate());
activityParent.setProperty(ACTION, props.get(ACTION));
activityParent.setProperty(SOURCE_ID, props.get(SOURCE_ID));
Node sourceNode = JcrUtils
@@ -411,8 +410,6 @@ public class ScalabilityNodeRelationship
}
for (int i = 0; i < NUM_RELATIONSHIPS; i++) {
- start.add(Calendar.SECOND, 1);
-
if (usersIdx.size() > 0) {
String otherUser =
users.get(usersIdx.remove(random.nextInt(usersIdx.size()))).getID();
@@ -420,7 +417,7 @@ public class ScalabilityNodeRelationship
String nameHint = Text.getName(otherUser);
Node rNode = relationshipsParentNode.addNode(nameHint, getType(1));
- rNode.setProperty(CREATED, start);
+ rNode.setProperty(CREATED, generateDate());
rNode.setProperty(SOURCE_ID, user.getID());
rNode.setProperty(TARGET_ID, otherUser);
Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/scalability/ScalabilityNodeSuite.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/scalability/ScalabilityNodeSuite.java?rev=1630275&r1=1630274&r2=1630275&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/scalability/ScalabilityNodeSuite.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/scalability/ScalabilityNodeSuite.java Thu Oct 9 03:42:47 2014
@@ -110,6 +110,11 @@ public class ScalabilityNodeSuite extend
protected static final boolean FULL_TEXT = !Boolean.getBoolean("noFullIndex");
/**
+ * Controls whether to generate random dates in a range
+ */
+ protected static final boolean RAND_DATE = Boolean.getBoolean("randDate");
+
+ /**
* Controls if a customType is to be created
*/
protected static final boolean CUSTOM_TYPE = Boolean.getBoolean("customType");
@@ -410,8 +415,12 @@ public class ScalabilityNodeSuite extend
long counter;
+ int secsIn2Years = 31622400;
+
Calendar start;
+ long startMillis;
+
Timer timer;
/** The maximum number of assets to be written by this thread. */
@@ -428,14 +437,24 @@ public class ScalabilityNodeSuite extend
.getNode(ROOT_NODE_NAME)
.addNode("writer-" + id);
start = Calendar.getInstance();
- start.add(Calendar.YEAR, -1);
+ start.add(Calendar.YEAR, -2);
start.setTimeZone(TimeZone.getTimeZone("GMT"));
+ startMillis = start.getTimeInMillis();
session.save();
timer = new Timer(writeStats);
}
+ protected Calendar generateDate() {
+ if (RAND_DATE) {
+ start.setTimeInMillis(startMillis + random.nextInt(secsIn2Years));
+ } else {
+ start.add(Calendar.SECOND, 1);
+ }
+ return start;
+ }
+
@Override
public void run() {
try {
@@ -463,7 +482,6 @@ public class ScalabilityNodeSuite extend
}
private Node createParent(Node parent, boolean createChildren, String name) throws Exception {
- start.add(Calendar.SECOND, 1);
Node node = createNode(parent, 0, name);
if (createChildren) {
@@ -480,7 +498,6 @@ public class ScalabilityNodeSuite extend
// Recursively create sub nodes
for (int idx = 0; idx < Integer.parseInt(NODE_LEVELS.get(levelIdx)); idx++) {
- start.add(Calendar.SECOND, 1);
Node subNode =
createNode(parent, levelIdx, "SubNode-" + levelIdx + "-" + idx);
addDescSearchPath(subNode.getPath());
@@ -505,7 +522,7 @@ public class ScalabilityNodeSuite extend
Node node =
JcrUtils.getOrAddNode(parent, name, getType(levelIdx));
// Add relevant properties
- node.setProperty(DATE_PROP, start);
+ node.setProperty(DATE_PROP, generateDate());
node.setProperty(SORT_PROP, toss());
node.setProperty(FILTER_PROP, toss());
node.setProperty(TITLE_PROP, name);