[
https://issues.apache.org/jira/browse/TINKERPOP-1380?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Kuppitz updated TINKERPOP-1380:
--------------------------------------
Description:
I stumbled across this issue when I tried to solve a problem on the mailing
list. It seems like a lot of steps need to be involved in order to make it
reproducible.
{code}
gremlin> :set max-iteration 10
gremlin>
gremlin> g = TinkerFactory.createModern().traversal().withComputer()
==>graphtraversalsource[tinkergraph[vertices:6 edges:6], graphcomputer]
gremlin>
g.V().repeat(both()).until(cyclicPath()).path().aggregate("x").cap("x").unfold().dedup()
==>[v[1], v[2], v[1]]
==>[v[1], v[2], v[1]]
==>[v[1], v[3], v[1]]
==>[v[1], v[3], v[1]]
==>[v[1], v[4], v[1]]
==>[v[1], v[4], v[1]]
==>[v[2], v[1], v[2]]
==>[v[2], v[1], v[2]]
==>[v[3], v[1], v[3]]
==>[v[3], v[1], v[3]]
...
{code}
I can't reproduce it w/o using {{repeat()}}, {{aggregate()}} or {{cap()}}. It
is reproducible without {{path()}} though. And then it even gets a little
worse; check this out:
{code}
gremlin>
g.V().repeat(both()).until(cyclicPath()).aggregate("x").cap("x").unfold().dedup()
==>v[1]
==>v[1]
==>v[2]
==>v[2]
==>v[3]
==>v[3]
==>v[4]
==>v[4]
==>v[5]
==>v[5]
...
gremlin>
g.V().repeat(both()).until(cyclicPath()).aggregate("x").cap("x").unfold().dedup().dedup()
java.lang.RuntimeException: java.lang.IllegalStateException:
java.lang.IllegalArgumentException: The memory can only be set() during vertex
program setup and terminate: x
Display stack trace? [yN]
{code}
The exception occurs only in OLAP mode, but also for more meaningful patterns
({{.dedup().dedup()}} really doesn't make much sense)
was:
I stumbled across this issue when I tried to solve a problem on the mailing
list. It seems like a lot of steps need to be involved in order to make it
reproducible.
{code}
gremlin> :set max-iteration 10
gremlin>
gremlin> g = TinkerFactory.createModern().traversal().withComputer()
==>graphtraversalsource[tinkergraph[vertices:6 edges:6], graphcomputer]
gremlin>
g.V().repeat(both()).until(cyclicPath()).path().aggregate("x").cap("x").unfold().dedup()
==>[v[1], v[2], v[1]]
==>[v[1], v[2], v[1]]
==>[v[1], v[3], v[1]]
==>[v[1], v[3], v[1]]
==>[v[1], v[4], v[1]]
==>[v[1], v[4], v[1]]
==>[v[2], v[1], v[2]]
==>[v[2], v[1], v[2]]
==>[v[3], v[1], v[3]]
==>[v[3], v[1], v[3]]
...
{code}
I can't reproduce it w/o using {{repeat()}}, {{aggregate()}} or {{cap()}}. It
is reproducible without {{path()}} though. And then it even gets a little
worse; check this out:
{code}
gremlin>
g.V().repeat(both()).until(cyclicPath()).aggregate("x").cap("x").unfold().dedup()
==>v[1]
==>v[1]
==>v[2]
==>v[2]
==>v[3]
==>v[3]
==>v[4]
==>v[4]
==>v[5]
==>v[5]
...
gremlin>
g.V().repeat(both()).until(cyclicPath()).aggregate("x").cap("x").unfold().dedup().dedup()
java.lang.RuntimeException: java.lang.IllegalStateException:
java.lang.IllegalArgumentException: The memory can only be set() during vertex
program setup and terminate: x
Display stack trace? [yN]
{code}
> dedup() doesn't dedup in rare cases
> -----------------------------------
>
> Key: TINKERPOP-1380
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1380
> Project: TinkerPop
> Issue Type: Bug
> Components: process
> Affects Versions: 3.2.1
> Reporter: Daniel Kuppitz
>
> I stumbled across this issue when I tried to solve a problem on the mailing
> list. It seems like a lot of steps need to be involved in order to make it
> reproducible.
> {code}
> gremlin> :set max-iteration 10
> gremlin>
> gremlin> g = TinkerFactory.createModern().traversal().withComputer()
> ==>graphtraversalsource[tinkergraph[vertices:6 edges:6], graphcomputer]
> gremlin>
> g.V().repeat(both()).until(cyclicPath()).path().aggregate("x").cap("x").unfold().dedup()
> ==>[v[1], v[2], v[1]]
> ==>[v[1], v[2], v[1]]
> ==>[v[1], v[3], v[1]]
> ==>[v[1], v[3], v[1]]
> ==>[v[1], v[4], v[1]]
> ==>[v[1], v[4], v[1]]
> ==>[v[2], v[1], v[2]]
> ==>[v[2], v[1], v[2]]
> ==>[v[3], v[1], v[3]]
> ==>[v[3], v[1], v[3]]
> ...
> {code}
> I can't reproduce it w/o using {{repeat()}}, {{aggregate()}} or {{cap()}}. It
> is reproducible without {{path()}} though. And then it even gets a little
> worse; check this out:
> {code}
> gremlin>
> g.V().repeat(both()).until(cyclicPath()).aggregate("x").cap("x").unfold().dedup()
> ==>v[1]
> ==>v[1]
> ==>v[2]
> ==>v[2]
> ==>v[3]
> ==>v[3]
> ==>v[4]
> ==>v[4]
> ==>v[5]
> ==>v[5]
> ...
> gremlin>
> g.V().repeat(both()).until(cyclicPath()).aggregate("x").cap("x").unfold().dedup().dedup()
> java.lang.RuntimeException: java.lang.IllegalStateException:
> java.lang.IllegalArgumentException: The memory can only be set() during
> vertex program setup and terminate: x
> Display stack trace? [yN]
> {code}
> The exception occurs only in OLAP mode, but also for more meaningful patterns
> ({{.dedup().dedup()}} really doesn't make much sense)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)