Skip to content

AAE-54710 Implement reusable Outbox message store pattern in Activiti Cloud Messaging - #2794

Draft
igdianov wants to merge 37 commits into
developfrom
feature/AAE-54710-igdianov-outbox-store-runtime
Draft

igdianov wants to merge 37 commits into
developfrom
feature/AAE-54710-igdianov-outbox-store-runtime

Conversation

@igdianov

Copy link
Copy Markdown
Contributor

No description provided.

@igdianov igdianov self-assigned this Oct 27, 2026
@github-actions

github-actions Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

playswag — API Coverage Report

Dimension Covered Total %
Endpoints 135 140 🟢 96.4%
Status Codes 214 937 🔴 22.8%
Parameters 136 688 🔴 19.8%
Body Properties 127 668 🔴 19.0%
Response Properties 1216 3549 🔴 34.3%

Coverage by Tag

Tag Endpoints Status Codes Parameters Body Props Resp Props
task-controller-impl 🟢 100.0% 🔴 17.7% 🟡 56.3% 🟡 60.6% 🔴 40.4%
task-variable-controller-impl 🟢 100.0% 🔴 12.5% 🟢 100.0% 🟢 80.0% 🔴 4.8%
process-instance-controller-impl 🟢 100.0% 🔴 17.0% 🟡 57.1% 🔴 45.2% 🔴 42.0%
process-instance-variable-controller-impl 🟢 100.0% 🔴 12.5% 🟢 100.0% 🟡 50.0% 🔴 6.7%
task-admin-controller-impl 🟢 100.0% 🔴 12.5% 🟡 62.5% 🟡 57.1% 🔴 31.3%
task-variable-admin-controller-impl 🟢 100.0% 🔴 12.5% 🟢 100.0% 🟢 80.0% 🔴 4.8%
process-instance-admin-controller-impl 🟢 100.0% 🔴 13.6% 🟡 57.1% 🔴 39.1% 🔴 40.2%
process-instance-variable-admin-controller-impl 🟢 100.0% 🔴 12.5% 🟢 100.0% 🟡 50.0% 🔴 4.8%
candidate-user-controller-impl 🟢 100.0% 🔴 12.5% 🟢 100.0% 🟡 75.0% 🔴 4.8%
candidate-group-controller-impl 🟢 100.0% 🔴 12.5% 🟢 100.0% 🟡 75.0% 🔴 4.8%
candidate-user-admin-controller-impl 🟢 100.0% 🔴 12.5% 🟢 100.0% 🟡 75.0% 🔴 4.8%
candidate-group-admin-controller-impl 🟢 100.0% 🔴 12.5% 🟢 100.0% 🟡 75.0% 🔴 4.8%
service-task-admin-controller-impl 🟢 100.0% 🔴 12.5% 🟢 100.0% 🟢 100.0% 🔴 0.0%
home-controller-impl 🟢 100.0% 🔴 12.5% 🟢 100.0% 🟢 100.0% 🔴 10.0%
process-instance-tasks-controller-impl 🟢 100.0% 🔴 12.5% 🔴 25.0% 🟢 100.0% 🔴 33.3%
process-definition-controller-impl 🟢 100.0% 🔴 12.5% 🟡 50.0% 🟢 100.0% 🔴 18.6%
process-definition-meta-controller-impl 🟢 100.0% 🔴 12.5% 🟢 100.0% 🟢 100.0% 🔴 0.0%
connector-definition-controller-impl 🟢 100.0% 🔴 12.5% 🟢 100.0% 🟢 100.0% 🔴 16.0%
process-definition-admin-controller-impl 🟢 100.0% 🔴 12.5% 🔴 0.0% 🟢 100.0% 🔴 33.3%
task-controller 🟢 100.0% 🟡 63.3% 🔴 25.0% 🔴 6.8% 🔴 48.3%
process-instance-controller 🟢 100.0% 🟡 60.0% 🔴 10.4% 🔴 5.6% 🟡 54.1%
count-controller 🔴 0.0% 🔴 0.0% 🟢 100.0% 🔴 0.0% 🔴 0.0%
task-admin-controller 🟢 100.0% 🟡 62.9% 🔴 13.7% 🔴 8.8% 🔴 44.9%
task-delete-controller 🟢 100.0% 🔴 20.0% 🔴 0.0% 🟢 100.0% 🔴 16.7%
process-instance-admin-controller 🟢 100.0% 🔴 45.0% 🔴 8.2% 🔴 2.8% 🔴 47.6%
process-instance-delete-controller 🟢 100.0% 🔴 20.0% 🔴 0.0% 🟢 100.0% 🔴 16.7%
count-admin-controller 🔴 0.0% 🔴 0.0% 🟢 100.0% 🔴 0.0% 🔴 0.0%
task-variable-controller 🟢 100.0% 🔴 20.0% 🔴 14.3% 🟢 100.0% 🟡 50.0%
process-instance-variable-controller 🟢 100.0% 🔴 20.0% 🔴 11.1% 🟢 100.0% 🟡 50.0%
process-instance-tasks-controller 🟢 100.0% 🔴 20.0% 🔴 20.0% 🟢 100.0% 🟡 50.0%
process-instance-diagram-controller 🟢 100.0% 🔴 40.0% 🟢 100.0% 🟢 100.0% 🔴 33.3%
process-definition-controller 🟢 100.0% 🔴 20.0% 🔴 0.0% 🟢 100.0% 🟡 50.0%
process-model-controller 🟢 100.0% 🔴 20.0% 🟢 100.0% 🟢 100.0% 🔴 0.0%
application-controller 🟢 100.0% 🔴 20.0% 🔴 0.0% 🟢 100.0% 🟡 50.0%
task-variable-admin-controller 🟢 100.0% 🟡 60.0% 🔴 14.3% 🟢 100.0% 🟡 50.0%
service-task-admin-controller 🟢 100.0% 🔴 20.0% 🔴 10.0% 🟢 100.0% 🟡 57.1%
service-task-integration-context-admin-controller 🟢 100.0% 🔴 20.0% 🔴 40.0% 🟢 100.0% 🔴 49.2%
process-instance-variable-admin-controller 🟢 100.0% 🔴 40.0% 🔴 11.1% 🟢 100.0% 🟡 50.0%
process-instance-tasks-admin-controller 🟢 100.0% 🔴 20.0% 🔴 25.0% 🟢 100.0% 🟡 50.0%
process-instance-service-tasks-admin-controller 🟢 100.0% 🔴 20.0% 🔴 10.0% 🟢 100.0% 🟡 50.0%
process-instance-sequence-flows-admin-controller 🟢 100.0% 🔴 40.0% 🔴 5.3% 🟢 100.0% 🟡 50.0%
process-instance-diagram-admin-controller 🟢 100.0% 🔴 40.0% 🟢 100.0% 🟢 100.0% 🔴 0.0%
process-instance-bpmn-activities-admin-controller 🟢 100.0% 🔴 20.0% 🔴 25.0% 🟢 100.0% 🟡 50.0%
process-definition-admin-controller 🟢 100.0% 🔴 20.0% 🔴 0.0% 🟢 100.0% 🟡 50.0%
process-model-admin-controller 🟢 100.0% 🔴 20.0% 🟢 100.0% 🟢 100.0% 🔴 0.0%
integration-context-admin-controller 🟢 100.0% 🟡 60.0% 🟢 100.0% 🟢 100.0% 🟡 55.3%
application-admin-controller 🟢 100.0% 🟡 60.0% 🔴 0.0% 🟢 100.0% 🟡 50.0%
audit-events-controller-v-2-impl 🔴 0.0% 🔴 0.0% 🔴 0.0% 🟢 100.0% 🔴 0.0%
audit-events-controller-impl 🟢 100.0% 🟡 50.0% 🟢 80.0% 🟢 100.0% 🟡 67.3%
audit-events-admin-controller-v-2-impl 🔴 0.0% 🔴 0.0% 🔴 0.0% 🟢 100.0% 🔴 0.0%
audit-events-admin-controller-impl 🟢 100.0% 🟡 70.0% 🟢 100.0% 🟢 100.0% 🔴 44.4%
audit-events-delete-controller 🟢 100.0% 🔴 20.0% 🟢 100.0% 🟢 100.0% 🔴 0.0%

