Page MenuHomePhabricator

Improve Indices on pruned nodes via prune blockers
Needs ReviewPublic

Authored by Fabien on Mon, Dec 23, 10:58.

Event Timeline

Fabien requested review of this revision.Mon, Dec 23, 10:58

Failed tests logs:

====== Bitcoin ABC functional tests: feature_index_prune.py ======

------- Stdout: -------
2024-12-23T11:05:21.850000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-debug/test/tmp/test_runner_₿₵_🏃_20241223_110033/feature_index_prune_292
2024-12-23T11:05:23.098000Z TestFramework (INFO): check if we can access blockfilters and coinstats when pruning is enabled but no blocks are actually pruned
2024-12-23T11:07:19.110000Z TestFramework (INFO): prune some blocks
2024-12-23T11:07:19.154000Z TestFramework (INFO): check if we can access the tips blockfilter and coinstats when we have pruned some blocks
2024-12-23T11:07:19.177000Z TestFramework (INFO): check if we can access the blockfilter and coinstats of a pruned block
2024-12-23T11:08:17.580000Z TestFramework (INFO): make sure trying to access the indices throws errors
2024-12-23T11:08:26.120000Z TestFramework (INFO): prune exactly up to the indices best blocks while the indices are disabled
2024-12-23T11:08:28.881000Z TestFramework (INFO): make sure that we can continue with the partially synced indices after having pruned up to the index height
2024-12-23T11:09:28.920000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        self.wait_until(lambda: self.nodes[1].getindexinfo() == expected_stats)
'''
2024-12-23T11:09:28.920000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 149, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 139, in _run_test_internal
    self.run_test()
  File "/work/test/functional/feature_index_prune.py", line 146, in run_test
    self.sync_index(height=1500)
  File "/work/test/functional/feature_index_prune.py", line 39, in sync_index
    self.wait_until(lambda: self.nodes[1].getindexinfo() == expected_stats)
  File "/work/test/functional/test_framework/test_framework.py", line 849, in wait_until
    return wait_until_helper(
           ^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/util.py", line 296, in wait_until_helper
    raise AssertionError(
AssertionError: Predicate ''''
        self.wait_until(lambda: self.nodes[1].getindexinfo() == expected_stats)
''' not true after 60.0 seconds
2024-12-23T11:09:28.971000Z TestFramework (INFO): Stopping nodes
2024-12-23T11:09:29.125000Z TestFramework (WARNING): Not cleaning up dir /work/abc-ci-builds/build-debug/test/tmp/test_runner_₿₵_🏃_20241223_110033/feature_index_prune_292
2024-12-23T11:09:29.125000Z TestFramework (ERROR): Test failed. Test logging available at /work/abc-ci-builds/build-debug/test/tmp/test_runner_₿₵_🏃_20241223_110033/feature_index_prune_292/test_framework.log
2024-12-23T11:09:29.125000Z TestFramework (ERROR): 
2024-12-23T11:09:29.125000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/abc-ci-builds/build-debug/test/tmp/test_runner_₿₵_🏃_20241223_110033/feature_index_prune_292' to consolidate all logs
2024-12-23T11:09:29.125000Z TestFramework (ERROR): 
2024-12-23T11:09:29.125000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-23T11:09:29.125000Z TestFramework (ERROR): https://github.com/Bitcoin-ABC/bitcoin-abc/issues
2024-12-23T11:09:29.125000Z TestFramework (ERROR):

Each failure log is accessible here:
Bitcoin ABC functional tests: feature_index_prune.py