erroropencheckout-apijava

IllegalStateException: could not reserve stock for cart <uuid>

com.example.checkout.ReservationService#reserve

Events304
First seen12d ago2026-08-11 16:14:12 UTC
Last seen10d ago2026-08-13 07:23:33 UTC
Releases1.9.0 → 1.9.1
Events per hour, from the rollups0 in this window · peak 1
16:00
 
 
 
20:00
 
 
 
00:00
 
 
 
04:00
 
 
 
08:00
 
 
 
12:00
 
 
 
Table view
Bucket (UTC)Events
2026-08-22 16:00:000
2026-08-22 17:00:000
2026-08-22 18:00:000
2026-08-22 19:00:000
2026-08-22 20:00:000
2026-08-22 21:00:000
2026-08-22 22:00:000
2026-08-22 23:00:000
2026-08-23 00:00:000
2026-08-23 01:00:000
2026-08-23 02:00:000
2026-08-23 03:00:000
2026-08-23 04:00:000
2026-08-23 05:00:000
2026-08-23 06:00:000
2026-08-23 07:00:000
2026-08-23 08:00:000
2026-08-23 09:00:000
2026-08-23 10:00:000
2026-08-23 11:00:000
2026-08-23 12:00:000
2026-08-23 13:00:000
2026-08-23 14:00:000
2026-08-23 15: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

    5 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.checkout.ReservationService.reserveReservationService.java:88
    • in-appcom.example.checkout.CheckoutController.submitCheckoutController.java:54
    • vendorjdk.internal.reflect.DirectMethodHandleAccessor.invokeDirectMethodHandleAccessor.java:103
    • vendororg.springframework.web.method.support.InvocableHandlerMethod.doInvokeInvocableHandlerMethod.java:255
    • vendororg.springframework.web.servlet.DispatcherServlet.doDispatchDispatcherServlet.java:1089
  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=checkout-api
    type=java.lang.IllegalStateException
    frame=com.example.checkout.ReservationService#reserve
    frame=com.example.checkout.CheckoutController#submit
  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
    edb01345e97f123a4863ceb75d1eec0e
    Algorithm version
    v1

Latest stored event

2026-08-13 07:23:33 UTC

could not reserve stock for cart fde5458f-391c-41b8-bf3b-5d32258cf44d

java.lang.IllegalStateException: could not reserve stock for cart 181f8c6f-b5a4-46c8-9921-de365cb2c261
	at com.example.checkout.ReservationService.reserve(ReservationService.java:88)
	at com.example.checkout.CheckoutController.submit(CheckoutController.java:54)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)

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.