ocharles: when you return.. I think we may want to make lolo a READ ONLY DB slave, so we can spread the load a little.
2013-04-10 10042, 2013
ruaok
pgbouncer can help with that right?
2013-04-10 10023, 2013
Prophet5 joined the channel
2013-04-10 10016, 2013
ruaok joined the channel
2013-04-10 10026, 2013
ruaok
ocharles: ping
2013-04-10 10028, 2013
ocharles
ruaok: pong, free in ten minutes just on the phone atm
2013-04-10 10041, 2013
ruaok
k
2013-04-10 10009, 2013
ocharles
but I don't think pgbouncer can help with that
2013-04-10 10014, 2013
ruaok
I know people use this configuration. how do we do that?
2013-04-10 10021, 2013
ruaok
if you can look into that, that would be awesome.
2013-04-10 10031, 2013
ruaok
I will head to DWNI to start on pingu and totoro.
2013-04-10 10042, 2013
nikki
ocharles: apparently the caa.org/beta/ urls don't work
2013-04-10 10027, 2013
ocharles
ruaok: you need your code to know when it's only doing read only work
2013-04-10 10007, 2013
ruaok
I wonder if we take the most popular ws/2 call and point it elsewhere? would that help?
2013-04-10 10009, 2013
ruaok
ocharles: think about it.
2013-04-10 10013, 2013
ruaok
I;m heading to DWNI
2013-04-10 10030, 2013
ruaok
if you need me, use gtalk mayem@ plz
2013-04-10 10039, 2013
ocharles
ruaok: i have thought about it, it's a hard problem :)
2013-04-10 10020, 2013
warp
nikki: fixed.
2013-04-10 10040, 2013
nikki
warp: thanks
2013-04-10 10049, 2013
warp
the easiest would be to run a seperate musicbrainz-server, point that at read only. and do the routing in nginx.
2013-04-10 10020, 2013
warp
(if we can identify a certain class of webservice requests which are always read only)
2013-04-10 10002, 2013
warp
ocharles: I guess an authenticated webservice request will need to write last_login_date
2013-04-10 10005, 2013
kepstin-work
iirc, there's really only a couple ws calls that aren't read-only, right?
2013-04-10 10006, 2013
nikki
wouldn't all GETs be read-only?
2013-04-10 10014, 2013
warp
(or however the column is called)
2013-04-10 10019, 2013
kepstin-work
stuff like the isrc submission, etc.
2013-04-10 10038, 2013
warp
nikki: quite possibly not if they're authenticated.
2013-04-10 10050, 2013
kepstin-work
I mean, it's not like we have an editable webservice :)
2013-04-10 10004, 2013
nikki
I thought ian said we're not using last_login_date now?
2013-04-10 10016, 2013
kepstin-work
oh, right, most queries can be authenticated to get user tags :/
2013-04-10 10032, 2013
warp
kepstin-work: they can even be authenticated if the authentication isn't used for anything.
2013-04-10 10004, 2013
kepstin-work
i suppose picard probably just authenticates all requests if you give it a user account, eh
2013-04-10 10008, 2013
warp
kepstin-work: so just checking for inc=user-tags isn't enough.
2013-04-10 10031, 2013
warp
if the last_login thing isn't updated, it shouldn't matter.
2013-04-10 10039, 2013
kepstin-work
can you detect any headers added for authentication, maybe?
2013-04-10 10047, 2013
nikki
when he checked the other day, it hasn't been updating it since we released ngs
2013-04-10 10056, 2013
kepstin-work
since all write calls need authentication
2013-04-10 10012, 2013
nikki
and if it's taken 2 years for anyone to notice, it doesn't seem very useful anyway :P
2013-04-10 10019, 2013
warp
yes, I think we can route based on /ws/2 + no authentication headers. in theory.
2013-04-10 10045, 2013
warp
nikki: it was just put to use in the whole password reset fuss.
2013-04-10 10035, 2013
nikki
I said "not very useful", not "not at all useful" :P
2013-04-10 10010, 2013
ocharles
last_login_date is updated since the password problems
2013-04-10 10013, 2013
warp
I do not acknoledge this theory of usefulness not being binary ;)
2013-04-10 10051, 2013
ocharles
anyway, yes, it's obviously easy to say "just make non-authenticated GETS load balance" but I'd like a stricter heuristic
2013-04-10 10001, 2013
nikki
warp: that's your problem then :P
2013-04-10 10019, 2013
ocharles
I'd /really/ like to have decent effect typing in the data layer to say "this is a read only transaction" which would fail at compile time if you try and write inside it
2013-04-10 10009, 2013
warp
ocharles: right. but mb server is not written in haskell :)
2013-04-10 10020, 2013
ocharles
warp: and that is why I haven't done any work on this :)