-
Notifications
You must be signed in to change notification settings - Fork 143
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
feat: Add time-driven event processing for triggering scheduled transactions #16017
feat: Add time-driven event processing for triggering scheduled transactions #16017
Conversation
Signed-off-by: Zhivko Kelchev <zhivko.kelchev@limechain.tech>
Signed-off-by: Valentin Tronkov <99957253+vtronkov@users.noreply.github.com>
Signed-off-by: ibankov <ivan.bankov@limechain.tech>
Signed-off-by: ibankov <ivan.bankov@limechain.tech>
…transactions # Conflicts: # hedera-node/hedera-app/src/main/java/com/hedera/node/app/workflows/handle/HandleWorkflow.java
Signed-off-by: Zhivko Kelchev <zhivko.kelchev@limechain.tech>
refactor hapi tests Signed-off-by: Zhivko Kelchev <zhivko.kelchev@limechain.tech>
Coverage summary from CodacySee diff coverage on Codacy
Coverage variation details
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: Diff coverage details
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: See your quality gate settings Change summary preferencesCodacy stopped sending the deprecated coverage status on June 5th, 2024. Learn more |
Signed-off-by: Michael Tinker <michael.tinker@swirldslabs.com>
Signed-off-by: Michael Tinker <michael.tinker@swirldslabs.com>
Signed-off-by: Michael Tinker <michael.tinker@swirldslabs.com>
Signed-off-by: Michael Tinker <michael.tinker@swirldslabs.com>
Signed-off-by: Michael Tinker <michael.tinker@swirldslabs.com>
Signed-off-by: Michael Tinker <michael.tinker@swirldslabs.com>
Signed-off-by: ibankov <ivan.bankov@limechain.tech>
Signed-off-by: Zhivko Kelchev <zhivko.kelchev@limechain.tech>
Signed-off-by: Zhivko Kelchev <zhivko.kelchev@limechain.tech>
Signed-off-by: ibankov <ivan.bankov@limechain.tech>
Signed-off-by: ibankov <ivan.bankov@limechain.tech>
fix long term schedule throttle warning. Signed-off-by: Zhivko Kelchev <zhivko.kelchev@limechain.tech>
Node: HAPI Test (Restart) Results9 files ±0 1 errors 8 suites - 1 7m 23s ⏱️ - 1m 12s For more details on these parsing errors, see this check. Results for commit e0d80b6. ± Comparison against base commit 00ceb9a. |
…persistence' into 15055-POC-long-term-scheduled-transactions # Conflicts: # hedera-node/hedera-schedule-service-impl/src/main/java/com/hedera/node/app/service/schedule/impl/handlers/HandlerUtility.java # hedera-node/hedera-schedule-service-impl/src/main/java/com/hedera/node/app/service/schedule/impl/handlers/ScheduleCreateHandler.java # hedera-node/hedera-schedule-service-impl/src/main/java/com/hedera/node/app/service/schedule/impl/handlers/ScheduleDeleteHandler.java # hedera-node/hedera-schedule-service-impl/src/main/java/com/hedera/node/app/service/schedule/impl/handlers/ScheduleManager.java # hedera-node/hedera-schedule-service-impl/src/main/java/com/hedera/node/app/service/schedule/impl/handlers/ScheduleSignHandler.java # hedera-node/hedera-schedule-service-impl/src/test/java/com/hedera/node/app/service/schedule/impl/handlers/HandlerUtilityTest.java # hedera-node/hedera-schedule-service-impl/src/test/java/com/hedera/node/app/service/schedule/impl/handlers/ScheduleCreateHandlerTest.java # hedera-node/hedera-schedule-service-impl/src/test/java/com/hedera/node/app/service/schedule/impl/handlers/ScheduleManagerTest.java
Signed-off-by: Zhivko Kelchev <zhivko.kelchev@limechain.tech>
Signed-off-by: Zhivko Kelchev <zhivko.kelchev@limechain.tech>
Signed-off-by: Zhivko Kelchev <zhivko.kelchev@limechain.tech>
Signed-off-by: Zhivko Kelchev <zhivko.kelchev@limechain.tech>
Signed-off-by: Michael Tinker <michael.tinker@swirldslabs.com> Signed-off-by: Zhivko Kelchev <zhivko.kelchev@limechain.tech> Co-authored-by: Zhivko Kelchev <zhivko.kelchev@limechain.tech> Co-authored-by: Joseph S. <121976561+jsync-swirlds@users.noreply.github.com>
Signed-off-by: Michael Tinker <michael.tinker@swirldslabs.com>
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.
LGTM, tyvm @JivkoKelchev !
…actions (#16017) Signed-off-by: Zhivko Kelchev <zhivko.kelchev@limechain.tech> Signed-off-by: Valentin Tronkov <99957253+vtronkov@users.noreply.github.com> Signed-off-by: ibankov <ivan.bankov@limechain.tech> Signed-off-by: Michael Tinker <michael.tinker@swirldslabs.com> Co-authored-by: Valentin Tronkov <99957253+vtronkov@users.noreply.github.com> Co-authored-by: ibankov <ivan.bankov@limechain.tech> Co-authored-by: Michael Tinker <michael.tinker@swirldslabs.com> Co-authored-by: Joseph S. <121976561+jsync-swirlds@users.noreply.github.com>
Description:
Add time-driven event processing for triggering scheduled transactions
Related issue(s):
Fixes #16019
Notes for reviewer:
The main goal of this PR was to process time-based events (execute schedule transactions) independent of the
useerTxn’s
stack. Ideally, to run theprocessInterval()
method without even passing theuserTxn
and move the method invocation out of theexecute()
method. However,userTxn's
stack should be used to purge the state in case of interval without executable schedules (only deleted or executed schedules). Also, in case the feature flag is false, the purge is done through theuserTxn’s
stack.In order to reduce the number of changes in this PR
ScheduleService
iterator will be in an upcoming PR.Checklist