-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Description
Tendermint version (use tendermint version or git rev-parse --verify HEAD if installed from source):
v0.34.14
ABCI app (name for built-in, URL for self-written if it's publicly available):
https://github.com/crypto-org-chain/cronos
Environment:
- OS (e.g. from /etc/os-release): Linux
- Install tools: https://github.com/rockset/rocksdb-cloud/blob/master/INSTALL.md
- Others: RockDB backend
What happened:
The app crashes during DB compactions every two days, reporting a corrupted storage.
What you expected to happen:
It should not crash. The written keys and values should be within the maximum recommended limits.
Have you tried the latest version: no
How to reproduce it (as minimally and precisely as possible):
Create a genesis file which is over the maximum recommended limit in a given DB backend (e.g. 3GB in RocksDB) and let it run for a few days.
Logs (paste a small part showing an error (< 10 lines) or link a pastebin, gist, etc. containing more of the log file):
Apr 21 06:57:27 ip-... ...[31651]: 6:57AM INF received complete proposal block hash=8C44DC3C33358D58C2A408E5D1F36E7D3BB46C0B8CA0B8D3833A5302249A2490 height=30264 module=consensus server=node
Apr 21 06:57:28 ip-... ...[31651]: 6:57AM INF finalizing commit of block hash=8C44DC3C33358D58C2A408E5D1F36E7D3BB46C0B8CA0B8D3833A5302249A2490 height=30264 module=consensus num_txs=0 root=64672456A0AA4AE96381AF50560C382224862DD3D509AE21C4A22414A579D049 server=node
Apr 21 06:57:28 ip-... ...[31651]: 6:57AM INF executed block height=30264 module=state num_invalid_txs=0 num_valid_txs=0 server=node
Apr 21 06:57:28 ip-... ...[31651]: 6:57AM ERR failed to apply block err="Corruption: block checksum mismatch: stored = 1383945041, computed = 0, type = 1 in /.../data/state.db/000010.sst offset 88777080 size 3214387372" height=30264 module=consensus server=node
Config (you can paste only the changes you've made):
N/A
node command runtime flags:
N/A
Please provide the output from the http://<ip>:<port>/dump_consensus_state RPC endpoint for consensus bugs
N/A
Anything else we need to know:
Line 1393 in 85870de
| func saveGenesisDoc(db dbm.DB, genDoc *types.GenesisDoc) error { |
https://github.com/facebook/rocksdb/wiki/RocksDB-FAQ
Q: What’s the maximum key and value sizes supported?
A: In general, RocksDB is not designed for large keys. The maximum recommended sizes for key and value are 8MB and 3GB respectively.