[
https://issues.apache.org/jira/browse/TINKERPOP-1582?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15727109#comment-15727109
]
Branden Moore commented on TINKERPOP-1582:
------------------------------------------
Hi Stephen,
When I use Wireshark to sniff the loopback, here's the websocket request that
comes through for {{g.V().hasLabel("Person").has("name", "foo")}}
{code}
!application/vnd.gremlin-v2.0+json{"processor":"traversal","requestId":{"@type":"g:UUID",
"@value":"6e8d0f13-d311-48c8-8f32-8b68ca917ab5"},"args":{"gremlin":"{\"@type\":\"g:Bytecode\",\"@value\":{\"step\":[[\"V\"],[\"hasLabel\",\"Person\"],[\"has\",\"name\",\"foo\"]]}}","aliases":{"g":"g"}},"op":"bytecode"}
{code}
When this comes in to {TraversalOpProcessors}, the '{bytecodeObj}' is a java
String, and thus the static mapper gets used.
Perhaps something has changed with gremlin-python since 3.2.3 was released, and
it no longer sends the "gremlin" argument as a string? I'm definitely seeing
it as a string.
> TraversalOpProcessor does not support custom serializers
> --------------------------------------------------------
>
> Key: TINKERPOP-1582
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1582
> Project: TinkerPop
> Issue Type: Improvement
> Components: server
> Affects Versions: 3.2.3
> Reporter: Branden Moore
>
> The TraversalOpProcessor has its own ObjectMapper static instance, which
> cannot be configured via the gremlin-server's YAML file. Within the YAML
> file, a user can configure serializers with custom IORegistries, to support
> serialization of custom types. However, the TraversalOpProcessor creates
> its own ObjectMapper, for bytecode deserialization, which does not read
> configuration information from from the YAML file.
> This prevents deserialization of custom bytecode, such as references to a
> custom Predicate class.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)