RepoJournal
Spring

@spring-projects

Spring Framework, Spring Boot, and the JVM enterprise layer

Keep up with Spring in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

One email a day. Unsubscribe in one click.

Pick a date

Topics: Java Full archive →

The Wire · Showcase

SPRING-PULSAR AND SPRING-INTEGRATION FIX CI HANGS THAT STALLED BUILDS

By RepoJournal · Filed · About Spring

Soby Chacko deployed four commits across Spring Pulsar to kill memory-starved test timeouts, while Artem Bilan fixed an interrupt-handling bug in ZookeeperLockRegistry that left six tests blocked forever.

Spring Pulsar's CI was stalling hard. Transaction tests spin up their own Pulsar container with .withTransactions(), which runs concurrently with the shared PulsarTestContainerSupport container, causing memory pressure and SIGTERM on resource-constrained runners [1]. Chacko temporarily disabled those transaction tests [1], reduced the await timeout from 300s to 60s in the retry-success test [2], and set a short operation timeout on PulsarClient to prevent hung broker connections from stalling for the full Awaitility limit [3]. Over in Spring Integration, `ZkLock.lockInterruptibly()` looped on `tryLock(1, SECONDS)` with no deadline, no interrupt check, and no logging, turning an unreachable Zookeeper server into an endless spin that silently stalled Gradle until the CI job limit [4]. Bilan's fix checks `Thread.interrupted()` per iteration in `lockInterruptibly()` and throws `InterruptedException` when the thread is interrupted [5], and gives the problematic test its own `TestingServer` and `CuratorFramework` instead of sharing one across the class [5]. Finally, Spring CredHub fixed docker-compose pulls in CI by fully-qualifying image refs to the Artifactory mirror registry, which forces pulls through the authenticated path instead of registry-mirrors that never send credentials [6].

One email a day. Unsubscribe in one click.

Action items

References

  1. [1] Temporarily disable transaction tests that require a dedicated Pulsar container spring-projects/spring-pulsar
  2. [2] Fix CI timeouts in listener container tests spring-projects/spring-pulsar
  3. [3] Set short operation timeout on PulsarClient in retry test spring-projects/spring-pulsar
  4. [4] Fix ZookeeperLockRegistry test isolation and interrupt handling ↗ spring-projects/spring-integration
  5. [5] GH-11244: Fix ZookeeperLockRegistry test isolation and interrupt handling spring-projects/spring-integration
  6. [6] Fix docker-compose pulls in CI build spring-projects/spring-credhub

Quick answers

What shipped in Spring on August 8, 2026?
Soby Chacko deployed four commits across Spring Pulsar to kill memory-starved test timeouts, while Artem Bilan fixed an interrupt-handling bug in ZookeeperLockRegistry that left six tests blocked forever. In total, 7 commits and 1 pull requests landed.
Who contributed to Spring on August 8, 2026?
3 developers shipped this update, including Soby Chacko, artembilan, and Roy Clarkson.
What were the notable Spring updates?
Temporarily disable transaction tests that require a dedicated Pulsar container, Fix CI timeouts in listener container tests, and Set short operation timeout on PulsarClient in retry test.

More from @spring-projects

Daily updates, in your inbox

Follow Spring

Keep up with Spring in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

One email a day. Unsubscribe in one click. Read a past issue →

Elsewhere on the wire

Want every project, not just this one?