aboutsummaryrefslogtreecommitdiffstats
path: root/trie/database.go
Commit message (Collapse)AuthorAgeFilesLines
* all: integrate the freezer with fast syncgary rong2019-05-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * all: freezer style syncing core, eth, les, light: clean up freezer relative APIs core, eth, les, trie, ethdb, light: clean a bit core, eth, les, light: add unit tests core, light: rewrite setHead function core, eth: fix downloader unit tests core: add receipt chain insertion test core: use constant instead of hardcoding table name core: fix rollback core: fix setHead core/rawdb: remove canonical block first and then iterate side chain core/rawdb, ethdb: add hasAncient interface eth/downloader: calculate ancient limit via cht first core, eth, ethdb: lots of fixes * eth/downloader: print ancient disable log only for fast sync
* trie: approximate the wasted cache metaspace closerPéter Szilágyi2019-04-121-14/+44
|
* trie: there's no point in retrieving the metarootPéter Szilágyi2019-04-051-0/+5
|
* core, ethdb, trie: mode dirty data to clean cache on flush (#19307)Martin Holst Swende2019-03-261-48/+72
| | | | | This PR is a more advanced form of the dirty-to-clean cacher (#18995), where we reuse previous database write batches as datasets to uncache, saving a dirty-trie-iteration and a dirty-trie-rlp-reencoding per block.
* trie: disable fnv64a hashing of hashes for bigcache (#19314)Martin Holst Swende2019-03-221-0/+15
| | | | | | * trie: disable fnv64a hashing of hashes for bigcache * trie/database: add very important period
* cmd, core, eth, trie: get rid of trie cache generations (#19262)Péter Szilágyi2019-03-141-12/+10
| | | | | | * cmd, core, eth, trie: get rid of trie cache generations * core, trie: get rid of remainder of cache gen boilerplate
* all: clean up and proerly abstract database accessPéter Szilágyi2019-03-061-13/+4
|
* trie: prefer nil slices over zero-length slices (#19084)Matthew Halpern2019-02-191-1/+1
|
* trie: add missing unlock call in error case (#18985)HackyMiner2019-02-041-0/+1
|
* trie: fix overflow in write cache parent tracking (#18165)Martin Holst Swende2018-11-221-1/+1
| | | trie/database: fix overflow in parent tracking
* cmd, core, eth, light, trie: add trie read caching layerPéter Szilágyi2018-11-151-75/+130
|
* eth, trie: fix tracer GC which accidentally pruned the metarootPéter Szilágyi2018-08-091-0/+5
|
* trie: fix comment typo (#17350)Mymskmkt2018-08-081-1/+1
|
* trie: handle removing the freshest node tooPéter Szilágyi2018-07-301-4/+14
|
* trie: fix a temporary memory leak in the memcachePéter Szilágyi2018-07-021-1/+49
|
* trie: cache collapsed tries node, not rlp blobs (#16876)Péter Szilágyi2018-06-211-36/+238
| | | | | | | | | | | | The current trie memory database/cache that we do pruning on stores trie nodes as binary rlp encoded blobs, and also stores the node relationships/references for GC purposes. However, most of the trie nodes (everything apart from a value node) is in essence just a collection of references. This PR switches out the RLP encoded trie blobs with the collapsed-but-not-serialized trie nodes. This permits most of the references to be recovered from within the node data structure, avoiding the need to track them a second time (expensive memory wise).
* trie: don't report the root flushlist as an allocPéter Szilágyi2018-06-111-2/+2
|
* core, eth, trie: streaming GC for the trie cache (#16810)Péter Szilágyi2018-06-041-13/+175
| | | | | | * core, eth, trie: streaming GC for the trie cache * trie: track memcache statistics
* all: update license information (#16089)Felix Lange2018-02-141-1/+1
|
* core, trie: intermediate mempool between trie and database (#15857)Péter Szilágyi2018-02-061-0/+355
This commit reduces database I/O by not writing every state trie to disk.