View workflow run

@igdianov
igdianov force-pushed the feature/AAE-54710-igdianov-outbox-store-runtime branch 2 times, most recently from 1ed7e87 to 792a333 Compare October 28, 2026 17:53
@github-actions

Copy link
Copy Markdown

🔒 Supply Chain Security

This PR modifies dependencies. To run a security analysis, comment:

/supply-chain-review

The analysis will check for vulnerabilities, typosquatting, maintainer takeovers, and other supply chain risks.

@alfresco-build alfresco-build added this to the Validating milestone Oct 28, 2026
@igdianov igdianov changed the title AAE-54710 Test Outbox message store pattern preview in Process Runtime AAE-54710 Implement reusable Outbox message store pattern in Activiti Cloud Messaging Oct 29, 2026
@igdianov
igdianov force-pushed the feature/AAE-54710-igdianov-outbox-store-runtime branch 7 times, most recently from 568b140 to 81d977c Compare November 4, 2026 14:58
@github-actions

github-actions Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

🐢 Slow Tests Report

🧪 Unit Tests

The following 20 unit test(s) took more than 5 seconds:

Time # Class Test
12.82s 1 org.activiti.services.connectors.IntegrationRequestSenderTest shouldSendExpirationHeaders
10.99s 2 org.activiti.services.connectors.behavior.MQServiceTaskBehaviorTest executeShouldDelegateToDefaultBehaviourWhenBeanIsAvailable
9.38s 3 org.activiti.cloud.services.events.services.IncidentServiceTest shouldCreateAndSendExecutionContextIncidentEvent
8.62s 4 org.activiti.services.connectors.IntegrationRequestSenderTest shouldSendExpirationHeaders
8.11s 5 org.activiti.services.connectors.channel.AggregateIntegrationErrorReceivedEventCmdTest should_aggregateIntegrationErrorReceivedEvent_when_auditEventAreEnabled
7.70s 6 org.activiti.cloud.alfresco.argument.resolver.AlfrescoPageArgumentMethodResolverTest resolveArgumentShouldReturnAPageableBasedOnParsedSkipCountAndMaxItems
7.41s 7 org.activiti.services.connectors.behavior.MQServiceTaskBehaviorTest executeShouldDelegateToDefaultBehaviourWhenBeanIsAvailable
6.99s 8 org.activiti.services.connectors.recovery.OrphanedIntegrationRecoverySchedulerTest should_continueRecoveringRemainingContexts_when_oneRecoveryThrows
6.96s 9 org.activiti.cloud.services.notifications.qraphql.ws.security.ConnectionContextWebSocketInterceptorTest should_fallBackToNoGroups_when_theGroupsProviderThrows
6.87s 10 org.activiti.cloud.services.events.converter.ProcessAuditServiceInfoAppenderTest should_setAndGetActor_when_identityLinkTypeIsActor
6.64s 11 org.activiti.cloud.common.messaging.config.ActivitiMessagingEnvironmentPostProcessorTest should_setDefaultBinderToAwsAndDisableRabbitHealthCheck_when_brokerIsAws
6.56s 12 org.activiti.cloud.services.core.ProcessDefinitionValuesServiceTest should_returnConstantValues_multipleProcesses_when_getProcessModelConstantValuesForStartEvent
6.38s 13 org.activiti.cloud.common.messaging.config.ConnectorOutputBindingEnvironmentPostProcessorTest should_appendToExistingOutputBindings_withoutDuplicating
6.35s 14 org.activiti.cloud.services.events.converter.ToCloudProcessRuntimeErrorEventsConverterTest shouldConvertBPMNErrorReceivedEventToCloudBPMNErrorReceivedEvent
6.35s 15 org.activiti.cloud.services.events.converter.TaskAuditServiceInfoAppenderTest should_setAndGetActor_when_userHasNameSet
6.28s 16 org.activiti.cloud.conf.PushedCountsRecomputeAutoConfigurationWiringTest should_notRegisterASecondClock_when_theWebSocketAutoConfigurationAlreadyProvidesOne
6.19s 17 org.activiti.cloud.services.core.pageable.TaskSortApplierTest applySort_should_oder_by_task_id_asc_by_default
6.13s 18 org.activiti.cloud.services.events.services.IncidentServiceTest shouldCreateAndSendExecutionContextIncidentEvent
5.81s 19 org.activiti.cloud.services.rest.assemblers.ExtendedCloudProcessDefinitionRepresentationModelAssemblerTest toResourceShouldReturnResourceWithSelfLinkContainingResourceId
5.81s 20 org.activiti.cloud.services.rest.assemblers.ProcessDefinitionMetaRepresentationModelAssemblerTest toResourceShouldReturnResourceWithSelfLinkContainingResourceId

