Skip to content

intent: ResilienceBpmnTest's SEND_YAML fixture is a self-loop (next: notifyOwner on notifyOwner) and the resilience wiring text names the wrong factory #7226

Description

@delchev

Summary

Two leftovers from #7165 (#7056, step resilience on a notify: service task).

1. The SEND_YAML fixture is a self-loop. components/engine/engine-intent/src/test/java/.../ResilienceBpmnTest.java:72-80 builds the send fixture with two .replace calls: the first INSERTS the notifyOwner send step carrying onError: recordFailure, next: done; the second then replaces every "onError: recordFailure, next: done" with "... next: notifyOwner" - which rewrites the just-inserted send step too, giving notifyOwner a next: notifyOwner. The done end is unreachable in the fixture; the tests pass because the parser only checks that next: names an EXISTING step (IntentParser.java:6252-6255). aSendWithoutResilienceKeysEmitsNoCycle (lines 864-866) additionally carries a dead first .replace("onError: notifyOwner", ...) - that text never occurs. Side effect worth its own line: a step whose next: is itself is accepted with no diagnostic anywhere, and a generated .bpmn with a self-targeting sequence flow spins.

2. The wiring text is stale in two places. components/engine/engine-intent/CLAUDE.md:416 and the javadoc of ResilientClassDelegateFactory.java:24 still describe the wiring as config.setActivityBehaviorFactory(new DefaultActivityBehaviorFactory(...)); production (BpmFlowableConfig.java:130) wires new ResilientActivityBehaviorFactory(new ResilientClassDelegateFactory()) - the very class #7165 added.

Fix

Fix the fixture so notifyOwner really leads to done (replace only provisionApp's next), delete the dead replace, and consider refusing next: <self> at parse. Update the two sentences.

Found reviewing #7165.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions