Page MenuHomePhabricator

GlobalCollect is not recurring: something wrong with "batch mode" in DonatioinInterface
Closed, ResolvedPublic2 Estimated Story Points

Description

We should fix this in a small number of days, because stale recurring charges are not cool.

00:00:12  WD recurring_globalcollect: Processing recurring charge: 14908          [notice]
00:00:12  array_key_exists() expects parameter 2 to be array, null given       [warning]
00:00:12  DonationData.php:184
00:00:12  array_key_exists() expects parameter 2 to be array, null given       [warning]
00:00:12  gateway.adapter.php:3548
00:00:12  array_key_exists() expects parameter 2 to be array, null given       [warning]
00:00:12  gateway.adapter.php:3543
00:00:12  Invalid argument supplied for foreach() DataValidator.php:483        [warning]
00:00:12  WD wmf_common: UNKNOWN Batch processing aborted: Not implemented     [error]
00:00:12  Source: stdClass::__set_state(array(
....
00:00:12     'trxn_id' => 'RECURRING GLOBALCOLLECT 7794677174',

Event Timeline

awight raised the priority of this task from to Unbreak Now!.
awight updated the task description. (Show Details)
awight added subscribers: awight, MBeat33.

Breadcrumb: The only place this message can come from is a call to either WmfFramework::formatMessage or ::getLanguageCode.

The changes I deployed yesterday included an update to the donation interface composer package, and I failed to appreciate how big a version jump that made. The way our civi module uses the GlobalCollect adapter is no longer correct. We need at a minimum to set a new global variable and update the code for the changed return type of do_transaction.

Change 224986 had a related patch set uploaded (by Ejegg):
Update recurring GC for DonationInterface changes

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

Change 224991 had a related patch set uploaded (by Ejegg):
PHPUnit test for DonationInterface::createAdapter

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

Change 224986 merged by jenkins-bot:
Update recurring GC for DonationInterface changes

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

Change 224991 merged by jenkins-bot:
PHPUnit test for DonationInterface::createAdapter

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

Change 225257 had a related patch set uploaded (by Ejegg):
Quit demoting log messages to debug under drupal

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

Change 225261 had a related patch set uploaded (by Ejegg):
Better success check for recurring globalcollect

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

Change 225265 had a related patch set uploaded (by Ejegg):
WIP: Fix recurring GC false success report

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

Change 225257 merged by jenkins-bot:
Quit demoting log messages to debug under drupal

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

Change 225508 had a related patch set uploaded (by Ejegg):
Stop exceptioning in drupal formatMessage stub

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

Change 225265 merged by jenkins-bot:
Fix recurring GC false success report

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

Change 225508 merged by jenkins-bot:
Stop exceptioning in drupal formatMessage stub

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

Fixed!

Set all 'in-process' records back to appropriate status (failed for those with recent failure retry dates, success for the other 1) after determining that none of them could actually have been charged.

Job is re-enabled and batch size is back to 250.

Note: logs for a rgc job run are 18MB each, now that we have all the DonationInterface messages hitting drupal correctly. We could make the log level added in rWFCG94728d configurable on the module settings page if we want a higher threshold for DI messages than for other watchdog messages.

Change 225261 merged by Awight:
Better success check for recurring globalcollect

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