IRC log of musicbrainz-devel on 2012-07-09

Timestamps are in UTC.

00:37:39 [voiceinsideyou1]
voiceinsideyou1 has joined #musicbrainz-devel
00:39:06 [ianmcorvidae]
Freso has apparently left, heh
00:41:34 [voiceinsideyou]
voiceinsideyou has joined #musicbrainz-devel
01:02:21 [kurtjx]
kurtjx has joined #musicbrainz-devel
01:22:53 [kurtjx]
kurtjx has joined #musicbrainz-devel
01:59:52 [Prophet5]
Prophet5 has joined #musicbrainz-devel
02:02:02 [Prophet5]
Prophet5 has joined #musicbrainz-devel
02:03:30 [Prophet5]
Prophet5 has joined #musicbrainz-devel
02:18:35 [Jormangeud]
Jormangeud has joined #musicbrainz-devel
02:42:17 [navap]
warp: Is it possible to trigger a documentation bubble with a select? I've tried and the JS only seems to work with input fields
02:47:25 [ruaok]
ruaok has joined #musicbrainz-devel
03:00:30 [pronik`]
pronik` has joined #musicbrainz-devel
03:14:06 [flamingspinach]
flamingspinach has joined #musicbrainz-devel
03:15:08 [Prophet5_]
Prophet5_ has joined #musicbrainz-devel
03:22:18 [ianmcorvidae]
it should be possible, you can bind to 'change' and get the value with jquery
03:22:26 [ianmcorvidae]
dunno if we've written for it though :)
03:28:07 [pronik``]
pronik`` has joined #musicbrainz-devel
04:12:03 [ianmcorvidae]
ianmcorvidae has joined #musicbrainz-devel
04:12:03 [ianmcorvidae]
ianmcorvidae has joined #musicbrainz-devel
04:15:34 [ianmcorvidae]
ianmcorvidae has joined #musicbrainz-devel
04:15:34 [ianmcorvidae]
ianmcorvidae has joined #musicbrainz-devel
04:18:03 [ianmcorvidae]
ianmcorvidae has joined #musicbrainz-devel
04:18:03 [ianmcorvidae]
ianmcorvidae has joined #musicbrainz-devel
04:21:54 [jessew]
jessew has joined #musicbrainz-devel
04:34:10 [jessew]
jessew has joined #musicbrainz-devel
04:34:11 [jessew]
jessew has joined #musicbrainz-devel
05:01:00 [navap]
I haven't been able to find any of the actual event code.
05:01:20 [navap]
If I was using an input field, then the one line I added would work https://github.com/navap/musicbrainz-server/compare/master...mbs-3180-packaging-help
05:01:50 [ianmcorvidae]
#id-packaging_id is the select, I take it?
05:02:03 [navap]
Yes
05:04:51 [ianmcorvidae]
line 168-184 of root/static/scripts/edit/MB/Control/Bubble.js look relevant
05:05:05 [ianmcorvidae]
well, all of that initialize function
05:05:31 [navap]
Ah, that does look relevant
05:05:49 [ianmcorvidae]
I think you need to add another case for selects; focus{.mb} might be the correct thing to bind though, check what selects throw when they're being paged through or whatever
05:06:20 [navap]
Here's another mysterious issue I have. I see an error message "Field must be at least 11 characters. You entered 6"
05:06:33 [navap]
But when I try grepping for parts of that phrase I can't find it
05:06:58 [ianmcorvidae]
* ianmcorvidae bets it's part of HTML::FormHandler or validation or something
05:07:41 [ianmcorvidae]
lib/MusicBrainz/Server/Form/Field/IPI.pm has "has '+minlength' => ( default => 11 );", bet that's it
05:08:10 [navap]
Yeah it's an IPI related error, but I found it strange I couldn't find anything via a grep
05:08:24 [ianmcorvidae]
yeah, the error message text probably comes from HTML::FormHandler or something
05:08:31 [ianmcorvidae]
which I'm sure will be a wonderful quandary for i18n
05:08:32 [ianmcorvidae]
but anyway
05:08:54 [navap]
Oh, right. I remember running into this before
05:09:09 [navap]
That error message is just a stock message based on the minlength value of 11
05:09:15 [ianmcorvidae]
yeah
05:09:36 [navap]
I can add in my own custom message
05:10:22 [ianmcorvidae]
yeah, HTML::FormHandler::Field::Text, line 21
05:10:38 [ianmcorvidae]
in 'our $class_messages', 'text_minlength' => 'Field must be at least [quant,_1,character]. You entered [_2]'
05:10:42 [ianmcorvidae]
also, ew, maketext
05:24:03 [demosdemon]
You know, the one feature I wish objective-c had that c++ has, templates
05:27:30 [demosdemon]
and overloading
05:38:01 [navap]
And while we're on the subject, is it even possible to use my own message when the minlength check fails?
05:39:04 [ianmcorvidae]
no idea on that one :)
06:02:41 [ianmcorvidae]
navap: https://metacpan.org/module/HTML::FormHandler::Field::Text#error-messages
06:02:45 [ianmcorvidae]
seems to be what you can do?
06:03:01 [ianmcorvidae]
now that it's 20 minutes later, but anyway :P
06:03:09 [Freso]
Freso has joined #musicbrainz-devel
06:07:53 [ianmcorvidae]
Freso: you pinged me hours and hours ago, I think?
06:08:28 [ianmcorvidae]
well, I guess it was åping or something :P
06:09:58 [warp]
hello!
06:10:05 [Freso]
ianmcorvidae: :p
06:10:35 [Freso]
ianmcorvidae: I was just thinking to maybe try and take on one of those tickets I filed yesterday myself...
06:10:38 [warp]
navap: if you cannot get the bubble stuff to work, I can have a look.
06:10:48 [Freso]
ianmcorvidae: So... I'd need a site to test it out...
06:10:50 [navap]
warp: I got it to work, thanks to ianmcorvidae
06:11:06 [Freso]
ianmcorvidae: So... I'd need your help to set it up on rika. :p
06:11:07 [warp]
ah, good.
06:11:09 [ianmcorvidae]
Freso: ah, you want me to set up nginx and such :)
06:11:19 [Freso]
ianmcorvidae: Hai.
06:11:44 [ianmcorvidae]
k
06:11:50 [ianmcorvidae]
looks like I did already set you up a user, so that's good
06:12:06 [Freso]
ianmcorvidae: You did, yeah. For the Picard country thing. :)
06:12:10 [Freso]
PICARD-205
06:12:13 [ianmcorvidae]
yeah, I thought I remembered that
06:12:14 [navap]
ianmcorvidae: I've tried several different things, but I can't figure out how and where to put minlength error message :(
06:12:17 [ianmcorvidae]
* ianmcorvidae setting up nginx now
06:13:08 [ianmcorvidae]
navap: whenever the has_field call is, yeah?
06:13:16 [ianmcorvidae]
(like the example on that page I linked)
06:13:46 [ianmcorvidae]
Freso: okay, nginx is set up -- get the musicbrainz-server checkout set as you want and run './run.sh' from your home to start it
06:13:51 [navap]
The example has type=>text, we have type=>+MusicBrainz::Server::Form::Field::IPI
06:14:03 [ianmcorvidae]
Freso: should be available from freso.mbsandbox.org
06:14:59 [ianmcorvidae]
navap: should be the same, I think? MB::S::Form::Field::IPI extends HTML::FormHandler::Field::Text
06:15:08 [Freso]
ianmcorvidae: Shouldn't I just run the latest mb-server from the "main" Git repos?
06:15:23 [ianmcorvidae]
Freso: yeah, if you just do 'git pull' in the musicbrainz-server checkout you already have that'll do it :)
06:15:47 [ianmcorvidae]
it's already got the main repo added as origin; it's a bit out of date I suspect, but
06:16:03 [Freso]
ianmcorvidae: Cool. /run.sh... runs nginx?
06:16:06 [ianmcorvidae]
no
06:16:17 [ianmcorvidae]
it runs plackup, which sets up an FCGI socket where nginx is listening
06:16:24 [Freso]
Alright.
06:16:34 [ianmcorvidae]
if you go to freso.mbsandbox.org now you'll get a 502, whihc is nginx saying "the FCGI socket's not sending anything"
06:16:35 [warp]
navap: you should be able to add a "messages =>" to the has_field 'artist-ipi' section.
06:17:14 [warp]
navap: it would be better to set it in Form::Field::IPI itself, but I'm not sure how that would work. you could try has 'messages' or has '+messages' in there.
06:17:20 [navap]
Ah, whoops. There are two spots the IPI is used.
06:17:41 [navap]
I was editing the search lookup form, but testing the artist edit page :/
06:17:42 [warp]
yes, artist and label :)
06:17:48 [warp]
oh, that as well
06:18:18 [navap]
I've got the custom message working for the lookup page, but can't figure out how to do it for the edit page
06:19:28 [warp]
navap: lib/MusicBrainz/Server/Form/Role/IPI.pm
06:19:38 [warp]
has_field 'ipi_codes.contains'
06:19:49 [ianmcorvidae]
Freso: anyway, I'm off to bed, leave me messages if you need help with anything :)
06:20:05 [warp]
goodnight ianmcorvidae
06:20:25 [navap]
warp: That worked!
06:20:38 [Freso]
ianmcorvidae: Wait, what about the database?
06:21:01 [navap]
warp finds answers at warp speed
06:21:01 [Freso]
ianmcorvidae: Is that auto-replicated, or just using the RO one?
06:37:49 [ianmcorvidae]
Freso: back briefly, sorry -- there's musicbrainz_db_slave if you want a replicated DB, musicbrainz_db_static if you don't
06:38:06 [ianmcorvidae]
Freso: generally for bugfixes you want the static DB though, because then you can do things like log in, edit, etc.
06:38:40 [ianmcorvidae]
Freso: the slave DB is nice for things where you're just tweaking display of data though :)
06:38:48 [Freso]
ianmcorvidae: Yeah. So the static one is for data changing changes too?
06:39:13 [ianmcorvidae]
definitely don't do any schema changes, but if you need to add an artist to test with or edit an artist or something, yeah
06:39:27 [ianmcorvidae]
you can't do that on the slave DB at all, actually, because you don't have access to any read-write users :)
06:39:46 [Freso]
Alright. So.
06:39:59 [ianmcorvidae]
if you do want to do a schema change or a super-huge change or such, make a new DB
06:40:03 [Freso]
If using _static, do I set RT_STANDALONE?
06:40:06 [ianmcorvidae]
yes
06:40:28 [Freso]
How do I make a new DB? Just run the regular psql commands?
06:41:16 [ianmcorvidae]
the import scripts can make a new DB if you want to do that -- just configure it to point to whatever you want to call the DB, probably set it to use the postgres user 'freso' rather than 'musicbrainz'
06:41:26 [ianmcorvidae]
there's datasets you can import in /home/musicbrainz_admin/data/
06:41:38 [ianmcorvidae]
in general you shouldn't need a new DB though -- what're you looking at doing?
06:50:14 [Freso]
ianmcorvidae: Well, adding languages to URLs might be one of them. :)
06:51:03 [Freso]
ianmcorvidae: Also, http://freso.mbsandbox.org/ ? run.sh says "FastCGI: server (pid 15013): initialized"
06:51:21 [Freso]
What'd I miss?
07:01:22 [navap]
Wow, we've got a lot of mbsandbox users now
07:08:39 [ruaok]
ruaok has joined #musicbrainz-devel
08:08:43 [adhawkins]
navap: Ah ok, so I can sync unlimited amounts of data between machines, but only so much of it is accessible via their web interface or whatever?
08:08:52 [adhawkins]
Can I have an invite then? Will give it a go.
08:10:18 [Jormangeud]
Jormangeud has joined #musicbrainz-devel
08:14:58 [ijabz]
ijabz has joined #musicbrainz-devel
08:15:55 [ijabz]
search URLs (collectie poke for ijabz) ?
08:27:51 [warp]
hm, added by reo
08:28:08 [warp]
warp has changed the topic to: http://musicbrainz.org/#devel | Agenda: text column constraints (ocharles), editor data in dumps (reosarevok), search URLs (reosarevok)
08:28:41 [warp]
ijabz: I have no idea what reosarevok means with that.
08:31:08 [ijabz]
k, thx, Im sure he'll let me know latr
08:50:06 [reosarevok]
reosarevok has joined #musicbrainz-devel
09:09:16 [alastairp_]
good morning people in a european timezone
09:11:38 [Mineo]
good morning mr. porter_!
09:15:21 [reosarevok]
Good afternoon from your timezone!
09:15:30 [reosarevok]
;)
09:16:45 [alastairp_]
no, not quite!
09:16:47 [alastairp_]
I'm in EEST
09:16:55 [alastairp_]
oh wait
09:17:08 [alastairp_]
it is afternoon
09:17:14 [alastairp_]
where did the morning go?
09:19:47 [reosarevok]
:D
09:20:26 [reosarevok]
I feel like that every day
09:20:31 [reosarevok]
So let's blame the timezone
09:20:54 [alastairp_]
just move west
09:21:01 [alastairp_]
and it'll be morning again
09:22:31 [djce]
djce has joined #musicbrainz-devel
09:26:00 [ocharles]
good morning!
09:26:02 [ocharles]
warp: release day!
09:29:12 [reosarevok]
While you release (well, preferably before or after :) ) can you add the two cover art types?
09:29:23 [reosarevok]
I think warp can kick caches
09:34:51 [djce1]
djce1 has joined #musicbrainz-devel
09:47:59 [ocharles]
ianmcorvidae: please try and work on your commit messages too. "attempt to fix" does not explain what you're trying when someone does a git blame years down the line :)
09:52:19 [marco-oliveira]
marco-oliveira has joined #musicbrainz-devel
09:53:01 [reosarevok]
Well, it does, he's trying to fix! 8)
09:53:29 [reosarevok]
(I guess I should work on mine too, although I make like one for every 100 by ianmcorvidae :p)
10:05:00 [ocharles]
I can tell he's trying to fix it by the fact that a. developers don't generally try and *not* fix things :) and b. that's evident from the fact he's making changes
10:05:06 [ocharles]
so the log should explain why he's making those changes
10:05:11 [ocharles]
it's minor, but I just wanted to nag about it
10:09:59 [MBJenkins]
Project musicbrainz-server_beta build #5: STILL FAILING in 3 min 28 sec: http://ci.musicbrainz.org/job/musicbrainz-server_beta/5/
10:09:59 [MBJenkins]
* ianmcorvidae: remove extra imports ocharles pointed out
10:10:00 [MBJenkins]
* oliver.g.charles: MBS-3208, trim missing entity fields before creating their Add edits.
10:13:20 [plaintext]
plaintext has joined #musicbrainz-devel
10:13:30 [ocharles]
bah, djce1 I lost my ability to decrypt my VPN key again :(
10:13:52 [djce1]
:-/
10:13:55 [ocharles]
i seem to have done the same in april 2011, but I can't remember what we did
10:14:04 [ocharles]
i have the .enc file, but it doesn't decrypt against my private key
10:14:25 [djce1]
Do you need it right now or can it wait a few hours?
10:15:03 [ocharles]
having it at some point this day today would be great, cause it'll make doing this release easier
10:15:10 [ocharles]
but I can wait if you're busy
10:15:23 [ocharles]
(and can certainly wait a few hours)
10:28:12 [MBJenkins]
Project musicbrainz-server_master build #290: FAILURE in 14 min: http://ci.musicbrainz.org/job/musicbrainz-server_master/290/
10:31:47 [warp]
* warp immediatly commits something to master with "attempt to break" as a commit message.
10:33:35 [reosarevok]
:D
10:40:57 [underscor]
underscor has joined #musicbrainz-devel
10:41:32 [ocharles]
testdisk to the rescue!
10:41:45 [ocharles]
it seems to have picked up my old partition table, and is currently dumping / to a file for me
10:41:46 [ocharles]
magic!
11:02:33 [ocharles]
'[error] Caught exception in engine "Can't use an undefined value as an ARRAY reference at local/lib/perl5/Catalyst.pm line 1662, <FILE> line 1."' fun :(
11:06:08 [MBJenkins]
Project musicbrainz-server_master build #291: STILL FAILING in 9 min 37 sec: http://ci.musicbrainz.org/job/musicbrainz-server_master/291/
11:06:08 [MBJenkins]
* ianmcorvidae: Make necessary changes to generate new domains' .pot files.
11:06:09 [MBJenkins]
* ianmcorvidae: Add other translation domains, and rewire infrastructure.
11:06:09 [MBJenkins]
* ianmcorvidae: Modify various Entities to account for domains.
11:06:10 [MBJenkins]
* ianmcorvidae: Add or update translations in various places.
11:06:10 [MBJenkins]
* ianmcorvidae: Changes based on ocharles' comments (part 1)
11:06:11 [MBJenkins]
* alastair: Provide a link to a user's collection
11:06:11 [MBJenkins]
* ianmcorvidae: Switch out all the MB::S::Translation packages to use a role.
11:06:12 [MBJenkins]
* ianmcorvidae: MBS-4241: Locale::Util's web_set_locale, and MBS-4223: regex.
11:06:12 [MBJenkins]
* oliver.g.charles: MBS-2903: Fix Artist->find_by_work
11:06:13 [MBJenkins]
* oliver.g.charles: Add methods to Statistics to find top editors/voters
11:06:13 [MBJenkins]
* oliver.g.charles: Add /statistics/editors
11:06:14 [MBJenkins]
* oliver.g.charles: Cache the statistics as they are expensive to compute
11:06:14 [MBJenkins]
* oliver.g.charles: Do not run CREATE INDEX CONCURRENTLY inside a transaction
11:06:15 [MBJenkins]
* oliver.g.charles: Stats page should show a combination of accepted edits and auto edits
11:06:15 [MBJenkins]
* oliver.g.charles: Order top overall editors by a combination of accepted edits and auto edits
11:06:16 [MBJenkins]
* oliver.g.charles: Use more consistent capitalisation
11:06:16 [MBJenkins]
* oliver.g.charles: MBS-3904: Do not allow yes/no/abstain votes on own edits
11:06:17 [njh]
eek!
11:06:28 [MBJenkins]
* ianmcorvidae: Use the READONLY database when DBDefs::REPLICATION_TYPE is RT_SLAVE
11:06:28 [MBJenkins]
* ianmcorvidae: Remove extraneous references to READWRITE.
11:06:29 [MBJenkins]
* warp: Add TEST database entry to DBDefs.pm.default.
11:06:29 [MBJenkins]
* ianmcorvidae: attempt to fix
11:06:30 [MBJenkins]
* ianmcorvidae: fix
11:06:30 [MBJenkins]
* ianmcorvidae: try a different way
11:06:31 [MBJenkins]
* ianmcorvidae: Final fixes to Context.
11:06:31 [MBJenkins]
* ianmcorvidae: ocharles' suggestions
11:06:32 [MBJenkins]
* ianmcorvidae: MBS-4857: timeline graph resizing
11:06:32 [MBJenkins]
* ianmcorvidae: change default accessor to l_name
11:06:33 [MBJenkins]
* ianmcorvidae: Fix Form::Utils::{language,script}_options to use l_name too
11:06:33 [MBJenkins]
* ianmcorvidae: Correct postgresql install step in INSTALL.md
11:06:34 [MBJenkins]
* ianmcorvidae: make statistics tabs translatable
11:06:34 [MBJenkins]
* ianmcorvidae: add dummy N_l function that marks as translatable without actually translating
11:06:35 [MBJenkins]
* ianmcorvidae: migrate all the edit types to use N_l, whether from l() or nothing. Add l_edit_name function to MB::S::Edit.
11:06:35 [MBJenkins]
* ianmcorvidae: use l_edit_name where appropriate
11:06:36 [MBJenkins]
* ianmcorvidae: correct typo
11:06:36 [MBJenkins]
* ianmcorvidae: more fixes, apparently I'm typo-ridden tonight
11:07:09 [reosarevok]
hah
11:09:06 [ocharles]
blimey
11:14:07 [djce]
djce has joined #musicbrainz-devel
11:21:49 [ocharles]
ocharles has changed the topic to: http://musicbrainz.org/#devel | Agenda: text column constraints (ocharles), editor data in dumps (reosarevok), search URLs (reosarevok), out of date dependencies (ocharles)
11:22:19 [reosarevok]
tsk, it's not me, it was supposed to be collective, as per ruaok :p
11:22:27 [reosarevok]
But fiiine :p
11:22:32 [ocharles]
?
11:23:06 [reosarevok]
The " search URLs (reosarevok)" thing
11:23:10 [reosarevok]
Or did that change earlier?
11:23:11 [reosarevok]
Dunno
11:23:20 [warp]
reosarevok: it is completely unclear to me what the topic is about.
11:23:31 [ocharles]
reosarevok: I only appended
11:23:44 [reosarevok]
That was ruaok telling us to remind ijabz in the meeting to make URLs searchable
11:23:50 [reosarevok]
(since they're entities etc)
11:24:00 [reosarevok]
So I added it there
11:24:32 [warp]
reosarevok: to get that clarification which you now just gave, I needed to know who to ask. so it seems important to always include the "who to ask" with an agenda item.
11:24:52 [reosarevok]
Well, in theory anyone who was there should know, including both of you :/
11:24:58 [warp]
where?
11:25:06 [reosarevok]
In the last triage meeting
11:25:47 [warp]
"search URLs" in itself really doesn't give enough context, to recall that.
11:26:27 [reosarevok]
* reosarevok shrugs
11:26:49 [warp]
reosarevok: so, I didn't know what it was about. thus I added your name to the topic :)
11:26:51 [reosarevok]
As long as it gets made I don't mind :p
11:27:03 [reosarevok]
It just felt like it's only me who wants it now :p
11:31:17 [Freso]
reosarevok: It isn't.
11:31:34 [Freso]
Freso has changed the topic to: http://musicbrainz.org/#devel | Agenda: text column constraints (ocharles), editor data in dumps (reosarevok), search URLs (reosarevok/Freso), out of date dependencies (ocharles)
11:31:37 [Freso]
Happy? :p
11:31:40 [reosarevok]
hah :p
11:31:49 [Freso]
Actually...
11:31:57 [Freso]
Freso has changed the topic to: http://musicbrainz.org/#devel | Agenda: text column constraints (ocharles), editor data in dumps (reosarevok), searchable URLs (reosarevok/Freso), out of date dependencies (ocharles)
11:32:09 [reosarevok]
Hmm, I guess that's better
11:42:50 [kurtjx]
kurtjx has joined #musicbrainz-devel
11:44:13 [Freso]
Anyone's seen this before:
11:44:15 [Freso]
Odd number of elements in anonymous hash at lib/DBDefs.pm line 312.
11:44:23 [Freso]
When doing ./run.sh
11:44:26 [Freso]
On rika.
11:45:25 [alastairp_]
yes
11:45:39 [alastairp_]
it still worksÉ
11:45:46 [alastairp_]
?
11:46:06 [Freso]
No, but that might be because of:
11:46:14 [Freso]
Error while loading app.psgi: Bareword "DBDefs::COVER_ART_ARCHIVE_DOWNLOAD_PREFIX" not allowed while "strict subs" in use at lib/MusicBrainz/Server/Controller/Release.pm line 76.
11:46:15 [ocharles]
it's because memcached settings in DBDefs is invalid syntactically
11:46:28 [ocharles]
that above warning should have been fixed (caa one)
11:46:47 [Freso]
ocharles: In which branch?
11:47:01 [djce]
djce has joined #musicbrainz-devel
11:47:09 [Freso]
I'm using latest master.
11:50:52 [ocharles]
i guess there
11:51:53 [ocharles]
haha, amazing. We have a bug where code was checking for '12 years ago'. but a year has passed since we wrote that test
11:55:54 [alastairp_]
and now it shows up as 13?
11:56:05 [warp]
>_<
11:57:04 [ocharles]
yea
12:03:52 [marcooliveira]
marcooliveira has joined #musicbrainz-devel
12:05:34 [ocharles]
djce: key problem solved, now that I've restored my old drive i've just grabbed the key out of there
12:05:55 [djce]
ok, thanks for letting me know
12:10:09 [djce]
djce has joined #musicbrainz-devel
12:17:02 [MBJenkins]
Yippie, build fixed!
12:17:03 [MBJenkins]
Project musicbrainz-server_master build #292: FIXED in 15 min: http://ci.musicbrainz.org/job/musicbrainz-server_master/292/
12:17:03 [MBJenkins]
* oliver.g.charles: carton: Updating Bit::Vector to 7.2
12:17:04 [MBJenkins]
* oliver.g.charles: Fix the CDStub::Browse test now that the current time has changed
12:22:55 [Freso]
... how do I change upstream of current branch?
12:29:58 [Mineo]
Freso: git push -u or some git config branch.<name>.merge magic
12:40:01 [ocharles]
git push -u is probably what you want
12:52:28 [Freso]
Nope, it isn't. As I can't push to the URL I want to change to.
12:52:50 [Freso]
Ah well.
12:54:03 [Freso]
That was easy...
12:54:17 [Freso]
git config branch.master.remote origin
12:59:17 [ocharles]
warp: shall we release?
13:10:50 [MBJenkins]
Project musicbrainz-server_beta build #6: STILL FAILING in 9 min 20 sec: http://ci.musicbrainz.org/job/musicbrainz-server_beta/6/
13:10:51 [MBJenkins]
* oliver.g.charles: carton: Updating Bit::Vector to 7.2
13:10:51 [MBJenkins]
* oliver.g.charles: Fix the CDStub::Browse test now that the current time has changed
13:12:30 [ocharles]
reosarevok: please decide what to do with http://tickets.musicbrainz.org/browse/MBS-3706
13:13:41 [reosarevok]
huh
13:13:44 [reosarevok]
* reosarevok looks
13:14:25 [reosarevok]
you mean this didn't get merged?
13:14:32 [reosarevok]
I thought that just was there :/
13:15:46 [kurtjx]
kurtjx has joined #musicbrainz-devel
13:16:22 [reosarevok]
So what do you want me to do then?
13:16:36 [reosarevok]
Obviously if I made it it's because I want it
13:16:58 [Freso]
Where's the display of stuff handled?
13:17:08 [ocharles]
that change has been merged, but it's not clear if that's enough to close the ticket
13:17:12 [reosarevok]
Oh
13:17:16 [reosarevok]
Yeah, close it then
13:18:13 [Freso]
Ah. root/
13:18:23 [Freso]
Or, hm...
13:18:25 [Freso]
root/?
13:19:26 [MBJenkins]
Project musicbrainz-server_master build #293: SUCCESS in 12 min: http://ci.musicbrainz.org/job/musicbrainz-server_master/293/
13:19:26 [MBJenkins]
* oliver.g.charles: MBS-4938: Change Statistics->fetch to fetch the latest statistic
13:19:27 [MBJenkins]
* oliver.g.charles: MBS-4938: Recalculate some old statistics
13:20:49 [reosarevok]
Oh, ocharles: do we have some code that auto-trims whitespace on release annotations when you edit a release?=
13:20:54 [ocharles]
Freso: "where is the display of stuff" is not exactly a very specific question :)
13:21:06 [ocharles]
reosarevok: should do
13:21:17 [reosarevok]
* reosarevok is trying to find out why some annotations mark him as last editor when he hasn't (voluntarily) touched them
13:21:48 [Freso]
ocharles: Eh. How many ways are stuff displayed? There's another way than through the web server output?
13:22:09 [ocharles]
It's just such a vague question. What are you actually trying to do?
13:22:55 [Freso]
ocharles: Altering the output of the sidebar of artists.
13:23:18 [Freso]
ocharles: But I'm fairly sure root/ is it.
13:23:35 [Freso]
ocharles: And I still don't see how it's vague.
13:24:09 [ijabz]
reosarevok: hi just back , 'urls are entities', are they - since when ?
13:24:12 [Freso]
ocharles: If it's vague, it's because I'm not yet familiar enough with the code to know that it's being displayed from more than one place.
13:24:20 [reosarevok]
ijabz: they have MBIDs
13:24:41 [ocharles]
Freso: If you want to change the sidebar of artists you are probably interested in artist/layout.tt, that defines the general layout of all /artist/mbid pages
13:24:45 [reosarevok]
( http://musicbrainz.org/url/45c51b72-742f-4530-8797-422a83eabecf )
13:24:53 [ijabz]
Is that new ?
13:24:58 [ocharles]
I'm not expecting you to ask a perfect question, but I can't give you useful advice unless I know what you want to do, that's all
13:25:12 [ocharles]
i just want to point you in a helpful direction
13:25:23 [Freso]
ocharles: There's no "artist" folder in musicbrainz-server. I assume you mean root/artist? Which is root/, as I'm saying...
13:25:26 [ijabz]
Can you lookup them up using the web service ?
13:25:34 [ocharles]
Freso: sorry yes, root/
13:25:41 [ocharles]
root contains all static media and Template Toolkit templates
13:25:52 [Freso]
ocharles: I wanted to know from where stuff was being displayed... not necessarily the artist stuff. Everything.
13:26:00 [Freso]
ocharles: To which the answer seems to be root/.
13:26:28 [ocharles]
* ocharles shrugs
13:26:52 [ocharles]
well it's not, because the entire web service is generated by code
13:26:59 [ocharles]
the css files are from compressed files from manifests
13:27:06 [reosarevok]
Freso: well, root/ has so much stuff that won't really help too much anyway
13:27:08 [ocharles]
and wiki docs are aggregated from our wiki server
13:27:11 [reosarevok]
(without a more specific answer)
13:28:18 [Freso]
ocharles: And I didn't know that. Or realise that.
13:28:31 [ocharles]
Freso I'm trying to help you not attack you
13:29:15 [Freso]
reosarevok: Sure. But I'll dig in. If I'm getting somewhat familiar with the code, I'll have to explore it a bit anyway. I just couldn't find anything useful in lib/ or the other places I was looking before stumbling upon root/.
13:29:44 [reosarevok]
* reosarevok wonders what you're trying to do in the sidebar anyway
13:30:27 [reosarevok]
Sidebars can get tricky - I think to add an URL to the sidebar with a favicon, for example, you need to add and/or edit 4 or 5 different files all in different folders
13:31:50 [MBJenkins]
Project musicbrainz-server_master build #294: SUCCESS in 12 min: http://ci.musicbrainz.org/job/musicbrainz-server_master/294/
13:31:51 [MBJenkins]
ianmcorvidae: fix ISE by passing an arrayref as is appropriate here
13:35:55 [ijabz]
reosarevok: Surely we need to be able to lookup them up in the web service first before we start worrying about searching for them
13:37:12 [MBJenkins]
Project musicbrainz-server_beta build #7: STILL FAILING in 13 min: http://ci.musicbrainz.org/job/musicbrainz-server_beta/7/
13:37:48 [adhawkins]
Beginning to wish I'd never created an account on code review!
13:38:00 [adhawkins]
How can I stop getting all these emails every time someone wants a review doing?
13:38:21 [reosarevok]
adhawkins: I don't get any so it's clearly possible. Maybe you're in the "wrong" group?
13:38:21 [Mineo]
remove yourselves from the developers group
13:38:27 [reosarevok]
Yeah, that must be it :)
13:38:30 [adhawkins]
Cool, ta
13:39:09 [reosarevok]
ijabz: both, really
13:39:55 [reosarevok]
http://mb.lmfao.org.uk/urlsearch/ is amazingly useful
13:39:56 [adhawkins]
Done, ta.
13:40:05 [reosarevok]
So we should get something like that in MB
13:40:14 [reosarevok]
Not sure if that depends on you, on ocharles/warp, or both
13:40:33 [reosarevok]
ruaok talked about telling you
13:42:15 [ijabz]
Well, the 1step is to add them to the MMD as an entity, 2nd step is lookup, 3rd step is search
13:42:53 [reosarevok]
* reosarevok wonders if they weren't an entity pre-NGS
13:44:19 [reosarevok]
reosarevok has joined #musicbrainz-devel
13:47:10 [Freso]
Any suggested fix for "Error while loading app.psgi: Bareword "DBDefs::COVER_ART_ARCHIVE_DOWNLOAD_PREFIX" not allowed while "strict subs" in use at lib/MusicBrainz/Server/Controller/Release.pm line 76."? I don't think I'll get http://freso.mbsandbox.org/ going without that...
13:50:31 [Freso]
reosarevok: MBS-4989
13:51:03 [ijabz_]
ijabz_ has joined #musicbrainz-devel
13:54:06 [ocharles]
sounds like your DBDefs is out of date?
13:57:50 [snake__]
snake__ has joined #musicbrainz-devel
13:57:57 [snake__]
Hi
13:58:26 [snake__]
I will have a question about the schema of musicbrainz's database
13:58:57 [snake__]
how I can do to find a relation between a work and a recording ?
14:03:40 [ocharles]
snake__: you want to look in the l_recording_work table
14:03:47 [ocharles]
entity0 is a recording id and entity1 is a work id
14:04:00 [ocharles]
it acts as a many-to-many relationship between recordings and works
14:04:25 [ocharles]
if you want the metadata about that relationship, follow the l_recording_work.link column to the 'link' table, which then points to attributes and the relationship type itself
14:04:39 [ocharles]
warp: prod again
14:04:44 [ocharles]
running out of time to release!
14:05:09 [snake__]
cool exactly what I needed :-) thanks
14:06:13 [reosarevok]
Freso: oh, cool
14:06:14 [reosarevok]
:)
14:13:45 [warp]
ocharles: eep
14:14:23 [warp]
ocharles: ok
14:16:23 [MBJenkins]
Project musicbrainz-server_master build #295: SUCCESS in 9 min 53 sec: http://ci.musicbrainz.org/job/musicbrainz-server_master/295/
14:16:24 [MBJenkins]
* reosarevok: Updated twitter logo
14:16:24 [MBJenkins]
* reosarevok: Cropped white edges
14:16:25 [MBJenkins]
* reosarevok: Transparent background
14:16:25 [MBJenkins]
* reosarevok: And the right size
14:16:51 [reosarevok]
To the right result, step by step!
14:16:54 [reosarevok]
:p
14:19:17 [ocharles]
:)
14:19:23 [ocharles]
warp: ready?
14:20:09 [warp]
sure
14:20:17 [warp]
I do carl or lenny?
14:20:25 [ocharles]
i don't know
14:20:27 [ocharles]
check stats
14:20:38 [warp]
ocharles: it was intended to be a yes or no question. not either/or.
14:21:09 [ocharles]
yes then
14:21:15 [warp]
:)
14:23:19 [warp]
meh, I cannot find the link to the stats.
14:23:52 [ocharles]
http://stats.musicbrainz.org/mrtg/drraw/drraw.cgi?Mode=view;Dashboard=1218378978.7925
14:23:56 [ocharles]
all hosts dashboard in ddraw
14:23:59 [ocharles]
drraw*
14:24:08 [warp]
thanks.
14:25:46 [warp]
* warp guesses carl.
14:26:11 [ocharles]
i'd think so
14:26:27 [warp]
ok, asterix should be out.
14:27:11 [ocharles]
274 files changed, 55343 insertions(+), 63506 deletions(-)
14:27:13 [ocharles]
we've been busy!
14:27:20 [warp]
hah
14:27:26 [ocharles]
ah, languages.pot
14:27:29 [warp]
ocharles: you merged everything into master?
14:27:50 [ocharles]
yes
14:27:55 [warp]
ok
14:27:59 [ocharles]
diff of master and beta is just reports
14:28:01 [ocharles]
but that isn't ready
14:28:29 [ocharles]
ocharles has changed the topic to: http://musicbrainz.org/#devel | Agenda: text column constraints (ocharles), editor data in dumps (reosarevok), searchable URLs (reosarevok/Freso), out of date dependencies (ocharles), postgresql as data api (ocharles)
14:29:10 [ocharles]
carton has changed so this update is going to be a bit slooooow
14:29:21 [warp]
* warp is patient.
14:29:57 [warp]
ocharles: you had no intention of fabbing the load balancers, right? (if not, I will make an attempt this week).
14:30:28 [ocharles]
no real intention yet, nope
14:30:40 [ocharles]
you might be interested to know that fabric has a contrib module to comment lines out
14:30:45 [ocharles]
if you decide to go down that route
14:31:02 [warp]
ah, cool.
14:32:11 [warp]
previously we talked about include files and links. perhaps commenting keeps the config a bit simpler.
14:33:05 [ocharles]
simpler, but I like include files more
14:33:09 [ocharles]
warp: asterix done
14:33:31 [ocharles]
lots of deadlock errors in the logs-
14:33:51 [warp]
er, is that bad?
14:34:26 [ocharles]
yes, but not related to this, I hope
14:34:31 [ocharles]
we should carry on
14:34:33 [warp]
I've just put asterix back in and pingu out.
14:34:46 [reosarevok]
That was me
14:34:54 [reosarevok]
Hitting a wall of deadlocks once again
14:35:20 [ocharles]
yet again I can't do anything, because I don't have access to the logs
14:35:35 [reosarevok]
Sure, just explaining :)
14:35:36 [ocharles]
" HINT: See server log for query details" thanks, but no thanks, PG :(
14:35:59 [ocharles]
ocharles has changed the topic to: http://musicbrainz.org/#devel | Agenda: text column constraints (ocharles), editor data in dumps (reosarevok), searchable URLs (reosarevok/Freso), out of date dependencies (ocharles), postgresql as data api (ocharles), deadlocks (ocharles)
14:36:02 [reosarevok]
Also, and also unrelated to this: is there any reason why the gravatar is in the source here? view-source:http://musicbrainz.org/recording/e187fad2-154a-44b2-b06b-58be66c4662c
14:36:03 [warp]
ocharles: you don't have unix permissions to see the logs, or we don't have logs?
14:36:12 [ocharles]
the former
14:36:53 [reosarevok]
(just had CSS fail to load and suddenly my face was there in a big image at the top of the page)
14:37:22 [warp]
ocharles: which logs, on which server?
14:37:40 [ocharles]
totoro
14:37:43 [ocharles]
postresql logs
14:37:52 [ocharles]
reosarevok: are you editing recordings with the same artist credits or something?
14:38:28 [reosarevok]
ocharles: I'm using bitmap's copyable artist credits and changing the ACs for all the recordings in the release in rapid succession, yes
14:38:29 [ocharles]
I have a feeling it's the ref_count thing in the artist credit table
14:38:38 [ocharles]
sounds like that may be the problem
14:39:18 [reosarevok]
Well, let's finish releasing first I guess :)
14:39:40 [ocharles]
yea, of course
14:39:45 [ocharles]
http://stackoverflow.com/questions/9021249/postgresql-deadlock smells exactly the same as our ref counting
14:39:50 [ocharles]
this is the reason I hate materializing stuff
14:40:01 [ocharles]
if this is the problem, anyway
14:40:49 [reosarevok]
Any idea about the gravatar thing?
14:41:05 [ocharles]
no, might be a release side effect
14:41:20 [warp]
ocharles: pingu still cartoning?
14:41:38 [ocharles]
just finishing
14:41:56 [ocharles]
warp: ok, pingu is back
14:42:16 [warp]
ok, pingu back. astro out.
14:42:22 [Leftmost]
Leftmost has joined #musicbrainz-devel
14:42:22 [Leftmost]
Leftmost has joined #musicbrainz-devel
14:43:46 [ocharles]
reosarevok: are you consistently getting these deadlocks?
14:43:59 [ocharles]
I am tempted to try disabling this trigger
14:44:00 [reosarevok]
Define consistently
14:44:05 [reosarevok]
I don't get them all the time
14:44:07 [ocharles]
ok, lets try this when i've blogged
14:44:09 [reosarevok]
But I get them relatively often
14:46:43 [reosarevok]
Cool :)
14:47:45 [ocharles]
seriously, does he just refresh constantly?
14:48:18 [reosarevok]
Do we get a lot of those?
14:48:29 [warp]
ocharles: I think jesus2099 said he would load that page once per day until it was fixed.
14:48:35 [ocharles]
._.
14:48:44 [ocharles]
how very productive
14:48:56 [warp]
so that shouldn't be considered "refresh constantly", depending on how you define constantly.
14:49:17 [ocharles]
i was exaggerating
14:49:59 [warp]
once per day seems entirely reasonable, although pointless if the only thing it does is time out.
14:49:59 [ocharles]
* ocharles resets test branches
14:53:59 [warp]
how is astro doing?
14:55:51 [ocharles]
oh, astro is done
14:55:58 [ocharles]
telling you would help :)
14:56:02 [warp]
yes :)
14:56:13 [warp]
ok, astro back.
14:56:24 [warp]
yay, done.
14:58:43 [ocharles]
reosarevok: alright, I'm going to disable the ref count trigger
14:59:05 [reosarevok]
What are the possible downsides?
14:59:18 [ocharles]
that we have artist credits in our database that are not referred to by anything
14:59:34 [ocharles]
which doesn't seem the end of the world if I only leave it on for a day
15:01:35 [hawke_2]
hawke_2 has joined #musicbrainz-devel
15:02:04 [MBJenkins]
Yippie, build fixed!
15:02:05 [MBJenkins]
Project musicbrainz-server_beta build #8: FIXED in 10 min: http://ci.musicbrainz.org/job/musicbrainz-server_beta/8/
15:02:05 [MBJenkins]
* reosarevok: Updated twitter logo
15:02:06 [MBJenkins]
* reosarevok: Cropped white edges
15:02:06 [MBJenkins]
* reosarevok: Transparent background
15:02:07 [MBJenkins]
* reosarevok: And the right size
15:02:07 [MBJenkins]
* oliver.g.charles: MBS-4938: Change Statistics->fetch to fetch the latest statistic
15:02:08 [MBJenkins]
* oliver.g.charles: MBS-4938: Recalculate some old statistics
15:02:08 [MBJenkins]
* ianmcorvidae: fix ISE by passing an arrayref as is appropriate here
15:04:31 [ocharles]
reosarevok: ok done
15:04:35 [ocharles]
lets see if you can reproduce a deadlock
15:10:04 [reosarevok]
Give me 10 min to finish this release before moving on
15:17:16 [ijabz]
ijabz has joined #musicbrainz-devel
15:19:14 [ocharles]
adhawkins: do you have a public git repository anywhere?
15:19:18 [ocharles]
(for musicbrainz-server)
15:21:22 [adhawkins]
No
15:21:35 [kepstin-work]
this is regarding the slave.sh patch?
15:21:41 [adhawkins]
Didn't really seem worth it for that :)
15:22:45 [ocharles]
adhawkins: yea, it's regarding that
15:22:55 [ocharles]
having a repository makes life much easier for me wrt. merging stuff
15:23:14 [adhawkins]
I'm not sure why I was asked to submit the patch to code review to be honest, given that I've never done any development on the server before!
15:23:58 [navap]
adhawkins: I just sent you a cubby invite.
15:24:05 [adhawkins]
navap: Cool, thanks.
15:24:26 [ocharles]
adhawkins: well that's our development protocol
15:24:45 [navap]
I am perplexed how cubby managed to find your first and last name though. Your name shows up on the invited list whereas a friend of mine just has his email address
15:24:55 [adhawkins]
I asked for an invite on the site :)
15:24:59 [navap]
Cubby doesn't have any kind of address book feature
15:25:01 [navap]
Ah
15:25:09 [reosarevok]
ocharles, deadlock
15:25:29 [adhawkins]
ocharles: I guess I can fork on github and commit if you think it's really worth it for such a trivial change.
15:26:52 [adhawkins]
navap: Got the invite, thanks
15:27:40 [navap]
:)
15:27:43 [ocharles]
reosarevok: nothing in the server logs
15:27:49 [ocharles]
how odd
15:28:18 [ocharles]
ah, found it
15:28:44 [demosdemon]
I just sent an email to jdamcd, but I will be in class during the meeting (and will be until August)
15:28:50 [demosdemon]
in case anyone was wondering
15:29:37 [ocharles]
reosarevok: ok, so this is not quite the problem. I will revert that and i'm afraid you'll have deadlocks a bit longer
15:29:46 [reosarevok]
ok
15:29:55 [hawke_2]
hawke_2 has joined #musicbrainz-devel
15:31:36 [reosarevok]
ocharles: http://beta.musicbrainz.org/
15:32:25 [ocharles]
it's restarting right now
15:32:37 [ocharles]
but it has to reinstall carton modules first
15:32:41 [ocharles]
should be up shortly, not sure what's broken
15:33:32 [ocharles]
ok no, ianmcorvidae has broken beta :)
15:35:44 [adhawkins]
ocharles: Any 'standard' on branch names?
15:36:16 [reosarevok]
* reosarevok uses the mbs-XXXX ticket but no idea what others do
15:36:56 [MBJenkins]
Project musicbrainz-server_beta build #9: FAILURE in 5 min 22 sec: http://ci.musicbrainz.org/job/musicbrainz-server_beta/9/
15:36:56 [MBJenkins]
* ianmcorvidae: make the extraction scripts recognize lp
15:36:57 [MBJenkins]
* ianmcorvidae: add to translation TT plugin
15:36:57 [MBJenkins]
* ianmcorvidae: remove Data::Dumper
15:36:58 [MBJenkins]
* ianmcorvidae: factor out special cases, and add a couple more
15:36:58 [MBJenkins]
* ianmcorvidae: Collect stats by edit type.
15:36:59 [MBJenkins]
* ianmcorvidae: release group type stats
15:36:59 [MBJenkins]
* ianmcorvidae: add release packaging and status stats
15:37:00 [MBJenkins]
* ianmcorvidae: Add status and packaging stats to main page.
15:37:00 [MBJenkins]
* ianmcorvidae: add release-group type stats to main page
15:37:01 [MBJenkins]
* ianmcorvidae: Add relationship-type stats collection.
15:37:01 [MBJenkins]
* ianmcorvidae: fix relationships calculation, add interface
15:37:02 [MBJenkins]
* ianmcorvidae: remove relationships from index
15:37:02 [MBJenkins]
* ianmcorvidae: display edit stats
15:37:03 [MBJenkins]
* calvin.walton: Add a note to INSTALL.md regarding basic build tools.
15:37:03 [MBJenkins]
* ianmcorvidae: don't double-jump over toplevel children
15:37:04 [MBJenkins]
* nikki: Add tx config file
15:37:04 [MBJenkins]
* ianmcorvidae: Split correctly in the NUM ms case
15:39:17 [ocharles]
adhawkins: anything that starts with mbs- is fine
15:39:35 [ocharles]
yay, he broke the build too :)
15:42:11 [ocharles]
reosarevok: beta is back
15:44:48 [adhawkins]
ocharles: Ok, branch created and change commited and pushed.
15:44:50 [adhawkins]
What do you need?
15:45:13 [ocharles]
adhawkins: the address that I can pull from
15:45:23 [adhawkins]
git://github.com/adhawkins/musicbrainz-server.git
15:45:59 [adhawkins]
Branch is mbs-slave.sh-fix
15:46:21 [ocharles]
oh, by mbs- I meant mbs- then the actual ticket number
15:46:23 [ocharles]
but this'll do :)
15:46:30 [ocharles]
have you pushed the branch?
15:46:34 [ocharles]
git push -u origin mbs-slave.sh-fix
15:47:41 [adhawkins]
I thought I had. I have now :)
15:47:43 [adhawkins]
* adhawkins blushes
15:47:49 [ocharles]
s'all good!~
15:47:58 [ocharles]
all merged
15:48:07 [adhawkins]
Well, that was worth all that effort :p
15:48:19 [adhawkins]
Do I get a namecheck in the next release notes? :D
15:48:54 [ocharles]
you will in the next release, yea
15:49:02 [adhawkins]
Woo hoo! Fame again!
15:49:12 [adhawkins]
* adhawkins isn't going to mention that it was someone else who actually worked out how to fix it...
15:49:25 [ocharles]
hey, you did the work, you deserve some credit :)
15:49:30 [adhawkins]
lol
15:49:42 [ocharles]
phew, I must have shipped around 60 branches to various places today
15:49:47 [ocharles]
it certainly feels like that anyway
15:49:49 [adhawkins]
Now I understand why they suggested I create the entry on code review :)
16:01:23 [MBJenkins]
Yippie, build fixed!
16:01:24 [MBJenkins]
Project musicbrainz-server_beta build #10: FIXED in 19 min: http://ci.musicbrainz.org/job/musicbrainz-server_beta/10/
16:01:24 [MBJenkins]
oliver.g.charles: Revert "Merge remote-tracking branch 'ianmcorvidae/mbs-4876-template-i18n-context' into beta"
16:02:07 [ruaok]
ruaok has joined #musicbrainz-devel
16:02:25 [navap]
heh, that's harsh
16:04:21 [ocharles]
why? that's in the beta release process documentation
16:07:59 [navap]
Of course, of course, the build must go on! er, get fixed.
16:08:16 [navap]
It still looks funny when MBJenkins makes a big deal of it getting fixed by reverting ianmcorvidae
16:09:18 [ocharles]
hehe
16:09:23 [ocharles]
oh, it's good that it's fixed
16:09:27 [ocharles]
i was actually expecting more failures
16:10:14 [MBJenkins]
Project musicbrainz-server_master build #296: SUCCESS in 18 min: http://ci.musicbrainz.org/job/musicbrainz-server_master/296/
16:10:14 [MBJenkins]
* calvin.walton: Add a note to INSTALL.md regarding basic build tools.
16:10:15 [MBJenkins]
* nikki: Add tx config file
16:10:15 [MBJenkins]
* andy: Fix slave.sh
16:14:41 [MBJenkins]
Project musicbrainz-server_beta build #11: SUCCESS in 13 min: http://ci.musicbrainz.org/job/musicbrainz-server_beta/11/
16:14:42 [MBJenkins]
* jargon: MBS-3932: Report: Discogs pages attached to multiple labels
16:14:42 [MBJenkins]
* oliver.g.charles: MBS-2662: Move reports to a database backed implementation
16:14:43 [MBJenkins]
* oliver.g.charles: MBS-2662: Automatically guess template and table name
16:14:43 [MBJenkins]
* oliver.g.charles: MBS-2662: Introduce 'FilterForEditor::ArtistID' report filtering strategy
16:14:44 [MBJenkins]
* oliver.g.charles: MBS-2662: Add a special filtering strategy for the DuplicateArtists report
16:14:44 [MBJenkins]
* oliver.g.charles: MBS-2662: Introduce 'FilterForEditor::ReleaseID' report filtering strategy
16:14:45 [MBJenkins]
* oliver.g.charles: MBS-2662: Add a special filtering strategy for the CollaborationRelationships report
16:14:45 [MBJenkins]
* oliver.g.charles: MBS-2662: Introduce 'FilterForEditor::ReleaseGroupID' report filtering strategy
16:14:46 [MBJenkins]
* oliver.g.charles: MBS-2662: Introduce 'FilterForEditor::RecordingID' report filtering strategy
16:14:46 [MBJenkins]
* oliver.g.charles: MBS-2662: Fix the recording, release and release group filters
16:14:47 [MBJenkins]
* oliver.g.charles: MBS-2662: Explicitly label some tables where camel case guessing is wrong
16:14:47 [MBJenkins]
* oliver.g.charles: MBS-2662: Filter the 'FeaturingReleaseGroups' report
16:14:48 [MBJenkins]
* oliver.g.charles: MBS-2662: Expose a link to toggle between all and filtered results
16:14:48 [MBJenkins]
* oliver.g.charles: MBS-3932: Updating to be inline with MBS-2662 changes (DB backed reports)
16:14:49 [MBJenkins]
* oliver.g.charles: MBS-3932: Fix the FilterForEditor::LabelID SQL
16:14:49 [MBJenkins]
* oliver.g.charles: MBS-2662: Support running when the 'report' schema doesn't exist, or a report hasn't ran
16:14:50 [MBJenkins]
* oliver.g.charles: MBS-2662: Fix generated at timestamps
16:20:10 [navap]
Given a release's MBID, what sql qurey would find it's catalog numbers?
16:21:03 [ocharles]
depends if you're certain that MBID is the releases 'latest' MBID
16:21:08 [ocharles]
as in not a redirected mbid
16:21:21 [navap]
I am certain
16:21:26 [ocharles]
if so, select catalog_number from release_label join release on release.id = release_label.release where gid = 'the mbid here';
16:22:13 [navap]
THanks
16:22:50 [navap]
So from what I can tell, MBS-4994 is a Cannot Reproduce
16:23:13 [navap]
I added a catalog number with a leading and trailing space, and there are no spaces on the website, ws, or db
16:23:31 [navap]
Oh, nikki beat me..
16:23:32 [ocharles]
i don't want to close that until it's guaranteed by the DB
16:23:43 [ocharles]
that's related to the constraints thing in the topic
16:23:45 [djce1]
djce1 has joined #musicbrainz-devel
16:26:03 [kepstin-work]
bah, something's gone wrong with my musicbrainz server container, some processes are hung and unkillable :/
16:26:52 [hawke_2]
hawke_2 has joined #musicbrainz-devel
16:27:15 [kepstin-work]
kepstin-work has joined #musicbrainz-devel
16:27:32 [ocharles]
can you strace those pids?
16:27:57 [kepstin-work]
ocharles: I suppose I might be able to.
16:28:27 [kepstin-work]
hmm. there's only dhclient, getty, postgres, smtp, sshd, ls, bash, and init left in there.
16:28:54 [kepstin-work]
* kepstin-work is suspecting kernel issue atm.
16:29:08 [kepstin-work]
if I strace a hung process, the strace hangs :/
16:29:21 [ocharles]
strace should show you what it's blocking on
16:29:32 [kepstin-work]
except that instead of doing that, it hangs.
16:30:00 [kepstin-work]
and becomes unkillable, just like the original hung process
16:30:03 [djce]
djce has joined #musicbrainz-devel
16:30:22 [kepstin-work]
looks like the only way to clear this out will be a reboot :/
16:30:34 [djce2]
djce2 has joined #musicbrainz-devel
16:30:49 [ocharles]
ouch, that does sound nasty
16:31:29 [kepstin-work]
I don't even know if it'll reboot cleanly, so it'll have to wait until I get home :/
16:32:06 [ocharles]
nothing in dmesg?
16:32:15 [ocharles]
or syslog?
16:32:40 [kepstin-work]
noting in dmesg or syslog on the host.
16:33:50 [kepstin-work]
hmm. in the container, syslog is completely full of 'nullmailer' complaining that it can't connect to an smtp server.
16:34:05 [kepstin-work]
('smtp' is one of the hung processes')
16:38:56 [ruaok]
ruaok has joined #musicbrainz-devel
16:39:22 [kepstin-work]
I wonder if the root cause of that is the slave.sh cron job failing :/
16:42:35 [ianmcorvidae]
heh, what did I break on beta, and with what?
16:42:46 [ocharles]
ianmcorvidae: see your open reviews
16:43:03 [ianmcorvidae]
ah, okay
16:43:07 [ianmcorvidae]
I'll work through my emails then :)
16:47:17 [Freso]
ianmcorvidae: G'morning. I can't get my mbsandbox to work.
16:47:44 [ianmcorvidae]
good morning
16:47:48 [ianmcorvidae]
what seems to be the problem
16:47:58 [ianmcorvidae]
ocharles: just the $num thing, then?
16:48:07 [Freso]
ianmcorvidae: "Error while loading app.psgi: Bareword "DBDefs::COVER_ART_ARCHIVE_DOWNLOAD_PREFIX" not allowed while "strict subs" in use at lib/MusicBrainz/Server/Controller/Release.pm line 76."
16:48:12 [ianmcorvidae]
ah
16:48:16 [ianmcorvidae]
you need to fix your DBDefs
16:48:28 [ocharles]
ianmcorvidae: "just" seeing as it breaks all the tests and takes the server down
16:48:29 [ocharles]
:)
16:48:30 [Freso]
ianmcorvidae: What do I need to fix?
16:48:31 [ianmcorvidae]
I recommend using vimdiff: vimdiff lib/DBDefs.pm lib/DBDefs.pm.default
16:48:49 [ianmcorvidae]
make sure all the different toplevel forms that are in .default are also in the one it actually uses :)
16:51:01 [ianmcorvidae]
ocharles: well, I mean, it's still an easy fix, even if it's a big problem :)
16:51:35 [ocharles]
ya
16:52:53 [ianmcorvidae]
ocharles: you told me to rebase -- should I then also force-push, or should I push to a different branch?
16:53:06 [ocharles]
ianmcorvidae: either are fine, force push seems simplist
16:53:10 [ianmcorvidae]
okay
16:53:14 [ocharles]
the rebase is just to generate a bunch of new commit sha's
16:53:20 [ianmcorvidae]
yeah, understood
16:54:41 [ianmcorvidae]
okay, new diff is up :)
16:55:02 [ianmcorvidae]
oh, though I suppose I didn't fix indentation
16:55:04 [ianmcorvidae]
* ianmcorvidae does that
16:55:14 [ocharles]
heh, my nes database has 30984863 revisions.
16:55:21 [ocharles]
Lets hope we never need to do a sequential scan
16:55:29 [Prophet5]
Prophet5 has joined #musicbrainz-devel
16:55:36 [kepstin-work]
ocharles: is that the result of converting the current edits?
16:55:45 [ocharles]
no, that's just the combined count of all our entities
16:55:56 [ocharles]
current edits will not be converted
16:56:21 [kepstin-work]
so, you'll just have a legacy history viewer?
16:56:25 [ocharles]
yea
16:57:01 [ocharles]
http://ocharles.org.uk/EditSystemPresentation/edit-system.html if you haven't already seen it
16:57:22 [ocharles]
(slide 25)
16:57:49 [kepstin-work]
* kepstin-work is getting blank pages in firefox
16:57:56 [ocharles]
it doesn't work in firefox :/
16:58:36 [kepstin-work]
* kepstin-work loads it in webkit instead.
17:03:37 [Freso]
ianmcorvidae: Alright, something's happening. What do you make of http://freso.mbsandbox.org/ ?
17:03:54 [ianmcorvidae]
you're missing GOOGLE_CUSTOM_SEARCH in your DBDefs
17:03:59 [Freso]
ianmcorvidae: I'm not.
17:04:11 [Freso]
ianmcorvidae: I've triple checked. It's there.
17:04:40 [ocharles]
and you've restarted the process?
17:04:44 [ianmcorvidae]
Freso: looking now, it's not there :)
17:04:49 [Freso]
ocharles: Yes.
17:05:14 [ianmcorvidae]
google_analytics_code is there, but not google_custom_search
17:05:21 [ianmcorvidae]
(uppercased of course, but I decided not to type it)
17:06:00 [voiceinsideyou1]
voiceinsideyou1 has joined #musicbrainz-devel
17:06:00 [Freso]
ianmcorvidae: Oh. Right.
17:07:47 [ruaok]
ruaok has joined #musicbrainz-devel
17:08:11 [Freso]
ianmcorvidae: ... -.- Back to 502 now. Oh well...
17:10:46 [voiceinsideyou]
voiceinsideyou has joined #musicbrainz-devel
17:10:49 [kepstin-work]
ocharles: so, is the user page going to have an 'unmerged branches' view instead of an 'open edits' view?
17:11:02 [ocharles]
kepstin-work: 'open merge requests'
17:11:15 [ocharles]
which is yes, basically a list of branches that aren't merged
17:11:22 [ocharles]
but trying to use some friendlier terms
17:11:27 [kepstin-work]
can you edit something and not request a merge?
17:11:30 [ocharles]
yes
17:11:41 [kepstin-work]
how do you find those again later?
17:11:45 [ianmcorvidae]
ocharles: on the edit stats one, you mention using Template::Plugin::Class, but that codereview's marked as submitted -- should I do that as a new branch/codereview if I want to then?
17:11:56 [ocharles]
kepstin-work: there will be a page somewhere
17:11:59 [kepstin-work]
* kepstin-work reads more slides, he's just up to 25 now :)
17:12:05 [ocharles]
ianmcorvidae: bleh, did i even give it a shipit?
17:12:08 [ocharles]
maybe I went shipit crazy
17:12:15 [ocharles]
kepstin-work: the actual ui is less clear atm
17:12:41 [kepstin-work]
ocharles: maybe next week i'll pull out some mockups then ;)
17:14:03 [ianmcorvidae]
ocharles: you didn't, no: http://codereview.musicbrainz.org/r/2007/
17:14:11 [kepstin-work]
relationships would be weird, you have to make sure it's not possible to have one side get merged and the other fail with a conflict or something :)
17:14:14 [ocharles]
ianmcorvidae: i have merged it, but it seems sort of ok to keep on beta, rather than revert
17:14:17 [ocharles]
i'll reopen the review though
17:14:35 [ianmcorvidae]
okay
17:14:52 [ocharles]
home now though, bbiab
17:15:50 [Freso]
* Freso gives up
17:16:20 [ianmcorvidae]
Freso: no luck then?
17:16:58 [Freso]
ianmcorvidae: Nope. I just tried to delete the DBDefs and start off with a fresh .rika one from /etc/skel which was a bit more updated to .default.
17:17:16 [ianmcorvidae]
ah
17:17:18 [kepstin-work]
ocharles: it's not clear how exactly merges are stored - merges have *2* parents.
17:17:35 [Freso]
ianmcorvidae: That didn't work either. It looks like the server's running fine ("FastCGI: server (pid 675): initialized"), but going there gives a 502.
17:17:54 [ianmcorvidae]
hm
17:17:56 [ianmcorvidae]
* ianmcorvidae checks error log
17:18:15 [kepstin-work]
ocharles: do you have an example of the full schema around?
17:18:30 [ianmcorvidae]
Freso: don't use Cache::Memcached::Fast for the object caching thing
17:18:45 [ianmcorvidae]
.rika shouldn't have that set
17:19:40 [ianmcorvidae]
([error] Caught exception in engine "Can't locate object method "forget_dead_hosts" via package "Cache::Memcached::Fast" at local/lib/perl5/Cache/Memcached/Managed.pm line 765.")
17:19:50 [ianmcorvidae]
(well-known error at this point, heh)
17:20:48 [Freso]
ianmcorvidae: It is from the .default (and .rika, too) though. What should I change it to? Just uncommenting the lines throws another error.
17:20:59 [ianmcorvidae]
Freso: only one of the places matters
17:21:31 [Freso]
ianmcorvidae: ?
17:21:41 [ianmcorvidae]
only one of the places where ::Fast is set matters
17:22:36 [ianmcorvidae]
it's fine in PLUGIN_CACHE_OPTIONS and CACHE_MANAGER_OPTIONS; comment out "memcached_class => 'Cache::Memcached::Fast'," in SESSION_STORE_ARGS though
17:23:00 [ianmcorvidae]
only one of the three places we use Memcached actually uses Cache::Memcached::Managed, which is where that error's coming from, basically
17:23:20 [ianmcorvidae]
(line 343 of your config, btw :P)
17:24:03 [ianmcorvidae]
* ianmcorvidae sees it load :)
17:24:08 [Freso]
\o/
17:31:48 [Freso]
Does Perl/whatever .tt is have a way to show all properties of a given variable (e.g, all nodes and values of an array)?
17:32:20 [kepstin-work]
like some sort of debugging dump?
17:32:22 [ianmcorvidae]
Data::Dumper and the tt Dumper plugin
17:32:42 [ianmcorvidae]
from a template, do: [% USE Dumper; Dumper.dump(whatever-variable) %]
17:33:34 [ianmcorvidae]
from perl, do: 'use Data::Dumper qw(Dumper); warn Dumper(whatever-variable);'
17:35:03 [ianmcorvidae]
if you do it in perl you'll probably have to look in /var/log/nginx/mbsandbox-freso.error.log, pester me if it's unreadable to you or whatever
17:40:35 [Freso]
ianmcorvidae: I'm doing it in the template. Thanks. :)
17:45:20 [Freso]
An entity has an end-date set, will the "ended" property automagically be set as well?
17:45:29 [ianmcorvidae]
yes
17:45:35 [ianmcorvidae]
there's a database trigger that sets that
17:45:46 [Freso]
Wicked. Makes this much easier. :D
17:45:59 [Freso]
Alright, how do I go about submitting a patch?
17:46:09 [ianmcorvidae]
ref: https://github.com/metabrainz/musicbrainz-server/blob/master/admin/sql/CreateFunctions.sql#L974
17:46:12 [ianmcorvidae]
codereview.musicbrainz.org
17:46:16 [ianmcorvidae]
steps
17:46:19 [ianmcorvidae]
put your branch somewhere
17:46:31 [ianmcorvidae]
generate a diff: 'git diff master...HEAD > some-file.diff'
17:46:40 [ianmcorvidae]
possibly create an account, if you don't have one, on the codereview site
17:46:50 [ianmcorvidae]
upload diff, enter branch name and where you pushed it, etc. on the form
17:51:30 [Freso]
"Which groups do you belong to or wish to watch?"?
17:51:43 [ianmcorvidae]
uh
17:51:46 [ianmcorvidae]
just put down default
17:51:49 [ianmcorvidae]
I don't think we actually use them
17:53:50 [navap]
I pick no group so I don't get bombarded with reviews, then I manually star the reviews I want to receive notifications for
17:54:02 [ianmcorvidae]
heh
17:54:11 [ianmcorvidae]
I enjoy seeing everything going on, so I just stay in a group :P
17:54:15 [navap]
I have a similar thing for jira
17:54:22 [ianmcorvidae]
(I also follow every change on jira, via RSS)
17:54:26 [ianmcorvidae]
(and on the wiki)
17:54:27 [ianmcorvidae]
(heh)
17:54:55 [navap]
I used to follow the wiki rss religiously, now I just give the recent changes a quick glance every so often
17:55:11 [ianmcorvidae]
the wiki doesn't really do all that much, it's not a big drain on me
17:55:22 [ianmcorvidae]
Jira has a lot of changes but often I can skim
17:55:35 [ianmcorvidae]
don't need to see all twenty times ocharles set the fix date to the next release, things like that :P
17:55:52 [navap]
heh
17:56:15 [Freso]
How do I enable the forcing through of edits on the test server?
17:56:58 [kepstin-work]
Freso: there's something in DBDefs.pm to change, I think it's commented.
17:57:12 [ianmcorvidae]
something with _TESTING_FEATURES
17:57:23 [ianmcorvidae]
I think
17:57:30 [ianmcorvidae]
Freso: you changed it to use _static, yeah?
17:57:41 [ianmcorvidae]
Freso: because you won't be able to do anything that modifies the DB on _slave
17:57:55 [Freso]
ianmcorvidae: I did change it to _static, yes. :)
17:57:56 [ianmcorvidae]
well, or if you can it's a problem that needs fixing, I guess :P
17:58:53 [Freso]
ianmcorvidae: This seems to be the line "sub DB_STAGING_TESTING_FEATURES { DB_STAGING_SERVER }" - it doesn't say what to replace it with though. :/
17:59:16 [ianmcorvidae]
if DB_STAGING_SERVER is set to 1 it should be too
17:59:32 [ianmcorvidae]
that's saying "this should be the same as DB_STAGING_SERVER"
17:59:42 [ianmcorvidae]
which, uh, you should therefore have it?
18:00:11 [plaintext]
plaintext has joined #musicbrainz-devel
18:00:12 [ianmcorvidae]
oh, bah, cover art archive schema
18:00:15 [ianmcorvidae]
* ianmcorvidae goes to create that on _static
18:00:23 [Freso]
? >_>
18:00:32 [Freso]
How often is _static reset?
18:00:39 [ianmcorvidae]
whenever I get to it :P
18:00:47 [Freso]
Alright.
18:00:49 [ianmcorvidae]
the cover_art_archive schema isn't automatically created
18:00:51 [ianmcorvidae]
is the issue
18:00:58 [ianmcorvidae]
and I forgot to make it manually
18:01:25 [Freso]
Aha.
18:02:21 [Freso]
IT'S ALIIIVE!! :D
18:02:48 [Freso]
* Freso goes to commit->pull->push->diff->send to code review
18:04:54 [navap]
Freso: Since it's a test server you can edit your privileges to make yourself an auto-editor
18:05:07 [kepstin-work]
Freso: the 'pull' step really should be unnecessary, and just adds additional merges in to clutter up the edit history
18:05:17 [kepstin-work]
so if you don't need to do it to resolve a conflict, don't bother
18:05:19 [Freso]
kepstin-work: Eh. No.
18:05:32 [Freso]
kepstin-work: The pull step is necessary to do the push step to github.
18:05:50 [Freso]
kepstin-work: I'm pulling down from sandboc to local machine, then pushing from here to github.
18:05:59 [kepstin-work]
your own github?
18:06:00 [navap]
Why not push from the sandbox?
18:06:05 [Freso]
kepstin-work: ... yes?
18:06:19 [kepstin-work]
oh, you're going through multiple steps, huh.
18:06:38 [Freso]
navap: While I trust you guys, I don't feel like having my git commit credentials lying around on servers that aren't under my control. :)
18:07:15 [navap]
You can add your sandboxes public key to just your musicbrainz-server repo on github
18:07:19 [Freso]
navap: And yes, I know I can make an SSH key specifically for the sandbox.
18:07:21 [kepstin-work]
Freso: you could always use https mode, and type in your password each time
18:07:41 [Freso]
kepstin-work: I'm not sure I even remember my github password anymore...
18:07:49 [Freso]
Seriously though, this way works fine.
18:08:37 [Freso]
It also makes sure I have a backup of my stuff locally, in case something happens.
18:09:52 [navap]
I use a local editor and edit via sftp. I keep a local repo around so I can run the editor's grep over local files :)
18:10:52 [jdamcd]
jdamcd has joined #musicbrainz-devel
18:24:43 [nikki]
nikki has joined #musicbrainz-devel
18:25:01 [nikki]
ocharles: I'm getting the random current transaction is aborted errors on beta again
18:28:35 [the_metalgamer]
the_metalgamer has joined #musicbrainz-devel
18:28:54 [ianmcorvidae]
okay, stupid cover art schema is on rika now
18:29:04 [ianmcorvidae]
empty tables, but whatever
18:29:10 [ianmcorvidae]
we really need to actually export those :/
18:29:27 [Freso]
ianmcorvidae: Is http://codereview.musicbrainz.org/r/2039/ good?
18:30:23 [ianmcorvidae]
add the bug and branch
18:30:30 [ianmcorvidae]
to the header
18:30:53 [ianmcorvidae]
and say what testing you did
18:31:03 [ianmcorvidae]
and if it's available on your sandbox, keep it running there and provide a link
18:31:15 [ianmcorvidae]
(starting run.sh in screen will facilitate this, of course :P)
18:33:32 [Freso]
ianmcorvidae: Anything else?
18:34:51 [ianmcorvidae]
I guess for a little template change you don't need anything in the testing done column
18:34:56 [ianmcorvidae]
but in the future put stuff there too :P
18:35:01 [ocharles]
adhawkins: http://ocharles.org.uk/blog/posts.rss
18:35:40 [Freso]
ianmcorvidae: Yeah.
18:35:49 [adhawkins]
ocharles: Added to my reader, ta.
18:36:28 [ocharles]
nikki: try again now
18:36:47 [ocharles]
beh, still
18:37:22 [ruaok]
ocharles: when I read your gentoo post, I felt the foundations of your ivory tower shaking. :)
18:37:33 [ocharles]
so did I when I installed arch :)
18:37:40 [ruaok]
lol
18:37:49 [ruaok]
* ruaok fetches noms before meeting
18:37:50 [ocharles]
systemd makes up for it a bit
18:38:02 [ianmcorvidae]
heh, I haven't set up systemd, myself
18:38:32 [ocharles]
it's pretty trivial on a fresh machine, I guess if you've already spent time configuring stuff it'll be a bit of a timesink
18:38:35 [ocharles]
nikki: well, giving it a restart now
18:38:49 [ocharles]
it's very perculiar. if I had more time I would have poked totoro to see what it's doing, but I need dinner
18:38:58 [ianmcorvidae]
yeah, this computer is pretty configured, been using it for almost five years I guess :P
18:39:09 [ianmcorvidae]
though I guess it used to be ubuntu
18:40:31 [ocharles]
I do find http://ocharles.org.uk/tmp/systemd-cgls.txt very cool
18:40:50 [ocharles]
systemd uses control groups to group processes, even over double forks
18:41:22 [ocharles]
and you can see how young this installation is (on this laptop) by the lack of postgres :)
18:41:23 [ianmcorvidae]
ah, nice
18:41:52 [ocharles]
wicd is really nice in gentoo too
18:42:30 [nikki]
ocharles: still happening...
18:42:39 [navap]
ocharles: I added your feed to greader and I see '$description$' for the post contents, any idea why that might be?
18:43:47 [ocharles]
navap: i think google reader has cached my rss
18:43:54 [ocharles]
(i added it myself to test)
18:44:07 [adhawkins]
I'm seeing it too on Feeddemon synced to Google Reader
18:44:27 [ruaok_]
ruaok_ has joined #musicbrainz-devel
18:44:31 [ocharles]
nikki: ok, i won't be able to look at it until after the meeting
18:44:45 [ocharles]
actually, let me just view open transactions in pg
18:53:34 [the_metalgamer]
the_metalgamer has joined #musicbrainz-devel
18:53:53 [Prophet5]
Prophet5 has joined #musicbrainz-devel
18:54:33 [ocharles]
that's odd, totoro has the hanged database connection, but it doesn't show up in the logs...
18:55:08 [ocharles]
nikki: kicked that process, i wonder if that's enough
19:00:13 [ruaok]
<BANG>
19:00:17 [ruaok]
hi all!
19:00:21 [warp]
hello!
19:00:22 [ruaok]
how wants to go first?
19:00:40 [kepstin-work]
how isn't here right now, but who can go.
19:00:42 [ruaok]
warp, you go!
19:00:57 [warp]
eep!
19:01:10 [navap]
kepstin-work: Nah, he's busy on first
19:01:33 [warp]
I spent most of my week working on the json serialization of /ws/2
19:01:59 [warp]
A proposal for that was sent to mb-devel at the end of last week
19:03:00 [warp]
Today I grabbed my existing code from MBS-211, which implemented the Accept header stuff so a client can request json instead of xml
19:03:09 [warp]
and that implemented part of /ws/2/label.
19:03:16 [warp]
I've been adding the missing properties today.
19:03:28 [ocharles]
ruaok: are you still in touch with hackday people who wanted json?
19:03:32 [ocharles]
maybe you could point them at this ml post
19:03:37 [warp]
that's it.
19:03:48 [ruaok]
ocharles: not really.
19:03:58 [ruaok]
ocharles: next!
19:04:16 [ocharles]
my week was a bit of an odd one
19:04:18 [warp]
warp has changed the topic to: http://musicbrainz.org/#devel | Agenda: text column constraints (ocharles), editor data in dumps (reosarevok), searchable URLs (reosarevok/Freso), out of date dependencies (ocharles), postgresql as data api (ocharles), deadlocks (ocharles), browser requirements (warp)
19:04:41 [ocharles]
Monday and tuesday morning I was snapped up by last.fm to help emergency fix a big distributed file system
19:04:58 [ocharles]
but after that I worked on nes and made some good progress
19:05:08 [ocharles]
then on thursday I decided it'd be a fantastic idea to delete my partition table
19:05:16 [ocharles]
thus leaving me without a working machine almost the entire day :(
19:05:38 [warp]
hah, woops.
19:05:41 [ocharles]
I did manage to get back to work on friday, but was off to Bloc weekend (festival), which then subsequently got cancelled :)
19:05:42 [ruaok]
:-(
19:05:54 [ruaok]
odd week? sucky week!
19:06:00 [ocharles]
ha, that, ya
19:06:10 [ocharles]
today I did a release with warp and shipped a load to beta
19:06:22 [ocharles]
i must have shipped about 60 things to various places today, so great work everyone else!
19:06:28 [ruaok]
lol
19:06:28 [ianmcorvidae]
you're welcome for all those patches ;)
19:06:43 [ocharles]
k, that's me
19:07:01 [ruaok]
ianmcorvidae, you next.
19:07:14 [ianmcorvidae]
okay
19:07:44 [ianmcorvidae]
I fixed a bunch of things ocharles shipped. Went out of town thursday-sunday, so only got three patches in during that time period; looking to pump out a bunch this week before freeze :)
19:07:54 [ianmcorvidae]
and that's basically all, see Jira/codereview for further details :)
19:08:06 [ruaok]
thx.
19:08:15 [ruaok]
my week was all over the place.
19:08:18 [ocharles]
and you're feeling on course for everything?
19:08:43 [ruaok]
between our queen's day without a queen we had two mini weeks, complete with a drinking mid-weekend.
19:08:58 [ruaok]
I spent a lot of time dealing with metabrainz stuff.
19:08:58 [ianmcorvidae]
I'm quite on-course, yeah, done all of my domain-splitting path and a bunch of fixup stuff; will probably look at the language-switcher ("interface path") this week
19:09:20 [ruaok]
preparing for board meeting tomorrow, shuffling board members and trying to find funds for ianmcorvidae
19:09:41 [ruaok]
our finances are pretty damn close, but I think I can convince the board to let me hire ianmcorvidae
19:09:50 [ruaok]
we'll find out tomorrow about that.
19:10:02 [ruaok]
loads of hosting stuff too.
19:10:14 [ocharles]
awesome!
19:10:30 [ruaok]
I was getting sick of the search servers being flaky, so I installed jetty on one machine and am running comparisons between jetty and tomcat.
19:10:42 [ruaok]
so far jetty seems more resistent to reloads.
19:10:54 [Prophet5]
Prophet5 has joined #musicbrainz-devel
19:11:06 [ijabz]
there is certainly less to go wrong in jetty
19:11:18 [ruaok]
after the board meeting wraps up I hope to get back into the thick of things here.
19:11:27 [ruaok]
metabrainz stuff is lame and isolated sometimes.
19:11:34 [ruaok]
thats it for me.
19:11:40 [ruaok]
got anything for us ijabz ?
19:11:49 [ijabz]
nope
19:11:54 [ruaok]
I know people really want a URL search. that shouldnt be hard, should it?
19:12:04 [ocharles]
hey, no agenda skipping!
19:12:06 [ruaok]
we can haz url search, plz??
19:12:06 [ianmcorvidae]
that's later in the topic, too :)
19:12:09 [ruaok]
oh sorry.
19:12:12 [ijabz]
Well ..
19:12:14 [ocharles]
:)
19:12:15 [ruaok]
* ruaok shuts up.
19:12:25 [ijabz]
do you wanna me to talk about it now ?
19:12:33 [ruaok]
ijabz: better do it later.
19:12:38 [ruaok]
lest the agenda nazis get us.
19:12:40 [warp]
haha
19:12:55 [ruaok]
gsoc students! how are things in your world?
19:13:03 [ruaok]
plaintext, bitmap, demosdemon, alastairp
19:13:06 [bitmap]
hello
19:13:09 [ruaok]
* ruaok wonders if alastairp is even around.
19:13:12 [ruaok]
go bitmap
19:13:13 [plaintext]
i can go
19:13:14 [ocharles]
* ocharles also
19:13:20 [plaintext]
(after bitmap)
19:13:23 [bitmap]
last week I took a small break around independence day, but I got a few major things done this weekend:
19:13:42 [bitmap]
(1) added release relationships and batch-adding to the UI, so the UI is "complete" (functional) except for batch work-creation
19:13:55 [ocharles]
very nice
19:14:05 [bitmap]
(2) rudimentary edit submission is working. rudimentary because there's no validation, editing attributes doesn't work, and the code is terrible :)
19:14:25 [bitmap]
I'll need some time this week to iron out edit submission before I can submit the code review, but I'm aiming to submit that this week
19:14:36 [bitmap]
that's all I have.
19:14:58 [ianmcorvidae]
one question, actually
19:15:18 [ianmcorvidae]
you were doing some stuff with chosen -- are you attached to that? ocharles was commenting on the codereview you based that on, and it might be nice to hold off on that
19:15:26 [ianmcorvidae]
but I don't want to do that if it's going to block you
19:15:35 [ocharles]
good catch
19:15:53 [bitmap]
I stopped progress on that because I ran into too many problems extending/styling chosen
19:16:10 [bitmap]
so no, not attached
19:16:14 [ianmcorvidae]
okay; I might do some research into alternatives then :)
19:16:18 [bitmap]
cool :)
19:16:20 [ianmcorvidae]
that's all on my part :)
19:16:28 [ruaok]
plaintext: go
19:16:31 [jdamcd]
demosdemon dropped me a note earlier to say that he can't make meeting time at the moment, I said I'd check out his code and catch up with him about the project status some time this week
19:16:36 [plaintext]
okay
19:16:42 [plaintext]
I've still got the codereview problem,
19:16:55 [plaintext]
and nobody reviewed the sanitizing script after I sent a mail to the list
19:17:03 [plaintext]
I guess everyone is busy with other stuff
19:17:06 [ocharles]
* ocharles is guilty there
19:17:11 [ruaok]
we've given them enough chances.
19:17:20 [plaintext]
I turned the csv file containing queries into a YAML file
19:17:22 [ruaok]
I will review this afternoon and give you any comments.
19:17:29 [plaintext]
thanks
19:17:38 [plaintext]
I made the script work with the YAML file
19:17:47 [plaintext]
it's a very nice tool
19:17:58 [plaintext]
I also created a config file, that stores the basic credentials for splunk and the db
19:18:10 [plaintext]
I uploaded everything to the repo, and I also tried to create some folders
19:18:14 [plaintext]
and that's it
19:18:32 [ruaok]
nice. I'm planning on spending lots of time on your stuff this afternoon.
19:18:36 [ruaok]
will you be around?
19:18:39 [plaintext]
thanks
19:18:43 [ruaok]
demosdemon: you around?
19:18:47 [ruaok]
alastairp: prod!
19:18:56 [reosarevok]
ruaok: read jdamcd's comment above :p
19:19:00 [ianmcorvidae]
ruaok: jdamcd said demosdemon wouldn't be around, yeah :)
19:19:15 [ruaok]
ah.
19:19:18 [ruaok]
* ruaok is blind today
19:19:21 [plaintext]
ruaok: I might not be around that much today
19:19:27 [plaintext]
I've got more time tomorrow
19:19:32 [ruaok]
plaintext: ok, thats fine.
19:19:42 [ruaok]
I am around all week. I certainly have a lot to catch up on.
19:19:51 [ruaok]
but if you need me for something, just ask.
19:19:57 [ruaok]
ok, anyone else for review?
19:20:15 [ruaok]
then onward with the agenda.
19:20:16 [navap]
After 6 or so weeks, I submitted 7 reviews within the last two days :)
19:20:17 [ruaok]
ocharles!
19:20:38 [ocharles]
alright, so we have a lot of bugs relating to badly sanitized text in our database
19:20:55 [ocharles]
and also comments from people at last.fm confused when some of our data crashes scripts they have wish assumptions (ie, that text doesn't start with whitespace)
19:20:55 [ruaok]
sanitized?
19:21:21 [ocharles]
we make a lot of assumptions about text data, but we don't actually enforce it, so i've been doing some exploring
19:21:29 [ocharles]
In my nes-playground work, I have this file https://github.com/ocharles/nes-playground/blob/master/sql/core/Types.sql
19:21:35 [kepstin-work]
would it make sense to run a script over the db that simply removes all leading/trailing space from fields to clean everything up?
19:22:04 [ocharles]
which introduces various text-like types (single line, non empty, etc)
19:22:05 [ruaok]
kepstin-work: +1
19:22:14 [ocharles]
that's no good going forward
19:22:18 [ocharles]
we already have those scripts
19:22:23 [ianmcorvidae]
yes, but this is more about preventing it in the future
19:22:31 [ocharles]
so new domains will stop that, but there are a couple of problems
19:22:58 [ocharles]
firstly, we can't convert types to the new domains until we don't have bad data. with check constraints you can create them with initially bad data (preventing future errors), but it'd be better to just use domains
19:23:16 [ocharles]
the bigger problem is that these will cause ISE's if we add them, and someone tries to insert bad data
19:23:19 [ruaok]
ruaok has changed the topic to: Agenda: text column constraints (ocharles), editor data in dumps (reosarevok), searchable URLs (reosarevok/Freso), out of date dependencies (ocharles), postgresql as data api (ocharles), deadlocks (ocharles), browser requirements (warp), mb hack day (ruaok)
19:23:32 [ocharles]
i wouldn't have a problem with that if we could put them on beta, but we can't do that because beta and live talk to the same database
19:23:38 [ianmcorvidae]
well, that's fixed by running a correction script on the DB before doing the alter tables
19:23:42 [ocharles]
sure
19:23:56 [kepstin-work]
which means you need to check or handle all the issues in server code as well as in the db
19:24:01 [ocharles]
right
19:24:02 [ianmcorvidae]
well, putting it on test is an option -- most of the database is the same, after all
19:24:03 [ocharles]
and that should be done
19:24:11 [ocharles]
yea, test just never gets quite the same traffic
19:24:16 [ianmcorvidae]
it's true
19:24:20 [ocharles]
hmm
19:24:32 [ocharles]
one interesting idea i've just had is to run the replication packets into a db with these constraints
19:24:39 [warp]
test is useful to get feedback on a single feature. but this touches everything.
19:24:49 [ocharles]
maybe over a week or so I can pin point tables that still have this problem
19:25:50 [ocharles]
but do people agree we should have these constraints at least?
19:25:58 [ianmcorvidae]
I do, at least
19:26:01 [warp]
ocharles: yes, it sounds like a good idea.
19:26:05 [ruaok]
+1
19:26:07 [Freso]
+0
19:26:11 [ianmcorvidae]
maybe we can do the correction scripts piecemeal, one table per release or such?
19:26:14 [ruaok]
esp if this is customer feedback. :)
19:26:22 [nikki]
what are the constraints?
19:26:35 [warp]
nikki: see https://github.com/ocharles/nes-playground/blob/master/sql/core/Types.sql
19:26:37 [ianmcorvidae]
nikki: https://github.com/ocharles/nes-playground/blob/master/sql/core/Types.sql is probably the reading for that :)
19:26:40 [ianmcorvidae]
... heh
19:26:59 [ocharles]
yea. the 'presentational_text', 'single_line' and 'non_empty_presentational_text' are the new domains
19:27:12 [ocharles]
i've commented out the checks for now, cause our data violates them :)
19:27:13 [Freso]
* Freso has the slight nagging that somewhere out there, some crazy person has ArtistIntent'ed whitespace pre- or appended to their name, or the name of some release or track or whatever...
19:27:34 [ianmcorvidae]
Freso: sure, that's why we check carefully :)
19:27:35 [ocharles]
i think we have to draw the line somewhere. there's no typographical way to really markup a trailing whitespace
19:27:35 [warp]
Freso: we don't currently support that either.
19:27:46 [ocharles]
and yes, most (but not all) of our code does trim
19:28:12 [ocharles]
ok. I think the little lightbulb over my head about exploring replication is worth persuing
19:28:21 [ocharles]
so I'll carry on with this and see what i come up with next
19:28:24 [ocharles]
just wanted to get this all out in the open
19:28:31 [ruaok]
ok, reosarevok next topic!
19:28:45 [reosarevok]
So
19:28:53 [ocharles]
oh you can check https://github.com/ocharles/nes-playground/blob/master/sql/core/Tables.sql for where i planned to use these different domains
19:29:38 [reosarevok]
Our editor dumps have basically all the information we have for editors. Which, admittedly, is all available by checking the site, but I'm still somewhat uncomfortable at the fact that we're just dumping it all
19:29:51 [ocharles]
it seems a bit odd to me
19:29:52 [ocharles]
too*
19:30:10 [reosarevok]
Especially since there's no clear benefit for anyone from that dump, except for some stats that we should probably be doing ourselves
19:30:17 [warp]
warp has changed the topic to: Agenda: editor data in dumps (reosarevok), searchable URLs (reosarevok/Freso), out of date dependencies (ocharles), postgresql as data api (ocharles), deadlocks (ocharles), browser requirements (warp), mb hack day (ruaok)
19:30:30 [ruaok]
well, it allows people to have machines where your account is present.
19:30:34 [ruaok]
just not your private data.
19:30:42 [ocharles]
we meant more stuff like gender and birth date
19:30:47 [reosarevok]
Yeah
19:30:48 [ianmcorvidae]
ruaok: this has to do with the new fields: gender, birthdate, language, country, etc.
19:30:55 [ruaok]
ah, ok.
19:30:58 [nikki]
other than birth date, we already make those public
19:30:59 [ruaok]
I agree.
19:31:07 [nikki]
and we've always included public info in the dumps before
19:31:11 [warp]
(and even birth date is more or less public)
19:31:13 [ocharles]
the birth date we don't actually show, we only present a year, so i guess we're breaking a bit of trust there
19:31:22 [ruaok]
reosarevok: make a ticket to sanitize those further.
19:31:38 [ruaok]
we already have sanitization in place, it just needs to be extended.
19:31:43 [ocharles]
i think the editor dump should just be enough to pass not null constraints
19:31:53 [ruaok]
it should've been done when these fields were created.
19:32:02 [ianmcorvidae]
we can comment on exactly what to sanitize on the ticket once it's made :)
19:32:11 [ruaok]
yep.
19:32:13 [nikki]
there is already a ticket for birth date
19:32:24 [ruaok]
nikki: lets just extend that to all the fields in question.
19:32:32 [ianmcorvidae]
birthdate is probably the only one that's really private though -- all the rest are shown on the site
19:32:36 [ruaok]
and toss it into the 3 month bin.
19:32:43 [ianmcorvidae]
anyway
19:32:58 [ocharles]
sounds good
19:33:04 [Freso]
+1 for keeping the data that's shown publically anyway.
19:33:06 [reosarevok]
ianmcorvidae: sure, but having each shown in one page on the site isn't the same as giving a dump with all that info ready for reusing
19:33:09 [warp]
ianmcorvidae: the birth date is shown as "age". so a determined attacker just needs to request the profile every day for a year to get the exact birth date.
19:33:31 [ruaok]
onward.
19:33:35 [ruaok]
searchable URLs: freso/reotab
19:33:41 [nikki]
* nikki would like to keep the public info, because she can't make maps or pie charts if it's stripped out
19:33:48 [Freso]
reosarevok: This one's on you. :p
19:33:51 [warp]
warp has changed the topic to: Agenda: searchable URLs (reosarevok/Freso), out of date dependencies (ocharles), postgresql as data api (ocharles), deadlocks (ocharles), browser requirements (warp), mb hack day (ruaok)
19:34:00 [ocharles]
nikki: that should be server side
19:34:11 [Freso]
But it's something about getting ijabz to make the URL entities searchable.
19:34:11 [ocharles]
so you can still help with that :)
19:34:16 [nikki]
no I can't
19:34:19 [nikki]
people don't want flash
19:34:36 [ijabz]
I don't mind doing when I have some time it but I think there are things that need to be done first:
19:34:50 [ijabz]
1. Urls aren't currently in the MMD as top level entities probably not my place make that change . 2. You can't do a url lookup in the web service yet, never mind search for one I think lookup should come first, 3.Ive added search for entities before, and still waiting for mbserver to catchup see http://tickets.musicbrainz.org/browse/MBS-209, 4. There are many things that would be useful yet I see no sign of them being done, so what makes this one s
19:34:51 [ijabz]
special
19:35:28 [ruaok]
1. URLs are top level entities. why is that a problem?
19:35:36 [ianmcorvidae]
this one is very useful for editing
19:35:51 [ijabz]
I don't they are ?
19:35:59 [ruaok]
2. does URL lookup make sense?
19:36:11 [Freso]
ruaok: Re: 2, it does.
19:36:22 [ijabz]
Yes of course
19:36:22 [ruaok]
ok, then add a ticket to get that done.
19:36:29 [ruaok]
partity between the two does make sense.
19:37:07 [Freso]
ruaok: I've actually been fantasizing lately about a browser plugin that'd lookup the site you're on and present MBz data if available. That'd require to look-up on URL, as that'd be the only reliably available info.
19:37:12 [ruaok]
lets move 209 into the 3 month bucket then and make an effort to get some of these things searchable.
19:37:45 [ruaok]
ijabz: 4. if nikki wrote her own implemnentation of it, its clear that people want this feature.
19:38:12 [ruaok]
Freso/ reosarevok: please enter tickets with the appropriate dependencies and we'll get these done.
19:38:25 [reosarevok]
Except that I have no idea what those are
19:38:25 [nikki]
* nikki is often just scratching her own itches :P but yes, that's one of the more popular things I did
19:38:30 [ruaok]
onward. postgresql as data api (ocharles)!
19:38:35 [reosarevok]
All I know is I want URL search, no idea what the dependencies are :p
19:38:44 [Freso]
* Freso neither
19:38:53 [ruaok]
reosarevok: MBS-209. in the mb-server.
19:38:59 [ruaok]
add a ticket for URL lookup.
19:39:01 [warp]
warp has changed the topic to: Agenda: out of date dependencies (ocharles), postgresql as data api (ocharles), deadlocks (ocharles), browser requirements (warp), mb hack day (ruaok)
19:39:10 [ruaok]
then have the URL search ticket depend on those two.
19:39:10 [warp]
ruaok: you're skipping one.
19:39:19 [ruaok]
its ocharles either way. :)
19:39:23 [ocharles]
ocharles has changed the topic to: Agenda: out of date dependencies (ocharles), postgresql as data api (ocharles), browser requirements (warp), mb hack day (ruaok)
19:39:25 [warp]
indeed.
19:39:26 [ijabz]
yeah sure, she also spoke about adding existence of cover art to release webservice lookup, but see no sign of that happening
19:39:28 [ocharles]
ok
19:39:47 [ocharles]
so one side effect of me having to reinstall my system was moving to arch, and having a non-working mb server because arch's perl is so recent
19:39:57 [ruaok]
ijabz: lets get these other things done first. they are older.
19:40:02 [ocharles]
i did a bit of investigating, and it turns out we have 180 outdated dependencies in our carton lock file
19:40:13 [ruaok]
oy.
19:40:16 [ocharles]
ya
19:40:25 [ocharles]
I'd like to start getting this number down, I wondered if anyone had any suggestions on a sane strategy?
19:40:31 [kepstin-work]
kepstin-work has joined #musicbrainz-devel
19:40:40 [ruaok]
sounds like we need to have an instance updated with all the latest stuff and then chase nikki to test that for us.
19:40:43 [warp]
ocharles: rm -rf local; rm carton.lock; carton install ?
19:40:51 [ruaok]
warp: pretty much.
19:40:58 [ocharles]
warp: the update itself is fine, it's just if we update to a completely broken set of dep,s then what?
19:41:12 [ocharles]
maybe I should do exactly that and stick it on beta
19:41:14 [warp]
ocharles: make sure the tests pass, then do this on beta.
19:41:22 [ruaok]
then we need to selectively downgrade packages until its not broken
19:41:34 [ocharles]
ok, I was going to be more cautionate, but I like the sound of this route :)
19:41:46 [Freso]
Caution? Ha!
19:41:53 [Freso]
You're on Arch now! >:D
19:41:56 [ocharles]
heh
19:42:09 [ruaok]
fucking hipsters.
19:42:21 [Freso]
(Though I guess Arch is slightly better in the "caution" department than Gentoo...)
19:42:21 [ruaok]
* ruaok hands ocharles a fixie
19:42:24 [ocharles]
pfft, ruaok is too old for arch
19:42:33 [ruaok]
GET OFF MY LAWN!
19:42:40 [ruaok]
ocharles: onward!
19:42:40 [ocharles]
Freso: actually, my arch box has felt less stable than gentoo, but that's another story
19:42:47 [ocharles]
ocharles has changed the topic to: Agenda: postgresql as data api (ocharles), browser requirements (warp), mb hack day (ruaok)
19:42:50 [Freso]
ruaok's still running RedHat...
19:42:55 [ocharles]
alright, this is a pretty big one...
19:42:56 [ruaok]
ha!
19:42:59 [ruaok]
no chance.
19:43:06 [warp]
ocharles: +1
19:43:08 [ocharles]
so with NES I have a working migration from old schema to NES schema
19:43:14 [Freso]
TinfoilHat Linux then. :p
19:43:18 [ocharles]
and the next challenge is getting our existing Perl API to talk to this
19:43:33 [ocharles]
as you all know, none of us particularly like Perl anymore, so I ideally don't want to write any more Perl
19:43:37 [ruaok]
where old schema is NGS. :)
19:43:52 [ocharles]
initial thoughts were doing data-as-a-service (ie a Python/"whatever" language server that we talk to)
19:44:04 [navap]
We need a better naming system then just prefixing everything with "New"
19:44:04 [Freso]
\o/
19:44:13 [ocharles]
but this felt too big for NES, so I've started leaning towards moving the majority of this heavy lifting to PostgreSQL itself
19:44:18 [ianmcorvidae]
now now, NGS was 'Next"
19:44:24 [Freso]
Yeah, we should propose a New New Naming System.
19:44:31 [navap]
+1 :)
19:44:43 [ocharles]
here's an example: https://gist.github.com/19b51cc05c51814fcbf3
19:44:44 [ocharles]
19:44:46 [ruaok]
* ruaok tuts everyone and asks them to pay attention to ocharles
19:45:16 [ocharles]
the Perl API becomes little more than a bunch of method calls that dispatch to the database, and marshal responses into Perl datatypes
19:45:24 [Freso]
* Freso is listening to ocharles and is joyously raised his arms just before: "21:44:04 Freso | o/"
19:45:45 [ianmcorvidae]
I like the idea generally, but it seems like moving this to postgresql severely limits who knows how to contribute to it
19:45:51 [ianmcorvidae]
marginally better than haskell, maybe, but :)
19:45:58 [ocharles]
well, lets look at the advantages
19:45:58 [ruaok]
lol
19:46:01 [navap]
ianmcorvidae: How is it more difficult?
19:46:11 [ianmcorvidae]
navap: pl/pgsql rather than perl
19:46:18 [warp]
ianmcorvidae: well, you have to take into account that the alternative is perl.
19:46:22 [ocharles]
we get more type safety, because PG dosen't have a half bad type system (what, no polymorphic adts? oh welllll)
19:46:27 [ianmcorvidae]
perl is annoying, but a lot of people know it
19:46:30 [ijabz]
I must say I have reservations, are we sure 1> There is no problem tieing ourselves inextreibly to postgres, 2> Moving sql code from application into database itself is a good idea
19:46:47 [ijabz]
If it was me I would just creating a layer/api between getting data from the database and mbserver itself, but keeping the sql in that new code layer, either keeping it as perl or moving to python or whatever you decide raher than moving to stored procedures.
19:46:54 [ocharles]
the only type of logic I want to move to the database is stuff without io side effects, so basically just SQL itself
19:47:14 [kepstin-work]
would replicating the db replicate updated sql statements? wouldn't they have to be tied to server version?
19:47:17 [kepstin-work]
how is that handled?
19:47:31 [ocharles]
kepstin-work: the replicated slaves just talk in tables
19:47:35 [ocharles]
they aren't really affected
19:47:49 [ianmcorvidae]
ocharles: but people running servers on top of those slaves do need these updated functions
19:47:50 [ocharles]
this is just something for musicbrainz-server to talk to
19:47:57 [kepstin-work]
but I want to run a musicbrainz server on the replicated db, so I need the matching functions
19:48:07 [ocharles]
ianmcorvidae: if they run the web site yes, but that's just the same as having to do git pull and update DBDefs etc
19:48:07 [ianmcorvidae]
I guess it's updated alongside codebase
19:48:13 [ocharles]
ie, it's just part of an upgrade process
19:48:22 [ocharles]
kepstin-work: you need matching Perl functions anyway
19:48:34 [kepstin-work]
so, bugfixes to the sql queries require a schema change release, then.
19:48:41 [ocharles]
no
19:48:56 [ocharles]
not quite a schema change
19:48:59 [ijabz]
FYI this was the SO post http://stackoverflow.com/questions/11342110/what-are-advantages-and-disadvantages-of-abstracting-our-database-behind-stored
19:49:12 [ocharles]
a schema change would be changing the actual API
19:49:21 [ocharles]
with PG you can replace function as long as their signature does not change
19:49:48 [kepstin-work]
so, would the functions be passed through the replication, or loaded into the db by the server code?
19:50:06 [ianmcorvidae]
they're parallel to server code, they'd have to be with that
19:50:10 [ocharles]
no, i'd just leave them in the codebase and deal with it with a normal git pull/documented deployment steps
19:50:13 [ianmcorvidae]
only data gets updated by replication
19:50:15 [ocharles]
yea
19:50:22 [kepstin-work]
ok, that makes sense
19:50:38 [ocharles]
the biggest downside i'm yet to solve is the beta server
19:50:54 [ocharles]
a change in the data api can no longer be isolated to just beta, which is the same problem i alluded to in the data types stuff earlier
19:51:04 [ruaok]
oh ick.
19:51:11 [ianmcorvidae]
we could create a bunch of prefixed functions for beta
19:51:16 [ocharles]
postgresql at least guarantees that the format of data in and out is the same
19:51:23 [ocharles]
ianmcorvidae: well, separate schema would make more sense
19:51:24 [ianmcorvidae]
i.e. beta's codebase knows to call beta_get_latest_artist_by_mbid
19:51:35 [ocharles]
beta.get_latest_etc
19:51:40 [ianmcorvidae]
fine, same idea
19:51:43 [ianmcorvidae]
namespace :)
19:51:54 [warp]
ocharles: and beta.foo would be able to touch the actual schema?
19:52:06 [ocharles]
it could if it had mirroring views into the original schema
19:52:11 [ocharles]
or something. i guess i'd have to investigate that more
19:52:19 [warp]
ok
19:52:33 [ocharles]
basically. I like this idea, but it doesn't fit hugely well into our practice. but Perl does not fill me with an inch of confidence anymore
19:52:44 [ruaok]
ocharles: agreed on perl.
19:52:51 [ruaok]
its a dead language as far as I can tell.
19:53:02 [ocharles]
it's not quite dead, but I don't see prospects for writing code I can trust in it
19:53:08 [ruaok]
I know that comment is going to haunt me at oscon next week, but that is ok.
19:53:12 [ocharles]
heh
19:53:14 [warp]
haha
19:53:16 [kepstin-work]
* kepstin-work would really like it if the display code and the data api could be separated somehow.
19:53:19 [ijabz]
wh y not the data-as-a-service (ie a Python) idea
19:53:27 [ocharles]
ijabz: we have to decide on a language
19:53:32 [kepstin-work]
i.e. bring the api to the point where the website could be implemented on top of it
19:53:33 [ocharles]
and tbh, python doesn't fill me with much more confidence
19:53:39 [kepstin-work]
C! ;)
19:53:43 [Freso]
PHP! :D
19:53:48 [Freso]
(No, I'm not serious...)
19:53:49 [ijabz]
well perhaps that what we should spend time doing
19:53:57 [ruaok]
I can see nothing but haskell is going inspire confidence.
19:54:03 [ocharles]
ruaok: not quite
19:54:06 [ruaok]
ok, lets move on.
19:54:11 [ocharles]
anything with a compile phase and a type system would do
19:54:13 [Freso]
!next
19:54:16 [ruaok]
we have two more topics and little time.
19:54:16 [warp]
warp has changed the topic to: Agenda: browser requirements (warp), mb hack day (ruaok)
19:54:19 [ocharles]
well, what are we doing here?
19:54:22 [ocharles]
should I carry on with a PG API?
19:54:24 [ijabz]
so whats the decision ?
19:54:28 [ocharles]
I'm basically blocked on NES work with this
19:54:40 [warp]
ocharles: +1 from me.
19:54:40 [ocharles]
the options are: PG as an API, Perl as API, $other_language as an API
19:54:50 [ruaok]
I dont think we've reached consensus yet, have we?
19:54:51 [ocharles]
warp: it does seem like the most practical
19:54:59 [ocharles]
PG is the one thing in our stack that I don't see changing any time soon
19:55:00 [ruaok]
I certainly do not have an opinon right now.
19:55:19 [ianmcorvidae]
I think PG is the best option of those without further research into possible $other_language options
19:55:39 [ocharles]
there's weeks of work I can do before i'm at a beta phase anyway
19:55:41 [ocharles]
(obviously)
19:55:48 [ijabz]
I think jumping into PG because we can't decide is a bad decision
19:55:52 [ruaok]
lets take this up again next week.
19:55:55 [warp]
* warp nods.
19:55:59 [ocharles]
i need to know how to carry on my work though
19:56:05 [ruaok]
in the meantime I can do some reading/pondering.
19:56:08 [ruaok]
work on bugs?
19:56:12 [warp]
I'll see if I can make this browser stuff quick.
19:56:20 [ocharles]
hm, i was hoping to do more nes work, but I guess I can
19:56:24 [ruaok]
I'm sure you can find something to work on.
19:56:31 [warp]
two weeks ago I looked at our browser usage in google analytics.
19:56:39 [ianmcorvidae]
* ianmcorvidae found twenty ISEs when I searched the other day, as I recall ;)
19:56:40 [ijabz]
doesn't seem to have been that many bug fixes in the last few releases
19:57:11 [ianmcorvidae]
ijabz: I've been taking on a lot, but there's been almost none from ocharles/warp, no
19:57:19 [ianmcorvidae]
ijabz: (and mine only started this release, so)
19:57:35 [Freso]
ISEs?
19:57:41 [ianmcorvidae]
internal server error
19:57:47 [Freso]
Right.
19:57:50 [ianmcorvidae]
i.e. the code crashed
19:57:54 [Freso]
Yeah.
19:58:24 [warp]
I'd like to propose we official support anything for which we see atleast 1% usage
19:58:43 [ruaok]
really? 1%?
19:58:46 [kepstin-work]
warp: what does the list look like?
19:58:50 [ruaok]
what does that equate to?
19:58:54 [warp]
which means Firefox 11+, Chrome 18+, Safari 5.1+, IE8+, Opera 11.64+
19:59:05 [ocharles]
it'd be nicer if we could make that 1% of active editors
19:59:09 [reosarevok]
Except that excludes nikki
19:59:11 [reosarevok]
and catcat
19:59:13 [reosarevok]
:p
19:59:21 [Freso]
+1 @ reosarevok
19:59:22 [Freso]
>_>
19:59:22 [ianmcorvidae]
1% by edits? :P
19:59:23 [ocharles]
can we filter logs by POST's and use user agent info there?
19:59:38 [nikki]
at least four of those won't even run on my macbook :P
20:00:01 [warp]
something I don't have any statistics on is javascript usage. afaik someone who doesn't have javascript enabled is not tracked by google analytics.
20:00:02 [ocharles]
warp: IE6 is < 1%?
20:00:09 [warp]
ocharles: yes. IE7 as well.
20:00:12 [ocharles]
impressive
20:00:33 [ruaok]
wow.
20:00:36 [warp]
but I would still propose we don't actively support users with javascript disabled.
20:00:39 [nikki]
how is usage counted? unique ip address or unique hits?
20:00:39 [ruaok]
congratulations everyone.
20:00:43 [ocharles]
:)
20:00:48 [kepstin-work]
warp: hmm.
20:00:49 [ruaok]
we're not haunted by idiots. :)
20:01:10 [warp]
nikki: visitors in google analytics. (which is neither of the criteria you mention).
20:01:13 [kepstin-work]
so that makes my 'some editing functionality fails with javascript disabled" ticket a wontfix, then?
20:01:13 [ruaok]
I am ok with this list, but would like to see opera low enough to include nikki and catcat
20:01:16 [nikki]
(since I have google analytics blocked, so I won't be included in those results anyway)
20:01:25 [warp]
kepstin-work: yes.
20:01:47 [warp]
nikki: which opera are you using?
20:01:53 [kepstin-work]
warp: then you should make sure to put in error pages in the appropriate places so that it doesn't look like it might work :)
20:01:58 [nikki]
10.10 on my macbook, 10.63 on my mini
20:02:05 [kepstin-work]
the forms should be unsubmittable without javascript.
20:02:17 [warp]
ruaok: ok
20:02:27 [kepstin-work]
and even so, javascript should not be the only place where validation is done
20:02:34 [ruaok]
anyone have any objections to this?
20:02:36 [kepstin-work]
all data must *also* be validated on the server.
20:02:36 [warp]
any consensus on dealing with the javascript disabled people?
20:02:39 [nikki]
(and catcat uses 10.00)
20:02:48 [kepstin-work]
warp: I'm fine with editing requiring javascript.
20:02:54 [ruaok]
warp: throw them overboard and toss a teletype after them?
20:02:58 [warp]
kepstin-work: I'm talking about the entire site.
20:03:13 [kepstin-work]
warp: the viewing part *must* work without javascript.
20:03:17 [warp]
kepstin-work: why?
20:03:18 [reosarevok]
kepstin-work, +1
20:03:22 [ruaok]
kepstin-work: +1
20:03:24 [ianmcorvidae]
I think that list seems reasonable, and I'm fine with making edits fail without JS as long as we can write bots to work around it :)
20:03:25 [ruaok]
yeah. it must.
20:03:26 [kepstin-work]
warp: among other things, search engines.
20:03:39 [warp]
ok
20:03:43 [kepstin-work]
people browsing using tor with noscript
20:03:46 [kepstin-work]
who knows.
20:04:01 [ruaok]
ok, then it sounds like we have consensus around:
20:04:11 [ruaok]
we support: Firefox 11+, Chrome 18+, Safari 5.1+, IE8+, Opera 10+.
20:04:19 [ruaok]
javascript must be enabled for editing.
20:04:22 [ruaok]
that sound right?
20:04:25 [warp]
yes.
20:04:27 [ocharles]
that sounds good to me
20:04:31 [ruaok]
me too.
20:04:46 [kepstin-work]
my friend using firefox 3 will be annoyed, but he doesn't edit much anyways :)
20:04:51 [ruaok]
lets make that into a wiki page and mark it as official.
20:04:55 [Freso]
Hold on.
20:04:59 [ruaok]
we should review this list at least once a year.
20:05:00 [Freso]
Was AFK for a sec.
20:05:09 [Freso]
Why are we disabling editing for people w/o JS?
20:05:10 [warp]
* warp nods.
20:05:16 [ianmcorvidae]
Freso: it already basically doesn't work
20:05:22 [ruaok]
good point. :)
20:05:26 [kepstin-work]
right now it doesn't work, but it looks like it might work
20:05:27 [warp]
ruaok: ok, I'll put it on a wiki page and post to mb-devel.
20:05:30 [ruaok]
last point in over time!
20:05:32 [Freso]
ianmcorvidae: But why are we making a policy of it then, instead of fixing it?
20:05:39 [ruaok]
ocharles: what happened to the online MB hack day?
20:05:56 [kepstin-work]
Freso: because making the release editor work without javascript is not something that people want to spend development time on.
20:05:58 [ruaok]
Freso: it is not reasonable to make an edit system with JS.
20:05:59 [ianmcorvidae]
Freso: because that would be a gigantic amount of work to fix a very edge-casey problem
20:06:01 [ruaok]
its just bogus.
20:06:03 [Freso]
* Freso disagrees with making the web less accessible
20:06:14 [ruaok]
we're not making the web less accessible.
20:06:29 [ruaok]
we're making editing MB as accessible as it is now
20:06:30 [kepstin-work]
javascript can actually help accessibility, if done well
20:06:38 [kepstin-work]
(for example, not like the release editor)
20:06:52 [ruaok]
sounds like ocharles checked out already.
20:06:56 [ianmcorvidae]
actually, more accessible, since once we've decided on this we can make things actually fail when they should fail
20:06:58 [ruaok]
lets just close then.
20:06:58 [warp]
haha
20:06:59 [ocharles]
i'm right here
20:07:07 [ocharles]
ruaok: I'm waiting for a confirmation of dates
20:07:07 [Freso]
kepstin-work: Not if you have e.g. a TTS/TTB browser. I don't think they can handle JS at all.
20:07:07 [ruaok]
ocharles: what about the hack day?
20:07:14 [warp]
warp has changed the topic to: Agenda: mb hack day (ruaok)
20:07:17 [ruaok]
ocharles: have you looked at the wiki page?
20:07:18 [ocharles]
unless you've filled in those blanks?
20:07:25 [ruaok]
I confirmed them a long time ago and pinged you on it.
20:07:30 [ocharles]
ok, i missed that ping
20:07:35 [ocharles]
I'll get moving on stuff then
20:07:37 [ruaok]
k
20:07:39 [ruaok]
great.
20:07:40 [ocharles]
thanks for looking at that1
20:07:41 [ocharles]
!
20:07:42 [ruaok]
sorry for going over time.
20:07:49 [ruaok]
thanks for your time everyone!
20:07:51 [ruaok]
</BANG>
20:07:51 [MBChatLogger]
MBChatLogger has changed the topic to: http://musicbrainz.org/#devel
20:07:54 [warp]
thank you ruaok!
20:07:54 [kepstin-work]
http://tickets.musicbrainz.org/browse/MBS-809
20:08:33 [kepstin-work]
so, I guess that should be closed WONTFIX then, eh. ^^
20:08:39 [nikki]
ocharles: btw, the ISEs are still there
20:08:47 [ocharles]
the transaction ones?
20:08:53 [warp]
kepstin-work: yes.
20:08:56 [nikki]
yes
20:10:14 [Freso]
:(
20:10:32 [ocharles]
nikki: ok, something looks broken on beta but i don't think i'll be able to address it today, i'll try and focus on it tomorrow morning
20:10:33 [ocharles]
sorry :(
20:10:48 [ocharles]
there are 3 failed transaction connections on totoro
20:51:51 [ianmcorvidae]
ocharles: if you're still up, you mention tests on http://codereview.musicbrainz.org/r/2031/, but that's shipped -- should I do a new branch for the tests, or put them on the old one?
20:58:11 [ocharles]
fail at shipping today
20:58:34 [ianmcorvidae]
well, you did give that one a shippit :)
20:58:38 [ocharles]
oh :)
20:58:41 [ocharles]
same branch then please
20:58:43 [ianmcorvidae]
okay
20:58:55 [ianmcorvidae]
I'll add some more tests for MB::S::Track too, seems we have none at present
21:04:32 [ianmcorvidae]
ocharles: okay, mbs-4833-track-digits-ISE is updated
21:04:48 [ianmcorvidae]
I also uploaded the new diff, but since the codereview's closed it probably doesn't matter :)
21:12:14 [djce]
djce has joined #musicbrainz-devel
21:20:45 [Freso]
So... what's the deal with codereview?
21:21:07 [ianmcorvidae]
hm?
21:21:23 [Freso]
How does it work etc.
21:21:31 [ianmcorvidae]
work in what way, though?
21:22:06 [reosarevok]
hahaha
21:22:16 [Freso]
I don't know. How is it supposed to work? :) You submit code, someone else reviews it? Are tests run against it?
21:22:17 [reosarevok]
Today's the "find Freso's questions vague" day
21:22:23 [ianmcorvidae]
ah :P
21:22:31 [ianmcorvidae]
so the way it works is
21:22:51 [ianmcorvidae]
you put stuff up, others review it
21:23:03 [ianmcorvidae]
eventually ocharles decides it's gotten enough shippits without complaints to get shipped
21:23:05 [ianmcorvidae]
ocharles ships it
21:23:26 [ianmcorvidae]
http://wiki.musicbrainz.org/Development/Beta_Cycle for the merge process
21:23:28 [ocharles]
(note it doesn't have to be ocharles, but that's just how things tend to play out)
21:23:29 [ruaok]
djce: I'm working to get the KVm switch racked.
21:23:47 [ruaok]
sad thing is, I need a RJ-45 to DB-9 cable that no one carries anymore. sigh.
21:23:53 [ianmcorvidae]
ocharles: yeah, I guess warp sometimes merges his own stuff, but I've never had anything merged by anyone but you, so :P
21:24:22 [ianmcorvidae]
Freso: you may find http://wiki.musicbrainz.org/Image:Beta_flowchart.png more understandable, I certainly did (hence my making it :P)
21:25:25 [ianmcorvidae]
Freso: tests get run automatically on master and beta (beta being what your stuff is likely to get shipped to)
21:25:27 [Freso]
reosarevok: Did you make the ticket stuff btw?
21:25:32 [ianmcorvidae]
however, running tests for yourself is generally better :)
21:25:58 [reosarevok]
Freso: not really. I got given a link to some ticket about annotations that seemed unrelated, had no idea what to add and kinda forgot
21:26:06 [reosarevok]
ianmcorvidae, would you kindly? 8)
21:26:16 [ianmcorvidae]
make them, or remind you?
21:26:18 [reosarevok]
* reosarevok is in the middle of a horrible 30xCD merge
21:26:21 [Freso]
Nah, I'll add them.
21:26:22 [reosarevok]
Make them if possible
21:26:28 [reosarevok]
Or remind Freso if he needs help then :p
21:26:30 [ianmcorvidae]
k, Freso can do it, that works :P
21:26:42 [Freso]
I just need to go through the backlog and find that other ticket.
21:26:55 [ianmcorvidae]
mbs-209 is the one they linked, but I don't know why
21:27:13 [Freso]
209.
21:27:23 [Freso]
ianmcorvidae: :)
21:27:33 [ianmcorvidae]
* ianmcorvidae remembers random numbers really well :P
21:27:51 [Freso]
I think it was the one ijabz brought up. I'll give it a look and see if it makes sense.
21:28:20 [ianmcorvidae]
mostly it has nothing to do with annotations :P
21:28:23 [ianmcorvidae]
er
21:28:23 [ianmcorvidae]
with URLs
21:28:26 [ianmcorvidae]
because it's about annotations
21:28:46 [Freso]
Yeah, but I see how it's related.
21:28:48 [Freso]
Alright then.
21:28:54 [Freso]
* Freso cracks knuckles
21:29:10 [Freso]
ouch...
21:30:00 [ijabz]
ijabz has joined #musicbrainz-devel
21:46:05 [murdos]
anyone knows when new cover art types (tray and sticker) will be available?
21:46:21 [ianmcorvidae]
murdos: presumably as soon as someone with production DB access puts them in
21:46:29 [ocharles]
ruaok: can we coordinate this now?
21:46:45 [ruaok]
what do we need to do?
21:46:50 [ruaok]
add rows, restart cache?
21:47:03 [ianmcorvidae]
yup, that exactly
21:47:11 [ruaok]
* ruaok logs into dora
21:47:11 [ianmcorvidae]
there's also a language that needs enabling IIRC
21:47:23 [reosarevok]
That there is :)
21:47:24 [ocharles]
yea, that
21:47:39 [reosarevok]
http://tickets.musicbrainz.org/browse/MBS-4990 if it's the right moment
21:47:40 [ocharles]
can you paste relevant ticket links?
21:47:41 [ocharles]
heh
21:47:50 [ruaok]
* ruaok is ready.
21:47:55 [reosarevok]
http://tickets.musicbrainz.org/browse/MBS-4940
21:48:04 [ianmcorvidae]
http://tickets.musicbrainz.org/browse/MBS-4986
21:48:10 [reosarevok]
http://tickets.musicbrainz.org/browse/MBS-4986
21:48:12 [reosarevok]
meh
21:48:17 [reosarevok]
Go fix bugs instead!
21:48:21 [reosarevok]
:)
21:48:47 [ianmcorvidae]
I already had the search open for the query "internal server error", so it was fast :P
21:49:02 [murdos]
ianmcorvidae: I know that :) reosarevok was already requesting them earlier in the day, and I heard they should have been added with the release
21:49:11 [ianmcorvidae]
ah :)
21:49:39 [reosarevok]
murdos: nah, I *hoped* they would be added with it. Not the same
21:49:47 [reosarevok]
anyway, we're getting them so let's rejoice etc
21:50:54 [ocharles]
ruaok: Can you kick it? (Yes you can!)
21:51:05 [ocharles]
* ocharles plays some A Tribe Called Quest
21:51:08 [ruaok]
I can!
21:51:09 [ruaok]
and did.
21:51:24 [ocharles]
i love how underused our cache is if we can just flat out restart it and not have any problems
21:51:50 [ocharles]
reosarevok, ianmcorvidae, murdos : all good?
21:52:20 [murdos]
not really... Caught exception in MusicBrainz::Server::Controller::Release->edit_cover_art "Can't call method "types" on an undefined value at lib/MusicBrainz/Server/Controller/Release.pm
21:52:21 [reosarevok]
The language is there at least :)
21:52:21 [ruaok]
ocharles: it should handle a restart fine.
21:52:27 [ruaok]
and it does.
21:52:36 [ianmcorvidae]
sticker and tray are there too
21:52:42 [ianmcorvidae]
after one transaction-aborted ISE on beta :P
21:52:59 [ocharles]
ruaok: if you're using a cache effectively, losing your entire cache should significantly change load
21:53:04 [ocharles]
but in our case it doesn't really make a difference :)
21:53:15 [murdos]
ok, forget the ISE, it was my fault :)
21:53:17 [ruaok]
ocharles: yes, understood.
21:53:22 [ocharles]
murdos: oh, what was wrong?
21:53:28 [murdos]
(editing a canceled cover art :p)
21:53:33 [ocharles]
ah, heh :)
21:53:35 [ruaok]
but even in NGS when we were better, it took quite some time to notice a missing cache.
21:53:40 [ruaok]
its not as instant as you think it is.
21:53:57 [ocharles]
ruaok: ah. i'm just impressed that we cache so little, and pretty much tick along ok in terms of that load
21:54:02 [ocharles]
postgresql continues to blow my mind
21:54:09 [ruaok]
yep.
21:54:49 [ocharles]
http://stats.musicbrainz.org/mrtg/drraw/drraw.cgi?Mode=view;Template=1196204920.6439;Base=%2Fvar%2Fwww%2Fmrtg%2F%2Fasterix_disk-physicalmemory.rrd
21:54:55 [ocharles]
hmm asterix physical memory usage dropped at the last update
21:55:06 [ocharles]
same with astro and pingu
21:55:28 [ocharles]
though they are climbing, maybe they just take a while to fill up
21:55:37 [ruaok]
yep.
21:55:41 [ocharles]
pingu climbing more than the others though
21:55:45 [ianmcorvidae]
doesn't look like any more drop than previous releases to me
21:55:48 [ruaok]
it always does as the historical graphs show.
21:56:01 [ocharles]
* ocharles looks
21:56:14 [ruaok]
ocharles: we should give our clients more RAM to use before nuking them.
21:56:29 [ruaok]
450mb perhaps?
21:56:35 [ruaok]
that will further reduce our load.
21:56:39 [ocharles]
well this comes back to what we were discussing before - more ram, or more workers
21:57:00 [ruaok]
more ram to reduce churn.
21:57:04 [ruaok]
then more workers.
21:57:15 [ocharles]
i'd still like to know exactly what that churn is
21:57:21 [ocharles]
but I suppose we could up the ram anyway in the meantime
21:57:38 [ocharles]
might as well make use of that free spcae
21:57:50 [murdos]
ocharles: I have a question regarding postgres queuing: what will we end up using pgq or aqmp?
21:57:56 [ruaok]
I did a cursory inspection and going from 350 -> 400 reduced the churn a bit.
21:58:06 [ocharles]
murdos: it depends what for
21:58:12 [ocharles]
but my personal preference at the moment is rabbitmq
21:58:31 [ocharles]
but we are actually using PgQ only, atm
21:58:39 [murdos]
I think we should only be using one of those at tend
21:58:42 [murdos]
at end
21:59:01 [ocharles]
that'd probably be best. i'm really inexperienced with queueing in general
21:59:03 [murdos]
and I prefer aqmq too
21:59:10 [ocharles]
i just like rabbitmq because I can get <1ms messages out
21:59:17 [ocharles]
PgQ has a minimum of 1s latency
21:59:53 [ocharles]
and rabbitmq has some fantastic monitoring tools. in bookbrainz I can request stuff to be reindexed by the search server directly in the rabbitmq admin page by just pasting a uuid in
21:59:53 [murdos]
do you know if AMQP supports grabbing batches of messages?
22:00:06 [ocharles]
it sort of does
22:00:19 [ocharles]
With RabbitMQ you can set 'prefetch' on clients, so they will constantly recieve messages even if they are busy
22:00:34 [ocharles]
but I don't think you can request an array of messages
22:00:49 [ocharles]
but I guess you kind of wouldn't want to, because that would be a non-deterministic blocking operation
22:01:35 [ocharles]
my experience with AMQP is to have a callback that fires whenever a message is ready to be processed, and the worker thread is idle
22:01:45 [ocharles]
you could always have an in-process memory queue if you wanted to work in batches
22:01:57 [murdos]
ok. I'll possibly write an AMQP compatible search indexes updater
22:02:18 [ocharles]
i have a few bits and pieces lying around if you want to pick up some of my work
22:02:55 [ocharles]
https://github.com/ocharles/varnish-cache-invalidation/blob/master/README.md "Usage" section there has a few functions to emit row changes to rabbitmq
22:03:06 [murdos]
I think I already looked at the database part of it, but I forgot where was the code
22:03:08 [ocharles]
and links to pg_amqp project, which is really nice (it does 2 phase commits)
22:03:15 [murdos]
ah, yeah, it was that! thanks
22:04:39 [ocharles]
ruaok: so, want me and warp to poke memory limits tomorrow and see if we can get more memory usage?
22:10:03 [ruaok]
sure
22:11:57 [Freso]
reosarevok: I'll have to do it tomorrow. My forehead's about to meet the keyboard...
22:12:28 [Freso]
g'night!
22:12:33 [Leftmost]
In a casual setting or formal introduction? :P
23:08:42 [demosdemon]
jdamcd: ping
23:29:30 [Leftmost]
Leftmost has joined #musicbrainz-devel
23:29:30 [Leftmost]
Leftmost has joined #musicbrainz-devel
23:30:43 [ruaok]
ruaok has joined #musicbrainz-devel
23:50:22 [hawke_2]
hawke_2 has joined #musicbrainz-devel