lifelesswgrant: and bug 73905100:00
_mup_Bug #739051: Product:+index timeouts <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/739051 >00:00
wgrantBlah, yes, but that should die.00:00
lifelesswgrant: you asked if I was sure.00:00
lifelesswgrant: 4% or so of our timeouts-by-pageid involve this table :)00:01
StevenKwgrant: Still not clear how the new DSP should look00:07
wgrantOh good, I don't even have to update the topic.00:17
wgrantBecause 10 bugs have been filed, and 10 fixed.00:17
StevenKBut deployment is still a mess? :-)00:17
wgrantUntil we have no complaints for two hours, yes.00:17
StevenKI can't land branches! Does that count?00:18
lifelesswe can freeze landings to devel if needed00:19
mtaylorlifeless: is there anything I can currently watch to see if if new packages have landed in a ppa?00:24
wgrantmtaylor: getPublishedSources and getPublishedBinaries00:25
lifelessmtaylor: e.g. see bzr-builder 's --watch option00:26
lifelessmtaylor: which may still be in a branch if james_w hasn't merged it yet.00:26
lifelessI need a buildout hand01:37
lifelessI have a project which I want to build its own interpreter for, I don't want it importable by lp.01:37
lifelesshow do I tell lp's buildout to -literally- shell out and buildout that subproject rather than recursing into it and its dependencies01:38
wgrantlifeless: Probably the 'develop' option.01:38
lifelessthat symlinks the develop egg in01:39
lifelessso that you can import the thing01:39
lifelesswithout it having a versioned egg01:39
mtaylorlifeless: please tell me you're building a stackless interpreter because you need to02:13
lifelessmtaylor: I'm not building one; sorry.02:14
mtaylorlifeless: DAMN02:14
lifelessmtaylor: I hear that $language de jour will save the world.02:14
lifelesswgrant: look at the tip of lp:python-gpgfixtures02:15
mtaylorlifeless: yup02:15
wgrantUhoh, plural? This can't be good.02:15
wgrantlifeless: LP needs to be able to upload too.02:16
lifelesswgrant: you might think that.02:18
wgrantWe generate keys.02:18
wgrantAnd upload them to keyservers.02:18
wgrantThat needs testing.02:18
lifelessI will not reduce test coverage with what I do.02:20
lifelesswgrant: the implications of that statement may terrify you. And rightly so.02:22
wgrantI am wondering what your plan is.02:22
lifelessthere is one use of /pks/add in the test suite02:28
wgrantNot just the test suite.02:28
wgrantProduction code does it too.02:28
lifelessI know prod does it02:29
lifelessit looked untested to me02:29
lifelesssee the commented out calls to generateSigningKey, fo rinstance.02:29
wgrantAhaha lovely.02:30
lifelessand the other ones that say 'no key is generated cause we reuse here...'02:30
lifelessThere is one more though, which appears to genuinely exist.02:31
lifelessbut we don't test the error path.02:31
lifelessso I'll need to add enough glue to pull out the key fingerprint and id and shove them in /keys.02:31
lifelessbut most of our code can diaf02:31
wgrantThe difficult bit is working out the fingerprint, as you say.02:36
lifelessthere is a gpg parser on pypi02:40
lifelessbut I'll just use a gnupghomefixture for the lifetime of the request + a mutex to avoid os.environ race conditions02:40
LPCIBotProject db-devel build #822: STILL FAILING in 1 min 53 sec: https://lpci.wedontsleep.org/job/db-devel/822/03:12
mtaylorlifeless: I haz made patch. simple one-liner with no recipe does what I want now03:12
mtaylorlifeless: thanks for pointing out the obvious :)03:13
LPCIBotProject db-devel build #823: STILL FAILING in 0.57 sec: https://lpci.wedontsleep.org/job/db-devel/823/03:16
=== wgrant changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | Critical bugs: 237 - 0:[#######=]:256
StevenKOH! I can land stuff now?03:19
wgrant3 hours, OOPS levels around normal, no complaints.03:19
wgrantGo wild.03:19
* StevenK lands 3 branches in 80 seconds.03:33
StevenKbuildbot gave up waiting after the third and started, strangely enough03:33
wgrant35 of our 305 tables are unused or only used by a small bit of unimportant code :(04:03
StevenKCan we remove some of them?04:14
wgrantOnce we have fastdowntime I'll do it.04:16
wgrantALthough some of them have ancient data that we should archive.04:16
stubwgrant: Which tables are you looking at?04:27
wgrantstub: http://paste.ubuntu.com/674281/04:30
wgrantstub: The top list is either entirely unused or only used by person merges.04:30
wgrantThe bottom three are used by things that shouldn't exist any more.04:30
wgrantAnd each require deleting like 10 lines of code.04:30
StevenKDidn't we utterly remove bounties?04:30
stubThe tables have never been purged04:31
stubwgrant: Nothing there requires archiving.04:32
stub(that hasn't already been archived, like shipit)04:32
wgrantOnce we have fastdowntime I will do the honours.04:32
wgrantDrop foreign keys in one downtime, then remove the merge code, then do away with the tables.04:33
StevenKwgrant: staticdiff has a *lot* of code associated with it04:33
wgrantExcept we can't actually drop them with slony, can we?04:33
wgrantStevenK: It's mostly unused.04:33
wgrantStevenK: It was for review diffs, but they are dead now.04:33
wgrantStevenK: It is the hardest of the list to remove, though, right.04:33
StevenKwgrant: I was told by lifeless to not remove stuff related to that.04:34
wgrantStevenK: That was incrementaldiff.04:34
StevenKThey aren't related?04:34
StevenKIf they aren't, what's the difference?04:34
wgrantThere are three types of MP diffs.04:34
wgrantstaticdiffs (review diffs), previewdiffs (preview diffs), and incrementaldiffs (incremental diffs)04:35
wgrantincrementaldiffs are incremental.04:35
wgrantstaticdiffs were from back when you had to run mad to update MP diffs. LP would generate the staticdiff, and it would never change.04:35
wgrantpreviewdiffs were what mad generated -- they could update.04:35
StevenKCan you expand 'mad' ?04:35
wgrantBut now LP updates previewdiffs itself, and I don't believe staticdiffs are used.04:35
wgrantmad = Merge Analysis Daemon04:35
StevenKSounds hideous04:36
StevenKRight, so I will look at ripping out the use of staticdiff04:36
wgrantNo, it's not in scope :)04:36
wgrantlaunchpad_dogfood=# SELECT MAX(date_created) FROM branchmergeproposal WHERE review_diff IS NOT NULL;04:37
wgrant            max04:37
wgrant 2010-01-27 08:16:31.06092604:37
StevenKI'm either blocked on FDT for SPPH-SPN denorm, or working out how to hell to reimplement DSP?04:37
wgrantStevenK: Have you got the garbo jobs and indices sorted out?04:37
StevenKFor denorm? Yes04:37
wgrantfdt is probably not going to happen this week.04:37
StevenKI can't do anything at all with them until the patch lands04:37
StevenKThe branches are up, thanks to the magic of sync-pipeline04:38
wgrantStevenK: Ah, I saw they were still in Next and assumed they weren't implemented.04:38
StevenKwgrant: Yes, because I don't want to utterly take over Coding single-handedly when I'm blocked by FDT04:38
StevenKwgrant: So, I can either remove staticdiff, or we can argue about DSP.04:39
StevenKPersonally, the former sounds a little more fun04:39
wgrantWe need to sort out DSP in the next week or so.04:39
StevenKExcept I'm on holidays next week ...04:40
wgrantAh, forgot that bit.04:40
wgrantAnd so is Curtis.04:40
wgrantSo I guess we won't be pushing the in-progress stuff too hard.04:40
StevenKwgrant: So, which of the two do you to tackle?04:40
StevenKwgrant: Do you want to have a friendly argument about DSP?04:41
wgrantStevenK: Do you have a list of uses of DSP and DSPID?04:41
StevenKI do04:41
StevenKThe only thing that's stopped me writing stuff up is a name for the new hotness04:42
wgrantHm, pad.ubuntu.com looks sadly UDS-specific.04:42
StevenK-> tea04:43
wgrantStevenK: http://pad.ubuntu.com/cWLmLex2tc04:49
wgrantStevenK: Where a caller is listed for something, that is all of the callers.04:49
wgrant(apart from the maintenance methods, which are moving onto the classes themselves in ec2 now)04:49
nigelboooh, we deployed. Nice :)04:50
StevenKwgrant: I don't have a list of callers, but I suspect they are numerable04:50
wgrantnigelb: Yup. Your code works, too!04:50
StevenKwgrant: Added my notes04:51
wgrantnigelb: Got any more 4 digit bug fixes?04:52
nigelbwgrant: If they're relatively easy to fix, I'm interested.04:53
wgrantThat doesn't sound like an adequate sense of adventure.04:54
nigelbTHat's making sure I can fix them in a lifetime.04:54
nigelbLet me see if I can get into top-5 list in this week.04:55
nigelb5 more bugs to fix to get there.04:55
wgrantJust two more merges, IIRC.04:55
wgrant1 more will bring you to equal 5th place.04:55
nigelbooh. 2 more. Interesting.04:55
wgrantSadly, 127 more are required to bring you to 1st place.04:56
nigelbThat's hard, but not undoable.04:56
nigelbA fix per week for 2+ years.04:56
nigelbhmm, what needs to be done for bug 5066104:59
_mup_Bug #50661: Magic words in comments (e.g. bug NNNN) should be documented <docs> <easy> <lp-web> <ui> <Launchpad itself:Triaged by matthew.revell> < https://launchpad.net/bugs/50661 >04:59
nigelbI could just take stuff documented in one of the doctests that I boke.04:59
StevenKwgrant: Where's this list of top-5?05:01
StevenKAh, nice05:01
nigelbwoah, bug 811028 is easy? Lies!05:05
_mup_Bug #811028: Time frame 'a moment ago' incorrectly concatenated  to 'on' <easy> <ui> <Launchpad itself:Triaged> < https://launchpad.net/bugs/811028 >05:05
wgrantsinzui fixed something like that for questions in the last deployment.05:06
StevenKYeah, looks like I missed a spot05:06
StevenKThat's registration of product etc, isn't it?05:07
wgrantIt says bug.05:07
wgrantBut bugs are fine.05:07
wgrantI think...05:07
wgrantOh, it uses fmt:displaydate.05:07
StevenKAnd bugs say 'Reported by ...'05:07
wgrant    def displaydate(self):05:08
wgrant        delta = abs(self._now() - self._datetime)05:08
wgrant        if delta > timedelta(1, 0, 0):05:08
wgrant            # far in the past or future, display the date05:08
wgrant            return 'on ' + self.date()05:08
wgrant        return self.approximatedate()05:08
lifelessstub: are you actually here, or just caffeinating ?05:09
stubI'm here05:09
StevenKapproximatedate() returns a moment ago for =< 1005:09
lifelesscare to have a brief catchup now ?05:09
nigelbwgrant: that means its fixed, right?05:09
stublifeless: sure05:09
* stub fires up skype05:09
wgrantnigelb: Not necessarily.05:10
wgrantShould test...05:10
nigelbI hope qastaging doesn't timeout for me again.05:10
nigelbwell, in the first 5 tries.05:10
wgrantReported by William Grant a moment ago05:10
StevenKLooks fine to me05:11
wgrantRegistered a moment ago by William Grant05:11
wgrantProjects are fine too.05:11
nigelbwhat else? blueprints and answers?05:11
lifelesscommits ?05:12
wgrantAsked by William Grant a moment ago05:12
wgrantQuestions are fine now too.05:12
lifelesswgrant: add support pushed05:12
wgrantRegistered by William Grant on a moment ago05:12
StevenKlifeless: I seriously doubt commits make use of approximatedate05:12
wgrantBlueprints are bad.05:12
lifelesswgrant: supports more keys which I think real keyservers do too :P05:13
nigelbah, blueprints are broken, yes.05:13
StevenKCan haz paste?05:13
lifelesswgrant: in general, or in principle?05:13
wgrantnigelb: Want to clarify that in the bug and fix?05:13
wgrantlifeless: Heh.05:13
StevenKIn this case05:13
nigelbRegistered by Nigel Babu on a moment ago05:13
nigelbwgrant: yup, fixing in a bit.05:13
StevenKThat might be what the reporter actually meant05:13
wgrantI presume so.05:14
wgrantIt's the only object I've found that uses that dext.05:14
nigelbPossibly, blueprints is the unloved child.05:14
wgrantProjects use "Registered", but put the name at the end.05:14
nigelbI should careful that I don't end up owning it with 5 of my 6 fixes in blueprint I think.05:14
nigelb*be careful05:16
StevenKwgrant is going to not like me.05:23
StevenK% bzr di | diffstat -s05:23
StevenK 14 files changed, 11 insertions(+), 335 deletions(-)05:23
nigelbdid you remove more tests?05:23
wgrantStevenK: StaticDiff?05:23
StevenKwgrant: Yah05:24
wgrantStevenK: What did you do with the review_diff fkey on BMP? a few things still seemed to use it.05:24
wgrantI'm not sure they used it for anything.05:24
wgrantBut they used it.05:24
StevenKI binned it05:24
wgrantAh, it was just constructors.05:26
wgrantEasier than I expected.05:26
StevenKI have missed stuff, though05:27
StevenKNow to fish around in sampledata05:28
nigelbHrm, need to learn to read configure.zcml better.05:29
StevenKnigelb: Don't. Your eyes will bleed.05:30
StevenKwgrant: The only I can't work out what to do with is lib/lp/codehosting/tests/test_jobs.py05:30
nigelbStevenK: I'm submitting MP's to LP, one should assume that they've already started bleeding.05:30
StevenKnigelb: But XML means the wounds can not be cauterised05:31
nigelbso, I see tal:content="context/bug/datecreated/fmt:displaydate"05:37
nigelbwhere do I look to see the code behind it?05:38
wgrantStevenK: Erm. It looks like RevisionMailJobs use StaticDiff, but apparently they don't stay around in the DB...05:38
nigelbor rather, how do I figure out where to look.05:38
wgrantIn fact, they never hit the DB.05:38
StevenKwgrant: That's disappointing05:38
wgrantnigelb: lib/lp/app/browser/tales.py05:38
nigelbooh, thanks05:39
wgrantStevenK: Nothing has been added to the table since January last year, as expected. But it looks like RevisionMailJobs should be calling StaticDiff.acquire, which instantiates and returns a StaticDiff.05:40
wgrantAnd StaticDiff inherits SQLBase, so that should automatically add it to the DB.05:40
StevenKPerhaps the commit gets dropped05:41
wgrantThe sequence should still be incremented, though, right?05:41
wgrantUnless it gets reset on DF.05:41
StevenKwgrant: So I wonder if I we should fix RMJ to use previewdiff?05:44
* nigelb is gettign "chmod: changing permissions of `/var/tmp/bazaar.launchpad.dev/rewrite.log': Operation not permitted"05:45
wgrantnigelb: Apache creates that sometimes, so it ends up owned by root or www-data.05:46
wgrantnigelb: sudo chown it.05:46
nigelbwgrant: chown to my user or apache user?05:46
wgrantnigelb: Yours.05:47
StevenKIt even calls transaction.commit()! WTF05:48
wgrantStevenK: Yes.05:48
wgrantIt makes very little sense.05:48
wgrantInstantiating a StaticDiff must not add it to the store.05:49
wgrant(the commit is necessary because the diff is stored in the librarian)05:49
StevenKAh, I bet that is the issue05:49
StevenKIt isn't added to the store05:49
wgrantSQLBase does that automatically, normally.05:50
wgrant>>> from lp.code.model.diff import StaticDiff05:50
wgrant>>> StaticDiff()05:50
wgrant<StaticDiff at 0x8382410>05:50
wgrant>>> transaction.commit()05:50
wgrantTraceback (most recent call last):05:50
wgrantIntegrityError: null value in column "from_revision_id" violates not-null constraint05:50
nigelbgah, I broke it. I can't read tal.05:53
StevenKAh. No wonder I can't find it. My branch removes it.05:53
nigelbcan someone spare a few minutes to explain how this works? I think I have no clue what I'm doing.05:54
StevenKnigelb: Pastebin your diff05:55
StevenKnigelb: bzr di | utilites/paste # if your friend05:55
nigelbStevenK: I don't have a diff05:55
nigelbbecause I don't know what to diff on.05:55
* nigelb pastbin's broken diff05:56
nigelbI brain-deadly pasted what works for answers. Which I now realize is wrong.05:57
wgrantErm, that was from answers?05:57
wgrant+        tal:attributes="title context/bug/datecreated/fmt:datetime"05:58
wgrantI wonder if sinzui stole that from Bugs.05:58
nigelbmy bad05:58
nigelbmessed up paste :|05:58
wgrantStevenK: Ha ha ha.05:59
nigelboh lol05:59
nigelbNow I have on 10 minutes ago05:59
StevenKwgrant: Hm?05:59
nigelbOkay, so current diff http://pastebin.ubuntu.com/674304/06:00
wgrantStevenK: http://paste.ubuntu.com/06:01
wgrantBah, wants a name.06:01
wgrantNasty creature.06:01
wgrantNote that it ran a REVISIONS_ADDED_MAIL job, not a REVISION_MAIL job.06:01
wgrantI wonder if REVISION_MAIL is unused.06:01
wgrantCode seems to be full of dead code.06:02
wgrantOh dear.06:03
wgrantStevenK: lib/lp/codehosting/scanner/email.py +5506:03
wgrantStevenK: If it's not an initial scan, it uses REVISIONS_ADDED_MAIL06:04
wgrantStevenK: If it is an initial scan, it uses REVISION_MAIL, but disables diff generation.06:04
wgrantSo I think all that code is actually unused.06:04
wgrantBut grepping harder.06:04
wgrantAll the callsites I can see set perform_diff=False.06:05
wgrantAnd we've seen there have been none in the DB for more than 18 months.06:05
wgrantI think we can be fairly confident it's dead, but we should check with Aaron.06:05
StevenKwgrant: http://pastebin.ubuntu.com/674308/06:05
wgrantStevenK: Care to remove perform_diff from RevisionMailJob, delete that remaining test, and send it off to ec2 test?06:05
wgrantNote that we can't drop the table yet.06:06
wgrantBut do revoke perms.06:06
wgrantSo, test_jobs.py can be deleted.06:07
StevenK 17 files changed, 12 insertions(+), 415 deletions(-)06:08
wgrantAll the revno/diff handling from RevisionMailJob can go.06:08
StevenKEven revno?06:08
wgrantThe only revnos passed in are 'removed' and 'initial'. The int stuff can go.06:08
wgrantSo drop the if/else in create(), drop the perform_diff argument, and delete most of getMailer.06:09
StevenKAlready done06:09
wgrantJust passing None as diff_text instead.06:09
StevenKDone that too06:09
wgrantDoes that leave BranchDiffJob unused/06:09
nigelbStevenK: got a chance to look at the diff?06:10
wgrantSeems to.06:10
StevenKNo, it is still RMJ's parent, and it calls .getMetadata06:10
wgrantStevenK: RMJ has no cause to use it any more.06:10
StevenKOh, the update can probably DIAF too06:11
wgrantStevenK: Since it's not generating diffs, it doesn't need the metadata.06:11
wgrantIt has no revno any more, remember.06:11
StevenK"""A Job that calculates the a diff related to a Branch."""06:11
nigelbok, so what's the difference beteen tal:attributes and tal:content?06:11
* StevenK smirks06:11
StevenKNot any more it don't.06:12
wgrantnigelb: tal:content sets the value inside the element. attributes sets attributes on it.06:12
StevenKwgrant: """A Job that sends a mail for an initial scan of a Branch."""06:12
wgrantStevenK: Or scans where revisions are removed.06:12
nigelbhah. Nailed it!06:13
StevenK... for a scan of a Branch06:13
* nigelb wonders how many tests he broke06:13
wgrantnigelb: <a tal:attributes="href context/owner/fmt:link" tal:content="context/owner/displayname" /> will turn into <a href="/~wgrant">William Grant</a>06:13
nigelbwgrant: AH!06:13
nigelbokay, now I understand what the code in answerws is doing06:14
nigelbExcept for this bit06:14
wgranttal:replace replaces the element entirely.06:14
nigelb        <span06:14
nigelb          tal:attributes="title context/datecreated/fmt:datetime"06:14
nigelb          tal:content="context/datecreated/fmt:displaydate">2005-10-05</span>06:14
wgrantSo '<a tal:attributes="href context/owner/fmt:link" tal:replace="context/owner/displayname" />' just turns into 'William Grant'06:14
nigelbwhat is that 2005-10-05 doing there?06:14
wgrantnigelb: That's just a default value. If, say, someone views the template in a web browser directly.06:14
wgranttal:content replaces any existing content.06:15
nigelbah, that gets replaced by tal:content06:15
nigelbok, I understand this beast better.06:15
wgrantStevenK: Up to -500 yet?06:15
nigelbAlso, if I do a "bin/test lp.blueprints" does it run doctests as well?06:16
StevenKnigelb: It probably will, yes06:16
wgrantnigelb: Probably.06:16
wgrantnigelb: Some are a bit special.06:16
wgrantBut I think it should get all the blueprint ones.06:16
nigelbI'll let the special ones be caught by ec2 land.06:16
StevenKwgrant: No, sadly.06:17
wgrantStevenK: Pick random lines of code to delete until you meet the quota.06:17
nigelbrm -r blueprints will get you a long way and make wgrant a happy man.06:17
StevenK 19 files changed, 31 insertions(+), 483 deletions(-)06:30
StevenKBut the diff is 1,000 lines06:30
nigelbfind 7 more lines to delete?06:30
StevenKThat's only 490! FAIL06:31
nigelbbah, 17 more!06:31
StevenKMath fail06:31
nigelbok, not test failure in blueprints.06:31
* nigelb proposes MP06:31
StevenKsteven@liquified:~/launchpad/lp-branches/no-more-staticdiff% bzr log -r -1.. | tail -n 106:33
StevenK  Consign StaticDiff and all that supported it to a watery grave.06:33
wgrantbzr log --line -r-106:34
nigelbhm, why does make lint error out...06:34
nigelbbzr: ERROR: unknown command "pipes"06:34
nigelbam I missing a bzr plugin?06:34
StevenKYou are06:34
wgrantIt should work OK without it, though.06:34
StevenKwgrant: Beh06:34
StevenKwgrant: That doesn't quite work06:35
StevenK% bzr log -r-1 --line06:35
StevenK13780: Steve Kowalik 2011-08-25 Consign StaticDiff and all that supported it...06:35
=== henninge_ is now known as henninge
StevenKcjwatson: You should just need to merge devel into your xz branch and get it re-tossed at ec206:36
* wgrant does that locally.06:37
StevenKI hope the image works06:38
nigelblifeless: Could you review? https://code.launchpad.net/~nigelbabu/launchpad/811028-time-frame/+merge/7283106:43
nigelbI wonder if he's OTP06:44
wgrantOr EOD.06:45
wgrantGiven that he starts at 0645 on Thursdays.06:45
nigelbwgrant: Could spare a few minutes to review in that case?06:45
wgrantnigelb: Do you know what existing tests there are for this?06:46
nigelbwgrant: No, I don't06:46
nigelbI ran the tests for blueprints and none seem to have failed06:46
wgrantIt would be nice to add one to check that it doesn't say "on a moment ago"06:46
nigelbhm, use factory? ;)06:47
wgrantYeah. Create a blueprint using the factory, then render the view and check that text.06:47
nigelbI may need help for some part of it, but let me get there.06:47
wgrantIt will be short, and good practice :)06:48
nigelbHow do I check if a certain content exists in a view?06:52
nigelbI've done this before but I now forget.06:52
wgranthtml = create_initialized_view(someobj, '+index')()06:54
wgrantself.assertIn('some string', html)06:54
StevenKAnd self.assertNotIn()06:54
StevenKAnd branch just got tossed out of ec2 in the make stage06:55
* StevenK pouts06:55
wgrantWhat happened?06:55
StevenKDisagreement between the code and ZCML, I think06:56
* StevenK will look when he gets home06:56
nigelbStevenK: are you not working from home?06:58
nigelbco-working place?06:58
nigelbwgrant: added test and pushed07:03
wgrantnigelb: That test will only fail if html is a substring of 'on a moment ago', which doesn't seem hugely likely.07:06
wgrantI'd do this:07:06
nigelbactually, GAH07:07
nigelbIt will never fail.07:07
wgrantYou should probably use extract_text.07:08
nigelbbecause I just realized the span's title attribute will be the time_stamp07:08
wgrantOtherwise you'll get the <span> and stuff, yeah.07:08
wgrantextract_text() will remove all that.07:08
nigelbah, ok07:08
wgrantself.assertIn("a moment ago", extracted_text)07:09
wgrantself.assertNotIn("on a moment ago", extracted_text)07:09
wgrantPossibly better to use extract_text and then assertTextMatchesExpressionIgnoreWhitespace, though.07:10
wgrantSince there are newlines in the string.07:10
wgrantcjwatson: Your branch seems to be in ec2 happily enough.07:10
wgrantHopefully for the last time.07:10
nigelbwhats the false test for assertTextMatchesExpressionIgnoreWhitespace?07:11
wgrantThere isn't one. So I'd just test the whole "Registered by Foo Bar a moment ago" string.07:12
nigelbmm, so create a person too?07:12
wgrantself.factory.makeSpecification(registrant=self.factory.makePerson(displayname="Some Person"))07:13
wgrantOr something like that.07:13
adeuringgood morning07:50
nigelbhm, where does extract_text live?07:53
nigelbnvm, found it07:55
wgrantMorning mrevell, and congrats!08:08
nigelbMorning mrevell08:08
mrevellThanks :)08:09
nigelbwgrant: the assertTextMatchesExpressionIgnoreWhitespace does not work.08:09
wgrantnigelb: :( why not?08:09
wgrantApart from having an obscene name.08:09
nigelbSays, not found08:09
wgrantHave you printed it out to see what it really looks like?08:09
nigelbCan I manually add the /n and test with AssertIn instead?08:09
nigelbI don't know what assertTextMatchesExpressionIgnoreWhitespace looks like but I now know what the output of extracted_text looks like.08:10
wgrantlib/lp/testing/__init__.py has that method.08:12
nigelbregular expression08:14
* nigelb lunches08:15
cjwatsonwgrant: I can dream.  Thanks.08:26
wgrantcjwatson: (it failed due to probable AWS breakage, but is back in again)08:29
wgrantNo, AWS being flaky again. Can't connect to the second instance.08:32
lifelessnigelb: partly EOD partly debugging a u1 pqm issue with spm, partly cooking dinner08:32
lifelessnigelb: you might prefer assertThat(foo, DocTestMatches(bar))08:32
wgrantAh, forgot about that one.08:33
lifelessoptionally with ,ELLIPSIS in the doctestmatches constructor08:34
wgrantI wish the API didn't encourage putting everything on the model objects.08:35
jmlwgrant: +108:41
wgrantI guess it's not really lazr.restful.08:42
wgrantWe can expose *Set perfectly well.08:42
wgrantBut security has to be done manually.08:42
wgrantMaybe we want a custom zope.security checker to make that sort of thing easier.08:43
wgrantDecorate methods with the context argument and permission, or something.08:43
jmlwgrant: well, I also think that *Set objects are mostly a waste of time too.08:50
wgrantjml: Mostly.08:53
wgrantThe security benefits are just about nil, so I tend to just try to sneak static methods through reviews nowadays..08:53
wgrantOr even functions.08:54
wgrantZope seems to treat Python like Java :(08:54
jmlfunctions.... wuuuu....08:55
* jml likes functions08:55
jmlthe utility stuff might be useful for cases where you want to sub out a utility for something that has the same interface08:55
wgrantBut API methods need to be on a *Set or model object, and people lean to putting stuff on model objects, which means you end up with Distribution having more than 200 lines of imports from every LP package.08:55
nigelblifeless: ah, thanks :)08:55
jmlbut I don't see us doing it aynwhere08:56
jmlwgrant: yeah. makes it hard to separate stuff.08:56
wgrantRather than having, say, getPendingAcceptancePPAs on ArchiveSet, where it belongs.08:56
jmlalthough sometimes it seems as if lifeless says that it ought to be like that08:56
jmlgrumbles about special type-based checking for PPAs aside08:57
wgrantI think lifeless is mainly against arbitrary divisions and siloization.08:58
wgrantThis is just proper layering.08:58
wgrantAnd separation.08:58
nigelbwgrant: doing the DocTestMatches compares it to the HTML directly.09:09
nigelbshould I be doing a extract_text before that?09:09
wgrantnigelb: Probably, yeah.09:10
wgrantMost doctests use extract_text if there are spans and stuff involved.09:10
nigelbI knew this bug fix was way too easy.09:10
nigelbHence the tests are challenging.09:10
wgrantYou learn how to do them after a while.09:11
wgrantWell, you learn where to look and how to grep for similar ones.09:11
wgrantThen you look at how they do it :)09:11
wgrantAnd try to work out whether they are best practice from now, or worst practice from 2005.09:11
bigjoolsSoupMatcher FTW09:12
=== almaisan-away is now known as al-maisan
bigjoolsgrep for it09:12
wgrantOr I guess lazr.restful adapter support would solve lots of this as well.09:19
wgrantlifeless: Any reason gpgfixtures can't replace zeca tomorrow?09:20
nigelbbigjools: no results.09:23
nigelbI only looked in lib/lp though.09:23
* bigjools finds example09:23
wgrantnigelb: soupmatchers09:24
wgrantIt's a module.09:24
wgrantcontaining various matchers like Tag, HTMLContains09:24
bigjoolsnigelb: look here: lib/lp/soyuz/browser/tests/test_publishing.py09:24
bigjoolsgrep soupmatchers09:24
nigelbhah, I grepped for SoupMatcher09:24
bigjoolsalso look in lib/lp/registry/browser/tests/test_distroseriesdifference_views.py09:24
bigjoolsnigelb: sorry, my bad09:24
nigelbHow evil is line 26 in https://code.launchpad.net/~nigelbabu/launchpad/811028-time-frame/+merge/7283109:26
nigelbsigh, I gussed as much09:28
nigelbbigjools: I can't use soup matcher because I need to extract the text.09:29
bigjoolsyou could use DocTestMatches if whitespace is not a concern09:29
nigelbwhitespace isn't a concern09:29
bigjoolssoup matcher extracts text09:29
nigelbmaybe I should look up how doctestmatches is used.09:29
bigjoolsyou just need to grab the right tag09:29
bigjoolssome tests use a div with an id just for that09:29
wgrantIn this case you can hopefully just pick out the registering slot.09:30
nigelbbut I get the fugly span bits09:30
nigelbwhich I don't want09:30
wgrantWith soupmatcher?09:30
bigjoolssoupmatchers is powerful but the syntax is a bit awkward09:30
nigelbwait, soupmatches solves the fugly span problem too?09:31
* nigelb tries09:31
bigjoolsif the text is all in that tag, yes09:31
nigelbIts sadly, not.09:32
nigelbwhich is why I wrote that evil code09:32
bigjoolsI'd go for DocTestMatches then09:32
wgrantIf you use extract_text, then you shouldn't need ELLIPSIS.09:33
wgrantJust a default DocTestMatches should do.09:33
nigelbdoctests returns everything one below the other09:34
nigelbisn't that similar to simply using extract_text?09:34
bigjoolsuse both09:34
bigjoolsit solves your nasty use of \n09:35
wgrantBecause doctests are... slightly liberal with whitespace.09:35
wgrant(hi gina)09:35
bigjoolsI fixed that recently09:35
bigjoolsgina is the archive importer09:36
LPCIBotProject devel build #992: STILL FAILING in 6 hr 5 min: https://lpci.wedontsleep.org/job/devel/992/09:36
nigelbI.. I'm confused.09:44
nigelbI'm doing things wrong, but I can't figure out what's right.09:44
jmlnigelb: other way around09:46
jmlnigelb: assertThat(extract_html(thing), DocTestMatches("... foo ...", doctest.ELLIPSIS))09:46
jmlalso probably doctest.ELLIPSIS | doctest.NDIFF09:46
jmlnigelb: as a rule, assertThat(observed, Matches(expected))09:49
LPCIBotProject db-devel build #824: STILL FAILING in 6 hr 5 min: https://lpci.wedontsleep.org/job/db-devel/824/09:49
nigelbjml: I'm still doing something wrong. The test is failing with http://paste.ubuntu.com/674413/09:53
jmlnigelb: well, yeah, but now it's failing *properly*09:55
wgrantUnless you extract the registering slot using BeautifulSoup, you'll need to wrap your match string in ellipsis.09:56
nigelbI couldn't parse that.09:56
wgrantAppend and prepend '...' to your match string.09:56
lifelesswgrant: jml: yes, siloisation -1, layering +1.09:57
* nigelb fails at seeing what's going wrong.10:01
jelmeranybody up for a review of a small refactoring?10:01
wgrantIt does default to NORMALISE_WHITESPACE, doesn't it?10:01
nigelbwgrant: ok, got it. I should have just followed the instructions on the testtools manual ^-^10:04
nigelbwgrant: commited and pushed, could you review? :)10:06
jmlwgrant: I don't think so, actually.10:07
jmlwgrant: have been tempted to add a version that has normalize, ellipsis & report_ndiff as standard10:08
nigelbjml: It does't, I had to add that.10:08
wgrantnigelb: That test looks much better, thanks! Just two tiny things left.10:12
wgrantnigelb: Your find_tag_by_id and extract_text imports are around the wrong way; they should be sorted alphabetically.10:12
wgrantAnd test_time_frame is probably not a great test name.10:12
wgranttest_registration_date_displayed, possibly.10:13
nigelbokay, fixing10:13
wgrantnigelb: Sorry, one further thing I missed: the testtools import is in the LP section, but it should be in the third-party library section (with lazr.*)10:17
wgrantApart from that, looks ready for ec2.10:17
lifelesswgas for gpgfixtures, I have a branch using the homedir fixture, not the keyserver itself yet10:19
lifelesswgrant: ^10:19
lifelesswgrant: *as for...10:19
wgrantlifeless: Aha.10:19
lifelesswgrant: I probably won't finish the migration, but it should be a superset of the facilities we need now.10:19
wgrantI may look at that in your absence.10:19
lifelessthe main thing will be finding tests that assume the server is pre-seeded with all keys and have them seed it with the keys they need10:19
lifelessusing the json api10:20
wgrantA good thing to do anyway.10:20
lifelesswwhat else10:20
lifelessoh, we need a fixture to either a) bring up the server in the test process as a thread or b) bring it up as a child process and read-back the port its on; either way shove that into the live config10:20
lifelessshallow stuff10:20
wgrantI think we're going to need to rework lazr.config soon.10:21
nigelbwgrant: done10:22
wgrantnigelb: approved. Should I send it off to ec2?10:29
nigelbwgrant: yes, please :)10:29
wgrantnigelb: Could you set a commit message on the MP?10:30
wgrantnigelb: Instance starting.10:33
nigelbokay, I'll watch my email ~4 hours from now10:33
wgrantnigelb: AWS has been a bit flaky this evening, so it might fail, but we'll see.10:34
nigelboh, ouch. okay.10:35
wgrantI've had two instances not start, another one not be connectable, and two die with block device errors.10:35
nigelbah, aws b0rks?10:35
wgrantI can only assume.10:35
nigelblol. I deal with it everyday at day job :)10:35
nigelbwe had one instance disappear taking all the data with it.10:36
nigelbIt was a backup instance, but got everyone jolted awake ^-^10:36
wgrantThe instance has started, at least.10:36
nigelbwhat region?10:36
=== matsubara-afk is now known as matsubara
wgrantnigelb: us-east10:38
nigelbhehe, same as us :D10:38
nigelbbigjools: My dislike for bling and shiny is one of the reasons I haven't upgraded :D10:46
nigelbXubuntu is probably where I'm headed when I upgrade10:46
jelmerwgrant: hmm, deployment hasn't happened to the code importds?10:46
jelmerIt's a bit confusing that the related bugs are still marked as fixreleased10:47
wgrantjelmer: It should have.10:48
wgrantBut I saw the failures, and wondered when you'd ask me :P10:48
wgrantmthaddon: Could you confirm that the importds are in nodowntime and running the latest rev?10:49
wgranthloeung said they were, but it seems not.10:49
nigelbAt UDS, I saw this guy in a Launchpad T-shirt and asked him  "Are you a Launchpad guy? Could you help us?10:50
nigelb and proceeded to ask something about blueprints API10:50
nigelbLater, I realized that was flacoste :)10:51
mthaddonwgrant: they're running 13697 and are in ndt10:52
wgrantndt is 13779 :/10:52
mthaddonI'll update them now, suspect this is because one of the importd servers (galapagos) is dead and hadn't been removed from the list10:54
jtvAnyone else getting a failure in test_versioninfo, caused by revno being a string instead of an int?10:54
bigjoolsnigelb: luddite!10:54
wgrantI thought the deployment was a bit quick today.10:54
wgrantmthaddon: Is it easy enough to check the rest of ndt?10:54
mthaddonwgrant: yep, will do once that's finished10:54
mthaddonwgrant: also I think we should add a step at the end of NDT to confirm revnos on all the servers we've deployed to (I'll do that)10:55
nigelbbigjools: I prefer stable and working over bleeding edge10:55
wgrantmthaddon: Indeed, that would be helpful.10:57
wgrantIt would be nice if there was a list of what's running what.10:57
mthaddonwgrant: devpad:/srv/launchpad.net-logs/code_check11:00
=== henninge is now known as henninge-lunch
wgrantOh. That's a bit perfect.11:01
wgrantHas that always been there?11:01
wgrantYes, for 3.5 years.11:01
mthaddonone of the best kept secrets of LP11:01
wgrantDoes that check all the deploymgr trees?11:01
wgrantbilimbi's on there, so it seems reasonably up to date.11:02
mthaddonyep, it does all11:02
wgrantVery tempting to fix sourcedeps.cache.11:02
wgrantThis should probably be mentioned on LPS or something.11:03
mthaddongood idea - feel free to add it somewhere that seems relevant11:03
wgrantAh, it only runs daily?11:04
jtvAnyone know what the current "versioninfo" buildbot failure is about?11:04
wgrantI guess it should probably trigger after each deploy, as you said earlier, I guess.11:05
wgrantjtv: Where?11:05
wgrantjtv: The current runs look successful, AFAICT.11:06
jtvwgrant: oh, I can't load up the log but devel is failing for me.11:07
jtv(I wonder why this is: some https pages won't load at all, even when others work fine)11:08
wgrantNo tracebacks in the lucid_lp log that I can see.11:08
jtvHas lp.app.tests.test_versioninfo run yet?11:09
wgrantOh, you're seeing this locally?11:09
jtvGrumble.  Why do other logs load just fine for me, but this one stays stuck in both chromium and FF?11:09
wgrantYou said "buildbot failure" :)11:09
wgrantbuildbot leaves it open because it's not done yet.11:09
wgrantSo it streams.11:09
jtvYes, I thought I saw a buildbot failure but https not working confused my research.11:09
wgrantThere was spectacular buildbot breakage a few hours ago due to a double master massacre, but looks fine now.11:10
jtvwgrant: don't know if it's the same thing but I get similar symptoms with some bugs, for instance.11:10
wgrantBeen working OK for me.11:10
* wgrant blames Thailand.11:10
jtvYeah, it could be censorship.  They said something about censoring https a while back.11:11
jtvwgrant: do you get the failure locally, if you first "make clean && make"?11:12
wgrantjelmer: The importds are upgraded now.11:12
wgrantjelmer: Thanks for noticing.11:12
wgrantAssertionError: '13785' != 1378511:13
wgrantMay be the bzr upgrade.11:13
jtvYup.  I got that from EC2 too.11:13
jelmerwgrant: thank you11:13
wgrantI've had a few successful ec2 runs today.11:13
jelmerwgrant: where is that AssertionError from?11:13
jtvwgrant: for me it appeared just very recently.11:13
wgrantjelmer: lp.app.versioninfo is returning a str instead of an int.11:14
jelmerwgrant: which lp branch?11:14
jelmer(bzr in devel is still on the old bzr, only db-devel has moved to 2.4+)11:14
wgrantjelmer: devel, and that's a very good point.11:14
jtvAFAIC the test could cast both sides to int and sidestep the whole issue.  But I don't know what else that would upset.11:14
wgrantI wonder if that runs with the system bzr.11:15
wgrantBut that wouldn't explain ec2.11:15
wgrantIt appears to use the system bzr.11:16
jelmerwgrant: hah11:17
jelmerwgrant: then I think I know what it is. In 2.4 one of the "bzr version-info" fields was changed to a string to support dotted revnos11:18
wgrantjelmer: That would do it.11:18
wgrantI wonder if the ec2 image uses a PPA with 2.4.11:18
jelmerdoesn't it use the bzr ppa?11:18
wgrantI'm checking.11:19
bigjoolsjtv: your branch that I'm reviewing shows deleted bzr conflict markers in the diff, which means the preq branch is conflicted I guess?11:19
wgrantlib/devscripts/ec2test/instance.py:deb http://ppa.launchpad.net/bzr/ubuntu $DISTRIB_CODENAME main11:19
wgrantlib/devscripts/ec2test/instance.py:deb http://ppa.launchpad.net/bzr-beta-ppa/ubuntu $DISTRIB_CODENAME main11:19
jtvbigjools: possibly.  I'll resolve.11:19
wgrantI wonder why this didn't affect my three successful runs with the new image.11:20
StevenKwgrant: The ec2 image would have just been updated with 2.411:20
wgrantStevenK: Yeah, but I've used the image multiple times today.11:22
wgrantCurrent run has a str there... I guess we'll see if it succeeds.11:22
StevenKwgrant: So you're happy with the image itself?11:23
wgrantIt seems to work.11:23
StevenKHuzzah, I have fixed make for my branch of evil11:25
wgrantWhat was broken?11:25
wgrantdpkg-xz-support-619152 => devel  [OK]     (up for 2:52:55.425176)11:26
wgrantWe may have success.11:26
StevenKI forgot to remove a class and securedutility for BranchDiffJob11:26
wgrantStevenK: If abentley appears before you vanish, you should probably ask him about the history here.11:26
StevenK19 files changed, 31 insertions(+), 492 deletions(-)11:28
wgrantStevenK: You've stopped deleting the table, right?11:28
StevenKAs in, I haven't done so11:29
StevenKTossing back at ec211:29
wgrantThe original diff appeared to have the table gone from sampledata.11:30
StevenKThat was removing triggers11:30
nigelbWhat advantage does PQM have over tarmac?11:44
jelmerStevenK: It supportts tla, arch and baz11:48
jelmernigelb: It supportts tla, arx and baz11:48
nigelbwhat are those?11:49
wgrantThey are probably or hopefully old enough that nigelb doesn't....11:49
wgrantbaz was bzr's predecessor.11:49
wgranttla and arch are older and even crustier.11:50
jelmerwgrant: not arch, arx11:50
jelmer(which is yet another fork of arch)11:50
wgrantOh, I didn't know it supported that.11:51
nigelbAh, so just support for more VCS?11:51
wgrantnigelb: Crucially, VCSes that have been obsolete for more than 5 years.11:51
wgrantAnd nobody ever really used anyway.11:51
nigelbI dream of one day being able to say approved and launchpad doing the merges itself with pqm or tarmac in the backend.11:52
wgrantMaybe eventually. It's awkward, though, as most projects hopefully want to have a test suite.11:52
=== al-maisan is now known as almaisan-away
nigelbhah. http://www.reddit.com/r/programming/comments/jsudd/you_see_rasmus_lerdorf_creator_of_php_wrecking/12:01
danilosjelmer, hi, what's the status of the loggerhead trunk? can we move LP to it? what is missing? should I perhaps revert the problematic changes in loggerhead trunk, get that revision into LP, and then reland them on loggerhead trunk?12:16
jelmerdanilos: I'm not sure, I haven't followed loggerhead much recently.12:17
jelmerWhat are the problematic changes?12:17
danilosjelmer, wasn't there a problem that you were working on?12:17
jelmerdanilos: I fixed a bug that affected loggerhead, but don't recall working on loggerhead itself recently12:18
jelmerdanilos: as far as I know loggerhead trunk is fine :)12:18
danilosjelmer, LP is not using the latest rev from trunk because of some regressions12:18
wgrantdanilos: That was misdiagnosed.12:19
wgrantdanilos: The regression was in an unrelated change of jelmer's.12:19
daniloswgrant, ah, so that's all sorted?12:19
jelmerdanilos: yep, should be12:19
wgrantdanilos: It still needs to be relanded.12:19
danilosjelmer, sorry to have bothered you then :)12:19
daniloswgrant, I'd be happy to do that because there's another revision I care about12:19
wgrantlifeless and I reverted it hastily upon seeing an extra 3000 loggerhead OOPSes a day, without noticing there was a non-threadsafe SafeBranchOpener in the same deployment.12:19
danilosjelmer, wgrant: thanks for your input, I'll go up our loggerhead to the latest trunk12:20
=== almaisan-away is now known as al-maisan
nigelbwgrant: Is there an inside joke to your email? "2008/02/29 and dodgy date manipulation code for that."12:43
wgrantnigelb: I am guessing that ChanServ thinks a year is 365 days.12:45
wgrantBut 2008 had 366 days.12:45
wgrantcjwatson: Landed. Sorry it took so long.12:45
nigelbwgrant: the fix for that bug is to just remove int(output) to be outpuut instead?12:54
nigelb(or change revno to be str(revno))12:54
cjwatsonwgrant: hooray, thanks!  now I just have to wait for bug 809123 and I can flush my queue ...12:54
_mup_Bug #809123: we cannot deploy DB schema changes live <fastdowntime> <qa-ok> <Launchpad itself:Fix Committed by stub> < https://launchpad.net/bugs/809123 >12:54
wgrantnigelb: Maybe. We need to see what other stuff uses that value.12:55
wgrantnigelb: It's displayed in the footer of every page, for example.12:55
wgrantcjwatson: Getting there. I believe there's only 5 or so hosts that aren't pgbouncer-capable, which is the last major blocker to fastdowntime.12:56
wgrantHopefully by early next week we'll be ready.12:56
wgrantAnd this is actually a somewhat realistic estimate, I think :)12:56
StevenKBah, I meant this channel.12:57
wgrantWell, aren't you a failure.12:58
StevenKwgrant: Clearly.12:58
StevenKwgrant: It seems that test_branch{,job} still referenced BranchDiffJob all over the place.12:58
cjwatsonwgrant: incidentally, roughly when should I expect cocoplum to be updated?  I don't know its update schedule nowadays12:59
StevenKcjwatson: cocobanana needs to be requested.12:59
StevenKcjwatson: With 24 hours notice for 5 minutes of downtime12:59
wgrantcjwatson: It's no longer scheduled.12:59
wgrantSo, as StevenK says.12:59
wgrantIt still requires poppy downtime, so by convenition we must give 24 hours notice.13:00
wgrantUnless Platform wants to waive that requirement, I suppose...13:00
cjwatsonWhat is cocobanana?13:01
cjwatsonEnough hostnames in the DC are quite similar that I find deliberate misspellings rather confusing ...13:02
cjwatsoncocoplum is at least not too far back; r1372713:03
wgrantYeah, we deployed on Monday.13:04
StevenKcjwatson: Sorry, I should have said. cocobabana/cococabana is an LP in-joke13:04
StevenKcocobanana, even. Sigh.13:04
wgrantcjwatson: Actually, cocoplum isn't important here.13:05
wgrantcjwatson: Since binaries are all uploaded to cesium.13:05
=== jcsackett changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: jcsackett | Critical bugs: 237 - 0:[#######=]:256
StevenKAnd cesium is NDT13:05
wgrantIt'll hopefully have this tomorrow morning.13:06
wgrantIn 12 hours or so.13:06
StevenKabentley: O hai13:07
abentleyStevenK: Hai!13:08
StevenKabentley: wgrant and I are of the opinion that StaticDiffs are unusd as of Janurary 2010. I've put together an MP to remove them, would you be able to take a peek at it?13:08
wgrantRevisionMailJob still calls BranchDiffJob to generate but them, but RevisionAddedJob is now used for that instead.13:09
StevenKabentley: Mind you, I'm not asking for a review, more a "Yes, this looks fine to do." or "No, please watch out for X, Y and Z."13:09
wgrantRevisionMailJob is only ever called for initial and removed scans.13:09
cjwatsonoh, yes, good point.  excellent.13:09
wgrantNo staticdiff has been created in 18 months.13:09
abentleyStevenK: they are no longer used in new reviews, but do we want to delete them from old reviews?13:09
wgrantcjwatson: I hope we've not blocked too much... Debian's only been at it a week or so, right?13:10
cjwatsonabout that, yes.  it was a problem for an eglibc upload the other day, but quickly worked around and I haven't heard of any other instances yet.13:11
StevenKabentley: TBH, it's 18 month old data, at least, and the code tries a PreviewDiff first if that exists, right?13:11
cjwatsonI think it's worked out OK.13:11
abentleyStevenK: Yes, it is old.  Trying a preview diff first shouldn't be relevant, because old reviews won't have a preview diff.13:12
StevenKLet's see ...13:12
StevenK33k static diffs on DF. That's a little more than I was hoping.13:13
dobeyabentley: morning :)13:14
abentleydobey: morning.13:14
dobeyabentley: i don't think that bug is quite fixed yet :(13:15
dobeyabentley: bug #833147 that is. see my last 2 comments on it13:15
abentleydobey: Is this about +activereviews?13:15
_mup_Bug #833147: landing_candidates does not show proposals for private branches <qa-ok> <regression> <Launchpad itself:Fix Released by abentley> < https://launchpad.net/bugs/833147 >13:15
dobeyabentley: yeah, and the count seems wrong13:15
StevenKwgrant: What do you think?13:15
abentleydobey: according to danilos, +activereviews doesn't use landing_candidates.13:16
wgrantStevenK: If we do want to keep them, we could turn them into fake previewdiffs or something.13:17
wgrantKeeping the legacy table around forever seems undesirable.13:17
abentleydobey: you may be thinking of bug #83318413:17
_mup_Bug #833184: Branch.getMergeProposals breaks with private branches. <tech-debt> <Launchpad itself:Triaged> < https://launchpad.net/bugs/833184 >13:17
danilosabentley, well, I confirmed that the query count is still not insane on the page (for the timeout I was fixing, it was about 250 today when it used to be around 1500)13:17
danilosabentley, I've basically changed +activereviews to not use landing_candidates so I could make it use getMergeProposals() with eager loading of a bunch of related data13:18
abentleydanilos: was that in the same branch?13:18
dobeyabentley: is that what is used by the bit in launchpad that sets a proposal/branch to 'merged' once it's been merged into its target?13:19
danilosabentley, I think so, yes13:19
abentleydobey: I don't recall which APIs are used by that.13:19
dobeyabentley: ok. it's also not working now :(13:20
dobeyabentley: we have a branch that landed ~13 hours ago, but i haven't got a mail from LP and it hasn't set the proposal/branch to 'merged'13:22
abentleydanilos: I don't see that change in the diff.13:22
StevenKwgrant: That sounds like a good idea -- do you think that blocks the branch I've worked on.13:22
abentleydanilos: found it.  Darn.13:25
abentleydobey: no, the merge detector is using landing_candidates, not getMergeProposals.13:28
dobeyabentley: hrmm. i wonder why it's not working then :-/13:28
abentleydobey: What are the names of the branches involved?13:29
dobeyabentley: lp:~pedronis/ubuntuone-servers-common/sqlalchemy-uris -> lp:ubuntuone-servers-common13:29
wgrantStatus: Merged13:30
wgrantThe MP is still Approved, but the branch merge was detected.13:30
wgrantStevenK: Your branch drops access to the staticdiffs, so yes, probably.13:30
dobeyok, so it's half-broken then :)13:30
wgrantabentley, danilos: Any reason not to roll back both the branches?13:31
deryckhenninge-lunch, ping for standup13:31
dobeymaybe related to the fact that the number of activereviews is wrong?13:31
abentleywgrant: I don't think so.13:32
wgrantIf you land the reversion now we can probably deploy it in 10-12 hours.13:33
wgrantI'd be reluctant to roll production back 80 revs now, though.13:33
abentleywgrant: OTP13:34
StevenKwgrant: When you say make them previewdiffs, do you mean a garbo job or a query?13:35
wgrantStevenK: It's only 30000 rows. Query.13:36
wgrantStevenK: But we need to determine if that is acceptable.13:36
=== henninge-lunch is now known as henninge
StevenKSELECT count(*) from branchmergeproposal where review_diff is not null; => 1211113:37
StevenKSo 20,000 of those are effectively abandoned?13:38
StevenKabentley: Okay, so if wgrant and I can work out a migration plan, you're happy to see it be removed?13:38
abentleyStevenK: sure.13:38
StevenKabentley: Excellent, thank you.13:38
wgrantabentley: Any problem with just turning all those ancient ones into fake preview diffs?13:39
abentleywgrant: I don't think so.13:40
StevenKSo am I right that ~20,000 are dead/unlinked?13:41
wgrantStevenK: They're possibly from RevisionMailJobs, but I'd really expect more...13:41
abentleydanilos: I will go ahead and (mostly) roll back our revisions.  Cool?13:43
wgrantabentley: Please roll back entirely, unless you have an extremely compelling reason not to.13:44
abentleywgrant: I will not roll back the test that I added to ensure this doesn't happen again.13:44
wgrantMakes tracking easier, and gets us back to a known-good state.13:44
wgrantThat sounds like a good idea.13:44
StevenKBah, Curtis, stop that!13:47
abentleywgrant: Is it possible that dobey's misseed merge detection happened before the deployment?13:50
bigjoolsStevenK: he's only after the karma :)13:51
StevenKbigjools: Are you getting the e-mails too?13:51
wgrantabentley: It probably did.13:51
wgrantabentley: The deployment was 14 hours ago.13:51
dobeyabentley: i don't know how it could have merged before the deployment, since it landing depended on the landing_candidates fix?13:52
wgrantabentley: But Branch:+activereviews is still empty, Product:+activereviews shows 1 branch, and Branch:+index shows 2 branches.13:52
wgrantSo something is still pretty screwed.13:52
abentleywgrant: I grant that activereviews is screwed, but if something's wrong with merge detection, it's a separate something, because merge detection uses landing_candidates.13:53
wgrantabentley: Ew.13:53
wgrantabentley: That's not ideal.13:53
wgrantabentley: I guess we should check scanner logs...13:54
danilosabentley, sure, I don't think I can fix it today13:56
danilosabentley, (sorry, otp)13:57
jelmerjcsackett: thanks for the reviews13:58
jcsackettjelmer: you're welcome. :-)13:58
wgrantabentley: Of course, I can see trunk, so I can just check when the merge happened.13:58
wgrantDate: 2011-08-24 23:46:4913:59
wgrantMiddle of the rollout.13:59
wgrantBut appservers generally update before loganberry.13:59
wgrants/loganberry/ackee/, now.13:59
abentleywgrant: so, race condition.13:59
wgrantSo tarmac would have seen the branch before the scanner was fixed.13:59
abentleydobey: it appears the scan happened halfway through the deployment, when the scanner was broken, but the API was fixed.14:04
dobeyabentley: ok, so just bad timing?14:04
abentleywgrant, danilos, deryck: landed rollback as r1378714:04
wgrantabentley: Thanks. All except that test?14:05
abentleywgrant: Yes.14:05
wgrantI will see that it's rolled out ASAP in the morning.14:05
deryckabentley, indeed, thanks for doing this!14:05
abentleywgrant: Oh, darnit, I forgot to use --rollback.14:05
danilosabentley, thanks14:05
danilosabentley, it's already rolled out so not a big deal, I'd say14:05
wgrantabentley: Not too critical, since we're not rolling back prod.14:05
wgrantqa-tagger won't see the bad rev even if we mark it bad.14:06
wgrantabentley: Care to update the IncidentReport?14:06
abentleywgrant: true.14:06
abentleywgrant: sure.14:06
dobeyabentley: can we make the scanner run for that branch again? or should i just set status manually? there was some reason we stopped having tarmac set the status, but i don't remember what exactly. just remember it messed with LP automagic stuff14:06
abentleydobey: just set the status manually.14:07
dobeyso just the reviews count and +activereviews issue it seems.14:09
dobeywgrant, abentley: thanks guys14:09
wgrantdobey: https://code.launchpad.net/ubuntuone-servers-common/+activereviews should still work.14:09
wgrantJust the branch-specific one is broken.14:09
dobeyright, ok14:10
bigjoolsanyone got any strong opinions on whether constants can/should go in enums.py or do we need a constants.py?14:17
baci'd vote for enums14:20
bigjoolsthat's what I was leaning to as well14:22
=== al-maisan is now known as almaisan-away
sinzuijcsackett, do you have time to review my two branches?14:37
jcsackettsinzui: i'm actually looking at your first one now.14:37
sinzuithank you14:38
nigelbwgrant: failed with that error you emailed about.14:42
wgrantnigelb: Landed.14:48
wgrantNight all.14:49
nigelbwgrant: Thanks. Night!14:50
benjihi jelmer, my bzr branch (https://code.launchpad.net/~benji/bzr/bug-702914/+merge/72239) has landed so the last thing to do is to either apply that patch to the LP snapshot or re-snapshot the current trunk.  I'm happy to do either of those if you point me at the branches in question.14:54
jelmerhi benji14:54
* jelmer looks at the bzr.dev log14:55
jelmerbenji: so, either way, I'll have to update my bzr-2.4b4 branch14:57
henningejcsackett: Hi!14:58
jelmerthat's currently on db-devel at the moment, so we can do some extended QA on staging14:58
henningejcsackett: I have to go now but if you could have a look at my latest branch, I'd be very pleased. ;-)14:58
henningejcsackett: https://code.launchpad.net/~henninge/launchpad/bug-824435-failure-reporting-3/+merge/7290814:58
jcsacketti'll take a look just as soon as i'm done with sinzui's, henninge. :-)14:58
jelmerbenji: So I guess the question is how urgent your fix is, and whether it can wait until bzr on launchpad is updated to bzr 2.4.014:58
deryckabentley, I'll be about 5 minutes late to our call, but meet you in mumble then, if cool with you.14:58
henningejcsackett: there are links to diffs in the cover letter as the branch is quite big.14:59
henningejcsackett: thanks, that's great! ;-)14:59
abentleyderyck: sure thing14:59
benjijelmer: it's relatively low on the urgency scale, and also quite low on the risk scale too, so I'm cool with however you want to handle it14:59
jelmerbenji: in that case, let's just take a slightly newer revision of bzr.dev when we update devel to bzr 2.415:00
jelmerbenji: that seems like both the safest thing to do, and involves the least amount of work15:01
benjijelmer: cool.  In that case I'll consider my work done.  Thanks15:01
jelmerbenji: thanks for fixing that :)15:08
benjimy pleasure15:08
=== almaisan-away is now known as al-maisan
LPCIBotProject devel build #993: STILL FAILING in 5 hr 37 min: https://lpci.wedontsleep.org/job/devel/993/15:13
bacabentley: do you have time to talk for a bit about a but i'm working?15:14
abentleybac: OTP15:14
bacabentley: ok.  perhaps in a little while15:14
=== dpm_ is now known as dpm
jcsackettis diff generation for MPs down? i've been waiting for about 30 minutes for a diff on henninge's mp to generate ...15:27
* jcsackett digs through email to see if he missed a script failure notice15:28
=== beuno is now known as beuno-lunch
=== al-maisan is now known as almaisan-away
adeuringjcsackett: could you please review this MP: https://code.launchpad.net/~adeuring/launchpad/bug-739052-7/+merge/72917 ?15:44
jcsackettadeuring: sure.15:45
jcsackettadeuring: r=me.15:56
adeuringjcsackett: thanks!15:56
=== beuno-lunch is now known as beuno
=== deryck is now known as deryck[lunch]
=== matsubara is now known as matsubara-lunch
=== deryck[lunch] is now known as deryck
LPCIBotProject devel build #994: STILL FAILING in 2 hr 26 min: https://lpci.wedontsleep.org/job/devel/994/17:40
mrevellNight all17:45
abentleyderyck: so, that bug turned out to be a surprisingly simple fix.  Who do we have who's up on Twisted?17:56
deryckabentley, hmmm, so I'd point you at allenap, bigjools, lifeless, or wgrant, I think. :)18:00
abentleyderyck: Cool, thanks.  We need a table for this.18:01
=== matsubara-lunch is now known as matsubara
LPCIBotProject devel build #995: STILL FAILING in 30 min: https://lpci.wedontsleep.org/job/devel/995/18:10
abentleyderyck: pre-imp?18:39
deryckabentley, do you mind asking someone else?  Sorry to pass.  Just have couple things I need to get done before EOD.18:40
deryckabentley, but I absolutely will if no one else is available.18:40
abentleyderyck: okay.18:40
abentleysinzui: pre-implementation call?18:42
dobeywhen one marks a milestone inactive, aren't the bugs targeted to that milestone supposed to still show that milestone value in the bugs page?19:01
dobeyi thought it did…19:01
sinzuiabentley, okay. in a few minutes one I extract myself from a breakpoint19:09
sinzuiabentley, I am on mumble?19:23
abentleysinzui: okay.19:23
abentleysinzui: bug 8207719:24
_mup_Bug #82077: [apport] gnome-volume-control crashed with SIGSEGV in g_type_class_meta_marshal()  <GNOME media utilities:Fix Released> <gnome-media (Ubuntu):Fix Released by desktop-bugs> < https://launchpad.net/bugs/82077 >19:24
abentleysinzui: bug 82007719:24
_mup_Bug #820077: TeamMembershipTransitionError: Bad state transition from DECLINED to INVITED  <oops> <Launchpad itself:In Progress by abentley> < https://launchpad.net/bugs/820077 >19:24
baccjwatson: colin could you have a look at https://answers.launchpad.net/ubuntu/+source/ubiquity/+question/158404 when you get a chance?  the user has sent email to us asking for some resolution or a comment.19:26
sinzuiabentley, https://bugs.launchpad.net/launchpad/+bug/10971619:32
_mup_Bug #109716: Cannot join open team if there's an existing membership pending approval <lp-registry> <teams> <Launchpad itself:Triaged> < https://launchpad.net/bugs/109716 >19:32
LPCIBotProject db-devel build #825: STILL FAILING in 6 hr 10 min: https://lpci.wedontsleep.org/job/db-devel/825/19:38
lifelesshi flacoste :)19:47
lifelessyou have mail; we might want to touch base on the general principle today.19:47
lifelessbah, no gary. I wonder who else knows buildout really really well :)19:48
james_wlifeless, is this still the recursive issue?19:50
james_wdoes something like http://pypi.python.org/pypi/cp.recipe.cmd/0.1b help?19:50
lifelessI'd like something with a -little- more awareness of options and so on19:51
flacostehi lifeless19:53
flacostelifeless: i don't think we need to touch base over that, i completely agree with your last email19:55
flacostelifeless: about buildout, i probably enough to get into trouble, i've reviewed and discussed all of gary's work on it at length with him19:56
flacosteprobably _know_ enough19:56
lifelessflacoste: ah good, I'm glad we agree. Buildout:19:58
lifelessflacoste: I have this gpgfixtures project extracting gpg stuff; a wsgi, in-memory keyserver and so on19:59
lifelessflacoste: I'd *like* to demonstrate the microservice fake setup where LP *runs* the fake service without being able to *import it*19:59
lifelessflacoste: so it looks like a complete abstraction barrier19:59
flacostelifeless: i think i know how to do this, voice is probably better, want to skype me?20:00
flacostelifeless: it's seems even easy :-)20:01
lifeless2 secs20:01
lifelessflacoste: lp:python-gpgfixtures20:20
lifelessflacoste: btw skaet is having trouble - https://bugs.launchpad.net/launchpad/+bug/83408220:21
_mup_Bug #834082: Regression? can not target to series or update assigned to for ubuntu bugs <Launchpad itself:New> <Ubuntu:New> < https://launchpad.net/bugs/834082 >20:21
lifelessis there someone still live in maintenance to look ?20:22
flacostederyck: if you are around ^ ^ ^20:22
deryckI'm around.20:23
* deryck looks back20:23
deryckthat sounds more like the group or her group membership changed.20:24
lifelessflacoste: bin/py -m gpgfixtures.keyserver20:24
* deryck looks at bzr log20:25
LPCIBotProject devel build #996: STILL FAILING in 1 hr 57 min: https://lpci.wedontsleep.org/job/devel/996/20:28
lifelessmdz took techboard out of udd today, but I don't htink that that would have been granting privilieges20:30
derycklifeless, I can't imagine.  If it's easy enough, might be worth adding it back as a simple test to see if she can work again. :)20:37
deryckI can't really see anything that looks like it would have changed series nominations and assigning bugs.20:41
derycksinzui, do you know of any change that might now be keeping skaet from setting bugs to series and assigning bugs to a team?20:42
sinzuideryck, no clue20:52
derycksinzui, ok, cool.  thanks.20:52
sinzuideryck, I do not see a skaet in launchpad20:53
derycksinzui, she filed a bug.  bug 83408220:53
_mup_Bug #834082: Regression? can not target to series or update assigned to for ubuntu bugs <regression> <Launchpad itself:Triaged> <Ubuntu:New> < https://launchpad.net/bugs/834082 >20:53
sinzuideryck, that relates more to bug nominations than bug targeting20:55
derycksinzui, indeed.  Did I say targeting?  Sorry.20:55
lifelessshe is rm20:55
lifelessso she never nominates :)20:55
derycksemantically, that's true, but it still goes through Bug.addNomination, I believe.20:57
sinzuiI see she is a direct and indirect driver for the series. I believe she should have permission.20:58
deryckyeah, i would think so, too.20:58
sinzuideryck, I think the picture already shows that the bug is nominated and accepted20:58
sinzuiThis might be a case where we allow users to attempt a non-change action, and then show an error20:59
derycksinzui, oh, right.  I didn't even catch that.21:01
sinzuideryck: I think the action here is that he wants to assign teams and target milestones. which the image implies she can do, but a bug-nomination constraint is being called after the bug is already accepted? Since the behaviour/checks are different between the DSP and (series)SP contexts, I think something has changed to distroseries bugtargets21:04
deryckah, yes.  hmmmm21:05
lifelesssinzui: she :)21:06
deryckSo she's not using the drop down form under the task.  She's trying to target to maverick and assign desktop team....21:14
deryckand is using the page via the "target to series" link and the js assign someone widget....21:14
deryckso this smells like group changes, not code changes, to me.  since the two are really unrelated.21:14
derycksinzui, lifeless ^^21:15
deryckhi skaet, we're talking about you ;)21:15
lifelessderyck: skaet: You've probably met :P21:15
deryckskaet, this feels to me like it has to be something changed in the groups, since targeting to series and assigning someone to the bugtask are not really related.21:17
skaetderyck,  not aware of any changes to my groups recently.21:19
sinzuideryck, the drivers for maverick and oneiric are identical: ~ubuntu-drivers, ~ubuntu-release. BugNomination.canNominate() will exit early with True for a driver member. The series are only different because one is a conjoined slave21:19
derycksinzui, so I'm doing some poking at the code myself, and see it's BugNominationView that raises the error and does its own check.21:21
sinzuiExcellent the view ignores the object's own definition of who can change it21:22
deryckbut it is basically the same, a check against launchpad.driver.21:22
deryckthis stuff hasn't been touched in awhile, if bzr blame is to be believed.21:24
sinzuideryck,  the driver check between the view and the object look identical and she is in both driver teams21:25
derycksinzui, yeah, agreed.  I don't see how this could be failing.21:26
deryckis there some insight there, lifeless?  or just general excitement? :)21:32
deryckskaet, so is this accurate -- you *can* target to series when there isn't one set, but *cannot* target to series when there is one already set?21:34
skaetderyck,  don't believe that is the case.    See the links in the bug.   series has been set in both cases (same bug).21:36
deryckskaet, but the one you did was set for one task, but not another?  and you set it to Oneiric for the other?  or no?21:37
skaetderyck,  it was set to Oneiric before I encountered it.21:38
skaetif it has /oneiric/ in the path,  I can't seem to target series.21:39
deryckoh!  I get what you're saying now.21:39
deryckskaet, so you're clicking through from a series list of bugs and then can't target to a different series from that url?21:40
lifelessskaet: what happens if you go to the other task on the bug21:40
lifelessand then target to maverick or whatever you're trying to target to ?21:41
lifelessskaet: (or are you trying to target to oneiric ?21:41
skaetlifeless was going to target it,  so it got looked at for maverick.21:41
deryckskaet, but it works if you drop the "oneiric" from the url?21:41
lifelessso yeah, head to the upstream task, and try to add a task there for maverik21:42
skaetderyck,  yes,  that is what works.21:42
deryckskaet, ok, so at least we have a work around for that :)21:42
derycknot nice, but at least you can get by until we figure it out.21:43
deryckskaet, but you have nothing working for assigning to a team?  Or this also works from the non-oneiric url?21:43
skaetderych,  no pencil icon beside name on either link, but dropdown seems to work from path without /oneiric/ in it.21:45
skaetderyck, ^^21:45
skaetso work around there too.21:45
deryckskaet, ok.  so at least you can work around that, too.21:45
skaetyup,  will use these for now.   But given the beta bug set about to hit,  please, please, please get the more efficient ways working again.21:48
deryckskaet, oh, definitely.  I'll add it to my squad's board to figure out as soon as we can.21:48
skaetderyck, thanks!21:49
deryckskaet, np!21:49
=== matsubara is now known as matsubara-afk
deryckok, I'm out.  Later on, everyone!  Thanks, sinzui, for the help thinking about that issue.21:54
=== jcsackett changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | Critical bugs: 237 - 0:[#######=]:256
nigelbok, so apparently, I can't join here until identified.22:29
=== wallyworld_ changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: wallyworld* (jtv) | Critical bugs: 237 - 0:[#######=]:256
wgrantAhh, quality sampledata.23:39
wgrantWhy do people insist on hyphens :(23:39
wgrantNOT VALID23:39
james_wI didn't think the filename was actually important?23:42
StevenKIt is!23:42
james_wi.e. you could have annoy-wgrant.dsc and it would still be valid if the contents made sense23:43
StevenKThe format of the filename is specified in Policy, I think23:43
wgrantjames_w: It's certainly important for all the other files.23:44
wgrantjames_w: Otherwise dpkg-source can't know what to do with them.23:44
james_wthey obviously have to match the names listed in the .dsc23:45
wgrantBut this stuff probably isn't specified in Policy.23:45
wgrantI'm not sure any of the source formats are.23:45
james_wI'm sure there are many things (I'm sure I've written some) that assume the filename format, but I don't see why it would be strictly required23:45
wgrantJust the source package layout itself.23:45
james_wfrom a schema point of view23:45
wgrantSo the dsc is indeed unspecified.23:46
wgrantAlthough that sectioin is a few years out of date...23:46
james_wso maybe those files are named like that to test that files named like that are handled, as there are some old files in Debian like that :-)23:48
wgrantWe don't handle them.23:48
wgrantExcept for a couple of methods.23:49
wgrantThey certainly can't make it all the way through.23:49
wgrantNever could.23:49
wgrantThey're only used for a few small unit tests.23:49
james_wthat concludes today's episode of pedantry, as you were23:50
wgrantI think it's generally safe to assume that terrible old stuff in LP is just terrible old stuff, and not actually real.23:50
lifelesskiko will know :)23:50
lifelessfor those things in particular23:50
wgrantI'm currently fixing a unit test for a method in a script that was never used, which just feeds data to archiveuploader which will reject hyphens anyway.23:51
wgrantSo I'm not sure it's particularly important :)23:51

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