🔗 Integration Tests

The following 20 integration test(s) took more than 5 seconds:

Time # Class Test
105.71s 1 org.activiti.cloud.starter.tests.recovery.OrphanedIntegrationRecoveryIT should_taskTransitionToErrorState_when_applicationIsKilledDuringServiceTaskExecution(boolean)[2]
38.40s 2 org.activiti.cloud.starter.tests.recovery.OrphanedIntegrationRecoveryIT should_taskTransitionToErrorState_when_applicationIsKilledDuringServiceTaskExecution(boolean)[1]
21.60s 3 org.activiti.cloud.starter.tests.runtime.JobExecutorIT testTimerJobsFailRetry
21.55s 4 org.activiti.cloud.starter.tests.runtime.JobExecutorIT testTimerJobsFailRetry
15.07s 5 org.activiti.cloud.common.messaging.config.test.FunctionRouterBindingConfigurationIT messageTimeoutException
10.96s 6 org.activiti.cloud.services.identity.keycloak.KeycloakClientIT should_get101Users_by_Role
10.02s 7 org.activiti.cloud.common.messaging.config.test.FunctionRouterBindingConfigurationIT functionExecutorShouldAwaitTerminatingTasksOnDestroy
10.01s 8 org.activiti.cloud.examples.connectors.HeadersConnectorIT headersConnectorShouldNotSendIntegrationResult
9.81s 9 org.activiti.cloud.starter.messages.test.redis.RedisMessageStoreIT shouldProcessMessageEventsConcurrentlyInReversedOrder
8.41s 10 org.activiti.cloud.starter.tests.recovery.OrphanedIntegrationRecoveryIT should_runRecoveryOnlyOnce_when_twoInstancesRunConcurrently
7.49s 11 org.activiti.cloud.common.messaging.config.test.FunctionRouterBindingConfigurationIT aggregateMessageDeliveryException
7.26s 12 org.activiti.cloud.common.messaging.config.test.FunctionRouterBindingConfigurationIT testFunctionBindings
7.23s 13 org.activiti.cloud.common.messaging.config.test.FunctionRouterBindingConfigurationIT testConsumerBindings
6.47s 14 org.activiti.cloud.starter.messages.test.hazelcast.HazelcastMessageStoreIT shouldProcessMessageEventsConcurrently
5.84s 15 org.activiti.cloud.notifications.graphql.starter.ActivitiGraphQLWsNativeStarterIT testGraphqlWsSubprotocolConnectionInitXAuthorizationSupported
5.84s 16 org.activiti.cloud.notifications.graphql.starter.ActivitiGraphQLWsNativeStarterIT testGraphqlWsSubprotocolConnectionInitXAuthorizationSupported
5.20s 17 org.activiti.cloud.notifications.graphql.starter.ActivitiGraphQLWsNativeStarterIT testGraphqlWsSubprotocolServerWithUserRoleAuthorized
5.18s 18 org.activiti.cloud.notifications.graphql.starter.ActivitiGraphQLWsNativeStarterIT testGraphqlWsSubprotocolServerWithUserRoleAuthorized
5.11s 19 org.activiti.cloud.services.identity.keycloak.KeycloakClientIT shouldGetUserGroupsCache
5.08s 20 org.activiti.cloud.services.identity.keycloak.KeycloakClientIT shouldGetGroupRolesFromCache

