TINKERPOP-1698 Include traversal index in deserialization Seems like it is needed for giraph for some reason.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/0a7f7f6e Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/0a7f7f6e Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/0a7f7f6e Branch: refs/heads/TINKERPOP-1682 Commit: 0a7f7f6e4d5291743918df13ac6a4958fe4fa961 Parents: 0501d42 Author: Stephen Mallette <sp...@genoprime.com> Authored: Tue Jun 27 07:42:07 2017 -0400 Committer: Stephen Mallette <sp...@genoprime.com> Committed: Mon Jul 10 14:14:02 2017 -0400 ---------------------------------------------------------------------- .../process/traversal/util/DefaultTraversalMetrics.java | 7 ++++++- .../gremlin/process/traversal/step/map/ProfileTest.java | 8 ++++---- 2 files changed, 10 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0a7f7f6e/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java index 584456a..3c543f6 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java @@ -34,6 +34,7 @@ import java.util.List; import java.util.Map; import java.util.TreeMap; import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; /** * @author Bob Briody (http://bobbriody.com) @@ -63,7 +64,11 @@ public final class DefaultTraversalMetrics implements TraversalMetrics, Serializ public DefaultTraversalMetrics(final long totalStepDurationNs, final List<MutableMetrics> metricsMap) { this.totalStepDuration = totalStepDurationNs; this.computedMetrics = new LinkedHashMap<>(this.metrics.size()); - metricsMap.forEach(metric -> this.computedMetrics.put(metric.getId(), metric.getImmutableClone())); + final AtomicInteger counter = new AtomicInteger(0); + metricsMap.forEach(metric -> { + this.computedMetrics.put(metric.getId(), metric.getImmutableClone()); + this.indexToLabelMap.put(counter.getAndIncrement(), metric.getId()); + }); } @Override http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0a7f7f6e/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/ProfileTest.java ---------------------------------------------------------------------- diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/ProfileTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/ProfileTest.java index 06afc1f..2dc0e3b 100644 --- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/ProfileTest.java +++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/ProfileTest.java @@ -153,7 +153,7 @@ public abstract class ProfileTest extends AbstractGremlinProcessTest { validate_g_V_out_out_profile_grateful(traversalMetrics); } - private void validate_g_V_out_out_profile_grateful(TraversalMetrics traversalMetrics) { + private void validate_g_V_out_out_profile_grateful(final TraversalMetrics traversalMetrics) { traversalMetrics.toString(); // ensure no exceptions are thrown Metrics metrics = traversalMetrics.getMetrics(0); @@ -206,7 +206,7 @@ public abstract class ProfileTest extends AbstractGremlinProcessTest { validate_g_V_sideEffectXThread_sleepX10XX_sideEffectXThread_sleepX5XX_profile(traversalMetrics); } - private void validate_g_V_sideEffectXThread_sleepX10XX_sideEffectXThread_sleepX5XX_profile(TraversalMetrics traversalMetrics) { + private void validate_g_V_sideEffectXThread_sleepX10XX_sideEffectXThread_sleepX5XX_profile(final TraversalMetrics traversalMetrics) { traversalMetrics.toString(); // ensure no exceptions are thrown // Grab the second (sideEffect{sleep}) step and check the times. @@ -253,7 +253,7 @@ public abstract class ProfileTest extends AbstractGremlinProcessTest { !traversal.asAdmin().getStrategies().toList().contains(ComputerVerificationStrategy.instance())); } - private void validate_g_V_repeat_both_modern_profile(TraversalMetrics traversalMetrics, boolean withRepeatUnrollStrategy) { + private void validate_g_V_repeat_both_modern_profile(final TraversalMetrics traversalMetrics, boolean withRepeatUnrollStrategy) { traversalMetrics.toString(); // ensure no exceptions are thrown Metrics metrics = traversalMetrics.getMetrics(0); @@ -286,7 +286,7 @@ public abstract class ProfileTest extends AbstractGremlinProcessTest { ///////////// - private void validate_g_V_whereXinXcreatedX_count_isX1XX_name_profile(Traversal traversal, TraversalMetrics traversalMetrics) { + private void validate_g_V_whereXinXcreatedX_count_isX1XX_name_profile(final Traversal traversal, TraversalMetrics traversalMetrics) { traversalMetrics.toString(); // ensure no exceptions are thrown assertEquals("There should be 3 top-level metrics.", 3, traversalMetrics.getMetrics().size());