go-ethereum/core
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
..
asm all: change format 0x%x to %#x (#25221) 2022-07-04 11:03:32 +03:00
beacon build: upgrade to go 1.19 (#25726) 2022-09-10 13:25:40 +02:00
bloombits all: fix spelling mistakes (#25961) 2022-10-11 09:37:00 +02:00
forkid eth, les: polish forkid a bit, fix races and transition validation 2023-01-06 15:29:57 +02:00
rawdb core/rawdb: fix cornercase shutdown behaviour in freezer (#26485) 2023-01-16 03:57:27 -05:00
state core/state: remove notion of fake storage (#24916) 2023-01-10 08:24:30 -05:00
txpool core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
types all: assign zero after resize in implementations of heap.Interface (#26296) 2022-12-05 13:49:54 +01:00
vm core/vm: enable EIP-3855 (PUSH0) in Shanghai (#26475) 2023-01-12 11:00:08 +01:00
.gitignore
bench_test.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
block_validator_test.go tests: update tests (#26314) 2022-12-20 09:56:52 -05:00
block_validator.go cmd, core, eth, miner: deprecate miner.gastarget flag (#23213) 2021-08-10 11:28:33 +03:00
blockchain_insert.go core: fix log order in "Imported new chain segment" (#25768) 2022-09-15 13:18:23 +02:00
blockchain_reader.go core, eth, les, tests, trie: abstract node scheme (#25532) 2022-11-28 14:31:28 +01:00
blockchain_repair_test.go core, ethclient/gethclient: improve flaky tests (#25918) 2022-10-06 13:39:20 +02:00
blockchain_sethead_test.go core, ethclient/gethclient: improve flaky tests (#25918) 2022-10-06 13:39:20 +02:00
blockchain_snapshot_test.go core: fix typo in blockchain_snapshot_test.go (#26357) 2022-12-14 11:48:12 +02:00
blockchain_test.go core, les, params: add timestamp based fork compatibility checks 2023-01-03 12:57:06 +02:00
blockchain.go core, les, light: implement timestamp based sethead and genesis rewinds 2023-01-03 12:57:07 +02:00
blocks.go core: typos and comments improve 2017-05-25 17:14:33 +03:00
bloom_indexer.go core: preallocate batch size in bloomIndexer (#25289) 2022-08-03 17:02:09 +02:00
chain_indexer_test.go core: fix potential race in chainIndexerTest (#22346) 2021-03-19 13:32:57 +01:00
chain_indexer.go all: make logs a bit easier on the eye to digest (#22665) 2021-04-15 20:35:00 +03:00
chain_makers_test.go all: move genesis initialization to blockchain (#25523) 2022-08-30 18:22:28 +02:00
chain_makers.go tests: update tests (#26314) 2022-12-20 09:56:52 -05:00
dao_test.go core, ethclient/gethclient: improve flaky tests (#25918) 2022-10-06 13:39:20 +02:00
error.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
events.go eth/filters: remove use of event.TypeMux for pending logs (#20312) 2019-12-10 12:39:14 +01:00
evm.go core/evm: fix error in comment (#25040) 2022-06-08 18:40:37 +02:00
forkchoice.go core: clarify code in forkchoice (#26257) 2022-11-28 11:07:25 +01:00
gaspool.go miner: avoid unnecessary work (#15883) 2018-01-15 12:57:06 +02:00
gen_genesis_account.go tests: update for London (#22976) 2021-06-07 14:37:56 +02:00
gen_genesis.go core: change baseFee into baseFeePerGas in genesis json 2021-06-14 14:04:44 +02:00
genesis_alloc.go core/genesis: remove calaverasAllocData (#25516) 2022-08-12 13:58:06 +02:00
genesis_test.go core, les, params: add timestamp based fork compatibility checks 2023-01-03 12:57:06 +02:00
genesis.go cmd, core, eth, els, params: disallow setheads below genesis, tweaks 2023-01-06 15:29:58 +02:00
headerchain_test.go core, eth, les, tests, trie: abstract node scheme (#25532) 2022-11-28 14:31:28 +01:00
headerchain.go cmd, core, eth, els, params: disallow setheads below genesis, tweaks 2023-01-06 15:29:58 +02:00
mkalloc.go build: upgrade to go 1.19 (#25726) 2022-09-10 13:25:40 +02:00
rlp_test.go all: cleanup tests (#25641) 2022-09-07 20:21:59 +02:00
sender_cacher.go all: refactor txpool into it's own package in prep for 4844 2022-10-24 16:35:53 +03:00
state_prefetcher.go all: implement EIP-1153 transient storage (#26003) 2022-11-16 10:18:52 +01:00
state_processor_test.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
state_processor.go core, cmd: fill blockNumber in logs (#26345) 2022-12-13 07:54:16 -05:00
state_transition.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
types.go core: prefetch next block state concurrently 2019-04-01 11:06:15 +03:00