[01:14:10] Is Lua or something being enabled on Wikipedia today? [01:16:32] PiRSquared: soon [01:22:04] PiRSquared, from 11 PM tonight until this time tomorrow [01:22:14] "February 18, 23:00-01:00 UTC (stretching into Tuesday UTC)" [01:22:51] gn8 folks [02:40:19] Hello [02:42:38] I have some questions about Scribunto... is there anyone who is knowledgeable about it? [02:48:03] Is there anyone awake at all..? [02:51:12] Kira_K: yes? [02:51:30] Kira_K: you can just ask. don't wait for someone to show up [02:51:38] Ok sorry [02:52:20] I am wondering about the speed in particular... many people at English Wiktionary are a bit hesitant to use it because they want to know when to use it and when it would be too slow [02:57:40] Wiktionary uses templates very widely, but a lot of them are very small templates that are heavily used. Scribunto supposedly runs each invocation separately, but that might cause a lot of slowdown for many invocations, they worry. [03:01:27] idk if that use case has been tested. (the one use that sticks in my mind is [[barack obama]]. which was extensively tested iirc) [03:01:32] TimStarling should know [03:02:07] did they benchmark? [03:02:21] domas: they == TimStarling ? [03:02:30] domas: or they == wiktionary? [03:03:24] wiktionary [03:03:25] :) [03:03:40] the parser runs each invocation separately, if the templates have parameters, which they generally do on wiktionary [03:03:50] so scribunto is no worse in that respect [03:04:09] can some part be compiled into an intermediate form and cached? [03:04:36] I was planning it, it would have been a fun project [03:04:46] but lua turns out to be so fast that there's not much point [03:04:56] compiling lua, that is [03:05:14] k [03:05:47] it would have been indulgent to write performance features which don't actually have a significant impact [03:08:35] When is Lua compiled? Not on every invocation I hope? [03:10:03] yes, on every invocation, isn't that what I just said? [03:10:28] Ok [03:11:15] Wiktionary will be needing a table like https://test2.wikipedia.org/wiki/Module:Language but this would need to be imported by the majority of templates/modules on any given page... which might amount to over a hundred on many pages [03:11:36] compiling even really huge lua modules is still faster than doing just about anything with wikitext metatemplates [03:11:51] We currently use templates to store that information, like https://en.wiktionary.org/wiki/Template:en and its subpages [03:12:22] And there is concern that if we convert that into a single large module, it will end up slowing everything down because it gets invoked so often on each page [03:12:36] yes, I think doing that will provide a big win for performance [03:13:03] Even if there is over a megabyte of text in the module, and it has to be compiled over 100 times per page? [03:13:23] it is not compiled 100 times per page, it is compiled once per page [03:13:36] But you said once per invocation? [03:13:48] well, we had a different definition of invocation I guess [03:13:53] Oh I see [03:14:13] there will come a point where it is better to split up data modules [03:14:19] So there is a single overhead when the module is used once, but that is amortized when the module is used more than once on that page? [03:14:48] but I'm not sure if that will be reached before $wgMaxArticleSize [03:15:14] it's an interpreter per parse? [03:15:51] The main cause for many small template calls currently are translation tables, which usually need to fetch their corresponding language code and /script subtemplates on most English entries [03:16:02] or do interpreters get reused? [03:16:34] And pages like https://en.wiktionary.org/wiki/water have become incredibly slow because of that... the hundreds of invocations completely swamp the software [03:16:48] It took me half a minute or more just to load it just now [03:16:49] Kira_K: so, convert [[water]] as a test case? [03:16:59] Kira_K: half a minute is nothing [03:17:10] compared to [[barack obama]] [03:17:10] For a dictionary? [03:17:32] https://en.wikipedia.org/wiki/Barack_Obama loaded in 5 seconds for me [03:18:10] Kira_K: that was parser cached then. or already converted to lua [03:18:25] I don't think Lua is running on Wikipedia yet [03:18:39] i thought it was but not certain [03:18:52] Special:Version doesn't list it [03:18:55] i can't remember how long barack normally takes. i was thinking around 5 minutes. tim would know. [03:19:26] > for i = 1,1000 do loadfile('/home/tstarling/tmp/language.lua') end [03:19:26] > print(os.clock()) [03:19:26] 7.13 [03:19:31] Water is one of the slowest pages on Wiktionary currently. There are others too, like "a" and many of the other one-letter pages [03:19:34] that's that language module [03:19:48] so it takes 7ms to parse the module [03:20:04] Oh that really isn't a problem... [03:20:15] Tim is that something we can do to profile our own modules? [03:20:23] That would be very helpful [03:20:44] there is a profiler but it's disabled at the moment because it had a segfault bug in it [03:20:55] I meant the os.clock bit [03:21:09] os.clock() is available [03:21:15] loadfile() isn't [03:21:44] and how long does barack take? [03:21:49] so this language module is 213KB, so maybe a 2MB module might take 70ms to parse [03:22:07] so probably still not a concern at that size, unless there were many such modules [03:22:07] (with and without lua) [03:23:13] Do you know of a way that regular users can find out how long a page takes to parse? So that we can see if our changes have any effect on pages like water? Profiling a single invocation probably won't be effective because it's the cumulative effect that matters [03:23:13] in my benchmarks, that article took 13.2s with lua and 50.4s without [03:23:19] Wow... [03:23:36] that's just by replacing the citation templates [03:24:04] that's for [[Barack Obama]] on the english wikipedia [03:24:05] I'm not too familiar with Wikipedia's templates, so I'll just take your word for it that they are slow :) [03:25:25] you can use the limit report [03:26:14] Where would that be? [03:27:10] hang on, I just have to test it [03:28:09] for overall parse time, you can do a preview and check the "served by" HTML comment in the page source [03:28:40] e.g. [03:29:08] [03:29:12] Ouch... that is bad [03:29:48] the limit report is an HTML comment further up the page, that looks like this: http://paste.tstarling.com/p/HWhfDq.html [03:30:01] that is with the profiler enabled, I'm not sure why it is enabled exactly... [03:30:11] I see it [03:30:16] but you should still get the overall time and memory usage with it disabled [03:30:33] It's a shame those things aren't more widely known... they could be very useful [03:30:52] I'll be linking to the logs of this conversation for sure... [03:31:26] Water has an expansion depth of 23 [03:31:42] Is that bad compared to other pages? [03:31:55] Like Barack Obama? [03:32:58] the expansion depth doesn't really matter for performance [03:33:07] Ok [03:33:23] the main thing that indicates performance is the visited node count [03:33:25] I remember hearing something about it being bad but I wasn't sure [03:33:57] Preprocessor visited node count: 108315/1000000 [03:34:08] That's higher than Barack Obama has right now [03:42:19] Got disconnected... [03:42:25] Anyway, thank you for your help Tim, it was very informative and useful. And thank you for working so hard too! [03:42:51] no problem [03:50:25] Nemo_bis: Yes, but e-mail is both Special:SendEmail and ENOTIF/EVERIFIED (or whatever it's called). [03:50:32] It's not Special:SendEmail. [03:50:42] Susan: "or whatever it's called". [03:53:07] I thought that parenthetical only applied to the latter half of the sentence. [03:53:58] TimStarling: The HTML comment seems pretty silly these days. I said the other day that it seems like a situation to "go big or go home." [03:54:25] Either have Special:ProfilePage or whatever and/or remove the HTML comment. [03:55:05] removing the HTML comment seems pretty pointless [03:55:25] profiling article rendering would be nice, but it's a pretty big project [03:56:02] the time could be made more accessible, with a JS gadget or whatever [03:56:15] There are two HTML comments, I guess. [03:56:31] potentially generated by different requests [03:57:29] I'd assume a profile tool would need the ability to specify which server is being used. [03:57:33] Or servers. [03:57:53] I think some other way of embedding the data in the page would be nice, since it takes a few minutes to open the "view source" page of a large article in firefox [03:59:41] Well, a profile Special page would output the rendered HTML and/or HTML source optionally, I guess. Along with profiling information. [04:00:21] So there's new PP report, the server info/load(?) time at the bottom, and then a parser cache key, I guess. [04:40:26] is watchlist down? [04:44:38] you could be more descriptive [04:45:22] the last thing on my watchlist was on . Wikipedia:Reference desk/Humanities‎; 04:02 . . (+415)‎ [04:45:38] after that it's not updating [04:45:57] though i did watchlist edits after.... [04:46:50] do you have your watchlist set to not show your own edits? [04:46:53] iirc that's an option [04:47:20] i have a 5,000 page watchlist with AN AN/I and so forth, it's down [04:47:43] oooooooh, hahaha, geonotices work even when logged out [04:47:50] * jeremyb_ never would have imagined that [04:48:03] * Jasper_Deng has 10,899 [04:48:16] works for me [04:48:32] (unless you're talking about it not being updated) [04:48:42] it's not updating [04:49:07] well i'll be logged in in a few secs [04:49:15] ok [04:49:27] last update was on 04:02 [04:49:43] (not that i can do much more than say if mine is working) [04:49:46] http://en.wikipedia.org/wiki/Wikipedia:Village_pump_%28technical%29#Watchlist_lag_but_no_notice [04:49:46] in this mean time i'm looking at http://noc.wikimedia.org/dbtree/ [04:50:10] it's project wide [04:51:40] how odd. recentchanges is fine [04:51:49] i would expect they would either both work or both be broken [04:52:03] jeremyb_: -operations shows issues with MySQL [04:52:13] and it seems to be only enwiki's tables being affected [04:52:27] ahhhhh, yes [04:52:32] i glazed over that part [04:53:08] yes it is strange [04:55:40] TimStarling: anything that can be done? [04:56:56] sure [04:58:28] !log replication broken on db1043, possibly others, due to update of article_feedback_revisions with negative value for afr_total [04:58:29] Logged the message, Master [05:10:56] !log on db1043: running alter table to convert the relevant field to signed, since I figure this is less disruptive than sql_mode = 'NO_UNSIGNED_SUBTRACTION' and less likely to break again than skipping the query [05:10:58] Logged the message, Master [05:15:07] <3 MariaDB [05:15:23] <3 Wikimedia Branch that is [05:15:30] MySQL 5.5 does this as well, apparently [05:16:03] that's how I know what is going on, I just read about it in the MySQL 5.5 manual [05:16:16] probably! [05:17:11] sql mode doesn't always help [05:17:15] I remember someone complaining :) [05:17:21] about negative values [05:17:27] Jasper_Deng etc.: fixed now? [05:17:27] (it isn't always substraction that can break) [05:17:38] it's subtraction in this case [05:17:46] WFM [05:17:54] Last_Error: Error 'BIGINT UNSIGNED value is out of range in '(`enwiki`.`article_feedback_revisions`.`afr_total` + -(3))'' on query. Default database: 'enwiki'. Query: 'UPDATE /* ApiArticleFeedback::insertRevisionRating 202.45.119.17 */ `article_feedback_revisions` SET afr_total = afr_total + -3,afr_count = afr_count + 0 WHERE afr_page_id = '18051' AND afr_rating_id = '4' AND afr_revision = '537119220'' [05:17:57] in some cases negative inserts will break in replication [05:18:01] yeah, I saw that [05:18:12] actually that is addition isn't it? [05:18:14] TimStarling: yes, for me at least [05:18:22] you can call it either way [05:18:50] that alter will take quite some time [05:18:51] I suppose [05:18:57] it's 2.6GB [05:19:13] 42M rows [05:19:40] 1000s give or take [05:19:42] TimStarling: https://bugzilla.wikimedia.org/show_bug.cgi?id=43847 [05:20:28] not very helpful if you don't deploy it [05:20:46] he claims that + (-1) is still illegal [05:20:54] kinda fun issue [05:24:39] Query OK, 32552538 rows affected, 3298 warnings (12 min 17.09 sec) [05:24:57] \o/ [05:25:04] you were pretty close [05:25:38] your row estimate was off [05:25:39] ;-p [05:25:50] true [05:26:10] GIGO? [05:27:00] 737 * (42/32) ~= 967 ;-) [05:27:55] :) [05:27:59] I can tolerate 5% margin of error [05:34:16] article_feedback isn't small nowadays, is it [05:34:54] 40G or so [05:34:55] heh [05:35:03] 3x the size of watchlist [05:35:45] * jeremyb_ runs to sleep [05:39:39] kinda nice not to care about proportions [05:39:45] as long as absolutes are tiny [05:44:07] I'd be more concerned that slaves have bad data [05:44:20] ergh, masters have bad data too [05:44:47] you mean someone cares about the actual AFT data? [05:45:23] afr_total: 4294967295 [05:45:57] TimStarling: *shrug*, it is 10% of data volume [05:46:01] or whatever is the number [05:46:44] did you guys drop some huge tables like revision or [05:46:51] is enwiki really still at <800G [05:47:39] heh, revision is still there [05:51:53] we don't have so many editors anymore, maybe that helps [05:52:00] mhm [05:52:11] probably [05:52:35] well, you can count people who contribute article feedback as editors [05:52:48] instant win [05:53:56] they participate in editorial process, don't they? [05:54:05] could also add like buttons all around [05:54:10] so that… [05:56:16] domas: we don't [05:57:35] ori-l: don't what [05:57:59] count AFT activity toward the active editor metric [05:58:29] ori-l: domas was trollin' [05:58:32] hence my suggestion [05:58:34] that you should [05:58:37] more active editors that way [05:58:43] p858snake|l: i know; i was replyin'. [05:58:58] I'm good at metrics [05:59:00] or bad at metrics [05:59:03] however you look at it [06:00:08] domas: i don't [06:00:21] ok [06:00:28] don't [06:04:28] :( http://en.wikipedia.org/w/index.php?title=Log-structured_merge-tree [06:04:39] red link! [06:04:50] about most hyped data structure of past decade! [06:05:01] man, wikipedia is dying [06:10:31] "the LSM-tree is most useful in applications where index inserts are more common than finds that retrieve the entries." [06:10:56] aka: "Look at the reams of data we're logging! I'm sure _someone_ will be stoked to analyze it!" [09:08:36] Hello [09:10:33] a problem with scribunto and string lib: when a string comes from the template invocation and contains
 or  tags string lib seems to don't handle it correctly
[09:10:56] 	 hexasoft: please fill a bug report :-]
[09:11:08] 	 string.len returns the size of the encoded tag (the \127UNIQ-...QINU\127)
[09:11:13] 	 hashar: still done :)
[09:11:21] 	 there is nobody there today :-]
[09:11:39] 	 but, whatever, maybe someone will tell my "you can just do that and it'll be ok" ;)
[09:12:04] 	 maybe :-]
[09:12:16] 	 hope is life... :]
[09:13:05] 	 domas: http://en.wikipedia.org/wiki/Log-structured_merge-tree
[09:13:16] 	 good night :)
[09:14:17] 	 ori-l: its not tagged with any wikiprojects >.>
[11:06:36] 	 Reedy: hashar anyone know if it's possible for a gerrit super admin can remove a -2 from a patch?
[11:07:21] 	 aude: a super admin could
[11:07:26] 	 aude: jenkins might :-]
[11:07:30] 	 aude: which patch?
[11:07:59] 	 though CR-2 I am not sure whether jenkins can remove them
[11:09:14] 	 nevermind
[11:09:36] 	 i managed to unstick it by making a patch and then a new commit and adjusting the dependencies
[11:09:47] 	 they can remove reviewers/people from it, but the review comment would probably stay?!
[11:09:50] * aude  needs to get something into our branch
[11:09:57] 	 huh
[11:10:38] 	 aude: I think the CR-2 stick from a patchset to another
[11:10:43] 	 that is applied to the change
[11:10:49] 	 hashar: i managed :D
[11:11:02] 	 exported a patch then removed the change id, etc
[11:11:05] 	 reapplied it
[11:11:14] 	 hacky, but will work for our branch
[11:11:24] 	 ...
[11:11:31] 	 aude: yeah so that is a different change :-]
[11:11:48] 	 aude:  but that is a bit impolite to whoever voted -2 !
[11:12:32] 	 hashar: heh
[11:12:58] 	 that person is not in the office today and it's a blocker
[11:13:05] * aude  will leave master alone
[11:13:07] 	 k k :)]
[11:16:35] 	 so how do i make a remote branch?
[11:19:18] 	 seemed to work
[12:36:56] 	 is lua/scribunto still being rolled out today?
[12:37:18] 	 sDrewth: not "today" your time :)
[12:37:28] 	 according to https://meta.wikimedia.org/wiki/Lua at least
[12:38:51] 	 as there is 20min left today, I wasn't expecting that
[12:39:19] 	 I had mental note (scar?) that it was rolling 18th
[13:58:59] 	 sDrewth: February 18, yeah.
[13:59:03] 	 Around 18:00 UTC, I think.
[13:59:09] 	 So in four hours, I guess.
[14:01:24] 	 k, thx
[14:04:11] 	 Susan: Are you sure? In http://meta.wikimedia.org/wiki/Lua it says 23:00 to 1:00 UTC? Did it change?
[14:04:55] 	 Darkdadaah: You're right.
[14:05:23] 	 http://wikitech.wikimedia.org/view/Deployments confirms.
[14:06:32] 	 Oh... So no lua today I guess :P
[14:09:54] 	 Today is meaningless on the Internet.
[14:12:11] 	 Well, today for me at least (UTC+1).
[17:57:36] 	 I think there might be a bug with WikiLove?
[17:57:38] 	 https://en.wikipedia.org/wiki/Special:AbuseLog?wpSearchUser=&wpSearchFilter=&wpSearchTitle=API
[17:57:48] 	 It keeps trying to post the page to [[API]]
[18:41:30] 	 duh: Log a bug
[18:41:38] 	 ok
[18:41:44] 	 ;)
[18:41:54] 	 No kaldari about atm
[18:44:29] 	 lolwat
[18:44:30] 	 i cant find
[18:44:32] 	 the wikilove tab
[18:44:34] 	 on enwiki
[18:44:59] 	 o_0
[18:45:01] 	 Neither can I..
[18:45:14] 	 well ill file that one in a minute.
[18:46:09] 	 https://bugzilla.wikimedia.org/show_bug.cgi?id=45128
[18:48:42] 	 hm
[18:48:45] 	 in my account with no JS
[18:48:46] 	 its there
[18:49:18] 	 yup
[18:49:19] 	 broken
[18:49:23] 	 Something went wrong when sending the message. Please try again.
[19:55:55] 	 I need something tested in IE10. Anyone running Windows 8?
[19:59:42] 	 Luckily not :P I don't even have a Windows 8 VM
[20:06:18] 	 what's windows 8? :P
[20:09:16] 	 Hi, I just see a tool on toolserver loosing it's layout, when checking, it is getting a 403 (forbidden) on bits.wikimedia.org/skins/monobook/main.css
[20:09:22] 	 something changed there?
[20:11:07] 	 That worked?
[20:11:07] 	 uh oh
[20:11:18] 	 s that's what nimsoft says
[20:11:28] 	 403s
[20:12:34] 	 the caches seem prett y normal in ganglia (and of course loading pages they look ok)
[20:13:26] 	 Reedy: it worked for years yes
[20:14:24] 	 Did i sync someone elses change to the bits docroot then? :/
[20:14:51] 	  /skins-1.5/common/images/poweredby_mediawiki_88x31.png
[20:14:56] 	 this is what nimsoft tries to get
[20:14:57] 	 403 there too
[20:15:11] 	 I would guess something like that yes
[20:15:36] 	 is bits protecting pages based on referer?
[20:15:47] 	 lrwxrwxrwx  1 reedy     wikidev   40 Apr 12  2012 skins -> /usr/local/apache/common-local/php/skins
[20:15:47] 	 lrwxrwxrwx  1 root      root      40 Oct 15  2011 skins-1.5 -> /usr/local/apache/common-local/php/skins
[20:16:11] 	 php -> php-1.21wmf8
[20:16:27] 	 That should probably be pointing to wmf9 now, but shouldn't be broken
[20:16:43] 	 reedy@fenari:/home/wikipedia/common/live-1.5$ ls -al skins-1.5/common/images/poweredby_mediawiki_88x31.png
[20:16:43] 	 -rw-r--r-- 1 mwdeploy mwdeploy 3525 Jan 16 17:24 skins-1.5/common/images/poweredby_mediawiki_88x31.png
[20:17:27] 	 Reedy: as it is a forbidden, I suspect a bit webserver-config?
[20:17:49] 	 Probably, but no one has changed anyhting with it recently
[20:18:21] 	 And it happened after I synced some higher folders with new symlinks
[20:18:47] 	 Reedy: hmm, it failed just tonight, was working earlier today
[20:19:07] 	 Exactly why it seems possibly responsible
[20:19:15] 	 yeah clearly, since nimsoft whined tongiht
[20:19:17] 	 not earlier
[20:20:55] 	 https://gerrit.wikimedia.org/r/gitweb?p=operations/mediawiki-config.git;a=history;f=docroot;hb=HEAD
[20:23:26] 	 Reedy: perhaps that the logfiles give a hint?
[20:25:02] 	 I see an entry for the poweredby image but all it says is 
[20:25:17] 	 Permission denied  ie nothing more useful
[20:25:32] 	 oh and ow it's workng
[20:25:34] 	 >_<
[20:25:36] 	 hate hate hate
[20:26:03] 	 apergos: not for me
[20:26:11] 	 great
[20:26:33] 	 sync finished on 1165 Reedy wanna rerun that ?
[20:26:49] 	 yeah, will do
[20:26:50] 	 If you want to check the logs, my browser is coming from windmill.xs4all.nl
[20:27:13] 	 ok 
[20:28:50] 	 nada (looking at apache.log and syslog in /home/w/log/syslog on fenari)
[20:30:01] 	 hmm
[20:30:43] 	 hee
[20:30:45] 	 working now
[20:30:55] 	 *eyeroll*
[20:32:27] 	 maybe the rerun helped?
[20:33:25] 	 I just checked one of the two apaches recorded as giving the error
[20:34:02] 	 file is there and it and all the directory have the right perms
[23:55:54] 	 Scribunto is now live on enwiki (and 13 other wikis)
[23:56:08] 	 \o/
[23:56:56] 	 :D