Page MenuHomePhabricator

GlobalCollect is not recurring: something wrong with "batch mode" in DonatioinInterface
Closed, ResolvedPublic2 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 created this task.Jul 15 2015, 12:45 AM
awight raised the priority of this task from to Unbreak Now!.
awight updated the task description. (Show Details)
awight added subscribers: awight, MBeat33.
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptJul 15 2015, 12:45 AM

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

@awight could this be related to T105041?

DStrine set Security to None.
Ejegg moved this task from Backlog to Doing on the Fundraising Sprint ODB board.Jul 16 2015, 12:22 AM
Ejegg added a subscriber: Ejegg.Jul 16 2015, 12:26 AM

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.

Ejegg claimed this task.Jul 16 2015, 12:26 AM

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

Ejegg moved this task from Doing to Review on the Fundraising Sprint ODB board.Jul 16 2015, 1:13 AM

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

Ejegg moved this task from Review to Done on the Fundraising Sprint ODB board.Jul 18 2015, 1:09 AM
Ejegg added a comment.Jul 18 2015, 1:17 AM

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.

Ejegg closed this task as Resolved.Jul 18 2015, 1:19 AM

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

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

DStrine edited a custom field.Aug 14 2015, 8:29 PM
mmodell removed a subscriber: awight.Jun 22 2017, 9:44 PM
Restricted Application added subscribers: Jay8g, TerraCodes. · View Herald TranscriptJun 22 2017, 9:44 PM