[00:55:41] (PS1) Yuvipanda: Catch OperationalError too [analytics/quarry/web] - https://gerrit.wikimedia.org/r/205798 [00:56:11] (PS2) Yuvipanda: Catch OperationalError too [analytics/quarry/web] - https://gerrit.wikimedia.org/r/205798 [00:56:19] (CR) Yuvipanda: [C: 2] Catch OperationalError too [analytics/quarry/web] - https://gerrit.wikimedia.org/r/205798 (owner: Yuvipanda) [00:56:24] (Merged) jenkins-bot: Catch OperationalError too [analytics/quarry/web] - https://gerrit.wikimedia.org/r/205798 (owner: Yuvipanda) [01:01:01] (PS1) Yuvipanda: Add title to query pages [analytics/quarry/web] - https://gerrit.wikimedia.org/r/205800 [01:01:37] (PS2) Yuvipanda: Add title to query pages [analytics/quarry/web] - https://gerrit.wikimedia.org/r/205800 [01:01:48] (CR) Yuvipanda: [C: 2] Add title to query pages [analytics/quarry/web] - https://gerrit.wikimedia.org/r/205800 (owner: Yuvipanda) [01:01:55] (Merged) jenkins-bot: Add title to query pages [analytics/quarry/web] - https://gerrit.wikimedia.org/r/205800 (owner: Yuvipanda) [08:08:58] Analytics-Tech-community-metrics, ECT-April-2015: Provide list of oldest open Gerrit changesets without code review - https://phabricator.wikimedia.org/T94035#1226997 (Qgil) Interesting! Let's fine tune this list. If there are a few false positives because of some Gerrit problem, I think this is ok. Stil... [08:09:30] Analytics-Tech-community-metrics, ECT-April-2015: Provide list of oldest open Gerrit changesets without code review - https://phabricator.wikimedia.org/T94035#1226999 (Qgil) [08:32:01] Analytics-Tech-community-metrics: https://www.openhub.net/p/mediawiki stats out of date - https://phabricator.wikimedia.org/T96819#1227012 (Qgil) [08:32:14] Analytics-Tech-community-metrics: https://www.openhub.net/p/mediawiki stats out of date - https://phabricator.wikimedia.org/T96819#1227014 (Qgil) p:Triage>Low [08:37:30] Analytics-Tech-community-metrics: https://www.openhub.net/p/mediawiki stats out of date - https://phabricator.wikimedia.org/T96819#1227018 (hashar) @Qgil you changed changed the git URL: ``` lang=diff - https://gerrit.wikimedia.org/r/mediawiki/core + https://git.wikimedia.org/git/mediawiki/core.git ``` I am... [08:47:32] Analytics-Tech-community-metrics: https://www.openhub.net/p/mediawiki stats out of date - https://phabricator.wikimedia.org/T96819#1227032 (Qgil) Huh, sorry and fixed. I was looking for a *.git URL because this is what they put in their example, but I didn't see I was changing from gerrit.* to git.* [10:37:04] (PS1) Joal: Patch pageview definition [analytics/refinery/source] - https://gerrit.wikimedia.org/r/205833 [11:39:00] Analytics-Tech-community-metrics, ECT-April-2015: "Who contributes code" page metrics are not updating - https://phabricator.wikimedia.org/T95166#1227262 (Dicortazar) [11:39:58] Analytics-Tech-community-metrics, ECT-April-2015: "Who contributes code" page metrics are not updating - https://phabricator.wikimedia.org/T95166#1182110 (Dicortazar) Kudos to @Acs. This should be fixed by now. Please have a look at it. [11:42:22] Analytics-Tech-community-metrics, Wikimedia-Git-or-Gerrit, ECT-April-2015: Active Gerrit users on a monthly basis - https://phabricator.wikimedia.org/T86152#962385 (Dicortazar) This panel is ready to go. Please have a look at it. Affiliations were added and bots removed as final steps [11:42:48] Analytics-Tech-community-metrics, Wikimedia-Git-or-Gerrit, ECT-April-2015: Basic metrics about contributors exercising +2/-2 permissions in Gerrit - https://phabricator.wikimedia.org/T59038#641085 (Dicortazar) This panel is ready to go (http://korma.wmflabs.org/browser/scr-contributors.html). Please... [11:43:49] halfak: you there ? [11:44:10] Analytics-Tech-community-metrics, ECT-April-2015: Migrate Korma identitites database to SortingHat - https://phabricator.wikimedia.org/T92953#1227278 (Dicortazar) This task was already done some days ago. Closing this. How do we know that identities were migrated to SortingHat? The big JSON file was prod... [11:44:19] Analytics-Tech-community-metrics, Wikimedia-Git-or-Gerrit, ECT-April-2015: Basic metrics about contributors exercising +2/-2 permissions in Gerrit - https://phabricator.wikimedia.org/T59038#1227280 (Dicortazar) [11:44:21] Analytics-Tech-community-metrics, ECT-April-2015: Migrate Korma identitites database to SortingHat - https://phabricator.wikimedia.org/T92953#1227279 (Dicortazar) Open>Resolved [11:44:23] Analytics-Tech-community-metrics, ECT-April-2015: Instructions to update user data in korma - https://phabricator.wikimedia.org/T88277#1227281 (Dicortazar) [12:34:25] o/ joal [13:21:12] Hi halfak, went for lunch :) [13:21:25] spark job finished in 15h roughly [13:21:48] With one specific task finishing 4hours after any other [13:21:49] joal, for Enwiki? [13:21:54] yessir [13:22:10] Cool! Yeah. There's some of the input files that are massively different than the others. [13:22:32] yeah, what that mean is that there is one page that contains an awful lot of refisions [13:22:43] OK. So now to run the test. The script I have for extracting tags should be 2.7 compatible. Let me check. [13:22:51] My guess is WP:AIV or WP:Sandbox. [13:23:03] https://en.wikipedia.org/wiki/Wikipedia:Administrator_intervention_against_vandalism [13:24:46] halfak: we definitelky should try ref extraction on simplewiki first, if you agree [13:25:10] joal, that'll work for me. [13:25:51] So, pageid = "id":5137507,"title":"Wikipedia:Administrators' noticeboard/Incidents" [13:26:00] 130GB of revisions :) [13:26:16] :) [13:26:23] Yeah. That's a big one. [13:26:34] The biggest we have :) [13:26:37] You should try https://en.wikipedia.org/wiki/Wikipedia:Sandbox [13:26:52] second biggest is 25gb [13:27:06] page_id = 16283969 [13:27:42] have not checked :) [13:27:53] kk [13:28:03] looking at file size :) [13:42:33] mornin' ottomata [13:42:42] Got some french trick for you ;) [13:43:04] ottomata: http://paste.rottenbytes.info/?3601c94f61e0b9d5#CY6Jgv7aqaDRIY+ADeQ8YNKnnAqR+XtDGBd7v5cTlMI= [13:43:35] ottomata: first line of IMPALA_SERVER_ARGS [13:43:43] should help [13:43:58] file location: /etc/impala/default [13:44:02] I htink [13:44:22] nuria: Hi, you there ? [13:44:49] ohhh boy [13:45:13] hahah yayyy, oh this is from your friend [13:45:18] and, it loks liek your friend is using puppet! [13:45:27] or, maybe chef, that probably uses erb templates too [13:45:32] thanks joal [13:46:06] there have beena lot of little configs like this that i've had to figure out too, that are not documented by cdh instructions at least [13:46:10] not a good sign! [13:46:21] ottomata: agreed from the not good sign [13:46:34] ottomata: the friend uses chef :) [13:48:37] :) [13:49:07] By the way ottomata, he'd like to know if we run into container release issues [13:49:09] Looks like python 2.7 is going to be a pain with my current utilities, but this is simple so I'll start from scratch. [13:49:20] Cause that's the ones he didn't manage to solve correctly [13:49:24] Why does pyspark have to only work with a version of python that is a decade old! [13:49:39] halfak: Maybe because it's a decade old ? [13:49:48] Oh. ha [13:49:55] halfak: let's go scala if rebuild is needed ;) [13:50:18] joal, I need to schedule about 10 hours to pick up scala and get competent :( [13:50:24] huhuhu [13:50:49] * halfak just got an email for annual reviews [13:50:50] halfak: send me your python, I'll write scala, and it will be a correct tuto, don't you think ? [13:50:54] which will be like 5 hours :( [13:51:06] Sure. [13:51:24] Depends on the complexity of the python though :) [13:51:27] https://github.com/halfak/mwrefs [13:51:30] It's really simple. [13:51:36] https://github.com/halfak/mwrefs/blob/master/mwrefs/extract.py [13:51:40] That does the hard bit. [13:51:42] Just a regex. [13:52:01] This glues it together: https://github.com/halfak/mwrefs/blob/master/mwrefs/utilities/diffs.py [13:52:01] ok [13:52:19] https://github.com/halfak/mwrefs/blob/master/mwrefs/utilities/diffs.py#L58-L61 [13:53:07] Ok got it [13:53:31] now, is a format excluding the revision text ok ? [13:53:40] ohhhh my bad [13:53:44] halfak: --^ [13:53:51] it's user_text, not text [13:54:25] joal, you're just talking about output, right? [13:54:35] based on that, I should have something running for simplewiki hopefully tomorrow [13:54:39] halfak: yup [13:54:59] halfak: output format in diffs.py comments [13:55:03] :) Glad to have you pick it up joal, but I'm worried about having you write me scala. [13:55:08] yeah joal [13:55:32] halfak: I am a bad programmer, but I wouldn't thought you had found it so fast ! [13:55:43] :P joal [13:55:54] joal, I need to be quick with this stuff -- that's why I've insisted for so long that I stick the environment that I'm agile in. [13:56:10] I have to backfill EventLogging, so while it runs, I'll write scala :) [13:56:33] I really do hope to have the first version of it by tomorrow [13:56:37] halfak: --^ [13:56:49] halfak: if not good enough, I'll let you go with pyspark :) [13:57:17] joal, I appreciate it, but that's not it. I need to write the analysis code! So I should be either scheduling time to level up in scala or writing this in pyspark. [13:57:37] Either that, or you write all my analysis code now >:) [13:57:49] muhahahaha [13:57:52] 'cause I have a big backlog :P [13:58:01] halfak: you're the best manager I've found ! [13:58:36] I can provide the tsv file as defined in diffs.py [13:58:42] how would that be ? [13:58:47] halfak: -^ [13:59:17] joal, that would be helpful, thanks :) [13:59:34] ottomata: I have some code review waiting for you (not the wikidumps one, the other one about pageviews) [13:59:45] * halfak promises himself that he'll run some pyspark on altiscale with the new input format this week. [13:59:52] ottomata: it includes maven poms improvements [14:00:25] * joal jsut wants to get to the point of computing wikicredits batch style :) [14:02:43] oh! [14:04:12] looking [14:04:41] hm joal [14:04:53] why can/should you remove the dependencies from the top level pom? [14:04:56] you are leaving some other deps [14:05:10] Just preventing some rewrite [14:05:22] oh, provided.... [14:05:24] I removed the ones we wnat to be scoped provided [14:05:25] ? [14:05:43] yeah --> maven doesn't propagate scope provided [14:05:50] ottomata: --^ [14:05:53] hm, that makes sense actually, so those won't be in the uber jar [14:06:00] beacuse they are already on the box [14:06:07] and get included in the CP automatically when given to hadoop [14:06:08] ja? [14:06:13] correct: refinery-hive.jar goes from 120mb to 20mb :) [14:06:18] awesooome [14:06:19] nice [14:06:21] :) [14:06:31] * joal is happy ! [14:06:34] i did that for spark-assembly too i think, didn' tthink to do it for hadoopy jars [14:06:47] Plus some parameterization of version numbers [14:07:06] heheh, i'm fine with this, in the future though, you probably want things like pom optimizations and actual logic changes in different commits [14:07:18] Yeah, I nkow that [14:07:36] I thought about doing it, and had already a big bunch of small changes commited ... [14:07:43] I have been lazy on this one :( [14:08:45] sok i know the feeling [14:08:46] And by the way, I have run through many trouble running the udfs yesterday [14:09:08] hive error: function not defined [14:09:30] create temp function...:)? [14:09:33] I htink it must because of multiple jars with the same name uploaded [14:09:36] yeah [14:09:37] hmm [14:09:41] create is ok, running was not [14:09:52] except one time, it went throuhg it [14:09:58] ottomata: --^ weird [14:10:20] oh weird [14:10:22] that is weird [14:11:19] I'll restest renaming the jar [14:11:58] halfak: page 5137507 has 821551 revisions in my dataset :) [14:15:14] 588505 in WP:Sandbox [14:15:29] But this is not the first "Sandbox" [14:16:32] Hmm... maybe it is. The first revision was in "20021220215014" [14:16:41] but the page ID is in the 16 millions. [14:17:15] the one I'm talking about is page_id = 5137507 [14:17:36] joal, oh yeah. I know. I was just scoping out the other big pages. [14:17:44] oh, ok sorry :) [14:17:49] halfak: --^ [14:17:49] :) [14:18:04] is this one coherent with what you have ? [14:18:08] Yes [14:18:13] cool :) [14:18:17] good sign [14:18:37] I need to go for some EL in order to have that running, and then write some scala :) [14:18:44] will talk soon :) [14:19:41] joal: what's up with thie? [14:19:42] https://gerrit.wikimedia.org/r/#/c/205833/1/refinery-hive/src/main/java/org/wikimedia/analytics/refinery/hive/RefererClassifierUDF.java [14:19:43] this* [14:20:14] ottomata: I'd love to include that data in refined webrequest [14:20:26] But a map instead of a string is really to muvh ! [14:20:32] So I rewrote [14:20:40] indeed, why was it a map in the first place, do you know? [14:20:50] Maybe better to add a new one and not break somebody else code ... [14:20:55] :-S [14:21:05] I have no idea [14:21:16] i reviewed it..... [14:21:19] looking... [14:21:30] The original function in core is cool, but the udf using a map is overkill [14:21:54] no i just never asked [14:22:11] Particularly now that we have parquet ! [14:22:15] ok, also, why extends UDF instead of GenericUDF [14:22:15] ? [14:22:28] parquet doesn't parses map I think [14:22:51] While using strings makes good advantage of columnar format [14:23:10] hm, joal, are you sure it isn't possible that the map could contain multiple values [14:23:12] maybe that is why [14:24:15] ottomata: result is disjonctive [14:24:20] one or the other [14:24:24] seems like it [14:24:33] lines 101/102/103 [14:24:36] ok, hm, also, i think nuria has some big preference for GenericUDF over just UDF [14:24:51] Oh, really ? [14:24:57] I don't mind rewriting [14:24:59] oh ja, even the result just returns one of those [14:25:21] dunno though, maybe it was a special case, can't remmeber [14:25:29] I think Ellery did that [14:25:29] nuria's last day issss today? yesterday? :) [14:25:38] I think it's yesterday [14:25:40] aye [14:25:41] :) [14:25:49] qchris wrote this referer thing originally [14:25:53] But it's a pity cause I could do with some help on EL :( [14:26:00] hm, i think UDF is fine. [14:26:04] ok. i'm for it! [14:26:05] k [14:26:10] :) [14:26:41] (CR) Ottomata: Patch pageview definition (4 comments) [analytics/refinery/source] - https://gerrit.wikimedia.org/r/205833 (owner: Joal) [14:26:42] some coments. [14:33:32] Analytics-Tech-community-metrics, ECT-April-2015, Patch-For-Review: "Age of unreviewed changesets by affiliation" shows negative number of changesets - https://phabricator.wikimedia.org/T72600#1227675 (Dicortazar) The dataset is now updated, but the pop-up does not work. Working on this now. As an est... [14:38:41] ottomata: holaaaaa [14:39:02] ottomata: i will be here today and probably part of tomorrow, need to commit spark stuff [14:39:19] cc joal [14:39:46] ottomata: ya all are going to love the craftiness to append to a file in spark [14:40:46] nuria: can't wait to read you :) [14:40:59] nuria: could go with some help on EL [14:41:05] let me know when you have time [14:42:30] Analytics-Tech-community-metrics, ECT-April-2015: Provide list of oldest open Gerrit changesets without code review - https://phabricator.wikimedia.org/T94035#1227743 (Dicortazar) Working on the last-patchset-upload order. [14:44:11] joal: now is good [14:44:24] k [14:44:27] batcave ? [14:45:21] give me 2 mins [14:45:26] sure, np [14:47:55] k batcave joal [15:02:08] Analytics-Tech-community-metrics, Wikimedia-Git-or-Gerrit, ECT-April-2015: Basic metrics about contributors exercising +2/-2 permissions in Gerrit - https://phabricator.wikimedia.org/T59038#1227834 (Dicortazar) @Qgil, we've (@Lcanasdiaz among others) discussed about the renames a bit more. * "Partici... [15:16:57] (PS2) Joal: Patch pageview definition [analytics/refinery/source] - https://gerrit.wikimedia.org/r/205833 [15:18:05] (CR) Joal: Patch pageview definition (4 comments) [analytics/refinery/source] - https://gerrit.wikimedia.org/r/205833 (owner: Joal) [15:31:43] joal: standupppp [15:31:52] joinnnnning ! [15:35:41] grep exits non-zero if it doesn't find a match! [15:35:57] Weird hadoop issues. [15:36:19] ha, halfak, ja then you can do fun things like [15:37:10] grep -q 'am I there?' file && echo "Yes I am" || echo "nope, didn't find it" [15:38:01] ottomata, I can't seem to figure out how to get it to not error out my hadoop streaming job. [15:38:07] It's OK to not find a match sometimes. [15:39:39] * halfak starts hair pulling. [15:40:05] * joal wants a picture :) [15:40:32] Analytics-EventLogging, Analytics-Kanban: Inserts events by scid - https://phabricator.wikimedia.org/T96872#1228006 (mforns) NEW [15:40:42] Analytics-EventLogging, Analytics-Kanban: Inserts events by scid - https://phabricator.wikimedia.org/T96872#1228013 (mforns) a:mforns [15:41:57] ha! "-D stream.non.zero.exit.is.failure=false" [15:42:15] (CR) Ottomata: Patch pageview definition (3 comments) [analytics/refinery/source] - https://gerrit.wikimedia.org/r/205833 (owner: Joal) [15:42:44] halfak: is this in a shell script? [15:42:48] Just a grep [15:42:55] in a hadoop job? [15:42:55] that's all I'm doing in my mapper. [15:42:57] oh as one of the maps [15:42:58] you could do [15:42:58] Yeah [15:42:59] uhhh [15:43:10] (grep .... ; true) or somethign like that [15:43:10] uhhh [15:43:16] Analytics-EventLogging, Analytics-Kanban, Patch-For-Review: Troubleshoot EventLogging missing chunks of data {oryx} - https://phabricator.wikimedia.org/T96082#1228017 (mforns) Open>Resolved [15:44:02] ah no [15:44:02] like this [15:44:02] https://github.com/wikimedia/operations-puppet/blob/21c72942dd7bf25dbe0759d2f867082e966bfb45/modules/puppetmaster/files/puppet-merge#L41 [15:44:06] or, your way :) [15:44:15] ottomata, I was trying that, but it seems to have failed for weird reasons. [15:44:22] I think I'm escaping wrong in my command. [15:45:26] You need to double-escape when you have quotes in the grep string too. [15:45:26] ah [15:45:26] aye [15:45:26] this returns 0 for me, btw [15:45:26] (grep weeewooo /etc/passwd; true); echo $? [15:45:34] Maybe there's a "weeewoo" in there [15:45:36] haha [15:45:37] nope [15:45:38] ;) [15:45:40] Analytics-EventLogging, Analytics-Kanban, Wikimedia-Search: Estimate maximum throughput of Schema:Search (capacity) {oryx} - https://phabricator.wikimedia.org/T89019#1228033 (Nuria) a:Nuria>kevinator [15:45:43] Analytics-EventLogging, Analytics-Kanban: Backfill EventLogging april holes. - https://phabricator.wikimedia.org/T96874#1228034 (JAllemandou) NEW a:JAllemandou [15:46:08] Analytics-Kanban, Analytics-Wikimetrics, Community-Wikimetrics, Patch-For-Review: Utf-8 names on json reports appear as unicode code points: "\u0623\u0645\u064a\u0646" - https://phabricator.wikimedia.org/T93023#1228042 (Nuria) a:Nuria>None [15:46:31] Analytics-EventLogging, Analytics-Kanban: EL alarms should be included just in the tugsten host - https://phabricator.wikimedia.org/T89469#1228044 (Nuria) Open>Resolved [15:47:18] Analytics-EventLogging, Analytics-Kanban, Patch-For-Review: Troubleshoot EventLogging missing chunks of data {oryx} - https://phabricator.wikimedia.org/T96082#1228047 (kevinator) backfilling task for missing data: T96874 [15:51:11] Analytics-EventLogging, Analytics-Kanban: Backfill EventLogging april holes. - https://phabricator.wikimedia.org/T96874#1228054 (JAllemandou) http://etherpad.wikimedia.org/p/el_utils [15:58:05] joal: can you ask your friend why he added -local_nodemanager_url=http://127.0.0.1:8042/http://127.0.0.1:8042/http://127.0.0.1:8042/http://127.0.0.1:8042/http://127.0.0.1:8042/http://127.0.0.1:8042/ [15:58:05] ? [15:58:07] ack! [15:58:13] -local_nodemanager_url=http://127.0.0.1:8042 [15:58:16] that line? [15:58:24] Sure [15:59:01] hmm [15:59:08] actually it will probably wait tomorrow [15:59:20] He is a morning person, so it won't be online anymore [15:59:29] s/it/he/ [16:00:16] ottomata: about short names [16:00:28] I don't mind having long ones since we are using parquet [16:00:48] Would we be using a row-oriented format, shorter = less disk used [16:01:45] compressed i don't care :) [16:01:47] hah [16:01:55] huhub [16:01:58] true [16:02:17] So, how do you want me to change that ? [16:02:35] but i mean, in general that is just my opinion by default, i think the meaning that is lost by using abbreviations everywhere is not worth the disk space gained :) [16:02:46] umm, whatcha mean? [16:02:48] I can agree with that :0 [16:02:58] I'm just trying to understand why we use an enum rather than just string constants [16:03:08] if we are going to return strings in most uses anyway [16:03:10] hm, do you want me to change the core function, removing the enum ? [16:03:18] yeah [16:03:21] original code [16:03:23] yeah [16:03:31] Ok, so I'll patch that as well [16:03:49] yea, i'm for it [16:03:52] ok ! [16:08:18] ottomata: -local_nodemanager_url (The URL of the local Yarn Node Manager's HTTP [16:08:21] interface, used to detect if the Node Manager fails) type: string [16:08:34] But it might have disappeared in new versions [16:08:53] that option is part of our version [16:09:03] but i don't have any indication that we need it [16:09:08] i'll set it though [16:09:17] :) [16:17:14] (CR) Nuria: [C: 1] "I am actually in the camp that prefers enums to string constants." [analytics/refinery/source] - https://gerrit.wikimedia.org/r/205833 (owner: Joal) [16:18:07] nuria: i'm fine with the enum in general, but if we are returning a string in our main use case for the method [16:18:09] what's the point? [16:18:42] huhu, I'll for this thing to be settled before doing any more change :) [16:19:10] ottomata: I think value comes from easier to read code if the enum is itself a class (so values are well defined) [16:19:36] ottomata: so something like: [16:19:40] https://www.irccloud.com/pastebin/0OrIR1bv [16:19:41] why is Classname.Value easier than just VALUE [16:19:41] ? [16:20:29] it seams just as readable to me nuria [16:20:42] ultimately both are just constants [16:20:53] code readability is the same [16:21:02] its just the underlying data that is stored that is different [16:21:05] in one case it is an int [16:21:09] in another it is a string [16:21:38] Analytics-EventLogging: Send graphite metrics for Schema. as well - https://phabricator.wikimedia.org/T95780#1228121 (Tgr) >>! In T95780#1200229, @Nuria wrote: > Sorry but strongly disagree, comment above implies using EL as an Error Log, and EL is not an error log system, it's a tier-2 system... [16:21:46] if we were using just the thing in java code to do stuf [16:21:49] i'd say enum is nice [16:22:01] but, we are making this result useful outside of java java [16:22:06] so, we return a string [16:22:23] just not sure what the point of storing it in memory for a little while as an int is [16:22:36] storing it as an int makes joal have to write a switch statement to return the proper string [16:22:55] ottomata: but if you define an enum like : [16:22:59] which makes code less readable, in my opinion [16:23:40] https://www.irccloud.com/pastebin/VbdLWYkq [16:23:54] there is your string to int translation, case is not needed right? [16:24:09] ottomata: we were using impala 2.0.0 from cdh 5.2.0 [16:24:12] now, ottomata not ahill to die on [16:24:41] hmmm? [16:24:47] nuria: not sure i understand [16:25:30] *not a hill to die on, so i am fine with just using strings [16:25:32] how does that avoid a case? [16:25:55] aye, ya, but i just want to understand [16:26:03] if we can use enum, and can still do [16:26:23] return classifyReferer(referer) -> String [16:26:27] then i'm cool [16:27:56] oh [16:27:57] joal [16:27:57] ottomata: so the "case" is not needed if the enum has both the string and int value [16:28:04] there is enum .name() method? [16:28:12] that's what i'm reading now [16:28:14] yes, it exists [16:28:45] oh cool then maybe just do [16:28:56] public enum RefererClassification { [16:28:56] UNKNOWN ("unknown"), [16:28:56] ... [16:29:02] and then in the UDF just do [16:29:14] return classifyReferer(referer).name() [16:29:15] ? [16:29:34] possible :) [16:29:41] I don't mind doing one or the other [16:29:49] either that or string constants is fine with me [16:29:53] We just need to make a decision [16:29:54] and it sounds like nuria likes the enums [16:30:00] :) [16:30:00] so, go with enums with string values [16:30:10] i just want to avoid caseing the string values really [16:30:19] It's just that we've used strings and not enums everywhere else :) [16:30:20] that way there is a real constant string value associated with the result [16:30:22] yeah [16:30:23] OR [16:30:24] use strings! [16:30:27] i don't care now :) [16:30:33] huhuhu ) [16:30:34] does make things simpler [16:30:37] ottomata: hahah [16:30:43] ay ay [16:30:49] From almost there, to a good knotbag :) [16:30:54] haha [16:31:22] joal, up to you at that point, as long as the string value is a constant that is associated with the return of classifyReferer, I am fine [16:31:26] ottomata: also i like returning long names like "unkown" rather than an abbreviation, yes. [16:31:29] ok [16:31:52] i just don't want the switch statment in the UDF [16:31:59] the string value should be part of the method return [16:32:01] nuria, ottomata : I'll go for strings from the core, to be coherent with the coed base [16:32:05] that way users of the method can't mix it up [16:32:09] ok cool, fine with me [16:32:25] nuria: ? [16:32:47] time to make some lluuuunch, bbiab [16:34:54] nuria: HAve the fact of winning this battle against ottomata means you prefer me going for enums ? [16:35:16] joal: nah [16:35:20] :) [16:35:32] not at all [16:35:37] you ok for strings then I guess :) [16:35:41] yes [16:35:46] Cool ! [16:35:56] I would agree on the principle that enums are better [16:36:12] But the codebase is built on constants from the bottom, so ... [16:37:25] (PS3) Joal: Patch pageview definition [analytics/refinery/source] - https://gerrit.wikimedia.org/r/205833 [16:49:34] Analytics-EventLogging: Send graphite metrics for Schema. as well - https://phabricator.wikimedia.org/T95780#1228210 (Nuria) It is too bad Statsd is down days at a time and that is something to fix. Please note that tier-1/tier-2 terminology is an industry standard, we use it more at analytics... [16:54:29] haha [17:00:15] Analytics, Analytics-Kanban, Patch-For-Review: Code changes in VCL to add a Last-Access cookie to track "top domain" uniques [13 pts] {bear} - https://phabricator.wikimedia.org/T92435#1228241 (Nuria) a:Nuria>kevinator [17:13:19] Analytics-Tech-community-metrics, Wikimedia-Git-or-Gerrit, ECT-April-2015: Basic metrics about contributors exercising +2/-2 permissions in Gerrit - https://phabricator.wikimedia.org/T59038#1228269 (Nemo_bis) Core is generally meant to mean MediaWiki core and the MediaWiki core group in gerrit, who ca... [18:07:37] Analytics-EventLogging: Send graphite metrics for Schema. as well - https://phabricator.wikimedia.org/T95780#1228390 (Tgr) I don't think anyone wants to replace error logs with EL. Tracking an application's key metrics and alerting on sudden changes can catch lots of problems that don't manifes... [18:10:52] kart_: where can I get libapertium3-3.3-dev [18:10:55] do I have to build that too? [18:11:04] oh wait [18:11:06] no i found it [18:11:06] hang on [18:16:37] nuria, mforns : got a review for you :) [18:16:48] joal: k [18:16:49] https://gerrit.wikimedia.org/r/#/c/205895/ [18:16:50] joal, ok [18:17:04] very small, but efficient :) [18:17:42] joal: and that passes the "replace" value to the thread? [18:17:48] nuria: indeed :) [18:18:03] the problem was actually two problems [18:18:21] first, passing the value to the child thread, and then really use it in the main one :) [18:19:14] joal, have you tested it in beta-labs? [18:19:21] nuria: question though, can we merge / deploy easily, or should I go for a handcoded patch for the backfilling ? [18:19:28] mforns: I did indeed [18:19:33] now no more errors [18:19:39] joal, looks good to me :] [18:21:58] joal, do you want me to merge it, then? [18:22:09] joal, or just use it for backfilling? [18:22:10] waiting for nuria's approva :) [18:22:15] joal, ok [18:29:57] nuria: given the small patch set, I'll go and start backfilling with handcoded version :) [18:30:06] joal: ya [18:30:08] right [18:30:25] ottomata: all dependencies in apt.w.o [18:30:44] mforns: you confirm we have everything needed in the extracted log files in /srv/el_backfilling ? [18:30:48] ottomata: going to bed. Good night! :) [18:31:22] joal, yes, but only for the given period [18:31:27] right [18:31:31] the timestamps are in the folder name [18:31:32] kart_: goodnight! [18:31:41] I'll do that first, then update with potential new holes [18:31:49] mforns: --^ [18:32:29] joal, sounds fine! thanks for taking that :] [18:34:41] kart_: if you haven't quite left yet [18:35:18] (have you?) [18:35:25] i can totally reproduce whatever is happening [18:35:34] Makefile:654: *** missing separator. Stop. [18:35:59] want to understand how you are building and why you don't get it [18:36:03] i have no idea what it is about [19:00:45] nuria, yesterday you said that we needed to restart wikimetrics or reboot it? does it have something to do with marc's email "Last chance to reboot precise installs in Labs", and if not, do you know if we have to reboot any instances still? [19:01:04] mforns: yes, we need to reboot it [19:01:13] mforns: both staging & prod [19:01:20] nuria, ok, any other machines?] [19:02:56] nuria, I'll do it in staging first, is it just: sudo shutdown -r now? or there are other things to do? [19:03:10] mforns: i think we have to do it from ui on labs [19:03:16] ottomata: do you know? [19:03:28] mforns: ui on labs machines on wikitech [19:03:33] nuria, aha [19:03:38] ummmm [19:03:43] i thought it just needed rebooted [19:03:44] i just did [19:03:45] sudo reboot [19:03:46] on mine [19:04:03] but i'm not certain [19:24:38] ottomata, there is also kafka01, kafka02 and kafka03 that have precise and have not been rebooted since Apr 13, 2015 12h UTC, do we also need to reboot them? [19:24:53] i rebootted them today, no? [19:24:59] oh! sorry [19:25:20] ja, up for 4 hours [19:26:13] ottomata, sorry, I was looking at https://wikitech.wikimedia.org/wiki/Special:NovaInstance and it says: Launch time: 2015-03-27T16:00:48Z [19:26:23] ottomata, I guess this does not change when rebooted... [19:26:38] hm, guess [19:33:16] gone for diner, will be back in a while [20:24:26] (PS10) Nuria: Add Apps session metrics job [analytics/refinery/source] - https://gerrit.wikimedia.org/r/199935 (https://phabricator.wikimedia.org/T86535) (owner: Mforns) [20:25:05] ottomata, joal: please take a look at craftiness to append to file and see if it is acceptable: https://gerrit.wikimedia.org/r/199935 [20:25:14] ottomata: will be back in 30 min [20:52:25] Analytics-Kanban, Quarry: it would be useful to run the same Quarry query conveniently in several database - https://phabricator.wikimedia.org/T95582#1229295 (ggellerman) [21:15:15] (CR) Bmansurov: [C: 1] "Looks good, but I haven't been able to test because I'm getting the following error: "Error: Unknown Graph Version!" for all graphs." [analytics/limn-mobile-data] - https://gerrit.wikimedia.org/r/199162 (https://phabricator.wikimedia.org/T93690) (owner: Jdlrobson) [21:16:24] Analytics-Visualization: Limn sample chart does not load - https://phabricator.wikimedia.org/T57939#1229371 (bmansurov) Any updates on this bug? I'm also getting the same error message when testing limn-mobile-data. I'll be happy to provide any information about my setup, but I just followed the README file. [21:22:53] (CR) Ottomata: Add Apps session metrics job (1 comment) [analytics/refinery/source] - https://gerrit.wikimedia.org/r/199935 (https://phabricator.wikimedia.org/T86535) (owner: Mforns) [21:25:59] hey there [21:26:12] I am wondering what is your Phabricator tag to fill a Task for your group :) [21:26:28] (PS1) Bmansurov: Add missing dependencies and update the documentation [analytics/limn-mobile-data] - https://gerrit.wikimedia.org/r/205977 (https://phabricator.wikimedia.org/T75431) [21:27:17] found it Analytics-EventLogging ! [21:28:42] (CR) Bmansurov: "T57939 for reference" [analytics/limn-mobile-data] - https://gerrit.wikimedia.org/r/199162 (https://phabricator.wikimedia.org/T93690) (owner: Jdlrobson) [21:31:44] Analytics-EventLogging, Beta-Cluster: puppet agent disabled on beta cluster deployment-eventlogging02.eqiad.wmflabs instance - https://phabricator.wikimedia.org/T96921#1229393 (hashar) NEW [21:32:58] (CR) Joal: Add Apps session metrics job (6 comments) [analytics/refinery/source] - https://gerrit.wikimedia.org/r/199935 (https://phabricator.wikimedia.org/T86535) (owner: Mforns) [21:33:32] Analytics-EventLogging, Beta-Cluster: puppet agent disabled on beta cluster deployment-eventlogging02.eqiad.wmflabs instance - https://phabricator.wikimedia.org/T96921#1229402 (hashar) I have set a message pointing to this task by using: puppet agent --enable; puppet agent --disable 'https://phabric... [21:37:26] Can someone help me understand what the value of mw.js.deprecate values in Graphite mean and how to use them to build a useful graph indicating popular usage? [21:38:09] I had this at http://codepen.io/Krinkle/full/cBGCl/ [21:38:17] But since the statsd upgrade nothig works the same anymore. [21:38:25] And I was probably doing it wrong to behind with [21:40:12] E.g. does value 12.5 mean. Hits per second? aggregated or average? Does each hit within the second bump the count, or does it create new entries etc. [21:40:32] https://graphite.wikimedia.org/render/?target=mw.js.deprecate.wgEnableAPI&target=mw.js.deprecate.wgCurRevisionId&target=mw.js.deprecate.wgUserName [21:47:09] nuria: when inserting with replace, is it normal to get a lot of warning about duplicate entries ? [21:47:22] I didn't get them in betalabs [22:04:24] Analytics: Add support for X-WMF-UUID method of transmitting app install ID to apps uniques and session reports - https://phabricator.wikimedia.org/T96926#1229510 (Deskana) NEW [22:04:42] nuria, bearND|flood ^ Here's the task for updating the reports [22:05:52] (CR) Jdlrobson: [C: 2] Update limn graphs [analytics/limn-mobile-data] - https://gerrit.wikimedia.org/r/199162 (https://phabricator.wikimedia.org/T93690) (owner: Jdlrobson) [22:07:19] joal|diner, still around? [22:07:23] yup [22:07:36] wassup halfak ? [22:07:46] Did you work out a good way to quantify the capacity of the altiscale cluster? [22:07:53] nope [22:08:07] memorywise, I used roughly half of it [22:08:17] But I don't know from a cpu perspective [22:08:22] OK. [22:08:29] Thanks. :) [22:09:13] I think the easiest would be to ask them :) [22:09:17] halfak: --^ [22:09:59] Yeah. They find creative ways to not understand my questions while you do the opposite :) [22:10:29] huhuhu [22:12:44] Analytics-EventLogging, operations: Add icinga-wm bot to #wikimedia-analytics - https://phabricator.wikimedia.org/T96928#1229552 (Gage) NEW a:Dzahn [22:13:02] (Merged) jenkins-bot: Update limn graphs [analytics/limn-mobile-data] - https://gerrit.wikimedia.org/r/199162 (https://phabricator.wikimedia.org/T93690) (owner: Jdlrobson) [22:14:59] jgage: channel mode here is +c = no colorized text [22:34:23] It seems we're lagging by about 21 minutes in EL. [22:34:40] (just making an observation while I wait for data to show up) [22:34:45] I push events in batch currently [22:34:52] might be related [22:34:57] Gotcha. [22:35:08] Looks like it just caught up as far as I needed it to :) [22:35:13] :) [22:35:26] I try to be reasonnable while pushing [22:35:30] but still [22:35:38] if you see something, let me know [22:35:51] kk. Will do. [22:36:07] Analytics: Add support for X-WMF-UUID method of transmitting app install ID to apps uniques and session reports - https://phabricator.wikimedia.org/T96926#1229626 (Nuria) Session code is taken care of, as it never used the app install id from url. Changes will be on this patch: https://gerrit.wikimedia.org/r... [22:36:34] Analytics, Analytics-Cluster, Analytics-Kanban: Add support for X-WMF-UUID method of transmitting app install ID to apps uniques and session reports - https://phabricator.wikimedia.org/T96926#1229627 (Nuria) [22:37:37] Analytics, Analytics-Kanban: Onboard Madhu - https://phabricator.wikimedia.org/T92985#1229630 (Nuria) [22:37:39] Analytics, Analytics-Cluster, Analytics-Kanban: Add support for X-WMF-UUID method of transmitting app install ID to apps uniques reports - https://phabricator.wikimedia.org/T96926#1229633 (Deskana) [22:43:52] Analytics-EventLogging, Analytics-Kanban, Patch-For-Review: Inserts events by scid - https://phabricator.wikimedia.org/T96872#1229643 (mforns) Found a bug in the code, the itertools.groupby step is not working as expected... Working on it to fix it right now. [22:45:15] joal|diner, is it possible that events come into EL out of order? [22:45:30] what do you mean ? [22:46:00] normally events that comes into the db have been validated [22:46:07] I just ran SELECT max(timestamp) FROM Edit_11448630 and got a time later than an event I'm looking for. [22:46:10] But I can't find my event. [22:46:17] Wondering if I should wait longer. [22:46:22] arrrf [22:46:34] You probably have seen an example of the issues we have currently [22:46:43] There are holes in the db [22:46:52] Because of a buffer overflow [22:47:06] So once in a while, events don't get feed to the db [22:47:11] Gotcha. So it could have gotten dropped? [22:47:22] correct, it might [22:47:34] Currently I am filling gaps ... [22:47:48] joal, gotcha. I'll try again in the morning. :) [22:47:53] k [22:48:07] just for you to know halfak I am filling old gaps [22:48:19] so probably not yours if it is toay :( [22:48:20] Gotcha. So new gaps might not be filled by the morning? [22:48:28] nonono [22:49:00] The event I'm looking for should have come in around 22:16, 22 April 2015‎ (UTC) [22:49:13] So, ~30 minutes ago [22:50:00] let me have a look [22:51:30] Regretfully, the events are generated on the server-side, so I can't confirm that they were actually sent. [22:51:54] But there are a lot of similar events making it in, so it seems like they should be. [22:52:01] Similar == same schema. [22:52:27] weird [22:53:12] springle: you there ? [22:55:13] halfak: and you looked at server logs? [22:55:23] nuria, negative. [22:55:29] halfak: ah wait they are probably not on 1002 yet [22:55:42] halfak: i would look at that your event is actually valid [22:55:43] Could be. But there are more recent events present. [22:55:58] halfak: if it is invalid it will not be on db [22:56:00] nuria, not sure how to check that. It is generated on the server side. [22:56:03] nuria, indeed [22:56:08] nuria: can we check if the db m4 is not overwhelmed ? [22:56:25] halfak: if it is valid it should be on all-events-log once that log is on 1002 [22:56:37] nuria, how do I find that log? [22:56:42] nuria: I can't find it in gangliqa :( [22:56:54] joal: you can do that running tcpdump and seeing the dates of events being sent right now, makes sense? [22:57:12] for current real EL, yes [22:57:16] halfak: logs are moved to 1002 once a day to /a/eventlogging [22:57:23] stat1002? [22:57:27] I am just wondering of batch insert doesn't kill the db [22:57:33] nuria: --^ [22:58:24] joal: db graphs should be .. let me see [22:58:28] halfak: yes [22:59:18] joal: https://tendril.wikimedia.org/host/view/db1046.eqiad.wmnet/3306 (i think this is linked off backfilling doc) [22:59:33] joal: volume of queries is real small [22:59:39] Looks like the most recent logs on stat1002:/a/eventlogging are from 20150403. [22:59:54] So, 19 days ago? [23:00:18] joal: volume of queries is real small [23:00:54] bits received is going up, but not fast [23:01:11] I still have an issue with warnings though [23:01:27] nuria: Can't have the sqlalchemy warning to go away [23:01:37] So log files are crappy [23:01:46] Except from that, works fine :) [23:01:57] I'll have one file done tonight, and continue tomorrow [23:01:58] joal: what is the warning? [23:02:30] /usr/lib/python2.7/dist-packages/sqlalchemy/engine/default.py:324: Warning: Duplicate entry '5151433e85665a8ba9d53f6293537054' for key 'ix_CentralAuth_5690875_uuid' [23:02:55] It works from an insert perspective, but still, crappy [23:03:40] And that seems to me that data prepared by mforns might not be correct :( [23:03:53] I wouldn't have that many duplicate entries [23:03:56] right ? [23:04:09] hi [23:04:58] I let you read mforns [23:05:03] ok [23:05:06] joal: it could be that you are re-running some events that were alredy inserted, but warning should be harmless [23:05:15] joal: as events not present will get inserted [23:05:21] harmless indeed [23:05:46] mforns: Had you backfilled some of the prepared data ? [23:05:53] joal, no... [23:05:56] halfak: i think something went missing with rsync whne we swaped the box, let me check puppet and I will open aticket for ottomata [23:06:16] ok mforns [23:06:21] nuria, thanks for looking into it. I'll hold tight. :) [23:06:30] joal, there could be some duplicates at the gap limits, but I can see there are lots, right? [23:06:55] mforns: It seems that db managed to have some inserts in the midlle, depending on schemas [23:07:30] For instance, on 64k lines, I got about 8k warnings, and the rest seems to be inserted [23:07:34] joal, some EL clients log events with delay [23:08:13] joal, like: log events for 2015-01-01T00:00:00 5 hours later at 2015-01-01T05:00:00 [23:08:47] might be that :) [23:09:00] joal, the event timestamp continues the same, but the insertion time is later [23:09:01] anyway, I'll a file done by tonight, and will start again tomorrow [23:09:10] yurik: you around? [23:09:16] milimetric, sup [23:09:27] joal, ok, how come you stayed so late today? [23:09:32] yurik: just wondering if JsonConfig is supposed to be enabled on meta.wikimedia [23:09:44] milimetric, its used for graph [23:09:53] at some point i should migrate away from it [23:10:01] To backfill :) [23:10:06] hm, is it "Config:Article" or "JsonConfig:Article"? [23:10:11] I wanted to have started before tomorrow :) [23:10:18] I'm not having luck adding a page [23:10:18] mforns: --^ [23:10:28] milimetric, neither [23:10:30] But when the file is done, to bed ! [23:10:35] oh ok :) [23:10:47] jsonconfig does not create any namespaces by default - you have to configure each one [23:10:53] nuria, milimetric, by the way I rebooted wikimetrics-staging and I think it went all well, but did not reboot wikimetrics, because I wanted to ask milimetric if some manual work needed to be done before or after reboting to let wikimetrics working well? [23:11:13] see the Graph ext configuration [23:11:17] joal, sorry for the problems [23:11:20] halfak: /eventlogging/archive/ should have the logs according to puppet let me see [23:11:21] in commonsettings i think [23:11:22] thanks yurik, makes sense [23:11:27] np [23:11:48] mforns: not to worry, my round of on call duties :) [23:11:52] mforns: I shall not answer this question as it's too late :) [23:11:54] halfak: so, ya ticket [23:12:01] I'll answer after you get some sleep :) [23:12:18] milimetric, xD [23:12:21] I second milimetric. Yall are up too late [23:12:23] :P [23:12:38] nuria, want me to file? I'm not sure I can give enough context. [23:12:39] huhuhu :) [23:12:42] you're right [23:12:55] * joal fakes going to bed [23:13:02] :P [23:13:02] see you tomorrow! good nite! [23:13:04] :) [23:13:06] nite guys [23:13:06] o/ [23:13:09] xD [23:19:15] halfak: filed ticket : https://phabricator.wikimedia.org/T96934 You can follow up with ottomata as while we can do code changes on puppet we do not have permits to merge them [23:19:31] nuria, thanks [23:19:36] joal: let me help you with the El stuff [23:20:25] eventlog1001 [23:20:32] nuria--^ [23:21:15] yessir [23:21:33] /home/joal/el_backfilling/install [23:22:11] I have run-backfill script running [23:22:17] filling log files [23:22:21] ls -lah helps [23:22:31] split xal on the go right now [23:23:00] nuria: makes sense ? [23:23:45] joal|night: lemme see [23:25:21] joal|night:ok, yes, i see it , big logs [23:25:38] yup, because of warnings :( [23:26:06] joal|night: right, which tell us that some events were there [23:26:20] joal|night: so, backfilling is good, doesn't seem to be a problem [23:26:31] nope, sok :) [23:26:40] ls -lah helpsand by the way, to double check : [23:27:15] grep inserted log-backfill-xah.txt [23:27:41] joal|night: also funny how all the events that seem to be duplicated are server side [23:27:53] ?? [23:28:07] joal|night: no, my mistake, they come in all flavours [23:28:12] I'm gonna lear some new stuff :) [23:28:18] huhu [23:28:37] But, wc -l log-backfill-xah.txt [23:29:02] tells us that many events are inserted [23:29:15] joal|night: ya 16K with 300 per sec is [23:29:30] I cheated :) [23:29:40] I changed the batch size [23:30:00] ah ok, cause 16K is not very many [23:30:22] 16k dups events over 64k inserts [23:30:34] joal|night: at the edge of the interval? [23:30:45] joal|night: or in the middle [23:31:06] everywhere [23:31:35] And roughly the same number of dups [23:31:42] per pslit [23:31:49] about 8k [23:31:59] (2 log lines per dup) [23:32:19] I think we only dropped event from a certain schema [23:32:24] Don't you think ? [23:32:32] joal|night: yes, sounds like it [23:40:43] halfak: quick question on your regexp for refs [23:40:58] Sure. What's up? [23:41:22] You enable multiline, but don't use ^ or $ [23:41:33] Can I remove multiline then ?