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_test.go all: fix some typos (#25551) 2022-08-19 09:00:21 +03:00
accessors_chain.go core: drop legacy receipt types (#26225) 2022-12-03 21:42:11 +01: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_indexes.go core/rawdb: fix logs to print block number, not address (#23328) 2021-08-04 11:10:37 +03: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_test.go all: update license headers and AUTHORS from git history (#24947) 2022-05-24 20:39:40 +02:00
chain_iterator.go core/blockchain: downgrade tx indexing and unindexing logs (#25832) 2022-09-21 09:49:17 +02:00
database_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
freezer_batch.go core/rawdb: untie freezer and ancient chain data (#24684) 2022-05-06 13:28:42 +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_meta.go all: update license headers and AUTHORS from git history (#24947) 2022-05-24 20:39:40 +02:00
freezer_resettable_test.go core/rawdb: implement resettable freezer (#26324) 2022-12-19 04:59:12 -05:00
freezer_resettable.go core/rawdb: implement resettable freezer (#26324) 2022-12-19 04:59:12 -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_table.go core/rawdb: fix cornercase shutdown behaviour in freezer (#26485) 2023-01-16 03:57:27 -05:00
freezer_test.go core/rawdb: fix cornercase shutdown behaviour in freezer (#26485) 2023-01-16 03:57:27 -05:00
freezer_utils_test.go all: more linters (#24783) 2022-06-13 16:24:45 +02:00
freezer_utils.go all: replace uses of ioutil with io and os (#24869) 2022-05-16 11:59:35 +02:00
freezer.go core/rawdb: fix freezer validation (#26251) 2022-11-25 09:10:31 +01:00
key_length_iterator_test.go core/rawdb: add specified key length iterator (#24535) 2022-03-15 10:28:26 +02:00
key_length_iterator.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_test.go all: simplify and fix database iteration with prefix/start (#20808) 2020-04-15 14:08:53 +03:00
table.go core/rawdb: untie freezer and ancient chain data (#24684) 2022-05-06 13:28:42 +02:00