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 re...@apache.org on 2016/01/28 16:29:47 UTC
svn commit: r1727383 -
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
Author: reschke
Date: Thu Jan 28 15:29:47 2016
New Revision: 1727383
URL: http://svn.apache.org/viewvc?rev=1727383&view=rev
Log:
OAK-3948: RDBDocumentStore: add system property for disabling bulk updates
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java?rev=1727383&r1=1727382&r2=1727383&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java Thu Jan 28 15:29:47 2016
@@ -297,6 +297,14 @@ public class RDBDocumentStore implements
@Override
public <T extends Document> List<T> createOrUpdate(Collection<T> collection, List<UpdateOp> updateOps) {
+ if (!BATCHUPDATES) {
+ List<T> results = new ArrayList<T>(updateOps.size());
+ for (UpdateOp update : updateOps) {
+ results.add(createOrUpdate(collection, update));
+ }
+ return results;
+ }
+
Map<UpdateOp, T> results = new LinkedHashMap<UpdateOp, T>();
Map<String, UpdateOp> operationsToCover = new LinkedHashMap<String, UpdateOp>();
Set<UpdateOp> duplicates = new HashSet<UpdateOp>();
@@ -1764,6 +1772,9 @@ public class RDBDocumentStore implements
// Number of elapsed ms in a query above which a diagnostic warning is generated
private static final int QUERYTIMELIMIT = Integer.getInteger(
"org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.QUERYTIMELIMIT", 10000);
+ // Whether to use JDBC batch commands for the createOrUpdate (default: true).
+ private static final boolean BATCHUPDATES = Boolean.parseBoolean(System
+ .getProperty("org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.BATCHUPDATES", "true"));
public static byte[] asBytes(String data) {
byte[] bytes;