/srv/irclogs.ubuntu.com/2012/09/06/#bzr.txt

=== r0bby is now known as robbyoconnor
=== r0bby is now known as robbyoconnor
mgzmorning people!07:29
* fullermd obviously isn't one ;p07:32
mgzyou're a category to yourself perhaps fullermd?07:33
fullermdI'm autoontological!07:37
jammgz, vila, jelmer, jml: I put up a branch to handle: bug# 104628408:21
jambug #104628408:21
ubot5Launchpad bug 1046284 in Bazaar "TooManyConcurrentRequests when committing to lightweight checkout" [Undecided,In progress] https://launchpad.net/bugs/104628408:21
jamIn doing so, I'm starting a new branch for bug #104669708:21
ubot5Launchpad bug 1046697 in Bazaar "missing integration tests of lightweight checkout and remote repository" [Medium,Triaged] https://launchpad.net/bugs/104669708:21
jamWhich so far has found at least 2 bugs in lightweight checkouts with remote repositories.08:21
jmljam: cool :)08:21
jamSo I'm trying to decide how much to split this up.08:21
jamRight now, I'm thinking to do 1 branch per small fix, and then have an overall integration branch that runs the full permutation tests.08:22
jamThat should leave us with easy to review small steps, and a test suite that ensures all those are correct when we're done.08:22
jamvila,mgz,jelmer: Would you prefer I wait until I've fixed all the holes and have one major branch to review?08:22
jamalso, the initial fix is targeting 2.508:22
jamhowever, all these cleanup fixes could just be done in bzr.dev if we feel that is a 'safer' way to do it.08:23
jamThoughts?08:23
vilaout of blue, I'd say: target a final branch with all permutations passing and do as many intermediate branches you feel are small enough to review ? So basically, you're already doing that, go for it ;)08:24
vilanow, if you hesitate about 2.5 vs dev:08:24
vilaif 2.5 is deployed on lp, you'll get bug reports soon enough and would need to fix those bugs anyway, so go for 2.508:25
vilathe alternative being rolling back from 2.5 on lp, I don't think you'll hesitate long ;)08:25
mgzI don't mind seeing small intermediate branches, even if there's a rollup that's what lands in the end08:26
jamvila: so far they are all client side fixes08:26
jamso while the initial bug is exposed by bzr-2.5 on the server, it is only the client that needs updating.08:26
jamAnyway, I'm happy to improve our test coverage and fix the holes that we've had a long time.08:26
jamThey aren't strictly regressions.08:26
jamBut meh, targeting 2.5 is cheap and easy.08:27
jamIf it was "we should target 2.1" I might fuss a bit.08:27
vilaclient only but uncovered because lp has been upgraded, so to me, that's still part of the 2.5 experience, even for the clients08:27
vilaif < 2.5 clients encounter the issue, well, they'll have to upgrade08:28
jamvila: so for 'get_file_text' it won't impact anyone who is running <2.5 because they won't try the new rpc08:28
jamfor the other bugs... I've only uncovered 1, which is that "WT.bzrdir.sprout()" is broken if you have a RemoteBranch.08:29
jambut I'm sure we've had it for a while.08:29
vilapretty good then08:29
jamAnd upgrading LP would have triggered it.08:29
jamI'm assuming I'll run into more bugs, though, as part of updating the test suite08:29
vilaclarification: lp has been upgraded or not ?08:29
jamvila: lp has been upgraded08:30
jamwe added 1 new rpc, which triggers the bug in a bzr-2.5.1+ client calling WT.get_file_text()08:30
vilato which version ? lp:bzr/2.5 or still with lp specific additional fixes ?08:30
jamin a lightweight checkout of a remote repo.08:30
jamvila: have to ask jelmer, but I think just stock 2.5.108:30
mgzit's a pretty specific thing, that most people haven't done because the performance was terrible08:30
mgznow the performance isn't so terrible, but it breaks08:31
vilamgz: but isn't it the recommended emacs setup ?08:33
mgzhave we got docs for the new way of doing :policy = appendpath stuff?10:40
mgzan example locations.conf that sets the push_location of a lp branch sensibly would be nice10:40
mgzah, is all under configuration-help10:44
jelmergrmbl, xchat seems to remove highlighting indication after disconnects11:05
jelmerjam: yes, 2.5.111:05
mgzbug 1046773 confuses me11:08
ubot5Launchpad bug 1046773 in Bazaar "can't push into new project" [Undecided,New] https://launchpad.net/bugs/104677311:08
mgzhe claims this is against launchpad as a smart server, but I fixed bug 722416 in 2.4b111:08
ubot5Launchpad bug 722416 in Bazaar "Smart server transmits MemoryError as ('error', '')" [High,Fix released] https://launchpad.net/bugs/72241611:08
jammgz: note that 'error' is any generic "We didn't know about this error in advanced". It may not be MemoryError.11:21
jammgz: also note that he is using 'bzr-2.5b1' so still a beta release.11:21
jamI would ask him to update to bzr-2.5.1 and confirm that the bug still happens.11:22
jamwe could have changed an RPC verb between b1 and 2.5-final or something like that.11:22
mgzbut as part of that fix, I made the smart server return the full error class name11:27
mgzwhich is all server side.11:27
mgzdoes launchpad actually keep bzr logs for smart server access? I can't find any.11:28
mmrazikhi11:31
mmrazikcould somebody help with this stacktrace:11:31
mmrazikhttp://pastebin.ubuntu.com/1188779/11:31
mmrazikmaybe a known error?11:31
jammmrazik: so we recently upgraded bzr on Launchpad, such that it now closes the connection if you leave it idle for more than 5 minutes.11:31
jamI think if you either upgrade bzrlib locally, it will auto-reconnect.11:32
jamOr just reconnect yourself.11:32
mmrazikjam: thanks! let me try11:32
jamI think sidnei was mentioning earlier that tarmac opens a connection, runs the test suite, and then tries to commi tit.11:32
mmrazikjam: yes. Thats this case as well11:33
mmrazikjam: do you know what version of bzrlib should I use?11:33
mmrazikthe box is something old (?oineric)11:33
jammmrazik: I'm sure the connection retry logic is in bzr-2.511:37
jamI thought there was an argument at the time that we were going to backport it to bzr-2.1 (stable series)11:37
jambut I then was on rotation, so maybe that never happened?11:37
jam(i don't see a release-notes indicating the retry logic was in any older stable release)11:37
jammgz, jelmer, vila: Do you remember what happened with the retry logic? Is my statement sound? (it is in 2.5, and we never backported it to a 2.1 release?)11:38
jelmerjam: Yeah, I remember us backporting it to at least 2.2 too11:38
jelmerbut I'm not sure if we ever did a release with those changes11:38
mmrazikhow can I reconnect manually? Can you point me to some docs?11:39
jamjelmer: Yeah, I think I did the work, but we wanted to wait to see how it sorted out.11:39
jammmrazik: https://launchpad.net/~bzr/+archive/ppa can get you a newer bzr for oneiric11:39
mmrazikjam: thanks11:39
* mmrazik tries11:39
jamppa:bzr/ppa I believe11:39
jammmrazik: for the manual reconnect, I would just say re-open the branch object.11:39
jamBut I don't know the internals of tarmac all that well.11:39
mmrazikI'll try the ppa first11:40
jamah, I think I know what is happening, and what we didn't expect.11:40
jamthe server is closing the ssh connection, and the ssh subprocess notices, cleans up and goes away11:40
jamand then bzr tries to talk to the ssh process that isn't there anymore.11:40
jamwhich is why we are getting EPIPE instead of ConnectionReset.11:41
mmrazikthat explaing the EPIPE11:41
mmrazikyep11:41
jammmrazik: if you want to do a quick test, you might try forcing "BZR_SSH=paramiko" in the environment.11:41
jamAnd see if that triggers ConnectionReset instead.11:41
jamJust as a 'my hypothesis is sound' :)11:41
jamthen again, you may have credentials with openssh, and nothing will work with paramiko11:42
mmrazikwhat is paramiko btw?11:42
mmrazikI'm trying it right now...11:42
jammmrazik: paramiko is a python ssh implementation.11:44
jam(we especially use it on Windows where openssh is likely not to be present.)11:45
mmrazikjam: with paramiko it seems to be stuck at this stage:11:53
mmrazik26057kB     0kB/s | Revert phase:Apply phase:adding file 0/111:54
mmrazikmhm... the same stack trace with bzrlib 2.5.1 :-/12:04
jammmrazik: still EPIPE? strange.as there shouldn't be a subprocess for paramiko.12:07
jamah, you mean with 2.5.112:07
mmrazikjam: yes, EPIPE with 2.5.112:07
jammgz, jelmer: https://code.launchpad.net/~jameinel/bzr/2.5-remote-wt-tests-1046697/+merge/123061 is a rollup of all the fixes for lightweight checkouts and a remote repository.12:07
jamit ended up only 459lines, so you might just review that.12:08
mmrazikjam: if I have bzrlib.branch object, what can I do to re-connect12:14
* mmrazik is trying to read the API but doesn't find anything12:14
jammmrazik: I think there are 2 things to try, depending on how comfortable you are hacking python code and testing it.12:14
mmraziklets try :)12:15
jamI think one issue is that we are using a socket_pair rather than a pipe to communicate to the subprocess, so we didn't expect EPIPE.12:15
jammmrazik: so to just reconnect manually,y ou can do "mybranch = mybranch.bzrdir.open_branch()" I think.12:15
jamthat would be at the tarmac level.12:16
mmrazikyep12:16
mmrazikjust trying that12:16
mmrazikI need at least some quick hack to make the system work12:16
jamat the bzrlib level, I would probably do something like: http://pastebin.ubuntu.com/1188861/12:18
jamI think the issue is that the retry logic is there, but it isn't treating EPIPE as a connectionreset failure.12:18
jammmrazik: I would guess the traceback is slightly different (the line numbers at least don't match up) can you paste the new traceback?12:20
mmrazikjam: http://pastebin.ubuntu.com/1188864/12:21
jammmrazik: hmm... it looks like it is actually retrying at that point...12:23
jamthe failure is occuring at line 13 of: http://pastebin.ubuntu.com/1188866/12:23
jamnote that we've caught a ConnectionReset and are retrying the request.12:23
jammmrazik: my wife is giving me the "I've been ready to leave for 15 minutes" look, so I have to go now, but I'm happy to work with you more tomorrow.12:25
mmrazikjam: thanks!12:25
jammgz, jelmer: ^^ if you can get a chance to follow up on this. We *might* need to rollback bzr-2.5 but hopefully we can do a client side fix instead.12:25
jelmerjam: *nod*12:25
mgz...I'm confused by the status of this reconnect bug,12:50
mgzit's paramiko only, or for any ssh connection?12:50
mmrazikmgz: I tried paramiko but it didn't really help. The stack trace went away but tarmac "hang" at certain stage12:50
mmrazikso its any ssh connection12:51
mmrazikI'm just trying paramiko with the newest bzrlib12:51
mmrazikto see if there is a change12:51
=== deryck is now known as deryck[lunch]
=== deryck[lunch] is now known as deryck
=== yofel_ is now known as yofel

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