[
https://issues.apache.org/jira/browse/TINKERPOP-3105?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17876375#comment-17876375
]
ASF GitHub Bot commented on TINKERPOP-3105:
-------------------------------------------
xiazcy opened a new pull request, #2742:
URL: https://github.com/apache/tinkerpop/pull/2742
Currently, when skipping properties either via `tokens` or
`ReferenceElementStrategy` with `GraphBinaryV1`, properties on element will
return the default empty list, however drivers of older versions are expecting
`null` properties for Reference Elements, as such serialization errors can
occur in GLVs that does strict checking (i.e. `python` and `go`).
This PR updated the check to ReferenceVertex/Edge as `value.properties() ==
null` won't be reached, and will write `null` for properties of Reference
Elements in the GraphBinary serializer.
Also updated docs to make it more clear.
> Running 3.6.x python-driver with 3.7.x server leads to deserialization errors
> -----------------------------------------------------------------------------
>
> Key: TINKERPOP-3105
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3105
> Project: TinkerPop
> Issue Type: Bug
> Components: io, python, server
> Affects Versions: 3.7.2
> Reporter: Yang Xia
> Priority: Blocker
>
> Running 3.6.x {{gremlin-python}} with 3.7.x {{gremlin-server}} leads to
> serialization errors:
> {code:java}
> return self.deserializers[DataType(bt)].objectify(buff, self, nullable)
> KeyError: <DataType.custom: 0>{code}
> with or without using {{ReferenceElementStrategy}} set on the server,
> possibly due to a bug in how properties are being serialized and returned
> from Java that is not inline with the specification.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)