Renames env vars for consistency with flags and other services:
LOGRUS_{LEVEL,FILE} => LOG_LEVEL, etc.
LVL_DB_PATH => LEVELDB_PATH
ANCIENT_DB_PATH => LEVELDB_ANCIENT
These will need to be updated wherever they are used
* Refactors to replace most of the code with the statediff plugin (from branch cerc-io/plugeth-statediff#15).
* Adds basic CI test workflows for Gitea
* Refactors fixtures to use https://git.vdb.to/cerc-io/eth-testing
* Renames env vars for consistency with flags and other services:
- LOGRUS_{LEVEL,FILE} => LOG_LEVEL, etc.
- LVL_DB_PATH => LEVELDB_PATH
- ANCIENT_DB_PATH => LEVELDB_ANCIENT
- These will need to be updated wherever they are used
* Add command to take an in-place snapshot
* Add test data for in place snapshot unit test
* Implement unit test for inplace snapshot
* Add check for storage IPLD
* Run unit tests sequentially
* Add github workflow for unit test
* Add missing checks for state and storage cid fields
* Add more storage nodes to test
* Update ipld-eth-db version for tests
* Add comments for inplace snapshot test data
* Add in-place snapshot cmd in readme
* Implement defer pattern for db transaction
* Log transaction commit or rollback error
Co-authored-by: nabarun <nabarun@deepstacksoft.com>
* Add instructions to import snapshot data into database
* Add monitoring and update data processing in README
* Update instructions to import snapshot
* snapshotter ignores nodes not along a path along those derived from a list of account addresses if one is provided
* config and env updates
* cmd update
* Encode watched address path bytes to hex for comparison
* actually ignore the subtries that are not along the paths of interest
* Fixes for account selective snapshot
* Use non-concurrent iterator when having a single worker
* Only index root node when starting path of an iterator is nil
* Upgrade deps
* Avoid tracking iterators and skip recovery test
* Fix recovery mechanism, use sync Map instead of buffered channels
* Add test for account selective snapshot
* Continue traversal with concurrent iterators with starting path nil
* Use errgroup to simplify error handling with concurrent iterators
* Check if all the nodes are indexed in the recovery test
* Use concurrency safe sync Map in account selective snapshot test
* Only track concurrent iterators and refactor code
* Fix node and recovered path comparison
* Revert back to using buffered channels for tracking iterators
* Add a metric to monitor number of active iterators
* Update docs
* Update seeked path after node is processed
* Return error on context cancellation from subtrie iteration
* Add tests for account selective snapshot recovery
* Explicity enforce concurrent iterator bounds to avoid duplicate nodes
* Update full snapshot test to check nodes being indexed
* Refactor code to simplify snapshot logic
* Remove unnecessary function argument
* Use ctx cancellation for handling signals
* Add descriptive comments
Co-authored-by: prathamesh0 <prathamesh.musale0@gmail.com>
* Add a script to find bad data in CSV file dumps
* Add a script to delete bad rows from CSV file dumps
* Add instructions to run the scripts
* Reorganize instructions
* cerc refactor waiting on unpublished dependencies
* more cerc_refactor with published ipld-eth-db unstable
* TearDownDB refactor
* missed second publisher_test TearDownDB
* Add a progress counter by checking the distance already traversed from the startPath to endPath in a bounded iterator vs the estimated number of iterations.
Can you make sure these match eth-statediff-service and any changes are documented? We will need to change all the code that uses these (eg, chain-chunker) to make sure we use the right env.
Can you make sure these match eth-statediff-service and any changes are documented? We will need to change all the code that uses these (eg, chain-chunker) to make sure we use the right env.
I mainly changed them to match eth-statediff-service so we're good there, but yes I'll review if anything needs an update including deployments. I'll mention it in Git and the readme, but I'm not actually sure if there's a better changelog-type place to document it.
I mainly changed them to match eth-statediff-service so we're good there, but yes I'll review if anything needs an update including deployments. I'll mention it in Git and the readme, but I'm not actually sure if there's a better changelog-type place to document it.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
WIP: Refactor to use statediff pluginto WIP: Refactor to use statediff plugin357585b1c0toc6170f063cStill need to refactor the per-iterator metrics for this
@@ -87,3 +100,2 @@stateSnapshotCmd.PersistentFlags().String(snapshot.LVL_DB_PATH_CLI, "", "path to primary datastore")stateSnapshotCmd.PersistentFlags().String(snapshot.ANCIENT_DB_PATH_CLI, "", "path to ancient datastore")stateSnapshotCmd.PersistentFlags().String(snapshot.LEVELDB_PATH_CLI, "", "path to primary datastore")Can you make sure these match eth-statediff-service and any changes are documented? We will need to change all the code that uses these (eg, chain-chunker) to make sure we use the right env.
I mainly changed them to match eth-statediff-service so we're good there, but yes I'll review if anything needs an update including deployments. I'll mention it in Git and the readme, but I'm not actually sure if there's a better changelog-type place to document it.
@@ -1,264 +1,619 @@package fixturevar Block1_StateNodeLeafKeys = []string{"0x291b6bbca879d684337ee5e2bca5d18cfb2d3b7a97c8187e703309564280295e",Did the data change?
No, it's just sorted. I'll add a comment.
We may need a new test, similar to what we talked about in #11, which compares before / after output.
Is this basically good to go?
a0a620a09dto7f32e9f699b0900a90e2to674c7e75f3Compliance test is added to CI.
Looks great.
@@ -0,0 +101,4 @@working-directory: ./ipld-eth-state-snapshotrun: go build -o ../snapshot-current .- name: Checkout canonical versionThis is a thing of beauty.