coinbase/mesh-sdk-go

Allow Separate Configuration for Active/Inactive Reconciliation Concurrency

patrick-ogrady opened this issue · 0 comments

Is your feature request related to a problem? Please describe.
When reconciling a blockchain with many transactions, block syncing slows down significantly from all the reconciliation checks.

Describe the solution you'd like
It would be nice to either configure a separate concurrency value for active/inactive reconciliation (ex: 16 goroutines for active lookups and 4 goroutines for inactive lookups) or refactor reconciliation logic to always prioritize active reconciliation from a single goroutine pool.

Describe alternatives you've considered

  • Run more nodes to handle load of combined active/inactive reconciliation load. (this is expensive/not feasible on a single laptop)
  • Disable lookup-balance-by-block so that active balance reconciliation is asynchronous. (this setting disables the ability to check balances while syncing to tip)