erroropenpayments-apijava

DataAccessResourceFailureException: connection pool exhausted acquiring connection for payment <uuid>

com.example.payments.LedgerRepository#record

Events216
First seen12d ago2026-08-11 16:24:36 UTC
Last seen11d ago2026-08-12 20:58:37 UTC
Releases1.9.0
Events per day, from the rollups216 in this window · peak 174
174
25 Jul
 
 
 
 
30 Jul
 
 
 
 
04 Aug
 
 
 
 
09 Aug
 
 
 
 
14 Aug
 
 
 
 
19 Aug
 
 
 
 
Table view
Bucket (UTC)Events
2026-07-25 00:00:000
2026-07-26 00:00:000
2026-07-27 00:00:000
2026-07-28 00:00:000
2026-07-29 00:00:000
2026-07-30 00:00:000
2026-07-31 00:00:000
2026-08-01 00:00:000
2026-08-02 00:00:000
2026-08-03 00:00:000
2026-08-04 00:00:000
2026-08-05 00:00:000
2026-08-06 00:00:000
2026-08-07 00:00:000
2026-08-08 00:00:000
2026-08-09 00:00:000
2026-08-10 00:00:000
2026-08-11 00:00:0042
2026-08-12 00:00:00174
2026-08-13 00:00:000
2026-08-14 00:00:000
2026-08-15 00:00:000
2026-08-16 00:00:000
2026-08-17 00:00:000
2026-08-18 00:00:000
2026-08-19 00:00:000
2026-08-20 00:00:000
2026-08-21 00:00:000
2026-08-22 00:00:000
2026-08-23 00:00:000

How this group was decided

Every step below is a pure function of the event. The same event always produces the same group.

  1. 1 · Parse the stack trace

    3 frames parsed, 2 belong to the application. Only those decide the group — the same bug reaches the runtime through different framework paths depending on the request.

    • in-appcom.example.payments.LedgerRepository.recordLedgerRepository.java:73
    • in-appcom.example.payments.PaymentService.settlePaymentService.java:129
    • vendororg.springframework.transaction.interceptor.TransactionInterceptor.invokeTransactionInterceptor.java:119
  2. 2 · Build the fingerprint input

    Line numbers are dropped so that editing a line above the throw site does not open a new group. Values inside the message are replaced with placeholders.

    v1
    platform=java
    service=payments-api
    type=org.springframework.dao.DataAccessResourceFailureException
    frame=com.example.payments.LedgerRepository#record
    frame=com.example.payments.PaymentService#settle
  3. 3 · Hash it

    SHA-256 of the text above, truncated to 128 bits. The version is part of the group key: a future algorithm opens new groups rather than rewriting these.

    Fingerprint
    32355485dd105cda89fd3ed51340fb5d
    Algorithm version
    v1

Latest stored event

2026-08-12 20:58:37 UTC

connection pool exhausted acquiring connection for payment a8edd8fd-ee50-4be3-adcd-83d50c385cc6

org.springframework.dao.DataAccessResourceFailureException: connection pool exhausted
	at com.example.payments.LedgerRepository.record(LedgerRepository.java:73)
	at com.example.payments.PaymentService.settle(PaymentService.java:129)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)

Similar groups

Trigram similarity computed by Postgres against a GIN index. It catches what a fingerprint cannot — the same fault one refactor away from an existing group. No model is involved.

Nothing above the 0.3 similarity threshold.