e14fd4b96c
* Update log ticker, using time interval rather than ticker count why: Counting and logging ticker occurrences is inherently imprecise. So time intervals are used. * Use separate storage tables for snap sync data * Left boundary proof update why: Was not properly implemented, yet. * Capture pivot in peer worker (aka buddy) tasks why: The pivot environment is linked to the `buddy` descriptor. While there is a task switch, the pivot may change. So it is passed on as function argument `env` rather than retrieved from the buddy at the start of a sub-function. * Split queues `fetchStorage` into `fetchStorageFull` and `fetchStoragePart` * Remove obsolete account range returned from `GetAccountRange` message why: Handler returned the wrong right value of the range. This range was for convenience, only. * Prioritise storage slots if the queue becomes large why: Currently, accounts processing is prioritised up until all accounts are downloaded. The new prioritisation has two thresholds for + start processing storage slots with a new worker + stop account processing and switch to storage processing also: Provide api for `SnapTodoRanges` pair of range sets in `worker_desc.nim` * Generalise left boundary proof for accounts or storage slots. why: Detailed explanation how this works is documented with `snapdb_accounts.importAccounts()`. Instead of enforcing a left boundary proof (which is still the default), the importer functions return a list of `holes` (aka node paths) found in the argument ranges of leaf nodes. This in turn is used by the book keeping software for data download. * Forgot to pass on variable in function wrapper also: + Start healing not before 99% accounts covered (previously 95%) + Logging updated/prettified |
||
---|---|---|
.. | ||
amphora | ||
bootstrap | ||
customgenesis | ||
db | ||
fixtures | ||
graphql | ||
keystore | ||
merge | ||
replay | ||
rpcclient | ||
test_clique | ||
test_jwt_auth | ||
test_sync_snap | ||
test_txpool | ||
README.md | ||
all_tests.nim | ||
asynctest.nim | ||
evm_tests.nim | ||
macro_assembler.nim | ||
nim.cfg | ||
persistBlockTestGen.nim | ||
test_accounts_cache.nim | ||
test_allowed_to_fail.nim | ||
test_block_fixture.nim | ||
test_blockchain_json.nim | ||
test_clique.nim | ||
test_code_stream.nim | ||
test_config.nim | ||
test_configuration.nim | ||
test_custom_network.nim | ||
test_difficulty.nim | ||
test_filters.nim | ||
test_forkid.nim | ||
test_gas_meter.nim | ||
test_generalstate_json.nim | ||
test_genesis.nim | ||
test_graphql.nim | ||
test_helpers.nim | ||
test_jwt_auth.nim | ||
test_keyed_queue_rlp.nim | ||
test_memory.nim | ||
test_merge.nim | ||
test_misc.nim | ||
test_op_arith.nim | ||
test_op_bit.nim | ||
test_op_custom.nim | ||
test_op_env.nim | ||
test_op_memory.nim | ||
test_op_memory_lazy.nim | ||
test_op_misc.nim | ||
test_persistblock_json.nim | ||
test_pow.nim | ||
test_precompiles.nim | ||
test_rpc.nim | ||
test_skeleton.nim | ||
test_stack.nim | ||
test_state_db.nim | ||
test_sync_snap.nim | ||
test_tools_build.nim | ||
test_tracer_json.nim | ||
test_transaction_json.nim | ||
test_txpool.nim | ||
test_txpool2.nim | ||
test_wire_protocol.nim | ||
tracerTestGen.nim |
README.md
tests
TODO: more GeneralStateTest fixtures!