You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by aj...@apache.org on 2018/01/06 15:17:47 UTC
[23/44] jena git commit: Better concurrency behavior
Better concurrency behavior
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/2274264a
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/2274264a
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/2274264a
Branch: refs/heads/master
Commit: 2274264a21a8ce08438285c5cdd5378172fa7de7
Parents: 0fcd9b4
Author: ajs6f <aj...@apache.org>
Authored: Sun Dec 31 20:49:03 2017 -0500
Committer: ajs6f <aj...@apache.org>
Committed: Fri Jan 5 09:32:55 2018 -0500
----------------------------------------------------------------------
.../main/java/org/apache/jena/query/util/DatasetCollector.java | 5 ++---
.../org/apache/jena/sparql/util/IntersectionDatasetGraph.java | 5 +----
.../src/main/java/org/apache/jena/util/ModelCollector.java | 2 +-
3 files changed, 4 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/2274264a/jena-arq/src/main/java/org/apache/jena/query/util/DatasetCollector.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/query/util/DatasetCollector.java b/jena-arq/src/main/java/org/apache/jena/query/util/DatasetCollector.java
index 37fe72b..2eb444f 100644
--- a/jena-arq/src/main/java/org/apache/jena/query/util/DatasetCollector.java
+++ b/jena-arq/src/main/java/org/apache/jena/query/util/DatasetCollector.java
@@ -18,8 +18,7 @@
package org.apache.jena.query.util;
-import static org.apache.jena.system.Txn.executeRead;
-import static org.apache.jena.system.Txn.executeWrite;
+import static org.apache.jena.system.Txn.*;
import java.util.function.*;
@@ -53,7 +52,7 @@ public abstract class DatasetCollector implements UnorderedIdentityFinishCollect
@Override
public BinaryOperator<Dataset> combiner() {
- return collector.combiner();
+ return (d1, d2) -> calculateRead(d2, () -> calculateWrite(d1, () -> collector.combiner().apply(d1, d2)));
}
@Override
http://git-wip-us.apache.org/repos/asf/jena/blob/2274264a/jena-arq/src/main/java/org/apache/jena/sparql/util/IntersectionDatasetGraph.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/util/IntersectionDatasetGraph.java b/jena-arq/src/main/java/org/apache/jena/sparql/util/IntersectionDatasetGraph.java
index ae9ac1d..ade1de2 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/util/IntersectionDatasetGraph.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/util/IntersectionDatasetGraph.java
@@ -56,10 +56,7 @@ public class IntersectionDatasetGraph extends ViewDatasetGraph {
@Override
public Iterator<Node> listGraphNodes() {
- return iter(getLeft().listGraphNodes())
- .filter(graphName -> !getGraph(graphName).isEmpty())
- .filter(getRight()::containsGraph)
- .filter(graphName -> !getRight().getGraph(graphName).isEmpty());
+ return iter(getLeft().listGraphNodes()).filter(getRight()::containsGraph);
}
@Override
http://git-wip-us.apache.org/repos/asf/jena/blob/2274264a/jena-core/src/main/java/org/apache/jena/util/ModelCollector.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/util/ModelCollector.java b/jena-core/src/main/java/org/apache/jena/util/ModelCollector.java
index adeed0c..24bc309 100644
--- a/jena-core/src/main/java/org/apache/jena/util/ModelCollector.java
+++ b/jena-core/src/main/java/org/apache/jena/util/ModelCollector.java
@@ -53,7 +53,7 @@ public abstract class ModelCollector implements UnorderedIdentityFinishCollector
@Override
public BinaryOperator<Model> combiner() {
- return collector.combiner();
+ return (m1, m2) -> m2.calculateInTxn(() -> m1.calculateInTxn(() -> collector.combiner().apply(m1, m2)));
}
}