-
Notifications
You must be signed in to change notification settings - Fork 863
Composite State Store part 4: Dual-write path implementation #2757
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
base: feature/composite-ss-read-path
Are you sure you want to change the base?
Composite State Store part 4: Dual-write path implementation #2757
Conversation
|
The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).
|
| for version, evmChanges := range evmChangesByVersion { | ||
| if err := s.evmStore.ApplyChangesetParallel(version, evmChanges); err != nil { | ||
| s.logger.Error("failed to raw import EVM data", "version", version, "error", err) | ||
| } | ||
| } |
Check warning
Code scanning / CodeQL
Iteration over map Warning
| go func() { | ||
| defer wg.Done() | ||
| cosmosErr = s.cosmosStore.ApplyChangesetSync(version, changesets) | ||
| }() |
Check notice
Code scanning / CodeQL
Spawning a Go routine Note
| go func() { | ||
| defer wg.Done() | ||
| evmErr = s.evmStore.ApplyChangesetParallel(version, evmChanges) | ||
| }() |
Check notice
Code scanning / CodeQL
Spawning a Go routine Note
| go func() { | ||
| defer wg.Done() | ||
| cosmosErr = s.cosmosStore.ApplyChangesetAsync(version, changesets) | ||
| }() |
Check notice
Code scanning / CodeQL
Spawning a Go routine Note
| go func() { | ||
| defer wg.Done() | ||
| evmErr = s.evmStore.ApplyChangesetParallel(version, evmChanges) | ||
| }() |
Check notice
Code scanning / CodeQL
Spawning a Go routine Note
| go func() { | ||
| defer wg.Done() | ||
| cosmosErr = s.cosmosStore.Import(version, cosmosCh) | ||
| }() |
Check notice
Code scanning / CodeQL
Spawning a Go routine Note
| go func() { | ||
| defer wg.Done() | ||
| cosmosErr = s.cosmosStore.RawImport(cosmosCh) | ||
| }() |
Check notice
Code scanning / CodeQL
Spawning a Go routine Note
Implements full dual-write to both Cosmos_SS and EVM_SS: - ApplyChangesetSync/Async: Write to both stores in parallel - EVM changes extracted via commonevm.ParseEVMKey directly - Import/RawImport: Fan out to both stores - Idempotent writes: If either fails, caller can safely retry No separate router abstraction - uses common utility directly.
b437822 to
f5ac4df
Compare
90a80ae to
64dae4e
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## feature/composite-ss-read-path #2757 +/- ##
==================================================================
- Coverage 47.81% 41.87% -5.95%
==================================================================
Files 357 1022 +665
Lines 34697 84784 +50087
==================================================================
+ Hits 16592 35500 +18908
- Misses 16527 45944 +29417
- Partials 1578 3340 +1762
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
Describe your changes and provide context
Testing performed to validate your change