feat: add migrations manager to manage synchronous and asynchronous migrations#7273
feat: add migrations manager to manage synchronous and asynchronous migrations#7273hansieodendaal wants to merge 1 commit intotari-project:developmentfrom
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the WalkthroughThis change introduces a new gRPC method for searching payment references via output hash, updates the protocol buffer definitions, and refactors the backend and database interfaces to support unified mined info retrieval by both payment reference and output hash. It also implements a migration framework, updates PayRef index handling, and enhances migration logic and metadata tracking. Changes
Sequence Diagram(s)sequenceDiagram
participant Client
participant BaseNodeGrpcServer
participant BlockchainDb
Client->>BaseNodeGrpcServer: SearchPaymentReferencesViaOutputHash(request)
BaseNodeGrpcServer->>BlockchainDb: fetch_mined_info_by_output_hash(output_hash)
BlockchainDb-->>BaseNodeGrpcServer: MinedInfo (input/output details)
BaseNodeGrpcServer-->>Client: stream PaymentReferenceResponse (with spent/unspent metadata)
Possibly related PRs
Suggested reviewers
Poem
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
9c3f3b0 to
5e2761d
Compare
Test Results (Integration tests) 2 files 1 errors 1 suites 15m 14s ⏱️ For more details on these parsing errors and failures, see this check. Results for commit 0035cbe. ♻️ This comment has been updated with latest results. |
Test Results (CI) 3 files 126 suites 45m 38s ⏱️ For more details on these failures, see this check. Results for commit 0035cbe. ♻️ This comment has been updated with latest results. |
5e2761d to
773a1d1
Compare
Added a migrations manager to manage migrations. This also enables asynchronous migration steps.
773a1d1 to
0035cbe
Compare
|
This is the wrong approach as the way we implemented lmdb we do not have proper read/write locks in the backend. Adding or re-building payref indexes is also going to be declassified as a migration and will be moved and run in the domain As per discussion witn @SWvheerden and @sdbondi. |
|
*not application layer, domain layer |
Description
Motivation and Context
How Has This Been Tested?
What process can a PR reviewer use to test or verify this change?
Breaking Changes
Summary by CodeRabbit
New Features
Bug Fixes
Chores