See T117872. We try 5 times to reuse an old Order ID. I'm not sure yet whether we eventually chose another Order ID for this donor, but we need to interpret this error code correctly, immediately bail out of the retry loop, and start the API calls again with a new ID.
Description
Details
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Resolved | MBeat33 | T117872 [Epic] Do not show donation form error message: "No processors available". Fix UI and plug holes. | |||
Resolved | awight | T120805 Duplicate Order ID detection is broken for GlobalCollect |
Event Timeline
Change 257751 had a related patch set uploaded (by Awight):
Handle another GC error indicating Order ID reuse
Change 257767 had a related patch set uploaded (by Awight):
Handle another GC error indicating Order ID reuse
Change 257767 merged by jenkins-bot:
Handle another GC error indicating Order ID reuse
Looks good so far, we caught one of these in CT# 30972868 and it correctly regenerated the Order ID.
Change 257795 had a related patch set uploaded (by Awight):
Store new ID to the session when regenerating Order ID
Change 257795 merged by jenkins-bot:
Store new ID to the session when regenerating Order ID
Not so fast... The session was not being updated, so we sent a bunch of people back to "could not liberate from iframe" land. As of 01:18:18, this is expected to work correctly.
To verify the fix, examine any 400120 errors after this time and check that their * order id regenerated, * they got an iframe (limbo queued), and * set_payment happened upon return.
I checked GC600s from Tuesday after @awight's fix, and didn't see anything weird (transactions we blocked that we shouldn't have).