• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

openmrs / openmrs-core / 29038025281 / 1
66%
master: 65%

Build:
Build:
LAST BUILD BRANCH: 2.8.x
DEFAULT BRANCH: master
Ran 09 Jul 2026 05:52PM UTC
Files 804
Run time 25s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

09 Jul 2026 05:42PM UTC coverage: 65.97% (+0.005%) from 65.965%
29038025281.1

push

github

web-flow
TRUNK-6465: Prevent OrderServiceTest from deadlocking the connection pool (2.8.x) (#6276)

* TRUNK-6465: Prevent OrderServiceTest from deadlocking the connection pool

getNewOrderNumber_shouldAlwaysReturnUniqueOrderNumbersWhenCalledMultipleTimesWithoutSavingOrders
started 50 raw threads. Each call transiently holds two pooled
connections: one for the getNewOrderNumber transaction and one for the
REQUIRES_NEW transaction that increments the order number seed. With
hibernate.c3p0.max_size=50 and c3p0's default checkoutTimeout of 0
(wait forever), 50 concurrent outer transactions can drain the pool so
that every thread holds one connection while waiting eternally for a
second one nobody can release. The surefire fork then hangs silently
until the GitHub Actions 6 hour limit kills the job, which is what has
been wedging the Java 11 matrix leg (and historically Java 8, which was
skipped instead of fixed).

Run the 50 calls on a bounded pool of 20 threads so peak connection
demand stays below the pool cap, fail fast after 30 seconds instead of
hanging, and surface worker exceptions instead of swallowing them. This
removes the Java 8 skip since the deadlock is now structurally
impossible, and adds timeout-minutes to the build workflow so any
future wedge costs 40 minutes rather than 6 hours.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CQKxQruWri68zismbxhxW3

* TRUNK-6465: Harden the concurrency test failure path

Await executor termination after shutdownNow so straggler workers cannot
outlive the test method and muddy diagnosis of an original failure, turn
a bare TimeoutException on a wedge into an assertion failure that names
the connection pool deadlock and the ticket, and raise the workflow
timeout from 40 to 60 minutes so a degraded runner day (windows legs
normally reach 21 minutes) cannot false-positive the cap and fail-fast
cancel the sibling matrix legs.

Co-Authored-By: Claude Fable 5 <nor... (continued)

24248 of 36756 relevant lines covered (65.97%)

0.66 hits per line

Source Files on job 29038025281.1
  • Tree
  • List 804
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 29038025281
  • ecf705ea on github
  • Prev Job for on 2.8.x (#29023757460.1)
  • Next Job for on 2.8.x (#29041170132.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc