Skip to content

Update JCA to 2.4.12 - #51

Merged
slominskir merged 1 commit into
mainfrom
bump-jca-2.4.12
Oct 4, 2026
Merged

slominskir merged 1 commit into
mainfrom
bump-jca-2.4.12

Conversation

@slominskir-coding-agent

Copy link
Copy Markdown
Contributor

Updates org.epics:jca from 2.4.10 to 2.4.12.

Why

2.4.12 fixes a reconnect bug seen on Java 11 and later (epics-base/jca#86, fixed by #87). epics2web runs on Java 21.

  • The bug: a send that failed partway through re-establishing a subscription left its request buffer in a bad state. A later reconnect then threw IndexOutOfBoundsException in EventAddRequest.resubscribeSubscription, and the subscription was never restored.
  • The effect: a monitor connected but receiving nothing, which is what a frozen PV looks like.

Production logs don't show that exception, so it isn't confirmed as the cause of the frozen PVs. It's a cheap, low-risk fix of a failure mode that matches them.

The other changes since 2.4.10 are CA name server support and Sonatype release tooling.

Checks

  • ./gradlew spotlessCheck test passes.
  • Against docker compose -f build.yaml up --wait with the new jar: all 22 integration tests passed twice. The frozen detector flagged nothing, and the only unexpected-looking SEVERE lines were the IOC disconnects HealthcheckTest causes on purpose.
  • Restart and hang runs (from the frozen-PV investigation): 5 IOC restarts and 3 IOC hangs (docker pause) behaved the same with 2.4.12 as with 2.4.10. Restarts recovered cleanly. Hangs still cause the duplicate updates of Monitors deliver every update twice after an IOC circuit becomes unresponsive and recovers (CAJ) #48, which 2.4.12 doesn't fix.

🤖 Generated with Claude Code

JCA 2.4.12 fixes a reconnect bug seen on Java 11 and later; epics2web
runs on Java 21 (epics-base/jca#86, fixed by #87). A send that failed
partway through re-establishing a subscription left its request buffer
in a bad state, and a later reconnect then threw
IndexOutOfBoundsException in EventAddRequest.resubscribeSubscription.
That subscription was never restored, leaving a monitor connected but
receiving nothing, as a frozen PV looks.

The other changes since 2.4.10 are CA name server support and release
tooling.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@slominskir
slominskir merged commit dc72bba into main Oct 4, 2026
6 checks passed
@slominskir
slominskir deleted the bump-jca-2.4.12 branch October 4, 2026 14:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

source::ai Work done by an AI agent

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant