Page MenuHomePhabricator

Duplicate Order ID detection is broken for GlobalCollect
Closed, ResolvedPublic2 Estimated Story Points

Description

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.

Event Timeline

awight claimed this task.
awight raised the priority of this task from to Unbreak Now!.
awight updated the task description. (Show Details)
awight added subscribers: awight, Aklapper, StudiesWorld and 2 others.

@awight did you mean to add this to the sprint? We should triage together,
right?

Change 257751 had a related patch set uploaded (by Awight):
Handle another GC error indicating Order ID reuse

https://gerrit.wikimedia.org/r/257751

Change 257767 had a related patch set uploaded (by Awight):
Handle another GC error indicating Order ID reuse

https://gerrit.wikimedia.org/r/257767

Change 257767 merged by jenkins-bot:
Handle another GC error indicating Order ID reuse

https://gerrit.wikimedia.org/r/257767

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

https://gerrit.wikimedia.org/r/257795

Change 257795 merged by jenkins-bot:
Store new ID to the session when regenerating Order ID

https://gerrit.wikimedia.org/r/257795

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.

Verified working for at least one case, 30998951:5690768549 and 30998951:2622869230.

awight edited a custom field.

I checked GC600s from Tuesday after @awight's fix, and didn't see anything weird (transactions we blocked that we shouldn't have).