[jira] [Commented] (TINKERPOP-1545) IncidentToAdjacentStrategy is buggy
[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15821104#comment-15821104 ] ASF GitHub Bot commented on TINKERPOP-1545: --- Github user asfgit closed the pull request at: https://github.com/apache/tinkerpop/pull/526 > 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 > Fix For: 3.1.6 > > > {{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)
[jira] [Commented] (TINKERPOP-1545) IncidentToAdjacentStrategy is buggy
[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15821105#comment-15821105 ] ASF GitHub Bot commented on TINKERPOP-1545: --- Github user asfgit closed the pull request at: https://github.com/apache/tinkerpop/pull/525 > 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 > Fix For: 3.1.6 > > > {{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)
[jira] [Commented] (TINKERPOP-1545) IncidentToAdjacentStrategy is buggy
[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15820971#comment-15820971 ] ASF GitHub Bot commented on TINKERPOP-1545: --- Github user spmallette commented on the issue: https://github.com/apache/tinkerpop/pull/525 VOTE +1 > 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)
[jira] [Commented] (TINKERPOP-1545) IncidentToAdjacentStrategy is buggy
[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15820969#comment-15820969 ] ASF GitHub Bot commented on TINKERPOP-1545: --- Github user spmallette commented on the issue: https://github.com/apache/tinkerpop/pull/526 VOTE +1 > 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)
[jira] [Commented] (TINKERPOP-1545) IncidentToAdjacentStrategy is buggy
[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15811984#comment-15811984 ] ASF GitHub Bot commented on TINKERPOP-1545: --- Github user okram commented on the issue: https://github.com/apache/tinkerpop/pull/525 VOTE +1. > 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)
[jira] [Commented] (TINKERPOP-1545) IncidentToAdjacentStrategy is buggy
[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15811977#comment-15811977 ] ASF GitHub Bot commented on TINKERPOP-1545: --- Github user dkuppitz commented on the issue: https://github.com/apache/tinkerpop/pull/486 Replaced by: * https://github.com/apache/tinkerpop/pull/525 (tp31) * https://github.com/apache/tinkerpop/pull/526 (tp32 + master) > 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)
[jira] [Commented] (TINKERPOP-1545) IncidentToAdjacentStrategy is buggy
[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15811975#comment-15811975 ] ASF GitHub Bot commented on TINKERPOP-1545: --- GitHub user dkuppitz opened a pull request: https://github.com/apache/tinkerpop/pull/526 TINKERPOP-1545 IncidentToAdjacentStrategy is buggy https://issues.apache.org/jira/browse/TINKERPOP-1545 Implemented changes as discussed in https://github.com/apache/tinkerpop/pull/486. You can merge this pull request into a Git repository by running: $ git pull https://github.com/apache/tinkerpop TINKERPOP-1545-tp32 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/tinkerpop/pull/526.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #526 commit 35f936b0e84d31c0d92600dbe129f54babb1900a Author: Daniel KuppitzDate: 2017-01-09T14:31:54Z Fixed bug in `IncidentToAdjacentStrategy`, it was missing some invalidating steps. > 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)
[jira] [Commented] (TINKERPOP-1545) IncidentToAdjacentStrategy is buggy
[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15811978#comment-15811978 ] ASF GitHub Bot commented on TINKERPOP-1545: --- Github user dkuppitz closed the pull request at: https://github.com/apache/tinkerpop/pull/486 > 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)
[jira] [Commented] (TINKERPOP-1545) IncidentToAdjacentStrategy is buggy
[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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)
[jira] [Commented] (TINKERPOP-1545) IncidentToAdjacentStrategy is buggy
[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15664953#comment-15664953 ] ASF GitHub Bot commented on TINKERPOP-1545: --- Github user dkuppitz commented on the issue: https://github.com/apache/tinkerpop/pull/488 This PR is no longer relevant, as we have a discussion going in https://github.com/apache/tinkerpop/pull/486 (where `SimplePathStep` is no longer a `PathProcessor`). > 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)
[jira] [Commented] (TINKERPOP-1545) IncidentToAdjacentStrategy is buggy
[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15664954#comment-15664954 ] ASF GitHub Bot commented on TINKERPOP-1545: --- Github user dkuppitz closed the pull request at: https://github.com/apache/tinkerpop/pull/488 > 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)
[jira] [Commented] (TINKERPOP-1545) IncidentToAdjacentStrategy is buggy
[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15664760#comment-15664760 ] ASF GitHub Bot commented on TINKERPOP-1545: --- Github user okram commented on the issue: https://github.com/apache/tinkerpop/pull/488 VOTE -1. I don't think its smart to make `SimplePathStep` a path processor as its not a path processor. I think you best bet for this ticket is to simply just add `SimplePathStep` and `CyclicPathStep` to your list of "invalidating steps." > 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)
[jira] [Commented] (TINKERPOP-1545) IncidentToAdjacentStrategy is buggy
[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15659683#comment-15659683 ] ASF GitHub Bot commented on TINKERPOP-1545: --- Github user dkuppitz commented on the issue: https://github.com/apache/tinkerpop/pull/486 Requirements were not cached in `tp31`. I have a neat solution for `master/`, but not for `tp32`. In `tp32` we can either reset the requirements after each strategy has been applied or we can ignore the caching, which - in the worst case - would make the traversal assume, that it has more requirements than it actually has. This is the only case I can currently think of: When `IncidentToAdjacentStrategy` replaces `bothE().otherV()` with `both()`, the traversal could lose its `PATH` requirement. > 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)
[jira] [Commented] (TINKERPOP-1545) IncidentToAdjacentStrategy is buggy
[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15657806#comment-15657806 ] ASF GitHub Bot commented on TINKERPOP-1545: --- Github user dkuppitz commented on the issue: https://github.com/apache/tinkerpop/pull/486 I think we have 2 options: 1. reset requirements (a simple `this.requirements = null;`) at the end of mutating methods (`addStep` and `removeStep`) 2. don't cache requirements before `applyStrategies()` The problem with 1 is, that we would have to propagate the reset to all child- and parent-traversals. The problem with 2 is, that if we don't cache requirements while startegies are being applied, why do we cache them at all? Are requirements used at runtime? Thoughts? > IncidentToAdjacentStrategy is buggy > --- > > Key: TINKERPOP-1545 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1545 > Project: TinkerPop > Issue Type: Bug >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)
[jira] [Commented] (TINKERPOP-1545) IncidentToAdjacentStrategy is buggy
[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15657720#comment-15657720 ] ASF GitHub Bot commented on TINKERPOP-1545: --- Github user dkuppitz commented on the issue: https://github.com/apache/tinkerpop/pull/486 I see, that sucks. Looks like there's nothing that resets the cache at any point. IMO the admin methods `addStep` and `removeStep` should invalidate the cache. > IncidentToAdjacentStrategy is buggy > --- > > Key: TINKERPOP-1545 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1545 > Project: TinkerPop > Issue Type: Bug >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)
[jira] [Commented] (TINKERPOP-1545) IncidentToAdjacentStrategy is buggy
[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15657393#comment-15657393 ] ASF GitHub Bot commented on TINKERPOP-1545: --- Github user okram commented on the issue: https://github.com/apache/tinkerpop/pull/486 Look at line 142 of `DefaultTraversal`. > IncidentToAdjacentStrategy is buggy > --- > > Key: TINKERPOP-1545 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1545 > Project: TinkerPop > Issue Type: Bug >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)
[jira] [Commented] (TINKERPOP-1545) IncidentToAdjacentStrategy is buggy
[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15657214#comment-15657214 ] ASF GitHub Bot commented on TINKERPOP-1545: --- Github user dkuppitz commented on the issue: https://github.com/apache/tinkerpop/pull/486 I really don't see what you mean by "it gets cached". `getRequirements()` as well as `getSelfAndChildRequirements()` look pretty stateless to me. > IncidentToAdjacentStrategy is buggy > --- > > Key: TINKERPOP-1545 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1545 > Project: TinkerPop > Issue Type: Bug >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)
[jira] [Commented] (TINKERPOP-1545) IncidentToAdjacentStrategy is buggy
[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15657036#comment-15657036 ] ASF GitHub Bot commented on TINKERPOP-1545: --- Github user dkuppitz commented on the issue: https://github.com/apache/tinkerpop/pull/486 > Why not use the "marker model" ? This PR targets `tp31`. > IncidentToAdjacentStrategy is buggy > --- > > Key: TINKERPOP-1545 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1545 > Project: TinkerPop > Issue Type: Bug >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)
[jira] [Commented] (TINKERPOP-1545) IncidentToAdjacentStrategy is buggy
[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15656993#comment-15656993 ] ASF GitHub Bot commented on TINKERPOP-1545: --- Github user okram commented on the issue: https://github.com/apache/tinkerpop/pull/486 Why do you do a root recursion on every traversal? Why not use the "marker model" ? Also, `getRequirements()` is already recursive off the root traversal steps. I would do this: 1. If root -- search for `SimplePathStep`, `CyclicPathStep`, `LambdaHolder`, `Path`, `Tree`, ? 2. If one exists, mark all child traversals with hidden label. 3. If a child - am I marked, yes? remove the mark and return. No? do the rewrite. > IncidentToAdjacentStrategy is buggy > --- > > Key: TINKERPOP-1545 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1545 > Project: TinkerPop > Issue Type: Bug >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)
[jira] [Commented] (TINKERPOP-1545) IncidentToAdjacentStrategy is buggy
[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15655870#comment-15655870 ] ASF GitHub Bot commented on TINKERPOP-1545: --- Github user dkuppitz commented on the issue: https://github.com/apache/tinkerpop/pull/486 Force-pushed. Filtering steps based on 2 conditions (type and traversal requirements) was easier than I thought (thanks to `TraversalHelper.anyStepRecursively()`). > IncidentToAdjacentStrategy is buggy > --- > > Key: TINKERPOP-1545 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1545 > Project: TinkerPop > Issue Type: Bug >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)
[jira] [Commented] (TINKERPOP-1545) IncidentToAdjacentStrategy is buggy
[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15655826#comment-15655826 ] ASF GitHub Bot commented on TINKERPOP-1545: --- Github user dkuppitz commented on the issue: https://github.com/apache/tinkerpop/pull/486 You know what, I will revert the change and not implement `PathProcessor` in `SimplePathStep`. Here's why: `IncidentToAdjacentStrategy` should only rely on the `getRequirements()` result, because otherwise this problem would come up again with `VertexProgramSteps`. > IncidentToAdjacentStrategy is buggy > --- > > Key: TINKERPOP-1545 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1545 > Project: TinkerPop > Issue Type: Bug >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)
[jira] [Commented] (TINKERPOP-1545) IncidentToAdjacentStrategy is buggy
[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15655821#comment-15655821 ] ASF GitHub Bot commented on TINKERPOP-1545: --- Github user dkuppitz commented on the issue: https://github.com/apache/tinkerpop/pull/486 The `PathProcessor` interface has no function for SimpleStep and doesn't add any overhead. AFAIK `PathProcessor` is only used by strategies to easily identify traversals with "special requirements". Both, `SimpleStep` and `CyclicStep`, access the current `traverser.path()` and thus they **process** the **path**, which makes them `PathProcessor`s :). I can also rely on the result of `getRequirements()`, but this would make the strategy a bit slower and I really don't see why `SimplePath` and `CyclicPath` should not be `PathProcessor`s. > IncidentToAdjacentStrategy is buggy > --- > > Key: TINKERPOP-1545 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1545 > Project: TinkerPop > Issue Type: Bug >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)
[jira] [Commented] (TINKERPOP-1545) IncidentToAdjacentStrategy is buggy
[ https://issues.apache.org/jira/browse/TINKERPOP-1545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15655489#comment-15655489 ] ASF GitHub Bot commented on TINKERPOP-1545: --- GitHub user dkuppitz opened a pull request: https://github.com/apache/tinkerpop/pull/486 TINKERPOP-1545 IncidentToAdjacentStrategy is buggy https://issues.apache.org/jira/browse/TINKERPOP-1545 Made `SimplePathStep` implement `PathProcessor` and `IncidentToAdjacentStrategy` skip all traversals that contain path processing steps. The first few test suites of `docker/builder -t -i -n` succeeded and I will let it run over night, but I'm confident, that nothing bad is gonna happen in the other test suites (otherwise I'm going to revert the next line tomorrow). VOTE: +1 You can merge this pull request into a Git repository by running: $ git pull https://github.com/apache/tinkerpop TINKERPOP-1545 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/tinkerpop/pull/486.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #486 commit 54dbeaacaf6ccfaab8db9de8ce736243fe32b78e Author: Daniel KuppitzDate: 2016-11-10T23:00:03Z Made SimplePathStep implement PathProcessor and IncidentToAdjacentStrategy skip all traversals that contain path processing steps > IncidentToAdjacentStrategy is buggy > --- > > Key: TINKERPOP-1545 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1545 > Project: TinkerPop > Issue Type: Bug >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)