You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2019/06/17 22:30:09 UTC
[tinkerpop] branch TINKERPOP-2238 updated: TINKERPOP-2238 Fixed
iterator leaks in generator tests
This is an automated email from the ASF dual-hosted git repository.
spmallette pushed a commit to branch TINKERPOP-2238
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
The following commit(s) were added to refs/heads/TINKERPOP-2238 by this push:
new 5935b8f TINKERPOP-2238 Fixed iterator leaks in generator tests
5935b8f is described below
commit 5935b8f7f8671e47cbc9e3ea24860b1fbd8e1265
Author: Stephen Mallette <sp...@genoprime.com>
AuthorDate: Mon Jun 17 18:29:38 2019 -0400
TINKERPOP-2238 Fixed iterator leaks in generator tests
---
.../algorithm/generator/AbstractGeneratorTest.java | 21 +++++++++++++++------
.../algorithm/generator/CommunityGeneratorTest.java | 2 --
.../generator/DistributionGeneratorTest.java | 5 +----
.../gremlin/process/computer/GraphComputerTest.java | 2 --
4 files changed, 16 insertions(+), 14 deletions(-)
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/algorithm/generator/AbstractGeneratorTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/algorithm/generator/AbstractGeneratorTest.java
index 7353465..acda7bd 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/algorithm/generator/AbstractGeneratorTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/algorithm/generator/AbstractGeneratorTest.java
@@ -22,9 +22,11 @@ import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
import org.apache.tinkerpop.gremlin.structure.Direction;
import org.apache.tinkerpop.gremlin.structure.Graph;
import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.util.CloseableIterator;
import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
import org.javatuples.Triplet;
+import java.util.Iterator;
import java.util.List;
/**
@@ -39,12 +41,19 @@ public class AbstractGeneratorTest extends AbstractGremlinTest {
* attach to the same IN/OUT vertices given their "oid" properties.
*/
protected boolean same(final Graph g1, final Graph g2) {
- return IteratorUtils.stream(g1.vertices())
- .map(v -> Triplet.<Integer, List<Vertex>, List<Vertex>>with(v.value("oid"), IteratorUtils.list(v.vertices(Direction.IN)), IteratorUtils.list(v.vertices(Direction.OUT))))
- .allMatch(p -> {
- final Vertex v = IteratorUtils.filter(g2.vertices(), vx -> vx.value("oid").equals(p.getValue0())).next();
- return sameInVertices(v, p.getValue1()) && sameOutVertices(v, p.getValue2());
- });
+ final Iterator<Vertex> itty = g1.vertices();
+ try {
+ return IteratorUtils.stream(itty)
+ .map(v -> Triplet.<Integer, List<Vertex>, List<Vertex>>with(v.value("oid"), IteratorUtils.list(v.vertices(Direction.IN)), IteratorUtils.list(v.vertices(Direction.OUT))))
+ .allMatch(p -> {
+ final Iterator<Vertex> innerItty = g2.vertices();
+ final Vertex v = IteratorUtils.filter(innerItty, vx -> vx.value("oid").equals(p.getValue0())).next();
+ CloseableIterator.closeIterator(innerItty);
+ return sameInVertices(v, p.getValue1()) && sameOutVertices(v, p.getValue2());
+ });
+ } finally {
+ CloseableIterator.closeIterator(itty);
+ }
}
private boolean sameInVertices(final Vertex v, final List<Vertex> inVertices) {
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/algorithm/generator/CommunityGeneratorTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/algorithm/generator/CommunityGeneratorTest.java
index 9c28bbe..5aacc9e 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/algorithm/generator/CommunityGeneratorTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/algorithm/generator/CommunityGeneratorTest.java
@@ -47,12 +47,10 @@ import static org.junit.Assert.*;
* @author Stephen Mallette (http://stephen.genoprime.com)
*/
@RunWith(Enclosed.class)
-@IgnoreIteratorLeak
public class CommunityGeneratorTest {
private static final Logger logger = LoggerFactory.getLogger(CommunityGeneratorTest.class);
@RunWith(Parameterized.class)
- @IgnoreIteratorLeak
public static class DifferentDistributionsTest extends AbstractGeneratorTest {
@Parameterized.Parameters(name = "test({0},{1},{2})")
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/algorithm/generator/DistributionGeneratorTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/algorithm/generator/DistributionGeneratorTest.java
index 2164598..8a2842f 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/algorithm/generator/DistributionGeneratorTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/algorithm/generator/DistributionGeneratorTest.java
@@ -22,7 +22,6 @@ import org.apache.commons.configuration.Configuration;
import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
import org.apache.tinkerpop.gremlin.FeatureRequirement;
import org.apache.tinkerpop.gremlin.FeatureRequirementSet;
-import org.apache.tinkerpop.gremlin.IgnoreIteratorLeak;
import org.apache.tinkerpop.gremlin.structure.Graph;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
@@ -42,11 +41,9 @@ import static org.junit.Assert.assertTrue;
* @author Stephen Mallette (http://stephen.genoprime.com)
*/
@RunWith(Enclosed.class)
-@IgnoreIteratorLeak
public class DistributionGeneratorTest {
@RunWith(Parameterized.class)
- @IgnoreIteratorLeak
public static class DifferentDistributionsTest extends AbstractGeneratorTest {
@Parameterized.Parameters(name = "test({0},{1})")
@@ -146,7 +143,7 @@ public class DistributionGeneratorTest {
}
protected Iterable<Vertex> verticesByOid(final Graph graph) {
- List<Vertex> vertices = graph.traversal().V().toList();
+ final List<Vertex> vertices = graph.traversal().V().toList();
Collections.sort(vertices,
(v1, v2) -> ((Integer) v1.value("oid")).compareTo((Integer) v2.value("oid")));
return vertices;
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.java
index 4d4d4d2..2b018db 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.java
@@ -23,7 +23,6 @@ import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationUtils;
import org.apache.tinkerpop.gremlin.ExceptionCoverage;
import org.apache.tinkerpop.gremlin.LoadGraphWith;
-import org.apache.tinkerpop.gremlin.IgnoreIteratorLeak;
import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
import org.apache.tinkerpop.gremlin.process.computer.clustering.peerpressure.PeerPressureVertexProgram;
import org.apache.tinkerpop.gremlin.process.computer.ranking.pagerank.PageRankVertexProgram;
@@ -112,7 +111,6 @@ import static org.junit.Assume.assumeNoException;
"graphDoesNotSupportProvidedGraphComputer"
})
@SuppressWarnings("ThrowableResultOfMethodCallIgnored")
-@IgnoreIteratorLeak
public class GraphComputerTest extends AbstractGremlinProcessTest {
@Test