Skip to content

Add in-memory WorkflowInstance store#300

Open
mcruzdev wants to merge 3 commits intoquarkiverse:mainfrom
mcruzdev:issue-118
Open

Add in-memory WorkflowInstance store#300
mcruzdev wants to merge 3 commits intoquarkiverse:mainfrom
mcruzdev:issue-118

Conversation

@mcruzdev
Copy link
Member

@mcruzdev mcruzdev commented Mar 7, 2026

This pull request introduces support for workflow instance management in the Dev UI for local development. The main changes include adding an in-memory workflow instance store, exposing new management endpoints via JSON-RPC, and comprehensive tests for these new features. Additionally, the test dependencies are updated to support the new test cases.

Dev UI workflow instance management support:

  • Added InMemoryWorkflowInstanceStore, an in-memory, application-scoped implementation of WorkflowInstanceStore for development mode, supporting pagination and sorting of workflow instances.
  • Registered new management beans (ManagementLifecycleListener, InMemoryWorkflowInstanceStore) and exposed ManagementLifecycleRPCService as a JSON-RPC provider for Dev UI in local development, enabling workflow instance lifecycle management from the UI. [1] [2]

Testing and validation:

  • Added LifecycleManagementDevUIJsonRPCTest to test workflow instance management features, including pagination, status filtering, and instance retrieval via Dev UI JSON-RPC endpoints.
  • Updated DevUIWorkflow test workflow to use FuncWorkflowBuilder and added example functions to demonstrate new management capabilities.
  • Added test dependencies (junit-jupiter, assertj-core) to core/runtime-dev/pom.xml for richer test assertions and support.

Runtime integration:

@mcruzdev mcruzdev marked this pull request as ready for review March 7, 2026 02:05
@mcruzdev mcruzdev requested a review from a team as a code owner March 7, 2026 02:05
@fjtirado fjtirado added the ⚠️ DO NOT MERGE DO NOT MERGE THIS PR! label Mar 9, 2026
Copy link
Contributor

@fjtirado fjtirado left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a lot of doubs about the "duplication" of this with the Persistentt layer for workflow exeuciton recovery (the info to be stored is essentially the same) but the "durability" of the info is different (for restore, the info should be deleted when the workflow completes) while here it should be kept.
I think, to establish a clear seperation, that the WorkflowInstancestore and its companion value object should be moved to runtime-dev

@fjtirado fjtirado removed the ⚠️ DO NOT MERGE DO NOT MERGE THIS PR! label Mar 9, 2026
@fjtirado fjtirado marked this pull request as draft March 9, 2026 13:58
Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>
Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>
Signed-off-by: Matheus Cruz <matheuscruz.dev@gmail.com>
@mcruzdev mcruzdev marked this pull request as ready for review March 10, 2026 19:01
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.

feat: Backend for the Management Console dashboard on the devui

3 participants