Skip to content

feat(sdk): Add DurableExecutionPlugin interface and plugin runner#408

Merged
ayushiahjolia merged 1 commit into
mainfrom
plugin-interface
Jun 2, 2026
Merged

feat(sdk): Add DurableExecutionPlugin interface and plugin runner#408
ayushiahjolia merged 1 commit into
mainfrom
plugin-interface

Conversation

@ayushiahjolia

@ayushiahjolia ayushiahjolia commented May 27, 2026

Copy link
Copy Markdown
Contributor

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Issue Link, if available

#364

Description

Introduce the plugin system foundation for the durable execution SDK:

  • DurableInstrumentationPlugin interface with lifecycle hooks for execution, invocation, operation, and attempt-level events
  • PluginRunner that composes multiple plugins with fire-and-forget and callback-wrapping execution semantics
  • Info records (InvocationInfo, OperationInfo, AttemptInfo, AttemptEndInfo, OperationEndInfo, ExecutionEndInfo, OperationChangeInfo)
  • withPlugins(List) config field in DurableConfig.Builder

Checklist

  • I have filled out every section of the PR template
  • I have thoroughly tested this change

Testing

Unit Tests

Have unit tests been written for these changes? Yes

Integration Tests

Have integration tests been written for these changes? N/A

Examples

Has a new example been added for the change? (if applicable) N/A

@ayushiahjolia ayushiahjolia marked this pull request as ready for review May 27, 2026 23:03
@ayushiahjolia ayushiahjolia requested a review from a team May 27, 2026 23:03
Comment thread sdk/src/main/java/software/amazon/lambda/durable/plugin/AttemptEndInfo.java Outdated
Comment thread sdk/src/main/java/software/amazon/lambda/durable/plugin/PluginRunner.java Outdated
@ayushiahjolia ayushiahjolia force-pushed the plugin-interface branch 4 times, most recently from 1984c81 to ecbd585 Compare May 28, 2026 20:50
Comment thread sdk/src/main/java/software/amazon/lambda/durable/plugin/PluginRunner.java Outdated
@ayushiahjolia ayushiahjolia force-pushed the plugin-interface branch 2 times, most recently from 5938735 to 746bf19 Compare June 1, 2026 21:30
Comment thread sdk/src/main/java/software/amazon/lambda/durable/plugin/AttemptOutcome.java Outdated
Comment thread sdk/src/main/java/software/amazon/lambda/durable/plugin/ExecutionStatus.java Outdated
@ayushiahjolia ayushiahjolia force-pushed the plugin-interface branch 2 times, most recently from 5ca391b to 9128070 Compare June 1, 2026 22:56
@ayushiahjolia ayushiahjolia requested a review from zhongkechen June 1, 2026 23:19
@SilanHe SilanHe self-requested a review June 1, 2026 23:27
Comment thread sdk/src/main/java/software/amazon/lambda/durable/DurableConfig.java Outdated
@ayushiahjolia ayushiahjolia merged commit 56534df into main Jun 2, 2026
14 of 20 checks passed
@ayushiahjolia ayushiahjolia changed the title feat(sdk): Add DurableInstrumentationPlugin interface and plugin runner feat(sdk): Add DurableExecutionPlugin interface and plugin runner Jun 2, 2026
@ayushiahjolia ayushiahjolia deleted the plugin-interface branch June 10, 2026 00:33
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.

3 participants