-
Notifications
You must be signed in to change notification settings - Fork 711
Log index #8464
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Log index #8464
Changes from 75 commits
Commits
Show all changes
477 commits
Select commit
Hold shift + click to select a range
1ce0b71
Adjust `OnReceiptsInserted` logging
alexb5dh 5e74181
Naming
alexb5dh 034e452
Normalize block number formatting
alexb5dh cd8468e
Build fix
alexb5dh da6afd0
Code cleanup
alexb5dh 0631693
Use ancient receipts barrier for backwards sync target & include targ…
alexb5dh fedcda2
Adjust logging and waiting times
alexb5dh fa37e02
Fresh start fix
alexb5dh a3ef48d
Adjust min target block calculation
alexb5dh 471e1e4
Fix repeated completion logging
alexb5dh acd75e0
Merge remote-tracking branch 'origin/master' into feature/log-index-2
alexb5dh 2a9fe01
Temporary more logging again
alexb5dh c699c69
Try recover receipts
alexb5dh e4e89ea
Optimize processing of no-tx blocks
alexb5dh c722af7
Fir out-of-range error
alexb5dh c7d0d38
Fix receipts deletion (#9231)
Marchhill 065ea2e
`logIndex_blockNumbers` RPC
alexb5dh 7a7d80e
Logging tweaks
alexb5dh 9713c54
[WIP] Support for topic index
alexb5dh d118316
Remove key size dependencies
alexb5dh 27eff95
Try compress key in both DBs
alexb5dh d825464
Separate merge operator per column family
alexb5dh 0a3c1e8
Fixes
alexb5dh e995a76
Remove possible collisions as causing invalid merge order
alexb5dh c9c944e
More fixes
alexb5dh c2419d0
Constant db key postfix size & fixes
alexb5dh e4cc092
Screw this, use separate DB per topic index
alexb5dh 9e36329
Get rid of generic iterator interface
alexb5dh 4550629
Fixes for seeking, but getting block numbers is now much slower
alexb5dh 1537c9b
Code cleanup
alexb5dh 8607f25
Do not remove leading zeroes & revert seeking
alexb5dh db59f42
Fix filter matching
alexb5dh 3b5901b
Tests fixes
alexb5dh 92c5a7e
Move filter tests to separate class & code formatting
alexb5dh 58a75f6
Support for concurrent forward/backward sync & tests
alexb5dh ba14b43
Fixes for concurrent sync & more aggresive test
alexb5dh dd8bfe3
Code cleanup
alexb5dh f721f45
Fix log index syncing blocking other tasks
alexb5dh 84e8417
Refactor syncing for better concurrency
alexb5dh 18a13d5
Increase receipts cache size to 1024
alexb5dh de552f7
Log receipts loading time
alexb5dh 143360d
Adjust parallelism values
alexb5dh 75fbde5
Track backward/forward syncing stats separately
alexb5dh f2437e6
Revert "Increase receipts cache size to 1024"
alexb5dh 9b17096
Set DB version
alexb5dh daf6110
Option to delay compressor start
alexb5dh 56a0cf0
Include index version and reset data if version is invalid
alexb5dh 171bac5
Log index compaction RPC
alexb5dh 3169513
todo
alexb5dh 027989b
Merge remote-tracking branch 'origin/master' into feature/log-index-2
alexb5dh 1a20215
Add missing service registration
alexb5dh d421990
Remove "waiting for block" trace logging
alexb5dh 2040d05
Do start indexing before DB initialization
alexb5dh 9adb3d5
Code cleanup
alexb5dh f9b6c61
Fix double DB initialization
alexb5dh 746521f
Fix aggressive memory usage
alexb5dh 86aa4f9
Stop on error
alexb5dh 5a4a05f
todos
alexb5dh bf03643
Formatting
alexb5dh 6295428
Configuration for log-index & support for disabling/resetting index v…
alexb5dh 5770cc1
Updates to logIndex_status, include status, last-update-data, and las…
alexb5dh 74db195
Replace last-update with `DateTimeOffset`
alexb5dh 9d6fd50
Typo fix
alexb5dh 7187e30
Syncing service small refactoring, fixes, and basic tests
alexb5dh ee1eb85
Fix repeated completion logging
alexb5dh b4005f9
Adjust default `SyncFetchBatchParallelism`
alexb5dh 9d4c9f3
TurboPFor updates to match package version
alexb5dh cc39645
Build fix
alexb5dh 98c11ad
Configurable compression algorithm, handle if unsupported
alexb5dh b4ce56f
Support for `IWriteBatch` clearing
alexb5dh 69d545f
Remove `RequireCommitWriteBatch`
alexb5dh 26a21ee
Throw if stopped
alexb5dh bdbe0bd
Simplify `GetDbSize`
alexb5dh c7e1edd
Prevent DB corruption in case of mid-sync error & tests
alexb5dh 1ec8d01
Remove stopping on error for now
alexb5dh f85af54
Updated compression-algo-change tests
alexb5dh 1530ad0
Formatting
alexb5dh 7f7dfd0
Small logging fix
alexb5dh f3f631f
~Temporary log completion time
alexb5dh 62ba82a
Configurable logging details
alexb5dh 425eac7
Fix for invalid ranges concatenation
alexb5dh d340b29
Revert "~Temporary log completion time"
alexb5dh 2573607
Additional check to prevent using block 0 as pivot
alexb5dh 78a4e33
Flag to verify eth_getLogs responses from index
alexb5dh fdf6004
Merge remote-tracking branch 'origin/master' into feature/log-index-2
alexb5dh 6eedec7
Build fix
alexb5dh 593271f
Switch to nuget package for TurboPFor
alexb5dh ca9da0e
Parallelize `LogIndexStorageFilterTests`
alexb5dh 550d5f4
Formatting
alexb5dh 943d34c
Try fix `LogIndexServiceTests`
alexb5dh 3324a3a
TurboPFor package update
alexb5dh b391fef
Fix immediate backward sync completion
alexb5dh bff4b6a
Tests for `LogFinder` index range calculation
alexb5dh e346359
Min number of blocks to use index
alexb5dh f59f330
PR cleanup
alexb5dh 0600a3c
Better handle write attempt during stopping
alexb5dh 38ee693
Temporary fix for missing Nuget dependency
alexb5dh 7566f44
PR cleanup
alexb5dh d81f46c
Revert attempt to use `OneTimeTearDown`
alexb5dh abafc70
Optimize compressor memory usage
alexb5dh b00741a
Fail log index on background job error
alexb5dh 28fb75b
Dependency fix
alexb5dh e889f76
Take in-progress into account when waiting for compression
alexb5dh 4f22265
Use array pool for compression
alexb5dh cd4309f
Adjust background exception handling
alexb5dh c4a35d1
Adjust exception handling
alexb5dh 7e946f0
Move registrations
alexb5dh b365cd9
Take sync direction from aggregation
alexb5dh 9369a2d
Remove first-block-added notification
alexb5dh 8c1885e
Remove testing methods
alexb5dh 3069e24
Remove unused code & PR cleanup
alexb5dh df5ac22
Formatting
alexb5dh 7b50fbf
PR cleanup
alexb5dh 75fda9a
Namespace update
alexb5dh ace54be
PR cleanup
alexb5dh e33aedc
Builder code cleanup
alexb5dh 9554df0
Config update
alexb5dh 9f820dd
Remove RPC response verification
alexb5dh cf3cb10
PR cleanup
alexb5dh e61a68f
Merge remote-tracking branch 'origin/master' into feature/log-index-2
alexb5dh 7354430
Tests fix
alexb5dh e2ce952
Disable index by default
alexb5dh edfca14
Tests fix
alexb5dh ceac0d0
Fix compaction being disabled
alexb5dh 1ebfb2a
Increase compaction logging level
alexb5dh e6e8e96
Make compression optional
alexb5dh c7e4e46
Remove completed TODO
alexb5dh abb8a34
Logging updates
alexb5dh d2f7298
Return RPC response verification flag with proper checks
alexb5dh 157d4e2
Build fix
alexb5dh 2166fca
PR cleanup
alexb5dh 8657f8c
Merge remote-tracking branch 'origin/master' into feature/log-index-2
alexb5dh c3aba75
Naming update to match existing signatures
alexb5dh 574cb9f
Partial test run fix
alexb5dh a7580d8
Logging tweak
alexb5dh c35eadb
PR cleanup
alexb5dh 590a5f2
PR cleanup
alexb5dh 80bc469
Move Merge to separate interface
alexb5dh 5e47352
PR feedback
alexb5dh e7e6514
Storage stability improvements & enable `OneTimeTearDown` in integrat…
alexb5dh e8fce7b
Receipts events renaming
alexb5dh 163b888
PR feedback
alexb5dh 545b2eb
Formatting
alexb5dh a83ce88
Code cleanup
alexb5dh a140e91
Code cleanup
alexb5dh 2708b70
Try make storage disposing thread-safe
alexb5dh 387dd6e
Do not throw from merge operator
alexb5dh c4b1e11
Disable `OneTimeTearDown` again
alexb5dh 8c099bd
Fix missing DB config
alexb5dh 3db8944
Fix disposing in case of error in ctor
alexb5dh 0172ca4
Use sorted view instead of iterator
alexb5dh 3af56f3
Do not publicly expose iterator
alexb5dh 8253f0b
Code cleanup
alexb5dh 0600885
Revert changes to DB config reading
alexb5dh c0f734a
PR feedback
alexb5dh 32f8101
PR feedback
alexb5dh 414d48c
PR feedback
alexb5dh 2cf5769
Merge remote-tracking branch 'origin/master' into feature/log-index-2
alexb5dh ee22402
Build fix
alexb5dh 8303576
Cherry-pick updates
alexb5dh 89450de
Commit all columns via single batch, store metadata in separate table
alexb5dh 3483635
Fix saving redundant data to range bound
alexb5dh 23a9df3
DB config fix
alexb5dh a9fb07b
Code formatting
alexb5dh ee539b2
Tests fix
alexb5dh b6cb0a8
[WIP] block number enumerator (nested)
alexb5dh a841eaf
[WIP] Fixing enumerator
alexb5dh 57f2d2b
[WIP] Fixing enumerator
alexb5dh 720936f
Fixes, code cleanup & use array pool for enumerator value
alexb5dh 2450e71
Code cleanup
alexb5dh e2e405d
Visitor tests cleanup
alexb5dh 5b5741d
Formatting
alexb5dh 6789e28
Simplify filter/expression updates
alexb5dh 15a613e
Code cleanup
alexb5dh 0b7f6ba
Merge remote-tracking branch 'origin/master' into feature/log-index-2
alexb5dh 8651168
Build fix
alexb5dh a4bd00f
Merge remote-tracking branch 'origin/master' into feature/log-index-2
alexb5dh 019c5d7
Tests fix
alexb5dh 8fea961
Code cleanup
alexb5dh 56f17a9
Merge remote-tracking branch 'origin/master' into feature/log-index-2
alexb5dh f7a85c4
Remove `AscListHelper` as not needed
alexb5dh 5b72543
Inline `UnionEnumerator`, v1
alexb5dh 86b66f0
Revert "Inline `UnionEnumerator`, v1"
alexb5dh 89f7e0a
More merge operator tests
alexb5dh 7418782
Code cleanup
alexb5dh f549245
Merge remote-tracking branch 'NethermindEth/master' into feature/log-…
alexb5dh 2d6ba46
Update TurboPFor package
alexb5dh 6f8fe0d
Simplify `LogFinder`
alexb5dh 817a4e3
Build fix attempt
alexb5dh 675dce9
Make `LogIndexFilterVisitor` enumerators internal
alexb5dh 02855aa
Remove unused parameter
alexb5dh ae8b745
Merge remote-tracking branch 'origin/master' into feature/log-index-2
alexb5dh 602d5ef
Code cleanup
alexb5dh c6f572d
Merge remote-tracking branch 'origin/master' into feature/log-index-2
alexb5dh 6a91fa8
Formatting
alexb5dh 20bf747
Spelling
alexb5dh d343392
Try make cspell happy
alexb5dh b23e2f8
Try make cspell happy
alexb5dh 5cf7f30
Try make cspell happy
alexb5dh 1965694
Try make cspell happy
alexb5dh 001f4b0
PR fixes
alexb5dh be1d736
Merge remote-tracking branch 'origin/master' into feature/log-index-2
alexb5dh dd8744f
Test build fix
alexb5dh 824b25d
PR fixes
alexb5dh f4c7fef
Merge remote-tracking branch 'origin/master' into feature/log-index-2
alexb5dh 34ccfdf
Merge remote-tracking branch 'origin/master' into feature/log-index-2
alexb5dh daa4d84
Move log-index features to inherited `IndexedLogFinder`
alexb5dh 6dc82ea
Simplify `filter_all_logs_iteratively` test
alexb5dh 792c264
Formatting
alexb5dh 1aac074
Simplify `StartLogIndex` step
alexb5dh 74b6a46
Block numbers copying optimization (little-endian only)
alexb5dh 1b74bc6
Merge remote-tracking branch 'origin/master' into feature/log-index-2
alexb5dh a952904
Test fix
alexb5dh 35981eb
Detailed in-code docs
alexb5dh 42ef2d2
Merge remote-tracking branch 'origin/master' into feature/log-index-2
alexb5dh 6a51c48
Doc tweaks
alexb5dh f5fdd28
More doc tweaks
alexb5dh 95f033a
PR cleanup
alexb5dh 8cbb97d
Merge remote-tracking branch 'origin/master' into feature/log-index-2
alexb5dh 4b3a179
Make `GetBlockReceipts` a bit more explicit
alexb5dh f139c67
Build fix
alexb5dh f6f314d
Spelling
alexb5dh 0325b2b
minor refactors
LukaszRozmej 2f7957a
more minor refactors
LukaszRozmej dfab30d
minor refactor of Compressor - add alternative lookup to avoid alloca…
LukaszRozmej 918690f
simplifications in LogIndexStorage
LukaszRozmej ee66430
simplify semaphores
LukaszRozmej 7dc941f
move to stackalloc in LogIndexStorage where possible
LukaszRozmej 2235554
simplify merge operators to inline array
LukaszRozmej dd88dc1
correctly dispose ArrayPoolList in Merge tests
LukaszRozmej ff5d35e
more simple refactors
LukaszRozmej e49fb27
In LogIndexBuilder replace Dictionaries iwth Direction
LukaszRozmej bdb35f9
Simplify UnionEnumerator
LukaszRozmej f519cba
Removed linq from IndexedLogFinder
LukaszRozmej 072c408
Merge branch 'master' into feature/log-index-2
LukaszRozmej a728ed3
Code cleanup
alexb5dh 43468cd
Simplify DBs initialization
alexb5dh cd4cd19
Code cleanup
alexb5dh 88c2c2c
PR feedback
alexb5dh 352d31f
Code cleanup
alexb5dh 6a2af05
Merge remote-tracking branch 'origin/master' into feature/log-index-2
alexb5dh a575a42
Remove `storage` parameter from `LogIndexEnumerator`
alexb5dh e939518
Add complex LogIndex integration tests (#10425)
LukaszRozmej 39e0f35
Simplify Compactor concurrency with Channel<T> (#10424)
LukaszRozmej f30a30a
Merge remote-tracking branch 'origin/master' into feature/log-index-2
alexb5dh 01c781e
[WIP] use `PruningConfig.PruningBoundary` as default reorg depth
alexb5dh 30cb63c
Use `PruningConfig.PruningBoundary` as default reorg depth
alexb5dh 38453fd
Take `PruningBoundary` before it's overwritten via `SnapServingMaxDepth`
alexb5dh f3c51ce
Revert test change
alexb5dh 6124118
Flaky test fix
alexb5dh File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.