/srv/irclogs.ubuntu.com/2013/01/07/#launchpad-dev.txt

mwhudsonwgrant: is this the form of replication that lp uses? http://www.postgresql.org/docs/9.1/static/warm-standby.html#STREAMING-REPLICATION00:07
wgrantmwhudson: Yes00:07
wgrantIt works excellently, though it's somewhat arcane at times00:08
mwhudsonit's postgres, i think that last bit is implied00:08
wgrantAnd it's not meant to be possible to demote the master to a slave without rebuilding, but we do it anyway with a bit of evil.00:09
wgrantHopefully it'll be a bit better in 9.3, but it works very well once you work it out00:09
wgrantA tonne less annoying than slony00:09
mwhudsonwgrant: can you restore a slave from a backup that's say about 24 hours old and have it catch up from the master?00:09
wgrantmwhudson: Um, sort of.00:10
wgrantIt can't be a pg_dump backup00:10
wgrantIt has to be a backup of the raw data files00:10
mwhudsonah00:10
wgrantAnd you have to have WAL retention set high enough00:10
mwhudsonyeah, that last bit was the thing that was starting to scare me a little00:11
mwhudsonwell not scare me00:11
mwhudsonintimidate me with the prospect of reading a lot more documentation00:11
wgrantOnce we have enough disk space around we're planning on moving away from pg_dump backups00:11
wgrantJust rsync the data dir to a backup volume, and keep WAL for weeks00:11
wgrantLets you easily bring on a new replica, plus gives you arbitrary PITR for DR.00:11
mwhudsonhmm00:12
mwhudsonhmm00:12
wgrantFor a less insane DB it's probably worth doing both from the start00:12
mwhudsonthe reason I'm wondering about this is that i want to move pg off a server temporarily while we upgrade00:12
mwhudsonso maybe i don't need replication at all (a little downtime is ok)00:13
wgrantYeah, probably better to take the few minutes of downtime in that case00:13
mwhudsonwe could just rsync the data dir from one server to the backup00:13
wgrantIf you have an existing replication setup then sure00:13
mwhudsonstop the db, rsync again, bring up the backup00:13
mwhudsonupgrade the original server00:13
mwhudsonstop the back up pg, rsync back to the original server and start things up again00:14
wgrantOr just have the service down for the 5 minutes that it takes to upgrade the original server?00:15
mwhudsonwgrant: i mean os upgrade00:15
wgrantSo do I :)00:16
mwhudsonnot expecting that to take 5 minutes00:16
mwhudsonhm00:16
wgrantThis isn't Windows or a pandaboard or a desktop, so it should usually be pretty fast, but I guess it depends00:16
mwhudsonI guess i'm a bit paranoid00:18
wgrantThat's always good, but sometimes not justified depending on the particular service00:18
StevenKwgrant: Does https://code.launchpad.net/~stevenk/launchpad/destroy-pylint-comments/+merge/142053 frighten you?02:58
wgrantStevenK: Naturally03:10
StevenKwgrant: Is that code for 'self-review that, damn it' ?03:14
wgrantNo03:14
wgrantNearly done03:14
wgrantStevenK: Done03:17
StevenKwgrant: Can you glance at the changes in r16406 for that branch to see if I missed something?03:40
wgrantStevenK: Can you just read through the new revision diffs and remove the many comments that are now obsolete?03:41
StevenKI already did that before commiting, I'm wondering if I missed something03:42
StevenKr16406 only changed 36 files03:42
wgrant # A zope interface doesn't have self as a parameter for its methods.03:43
wgrant- # pylint: disable-msg=E021103:43
wgrant # This class should know about the private _window attribute.03:43
wgrant- # pylint: disable-msg=W021203:43
wgrant # We are deliberately not calling PullerWorkerProtocol.__init__:03:43
wgrant- # pylint: disable-msg=W023103:43
wgrant # We know we are not using dirnames.03:43
wgrant- # pylint: disable-msg=W061203:43
wgrant # The super constructor is a no-op.03:43
wgrant- # pylint: disable-msg=W023103:43
wgrant- # pylint thinks this raises None, which is clearly not03:44
wgrant- # possible. That's why this test disables pylint message03:44
wgrant# E0702.03:44
StevenKwgrant: So it seems getUtility(IPackageDiffSet).getDiffsToReleases(sprs, preload_for_display=True) preloads the LFAs and LFCs, but the page goes ahead and queries again anyway. Surely it should be cached since it's just a key lookup?03:57
wgrantStevenK: Right, you'll need to work out why they're not03:58
StevenKHmm, looks like the LFA ids are not the ids from the packagediff query04:03
* StevenK peers closer04:03
StevenK(Pdb) lfa.filename04:06
StevenKu'filename-100051'04:06
* StevenK facepalms04:06
wgrantHmmmm?04:09
StevenKI'm poking around in the DB for that id, so I can work out what it is04:10
StevenKIt isn't a SPRF, BPF or a PackageDiff04:10
wgrantAh04:10
wgrantCheck the traceback on the query?04:10
StevenKThe test isn't giving a traceback04:11
wgrantIf it's a query count test then the statement collector will have tracebacks04:12
StevenKAH HA04:12
StevenKIt's the files from the PUCs04:13
wgrantStevenK: https://code.launchpad.net/~wgrant/launchpad/bfj-mixin/+merge/14205504:19
StevenK170+class TestBuildFarmJobBase:04:21
StevenKAnd then you call super() ?04:21
wgrantI didn't write that, but yes, it's fine to call super() in a class with no superclasses04:22
wgrantBecause of multiple inheritance, there still may be classes further up the MRO04:22
wgrantOtherwise if I inherit from (TestBuildFarmJobBase, TestCaseWithFactory) it might not go all the way up04:23
StevenK417# The url of the upload log file is determined by the PackageBuild.04:23
StevenKThat comment is sort of wrong now, no?04:23
wgrantThe tests are all very strange now04:24
wgrantI just needed them to pass04:24
wgrantThey'll obviously need to be significantly reworked over the next couple of days when PackageBuild and BuildFarmJob cease to exist :)04:24
StevenKYeah04:24
StevenKNiggle dropped, since you'll need to revisit the tests, r=me04:25
wgrantThanks04:25
wgrantStevenK: Why's the invalidate in getDiffTo?04:50
StevenKBecause that creates a PackageDiff?04:50
wgrantNo04:50
wgrantThat's a selectOneBy04:50
wgrantYou might mean requestDiffTo04:51
StevenKYeah, I've just shifted it04:51
wgrantGreat04:51
StevenKAny other issues?04:51
wgrantDoesn't look like it04:52
wgrantDoes it work?04:52
wgrantHave you tested the query count on DF?04:52
StevenKI've seen appreciable drops in the query count from the tests04:53
StevenKI can cowboy it onto DF04:53
wgrantRight, but it's worth a cowboy to see that you've actually caught everything04:53
StevenKwgrant: +queue ==  At least 56 queries/external actions issued in 0.99 seconds05:22
wgrantStevenK: Checked various Done pages?05:22
StevenKJust loading Done05:22
StevenKWhich timed out05:22
StevenKAt least 66 queries/external actions issued in 12.24 seconds05:23
wgrantWhat are the extra 10?05:24
StevenKReload gets us to 3.2605:24
StevenKwgrant: Checking the query log without JS?05:25
StevenKYou evil man05:25
wgrantBecause Firefox and Chromium have become stupid, you might need to select the entire page content and View Selection Source05:25
wgrantBecause View Source seems to reload the page without cookies05:25
StevenKUgh05:27
wgrantStevenK: https://code.launchpad.net/~wgrant/launchpad/minimise-bfj-interfaces/+merge/14205805:32
bigjoolswtf does view source even reload the page ...05:33
wgrantIt's possible that IPackageBuildDB will need build_farm_job_id, but I don't think so05:33
wgrantbigjools: Probably because LP sets no-cache, and browsers are retarded05:33
wgrantAlthough do we actually set no-cache nowadays...05:33
StevenKItems in the NEW queue have no SPRs and so a portition of the preloading is skipped?05:34
wgrantThey have SPRs05:36
wgrantBut no SPPHs05:36
wgrantBut +queue shouldn't care about SPPHs except for detecting newness05:36
StevenKAh ha05:36
StevenKNo binaries for source in NEW05:37
StevenKwgrant: http://pastebin.ubuntu.com/1505886/ is a diff between the queries05:39
StevenKBetween the query logs, even05:39
wgrantWell05:41
wgrantObvious one is sections05:41
wgrantAre you failing to preload binary sections, perhaps?05:41
StevenKI don't grab bprs at all, so likely05:41
* StevenK shovels more coal into mawson05:45
wgrantWhile you're waiting for it to run 'bzr st' you can review my branch :)05:46
StevenKI have05:46
wgrantOh, so you have05:46
wgrantStevenK: Hideous!?05:47
StevenKRight, NEW is now 58, and DONE is 62.05:47
wgrantWe only have IBuildFarmJob, IBuildFarmJobOld and IBuildFarmJobDB05:47
wgrantI don't know WHAT you are talking about05:47
wgrantWhat did you change?05:47
StevenKload_referencing(BPR) and load Section for sprs + bprs05:49
StevenKwgrant: I can diff the query logs again if you wish05:51
wgrantAha05:52
wgrantAre you sure the BPRs weren't already loaded somewhere?05:52
wgrantIt already preloads the BPFs05:52
wgrantPossibly directly05:52
wgrantIt may be worth replacing that prejoin05:53
StevenKThat's inside the browser code, I can rip that out if you wish05:53
StevenKBut it's a bit disgusting and it links into CPU05:53
StevenKSo I'm hoping I can leave it alone05:53
StevenKOr I could just preload the BPR sections in the browser code05:54
wgrantWell, SQLObject prejoins are thoroughly deprecated anyway, so it'd be nice to eliminate it if it's easy05:55
wgrantAnd I suspect it would be cleaner given all the other preloading you're doing now05:56
StevenKIt's calling into IBinaryPackageFileSet.getByPackageUploadIDs05:56
wgrantOh god why05:56
wgrantIt may be worth eliminating that method05:56
wgrantRather than double-querying the BPrs05:56
wgrant(Since that obviously joins through them, though it might not actually grab them)05:57
StevenKbrowser/queue is the only callsite05:57
StevenKAnd some hideous doctest05:57
wgrantKill05:57
wgrantCrush05:57
wgrantDestroy05:57
StevenKWITH FIRE05:57
StevenKwgrant: Haha, IBinaryPackageFileSet and ISourcePackageReleaseFileSet only have stuff used by that page06:05
StevenKSo I can delete the whole interface and model classes06:05
* wgrant loses06:06
wgrantExcellent06:06
StevenKNEW = 65 and DONE = 7206:33
wgrantStevenK: Nice easy one if you're still around: https://code.launchpad.net/~wgrant/launchpad/no-+buildjob-redirect/+merge/14206608:20
=== almaisan-away is now known as al-maisan
StevenKwgrant: Was distracted by Orks in SM, but r=me08:46
wgrantThanks08:52
=== teknico_away is now known as teknico
=== al-maisan is now known as almaisan-away
=== benji changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On-call reviewer: benji | Firefighting: - | Critical bugs: <150
czajkowskimgz: best place to send someone intersted in bzr community disucssions?14:34
=== slank_away is now known as slank
=== almaisan-away is now known as al-maisan
=== salgado is now known as salgado-lunch
mgzczajkowski: the mailing list?15:24
czajkowskimgz: ah yes what is the sign up page for that15:26
czajkowskiit's not n the signature of the list15:26
mgzit's on lists.ubuntu.com15:26
mgzlinked from the main page15:26
czajkowskiah15:29
czajkowskicheers15:29
=== slank is now known as slank_away
=== slank_away is now known as slank
=== salgado-lunch is now known as salgado
=== gary_poster is now known as gary_poster|away
=== gary_poster|away is now known as gary_poster
=== al-maisan is now known as almaisan-away
=== gary_poster|away is now known as gary_poster
=== teknico_ is now known as teknico
=== deryck is now known as deryck[lunch]
=== teknico_ is now known as teknico
=== deryck[lunch] is now known as deryck
=== Ursinha_ is now known as Ursinha
dobeyanyone have any idea what might cause the dailydeb issues happening in https://launchpadlibrarian.net/127602321/buildlog.txt.gz ? running dailydeb locally works fine (save for my needed to use debupstream instead of debversion, otherwise it fails immediately on that)19:58
dobey#launchpad seems dead, so asking here19:58
czajkowskiabentley: allenap gary_poster ^^^20:57
abentleyczajkowski: Sorry, don't know.21:02
=== benji changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On-call reviewer: - | Firefighting: - | Critical bugs: <150
gary_posterczajkowski, I have no idea I'm afraid.22:33
hloeungmorning23:11
czajkowskihloeung: ello23:12

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!