Skip to content

Mirror Spring Framework #37159 for JAIPilot Cloud - #1

Open
skrcode wants to merge 1 commit into
jaipilot-demo/spring-37159-basefrom
jaipilot-demo/spring-37159
Open

skrcode wants to merge 1 commit into
jaipilot-demo/spring-37159-basefrom
jaipilot-demo/spring-37159

Fix busy-spin in SubscriberInputStream await()

7e53799
Select commit
Loading
Failed to load commit list.
Java Dependency Upgrade Fixer / JAIPilot PR Improvement succeeded Aug 22, 2026 in 18m 19s

Validated improvement ready

Reviewed the mirrored spring-projectsgh-37159 busy-spin/interrupt fix in both near-duplicate SubscriberInputStream classes (spring-core, spring-web). The PR's own production edits were already minimal and correct: the re-park condition and the required second volatile read in await() are both load-bearing for correctness (removing either reintroduces the busy-spin or a lost-wakeup race), and the duplicated read()/read(byte[]) catch blocks already existed pre-PR and extracting them would add control-flow indirection for two call sites with no measurable benefit, so no cleanup or performance edit was accepted. No build, dependency, or JDK path was touched by the PR, so modernization is not applicable. The one genuine gap found was test coverage: only spring-web's SubscriberInputStreamTests got a regression test for the interrupt-while-parked fix; spring-core's near-duplicate class (used internally by the public DataBufferUtils.subscriberInputStream API) had no test at all covering this scenario, so it was added as a focused characterization test proving the same observable contract (InterruptedIOException with restored interrupt status, no thread leak/spin) through the public API.

Review draft PR #2