-
Notifications
You must be signed in to change notification settings - Fork 1
feat: Node syncing operation optimisation for the initial bootstrap with bulk sync atala operations #879
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
Conversation
Signed-off-by: mineme0110 <[email protected]> nodeoptimisation Signed-off-by: mineme0110 <[email protected]> nodeoptimisation Signed-off-by: mineme0110 <[email protected]> nodeoptimisation Signed-off-by: mineme0110 <[email protected]> nodeoptimisation Signed-off-by: mineme0110 <[email protected]> nodeoptimisation Signed-off-by: mineme0110 <[email protected]>
🦙 MegaLinter status:
|
Descriptor | Linter | Files | Fixed | Errors |
---|---|---|---|---|
✅ REPOSITORY | dustilock | yes | no | |
✅ REPOSITORY | git_diff | yes | no | |
kics | yes | 1 | ||
✅ REPOSITORY | syft | yes | no |
See detailed report in MegaLinter reports
Set VALIDATE_ALL_CODEBASE: true
in mega-linter.yml to validate all sources, not only the diff
Unit Test Results288 tests ±0 288 ✔️ ±0 19s ⏱️ -5s Results for commit 3ab886a. ± Comparison against base commit 5eb399e. This pull request removes 1 and adds 1 tests. Note that renamed tests count towards both.
♻️ This comment has been updated with latest results. |
…efficiently and quicker Signed-off-by: mineme0110 <[email protected]>
...main/scala/io/iohk/atala/prism/node/cardano/dbsync/repositories/CardanoBlockRepository.scala
Show resolved
Hide resolved
src/main/scala/io/iohk/atala/prism/node/repositories/daos/AtalaObjectsDAO.scala
Outdated
Show resolved
Hide resolved
src/main/scala/io/iohk/atala/prism/node/repositories/daos/AtalaObjectsDAO.scala
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mineme0110, could you take a look at my coments.
I'm concerned that we don't use the SQL cursor correctly.
It should be possible to fetch the blocks using stream and process this stream to the end.
…code to servuce layer the dao layer Signed-off-by: mineme0110 <[email protected]>
…ode from scratch Signed-off-by: mineme0110 <[email protected]>
…ode from scratch Signed-off-by: mineme0110 <[email protected]>
# [2.6.0](v2.5.0...v2.6.0) (2025-05-06) ### Bug Fixes * add validations to TimestampInfo ([#871](#871)) ([e7850e6](e7850e6)) * remove CORS ([#869](#869)) ([a2f55b5](a2f55b5)) ### Features * Node syncing operation optimisation for the initial bootstrap with bulk sync atala operations ([#879](#879)) ([21f52e7](21f52e7)) * postgres metrics ([#868](#868)) ([8a70e64](8a70e64))
Overview
This PR introduces bulk synchronization of the node state from the Cardano db-sync.
Bulk sync is a one-time, high-efficiency catch-up process that processes all Atala objects from the starting block(as defined in config
blockNumberSyncStart
) in large batches of5000
and stops atlastConfirmedBlockNo -blockConfirmationsToWait
, after which it updates the sync pointer so that regular incremental syncing can resume.Screenshots
Checklists
Pre-submit checklist:
Pre-merge checklist: