Feature Summary
Root cause: the WebSocket handler checks that a workflow is attached, then dereferences an execution service that can still be null.
Before: a workflow is attached but execution has not started, then ModifyLogicRequest throws a NullPointerException.
Expected: the handler reports that workflow execution is not initialized and sends a WorkflowErrorEvent.
Reproduction evidence:
- Attach a WebSocket session to a workflow without starting execution.
- Send a ModifyLogicRequest frame.
- Observe the NullPointerException.
A regression test against commit caeb27e reproduced this with 15 passing tests and 1 failing test.
Version and commit evidence:
1.3.0-incubating-SNAPSHOT on main
Commit Hash (Optional)
caeb27e
Browsers
Not browser specific.
Relevant log output
java.lang.NullPointerException
Proposed Solution or Design
Expected: the handler reports that workflow execution is not initialized and sends a WorkflowErrorEvent.
Affected Area
Workflow Engine (Amber)
Feature Summary
Root cause: the WebSocket handler checks that a workflow is attached, then dereferences an execution service that can still be null.
Before: a workflow is attached but execution has not started, then ModifyLogicRequest throws a NullPointerException.
Expected: the handler reports that workflow execution is not initialized and sends a WorkflowErrorEvent.
Reproduction evidence:
A regression test against commit caeb27e reproduced this with 15 passing tests and 1 failing test.
Version and commit evidence:
1.3.0-incubating-SNAPSHOT on main
Commit Hash (Optional)
caeb27e
Browsers
Not browser specific.
Relevant log output
java.lang.NullPointerException
Proposed Solution or Design
Expected: the handler reports that workflow execution is not initialized and sends a WorkflowErrorEvent.
Affected Area
Workflow Engine (Amber)