cartography
cartography copied to clipboard
Transient crash in import_tgw cleanup job
Description:
What issue is being seen? Describe what should be happening instead of the bug, for example: Cartography should not crash, the expected value isn't returned, the data schema is wrong, etc.
Transient crashes happen when tgw sync is run on a busy enough database instance
To Reproduce:
Steps to reproduce the behavior. Provide all data and inputs required to reproduce the issue.
Run cartography tgw sync on a busy enough database instance
Logs:
If applicable, copy and paste your console log with the failing stack trace.
Traceback (most recent call last):
File \"PATH/cartography/intel/aws/__init__.py\", line 169, in _sync_multiple_accounts
_sync_one_account(
File \"PATH/cartography/intel/aws/__init__.py\", line 64, in _sync_one_account
RESOURCE_FUNCTIONS[func_name](**sync_args)
File \"PATH/cartography/intel/aws/ec2/tgw.py\", line 259, in sync_transit_gateways
cleanup_transit_gateways(neo4j_session, common_job_parameters)
File \"PATH/cartography/util.py\", line 192, in timed
result = method(*args, **kwargs)
File \"PATH/cartography/intel/aws/ec2/tgw.py\", line 237, in cleanup_transit_gateways
run_cleanup_job('aws_import_tgw_cleanup.json', neo4j_session, common_job_parameters)
File \"PATH/cartography/util.py\", line 125, in run_cleanup_job
GraphJob.run_from_json(
File \"PATH/cartography/graph/job.py\", line 187, in run_from_json
job.run(neo4j_session)
File \"PATH/cartography/graph/job.py\", line 95, in run
stm.run(neo4j_session)
File \"PATH/cartography/graph/statement.py\", line 74, in run
self._run_iterative(session)
File \"PATH/cartography/graph/statement.py\", line 121, in _run_iterative
result: neo4j.Result = session.write_transaction(self._run_noniterative)
File \"PATH/neo4j/work/simple.py\", line 443, in write_transaction
return self._run_transaction(WRITE_ACCESS, transaction_function, *args, **kwargs)
File \"PATH/neo4j/work/simple.py\", line 363, in _run_transaction
raise errors[-1]
File \"PATH/neo4j/work/simple.py\", line 336, in _run_transaction
result = transaction_function(tx, *args, **kwargs)
File \"PATH/cartography/graph/statement.py\", line 94, in _run_noniterative
result: neo4j.Result = tx.run(self.query, self.parameters)
File \"PATH/neo4j/work/transaction.py\", line 143, in run
result._tx_ready_run(query, parameters)
File \"PATH/neo4j/work/result.py\", line 70, in _tx_ready_run
self._run(query, parameters, None, None, None, None)
File \"PATH/neo4j/work/result.py\", line 115, in _run
self._attach()
File \"PATH/neo4j/work/result.py\", line 204, in _attach
self._connection.fetch_message()
File \"PATH/neo4j/io/_common.py\", line 187, in inner
func(*args, **kwargs)
File \"PATH/neo4j/io/_bolt4.py\", line 314, in fetch_message
response.on_failure(summary_metadata or {})
File \"PATH/neo4j/io/_common.py\", line 245, in on_failure
raise Neo4jError.hydrate(**metadata)
neo4j.exceptions.TransientError: {code: Neo.TransientError.Transaction.BookmarkTimeout} {message: Database 'database' not up to the requested version: 1065861873. Latest database version is 1065861872}
Please complete the following information::
- Cartography release version or commit hash [e.g. 0.12.0 or 95e8e11913e2a44a4d4682506d8364a638ceac69] 0.92.0