🏋️ Slowest Integration Test Classes (aggregated)

The following 5 class(es) took more than 30 seconds in total:

Total Time # All Tests Time > 5s Tests > 5s Class
152.51s 1 3 152.51s 3 org.activiti.cloud.starter.tests.recovery.OrphanedIntegrationRecoveryIT
56.09s 2 26 43.15s 2 org.activiti.cloud.starter.tests.runtime.JobExecutorIT
48.39s 3 34 47.08s 5 org.activiti.cloud.common.messaging.config.test.FunctionRouterBindingConfigurationIT
33.48s 4 33 26.20s 4 org.activiti.cloud.services.identity.keycloak.KeycloakClientIT
30.58s 5 32 22.05s 4 org.activiti.cloud.notifications.graphql.starter.ActivitiGraphQLWsNativeStarterIT

📊 Full Slow Test Report

@igdianov
igdianov force-pushed the feature/AAE-54710-igdianov-outbox-store-runtime branch 2 times, most recently from c2809df to 3cb3810 Compare November 5, 2026 18:55
@igdianov
igdianov force-pushed the feature/AAE-54710-igdianov-outbox-store-runtime branch from 3cb3810 to df8887c Compare November 6, 2026 17:28
@sonarqubecloud

sonarqubecloud Bot commented Nov 6, 2026

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants