Github user twilmes commented on the issue:
https://github.com/apache/tinkerpop/pull/358
I made a small update to `ReferencePath` to create new label Sets when a
patch is detached. This had been causing issues where the first set of labels
for a path where being shared across `MutablePaths` after detachment. A label
would be removed from one, and therefore all of the traversers that had that
label `Set` in their path, would be affected.
The `PathProcessors` are now respecting keepLabels null and labels are not
dropped if `PrunePathStrategy` is not applied.
**PrunePathStrategy on**
```
g.V().match(
as("a").in("sungBy").as("b"),
as("a").in("sungBy").as("c"),
as("b").out("writtenBy").as("d"),
as("c").out("writtenBy").as("e"),
as("d").has("name", "George_Harrison"),
as("e").has("name", "Bob_Marley")).select("a").count().profile()
Traversal Metrics
Step Count
Traversers Time (ms) % Dur
=============================================================================================================
GraphStep(vertex,[]) 808
808 44.217 99.97
MatchStep(AND,[[MatchStartStep(a), ProfileStep,... 1
1 0.004 0.01
MatchStartStep(a) 808
808 43.517
VertexStep(IN,[sungBy],vertex) 501
499 20.323
MatchEndStep(b) (profiling ignored)
0.000
MatchStartStep(a) 2
2 0.006
VertexStep(IN,[sungBy],vertex) 156
156 2.129
MatchEndStep(c) (profiling ignored)
0.000
MatchStartStep(b) 501
499 5.126
VertexStep(OUT,[writtenBy],vertex) 509
504 3.423
MatchEndStep(d) (profiling ignored)
0.000
MatchStartStep(c) 156
156 1.083
VertexStep(OUT,[writtenBy],vertex) 157
157 1.029
MatchEndStep(e) (profiling ignored)
0.000
MatchStartStep(d) 509
266 1.685
HasStep([name.eq(George_Harrison)]) 2
2 0.002
MatchEndStep (profiling ignored)
0.000
MatchStartStep(e) 157
57 0.391
HasStep([name.eq(Bob_Marley)]) 1
1 0.001
MatchEndStep (profiling ignored)
0.000
SelectOneStep(a) 1
1 0.003 0.01
CountGlobalStep 1
1 0.003 0.01
>TOTAL -
- 44.228 -
```
**PrunePathStrategy off**
```
Traversal Metrics
Step Count
Traversers Time (ms) % Dur
=============================================================================================================
GraphStep(vertex,[]) 808
808 7.565 99.84
MatchStep(AND,[[MatchStartStep(a), ProfileStep,... 1
1 0.007 0.10
MatchStartStep(a) 808
808 5.726
VertexStep(IN,[sungBy],vertex) 501
499 9.532
MatchEndStep(b) (profiling ignored)
0.000
MatchStartStep(a) 2
2 0.007
VertexStep(IN,[sungBy],vertex) 156
156 1.803
MatchEndStep(c) (profiling ignored)
0.000
MatchStartStep(b) 501
499 3.221
VertexStep(OUT,[writtenBy],vertex) 509
504 2.297
MatchEndStep(d) (profiling ignored)
0.000
MatchStartStep(c) 156
156 1.192
VertexStep(OUT,[writtenBy],vertex) 157
157 0.910
MatchEndStep(e) (profiling ignored)
0.000
MatchStartStep(d) 509
504 1.533
HasStep([name.eq(George_Harrison)]) 2
2 0.002
MatchEndStep (profiling ignored)
0.000
MatchStartStep(e) 157
157 1.425
HasStep([name.eq(Bob_Marley)]) 1
1 0.000
MatchEndStep (profiling ignored)
0.000
SelectOneStep(a) 1
1 0.003 0.04
CountGlobalStep 1
1 0.001 0.02
>TOTAL -
- 7.577 -
```
I am running the integration tests now and will respond back when they
complete.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at [email protected] or file a JIRA ticket with INFRA. ---
