Repository navigation
Update JCA to 2.4.12 - #51
Merged
Merged
Conversation
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
approved these changes
Oct 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updates
org.epics:jcafrom 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.
IndexOutOfBoundsExceptioninEventAddRequest.resubscribeSubscription, and the subscription was never restored.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 testpasses.docker compose -f build.yaml up --waitwith the new jar: all 22 integration tests passed twice. The frozen detector flagged nothing, and the only unexpected-lookingSEVERElines were the IOC disconnectsHealthcheckTestcauses on purpose.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