go-ethereum/core/rawdb
Martin Holst Swende 0b53b29078
core/rawdb: fix cornercase shutdown behaviour in freezer (#26485)
This PR does a few things. 
It fixes a shutdown-order flaw in the chainfreezer. Previously, the chain-freezer would shutdown the freezer backend first, and then signal for the loop to exit. This can lead to a scenario where the freezer tries to fsync closed files, which is an error-conditon that could lead to exit via log.Crit. 

It also makes the printout more detailed when truncating 'dangling' items, by showing the exact number instead of approximate MB.

This PR also adds calls to fsync files before closing them, and also makes the `db inspect` command slightly more robust.
2023-01-16 03:57:27 -05:00
..
testdata core/rawdb: avoid unnecessary receipt processing for log filtering (#23147) 2021-09-28 12:54:49 +02:00
accessors_chain.go core: drop legacy receipt types (#26225) 2022-12-03 21:42:11 +01:00
accessors_chain_test.go all: fix some typos (#25551) 2022-08-19 09:00:21 +03:00
accessors_indexes.go core/rawdb: fix logs to print block number, not address (#23328) 2021-08-04 11:10:37 +03:00
accessors_indexes_test.go core/rawdb: single point of maintenance for writing and deleting tx lookup indexes (#21480) 2020-09-15 10:37:01 +02:00
accessors_metadata.go all: cleanup the APIs for initializing genesis (#25473) 2022-08-09 12:44:39 +03:00
accessors_snapshot.go core/rawdb: add specified key length iterator (#24535) 2022-03-15 10:28:26 +02:00
accessors_state.go core/rawdb: add HasCode, HashTrieNode and use them where possible (#24454) 2022-03-09 00:39:34 +01:00
accessors_sync.go all: update license headers and AUTHORS from git history (#24947) 2022-05-24 20:39:40 +02:00
ancient_scheme.go core/rawdb: refactor db inspector for extending multiple ancient store (#25896) 2022-10-28 10:23:49 +02:00
ancient_utils.go core/rawdb: refactor db inspector for extending multiple ancient store (#25896) 2022-10-28 10:23:49 +02:00
chain_freezer.go core/rawdb: fix cornercase shutdown behaviour in freezer (#26485) 2023-01-16 03:57:27 -05:00
chain_iterator.go core/blockchain: downgrade tx indexing and unindexing logs (#25832) 2022-09-21 09:49:17 +02:00
chain_iterator_test.go all: update license headers and AUTHORS from git history (#24947) 2022-05-24 20:39:40 +02:00
database.go core/rawdb: refactor db inspector for extending multiple ancient store (#25896) 2022-10-28 10:23:49 +02:00
database_test.go all: update license headers and AUTHORS from git history (#24947) 2022-05-24 20:39:40 +02:00
freezer.go core/rawdb: fix freezer validation (#26251) 2022-11-25 09:10:31 +01:00
freezer_batch.go core/rawdb: untie freezer and ancient chain data (#24684) 2022-05-06 13:28:42 +02:00
freezer_meta.go all: update license headers and AUTHORS from git history (#24947) 2022-05-24 20:39:40 +02:00
freezer_meta_test.go all: update license headers and AUTHORS from git history (#24947) 2022-05-24 20:39:40 +02:00
freezer_resettable.go core/rawdb: implement resettable freezer (#26324) 2022-12-19 04:59:12 -05:00
freezer_resettable_test.go core/rawdb: implement resettable freezer (#26324) 2022-12-19 04:59:12 -05:00
freezer_table.go core/rawdb: fix cornercase shutdown behaviour in freezer (#26485) 2023-01-16 03:57:27 -05:00
freezer_table_test.go cmd, core, ethdb, node: move chain freezer one folder deeper (#25487) 2022-08-08 12:08:36 +03:00
freezer_test.go core/rawdb: fix cornercase shutdown behaviour in freezer (#26485) 2023-01-16 03:57:27 -05:00
freezer_utils.go all: replace uses of ioutil with io and os (#24869) 2022-05-16 11:59:35 +02:00
freezer_utils_test.go all: more linters (#24783) 2022-06-13 16:24:45 +02:00
key_length_iterator.go core/rawdb: add specified key length iterator (#24535) 2022-03-15 10:28:26 +02:00
key_length_iterator_test.go core/rawdb: add specified key length iterator (#24535) 2022-03-15 10:28:26 +02:00
schema.go core/rawdb: refactor db key prefix (#26000) 2022-10-19 09:53:09 +02:00
table.go core/rawdb: untie freezer and ancient chain data (#24684) 2022-05-06 13:28:42 +02:00
table_test.go all: simplify and fix database iteration with prefix/start (#20808) 2020-04-15 14:08:53 +03:00