cartography icon indicating copy to clipboard operation
cartography copied to clipboard

Transient crash in import_tgw cleanup job

Open achantavy opened this issue 1 year ago • 0 comments

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

achantavy avatar Jul 09 '24 22:07 achantavy