You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by Yang Xia <xi...@gmail.com> on 2024/09/05 05:25:54 UTC
[DISCUSS] GraphBinary serialization updates for reference element properties in 3.7.3
Hi all,
As part of the resolution for the GraphBinary compatibility issue raised in
https://issues.apache.org/jira/browse/TINKERPOP-3105, we are fixing the
behavior of GraphBinary serializers when ReferenceElementStrategy is
applied. The changes in this PR (
https://github.com/apache/tinkerpop/pull/2742) will make Gremlin Server
serialize properties as null in GraphBinary from 3.7.3 onwards instead of
an empty list, to follow documented spec and for compatibility with older
drivers. However, to maintain previous behavior at the results level for
3.7.x, the non-Java GLVs will deserialize the null properties into an empty
list. One caveat does remain if anyone uses 3.7.0 to 3.7.2 drivers with
3.7.3 server, as they will deserialize the null properties as is, for
which, if undesired, the recommended path would be to upgrade to a 3.7.3
driver.
This should minimize impact to users, and we are planning to unify the
serializer implementation and behavior in TinkerPop 4. Also note that this
issue is observed in GraphBinary only and does not affect GraphSON
serializers.
If there are any thoughts or concerns regarding this approach, please let
me know. Thanks!
Cheers,
Yang