149 Commits

Author SHA1 Message Date
Jiri Peinlich
a44bd7dffb Adding filechannel name to the exception (#3064)
Signed-off-by: Jiri Peinlich <jiri.peinlich@gmail.com>

Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
2021-11-18 09:37:51 +10:00
Antoine Toulme
11f5cfb022 Upgrade to Apache Tuweni 2.0 (#2376)
* Upgrade to Apache Tuweni 2.0

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* Remove intermediate repository

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* Remove all occurrences of toBytes

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* Migrate to tuweni-bytes

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* add changelog

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* correct reference tests

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* Initial API changes

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* more changes

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* Change APIs for VM ops

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* Use constant UInt256.ONE

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* Optimize a bit address <> word transformation

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* spotless

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
2021-07-17 00:15:27 +02:00
Antoine Toulme
5670264f12 Upgrade OpenTelemetry to 1.2.0 (#2313)
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
2021-05-26 08:23:44 +10:00
Danno Ferrin
008daad6b4 Remove unneeded log4j2.xml files (#1735)
Remove all but 4 log4j2.xml config files
* The main config for the besu CLI app
* The config for the evmTool CLI app
* The config for acceptance tests
* A config in testUtil

If any tests depend on a log4j file they should import testutil.

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2021-01-04 23:25:33 +01:00
Antoine Toulme
cd66968b6d Add tracing support for internals and JSON-RPC (#1557)
* Add tracing support for internals and JSON-RPC

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* Remove rocksdb tracing as it slows down execution too much

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* Add B3 headers extraction on JSON-RPC requests

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* Remove traces around trie tree as they slow down syncing significantly

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* Add tracing to fast sync pipeline

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* Add tracing for all pipelines

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* Address code review

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* Add acceptance tests and break out the shaded dependency

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* Fix tracer id

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* Revert changes to trie

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* Upgrade otel to latest, remove old tracing

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* Code review comments

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
2021-01-04 11:11:13 -08:00
Danno Ferrin
99dcf50ee5 Reduce Spurious Log Messages (#1678)
Adding the Log4j "jul" (java.util.logging) adapter resulted in many
messages like this at startup:
`main INFO Registered Log4j as the java.util.logging.LogManager.`
These come from the Log4j status logger.  We can get rid of those by
setting the status attribute on all configurations to a higher logging
level.  WARN is the next higher level.

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2020-12-09 23:39:53 -07:00
Danno Ferrin
5241747ba4 Bonsai Tries early prototype (#1664)
This is a not-fully-functional prototype of Bonsai Tries.

Bonsai tries is a flat leaf storage, branch-by-location, and diff based reorgs
refactoring of the existing forest based trie storage mechanism aimed at
creating sustainable performance at mainnet loads.

* Since it is experimental a feature flag of --Xdata-storage-format=BONSAI
controls activation.

Some required changes have a long reach:

* To accommodate location based storage many Trie operations accept both a
location and hash value. Each data storage format is keyed off of only
one of the fields, so many tests will pass in null to the other field.
* MutableWorldStateUpdater.persist now takes an argument of a block hash.
If this is a natural progression of blocks the hash of the new block is
passed in. Otherwise null should be passed in.

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2020-12-07 08:59:44 -07:00
Danno Ferrin
9c22fbc61c Add memory as a key value storage option (#1617)
Add `memory` as an option for `--key-value-storage`.  This is useful in
small network synchronization tests as memory is faster and is easier to
inspect via a debugger.

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2020-12-03 14:44:13 -07:00
Antoine Toulme
b9364ed243 Upgrade to Apache Tuweni 1.2.0 (#1493)
* Upgrade to Apache Tuweni 1.2.0

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* no jsr305

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>

Co-authored-by: Danno Ferrin <danno.ferrin@gmail.com>
2020-11-05 15:40:42 -08:00
Danno Ferrin
256e5c914d Errorprone version upgrade (#1096)
Upgrade to ErrorProne 2.4.0

* public constructors on abstract classes are removed
* Javadoc must have meaningfull documentation
* lambdas should not be variables
* Added to the list of confusing inner class names (Entry and Type)
* no assert keyword in tests
* Obsolete JDK classes produce errors now

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2020-06-17 10:34:56 -06:00
Yehia Tarek
93996e349e remove removeAllKeysUnless from interfaces and its implemntation (#936)
Signed-off-by: yehia67 <yehiatarek67@gmail.com>
2020-05-19 19:13:45 -04:00
Ratan Rai Sur
43eccbbb67 [Pruning Bugfix] Prevent race condition in key deletion. (#760)
* add doomed key check (busy-waiting for now)

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* optional and logging

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* remove logging

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* sleeping and hardening

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* rename segments

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* move away from atomic references to regular vars

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* remove hardened segment parameter

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* increase sleep

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* spotless

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* remove unnecessary interface

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* rename

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* move commit waiting outside of timer

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* set default lock timeout to 1ms

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* add default lock timeout to tests

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* Revert "rename segments"

This reverts commit 184eefaaa0ccc857b0caff2b382f8338ff225d5d.

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* fix jmh compilation error

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* add documentation

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* bump up sleep to 1ms

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* (POC) Add lock to ensure that we don't prune while comitting

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* remove unnecessary persist (#569)

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* flesh out @mbaxter's idea and remove my code

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* iterator changes

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* hybridize with doomed key

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* comment

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* move doomed key unset to after node added listener

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* update instead of getting and setting doomedKeyRef in commit

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* comment

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* invert condition

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* remove locks

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* remove `removeAllKeysUnless`

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* more remove removeAllKeysUnless

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* reuse streamKeys

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* remove test

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* set default lock timeout to 1ms

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* add default lock timeout to tests

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* fix jmh compilation error

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* revert back to locks instead of doomedkey

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* change delete to not guarantee deletion

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* plugin hash

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* javadoc

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* Revert "change delete to not guarantee deletion"

This reverts commit 2289bb34cfe73bb34990db3b5ef3d614222b8c5b.

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* skip key deletion on timeout

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* clear in rollback

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* Revert "fix jmh compilation error"

This reverts commit b64ecf86568789583966e534685258d484987deb.

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* Revert "add default lock timeout to tests"

This reverts commit aff6aa6065a02bbc7eaa313d58034de48dd1d9ce.

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* Revert "set default lock timeout to 1ms"

This reverts commit 267fe0a642bf9cca89d53e09830454b7137324e6.

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* use noSlowDown write option instead of global timeout

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* add back tests

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* close tryDeleteOptions

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* remove unnecessary lock

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* move increment inside try

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* use StorageException subclass instead of field

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* revert accidental deletion in javadoc

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* tryDelete javadoc

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* add trace for skipping key deletion

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* merge catch and finally try blocks

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* switch from exception to boolean return value

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* tweak

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* changelog changes

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* add api back

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

* add back throws javadoc

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>

Co-authored-by: Meredith Baxter <meredith.baxter@consensys.net>
Co-authored-by: MadelineMurray <43356962+MadelineMurray@users.noreply.github.com>
2020-05-07 08:14:20 +10:00
Pierre Grimaud
3cc4dc3cff Fix typos (#813)
Signed-off-by: Pierre Grimaud <grimaud.pierre@gmail.com>

Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
2020-05-01 07:50:43 +10:00
Ratan Rai Sur
fa9db4b099 Key Value Tweaks (#726)
Some of these are just cosmetic but I think I found some bugs in there.

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>
2020-04-16 10:17:49 -04:00
Danno Ferrin
838f7aa5e0 Fix Gradle 7.0 compatibility issues and build warnings (#288)
Removes as many Gradle 7.0 compatibility issues as possible
* `baseName` -> `archiveBaseName`
* `extension` -> `archiveExtension`
* `destinationDir` -> `destinationDirectory`
* `runtime` -> `runtimeOnly`
* Change some log4j-api and log4j-core dependencies
* Remove an unneeded and outdated plugin (`net.ltgt.apt`)
* tweak the plugin-api change detector's property annotations.

Warnings still exist with one external plugin used for license file
checking that we do not control the source code for.

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2020-01-13 08:28:50 -07:00
Danno Ferrin
dfad8bff78 Update Dependencies (#281)
Update dependencies to most current version
 - except picocli which is a major version update
Alphabetize dependencies

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2020-01-01 20:42:13 +13:00
Antoine Toulme
ccefada736 Move to Apache Tuweni Bytes library (#215)
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2019-12-20 12:05:15 +10:00
Ivaylo Kirilov
c09145e490 refactor-privacy-storage (#7)
* refactor-privacy-storage

Signed-off-by: Ivaylo Kirilov <iikirilov@gmail.com>
2019-09-30 06:45:03 +10:00
Ratan Rai Sur
78ecf33237 Fix some mark sweep pruner bugs where nodes that should be kept were being swept (Re-merge of #38) (#50)
Adds integration tests to catch bug where the mark storage was being cleared before a mark began. Instead, the mark storage is now cleared upon preparing the mark sweep pruner

Fixes bug where the pending marks where not being checked while pruning was occurring. By removing the flush in sweepBefore, the existing tests catch the bug.

Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>
2019-09-25 20:57:37 +03:00
Joshua Fernandes
bac5c673d3 Adding a spdx license check gradle task (#30)
* adding in spdx-license-identifier & updated check for the same; removing license check from spotless

Signed-off-by: Joshua Fernandes <joshua.fernandes@consensys.net>

* Change CheckSpdxHeader to a task.

Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-09-20 14:59:57 +10:00
Joshua Fernandes
d6a2394e2d Migrating Pantheon to Besu (#1945)
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-09-16 11:14:10 +10:00
Ratan Rai Sur
995ef1adba Ban junit assertions (#1939)
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-09-13 17:37:51 +03:00
CJ Hare
dec01db6f9 Refactoring Rocksdb as a module (#1889)
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-09-12 12:34:57 +10:00
Edward
9856cd32b0 Ensure plugin-api module gets published at the correct maven path (#1905)
* Ensure `plugin-api` module gets published at the correct maven path
* Move `plugins` to `plugin-api`

Signed-off-by: Edward Evans <edward.evans@consensys.net>

Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-09-05 10:29:30 +10:00
Edward
9601f44ac8 Return the plugin-apis to this repo (#1900)
* Return plugin-api to the main repo
* Spotless
* Migrate all external plugin-api references to the project in this repo
* Add licence header
* Update repo reference for publish, even if commented
* Use real configuration for publishing plugin-api

This was tested with the
`:plugins:publishMavenJavaPublicationToMavenLocal` task and checking the
local Maven repo to make sure it was using the correct paths

Signed-off-by: Edward Evans <edward.evans@consensys.net>

Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-09-04 12:12:27 +10:00
mark-terry
402937a459 [PIE-1859] Extracted Metrics interfaces to plugins-api. (#1898)
* [PIE-1859] Extracted Metrics interfaces to plugins-api.

* [PIE-1859] Bump.

* [PIE-1859] Renamed PantheonMetricsSystem -> ObservableMetricsSystem.

Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-09-03 15:59:18 +10:00
Jason Frame
a047286a23 Fix rocksDB storage so that clear removes all values (#1894)
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-08-30 10:41:59 +10:00
Ratan Rai Sur
dda93fd433 [Minor] Fix gradle formatting (#1876)
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-08-23 13:10:13 -04:00
Danno Ferrin
43cc4ce5c9 Support plugin Richdata APIs via implementation (#1581)
* Rich Data for Events Plugin

* plugin-api -> api

* use BinaryData as a root and add getValue to UInt256Value

* bring rick data changes in line with proposed APIs.

Undo orthagonal naming changes.

* add size

* use log and transaction interfaces from rich data api

* update to released plugin api version and add new event listener.

* add tests

* fix acceptance tests

Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-08-23 09:39:56 +02:00
Ratan Rai Sur
1716091723 [PAN-3064] sweep state roots before child nodes (#1854)
* sweep state roots before child nodes

* Adds long removeAccountStateTrieNode(key) method to WorldStateStorage.Updater

* remove assertj assertions from `AbstractKeyValueStorageTest`
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-08-20 20:07:12 -04:00
mbaxter
50c3a2cba0 [PIE-1791] Fix logic to disconnect from peers on fork (#1863)
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-08-19 10:24:08 -04:00
Danno Ferrin
ce8faf41c1 Explicitly configure some maven artifactIds (#1853)
Some auto-generated maven names cause collissions when used with the gradle
publish plugin, namely `core` and `util`.  Rename two jars that have such
a colission so the colission doesn't occur.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-08-14 14:23:53 -06:00
Ratan Rai Sur
8787a4c006 [PAN-2818] Database versioning and enable multi-column database (#1830)
* Database Versioning: The behavior is to load the database at the existing version if it
already exists or create the newest version if it doesn't

* multi-column by default: This makes the separated world state storage column required by mark sweep on by default
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-08-14 11:09:00 -04:00
Danno Ferrin
e32a3b7727 [PAN-2900] Fix FlatFileTaskCollection tests (#1833)
Windows has some slightly different Java NIO semantics, regarding size
after writing and whether files are deleted on close (they aren not).

The first issue is we shouldn't be using Integer.SIZE when we mean
Integer.BYTES.

The second issue is we cannot count on these work files showing up or
being deleted from the file system consistently across platforms.  The
ordering is consistent within platforms but not across.  The test was
re-written to check the read and write file numbers instead.


Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-08-08 09:42:46 -06:00
Ratan Rai Sur
b20147c062 [PAN-2819] [PAN-2820] Mark Sweep Pruner
* Mark Sweep Pruner 
* add `unload` method on Node interface, which is a noop everywhere but on `StoredNode`
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-08-07 12:24:02 -04:00
mbaxter
d48ca9e5a9 [PAN-2952] Add storage key preimage tracking (#1772)
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-07-29 13:26:13 -04:00
Karim T
516c267d16 [PAN-2444] Add CLI flag for setting WorldStateDownloader task cache size (#1749)
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-07-26 15:11:02 -04:00
CJ Hare
e43cee30a9 Removing unused methods on KeyValueStorage (#1661)
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-07-11 11:04:42 +10:00
Abdelhamid Bakhta
e1790ad3f0 Factorise metrics code for KeyValueStorage database (#1663)
* Factorise metrics code for KeyValueStorage database

- introduce `MonitorableKeyValueStorage`
- factorise code
- remove metrics instanciation in `RocksDbKeyValueStorage` and `ColumnarRocksDbKeyValueStorage`

* Rename class

Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-07-09 18:56:26 +02:00
Abdelhamid Bakhta
fe1fbe3468 [PAN-2853] Create a metric tracking DB size (#1662)
* [PAN-2853] Create a metric tracking DB size

- create a Prometheus long gauge to track the database size
- `rocksdb.live-sst-files-size` : 872a261ffc/include/rocksdb/db.h (L685)
- use `rocksdb.live-sst-files-size` property rather than  `rocksdb.total-sst-files-size` (performance purpose: see warning 872a261ffc/include/rocksdb/db.h (L680))
- add tests to check creation of metrics

* fix wildcard import

Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-07-09 16:25:23 +02:00
mbaxter
f5e841c018 [PAN-2797] Refactor experimental CLI options (#1629)
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-07-02 16:22:53 -04:00
Ratan Rai Sur
d4a016798e [PAN-2871] Columnar rocksdb (#1599)
* Columnated storage to allow for iteration over world state
* change MetricsCategory to PantheonMetricsCategory
* consistency renaming of kvstores

Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-06-27 15:09:22 -04:00
Adrian Sutton
f2a2ffc008 Rename MetricCategory to PantheonMetricCategory (#1574)
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-06-19 06:37:33 +10:00
Adrian Sutton
135e869c20 Add flat file based task collection (#1377)
Replaces the RocksDB based queue for pending world state download tasks with one that uses a simple file.  Added tasks are appended to the file while the reader starts from the beginning of the file and reads forwards.  

Periodically a new file is started to limit the disk space used. The reader deletes files it has completed reading.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-05-07 10:39:46 +10:00
Adrian Sutton
412d2ab844 Handle the pipeline being aborted while finalizing an async operation. (#1372)
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-05-01 05:56:34 +10:00
Adrian Sutton
db160d38c1 Increase RocksDB max-background-compactions and background-thread-count to 4 by default. Improves fast sync times even on a t3.large instance (2 cores). (#1364)
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-04-30 05:57:52 +10:00
Adrian Sutton
c5c2332ab3 Configure RocksDb max background compaction and thread count (#1312)
Default values are currently unchanged but increasing both these values to 4 appears to improve sync performance for both ropsten and Mainnet fast syncs.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-04-23 11:07:31 +10:00
Adrian Sutton
a4b473ad6f Pipeline based full sync (#1291)
Introduce a pipeline based full sync process.  Currently toggled off but can be enabled via a --X option.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-04-18 07:21:35 +10:00
Danno Ferrin
cf2acc2a75 Refactor RocksDBStats (#1266)
Move RocksDBStats to it's own module.  This also brings metrics to
metrics:core since none of our other module have nested modules but
they have peer modules.


Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-04-12 21:15:33 -06:00
Puneetha Karamsetty
545578983b [PRIV-46] Use labelled timer to differentiate between rocks db metrics (#1254)
* Use labelled timer to differentiate between metrics of public and private db

* Update the label names

Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
2019-04-12 12:44:00 -06:00