/srv/irclogs.ubuntu.com/2012/05/16/#launchpad-dev.txt

wgrantwallyworld: BugTaskSearchParams.setTarget maybe of interest.01:33
wallyworldwgrant: context?01:34
wgrant+            all_branches = getUtility(IAllBranches).visibleByUser(user)01:34
wgrant+            wanted_branches = all_branches.visibleByUser(user).withIds(01:34
wgrant+                *branch_ids)01:34
wgrantAlso, that's got a duplicate visibleByUser01:34
wgrantwallyworld: The preloading branch01:34
wallyworldi copied that code from elsewhere01:34
wgrantYou currently branch based on pillar interface and call setProduct/setDistribution01:34
wgrantRather than setTarget01:34
wallyworldok. i just cut and pasted it. will fix along with the other typo. thanks01:35
wgrantCargo-culting Launchpad code is a little less likely to be optimal than in other projects, sadly.01:36
wgrantOur codebase is in a bit of a sorry state.01:36
wallyworldit's getting better though01:40
wgrantWow02:14
wgranthttps://lp-oops.canonical.com/oops.py/?oopsid=OOPS-b0f528b0f920a20462267635b6697b7a02:14
wgrantSQL time: 4032 ms02:15
wgrantNon-sql time: 32597 ms02:15
wgrantAh, it's the old "Product.has_release_files actually retrieves every detail about everything relating to every release file" trick.02:16
wgrantwallyworld: Thanks :)02:46
wallyworldnp. i hate typos02:47
wgrantOh.04:34
wgrantlifeless: I still fundamentally reject the way bugsummary journalling is done, but you weren't wrong about there being a lot of fat...04:53
wgrantThere we go, 20 times faster already04:55
* StevenK stabs stacking04:56
wgrantYes.04:56
wgrantThat is the correct response to stacking in Launchpad :(04:56
wgrantTag addition to an 80 task bug in 20ms instead of 650ms.04:57
wgrantAnd there's probably another 5-10ms or so still to trim.04:58
StevenKI can't figure out where a branch is created with the stacked_on set04:58
wgrantI guess there really was no thought put to optimisation during the mad scramble to unbreak prod04:58
wgrantStevenK: That would never happen on production.04:58
wgrantOnly in a test.04:58
StevenKwgrant: I need a DB trigger then?04:58
=== Guest8786 is now known as Ursinha
wgrantStevenK: No. The things that update the stacked_on field will be easily findable in the application code.04:59
wgrantYou can put guards there.04:59
wgrantCode's code isn't insane.04:59
wgrantBugs' code is, which is why I used triggers for the early stuff.04:59
wgrantBranches are also far far simpler. The only vague complications they have are retargeting and restacking.05:00
StevenKLet me paste a diff and I can explain the problem.05:00
wgrantThe existing privacy model is sufficiently crap that we don't have to migrate it or work around it.05:00
StevenKhttp://pastebin.ubuntu.com/990144/ is my diff05:00
StevenKlp.code.model.tests.test_branch.TestBranchPrivacy.test_public_stacked_on_private_is_private fails since it's not private05:01
wgrantYou need to define rules around what happens when stacked_on is changed, and implement them.05:02
wgrantNasty lifeless writing n+1 query code in DB triggers :)05:04
wgrantAlthough I'm not quite sure why it's so slow.05:04
wgrantSince it's all static so it should be preplanned.05:04
wgrantPerhaps bulk inserts optimise heap insertion somehow.05:04
StevenKwgrant: So <branch namespace>.createBranch() is called, and then branch.branchChanged() is called?05:09
wgrantStevenK: That's how it normally happens, yes.05:09
wgrantbranchChanged should hopefully be the only place stacked_on is changed on production.05:09
StevenKLooks like it05:09
StevenKAlso looks like I'll need to change makeBranch() to do the same.05:10
lifelesswgrant: thats great news05:20
lifelesswgrant: what did you change to make it faster ?05:20
wgrantlifeless: First I removed the fixed_upstream thing, which I turned off display of by feature flag a couple of months back. That saved about 50% of the time. Then I fixed summarise/unsummarise/flush to do bulk inserts instead of a FOR loop.05:27
wgrantThat saved the rest of the time.05:27
lifelessinteresting05:30
wgrantYes.05:30
lifelessthanks for suspending your disbelief long enough to investigate05:30
wgrantHeh05:30
lifelesswell, a little tease is in order ;)05:30
wgrantThanks for poking me in this direction; it will indeed be a bit quicker to implement than the redesign.05:30
wgrantnaturally :)05:31
lifelessanytime05:31
wgrantIt's not entirely implausible that eg. FK constraints are optimised in a batch INSERT, I guess.05:31
wgrantSince most of the FKs will be duplicates.05:31
adeuringgood mornin07:51
=== frankban changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: frankban* (rvba) | Firefighting: - | Critical bugs: 3.47*10^2
=== almaisan-away is now known as al-maisan
StevenK_frankban: Oooh, is this your first shift?08:35
frankbanyes StevenK_08:35
StevenK_Hm, where did that _ come from?08:36
StevenK_frankban: However, congrats for standing up as a reviewer.08:36
=== StevenK_ is now known as StevenK
frankbanStevenK: thanks08:37
cjwatsonOoh, a victim! :-)09:51
cjwatsonfrankban: I've got https://code.launchpad.net/~cjwatson/launchpad/packageset-score/+merge/105915 for you, if you fancy it09:52
cjwatson(But not if you have more urgent stuff)09:52
frankbancjwatson: on it in a minute09:52
nigelbheh, a victim.09:54
jamestunnicliffegmb: Any news on that review? https://code.launchpad.net/~dooferlad/launchpad/upcomingwork_show_incomplete_bp/+merge/10584609:54
gmbjamestunnicliffe, I haven't had a chance to look at it yet; it's on my list for this morning.10:02
jamestunnicliffegmb: Cool, thanks.10:03
=== al-maisan is now known as almaisan-away
danilosmrevell, just to confirm, we have our call today?12:20
mrevelldanilos, If you and James can make it, that would be very helpful for us.12:21
danilosmrevell, I can for sure, let's invite James as well12:21
danilosmrevell, oh, and hi btw :)12:22
mrevellHello! :)12:22
cjwatsonGood grief the whole Archive/ArchivePermission edifice isn't half wordy.12:50
deryckrick_h_, hey, man.13:20
rick_h_deryck: howdy13:20
rick_h_deryck: nvm email I sent last night, problems solved I think13:20
rick_h_will bring it up in call13:20
deryckrick_h_, ah, ok.  was about to say I couldn't find email to respond and then respond here. :)  But we can chat on call then.13:21
wgrantcjwatson: Hm, why do you have a setScore method?13:26
cjwatsonwgrant: score should be visible read-only on the API and have a restricted setter; happy to take suggestions on a better way to do it, I was probably cargo-culting from nearby code13:31
* czajkowski peers at wgrant 13:32
czajkowskiwgrant: it's not a competition who can stay up the latest you know :)13:33
wgrantcjwatson: Attributes have separate read and write permissions.13:33
wgrantcjwatson: eg. look at Builder13:34
wgrant        <allow13:34
wgrant            interface="lp.buildmaster.interfaces.builder.IBuilder"/>13:34
wgrant        <allow13:34
wgrant            interface="lp.soyuz.interfaces.buildrecords.IHasBuildRecords"/>13:34
wgrant        <require13:34
wgrant            permission="launchpad.Edit"13:34
wgrant            set_schema="lp.buildmaster.interfaces.builder.IBuilder"/>13:34
cjwatsonSo maybe I can avoid the grotty IPackagesetRestricted altogether?13:36
wgrantinterface= is for getting attributes on the interface (including methods), set_schema= for setting attributes, attributes= for reading specific non-interface attributes, set_attributes= for writing them.13:36
wgrantcjwatson: You probably need a separate permission.13:36
cjwatsonRight, but I'm using launchpad.Moderate for that.13:37
wgrantUnless anyone who can edit a packageset should be able to edit its score.;13:37
cjwatsonNo.  Build scores control access to a site-wide resource.13:37
cjwatsonThere's a test for that :)13:37
wgrantRight, so it needs a separate permission. But you could indeed do away with the interface, and just use set_attributes13:37
cjwatsonBut perhaps I can just do set_attributes="score".  Right.13:37
wgrantOn large interfaces we usually use sub-interfaces for read permissions.13:38
wgrantBut write permissions often end up as set_attributes because they need to be split differently.13:38
wgrantLike this.13:38
cjwatsonDoes the strictest <require/> apply, or is there a problem with <require permission="launchpad.Edit" interface="lp.soyuz.interfaces.packageset.IPackagesetEdit"/> <require permission="launchpad.Moderate" set_attributes="score"/>?13:39
wgrantThat ZCML will fail to execute.13:39
wgrantConflicts like that are fatal.13:40
cjwatsonUgh, so I have to enumerate all the non-Moderate attributes?  A separate interface suddenly looks nicer after all.13:41
wgrantIndeed. And a separate interface works here, since everything is world-readable.13:41
wgrantThings get messy when you have some stuff read-restricted, and subsets of that write-restricted, so you'd end up needing like 10 interfaces.13:41
cjwatsonBut I can still make it be set_schema= rather than having a setScore method, I guess.13:42
wgrantYep.13:42
wgrantczajkowski: It's not yet midnight :)13:42
wgrantczajkowski: Some of us weren't up at 4am...13:43
czajkowskiyeah wont be doing that again13:45
wgrantI am glad :)13:45
cjwatsonwgrant: Not entirely sure how to write the setter, though.  I can't use @score.setter here, can I?  Doesn't look like storm implements that.13:45
wgrantcjwatson: No need for a setter.13:45
wgrantIt's not a property, is it?13:46
cjwatsonDuh.  Good point.13:46
wgrantRight.13:46
wgrantYou should have just to change the permission and set readonly=False on the interface.13:46
wgrantAnd it will all magically work.13:46
wgrantBut also tests.13:46
cjwatsonBut then the restricted interface has nothing in it.13:46
wgrantYou move score to that interface.13:46
wgrantThe <allow interface="BlahRestricted" />13:47
wgrant*Then13:47
cjwatsons/move/copy/ maybe?  I need it in the read-only one too.13:47
wgrantNo13:47
wgrantYou have to have it in only one.13:47
cjwatsonOh I se13:47
cjwatsone13:47
wgrantSo you <allow> read and <require> write13:47
wgrantFor that interface.13:47
cjwatsonI think the existing tests I have should cover this13:48
cjwatsontest_score_packageset_forbids_non_buildd_admin and test_score_packageset_allows_buildd_admin13:48
stubderyck: Has all the translations opening been completes as far as you know?13:56
deryckstub, hi.  As far as I know, it has *not* be complete.  I filed an RT and never heard back.  And I need to hand that off to jam and the blue squad now actually.13:57
wgrantUm13:57
cjwatsonwgrant: Something like http://bazaar.launchpad.net/~cjwatson/launchpad/packageset-score/revision/15260 then?13:57
wgrantHanding an extremely fragile process that almost always breaks off to a squad that's new to Launchpad doesn't sound like the wisest of plans.13:58
wgrantcjwatson: Much nicer, thanks.13:58
stubderyck: Ta. There are some droppings in the DB I was wondering about from one of the scripts.13:59
deryckstub, yeah, I gave webops a script to clean that up.14:00
stubderyck: ok. Is that in your RT?14:00
deryckstub, yes14:00
stubHave the number handy?14:00
cjwatsonwgrant: The only downside is that it shows up as writeable in the apidoc.14:00
cjwatsonBut I guess it is, sort of.14:00
deryckwgrant, maybe not the wisest of plans.  but there is literally no one that understands the process, except jtv.  so if he isn't doing it, anyone of us is a good as another.14:01
wgrantcjwatson: Yeah, permissions have always been an issue there.14:02
wgrantderyck: Perhaps.14:02
wgrantI'm not sure Blue is likely to agree :P14:03
czajkowskipoor smurfs14:03
jcsackett"The smurfs"; that sound much friendlier than some of the other squad nicknames. :-P14:10
czajkowskijcsackett: lol14:11
deryckrick_h_, hey. give me 5 minutes to settle in again and we can chat14:59
rick_h_deryck: sounds good14:59
mrevelldanilos, Are we Mumbling?15:00
mrevelldanilos, Does James have access to Mumble?15:00
mrevellwell, our Mumble server15:00
danilosmrevell, flacoste, jamestunnicliffe: let's meet up in https://plus.google.com/hangouts/_/extras/linaro.org/lp-meetup (James doesn't have access to our mumble server)15:00
flacostedanilos: welcome to the 21st century :-)15:02
danilosflacoste, heh, thanks :)15:04
danilosthough, 21st century has suddenly left me with no sound output15:04
jamestunnicliffedanilos: pulseaudio -k solves everything :-)15:04
danilosjamestunnicliffe, I was just restarting it system wide15:05
sinzuirick_h_, I suspect the combo-loader is broke the translation import queue. Can you take a few minutes to give your thoughts: https://bugs.launchpad.net/launchpad/+bug/100028215:08
_mup_Bug #1000282: Uncaught TypeError on translations series +imports <combo-loader> <javascript> <Launchpad itself:Triaged> < https://launchpad.net/bugs/1000282 >15:08
rick_h_sinzui: looking, have a call in a moment, but will check it out15:09
rick_h_sinzui: off the bat I'd say it was a requires: issue. A module isn't requiring something it needs to, or a lint issue, if a module fails to parse due to invalid JS? I'll look deeper in a second15:10
rick_h_but those are my initial thoughts15:10
danilosmrevell, flacoste, jamestunnicliffe: hangout hanged for me again, I'll reboot to get to a clean state15:10
flacostedanilos: hang out15:10
flacostewe are switching to the conf system15:10
danilosok15:11
flacostedanilos: conf code: 116 862 433615:11
danilosflacoste, ack, in and waiting for the leader15:12
flacostedanilos: are you in?15:13
danilosmrevell, I am15:13
danilosmrevell, that's right15:14
danilos12.04 has started popping up a bunch of crash reports15:14
danilosmrevell, there is a lot, I'll reboot15:14
danilosjamestunnicliffe, flacoste, mrevell: https://launchpad.net/~linaro-infrastructure/+upcomingwork15:21
danilosflacoste, mrevell: https://docs.google.com/spreadsheet/ccc?key=0AvOsYPy8e7yUdGkyRmx2WGFwT3NnSjdHVW04Q1pvSmc15:21
flacostemrevell: danilos' email is "Per-milestone metadata in blueprints" dated from 12-03-2115:25
noodles775Hi people, we're just trying to use staging.lp for some QA, and wanted to check whether it's just a quick outage, or is it likely to be a while before it's up again?15:40
czajkowskinoodles775: let me find out15:42
noodles775Thanks czajkowski15:43
czajkowskinoodles775: just checking15:46
danilosflacoste, mrevell: https://blueprints.launchpad.net/linaro-infrastructure-misc/+spec/lp-workitems-qa-tracking15:49
danilosjamestunnicliffe, ^15:49
czajkowskinoodles775: back up there now15:55
noodles775czajkowski: thanks!16:00
timrchow do I view an oops from the web again? forgot the subdomain16:08
czajkowskitimrc: https://lp-oops.canonical.com/16:10
timrcczajkowski, thanks16:12
timrcanyone else getting timeouts? I tried, https://launchpad.net/ubuntu/+search?text=live-build, and it resulted in this oops: https://lp-oops.canonical.com/?oopsid=OOPS-e439dc4c04ec939b5798cebb1d5c417716:13
adeuringabentley: https://code.launchpad.net/~adeuring/launchpad/put-retry-jobs-into-celery-queue/+merge/10601216:23
rick_h_sinzui: do you have a sample url for that JS error? have a branch to fix it, but want to make sure I qa the right place16:27
rick_h_sinzui: nvm, got it16:35
sinzuirick_h_, sorry, I was picking my son up from school: qastaging doesn't have the combo loader on at the moment so this works https://translations.qastaging.launchpad.net/+imports where as production does not16:46
rick_h_sinzui: yea, got it, MP is up now16:46
rick_h_waiting for the diff to update16:46
sinzuifab16:47
rick_h_https://code.launchpad.net/~rharding/launchpad/meta_1000282/+merge/106013 if you're feeling like moving along quiclly16:47
sinzuimy pleasure16:47
rick_h_sinzui: I tried to note in the bug and the MP why it failed and how to debug that in the future hopefully16:47
rick_h_let me know if it doesn't make sense16:47
sinzuiah16:48
rick_h_but thanks for catching this, exactly the type of things hard to find automatically16:48
sinzuirick_h_, what are the odds that the comment is irrelevant now16:48
rick_h_sinzui: not sure, I didn't look at how they were using things tbh16:49
sinzuirick_h_, understood. We have a problem when we do not document the version that is broken. I fixed a few bugs recently by removing our hacks because YUI does work16:49
rick_h_sinzui: heh, yea. In a quick glance through the code I don't see what's 'strange' but like you say, no reference to when this was added. I guess I could annotate/match YUI versions/etc16:50
rick_h_would be great if they had a link to a bug/etc16:50
sinzuirick_h_, you have my approval to land the fix. I will see if I can track down the version in annotate and report a bug if needed16:51
rick_h_sinzui: yea, I'll remove the comment16:51
rick_h_it doesn't say anything other than why oop/event are added to req16:51
rick_h_and honestly, those are on every page anyway16:51
rick_h_and if someone comes along, they're not going to remove those/get passing tests if it really is required16:51
sinzuiexcellent point16:52
rick_h_ok, so removing comment, will get to land shortly, try to get fix out asap. Sorry to break the page16:52
rick_h_guess I should apologize to czajkowski on that one16:52
cjwatsonI seem to recall hearing before that using launchpadlib_for in tests is awfully slow, and it does seem to be true here.  Is there an example somewhere of a reasonably fast and current preferred style for webservice unit tests?16:53
czajkowskirick_h_: eh ?16:54
rick_h_czajkowski: the combo loader stuff broke the translations import queue page which is in the maint. watch stuff16:54
rick_h_assuming you're doing that these days as I know we used to before you started16:54
czajkowskirick_h_: ahhhh16:54
cjwatson(I don't actually need to test launchpadlib as such, only what's exposed on the webservice.)16:55
james_wcjwatson, there's webservice_for I think16:55
james_wdirect requests, rather than via lplib16:55
cjwatsonwebservice_for_person?16:56
james_wcjwatson, that's the one16:57
cjwatsonThanks, I'll give that a try16:57
james_wfrom lp.testing.pages import webservice_for_person16:57
=== frankban changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: - | Firefighting: - | Critical bugs: 3.47*10^2
dakerhello17:22
czajkowskidaker: aloha there17:22
czajkowskidaker: coming to submit patches :-)17:23
dakerhhhh ツ17:23
abentleyadeuring: I believe the recommended way of creating a naive datetime from a UTC datetime is datetime.reaplace(tzinfo=None)17:24
czajkowskidaker: folks will help if you get stuck17:24
dakeri hope ツ17:24
czajkowskidaker: feel free to ask here or on the mailing list, and they're very friendly17:24
adeuringabentley: maybe. but then we simply assume that the time delta is correct...17:25
abentleyadeuring: How do you mean?17:26
=== matsubara is now known as matsubara-lunch
adeuringabentley: lets me try your suggestion first...17:26
abentleys/reaplace/replace/17:27
abentleyadeuring: Catching AttributeError is too broad, because db_class.makeInstance might raise an AttributeError.17:28
adeuringabentley: http://paste.ubuntu.com/991017/17:28
abentleyadeuring: I recommend getattr(db_class, 'makeInstance', None)17:28
adeuringabentley: right,  that is better. but check the paste above: replace(tzinfo=None) is not usable.17:29
abentleyadeuring: I thought if Celery was using naive datetimes, they would represent UTC.  They represent local time?17:31
adeuringabentley: yes17:32
adeuringabentley: perhaps that can be configured17:32
abentleyadeuring: How about datetime.astimezone then?17:32
adeuringnow_utc.astimezone(tz=None)17:34
adeuring-> astimezone() argument 1 must be datetime.tzinfo, not None17:34
adeuring... a TypeError17:34
abentleyadeuring: astimezone can be used to convert from UTC to the local timezone, and then you can strip off the tzinfo with replace.17:36
adeuringabentley: well, ok. But is that really much better than to use the delta?17:37
abentleyadeuring: I think it is much better than using datetime.now() twice, since the current date is not relevant to the conversion you're performing.17:39
adeuringwell, ok...17:39
adeuringabentley: do you know how figure out the local timezone? I find the example in the Python docs a bit cumbersome...17:42
adeuring(class LocalTimezone)17:42
abentleyadeuring: No, I don't know how to do that.17:42
adeuringabentley: so.... with the delta, we don't have to deal with this ;)17:43
abentleyadeuring: Yes, but we'd be doing a lossy conversion.17:44
abentleyadeuring: And unnecessary system calls.17:44
adeuringabentley: well, maybe. But anyway, there is a different details that concerns me a bit there: It might make sense to add another 10 seconds or so to the delat, to allow for time skew between the DB time and the time seen by celeryd17:45
adeurings/delat/delta/17:46
abentleyadeuring: I agree that's a reason for concern.17:47
abentleyadeuring: I wonder if it makes sense to use the delta from the current DB time?17:48
adeuringabentley: maybe. But I would prefer a system call to another DB request...17:49
abentleyadeuring: Using a system call doesn't address the concern of skew between the db and the celeryd system time.17:50
adeuringabentley: right, I'll try that.17:51
abentleyadeuring: So AFAICT, the DB time isn't relevant.17:51
abentleyadeuring: acquireLease doesn't use DB time.17:52
adeuringabentley: ah, right.17:52
abentleyadeuring: I believe there's no possibility of skew.17:53
adeuringabentley: unless we have workers on more than one machine17:53
abentleyadeuring: Right.  We don't have that, and we're not expecting to have that in the near future, at least for a single queue.17:54
abentleyadeuring: Still, I guess a fudge factor doesn't hurt here.17:55
adeuringabentley: right, one second should be enough17:56
abentleyadeuring: sure.17:57
adeuringabentley: the example from the Python docs (class Localtime in the description of the datetime module) make _four_ calls to time.mktime() if the class is used in astimezone.astimezone(Localtime()) ;)18:07
=== matsubara-lunch is now known as matsubara
adeuringabentley: any progress with the review?18:50
abentleyadeuring: No, I was waiting on your changes.18:50
adeuringabentley: so... what should we do woth the time delta? That's my main question. I think it does not make sense to use the example from the python docs to get local timezone.18:51
adeuringbut UI leave this decision to you...18:51
abentleyadeuring: I agree that the example from the python docs doesn't make sense, but I find it hard to accept the proposition that calling datetime.now multiple times is the cleanest way to get a naive datetime.18:54
adeuringabentley: agreed, this not elegant but straightforward and easy to understand...18:55
adeuringand I don't think that this is an all-important aspect of what we want to achieve.18:56
adeuringabentley: but I am open to better suggestions18:57
abentleyadeuring: No, respecting the lease eta was something we weren't trying to achieve at all.18:57
adeuringabentley: well, the other option would be to drop the lease completely. but I am not sure if it is reasonable to retry jobs vers fast18:57
adeuring...very fast18:58
abentleyadeuring: It's not reasonable, but the lease isn't the correct value to use here.  If we're actually implementing retry delays, we should be doing exponential backoff so that outages of up to a day don't prevent the job from completing.19:01
adeuringabentley: ok, makes sense. But this is nothing I am going to implement before friday19:02
adeuringabentley: anyway, hereis the current diff: http://paste.ubuntu.com/991164/19:06
abentleyadeuring: So I suggest making it a hardcoded 10-minute delay.  That will easily allow leases to expire, and give a bit of time for problems to clear.19:06
adeuringabentley: ok19:07
adeuringabentley: current diff: http://paste.ubuntu.com/991191/19:19
abentleyadeuring: Since 'generator' has a specific meaning in Python, how about 'factory'?19:20
adeuringabentley: sure19:20
abentleyadeuring: It looks like you're using a retry delay of 1 second, rather than 10 minutes.19:21
adeuringabentley: gahh, fixed: retry_delay = timedelta(minutes=10)19:21
abentleyadeuring: Are the Celery docs wrong?  They say "eta must be a datetime object, specifying an exact date and time (including millisecond precision, and timezone information)"19:25
adeuringabentley: yes. try it for yourself19:25
adeuringi tried datetime objects with timezone myself...19:26
abentleyWe should file a bug on the documentation, then.19:27
adeuringyes19:28
abentleyadeuring: Okay, r=me with your latest changes.19:31
adeuringabentley: thanks19:31
abentleyadeuring: we should always supply an ETA, not just when there is a lease.19:34
adeuringabentley: why?19:35
abentleyadeuring: If we're retrying, then we must have acquired a lease, because we always acquire a lease before running, and we can't retry until we run.19:36
abentleyadeuring: But if there was some scenario where we could retry without having acquired a lease, we would still want to wait because it doesn't make sense to retry immediately, as you've pointed out.19:37
adeuringabentley: yes, that's the logic there: If a lease exists, this is an attemt to retry a job, so we need an ETA: but we don't need that when the job is run fpot the first time19:37
adeuringabentley: ok, i see your point, but for now i give. simply too late here...19:37
abentleyadeuring: I'm not retracting the r=me, but I think we should fix that.19:39
adeuringabentley: ok, that's right19:39
daker-cloudczajkowski: the CPU is getting hot :)20:32
czajkowskidaker-cloud: do ask questions if you get stuck ok21:36
czajkowskilotta lp dev folks around21:36
daker-cloudok now i am running make schema21:37
=== spm` is now known as spm
daker-cloudczajkowski: https://plus.google.com/u/0/101694416703170881163/posts/Ad3hvn385Po :)21:59
sinzuijcsackett, mumble?22:04
czajkowskidaker-cloud: cool, what are you looking to fix22:06
daker-cloudnot sure czajkowski, do i need a mentor ?22:10
daker-cloudthis thing is huge22:10
czajkowskiso lp doesnt have mentors, they do have code reviewers, and you could post to the launchpad-dev mailing list with abug you are working on or want to work on to get some feedback22:12
czajkowskidaker-cloud: or ask people in here like sinzui wgrant jcsackett and others who are around in your timezone22:12
daker-cloudok22:14
wgrantczajkowski: I'm American now!?22:28
czajkowskiwgrant: no, you just dont sleep22:28
=== matsubara is now known as matsubara-afk
wgrantTrue.22:32
StevenKwallyworld_: I've got a deployment edit all ready, let me know when your QA is done.23:07
wallyworld_StevenK: done23:08

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