Wenzel / oswatcher

A framework to track the evolution of Operating Systems over time
GNU General Public License v3.0
58 stars 7 forks source link

py2neo: InvalidTransaction on Neo4j 4.1 #113

Open Wenzel opened 4 years ago

Wenzel commented 4 years ago

py2neo 4.3.0 isn't compatible with the latest Neo4j DB.

when using Neo4j 4.1, it throws InvalidTransaction errors:

2020-05-08 04:08:16,398 ERROR:hooks.filesystem.Neo4jFilesystemHook:Invalid transaction
Traceback (most recent call last):
  File "/home/wenzel/Projets/oswatcher/venv/lib/python3.7/site-packages/see/observer.py", line 142, in synchronous
    function(event)
  File "/home/wenzel/Projets/oswatcher/hooks/filesystem.py", line 457, in process_end_inode
    self.tx.create(g_inode)
  File "/home/wenzel/Projets/oswatcher/venv/lib/python3.7/site-packages/py2neo/database.py", line 906, in create
    create(self)
  File "/home/wenzel/Projets/oswatcher/venv/lib/python3.7/site-packages/py2neo/ogm.py", line 419, in __db_create__
    self.__db_merge__(tx)
  File "/home/wenzel/Projets/oswatcher/venv/lib/python3.7/site-packages/py2neo/ogm.py", line 440, in __db_merge__
    tx.create(node)
  File "/home/wenzel/Projets/oswatcher/venv/lib/python3.7/site-packages/py2neo/database.py", line 906, in create
    create(self)
  File "/home/wenzel/Projets/oswatcher/venv/lib/python3.7/site-packages/py2neo/data.py", line 609, in __db_create__
    create_subgraph(tx, self)
  File "/home/wenzel/Projets/oswatcher/venv/lib/python3.7/site-packages/py2neo/internal/operations.py", line 136, in create_subgraph
    for i, identity in enumerate(identities):
  File "/home/wenzel/Projets/oswatcher/venv/lib/python3.7/site-packages/py2neo/internal/operations.py", line 87, in _create_nodes
    for record in tx.run(cypher, x=data):
  File "/home/wenzel/Projets/oswatcher/venv/lib/python3.7/site-packages/py2neo/database.py", line 828, in run
    entities=entities))
  File "/home/wenzel/Projets/oswatcher/venv/lib/python3.7/site-packages/py2neo/internal/connectors.py", line 294, in run
    return self._run_in_tx(statement, parameters, tx, graph, keys, entities)
  File "/home/wenzel/Projets/oswatcher/venv/lib/python3.7/site-packages/py2neo/internal/connectors.py", line 259, in _run_in_tx
    self._assert_valid_tx(tx)
  File "/home/wenzel/Projets/oswatcher/venv/lib/python3.7/site-packages/py2neo/internal/connectors.py", line 196, in _assert_valid_tx
    raise TransactionError("Invalid transaction")
py2neo.database.TransactionError: Invalid transaction

Keeping Neo4j 3.4 for now