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.
---

Reply via email to