[ https://issues.apache.org/jira/browse/TINKERPOP-1582?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15726844#comment-15726844 ]
Branden Moore commented on TINKERPOP-1582: ------------------------------------------ We have some extensions to Gremlin, in terms of new steps and predicates. My attempts to use python-gremlin have led to significant challenges so far. We've developed a mechanism to allow our new steps to be encoded in the bytecode easily enough. Our predicates need to get encoded into the bytecode in some form as well. My current approach has been to have them encode identically to the P object, but with a 'type' of g:MyP, rather than 'g:P'. I can register an IORegistry with the serializers in the yaml file, and I can see (with the debugger) them being registered. The TypeResolver ends up with an entry for g:MyP. However, the deserialization changes at some point (when the bytecode is being deserialized), and the top-level defined deserializers appear to no longer be in use; before we get to deserializing the g:MyP object, the TypeResolver in play does not have entries for the g:MyP type, so errors are thrown. I may well be off in my assessment that it is the static ObjectMapper that is being used at that time, but it is definitely not the deserializers specified and configured in the YAML. > 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)