Taylor Riggan created TINKERPOP-1881:
----------------------------------------

             Summary: Gremlin-Python: id object does not appear to be 
serializable
                 Key: TINKERPOP-1881
                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1881
             Project: TinkerPop
          Issue Type: Bug
          Components: python
    Affects Versions: 3.3.1
            Reporter: Taylor Riggan


When attempting to add vertices and edges with custom IDs using the following 
traversal, Python returns an error stating that the returned object from the id 
built-in function is not serializable.

Example traversal:
{code:java}
g.addV().property(id,"custom45").iterate()
{code}
Error / Stack trace:
{code:java}
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File 
"/usr/local/lib/python3.6/site-packages/gremlin_python/process/traversal.py", 
line 57, in iterate
    try: self.nextTraverser()
  File 
"/usr/local/lib/python3.6/site-packages/gremlin_python/process/traversal.py", 
line 61, in nextTraverser
    self.traversal_strategies.apply_strategies(self)
  File 
"/usr/local/lib/python3.6/site-packages/gremlin_python/process/traversal.py", 
line 352, in apply_strategies
    traversal_strategy.apply(traversal)
  File 
"/usr/local/lib/python3.6/site-packages/gremlin_python/driver/remote_connection.py",
 line 143, in apply
    remote_traversal = self.remote_connection.submit(traversal.bytecode)
  File 
"/usr/local/lib/python3.6/site-packages/gremlin_python/driver/driver_remote_connection.py",
 line 53, in submit
    result_set = self._client.submit(bytecode)
  File 
"/usr/local/lib/python3.6/site-packages/gremlin_python/driver/client.py", line 
104, in submit
    return self.submitAsync(message, bindings=bindings).result()
  File "/usr/lib64/python3.6/concurrent/futures/_base.py", line 405, in result
    return self.__get_result()
  File "/usr/lib64/python3.6/concurrent/futures/_base.py", line 357, in 
__get_result
    raise self._exception
  File 
"/usr/local/lib/python3.6/site-packages/gremlin_python/driver/connection.py", 
line 63, in cb
    f.result()
  File "/usr/lib64/python3.6/concurrent/futures/_base.py", line 398, in result
    return self.__get_result()
  File "/usr/lib64/python3.6/concurrent/futures/_base.py", line 357, in 
__get_result
    raise self._exception
  File "/usr/lib64/python3.6/concurrent/futures/thread.py", line 55, in run
    result = self.fn(*self.args, **self.kwargs)
  File 
"/usr/local/lib/python3.6/site-packages/gremlin_python/driver/protocol.py", 
line 65, in write
    request_id, request_message)
  File 
"/usr/local/lib/python3.6/site-packages/gremlin_python/driver/serializer.py", 
line 128, in serialize_message
    message = self.build_message(request_id, processor, op, args)
  File 
"/usr/local/lib/python3.6/site-packages/gremlin_python/driver/serializer.py", 
line 138, in build_message
    return self.finalize_message(message, b"\x21", self.version)
  File 
"/usr/local/lib/python3.6/site-packages/gremlin_python/driver/serializer.py", 
line 141, in finalize_message
    message = json.dumps(message)
  File "/usr/lib64/python3.6/json/__init__.py", line 231, in dumps
    return _default_encoder.encode(obj)
  File "/usr/lib64/python3.6/json/encoder.py", line 199, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/lib64/python3.6/json/encoder.py", line 257, in iterencode
    return _iterencode(o, 0)
  File "/usr/lib64/python3.6/json/encoder.py", line 180, in default
    o.__class__.__name__)
TypeError: Object of type 'builtin_function_or_method' is not JSON serializable
{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to