[00:00:05] so filibuster on Friday and see what happens? [00:01:23] yep, sounds like. Unless I can catch megan tomorrow. [00:01:42] mhmm [00:02:01] okay well if we opt to pick up AND add the line to the email, let me know if I need to draft anything [00:02:02] #1186: (AW) TS:DR -- https://wikimedia.mingle.thoughtworks.com/projects/online_fundraiser/cards/1186 [00:02:02] #1186: (AW) AT:AW|TS:ID -- https://wikimedia.mingle.thoughtworks.com/projects/online_fundraiser/cards/1186 [00:02:02] #1361: (AW) TS:DR|MtIDo:(s -- https://wikimedia.mingle.thoughtworks.com/projects/online_fundraiser/cards/1361 [00:02:50] PPena: Pretty sure I just proved that I was lied to on the phone this morning. [00:03:17] The second I_OWP request with identical orderid and merchantreference was rejected. [00:04:18] *sigh* [00:04:29] I'll pull some XML and email it to GC before I leave tonight. [00:05:29] Group Contact, General Counsel... [00:05:40] Shop's still down, eh? [00:05:45] GlobalCollect. :) [00:05:47] :-) [00:05:51] I already forget that one. [00:05:57] s/already/always/ [00:06:00] Words are hard. :-( [00:06:17] They sort of haunt my dreams, so I can't really forget them. [00:06:35] Dogecoin, ftw. [00:07:41] Some days, it seems like the best idea... [00:08:11] re: the shop, we're trying to work out what went wrong, with the third party that is supposedly handling it. [00:08:32] Everybody swears nothing changed yesterday. [00:09:05] Hmm, mildly worrying that it suddenly broke, yeah. [00:09:27] Indeed. So, it's probably safer disabled until we get a straight answer. [00:09:36] * Gloria nods. [00:09:43] I wonder at what point we remove the link from the sidebar, though. [00:09:51] Not sure how much traffic it gets. [00:10:02] Plus caching probably makes any effort moot-ish. [00:10:45] Yeah, caching definitely throws a wrench in pretty much everything. [00:11:27] To be honest, I'm not sure how much traffic it gets either. I have been repeatedly and emphatically assured that I won't even have to worry about the shop. [00:11:31] *ever [00:11:58] Caching throws a wrench in things when it's not saving us all from overload. ;-) [00:12:05] Without caching, there would be no Wikipedia. :D [00:12:51] Oh, I don't know. It seems to simultaneously make everything possible, and wrench other things into oblivion. [00:15:13] Which reminds me: mwalker: any headway on the ESI front? [00:15:22] Just curious. :) [00:18:02] #1011: (AW) O:AW|TS:DR -- https://wikimedia.mingle.thoughtworks.com/projects/online_fundraiser/cards/1011 [00:19:09] mwalker: https://gerrit.wikimedia.org/r/#/c/113881/ [00:19:18] and yes, make the site fastish!! [00:51:01] #1377: (AW) O:AW|TS:B|P:NtH|TT:CT|IU:N|T:TT Description changed -- https://wikimedia.mingle.thoughtworks.com/projects/online_fundraiser/cards/1377 [00:54:02] #1243: (AW) I think dedupe is the blocker here. Civi write... B:B -- https://wikimedia.mingle.thoughtworks.com/projects/online_fundraiser/cards/1243 [00:56:01] #1215: (AW) N:WccffD Description changed -- https://wikimedia.mingle.thoughtworks.com/projects/online_fundraiser/cards/1215 [00:59:01] #1327: (AW) Edit: This should be implemented directly in th... -- https://wikimedia.mingle.thoughtworks.com/projects/online_fundraiser/cards/1327 [01:00:04] #1328: (AW) P-TS:(s -- https://wikimedia.mingle.thoughtworks.com/projects/online_fundraiser/cards/1328 [01:00:04] #1328: (AW) ->Sprint 42|P-TS:(s -- https://wikimedia.mingle.thoughtworks.com/projects/online_fundraiser/cards/1328 [01:04:01] #1378: (AW) O:AW|TS:B|P:MH|TT:CT|IU:N|T:TT Description changed -- https://wikimedia.mingle.thoughtworks.com/projects/online_fundraiser/cards/1378 [01:04:01] #1378: (AW) ->Sprint 42 -- https://wikimedia.mingle.thoughtworks.com/projects/online_fundraiser/cards/1378 [01:06:02] #1379: (AW) O:AW|TS:B|P:MH|TT:CT|IU:N|T:TT Description changed -- https://wikimedia.mingle.thoughtworks.com/projects/online_fundraiser/cards/1379 [01:06:02] #1379: (AW) ->Sprint 42 -- https://wikimedia.mingle.thoughtworks.com/projects/online_fundraiser/cards/1379 [01:07:39] (PS1) Adamw: fix warnings [wikimedia/fundraising/crm/civicrm] - https://gerrit.wikimedia.org/r/114376 [01:22:09] (CR) Mwalker: [C: 2] Downgrade to environment_indicator 1.x, to avoid ctools depenency. [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/113881 (owner: Adamw) [01:23:44] K4-713: ESI is available; but generally agreed to not be the best method to do things for most cases [01:30:26] (CR) Mwalker: (FR #1371) Begin to generalize checks import files to handle different formats (2 comments) [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/114112 (owner: Adamw) [01:30:43] awight: ^ looks good; but I wanted to have a brief discussion about my two comments [01:31:08] yessir [01:31:36] mwalker: agreed that the radio button is error-prone, but filename probably equally so. [01:31:58] The name is usually something like "Template for Upload" :p [01:32:06] K4-713: to summarize the conversation you had with caitlin; I'm waiting till after friday's standup (where you will filibuster) for the decision on if we should re-enable recurring for those lost donations and if we need a special message [01:32:21] EFT=electronic funds transfer, usually. [01:32:23] yarp. [01:32:25] More or less. [01:32:38] I'm going to try to talk to megan tomorrow. [01:32:48] But, Friday at the latest. [01:33:04] awight: so; the paypal file is going to have a Contribution Type column, and all of those are going to be 'EFT'? [01:33:23] ah i think that is a payment method [01:33:31] which in Civi appears as a "Payment Instrument" [01:33:56] contribution type is mysteriously "cash", as almost always! [01:34:11] going back several steps; is the addition of the EFT payment instrument related at all to these files? [01:34:26] because I don't see where we use it [01:34:28] yes. They are all EFT so i had to support said method being imported automatically. [01:34:51] If you would like to look at the data, see the fileserver / fr / awight [01:35:18] apparently, this file arrives every month and was being keyed by hand. [01:35:43] I regret "mungeMessage" but what can you do... [01:35:48] ok; so where in this code do we set these transactions as having been paid by EFT? [01:35:54] it's in the data [01:35:55] because you only munge the gateway to paypal [01:36:12] oh [01:36:15] There is a column in the data. every row contains "EFT" [01:36:19] that seems... error prone [01:36:22] eh? [01:36:37] you want to encode more in the error-prone filename? :p [01:36:45] no [01:37:06] it just seems to me; that if the only way to get these monies is by eft; then it should just be part of the importer [01:37:15] it's not a fault in your code [01:37:30] What are you suggesting? [01:37:56] I mean, there's a lot of silly stuff in the data. U should take a look. [01:38:09] "thank you date" is the one that makes me sob a little [01:38:38] I'm even going as far as synthesizing a row_id when there is none... [01:38:46] (for idempotence) [01:39:02] but I did think about asking for a row id on the data itself ;) [01:39:47] The bigger question is, now we have two instances of "checks" import. What does the generalization look like? [01:40:04] My guess is, maximal known information contained in the CSV itself. [01:40:39] all the subclass does is change the validation requirements. [01:41:03] ya -- so... going back to the paypal eft thing... you don't require the Payment Insturment column for the PayPalChecksFile [01:41:14] which is what you added the EFT type for? [01:41:15] You read my mind ;) [01:42:14] wait; so you added a payment instrument type; but then you don't ever import it from the file? [01:42:30] because you only iterate over getRequiredColumns? [01:42:46] um... a thought you caused me to have a few pages ago is, "we should be requiring that column" [01:43:01] but no, if you put "EFT" in there, yes it is imported correctly at the moment. [01:43:10] If you leave it out... shit and fan, meet [01:43:26] oh; right; because this stupid $msg array thing just pulls in crap out of standardly named columns [01:43:37] this is giving me a headache [01:43:43] blahrghity that thing should be sent home [01:44:05] yes it is due for a rewrite. I'm not a fan of _get_value [01:44:21] the normalization should be more reusable. [01:44:28] OK -- what I'm thinking... $msg should be a map -- we know we need these things in the backend; so the map needs to define the column name (or static value) it comes from [01:45:21] are you suggesting a new way to do normalization? [01:45:29] (yes, but not right now) [01:45:32] hehe exactly [01:45:45] i mean, K4-713 's DI is genius at that stuff... [01:45:48] right now I'm more concerned about why you aren't requiring all the same columns that the AZL file requires? [01:45:54] oh [01:46:04] PI you are correct, I ned to add that [01:46:07] other shit i don't care [01:46:40] * K4-713 blinks, goes back to gnawing on staging functions [01:46:45] isn't this script going to blow the heck up though if those columns are missing? [01:46:46] baaahaha [01:46:52] the badger returns! [01:47:06] Seriously, this order id refactor is painful. [01:47:08] ... lessee here good question [01:47:12] This is going to be a hell of a patchset. [01:47:16] oh dear. [01:47:26] Good luck with the rollback strategy. [01:47:26] And one of you will have to do CR. [01:47:28] BAHAHAHAHA [01:47:38] "roll this back"? [01:47:48] eh, we inflict enough of painful cr on you [01:47:52] about time you struck bcak [01:47:54] * awight kicks the slot machine in the shins again [01:47:59] I'm just getting revenge all at once. [01:48:05] woot! [01:48:36] I have a page on wikitech in which I am keeping notes for this one. [01:48:44] scariful [01:48:56] (you know it's bad if I'm taking notes) [01:50:21] Incidentally... what's wrong with wikitech? [01:50:43] awight: so... basically if you're not requiring those columns, the script is going to blow up? and... that's fine? [01:52:00] mwalker: Payment Instrument yes i am requiring. As far as other fields go, please point out any columns you think I need. [01:52:27] nothing should blow up as long as you have... an amount of money in the message. seriously. [01:53:41] https://github.com/wikimedia/wikimedia-fundraising-crm/blob/master/sites/all/modules/wmf_civicrm/wmf_civicrm.module#L627 [01:53:50] awight: State and Street Address for a couple? [01:54:10] but going back... _get_value() will not blow up if the column doesn't exist? [01:54:12] couples might live on different streets. [01:54:36] oh don't make me look at _get_value! it hurts!! [01:56:42] ah [01:56:43] I just did [01:56:44] ok [01:56:56] make PI required [01:56:58] and we're good [01:59:37] (PS1) Adamw: (FR #1378) preferred_language defaults to null [wikimedia/fundraising/crm/civicrm] - https://gerrit.wikimedia.org/r/114388 [02:10:52] (PS3) Adamw: (FR #1371) Begin to generalize checks import files to handle different formats [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/114112 [02:11:15] mwalker: thanks for the kick. [02:11:33] We also gained the ability to import No Thank You, so I feel better about the world in general. [02:12:33] (CR) Mwalker: [C: 2] (FR #1371) Begin to generalize checks import files to handle different formats [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/114112 (owner: Adamw) [02:17:54] !log update crm from 20684a7e5dd4270e615ca52e6a17b25e880e47c4 to 07c1943088355bd262786d7134763549c8070ceb [02:18:07] Logged the message, Master [02:20:15] mwalker: Feeling the CR itch? https://gerrit.wikimedia.org/r/114388 [02:20:28] That should be an immediate win... [02:20:29] (CR) Ssmith: [C: 2 V: 2] fix warnings [wikimedia/fundraising/crm/civicrm] - https://gerrit.wikimedia.org/r/114376 (owner: Adamw) [02:22:10] K4-713: did you ask if they have ever... had a customer or QA person try the new API? [02:22:29] and, are you getting hand-fed documentation written on napkins? [02:23:56] greasy, beer-stained napkins... [02:24:01] mmm [02:24:26] awight: At this point, I'd prefer a napkin. [02:24:53] For some reason, they have this telephone fetish. [02:25:06] WOW you are getting the full treatment [02:25:15] Like, they are allergic to WRITING THINGS DOWN. JUST ANSWER MY #%$&$*@ING EMAILS. [02:25:54] I had a phone call this morning that consisted of them reading an unanswered email I wrote, back to me, and saying: "Huh. Gee, let me find out." [02:26:07] OMG WHY DID I NEED TO TALK TO YOU FOR THAT. [02:26:10] hello, is this line dead? [02:26:53] Dammit that reminds me of a thing that is not on the internet. [02:26:56] Perhaps it was a diversionary tactic because they know we're thinking about integrating with other gateways. [02:28:43] According to oral tradition, during the filming of Under Seige 2: Dark Territory, Steven Seagal was asked to do a few takes of answering a phone, and would... say hello as the receiver was still moving towards his face... [02:28:53] HE'S ON IT [02:29:30] Oh man. He's so on it, nobody even needs to know he's on it. [02:29:40] get me a freakin satellite uplink that can read my mind... [02:30:07] on this note, can we exorcise charlie norris from the damn CI... [02:30:14] I'd settle for a speech-to-text phone bot that can pretend to be me... [02:30:40] google: 'voice message from katie: "read the damn email"' [02:30:55] It would just have to say "So, I sent you an email with all my questions... Did you get that?" and "That would be great, thank you!" when they ask if they can send me documentation. [02:31:25] oooh, streamlining. [02:31:35] Maybe we could lay a few more people off if we had that 8p [02:31:50] augh! Noooo, I need them to do. Things. [02:32:25] Things expressed in the documentation retrieved by PhoneBot. [02:32:29] sorry, but you weren't in the budget. [02:32:44] Hey, speakin gof fired. [02:32:53] Am I out on a limb with this BCP-47 rampage? [02:33:05] aka, Is anyone paying attention? [02:33:36] At the bare minimum, I want this: http://issues.civicrm.org/jira/browse/CRM-14232 [02:34:14] using a real encoding for language tags would just make me the rest of happy. [02:34:48] As far as I know, you're not fired. [02:34:53] And I'd probably know first. ;) [02:35:00] that is... not discouraging? [02:35:23] Honestly, I have been pretty much ignoring everything that hasn't been totally necessary lately. [02:35:27] I think you're sort of out a limb on it -- I would've preferred you just use php-intl; even though it has problems [02:35:32] ok right, first rule of mingle, no discussing mingle :p [02:35:42] You could be trying to build a space elevator and I might not notice for a couple weeks. [02:35:55] ...well, no, I'd notice a space elevator. [02:36:00] mwalker: whatever about lib, but you agree with the idea then? [02:36:06] oh yes [02:36:19] see, we can't force php-intl down the Civi community's throats. [02:36:21] lets use one fucking standard; then we can have standard fallback trees [02:36:41] I just saw "standard fallback trees" and panicked. [02:36:42] Their users are harried enuf trying to meet minimum hosting requirements... [02:37:00] basically; civi is forcing us to use triggers; so I'd say fuck'em [02:37:11] * mwalker grumbles about shared hosting [02:37:19] any way to make it an extension? [02:37:24] tickle me triggers [02:37:25] that doesn't have to be installed [02:37:34] by people with crappy hosting [02:37:48] that is only going to work if we can make php-intl and my library API-compatible, right? [02:37:53] which is a freaking waste of time [02:37:55] php-intl is crap [02:38:04] what does it gain us? upgradability? [02:38:24] not. if the users can't even install in the first place :p and... the ubuntu package will be 10 years out of date anyway. [02:38:57] What about cldr? Doesn't that have some... relevant... [02:39:07] the way I see it; the broader php community is moving towards php-intl [02:39:14] Sorry, I'm probably *up* the space elevator at this point. [02:39:36] and if ubuntu is out of date; the WMF hosts it's own apt repo for the reason of letting us package things that we need [02:39:45] and if the rest of the world is up a creek; I don't really care [02:39:49] mwalker: well as implemented, the library is entirely internal. nothing outside of Civi needs know how we implemented [02:40:16] yepyep [02:40:18] no arguments there [02:40:38] however; we should continue this at a later date [02:40:41] I'm due somewhere shortly [02:40:42] Yes. [02:40:45] Me too. [02:41:02] I don't really want to go here, but open-source is sort of a mandate that we are supposed to keep in mind. So would you say my library is impairing or facilitating distribution? [02:41:30] both [02:41:33] * K4-713 frowns [02:41:36] hehe good point [02:41:42] Urm. Later. [02:41:48] okok [02:41:51] movie time! [02:42:22] Agh, we've got movie sign! [03:52:59] Aaargh! db tunefail. [03:53:00] MariaDB [civicrm]> delete from civicrm_contribution; [03:53:03] Query OK, 154 rows affected (23.08 sec) [14:56:02] #1346: (PC) Just wondering what the status of this is - sti... -- https://wikimedia.mingle.thoughtworks.com/projects/online_fundraiser/cards/1346 [17:50:17] (PS1) Adamw: Display generated report SQL in the UI [wikimedia/fundraising/crm/civicrm] - https://gerrit.wikimedia.org/r/114502 [17:50:52] K4-713: mwalker|away: ^^ that might be a big deal [17:51:38] awight: Based solely on the commit message: High five, dude. [17:51:43] :p [17:51:46] about time... [17:52:08] Another thing I've been meaning to do is, store the freakin SQL somewhere in the output. [17:52:18] Down with guesswork! [17:52:19] I mean, I'd worry if we let normal people in there. [17:52:23] But we do not. [17:52:37] aah the sql is pretty harmless [17:52:47] * K4-713 eyebrows [17:52:48] but the illusion of control it gives is enormous! [17:52:48] Still. [17:53:17] The debugging value at this point far outweighs all the other... things. [17:54:00] The lovely mud-on-gray color scheme provides a bit of security ;) [17:55:15] * K4-713 clicks on "all Side-by-Side", dives under desk as windows open instead of tabs [17:55:19] ...the hell was that? [17:55:33] oh god not another gerrit upgrade... [17:56:02] it's not just you [17:57:52] ffffffffffffff... okay. [17:57:55] That blows. [17:58:59] maybe a greasemonkey script can fix it :( [18:03:38] awight: Here's one for you. [18:04:00] Not necessarily something I need this minute, or any of the minutes before the weekend... [18:05:11] But, you know, just think about it. [18:05:39] We need a way to expose a quick view of GC recurring... states, to Donor Services. [18:06:00] Something that would let them see problems on a daily basis. [18:07:02] ooo yes. [18:07:04] So, for instance, if we have a batch of donors that didn't recur when they were supposed to, some bulb goes off. [18:07:23] $problem_light = true; [18:07:42] I'm still disturbed about the way we're looking at potential revenue, but that's another thing... [18:08:33] * K4-713 twiddles [18:09:13] In this case, It would help the assessment if we had some numbers that were undisturbed by... unexpected interruptions. [18:09:54] also hrm it will be totally apples-to-oranges until we dedupe non-recurring donors [18:10:10] But, yes. Problem light goes off, and some amount of useful information is displayed to... whomever happens to be looking. [18:11:29] hmm. We should have zero tolerance ;) [18:11:34] yep [18:11:57] seriously. Like, send a failmail every time a new group of recurring contribs slips out of the retry window [18:12:15] Well... the problem is, it's hard to put an alarm on nothing happening. [18:12:27] Unless you have another cron checking for nothing happening. [18:12:34] If we trust our db a bit, it's easy [18:12:41] :/ [18:12:48] -_- [18:12:49] which i suppose is some kind of paradox [18:13:10] How much nothing needs to happen, before we definitively say "nothing is happening"? [18:13:16] mwalker|away found that the next_sched_date is actually good [18:13:39] I mean, nothing happens for most of the day until the daily job runs. [18:13:42] That's not enough nothing. [18:13:47] so the query would be next_sched_date < date_sub(now(), 'interval grace days') [18:13:58] ...plus one. [18:14:08] Yeah I'd like to stay out of existential territory :p [18:14:18] how do we know what we do not know [18:14:29] I just don't want to get busted for not yet being on the day we're on. [18:14:57] if it runs at the end of gc_recur, we're probably good [18:15:07] mhm [18:15:15] It would be nice to have a health check on PP-recurred as well [18:15:24] Same code? [18:15:31] I think so. [18:15:33] yep [18:15:42] but, we aren't maintaining DB records for those I think [18:15:55] We... should be? [18:16:02] I mean, I thought we were. [18:16:10] Spike! [18:16:13] We used to. [18:16:17] Yeah, doit. [18:16:47] Meanwhile: I've got way too much blood in my caffeine stream. brb [18:18:02] #1380: (AW) O:AW|TS:B|P:MH|TT:CT|IU:N|T:TT Description changed -- https://wikimedia.mingle.thoughtworks.com/projects/online_fundraiser/cards/1380 [18:19:02] #1380: (AW) ->Sprint 42 -- https://wikimedia.mingle.thoughtworks.com/projects/online_fundraiser/cards/1380 [18:21:02] #1381: (AW) O:AW|TS:B|P:E|TT:CT|IU:N|T:TT Description changed -- https://wikimedia.mingle.thoughtworks.com/projects/online_fundraiser/cards/1381 [18:22:01] #1381: (AW) ->Sprint 42 -- https://wikimedia.mingle.thoughtworks.com/projects/online_fundraiser/cards/1381 [18:22:12] btw, i am not working today [18:23:02] #1381: (AW) Description changed -- https://wikimedia.mingle.thoughtworks.com/projects/online_fundraiser/cards/1381 [18:30:37] awight: You... are doing it wrong. [18:31:00] Not the mingle cards. The not-working. [18:32:36] I'm about to improve my technique. [18:32:50] Just... would like to get this reconciliation mess figured out. [18:33:23] That's supposed to look like "awight left the room (quit: F you guys, it's sunny)" or something. [18:33:48] lol yes the alternatives are presenting themselves already [18:34:03] remind me to share selfies of the baby keyboard attack [18:34:05] (CR) Mwalker: [C: 2] Display generated report SQL in the UI [wikimedia/fundraising/crm/civicrm] - https://gerrit.wikimedia.org/r/114502 (owner: Adamw) [18:34:20] * awight inspects several bite marks in the cookie [18:35:14] (PS1) Adamw: update civicrm submodule [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/114509 [18:35:26] (CR) Adamw: [C: 2 V: 2] update civicrm submodule [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/114509 (owner: Adamw) [18:35:32] K4-713, awight... regarding the alarms [18:35:41] Jeff_Green made a nice little one for me that's attached to icinga [18:35:42] woot, my highlighting finally works [18:35:52] orly [18:37:16] ya; you give it a mysql query [18:37:18] and it runs [18:37:23] every so often [18:39:44] !log crm updated from 07c1943088355bd262786d7134763549c8070ceb to eb3536eb32cbc7400e4e5884d56fbf104e38fc2b [18:39:53] Logged the message, Master [18:40:05] nagios polls every 5 miniutes [18:40:55] want to add another one jeff? [18:41:01] sure [18:41:23] ok; let me make the query [18:41:44] woot! [18:42:18] mwalker: if it's easy, I think the failmail should have # of missed recurrences grouped by day(next_sched) [18:42:59] it's listed in icinga; I think it gets put in the email [18:47:10] damn. There was something I wanted to run by Jeff_Green... [18:47:15] What... was the thing. [18:47:23] Oh! [18:47:31] Right. [18:47:33] NO! [18:47:39] Yeeeeeesss. [18:47:41] spam? [18:47:44] Nope. [18:48:08] It's... got to do with moving data around the payments infrastructure in a new and possibly infuriating way. [18:48:21] sounds great! [18:48:24] :) [18:48:40] So... we want an internal status dashboard. [18:48:57] I want that dash to have realtime info about... some things going on, internal to the payments cluster. [18:49:15] ok [18:49:28] But, the list of people that should have access to that dash is strikingly similar to the people with civi access. [18:49:46] alright [18:49:55] Like, exactly the same people. [18:50:20] why do I see drupal hacking in your future? [18:50:34] Psychic! [18:50:39] Or I'm leading the witness. [18:50:41] One of those. [18:51:16] Anyway, I *think* want a drupal module to slurp data from a special syslog bucket that does update in near-realtime. [18:51:16] it's also probably feasible to use the apache external auth hack to provide authentication for some other framework [18:51:38] Well, we need that dashboard to have access to all the data in civi, too. [18:51:43] how about messaging instead of syslog? [18:51:44] Seemed easier to go this way. [18:51:49] Messaging works. [18:52:04] You... want me to stuff things in another queue? [18:52:30] ...yeah, duh. Okay. [18:52:43] just thinking that might be less painful than trying to get some subset of syslog flowing out of payments infrastructure and into general fundraising land [18:52:47] k4; what do you want this drupal module to do with syslog data? [18:53:07] Tell me things about realtime fraud, and total payment attempts... [18:53:08] and also nice and sparkly pure unlike scraping logs [18:53:30] ...and whatever else we think would be nice to see in needle-on-a-dial format. [18:53:31] how frequently would it update [18:53:52] so... I'd been schemeing about having a service that did that and provided stats to ganglia [18:54:28] This should also be someplace not-tech fundraising can go to see what payment dropoff after initiation is in... Italy or wherever. [18:54:50] Not sure they should be expected to deal with ganglia, or if we can make it drill down like that. [18:55:21] ya I find the idea of public reporting on payment . . . causes great ambivalence [18:55:24] *nods* I just bring it up because the best method I found for getting the data out of the frack was to push it through a proxy [18:55:41] I think we can do it with a message consumer. [18:55:41] that grep'd the log stream [18:56:07] I guess we should probably do some thinking about load. [18:56:53] Maybe we should collect aggregate data in memcache and eject it to activemq on a timeout. [18:57:02] (now I'm just playing) [18:57:08] whew, just had to battle a struggly little poopbeast [18:57:20] gotta watch those awight [19:00:19] (PS1) Mwalker: New thank you messages [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/114515 [19:01:09] (CR) Adamw: New thank you messages (1 comment) [wikimedia/fundraising/crm] - https://gerrit.wikimedia.org/r/114515 (owner: Mwalker) [19:01:25] mwalker: Before I forget, megan does want to recur those people we lost. [19:01:38] Do we by any chance have the modified TY from the last time this happened? [19:01:49] I think that was awight's dept [19:01:57] I recall the discussion; but I wasn't involved [19:02:05] * K4-713 nods [19:02:18] We don't have to do it today, I think. [19:02:23] We didn't modify the TY, afair [19:02:30] hurm. [19:02:38] What the hell am I remembering, then? [19:02:39] urp. actually... [19:02:49] ah, the PayPal hole [19:03:01] * K4-713 squints [19:03:28] Was that the one where they dropped 3% of their PIN messages under load? [19:03:32] *IPN [19:03:41] see crm/sites/all/modules/oneoffs/201305_paypal_recurring/templates [19:03:53] May. [19:03:56] Last May. [19:04:14] K4-713: +2 your idea to templatize the "sorry we are ridiculously bad at this" clause [19:05:32] I mean, this is the second time. At this point we deserve a button. [19:06:12] I think it's the third time, but it was so bad that we gave up on recurring that group at all? [19:09:25] I thought we did one batch of GC recurring that we'd missed. [19:09:34] And a bunch of people immediately quit. [19:10:57] hehe all I remember was getting it to work and throwing the code into a deep hole somewhere [19:12:44] I also remember heavily blaming people who haven't worked here in years. [19:13:03] Yeah those were big shoes to fill [19:13:32] http://www.halloweencostumes.com/red-yellow-clown-shoes.html?PCID=21&utm_source=googleps&utm_medium=PPC&utm_campaign=PLA-All&gclid=CL_jt-a027wCFdGBfgoddzEADQ [19:14:23] Actually, I want some of those. [19:14:33] Do they squeak? [19:14:37] They should squeak. [19:14:38] http://2.bp.blogspot.com/_EABuPIKLAtM/TOhsAqr9NSI/AAAAAAAADis/6U9TeyBIhlU/s1600/Shakes%2B5.JPG [19:14:46] One of my favorite films ever. [19:14:48] !!! [19:15:22] Billed for good reason as "the Citizen Kane of alcoholic clown movies" [19:15:23] you guys are sick and twisted [19:15:37] Yes. But I feel better now. [19:16:02] remember Bobcat Goldwaith? this is his masterpiece. [19:16:20] I do. I do remember him. [19:17:15] * K4-713 sighs [19:17:51] Okay, for real this time, I'm about to start ignoring everything until this oid refactor is behaving itself. [19:17:57] Goldthwait [19:18:05] I knew what you meant. [19:18:14] so...did we reach some kind of conclusion regarding the dashboard? [19:18:15] right, he broke the mold [19:18:22] I'm going to go ahread an do a civi deploy for awight's sql query thing [19:18:41] mwalker: I just did [19:18:57] oh; cool...you should !log that you did that then :p [19:19:02] i... did? [19:19:10] Jeff_Green: Yeah, I think I'm just going to stuff everything in a queue, but with some aggregation on the payments side so we don't have a ridonculous number of messages to consume on high-load days. [19:19:13] * awight checks that self exists [19:19:41] K4-713: like counters in memcache-someday-redis? [19:19:47] yep [19:19:58] awight: you did... apparently I missed it [19:20:03] it's in the SAL [19:20:29] K4-713: okdoky [19:20:49] * Jeff_Green has to change venues, for my parking meter has runneth out [19:20:51] biab. [19:20:58] Jeff_Green: And if the payments cluster explodes and we lose memcache, staring at the dashboard won't be the thing I'm trying to do. [19:21:10] ha [19:21:21] mwalker: I might leave you with the reconciliation SQL in a few... I apparently do not have the fu today. [19:21:33] we can use the fact that the dashboard still has numbers as an indication that the site isn't totally broken [19:21:38] ok biab for real now [19:21:41] yep. [19:21:42] kk [19:35:18] awight: hah! [19:35:24] we just discovered the same error at the same time [19:35:29] fucking email.is_primary [19:37:32] hehe [19:37:55] well at least we cross-spammed both threads so it won't be missed! [19:38:38] I'm really wondering if there's a way to tell mysql to only return one row from the join [19:38:45] yeah even more charming are the details we gloss over in our installation: contribution.is_deleted and... contribution.is_test [19:39:05] I noticed that in the civi report [19:39:09] I'll give them some credit for that [19:39:25] I hate that kind of mixed active/archival table... [19:40:06] Now I'm worried that it's possible to have multiple is_primary entries for a contact [19:40:21] I think the code is supposed to prevent that, but... [19:40:50] well; you're also missing people who don't have emails or something [19:41:00] because when I ran with email.is_primary I got less than civi [19:41:13] but when I dropped the join on the email table I got the exact same number [19:41:27] (i also dropped a couple of other useless joins) [19:43:06] mwalker: happily, "Civi can be trusted" is somehow the unlikely conclusion [20:28:17] mwalker: Do you have a GC test sandbox on your local? [20:28:43] uh... I can test GC transactions; but it's not setup to talk to their sandbox servers [20:29:06] Can you see if you can get one through from there? I don't care if it's the real account or their sandbox. [20:29:41] Actually, I guess the prod account is more interesting at the moment, as their sandbox keeps timing out and being totally useless. [20:30:12] I can get an iframe back, no problem. [20:31:40] uh... minfraud blew the fuck up on me [20:31:43] on sec [20:31:49] I didn't even get that far. [20:32:36] so... talk to me about your setup? [20:32:42] I'm running master right now [20:32:50] I am too. With mods. [20:33:03] What do you want to know? I'm not virtualized. [20:33:13] ok; just wanted to know what branch you were on [20:34:19] This really, really looks like their problem. [20:35:01] https://na.gcsip.com/orb/orb?[params] is returning a well-formed Access Denied on submit of the iframe content. [20:35:44] That's the sandbox, too. [20:36:01] K4|ignoringU: ya.... I cant submit a payment [20:36:15] timeout with a GC ip addx? [20:36:26] I dont know; that was on the frack [20:36:31] o_O [20:36:37] it returned fairly quickly [21:00:20] K4|ignoringU: this is really evil; but what if you submitted a payment by hand with order id 999999999? [21:00:25] and cause them to roll over? [22:44:36] Jeff_Green: pager storm; I'm wondering if icinga is intelligent enough so that we can set it up to not do that if the database is down [22:44:43] or rather; if we can set it up somehow [22:45:27] icing is not intelligent in any way shape or form [22:45:41] it is clunky and horrible [22:48:35] i mean, it does seem to have some concept of service dependencies but afaik we don't use them [22:49:30] what if we were to make a script to run all the queries and alert if any one of them is out of its configured range? [22:50:21] we could still report the value for each of the tests in the status information, like: [22:50:46] recurring_gc_contribs_missed=20, recurring_gc_failures_missed=4200000, [22:53:50] fwhoo. [23:29:53] Wow. I found another fundamental assumption I have to torpedo. [23:30:23] mwalker: This is kind of funny. [23:31:07] You know how we forbid you to come back from globalcollect to get your results switched if the oid in the $_GET doesn't match the session? [23:32:03] Yeah, we have to know to put that in the return url before we make the first request.