[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15795635#comment-15795635 ]
ASF GitHub Bot commented on TINKERPOP-1545: ------------------------------------------- Github user okram commented on the issue: https://github.com/apache/tinkerpop/pull/486 This is a good find. However, the implementation is a bit gimpy. `Step.getRequirements()` is already a recursive process as `TraversalParents` will check their children for requirements. I propose we go back to the `INVALIDATING_STEPS` model and just list all the steps that explicitly require `PATH`. That is, add the ones we were missing and keep the new test case you added to `IncidentToAdjacentStrategyTest`. * `PathStep` * `TreeStep` * `CyclicPathStep` * `SimplePathStep` * `EdgeOtherVertexStep` * `TreeSideEffectStep` ...then also add `LambdaHolder`. > IncidentToAdjacentStrategy is buggy > ----------------------------------- > > Key: TINKERPOP-1545 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1545 > Project: TinkerPop > Issue Type: Bug > Components: process > Affects Versions: 3.1.4, 3.2.3 > Reporter: Daniel Kuppitz > Assignee: Daniel Kuppitz > > {{IncidentToAdjacentStrategy}} turns {{outE().inV().simplePath()}} into > {{out().simplePath()}}, which will return a wrong result as soon as there is > more than 1 edge between a pair of vertices. > The set {{INVALIDATING_STEP_CLASSES}} should only contain > {{PathProcessor.class}} and {{LambdaHolder.class}} Furthermore > {{SimplePathStep}} should implement {{PathProcessor}}. -- This message was sent by Atlassian JIRA (v6.3.4#6332)