[ 
https://issues.apache.org/jira/browse/TINKERPOP-1582?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15727109#comment-15727109
 ] 

Branden Moore edited comment on TINKERPOP-1582 at 12/6/16 11:45 PM:
--------------------------------------------------------------------

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.


was (Author: bjmoor):
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)

Reply via email to