aboutsummaryrefslogtreecommitdiffstats
path: root/ethdb
Commit message (Collapse)AuthorAgeFilesLines
* core, ethdb, metrics, p2p: expose various counter metrics for grafanaPéter Szilágyi2019-06-111-6/+10
|
* core, cmd, vendor: fixes and database inspection tool (#15)gary rong2019-05-161-1/+4
| | | | | | | | | | | | | | | | | | | | | | * core, eth: some fixes for freezer * vendor, core/rawdb, cmd/geth: add db inspector * core, cmd/utils: check ancient store path forceily * cmd/geth, common, core/rawdb: a few fixes * cmd/geth: support windows file rename and fix rename error * core: support ancient plugin * core, cmd: streaming file copy * cmd, consensus, core, tests: keep genesis in leveldb * core: write txlookup during ancient init * core: bump database version
* all: integrate the freezer with fast syncgary rong2019-05-164-19/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* core/rawdb: add file lock for freezerrjl4934564422019-05-161-0/+7
|
* cmd, core, eth, les, node: chain freezer on top of db reworkPéter Szilágyi2019-05-161-1/+14
|
* core, eth, trie: bloom filter for trie node dedup during fast sync (#19489)Péter Szilágyi2019-05-133-2/+43
| | | | | | | | | | | | * core, eth, trie: bloom filter for trie node dedup during fast sync * eth/downloader, trie: address review comments * core, ethdb, trie: restart fast-sync bloom construction now and again * eth/downloader: initialize fast sync bloom on startup * eth: reenable eth/62 until we properly remove it
* core, ethdb, trie: mode dirty data to clean cache on flush (#19307)Martin Holst Swende2019-03-264-8/+50
| | | | | 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.
* ethdb, trie: tiny API tidy-up from the database rework prPéter Szilágyi2019-03-122-75/+75
|
* all: clean up and proerly abstract database accessPéter Szilágyi2019-03-0613-957/+962
|
* cmd/utils, eth: relinquish GC cache to read cache in archive modePéter Szilágyi2019-02-071-1/+2
|
* ethdb, rpc: support building on js/wasm (#17709)Dmitrij Koniajev2018-10-166-68/+199
| | | The changes allow building WebAssembly applications which use ethclient.Client.
* consensus, ethdb, metrics: implement forced-meter (#17667)gary rong2018-09-171-9/+6
|
* core, ethdb: two tiny fixes (#17183)gary rong2018-07-182-4/+30
| | | | | | | | * ethdb: fix memory database * core: fix bloombits checking * core: minor polish
* vendor, ethdb: resume write operation asap (#17144)gary rong2018-07-121-25/+2
| | | | | | * vendor: update leveldb * ethdb: remove useless warning log
* ethdb, core: implement delete for db batch (#17101)gary rong2018-07-023-1/+26
|
* ethdb: gracefullly handle quit channel (#16794)gary rong2018-06-111-34/+40
| | | | | | * ethdb: gratefullly handle quit channel * ethdb: minor polish
* vendor, ethdb: print warning log if leveldb is performing compaction (#16766)gary rong2018-05-221-1/+11
| | | | | | | | * vendor: update leveldb package * ethdb: print warning log if db is performing compaction * ethdb: update annotation and log
* all: get rid of error when creating memory database (#16716)gary rong2018-05-092-8/+6
| | | | | | | | * all: get rid of error when create mdb * core: clean up variables definition * all: inline mdb definition
* ethdb: add leveldb write delay statistic (#16499)gary rong2018-04-161-14/+81
|
* compression/rle: delete RLE compression (#16468)Felix Lange2018-04-091-6/+0
|
* cmd: export preimages in RLP, support GZIP, uniform with block exportPéter Szilágyi2018-03-261-2/+2
|
* cmd: implement preimage dump and import cmdsrjl4934564422018-03-261-0/+6
|
* cmd, ethdb, vendor: integrate leveldb iostats (#16277)Kurkó Mihály2018-03-081-43/+59
| | | | | | | | | | | | * cmd, dashboard, ethdb, vendor: send iostats to dashboard * ethdb: change names * ethdb: handle parsing errors * ethdb: handle iostats syntax error * ethdb: r -> w
* metrics: pull library and introduce ResettingTimer and InfluxDB reporter ↵Anton Evangelatov2018-02-231-20/+18
| | | | | | | | | | | | | | | | | | | | (#15910) * go-metrics: fork library and introduce ResettingTimer and InfluxDB reporter. * vendor: change nonsense/go-metrics to ethersphere/go-metrics * go-metrics: add tests. move ResettingTimer logic from reporter to type. * all, metrics: pull in metrics package in go-ethereum * metrics/test: make sure metrics are enabled for tests * metrics: apply gosimple rules * metrics/exp, internal/debug: init expvar endpoint when starting pprof server * internal/debug: tiny comment formatting fix
* ethdb: reset the batch size too on resetPéter Szilágyi2018-01-311-0/+1
|
* core, ethdb: reuse database batches (#15989)Martin Holst Swende2018-01-313-0/+15
| | | | | | * leveldb: Update leveldb to 211f780 (poolfix) * core, ethdb: reuse database batches
* cmd, core, eth/tracers: support fancier js tracing (#15516)Péter Szilágyi2017-12-211-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * cmd, core, eth/tracers: support fancier js tracing * eth, internal/web3ext: rework trace API, concurrency, chain tracing * eth/tracers: add three more JavaScript tracers * eth/tracers, vendor: swap ottovm to duktape for tracing * core, eth, internal: finalize call tracer and needed extras * eth, tests: prestate tracer, call test suite, rewinding * vendor: fix windows builds for tracer js engine * vendor: temporary duktape fix * eth/tracers: fix up 4byte and evmdis tracer * vendor: pull in latest duktape with my upstream fixes * eth: fix some review comments * eth: rename rewind to reexec to make it more obvious * core/vm: terminate tracing using defers
* core, eth/downloader: commit block data using batches (#15115)Felix Lange2017-09-103-13/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ethdb: add Putter interface and Has method * ethdb: improve docs and add IdealBatchSize * ethdb: remove memory batch lock Batches are not safe for concurrent use. * core: use ethdb.Putter for Write* functions This covers the easy cases. * core/state: simplify StateSync * trie: optimize local node check * ethdb: add ValueSize to Batch * core: optimize HasHeader check This avoids one random database read get the block number. For many uses of HasHeader, the expectation is that it's actually there. Using Has avoids a load + decode of the value. * core: write fast sync block data in batches Collect writes into batches up to the ideal size instead of issuing many small, concurrent writes. * eth/downloader: commit larger state batches Collect nodes into a batch up to the ideal size instead of committing whenever a node is received. * core: optimize HasBlock check This avoids a random database read to get the number. * core: use numberCache in HasHeader numberCache has higher capacity, increasing the odds of finding the header without a database lookup. * core: write imported block data using a batch Restore batch writes of state and add blocks, tx entries, receipts to the same batch. The change also simplifies the miner. This commit also removes posting of logs when a forked block is imported. * core: fix DB write error handling * ethdb: use RLock for Has * core: fix HasBlock comment
* ethdb: return copied value from MemDatabase.Get (#14958)gary rong2017-08-112-1/+16
|
* ethdb: add basic and parallel sanity tests (#14938)Egon Elbre2017-08-081-9/+152
| | | | | | | | * ethdb: add basic sanity test * ethdb: test MemDatabase * ethdb: add parallel tests
* trie: more node iterator improvements (#14615)Felix Lange2017-06-211-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ethdb: remove Set Set deadlocks immediately and isn't part of the Database interface. * trie: add Err to Iterator This is useful for testing because the underlying NodeIterator doesn't need to be kept in a separate variable just to get the error. * trie: add LeafKey to iterator, panic when not at leaf LeafKey is useful for callers that can't interpret Path. * trie: retry failed seek/peek in iterator Next Instead of failing iteration irrecoverably, make it so Next retries the pending seek or peek every time. Smaller changes in this commit make this easier to test: * The iterator previously returned from Next on encountering a hash node. This caused it to visit the same path twice. * Path returned nibbles with terminator symbol for valueNode attached to fullNode, but removed it for valueNode attached to shortNode. Now the terminator is always present. This makes Path unique to each node and simplifies Leaf. * trie: add Path to MissingNodeError The light client trie iterator needs to know the path of the node that's missing so it can retrieve a proof for it. NodeIterator.Path is not sufficient because it is updated when the node is resolved and actually visited by the iterator. Also remove unused fields. They were added a long time ago before we knew which fields would be needed for the light client.
* Logger updates 3 (#3730)Péter Szilágyi2017-03-021-82/+69
| | | | | | | | * accounts, cmd, eth, ethdb: port logs over to new system * ethdb: drop concept of cache distribution between dbs * eth: fix some log nitpicks to make them nicer
* all: blidly swap out glog to our log15, logs need reworkPéter Szilágyi2017-02-231-13/+11
|
* ethdb: Implement interface for prefixed operations to the DB (#3536)Nick Johnson2017-01-111-0/+52
|
* all: gofmt -w -sFelix Lange2017-01-061-1/+1
|
* cmd, eth: added light client and light server modeszsfelfoldi2016-11-091-2/+4
|
* Merge pull request #2914 from fjl/node-coinhabitFelix Lange2016-09-291-0/+5
|\ | | | | cmd/utils, node: make datadir reusable for bzzd
| * ethdb: add accessor for database directoryFelix Lange2016-09-161-0/+5
| |
* | core, eth, trie: reuse trie journals in all our codePéter Szilágyi2016-09-281-0/+2
|/
* eth: remove dapp database remainsFelix Lange2016-08-171-2/+0
|
* ethdb, p2p/discover: replace "alloted" with "allotted" (#2785)villesundell2016-07-121-3/+3
|
* cmd, eth, ethdb, node: prioritise chaindata for resources, bump cachePéter Szilágyi2016-03-092-7/+18
|
* Merge pull request #2242 from jimenezrick/upstream-cryptoJeffrey Wilcke2016-02-241-11/+0
|\ | | | | Closes #2241: Use Keccak-256 from golang.org/x/crypto/sha3 and mention explicitly
| * ethdb: Remove outdated README pointing to an old linkRicardo Catalinas Jiménez2016-02-221-11/+0
| |
* | ethdb: fully disable metrics if not requested (oops?)Péter Szilágyi2016-02-231-0/+4
|/
* core/state, ethdb, trie: test intermediate secure key leak, fix memdb bugPéter Szilágyi2016-01-201-1/+1
|
* common: remove old RLP implementation, Value and ExtPackageFelix Lange2015-12-181-22/+1
| | | | | In order to make this happen, kill all remaining trivial uses of common/{rlp,value}.go. The non-trivial ones have been updated earlier.
* core, eth, trie: fix data races and merge/review issuesPéter Szilágyi2015-10-211-3/+7
|
* eth/downloader: concurrent receipt and state processingPéter Szilágyi2015-10-191-12/+39
|
* ethdb: remove FlushFelix Lange2015-09-153-18/+8
|
* ethdb: copy stored memdb valuesFelix Lange2015-09-151-2/+1
| | | | | | Storing a value in LevelDB copies the bytes, modifying the value afterwards does not affect the content of the database. This commit ensures that MemDatabase satisfies the same property.
* ethdb: add NewBatchFelix Lange2015-09-153-0/+49
|
* all: move common.Database to package ethdbFelix Lange2015-09-151-0/+25
|
* eth, eth/downloader: handle header requests, table driven proto testsPéter Szilágyi2015-08-241-0/+8
|
* core, eth, trie, xeth: merged state, chain, extra databases in oneJeffrey Wilcke2015-08-081-3/+2
|
* Merge pull request #1515 from fjl/license-fixesJeffrey Wilcke2015-07-283-3/+3
|\ | | | | all: fix license headers one more time
| * all: fix license headers one more timeFelix Lange2015-07-243-3/+3
| | | | | | | | I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
* | ethdb, trie: removed RLE compressionJeffrey Wilcke2015-07-231-5/+5
| |
* | Merge pull request #1510 from fjl/license-fixesJeffrey Wilcke2015-07-233-12/+12
|\| | | | | all: license fixes
| * all: update license headers to distiguish GPL/LGPLFelix Lange2015-07-233-12/+12
| | | | | | | | | | All code outside of cmd/ is licensed as LGPL. The headers now reflect this by calling the whole work "the go-ethereum library".
* | cmd, core, eth, ethdb: cache flag to allocate memory for db internal usePéter Szilágyi2015-07-222-8/+26
|/
* eth, ethdb: fix a data race during startup/shutdownPéter Szilágyi2015-07-091-36/+80
|
* all: update license informationFelix Lange2015-07-073-0/+48
|
* cmd/geth, eth, ethdb: monitor database compactionsPéter Szilágyi2015-06-301-13/+84
|
* ethdb: accessor for LDB. TODO remove this interfaceobscuren2015-06-301-0/+4
|
* eth, ethdb: measure database operation latencies tooPéter Szilágyi2015-06-241-11/+28
|
* core, eth, eth/fetcher, ethdb: polish metrics gathering a bitPéter Szilágyi2015-06-241-4/+16
|
* core, ethdb: instrument the block and state dbPéter Szilágyi2015-06-241-5/+14
| | | | | Conflicts: ethdb/database.go
* core, ethdb, trie: validate database errorsobscuren2015-06-212-3/+5
|
* common, ethdb: removed caching and LastTDobscuren2015-05-281-58/+6
|
* ethdb: documentation and corruption recoveryobscuren2015-05-211-8/+13
|
* removed redundant newlines in import blockBas van Kervel2015-05-121-1/+0
|
* replaced several path.* with filepath.* which is platform independentBas van Kervel2015-05-121-2/+3
|
* eth, ethdb: lower the amount of open files & improve err messages for dbobscuren2015-05-121-2/+2
| | | | Closes #880
* ethdb: set open file limit to 128 for all leveldbsobscuren2015-05-101-1/+4
|
* Moved leveldb update loop to eth/backendBas van Kervel2015-04-232-25/+7
| | | | | | change order of block insert and update LastBlock bugfix, wrong hash stored in blockDb
* Queued level db writes and batch writes. Closes #647obscuren2015-04-082-44/+94
|
* common: drop accessors for Value.ValFelix Lange2015-03-201-1/+1
| | | | I don't see why we would need two different accessors for a public field.
* Moved ethutil => commonobscuren2015-03-162-6/+6
|
* cmd/evm, core, ethdb, state, tests/helper: remove ReadConfig callsFelix Lange2015-03-101-2/+0
|
* ethutil: remove Config variableFelix Lange2015-03-061-8/+3
| | | | | | | | | | | Various functions throughout the codebase used it to grab settings. This has to stop because I want to use them without reading the config file. These functions can now be used without reading the config first: * ethdb.NewLDBDatabase * ethrepl.NewJSRepl * vm.New
* removed messagesobscuren2015-02-131-2/+2
|
* Decode from stream directlyobscuren2014-12-231-0/+4
|
* Added caching and database interface to trieobscuren2014-11-191-0/+4
| | | | | * Reimplemented caching for trie * Reimplemented resetting and persisting trie
* Added storage root to dumpobscuren2014-11-041-1/+0
|
* Compress data on db level. Closes #174obscuren2014-11-032-19/+58
|
* Merge eth-go repository into go-ethereumFelix Lange2014-10-232-2/+3
| | | | mist, etheruem have been moved to cmd/
* Removed old codeobscuren2014-08-231-10/+3
|
* Moved keyring to ethutil & removed old methods. Implements #20obscuren2014-05-142-0/+4
|
* Added a GetKeys method to support multiple accountsobscuren2014-02-281-0/+6
|
* leveldb API changed for NewIterator. Fixes #20obscuren2014-02-281-1/+7
|
* Addad db name for new ldbobscuren2014-02-251-2/+6
|
* Added delete to database interfacesobscuren2014-02-242-0/+10
|
* Removed RlpValue in favour of Valueobscuren2014-02-151-3/+2
|
* The great mergeobscuren2014-02-155-0/+142