Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Traversals reference vertices after deletion #196

Closed
SmedbergM opened this issue Apr 10, 2017 · 3 comments
Closed

Traversals reference vertices after deletion #196

SmedbergM opened this issue Apr 10, 2017 · 3 comments

Comments

@SmedbergM
Copy link

In a multiprocessor environment, a traversal will sometimes reference vertices which another thread/processor has already deleted. This causes the entire traversal to fail in an unrecoverable fashion and throw an uncaught exception.

MWE here. Gist of the output log of one run here.

To be entirely honest, I'm very doubtful that this is a gremlin-scala issue. It seems much more likely that the responsibility lies somewhere in the Java implementation (either in org.neo4j.??? or one of the Apache/Tinkerpop impls). I'd welcome a PR from anyone to my MWE project which peels off the gremlin-scala layer while preserving the observed error.

@mpollmeier
Copy link
Owner

agreed, I doubt that it's a gremlin-scala issue :)

@SmedbergM
Copy link
Author

SmedbergM commented May 15, 2017

Can close: 46ddfdd6 removes the dependency on gremlin-scala.

NB: In the course of this, I discovered that Transaction is not thread-safe (in fact it's implemented with Apache's ThreadLocal class). That wasn't the underlying cause of the bug, but it's still worth putting into the documentation somewhere I think.

@mpollmeier
Copy link
Owner

thank you, will factor that in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants