Skip to content

Conversation

@Kbhat1
Copy link
Contributor

@Kbhat1 Kbhat1 commented Jan 23, 2026

Describe your changes and provide context

  • ApplyChangesetSync / ApplyChangesetAsync: Parallel writes to both stores
  • EVM changes extracted via commonevm.ParseMemIAVLEVMKey
  • Import/RawImport: Fan out snapshot data to both stores
  • Idempotent writes: If either store fails, caller can safely retry

Testing performed to validate your change

  • Unit tests

@github-actions
Copy link

github-actions bot commented Jan 23, 2026

The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedJan 23, 2026, 10:09 PM

Comment on lines +392 to +396
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

Iteration over map may be a possible source of non-determinism
Comment on lines +213 to +216
go func() {
defer wg.Done()
cosmosErr = s.cosmosStore.ApplyChangesetSync(version, changesets)
}()

Check notice

Code scanning / CodeQL

Spawning a Go routine Note

Spawning a Go routine may be a possible source of non-determinism
Comment on lines +220 to +223
go func() {
defer wg.Done()
evmErr = s.evmStore.ApplyChangesetParallel(version, evmChanges)
}()

Check notice

Code scanning / CodeQL

Spawning a Go routine Note

Spawning a Go routine may be a possible source of non-determinism
Comment on lines +254 to +257
go func() {
defer wg.Done()
cosmosErr = s.cosmosStore.ApplyChangesetAsync(version, changesets)
}()

Check notice

Code scanning / CodeQL

Spawning a Go routine Note

Spawning a Go routine may be a possible source of non-determinism
Comment on lines +261 to +264
go func() {
defer wg.Done()
evmErr = s.evmStore.ApplyChangesetParallel(version, evmChanges)
}()

Check notice

Code scanning / CodeQL

Spawning a Go routine Note

Spawning a Go routine may be a possible source of non-determinism
Comment on lines +316 to +319
go func() {
defer wg.Done()
cosmosErr = s.cosmosStore.Import(version, cosmosCh)
}()

Check notice

Code scanning / CodeQL

Spawning a Go routine Note

Spawning a Go routine may be a possible source of non-determinism
Comment on lines +365 to +368
go func() {
defer wg.Done()
cosmosErr = s.cosmosStore.RawImport(cosmosCh)
}()

Check notice

Code scanning / CodeQL

Spawning a Go routine Note

Spawning a Go routine may be a possible source of non-determinism
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.
@Kbhat1 Kbhat1 force-pushed the feature/composite-ss-read-path branch from b437822 to f5ac4df Compare January 23, 2026 22:08
@Kbhat1 Kbhat1 force-pushed the feature/composite-ss-write-path branch from 90a80ae to 64dae4e Compare January 23, 2026 22:08
@codecov
Copy link

codecov bot commented Jan 23, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 41.87%. Comparing base (f5ac4df) to head (64dae4e).

Additional details and impacted files

Impacted file tree graph

@@                        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     
Flag Coverage Δ
sei-cosmos 37.72% <ø> (?)
sei-db 68.72% <ø> (ø)
sei-tendermint 47.57% <ø> (+0.02%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 682 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants