goblin freeezes when calling session.flush
goblin freeezes when calling session.flush (looks like an infinity loop)
when Im running this following code:
import goblin # type: ignore
from goblin import Graph, Vertex, element, properties, Goblin, provider # type: ignore
import asyncio
class Example(Vertex):
__label__ = 'ex'
id = properties.Property(properties.String)
async def go_test(event_loop):
goblin_app = await Goblin.open(
event_loop,
hosts=['192.168.36.68'],
port=8182,
provider=goblin.provider.JanusGraph,
)
session = await goblin_app.session()
ex1 = Example()
ex1.id = "ABC"
session.add(ex1)
print(1)
await session.flush()
print(2)
g = Graph().traversal().withRemote(session)
vertices = await g.V().toList()
await goblin_app.close()
return vertices
loop = asyncio.get_event_loop()
results = loop.run_until_complete(go_test(event_loop=loop))
It prints 1 and got stock
This is the error i get after canceling it:
1
^CTraceback (most recent call last):
File "/home/hadar/source/hyperspec/hyperspec/graph/test_session_flush.py", line 35, in <module>
results = loop.run_until_complete(go_test(event_loop=loop))
File "/usr/lib/python3.9/asyncio/base_events.py", line 629, in run_until_complete
self.run_forever()
File "/usr/lib/python3.9/asyncio/base_events.py", line 596, in run_forever
self._run_once()
File "/usr/lib/python3.9/asyncio/base_events.py", line 1854, in _run_once
event_list = self._selector.select(timeout)
File "/usr/lib/python3.9/selectors.py", line 469, in select
fd_event_list = self._selector.poll(timeout, max_ev)
KeyboardInterrupt
Task exception was never retrieved
future: <Task finished name='Task-4' coro=<Connection._receive() done, defined at /home/hadar/.local/lib/python3.9/site-packages/aiogremlin-3.3.5-py3.9.egg/aiogremlin/driver/connection.py:155> exception=AttributeError("'dict' object has no attribute 'decode'")>
Traceback (most recent call last):
File "/home/hadar/.local/lib/python3.9/site-packages/aiogremlin-3.3.5-py3.9.egg/aiogremlin/driver/connection.py", line 158, in _receive
File "/home/hadar/.local/lib/python3.9/site-packages/aiogremlin-3.3.5-py3.9.egg/aiogremlin/driver/protocol.py", line 46, in data_received
File "/home/hadar/.local/lib/python3.9/site-packages/gremlinpython-3.6.0-py3.9.egg/gremlin_python/driver/serializer.py", line 155, in deserialize_message
msg = json.loads(message.decode('utf-8'))
AttributeError: 'dict' object has no attribute 'decode'
Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7f26344c0220>
Task was destroyed but it is pending!
task: <Task pending name='Task-5' coro=<Connection._terminate_response() running at /home/hadar/.local/lib/python3.9/site-packages/aiogremlin-3.3.5-py3.9.egg/aiogremlin/driver/connection.py:151> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x7f26344b2b80>()]>>
Task was destroyed but it is pending!
task: <Task pending name='Task-6' coro=<PooledConnection.release_task() running at /home/hadar/.local/lib/python3.9/site-packages/aiogremlin-3.3.5-py3.9.egg/aiogremlin/driver/pool.py:55> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x7f26344b2d60>()]>>