/srv/irclogs.ubuntu.com/2011/04/29/#launchpad-dev.txt

lifelesslk00:00
poolielifeless, hi there,00:02
pooliewe're just cleaning out some bugs like bug 722043 where bzr users report ssl timeouts getting to launchpad00:02
lifelesshi poolie00:02
_mup_Bug #722043: bzr crashed on launchpad-login <amd64> <apport-crash> <natty> <running-unity> <bzr (Ubuntu):New> < https://launchpad.net/bugs/722043 >00:02
poolieobviously there is one easy bug here which is that bzr should not give a traceback00:03
poolieassuming we are not doing something dumb that gives a short timeout or causes a spurious failure00:03
poolieand also assuming it's not a local network problem00:03
pooliei guess it may be an lp issue00:03
pooliebut, probably just operational or intermittent, and perhaps not worth fliing as a bug00:03
sinzuiwgrant: mumble?00:03
lifelesspoolie: this is the thing that that thomas guy from openstack whas having issues with, Ithink00:04
pooliethere are a few dupes00:04
lifelessmmm00:04
lifelessso launchpad-login talks to xmlrpc00:04
lifelessthe get one is talking to a different vhost00:04
lifelessand not using the xmlrpc proxy00:05
lifelessperhaps its the same, perhaps not00:05
lifelessanyhow00:05
poolieso, soon if not already, we should cease using xmlrpc on trunk00:05
lifelesswe want to know of these issues so we can fix, where the fix is at all doable by us00:05
poolie(maybe not for anonymous access?)00:05
wgrantsinzui: mumble mumble sure.00:05
pooliebut the one talking to the webapp will still exist00:06
wallyworldsinzui: we can hear you00:06
lifelessyup00:07
=== sidnei_ is now known as sidnie
=== sidnie is now known as sidnei
wgrantlifeless: I eliminated packagebuild last night.00:54
wgrantbuildfarmjob will hopefully die today.00:54
wgrantApart from a couple of Storm bugs it was fairly simple.00:55
wgrant(inherited References == breakage)00:55
lifeless\o/00:56
lifelesswgrant: and bpb ?00:57
wgrantlifeless: PB has been flattened into SPRB and BPB.00:57
lifelessoh right00:57
lifelessI mismentallyhandled your change00:57
wgrantThey both now reference BuildFarmJob, which I will hopefully flatten into them today,.00:58
wgrantBut it's slightly harder.00:58
lifelessso bfj is all that remains to flatten00:58
wgrantSince we query based on it at times.00:58
lifelessit has three users00:58
wgrantYeah.00:58
wgrantThere are about two or three methods that use BuildFarmJob in a generic way, so I just need to fix them.00:58
* wallyworld off to doctor for blood test01:26
lifelesshmm02:52
lifelesswe needs a deploy02:52
wgrantWe do.02:53
* wgrant QAs process-accepted.02:53
* wallyworld shakes fist at windmill... again02:56
wgrantwallyworld: Oh?02:56
wallyworldwhy dies waits.forElement(xpath=xxx) work but asserts.assertNode(xpath=xxx) fail02:56
wallyworldsame xpath02:56
wgrantHah02:56
wallyworldhaven't looked at the code, but you would think it would work02:56
wallyworldanyhoo, another test passes02:57
wallyworldagain02:57
wgrantwallyworld: Which? The broken one?02:57
wallyworldtill next time something breaks02:57
wgrantStevenK: Is canonicloud broken?02:57
wallyworldtest_filebug_extra_options02:57
StevenKLikely suffering from the release DDoS02:57
wgrantYeah.02:57
wgrantwallyworld: Hmm.02:57
wallyworldwgrant: plus the xpath was actually wrong02:58
wallyworldwgrant: i fixed it and then was wondering why it still failed02:58
StevenKwgrant: Yes, tis broken.02:58
wgrantStevenK: Great.02:59
wgrantAs long as it's not our problem.02:59
StevenKHa. Those nodes are going to take a WHILE to come up.03:08
wgrantOh?03:09
wgranta.u.c overloaded?03:09
StevenKYup03:09
lifelesshmm04:00
lifelessnow I have unity on my primary machine, more quirks emerge/04:00
wgrantOh?04:01
lifelessthe machine scrollbars don't show up reliably04:01
lifelessI'm having to do a binary chop along the length of the window to find the horizontal scroll handle04:02
wgrantHah04:02
lifelesswgrant: you don't have that problem?04:03
wgrantlifeless: It seems to only appear next to the thumb.04:04
lifelesswgrant: thumb?04:04
wgrantlifeless: The orange/filled bit of the scrollbar.04:04
lifelessI just have a thin grey line along the bottom of the screen04:04
wgrantOh, not sure about horizontal scrollbars.04:05
lifelessOk, squinting I can just make out that there is a difference ther.04:05
lifelessI think this sill last until I get a headache04:06
lifeless:(04:06
wgrantI quite like the new scrollbars.04:06
wgrantExcept the whole "1px should be enough for everybody" thing.04:07
lifelessI can't make out the thumb on the vertical on my CRT at all04:08
wgrantHmm, it's fairly obvious here.04:08
wgrantBut I don't use a CRT.04:08
lifelessI have to move the mouse downthe window  carefully to stay in the grab region width - until the grab appears04:09
lifelessto figure out how far through the document I am04:09
* StevenK tries to work out how to get from a ResultSet to a hash05:19
lifelessa hash?05:20
StevenKEr, sorry, Perl-ism05:20
StevenKdict05:20
lifelessyour perl is showing ...05:20
StevenK:-)05:20
lifelessmap/dict/whatever you want05:20
lifelessthe default is to give you objects05:20
StevenKHm, which aren't really keyable05:20
StevenKBut the code looks it up anyway05:21
lifelessperhaps some context would help05:21
StevenKlifeless: I'm fixing populate_distroseriesdiff to use DistroSeriesParent05:21
StevenKlifeless: DistroSeriesParent is a table that shows the relationship between a parent and a derived series -- please note that this is a Many-to-1 relationship WRT to the child.05:22
StevenKlifeless: So I'm fixing the code to deal with multiple parents, but there is code that looks up all derived series -- this used to be simple, since we assumed that if IDistroSeries.parent_series was set, and wasn't the same Distribution as the child, they are derived.05:23
lifelessStevenK: isn't it just a join now ?05:24
StevenKSince I deal with multiple parents, I need to loop, which is fine, but I'm trying to work out how to store the mapping of child to parent(s) -- a dict of {'child': ['parent1', 'parent2']} sounds like a good solution05:25
lifelesschild_distroes = list(store.find(distroseries, distroseriesparent.childID==distroseries.id, distroseriesparent.parentID==self.id))05:25
lifelessdo you need transitive children or direct children ?05:26
StevenKActually, this is seperate code, and is wanting to find all derived distroseries, regardless of parent05:26
lifelessif you need transitive children you want a with clause and a recusrsive query.05:26
lifelessStevenK: so you want all distroseries that are derivatives?05:26
StevenK(IE, self.id makes no sense)05:26
lifelessderivatives = list(store.find(distroseries, distroseriesparent.childID==distroseries.id))05:27
StevenKlifeless: I can find that easily enough -- I'm trying to figure out how to store the information that doesn't result in a massive loop over a ResultSet05:27
lifelessderivates = set(store.find(distroseries, distroseriesparent.childID==distroseries.id))05:27
lifeless?05:27
StevenKBut how does that help the multiple parents case?05:28
StevenKI'd also like to get the parents at the same time -- pre-loading them05:28
lifelessStevenK: you didn't say you wanted the parents :)05:29
StevenKOh, sorry. I do. :-)05:29
lifelessderivatives = set(DecoratedResultSet(store.find((DistroSeries, DistroSeriesParent), DistroSeriesParent.childID==DistroSeries.id), operator.itemgetter(0)))05:30
lifelessmmm05:31
lifeless.parents will be a join05:31
lifelessso you'll need a more complex one - you need a cached property on DistroSeries that can remember the parents for you05:31
lifelessthen05:31
lifelessdef eager_load(rows):05:31
lifeless    for distroseries, parent in rows:05:31
lifeless    cachedpropery_manager(distroseries)._parents.append(parent)05:32
lifeless[with the obvious tweak to handle the first parent]05:32
lifelessand the query becomes05:32
lifelessderivatives = set(DecoratedResultSet(store.find((DistroSeries, DistroSeriesParent), DistroSeriesParent.childID==DistroSeries.id), pre_iter_hook=eager_load)05:32
lifeless)05:33
jtvI finally realized why people wear trousers at work.05:43
StevenKJust now?05:44
jtvYes.  Sometimes coffee mugs just break at the handle, and I just realized how much worse things could have been.05:44
jtvI knew there had to be a reason, since so many people were doing it.05:44
jtvBut does that imply a good reason?  Many people use Windows.05:44
jtvSo quite an epiphany.05:45
jtv*However there is the corollary of multi-touch trackpads, Unity gestures, and electricity-conducing liquids not mixing well.05:47
jtvNo amount of trousing is going to help with that.05:47
jtvBetter shut down and let this dry up... no way I'm getting anything done like this.05:49
StevenKlifeless: Where is cachedproperty_manager defined? My grep didn't find it.05:52
lifelessfrom lp.services.propertycache05:53
StevenKTa, I shall dig there to make sure of _ placement and so on05:53
lifelessStevenK: I've given you a brief sketch; if you have trouble shout and I'll explain missing bits05:54
lifelessStevenK: this idiom is in reasonably widespread use05:54
lifelessFWIW05:54
StevenKDo you mean cachedproperty(distroseries)._parent, by the way?05:55
StevenKlifeless: ^ I don't think you do, since cachedproperty is a decorator06:12
lifelessright06:12
lifelessget_property_cache06:13
lifelesslets you get at the cache06:13
lifeless.parents should be the attribute, if the cachedproperty will be 'def parents'06:14
lifelessand you want the regular join attribute to be on _parents06:14
lifelessso you have06:14
lifeless@cachedproperty06:14
lifelessdef parents(self):;06:14
lifeless    return list(self._parents)06:14
lifelesswhich will support folk doing late evaluation of the parents06:14
StevenKI see where you're going -- adding a decorated method onto IDistroSeries06:16
lifelesswhen eager loading you inject into the property06:22
lifelessevening stub07:44
lifelessI haven't made any trigger progress07:44
lifelesshad a day of copying vms around basically ;<07:44
stubyo07:44
stubok07:44
pooliehi all08:00
pooliethat '-' bastard is a slack reviewer08:00
StevenKHaha08:03
StevenKpoolie: There is no OCR for Friday APAC08:04
poolieStevenK, i don't recall often seeing one in apac timezones08:04
pooliein fact i had kind of thought the concept was dead entirely08:04
pooliebut apparently not in eu/us08:04
StevenKpoolie: https://dev.launchpad.net/ReviewerSchedule08:04
pooliewhat should i do to get https://code.launchpad.net/~mbp/launchpad/mail-cleanup/+merge/58867 going again?08:05
wgrantAPAC reviewers tend to defect to other parts of Canonical.08:05
StevenKHaha08:05
poolieoh huh08:05
StevenKpoolie: Given the time, I'd suggest waiting for adeuring and asking him.08:06
poolierealistically i may not be able to land it and catch fallout before i leave for uds etc08:06
pooliek thanks08:06
StevenKI think wallyworld should become a reviewer*08:06
* StevenK drops thumper and leonardr from the table08:07
pooliegood idea08:07
StevenKAnd rockstar :-(08:08
stubpoolie: That MP looks approved to me08:10
pooliebecause of the 'approve code'?08:11
StevenKYes, benji approves08:11
poolielp is a bit unclear about votes vs mp status08:11
wallyworldStevenK: i sort of already am, but maybe not "formally"08:11
poolieso i can set the state to approved?08:11
StevenKpoolie: If you feel it has been reviewed enough, sure.08:12
pooliei would actually like a response to my comments08:12
poolieor a sanity check of them08:12
wallyworldStevenK: but i see i'm not listed. i'll get that fixed08:12
StevenKwallyworld: I'd suggest you talk to bac08:13
wallyworldStevenK: ok. i originally talked to tim08:13
StevenKpoolie: Right, if you're not sure, then I suggest you do what I first suggested and discuss your concerns with the OCR today, which is Abel.08:13
wallyworldStevenK: i'm rooming with bac at the summit and uds, so i'll bring it up in person :-)08:13
stubpoolie: I'm looking over it now. First thing, is bare execpts are always evil and should be except Exception:, or else you cause grief with Ctrl-C handling etc.08:13
StevenKOr you could wait for stub to finish. :-)08:14
StevenKwallyworld: Sounds like a plan. Then he can't escape. :-)08:14
pooliethanks stub08:14
wallyworldyup :-)08:14
pooliethe bare except was already there, but i don't mind changing it08:14
pooliesince it's generating an oops, arguably it should be catching internal errors08:15
stubIt would be nice. I consider it a bug unless there are big fat comments explaining why BaseException exceptions need to be caught too.08:15
pooliebut as i said, recovering from that gets messy08:15
stubFrom my POV, anything that it doesn't catch should either not log an oops, or will mean the environment is so unstable you probably can't log an OOPS.08:16
stubSo +1 for the big fat comment, but I don't think it justifies the bare except in this case but haven't thought it through as much as you might have :)08:17
* stub wonders how this interacts with the OOPS handling built into the logging system now08:18
stubI guess it isn't invoked since you are not calling log.exception()08:18
stubAnd you need to do it yourself to email the OOPS id.08:19
lifelessy'know, friday night.08:19
lifelessI might have a *beer*08:19
stubYou rebel.08:19
stubpoolie: Do we want an expiry time for the email we stuff in the Librarian? Or is the default 72 hour stay of execution enough?08:20
wgrantlifeless: Fixed your machines yet?08:20
poolielifeless, you promised me a beer last week08:20
pooliestub, i'm just moving the exception code around not changing it08:21
pooliesimilarly for the oops logging08:21
poolieif people are finding 72h enough so far perhaps that is enough08:21
wgrantYes, but we have so much bad code it's always good to be pedantic about stuff as we see it :)08:21
stubok08:22
lifelesspoolie: I did08:22
lifelesspoolie: if you're ok with the odd 'one sec while I turn the potatoes' we could chat ~now08:22
stubpoolie: You can fix a long standing bug here if you like by converting the domain to lowercase around line 41508:24
stubsecond review in anyway, not that it is needed :)08:28
=== almaisan-away is now known as al-maisan
lifelesspoolie: so, did you want skypebeer ?08:32
lifelesswallyworld: sorry mate, bad news for you08:37
pooliethanks stub i appreciate it08:41
adeuringgood morning08:41
StevenKadeuring: Morning!08:41
adeuringhi StevenK!08:41
pooliehi adeuring08:43
adeuringhi poolie!08:43
pooliei put up a tiny mp at https://code.launchpad.net/~mbp/launchpad/feature-scope-cleanup/+merge/5946008:43
poolieedging up on more scope work08:43
pooliei'd appreciate a review08:44
pooliealso a meta review on whether it is too small of a chunk to land08:44
poolie(otoh it is probably all i will do on that today, so it's worth pushing anyhow)08:44
wallyworldlifeless: ?? bad news about?08:47
lifelesswallyworld: gpghandler branch08:47
wallyworldlifeless: yeah, but i redid it and it's back in ec208:47
lifelesswallyworld: your redo tries to run twisted code in the main appserver stack08:48
lifelesswallyworld: I assure you that thats not a good idea08:48
wallyworldoh. why?08:48
lifelessbecause its zope08:48
lifelessnot twisted08:48
wallyworldzope is an app server framework, no? so surely it can handle services eunning within it?08:49
lifelessits threaded08:49
lifelesszope is callbacks in a single thread08:49
lifelessentirely different models08:49
wallyworld:-(08:49
lifelessnot like the EJB environments you may be used to08:49
wallyworldyeah, looks like i found ou tthe hard way08:50
lifelessimagine running tomcat specific code in a jboss container08:50
wallyworldso i'll cancel the ec2 run08:50
lifelessit might work08:50
lifelessor it might appear to work and crash and burn after several days uptime08:50
lifelessI also noticed another bug08:50
wallyworldwell, the tests which instantiate the zope layer "work" in isolation. so perhaps the latter08:51
lifelessyah08:52
lifeless(and tomcat and jboss are near identical when you consider the zope / twisted differences)08:52
lifelessI've commented on the other bug08:52
wallyworldlifeless: perhaps the best solution is to create a cron script which just touches anything under /tmp/gpg-* ??08:52
lifelesswe have several hours analysis to do I suspect08:52
StevenKwallyworld: *Ew*08:53
wallyworldok, i'll look at the comment, after i play soccer08:53
lifelesswallyworld: Enjoy the weekend08:53
lifelesswallyworld: I think the right thing to do is to disable this 'feature' for now.08:53
wallyworldStevenK: i know, but atm i'm out of ideas08:53
lifelessthis is actually non-trivial engineering to fix.08:53
lifelessthe gpg check on upload is nice but not -required-08:54
wallyworldlifeless: so it seems08:54
lifelessit was added as part of migrating away from the zope ftp stack08:54
lifelessconflating two things08:54
lifelessI would like to see this work properly08:54
wallyworldlifeless: so, i'll back out my changes and just disable the check on upload?08:54
lifelesswallyworld: yeah08:54
wallyworldok08:55
lifelessI don't like the idea of a maintenance squad disappearing down this rats nest at the moment08:55
wallyworldyeah08:55
lifelesswe can have a high bug open to reinstate it08:55
lifelessand note that its a couple days work because having a static dir leads to conflicts, having dynamic dirs needs this if there is a tmpreaper, but 'this' needs to be conditional on the specific appserver thats running08:56
lifelessand AFAIK we don't have 'if' statements in our zcml08:56
lifelessI suspect that we process zcml so early in the piece you can't tell if its a twisted thing or not reliably. IMBW08:57
=== adeuring changed the topic of #launchpad-dev to: https:/​/​dev.launchpad.net/​ | On call reviewer: adeuring | https:/​/​code.launchpad.net/​launchpad-project/​+activereviews
rvbawgrant: Hi! As promised, I'm back with a question if you have a few minutes :)09:10
rvbaI finally decided to use Archive.checkUpload and not Archive.canUploadSuiteSourcePackage because if the user does not have the right perm, I need to be able to display the reason why not.09:11
rvbaBut my question is related to what you mentionned yesterday: the fact that in my first version I was using the source component instead of the destination component. Even looking at how this is handled inside canUploadSuiteSourcePackage I'm not really sure what to do: what component to pass to checkUpload that it.09:11
rvbaMore precisely (please correct me if I'm wrong):  the sync can be on a package that might not already exist in the destination series (so the sourcepackage.latest_published_component trick and the usage of a suitesourcepackage is not possible)09:12
wgrantrvba: Yeah, that's difficult. At the moment any component (but not packageset) uploader can upload a new package.09:13
wgrantIt's not a good solution.09:13
wgrantBut it is at least consistent.09:13
rvbathis strict_component parameter seemed kinda hacky indeed09:14
wgrantHacks? Surely not.09:14
rvbaho?09:14
wgrantI would replicate the hacky check for now.09:14
rvbaSo I guess my next question would be: why is this  strict_component needed?09:15
rvba(I suppose it's a use case I don't know about)09:15
wgrantrvba: So, originally only component-based upload privileges existed.09:17
wgrantPackageset- and sourcepackage-specific privileges are a new addition.09:17
rvbaI see09:17
wgrantSo initially it just took a component and person, basically.09:17
wgrantstrict_component is used when the package is new.09:17
wgrantSo there's no component to check.09:17
rvba# strict_component is True because the source package already09:18
rvba# exists (otherwise we couldn't have a suitesourcepackage09:18
rvba # object) and nascentupload passes True as a matter of policy09:18
wgrantSince there's no component to verify privileges against, and the package will end up in the NEW queue anyway (where it will be reviewed by an archive admin), it was decided to let any uploader upload it.09:18
rvba# when the package exists.09:18
wgrantRight.09:18
rvbaNot sure I understand what you're saying when I look at the comments I just pasted ...09:19
rvba(comments com from canUploadSuiteSourcePackage)09:19
wgrantThat's a new method, from after the new permission scopes were added.09:20
wgrantHave a look at Archive.verifyUpload.09:20
wgrantIt is a little confusingly structured.09:20
rvbaI thought that strict_component=True would be used when a package already exists (and thus is in a specific component)09:21
wgrantBut it first checks if you can upload to the package or its packageset: if so, success. Then it checks if you can upload to any components: if not, failure.09:21
wgrantRight.09:21
* rvba looks at verifyUpload09:21
wgrantThat's right.09:21
wgrantThen, if strict_component is set and the uploader doesn't have privileges on that component, failure.09:22
wgrantOtherwise success.09:22
wgrant18:17:52 < wgrant> strict_component is used when the package is new.09:22
wgrantBy 'used' I mean 'changed from the default', ie. set to False.09:22
rvbaok, makes sense ... if thought "used" = True.09:22
wgrantSorry, yeah, I was really unclear.09:22
rvbaso ... what component could I use for the sync to make sense ... I guess I have to do 2 different things. One if the package exists in the dest series and one other if it does not09:24
wgrantRight. If it does exist, use the destination component. If it doesn't, strict_component=False.09:25
rvbamakes sense ... but how can I figure out what the dest component is?09:25
wgrant        rejection_reason = self.policy.archive.checkUpload(09:26
wgrant            uploader, self.policy.distroseries, source_name,09:26
wgrant            self.changes.dsc.component, self.policy.pocket, not self.is_new)09:26
wgrantThis is what the uploader does.09:26
wgrantdsc.component is the old component, if it's not new.09:26
wgrantYou can probably just pass None if it's new.09:26
wgrantYou need to get the SourcePackage object (distroseries.getSourcePackage(sourcepackagename)), then use latest_published_component.09:27
rvbaok, makes sense. Thanks for the clarification, I really needed it :).09:27
StevenKself.changes.dsc.component likely won't exist for what you want to check.09:30
StevenKAh09:30
StevenKMaybe I should keep reading09:31
rvbaI think so :)09:31
poolieadeuring, could i have an OCR of https://code.launchpad.net/~mbp/launchpad/feature-scope-cleanup/+merge/5946010:56
adeuringpoolie: sure10:56
pooliethanks10:56
poolieis not very big10:56
=== al-maisan is now known as almaisan-away
adeuringpoolie: r=me11:18
poolieadeuring, thanks!11:52
deryckMorning, all.12:00
henningeHi deryck!12:02
henningederyck: great to hear you are ok12:03
deryckhenninge, thanks!  it's been pretty rough here in Alabama the last day or so.  lots of loss.12:03
henningeyes, it's been on the news here, too.12:04
deryckMy town was pretty hard hit.  I have friends who lost homes and loved ones.12:06
henningesorry to hear :(12:14
henningejtv: Hi!12:37
henningejtv: can you help me with triggering gettext validation errors?12:38
henningedanilos: Hi! ;)12:41
henningedanilos: maybe you can help me?12:41
daniloshenninge, hi, how about 'msgid "Blah %d"\nmsgstr "Foo %s"'? :)12:42
henningedanilos: yes, I got that. I am actually looking for that than format specifiers mismatch.12:43
henningedanilos: do you know any other way?12:43
henningedanilos: I am trying to see if bug 385086 can or needs to be fixed.12:44
_mup_Bug #385086: Non-ascii in error messages causes OOPS in +translate <lp-translations> <oops> <Launchpad itself:In Progress> < https://launchpad.net/bugs/385086 >12:44
henningedanilos: the problem is that the OOPS is gone and I am missing clues.12:44
daniloshenninge, imho, if you can't reproduce it, close it, and if it re-appears, we should re-open it with a more recent OOPS if we can find it12:51
henningedanilos: yes, that's what I was thinking.13:19
daniloshenninge, fwiw, looking at gettext source code, it seems to try very hard to not include any non-ASCII in error messages anymore, so closing it seems a good idea13:19
henningedanilos: thanks13:20
daniloshenninge, gettext-tools/src/format-invalid.h for reference :)13:21
henningedanilos: close as "Invalid"?13:23
daniloshenninge, yeah13:23
gary_posterstaging is dead.  doesn't appear to be my fault. :-P13:25
gary_posterno stub around. :-/13:26
gary_posterflacoste, fyi ^^13:26
gary_posterlifeless, I assume/hope you are weekending, but just in case, also ^^13:26
gary_posterwill ask losas on ops if they have any ideas13:27
dpmhi all, could someone tell me where I could check when the staging database was last synced with production? I know there is a url where I can see that, but I cannot find it right now13:46
benjijcsackett: will you be able to QA bug 769173 today?  There are a few things behind it that I'd like to get deployed.13:46
_mup_Bug #769173: "Hidden" comments should be visible to registry experts <qa-needstesting> <Launchpad itself:Fix Committed by jcsackett> < https://launchpad.net/bugs/769173 >13:46
wgrantdpm: https://staging.launchpad.net/successful-updates.txt -- last was restored on Sunday from a Friday or Saturday backup.14:00
dpmawesome, thanks a lot wgrant14:02
wgrantdpm: (of course it's down at the moment, but with luck will be back in a couple of hours)14:02
dpmwgrant, that's fine, the info you gave me was exactly what I needed14:03
jcsackettbenji: i see that i got a ping from you about qa, but my alert only showed part of the message. if it was about bug 769173, it's done.14:15
_mup_Bug #769173: "Hidden" comments should be visible to registry experts <qa-ok> <Launchpad itself:Fix Committed by jcsackett> < https://launchpad.net/bugs/769173 >14:15
benjijcsackett: great, thanks!14:15
flacostedpm, wgrant: i usually look at https://lpstats.canonical.com/graphs/StagingRestoreDurations/14:31
flacostea green bar shows a successful production restore/upgrade14:31
flacosteand red bars are successful partial upgrade14:31
danilosadeuring, hi, would you have time to look at https://code.launchpad.net/~danilo/launchpad/subscribe-unsubscribe/+merge/59511?14:32
adeuringdanilos: sure14:32
dpmflacoste, ah, great, thanks!14:32
danilosadeuring, it's a very short JS branch, and unfortunately, lacks tests because I am also working some more on the refactoring of that code14:33
adeuringok14:33
wgrantflacoste: Ah, I was using successful-updates.txt before I had access to lpstats. Didn't know about that one.14:34
LPCIBotYippie, build fixed!14:41
LPCIBotProject devel build #682: FIXED in 5 hr 27 min: https://lpci.wedontsleep.org/job/devel/682/14:41
adeuringdanilos: nice work. Just one minor remark: for me, the variable name "person_links" sounds more like a sequence, but it contains the number of links. What about renaming it to num_person_links?14:46
adeuringbut anyway, r0me14:46
adeuringr=me14:46
deryckback shortly.... swapping locations so grandparents can watch kids.14:46
danilosadeuring, heh, I know, but I'll have to wrap the line then :)14:46
danilosadeuring, thanks, I'll fix it14:46
adeuringdanilos: I see your point ;) leave it if you think it looks nicer ;)14:47
sinzuibac: adeuring: can either of you review my branch https://code.launchpad.net/~sinzui/launchpad/question-email-2/+merge/5943314:53
adeuringsinzui: I'll look14:53
=== bac changed the topic of #launchpad-dev to: https:/​/​dev.launchpad.net/​ | On call reviewer: adeuring, bac | https:/​/​code.launchpad.net/​launchpad-project/​+activereviews
bacthanks for the reminder sinzui14:54
adeuringbac: could you please have a look at this mp: https://code.launchpad.net/~adeuring/launchpad/bug-769293/+merge/5949614:57
bacadeuring: sure14:57
adeuringthanks!14:57
rvbaadeuring: could you please take a look at this MP: https://code.launchpad.net/~rvb/launchpad/change-perm-sync/+merge/59341 ?15:01
adeuringrvba: sure, let me just finish another one15:01
rvbaadeuring: great, thank you.15:01
bachi adeuring15:17
adeuringhi bac15:17
baci saw this comment "# and one common target, i.e., 2*N+3 targets for N duplicates." and find it a little confusing, given the values used in the following asserts15:17
baci, perhaps naively, thought the expected value would follow that formula15:18
adeuringbac: doesn't it? let me check...15:18
baccan you embellish your comment to explain why15:18
adeuringouch.. you're right..15:19
bacadeuring: otherwise i think the branch looks fantabulous15:20
adeuringbac: that should be N+315:20
adeuringjust a second...15:20
adeuringbac: and thanks :)15:20
adeuringbac:         # For N duplicates, we have N distinct targets, we have15:21
adeuring        # the targets for old master bug and for the new master bug,15:21
adeuring        # and one common target, i.e., N+3 targets for N duplicates.15:21
adeuringloks more sane, I think15:21
bacgreat15:21
adeuring...and i changed "for old master bug" to "for the old master bug"...15:22
adeuringsinzui: r=me15:24
sinzuithank you adeuring15:24
bacadeuring: done.  thanks for the nice branch.15:25
adeuringbac: thanks for the review!15:25
LPCIBotProject windmill build #226: STILL FAILING in 1 hr 7 min: https://lpci.wedontsleep.org/job/windmill/226/15:48
adeuringrvba: overall, a very nice branch. But i have  one concern: checkCopy() takes person as an optional parameter. This means that it is quite easy to call the method without it -- and the whole check is simply not done.16:02
adeuringI have no clue about other callsites, but couldn't we add person as a required parameter?16:03
rvbaadeuring: indeed, the method is used in other places ... where AFAIK no such check should be done.16:03
adeuringrvba: that's a pity...16:03
rvbaadeuring: but quite frankly, to give you a proper answer, I should ask someone who knows soyuz more than I do ...16:04
adeuringrvba: well, there is another option ;)16:05
rvbamy goal was to only modify the fonction when used inside the part that we're working on right now. The derived series stuff that it.16:05
adeuringrvba: file a bug about it. At least I am really used to rely on permission checks by the zope mechanism. When this doesn't work, I'D _like_ to have some kind of surrogate16:05
adeuringbut if this isn't available, we can add it later.16:06
rvbaadeuring: all right, can just make a small comment about that in the MP? I'll ask a soyuz-man just to make sure and then file a bug.16:08
adeuringrvba: great, together with an XXX and a bug?16:08
rvbaadeuring: sure, that would be great.16:09
adeuringrvba: cool, so r=me16:09
rvbathank you adeuring. Give the rather sensitive nature of the modifications I'll have the branch double checked by a soyuz expert on monday.16:10
adeuringrvba: yeah, that would make sense16:10
rvbas/Give/Given/16:10
wgrantHmm.16:16
wgrantHas the internal ircd died?16:16
wgrantI can't connect.16:16
adeuringwgrant: I just got a "You are connected" message16:17
rvbaI can see lots of people login in and out right now ...16:17
benjiYeah, I think it died.  I'm back in now.16:18
wgrantMe too.16:18
rvbawgrant: by the way, if you're still around (and still in the mood) ... but this really can wait ... perhaps you could have a look at https://code.launchpad.net/~rvb/launchpad/change-perm-sync/+merge/5934116:19
wgrantHm. It's nearly 1:30. I'd completely failed to notice the time, since Unity decided to go crazy and replace my clock display with apparently uninitialised memory.16:20
wgrantI may do that on Monday, if you don't mind.16:20
rvbaI really don't, have a good weekend wgrant :)16:20
wgrantThanks!16:20
benjiwgrant: you just haven't learned how to read the new clock yet, I'll email you the 45 page manual16:31
* henninge gives up16:40
=== salgado is now known as salgado-lunch
=== Ursinha is now known as Ursinha-lunch
=== beuno is now known as beuno-lunch
=== salgado-lunch is now known as salgado
=== adeuring changed the topic of #launchpad-dev to: https:/​/​dev.launchpad.net/​ | On call reviewer: bac | https:/​/​code.launchpad.net/​launchpad-project/​+activereviews
=== beuno-lunch is now known as beuno
deryckbac, hi.  I have something for review, if you're available.18:28
bacsure, deryck18:28
deryckbac, thanks!  https://code.launchpad.net/~deryck/launchpad/xss-deleting-ssh-key-740160/+merge/5953518:28
bacnice deryck.  r=bac18:30
deryckbac, awesome, thanks!18:30
=== Ursinha-lunch is now known as Ursinha
=== Ursinha-afk is now known as Ursinha
bachi deryck, you still around?19:44
deryckbac, yup.  what's up?19:44
sinzuijcsackett: do you have time to mumble?19:56
jcsackettsure. one moment.19:57
jcsackettsinzui: apparently mumble was uninstalled when i finished updating.19:58
jcsacketti am reinstalling.19:58
sinzuireally? Who is that I see in the channel?19:58
sinzuiI think you are still logged in from your faster computer19:59
jcsackettyes, that is in the other room. forgot about it. one sec.20:00
deryckLater on, everyone.  Have a nice weekend.20:51
benjibac: I don't know how much longer you have until EOD, but I have a medium-ish branch up for review if you have time: https://code.edge.launchpad.net/~benji/launchpad/bug-771231/+merge/5955522:10
bacbenji: i'll look now.22:10
benjicool22:10
bacbenji: looks good.  thanks.22:36
benjino, thank you22:36
=== Ursinha is now known as Ursinha-afk
=== Ursinha-afk is now known as Ursinha
=== bac changed the topic of #launchpad-dev to: https:/​/​dev.launchpad.net/​ | On call reviewer: - | https:/​/​code.launchpad.net/​launchpad-project/​+activereviews
=== Ursinha is now known as Ursinha-afk

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