https://issues.apache.org/jira/browse/TINKERPOP-2126

This PR replaces the `LinkedHashMap` used by `TraverserSet` with a 
`SynchronizedMap`. I haven't added a test case, cause I really don't know how 
to consistently provoke a `ConcurrentModificationException`; however, a 
`ConcurrentModificationException` did happen several times in a provider 
implementation and it was caused by the `TraverserSet::toString()` method while 
Spark was a) processing a query and b) concurrently logging the current state. 
The way `TraverserSet::toString()` is implemented, it totally makes sense that 
this scenario would sooner or later hit a `ConcurrentModificationException` if 
we don't use a synchronized map.

`docker/build.sh -t -i` passed.

VOTE +1

[ Full content available at: https://github.com/apache/tinkerpop/pull/1035 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to