GitHub user newkek opened a pull request:
https://github.com/apache/tinkerpop/pull/390
GraphSON 2.0 Deser tweaks and improvements
There's 2 commits:
- the first brings a massive improvement to the GraphSON 2.0
deserialization, avoiding a lot of useless copies done on the JSON parser when
parsing to detect a type in the payload. There's in almost every case no copy
done anymore, thus reducing the memory impact and improves performances.
- second fixes a bug I had on my machine that was causing a StackOverflow
exception when deserializing a `Tree` from GraphSON2.0. The issue has been
pinned down to understanding that there could be a never-ending recursive
reference when creating a `JavaType` to be indexed in the
GraphSONTypeIdResolver. All detailed in comments in the code but now I have a
special case for when a `Tree` is registered that force a non-cyclic reference
type. It is still unclear to me why this happens to me but not all the time for
@spmallette for example. In any case this fixes it for me and should be fixing
for everybody..
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/newkek/incubator-tinkerpop TINKERPOP-1278-imp
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/tinkerpop/pull/390.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #390
----
commit bbdfc0c5583f58355f91202e0e7870a3cb22e4bd
Author: Kevin Gallardo <[email protected]>
Date: 2016-08-25T09:40:01Z
Improved performance on GraphSON 2.0 deserialization.
commit 13c80cb22c4a847079b0b1c81f20e5958ec1f6b3
Author: Kevin Gallardo <[email protected]>
Date: 2016-08-25T13:08:44Z
Fix an issue with Tree deserialization and the type system.
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---