[jira] (TINKERPOP-1597) PathRetractionStrategy messing up certain traversals
[ https://issues.apache.org/jira/browse/TINKERPOP-1597?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ted Wilmes closed TINKERPOP-1597. - Resolution: Fixed A `PathRetractionStrategy` test has been added to verify the nested `dedup` does not drop labels. The new `OptionalTest` test method provided by [~dkuppitz] is affected by TINKERPOP-1619 so it was not merged as part of this ticket. > PathRetractionStrategy messing up certain traversals > > > Key: TINKERPOP-1597 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1597 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.3.0 >Reporter: Daniel Kuppitz >Assignee: Ted Wilmes > Fix For: 3.3.0 > > > There are certain types of traversals that do not work when > {{PathRetractionStrategy}} is included. This ticket discusses one specific > case that is only reproducible in {{3.3.0-SNAPSHOT}} / current {{master/}}. > Here's the traversal and the expected result: > {noformat} > gremlin> > g.withoutStrategies(PathRetractionStrategy).V(1,2).as("a").optional(bothE().dedup().as("b")).choose(select("b").select("a","b")., > project("a").by(select("a"))) > ==>[a:v[2]] > ==>[a:v[1],b:e[9][1-created->3]] > ==>[a:v[1],b:e[7][1-knows->2]] > ==>[a:v[1],b:e[8][1-knows->4]] > {noformat} > With {{PathRetractionStrategy}} included we get: > {noformat} > gremlin> > g.V(1,2).as("a").optional(bothE().dedup().as("b")).choose(select("b"), > select("a","b"), project("a").by(select("a"))) > ==>[a:v[2]] > {noformat} > What's interesting is, that the following 2 traversals compile to the same > final traversal (according to {{.explain()}}): > {noformat} > g.withoutStrategies(PathRetractionStrategy).V(1,2).as("a").optional(bothE().dedup().as("b")).choose(select("b").barrier(2500), > select("a","b").barrier(2500), project("a").by(select("a").barrier(2500))) > g.V(1,2).as("a").optional(bothE().dedup().as("b")).choose(select("b"), > select("a","b"), project("a").by(select("a"))) > {noformat} > ...but the one w/ {{PathRetractionStrategy}} still returns the wrong result, > while the other traversal returns the expected result. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] (TINKERPOP-1619) TinkerGraphComputer worker count affects OptionalStep query results
[ https://issues.apache.org/jira/browse/TINKERPOP-1619?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15847131#comment-15847131 ] Ted Wilmes commented on TINKERPOP-1619: --- Ok, that makes sense. I was wondering if when I bumped the worker count to 4 the duplicate edges were no longer being processed by the same worker and the dedup wasn't global. Kuppitz had a variation of this query as a test case for TINKERPOP-1597 so I'll go ahead and close that one out now. > TinkerGraphComputer worker count affects OptionalStep query results > --- > > Key: TINKERPOP-1619 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1619 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.3.0 >Reporter: Ted Wilmes > > I found that when I bump the worker count up to 4 on my local box, the dedup > nested in the optional appears to not be handled correctly. > {code} > gremlin> g = TinkerFactory.createModern().traversal() > ==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard] > gremlin> g.withComputer(Computer.compute().workers(3)).V(1, > 2).optional(bothE().dedup()) > ==>e[9][1-created->3] > ==>e[7][1-knows->2] > ==>e[8][1-knows->4] > ==>v[2] > gremlin> g.withComputer(Computer.compute().workers(4)).V(1, > 2).optional(bothE().dedup()) > ==>e[9][1-created->3] > ==>e[7][1-knows->2] > ==>e[7][1-knows->2] > ==>e[8][1-knows->4] > {code} -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] (TINKERPOP-1619) TinkerGraphComputer worker count affects OptionalStep query results
[ https://issues.apache.org/jira/browse/TINKERPOP-1619?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15847125#comment-15847125 ] Marko A. Rodriguez commented on TINKERPOP-1619: --- Ah. I know why cause its a "pseudo" local child (like {{LocalStep}}). Its local to the worker, not to the traverser h. Anywho, yea, I know why its doing that, but I have no good solution off the top of my head. > TinkerGraphComputer worker count affects OptionalStep query results > --- > > Key: TINKERPOP-1619 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1619 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.3.0 >Reporter: Ted Wilmes > > I found that when I bump the worker count up to 4 on my local box, the dedup > nested in the optional appears to not be handled correctly. > {code} > gremlin> g = TinkerFactory.createModern().traversal() > ==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard] > gremlin> g.withComputer(Computer.compute().workers(3)).V(1, > 2).optional(bothE().dedup()) > ==>e[9][1-created->3] > ==>e[7][1-knows->2] > ==>e[8][1-knows->4] > ==>v[2] > gremlin> g.withComputer(Computer.compute().workers(4)).V(1, > 2).optional(bothE().dedup()) > ==>e[9][1-created->3] > ==>e[7][1-knows->2] > ==>e[7][1-knows->2] > ==>e[8][1-knows->4] > {code} -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] (TINKERPOP-1619) TinkerGraphComputer worker count affects OptionalStep query results
[ https://issues.apache.org/jira/browse/TINKERPOP-1619?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15847118#comment-15847118 ] Marko A. Rodriguez commented on TINKERPOP-1619: --- This makes sense. This is the problem with {{optional()}} in tp32/. It is used "twice" (once to check existence, and once to iterate results). Regarding {{master/}}, that doesn't make sense since the optional traversal of {{OptionalStep}} is a "local child." We'll figure out... > TinkerGraphComputer worker count affects OptionalStep query results > --- > > Key: TINKERPOP-1619 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1619 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.3.0 >Reporter: Ted Wilmes > > I found that when I bump the worker count up to 4 on my local box, the dedup > nested in the optional appears to not be handled correctly. > {code} > gremlin> g = TinkerFactory.createModern().traversal() > ==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard] > gremlin> g.withComputer(Computer.compute().workers(3)).V(1, > 2).optional(bothE().dedup()) > ==>e[9][1-created->3] > ==>e[7][1-knows->2] > ==>e[8][1-knows->4] > ==>v[2] > gremlin> g.withComputer(Computer.compute().workers(4)).V(1, > 2).optional(bothE().dedup()) > ==>e[9][1-created->3] > ==>e[7][1-knows->2] > ==>e[7][1-knows->2] > ==>e[8][1-knows->4] > {code} -- This message was sent by Atlassian JIRA (v6.3.15#6346)
Re: gremlin-python test SimpleAuthenticator
The current tests do not include authentication or ssl. I think after we merge the latest driver/driver test changes this should be the next order of business. I would be happy to do a PR. On Mon, Jan 30, 2017 at 3:19 PM, Stephen Mallettewrote: > If i remember correctly Marko had wanted to have the two instances > configured with the idea that we would test gremlin-python against both. I > think that remains a work in progress. David Brown has some changes coming > in a PR to tp32 that make some improvements to the tests over there. > Perhaps we can look at getting security hooked up appropriately after that > so that we can get some tests rolling there. > > On Mon, Jan 30, 2017 at 3:16 PM, vtslab wrote: > >> >> While trying to get gremlin-python to work with the proposed Kerberos >> authenticator for gremlin-server (https://github.com/apache/tin >> kerpop/pull/534), I noticed that gremlin-python's pom.xml starts a >> gremlin-server with SimpleAuthenticator (port 45941) but no tests seem to >> use it, nor are the user= and password= arguments of the >> driver_remote_connection.py ever tested. Is this still work in progress or >> do I miss something? >> >> Possibly related to this, @davebshow remarks about the recenntly >> closed/merged issue https://issues.apache.org/jira/browse/TINKERPOP-1600 >> , that all gremlin-python remote_driver_connection tests pass. Does this >> include username/password authentication for which the netty handler coding >> possibly changed due to TINKERPOP-1600? >> >> Cheers, Marc >> -- David M. Brown R.A. CulturePlex Lab, Western University
[jira] (TINKERPOP-1619) TinkerGraphComputer worker count affects OptionalStep query results
[ https://issues.apache.org/jira/browse/TINKERPOP-1619?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15847108#comment-15847108 ] Ted Wilmes commented on TINKERPOP-1619: --- That's a good question, {{tp32}} throws this exception with that query: {code} gremlin> g = TinkerFactory.createModern().traversal() gremlin> g.withComputer(Computer.compute().workers(3)).V(1, 2).optional(bothE().dedup()) [33/1896] java.lang.RuntimeException: java.lang.IllegalStateException: java.lang.IllegalArgumentException: The provided key is not a memory compute key: 1.2.1(1.1.0(2.0.0())) Type ':help' or ':h' for help. Display stack trace? [yN]y java.lang.IllegalStateException: java.lang.RuntimeException: java.lang.IllegalStateException: java.lang.IllegalArgumentException: The provided key is not a memory compute key: 1.2.1(1.1.0(2.0.0())) at org.apache.tinkerpop.gremlin.process.computer.traversal.step.map.VertexProgramStep.processNextStart(VertexProgramStep.java:88) at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:143) at org.apache.tinkerpop.gremlin.process.traversal.step.util.ExpandableStepIterator.next(ExpandableStepIterator.java:50) at org.apache.tinkerpop.gremlin.process.computer.traversal.step.map.ComputerResultStep.processNextStart(ComputerResultStep.java:68) at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:143) at org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.hasNext(DefaultTraversal.java:184) at org.apache.tinkerpop.gremlin.console.Console$_closure3.doCall(Console.groovy:237) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1027) at org.codehaus.groovy.tools.shell.Groovysh.setLastResult(Groovysh.groovy:447) at org.codehaus.groovy.tools.shell.Groovysh.execute(Groovysh.groovy:191) at org.apache.tinkerpop.gremlin.console.GremlinGroovysh.super$3$execute(GremlinGroovysh.groovy) at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1218) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132) at org.apache.tinkerpop.gremlin.console.GremlinGroovysh.execute(GremlinGroovysh.groovy:72) at org.codehaus.groovy.tools.shell.Shell.leftShift(Shell.groovy:122) at org.codehaus.groovy.tools.shell.ShellRunner.work(ShellRunner.groovy:95) at org.codehaus.groovy.tools.shell.InteractiveShellRunner.super$2$work(InteractiveShellRunner.groovy) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1218) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:152) at org.codehaus.groovy.tools.shell.InteractiveShellRunner.work(InteractiveShellRunner.groovy:124) at org.codehaus.groovy.tools.shell.ShellRunner.run(ShellRunner.groovy:59) at org.codehaus.groovy.tools.shell.InteractiveShellRunner.super$2$run(InteractiveShellRunner.groovy) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at
[jira] (TINKERPOP-1619) TinkerGraphComputer worker count affects OptionalStep query results
[ https://issues.apache.org/jira/browse/TINKERPOP-1619?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15847101#comment-15847101 ] Marko A. Rodriguez commented on TINKERPOP-1619: --- And {{tp32/}} branch, it works? I ask this cause we introduced a new {{OptionalStep}} in {{master/}} (3.3.0). > TinkerGraphComputer worker count affects OptionalStep query results > --- > > Key: TINKERPOP-1619 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1619 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.3.0 >Reporter: Ted Wilmes > > I found that when I bump the worker count up to 4 on my local box, the dedup > nested in the optional appears to not be handled correctly. > {code} > gremlin> g = TinkerFactory.createModern().traversal() > ==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard] > gremlin> g.withComputer(Computer.compute().workers(3)).V(1, > 2).optional(bothE().dedup()) > ==>e[9][1-created->3] > ==>e[7][1-knows->2] > ==>e[8][1-knows->4] > ==>v[2] > gremlin> g.withComputer(Computer.compute().workers(4)).V(1, > 2).optional(bothE().dedup()) > ==>e[9][1-created->3] > ==>e[7][1-knows->2] > ==>e[7][1-knows->2] > ==>e[8][1-knows->4] > {code} -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] (TINKERPOP-1619) TinkerGraphComputer worker count affects OptionalStep query results
Ted Wilmes created TINKERPOP-1619: - Summary: TinkerGraphComputer worker count affects OptionalStep query results Key: TINKERPOP-1619 URL: https://issues.apache.org/jira/browse/TINKERPOP-1619 Project: TinkerPop Issue Type: Bug Components: process Affects Versions: 3.3.0 Reporter: Ted Wilmes I found that when I bump the worker count up to 4 on my local box, the dedup nested in the optional appears to not be handled correctly. {code} gremlin> g = TinkerFactory.createModern().traversal() ==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard] gremlin> g.withComputer(Computer.compute().workers(3)).V(1, 2).optional(bothE().dedup()) ==>e[9][1-created->3] ==>e[7][1-knows->2] ==>e[8][1-knows->4] ==>v[2] gremlin> g.withComputer(Computer.compute().workers(4)).V(1, 2).optional(bothE().dedup()) ==>e[9][1-created->3] ==>e[7][1-knows->2] ==>e[7][1-knows->2] ==>e[8][1-knows->4] {code} -- This message was sent by Atlassian JIRA (v6.3.15#6346)