* rpcdaemon performance improve - less reading blocks, less allocs on server
* rpcdaemon performance improve - less reading blocks, less allocs on server
* rpcdaemon performance improve - less reading blocks, less allocs on server
* rpcdaemon performance improve - less reading blocks, less allocs on server
* don't use global variables
* df
* avoid use non-transactional db instance to reduce amount of cursors
* fix `make grpc` on new checkouts
* update proto files
* add some stub
* prototype with fake events
* notifying about events
* pass events
* events are being sent
* transfer headers to filters
* create the “filters” struct
* implement new heads
* PoC of New Heads subscription
* fix keep alive
* fixups for the client
* add “type” to the event
* support header event type on client
* better stage refactor
* fixup for the eth backend
* fixups
* fix tests
* fix tests
* fix linters
* address comments
* remove unused log
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* change_set_dup
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* working version
* aa
* aa
* aa
* aa
* aa
* aa
* aa
* aa
* aa
* aa
* aa
* aa
* aa
* aa
* aa
* squash
* squash
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* history_early_stop
* history_early_stop
* vmConfig with ReadOnly false
* auto_increment
* auto_increment
* rebase master
Co-authored-by: Alexey Akhunov <akhounov@gmail.com>
* save progress
* GracefulShutdown grpc server, send to server close signal before canceling context
* GracefulShutdown json server
* GracefulShutdown json server
* fix lint
* clean
* hack hugeFreelist
* up streams limit
* up streams limit
* up streams limit
* up streams limit
* up streams limit
* up streams limit
* up streams limit
* up streams limit
* up streams limit
* save progress
* fix_race_condition_on_zstd_build
* fix_race_condition_on_zstd_build
* better close cursor
* save progress
* open read tx in all api methods
* clean
* clean
* save progress
* GracefulShutdown grpc server, send to server close signal before canceling context
* GracefulShutdown grpc server, send to server close signal before canceling context
* GracefulShutdown json server
* GracefulShutdown json server
* fix lint
* fix lint
* can
* clean
* test
* test
* test
* increase keepalive timeout, increase vegeta timeout, mark server-side errors
* increase keepalive timeout, increase vegeta timeout, mark server-side errors
* hack hugeFreelist
* up streams limit
* up streams limit
* up streams limit
* up streams limit
* up streams limit
* up streams limit
* up streams limit
* up streams limit
* up streams limit
* up streams limit
* up streams limit
* fix_race_condition_on_zstd_build
* it compiles
* after recent master
* fix linters warnings
* grpcV7
* go mod tidy
* unmarshall adresses or adress
* fix linters
* after cr
* after cr
* after cr
* after cr
* fix tests
* remove dev version
* it compiles
* mod tidy
* fix bin deps
* use stable version of grpc
* switch back to master constructor
* switch back to master constructor
* add a bit docs
* add a bit docs
Co-authored-by: Alexey Akhunov <akhounov@gmail.com>
Co-authored-by: alex.sharov <AskAlexSharov@gmail.com>
* don't call initCursor on happy path
* don't call initCursor on happy path
* don't run stale reads goroutine for inMem mode
* don't call initCursor on happy path
* remove buffers from cursor object - they are useful only in Badger implementation
* commit kv benchmark
* remove buffers from cursor object - they are useful only in Badger implementation
* remove buffers from cursor object - they are useful only in Badger implementation
* cancel server before return pipe to pool
* try to fix test
* set field db in managed tx
* resetIH from scratch if needed
* lmdb
* add AbstractKV to loader, added new Object accessor around AbstractKV
* add lmdb cli flag
* add requirement of k!=nil on error in docs
* add Size method for compatibility
* read after put tests
* fix multiput nils
* simplify loops
* increase mmap size
* better error messages
* better error messages
* fix tests
* better error messages
* cleanup
* avoid bolt usage in test
* move hardcoded bucket name to dbutils
* register more buckets
* register more buckets
* fix test
* - handle cursor.Prefix on server
- move state reports to KV interface
* add CmdCursorSeekKey
* tests for abstract_kv
* avoid reading configs of databases
* avoid reading configs of databases
* make linter happy
* make linter happy
* cleanup
* port badger features from original implementation
* try to fix test
* try to fix test
* .Close() don't return error anymore - defer friendly
* try to enable badger now
* try to enable badger now
* badger can't run on CI yet
* badger can't run on CI yet
* re-run ci
* skip ctx cancelation for badger
* Introduce NoValuesCursor. From() method is useless because can be replaced by Seek().`
* implement NoValueCursor interface
* use abstract db in restapi
* cleanup .md
* another way to check if account has storage
* cleanup
* v0 of walk by db version
* save progress, to switch to another task. Put tombstone is still not correct.
* place tombstone only if exists something to hide
* db-based implementation
* db-based implementation
* db-based implementation
* fix prop check
* improve prop check logic
* Need custom logic to skip subtree for account and storage buckets because storage bucket has incarnation in key
* rebase to master
* remove all tombstones when account deleted
* remove all tombstones when account deleted
* added db integrity check
* don't rely on account.Root because it valid only about last incarnation
* remove all tombstones when account deleted
* dial with incarnation in MultiWalk2
* dial with incarnation in MultiWalk2
* when fixedbytes=40 resolver did compare cacheKey with storageKey without removing incarnation
* rebase to master
* rebase to master
Co-authored-by: alex.sharov <alex.sharov@lazada.com>
* implement NoValueCursor interface
* cleanup
* fix tests
* add more stats data to ui
* can't display error
* re-open DB low-level net interface when changing db
* re-open DB low-level net interface when changing db
* fix problem with displaying errors
* run ci
* improve prop check logic
* storage tombstones integrity checks UI
* storage page
* make DB configurable
Co-authored-by: alex.sharov <alex.sharov@lazada.com>
* badger v2 investigation
* buf pool - use native New method and avoid double checks
* db.Open prototype
* db.Tx/Bucket/Cursor prototypes
* Chained config
* Item concept added
* save changes to test on master
* make hack resumable
* Design document v0
* Cursor concept
* less brackets syntax of cursor builder
* benchmarks
* cleanup fs
* test for context cancelations
* test for context cancelations
* test for cursor.Prefix option
* add ForEachKey method
* add ForEachKey method
* add naming explanation
* experiment of non-pointers cursor/bucket
* .Bucket() and .Cursor() doesn't returns error
* .Bucket() and .Cursor() doesn't returns error
* .Bucket() and .Cursor() doesn't returns error
* remove CursorOpts concept
* more test-cases
* simplify open api
* Tx, Bucket, Cursor - now are interfaces
* Tx, Bucket, Cursor - now are interfaces
* switch to interfaces
* rebase master
Co-authored-by: alex.sharov <alex.sharov@lazada.com>