[ 
https://issues.apache.org/jira/browse/TINKERPOP-2910?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zeyang Zhuang updated TINKERPOP-2910:
-------------------------------------
    Description: 
I first randomly create a graph. Then when I run the following query: 
`g.E().outV().bothE('el0','el2','el1','el3').as('a').E().where(_{_}.and({_}_.order().by(desc))).as('b').select('a').where('a',eq('b'))`
 is thrown with an exception. I think this query is syntactically correct, but 
I keep triggering this kind of problem. I generate the query based on the rule 
which can be refered from: 
[https://stackoverflow.com/questions/48067834/gremlin-intersection-operation]. 
Following this instruction, I think it's allowed to generate this kind of 
queries.

*Expected behavior:*
No exception should be expected to throw. Or futher messages or prompts should 
be thrown.

*Actual behavior:*
A `java.util.concurrent.ExecutionException` is thrown. And I'm not really sure 
whether this problem should happen so I report this. I succeed this kind of 
collection transition when replacing `g.E()` with `g.V()`. So I guess there's 
some problems of `g.E()` syntax. I report just in case
```
TinkerGraph exception :
java.util.concurrent.ExecutionException: 
org.apache.tinkerpop.gremlin.driver.exception.ResponseException: No signature 
of method: 
org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal.E()
 is applicable for argument types: () values: []
Possible solutions: is(java.lang.Object), by(groovy.lang.Closure), 
use([Ljava.lang.Object;), use(java.lang.Class, groovy.lang.Closure), 
use(java.util.List, groovy.lang.Closure), any()
```

*Steps to reproduce:*
We create a graph with 10 nodes and 20 edges. We try to make it clear to 
reproduce the bugs, *{*}hope{*}* to not cause much inconvenience to your 
reviewing, but we believe the problem does exist.
Following the following graph data generation query, we can reproduce the bugs:

Create data
```
Vertex:
g.addV('vl1').property('vp4','-68840590').property('vp6','0.28608042').property(T.id,0)
g.addV('vl0').property('vp1','-4526099851750706992').property('vp2',''-68840590'').property('vp6','0.3934142').property(T.id,3)
g.addV('vl2').property('vp0','0.24273485052245758').property('vp3','332458613').property(T.id,7)
g.addV('vl1').property('vp3','-2121243585').property('vp6','0.44513875').property(T.id,10)
g.addV('vl3').property('vp0','0.6844181197636184').property('vp5','-241295905').property('vp4','-2121243585').property(T.id,13)
g.addV('vl1').property('vp3','-241295905').property(T.id,17)
g.addV('vl2').property('vp3','-241295905').property(T.id,19)
g.addV('vl2').property('vp0','0.6844181197636184').property(T.id,21)
g.addV('vl3').property('vp0','0.24273485052245758').property('vp4','-95423865').property(T.id,23)
g.addV('vl3').property('vp0','-2.121243585E9').property('vp5','271468552').property('vp4','-767094029').property(T.id,26)

Edge:
g.V(3).as('3').V(26).as('26').addE('el0').from('3').to('26')
g.V(0).as('0').V(7).as('7').addE('el1').from('0').to('7')
g.V(7).as('7').V(0).as('0').addE('el3').from('7').to('0')
g.V(21).as('21').V(0).as('0').addE('el3').from('21').to('0')
g.V(17).as('17').V(21).as('21').addE('el1').from('17').to('21')
g.V(3).as('3').V(3).as('3').addE('el4').from('3').to('3')
g.V(3).as('3').V(0).as('0').addE('el2').from('3').to('0')
g.V(7).as('7').V(10).as('10').addE('el3').from('7').to('10')
g.V(3).as('3').V(23).as('23').addE('el0').from('3').to('23')
g.V(3).as('3').V(13).as('13').addE('el0').from('3').to('13')
g.V(3).as('3').V(10).as('10').addE('el2').from('3').to('10')
g.V(21).as('21').V(10).as('10').addE('el3').from('21').to('10')
g.V(3).as('3').V(17).as('17').addE('el2').from('3').to('17')
g.V(19).as('19').V(10).as('10').addE('el3').from('19').to('10')
g.V(0).as('0').V(21).as('21').addE('el1').from('0').to('21')
g.V(7).as('7').V(17).as('17').addE('el3').from('7').to('17')
g.V(19).as('19').V(17).as('17').addE('el3').from('19').to('17')
g.V(10).as('10').V(21).as('21').addE('el1').from('10').to('21')
g.V(0).as('0').V(19).as('19').addE('el1').from('0').to('19')
g.V(21).as('21').V(17).as('17').addE('el3').from('21').to('17')
```

  was:
I first randomly create a graph. Then when I run the following query: 
`g.E().outV().bothE('el0','el2','el1','el3').as('a').E().where(__.and(__.order().by(desc))).as('b').select('a').where('a',eq('b'))`
 is thrown with an exception. I think this query is syntactically correct, but 
I keep triggering this kind of problem. I generate the query based on the rule 
which can be refered from: 
https://stackoverflow.com/questions/48067834/gremlin-intersection-operation. 
Following this instruction, I think it's allowed to generate this kind of 
queries.

*Expected behavior:*
No exception should be expected to throw. Or futher messages or prompts should 
be thrown.

*Actual behavior:*
A `java.util.concurrent.ExecutionException` is thrown. And I'm not really sure 
whether this problem should happen so I report this. I succeed this kind of 
collection transition when replacing `g.E()` with `g.V()`. So I guess there's 
some problems of `g.E()` syntax. I report just in case
```
TinkerGraph exception :
java.util.concurrent.ExecutionException: 
org.apache.tinkerpop.gremlin.driver.exception.ResponseException: No signature 
of method: 
org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal.E()
 is applicable for argument types: () values: []
Possible solutions: is(java.lang.Object), by(groovy.lang.Closure), 
use([Ljava.lang.Object;), use(java.lang.Class, groovy.lang.Closure), 
use(java.util.List, groovy.lang.Closure), any()
```

*Steps to reproduce:*
We create a graph with 10 nodes and 20 edges. We try to make it clear to 
reproduce the bugs, **hope** to not cause much inconvenience to your reviewing, 
but we believe the problem does exist.
Following the following graph data generation query, we can reproduce the bugs:
- Create data
```
Vertex:
g.addV('vl1').property('vp4','-68840590').property('vp6','0.28608042').property(T.id,0)
g.addV('vl0').property('vp1','-4526099851750706992').property('vp2',''-68840590'').property('vp6','0.3934142').property(T.id,3)
g.addV('vl2').property('vp0','0.24273485052245758').property('vp3','332458613').property(T.id,7)
g.addV('vl1').property('vp3','-2121243585').property('vp6','0.44513875').property(T.id,10)
g.addV('vl3').property('vp0','0.6844181197636184').property('vp5','-241295905').property('vp4','-2121243585').property(T.id,13)
g.addV('vl1').property('vp3','-241295905').property(T.id,17)
g.addV('vl2').property('vp3','-241295905').property(T.id,19)
g.addV('vl2').property('vp0','0.6844181197636184').property(T.id,21)
g.addV('vl3').property('vp0','0.24273485052245758').property('vp4','-95423865').property(T.id,23)
g.addV('vl3').property('vp0','-2.121243585E9').property('vp5','271468552').property('vp4','-767094029').property(T.id,26)

Edge:
g.V(3).as('3').V(26).as('26').addE('el0').from('3').to('26')
g.V(0).as('0').V(7).as('7').addE('el1').from('0').to('7')
g.V(7).as('7').V(0).as('0').addE('el3').from('7').to('0')
g.V(21).as('21').V(0).as('0').addE('el3').from('21').to('0')
g.V(17).as('17').V(21).as('21').addE('el1').from('17').to('21')
g.V(3).as('3').V(3).as('3').addE('el4').from('3').to('3')
g.V(3).as('3').V(0).as('0').addE('el2').from('3').to('0')
g.V(7).as('7').V(10).as('10').addE('el3').from('7').to('10')
g.V(3).as('3').V(23).as('23').addE('el0').from('3').to('23')
g.V(3).as('3').V(13).as('13').addE('el0').from('3').to('13')
g.V(3).as('3').V(10).as('10').addE('el2').from('3').to('10')
g.V(21).as('21').V(10).as('10').addE('el3').from('21').to('10')
g.V(3).as('3').V(17).as('17').addE('el2').from('3').to('17')
g.V(19).as('19').V(10).as('10').addE('el3').from('19').to('10')
g.V(0).as('0').V(21).as('21').addE('el1').from('0').to('21')
g.V(7).as('7').V(17).as('17').addE('el3').from('7').to('17')
g.V(19).as('19').V(17).as('17').addE('el3').from('19').to('17')
g.V(10).as('10').V(21).as('21').addE('el1').from('10').to('21')
g.V(0).as('0').V(19).as('19').addE('el1').from('0').to('19')
g.V(21).as('21').V(17).as('17').addE('el3').from('21').to('17')
```


> Throw ExecutionException for E() syntax
> ---------------------------------------
>
>                 Key: TINKERPOP-2910
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2910
>             Project: TinkerPop
>          Issue Type: Bug
>          Components: driver, server
>    Affects Versions: 3.6.2
>         Environment: - TinkerGraph Version: 3.6.2
> - Operating system: macOS 13.2.1
> - API/Driver: Java
>            Reporter: Zeyang Zhuang
>            Priority: Major
>
> I first randomly create a graph. Then when I run the following query: 
> `g.E().outV().bothE('el0','el2','el1','el3').as('a').E().where(_{_}.and({_}_.order().by(desc))).as('b').select('a').where('a',eq('b'))`
>  is thrown with an exception. I think this query is syntactically correct, 
> but I keep triggering this kind of problem. I generate the query based on the 
> rule which can be refered from: 
> [https://stackoverflow.com/questions/48067834/gremlin-intersection-operation].
>  Following this instruction, I think it's allowed to generate this kind of 
> queries.
> *Expected behavior:*
> No exception should be expected to throw. Or futher messages or prompts 
> should be thrown.
> *Actual behavior:*
> A `java.util.concurrent.ExecutionException` is thrown. And I'm not really 
> sure whether this problem should happen so I report this. I succeed this kind 
> of collection transition when replacing `g.E()` with `g.V()`. So I guess 
> there's some problems of `g.E()` syntax. I report just in case
> ```
> TinkerGraph exception :
> java.util.concurrent.ExecutionException: 
> org.apache.tinkerpop.gremlin.driver.exception.ResponseException: No signature 
> of method: 
> org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal.E()
>  is applicable for argument types: () values: []
> Possible solutions: is(java.lang.Object), by(groovy.lang.Closure), 
> use([Ljava.lang.Object;), use(java.lang.Class, groovy.lang.Closure), 
> use(java.util.List, groovy.lang.Closure), any()
> ```
> *Steps to reproduce:*
> We create a graph with 10 nodes and 20 edges. We try to make it clear to 
> reproduce the bugs, *{*}hope{*}* to not cause much inconvenience to your 
> reviewing, but we believe the problem does exist.
> Following the following graph data generation query, we can reproduce the 
> bugs:
> Create data
> ```
> Vertex:
> g.addV('vl1').property('vp4','-68840590').property('vp6','0.28608042').property(T.id,0)
> g.addV('vl0').property('vp1','-4526099851750706992').property('vp2',''-68840590'').property('vp6','0.3934142').property(T.id,3)
> g.addV('vl2').property('vp0','0.24273485052245758').property('vp3','332458613').property(T.id,7)
> g.addV('vl1').property('vp3','-2121243585').property('vp6','0.44513875').property(T.id,10)
> g.addV('vl3').property('vp0','0.6844181197636184').property('vp5','-241295905').property('vp4','-2121243585').property(T.id,13)
> g.addV('vl1').property('vp3','-241295905').property(T.id,17)
> g.addV('vl2').property('vp3','-241295905').property(T.id,19)
> g.addV('vl2').property('vp0','0.6844181197636184').property(T.id,21)
> g.addV('vl3').property('vp0','0.24273485052245758').property('vp4','-95423865').property(T.id,23)
> g.addV('vl3').property('vp0','-2.121243585E9').property('vp5','271468552').property('vp4','-767094029').property(T.id,26)
> Edge:
> g.V(3).as('3').V(26).as('26').addE('el0').from('3').to('26')
> g.V(0).as('0').V(7).as('7').addE('el1').from('0').to('7')
> g.V(7).as('7').V(0).as('0').addE('el3').from('7').to('0')
> g.V(21).as('21').V(0).as('0').addE('el3').from('21').to('0')
> g.V(17).as('17').V(21).as('21').addE('el1').from('17').to('21')
> g.V(3).as('3').V(3).as('3').addE('el4').from('3').to('3')
> g.V(3).as('3').V(0).as('0').addE('el2').from('3').to('0')
> g.V(7).as('7').V(10).as('10').addE('el3').from('7').to('10')
> g.V(3).as('3').V(23).as('23').addE('el0').from('3').to('23')
> g.V(3).as('3').V(13).as('13').addE('el0').from('3').to('13')
> g.V(3).as('3').V(10).as('10').addE('el2').from('3').to('10')
> g.V(21).as('21').V(10).as('10').addE('el3').from('21').to('10')
> g.V(3).as('3').V(17).as('17').addE('el2').from('3').to('17')
> g.V(19).as('19').V(10).as('10').addE('el3').from('19').to('10')
> g.V(0).as('0').V(21).as('21').addE('el1').from('0').to('21')
> g.V(7).as('7').V(17).as('17').addE('el3').from('7').to('17')
> g.V(19).as('19').V(17).as('17').addE('el3').from('19').to('17')
> g.V(10).as('10').V(21).as('21').addE('el1').from('10').to('21')
> g.V(0).as('0').V(19).as('19').addE('el1').from('0').to('19')
> g.V(21).as('21').V(17).as('17').addE('el3').from('21').to('17')
> ```



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to