<raggi> drbrain: experiments into plain text index formats are very very interesting indeed
<drbrain> I saw your update, but didn't read your implementation
<raggi> drbrain: well, i just ran a few other little experiments
<drbrain> I need to work on integrating net-http-pipeline with Net::HTTP again
<raggi> drbrain: if you tarball up the whole depednency tree of files, it's only 2.7mb
<drbrain> nice
<raggi> drbrain: so it's entirely viable to preseed clients with that on first fetch, and then do incremental conditional gets
<raggi> drbrain: the only bit i'm not so sure of at this point is the dependency ascii representation
<raggi> which is basically `dep_name:requirement1&requirement2&requirement3`, where the requirements are to_s'd
<raggi> it's relatively easy to parse (and to read for a human), but i can't remember if we acutally banned : and & from names and versions
<raggi> i think we do
<raggi> drbrain: whole index takes 3 minutes though :D
_maes_ has quit [Ping timeout: 248 seconds]
Guest52384 has quit [Quit: Leaving...]
jhelwig has quit [Ping timeout: 256 seconds]
swills has quit [Ping timeout: 256 seconds]
jhelwig has joined #rubygems
Mopman has quit [Ping timeout: 255 seconds]
Mopman has joined #rubygems
tkramer has quit [Quit: Leaving]
crandquist has joined #rubygems
benchMark has quit []
eighthbit has quit [Quit: Bye.]
qmx|away is now known as qmx
saghaulor has quit [Ping timeout: 252 seconds]
vertis has joined #rubygems
riddle has joined #rubygems
ckrailo has quit [Ping timeout: 276 seconds]
cowboyd has quit [Remote host closed the connection]
_maes_ has joined #rubygems
caleb_io has joined #rubygems
workmad3 has quit [Ping timeout: 252 seconds]
markstarkman has joined #rubygems
markstarkman has quit [Ping timeout: 248 seconds]
yut148 has joined #rubygems
yerhot has joined #rubygems
markstarkman has joined #rubygems
twoism has quit [Remote host closed the connection]
markstarkman has quit [Ping timeout: 248 seconds]
sn0wb1rd has quit [Quit: sn0wb1rd]
caleb_io has quit [Quit: caleb_io]
sciandu has joined #rubygems
sn0wb1rd has joined #rubygems
qmx is now known as qmx|away
tbuehlmann has quit [Ping timeout: 255 seconds]
adkron has joined #rubygems
cowboyd has joined #rubygems
ddd has quit [Ping timeout: 276 seconds]
yerhot has quit [Remote host closed the connection]
saghaulor has joined #rubygems
kseifried has quit [Quit: Leaving]
terceiro has quit [Quit: Ex-Chat]
twoism has joined #rubygems
imajes has quit [Excess Flood]
twoism has quit [Ping timeout: 252 seconds]
imajes has joined #rubygems
huoxito has quit [Read error: Connection reset by peer]
huoxito has joined #rubygems
cowboyd has quit [Remote host closed the connection]
mockra has quit [Remote host closed the connection]
sciandu has quit [Read error: Connection reset by peer]
sciandu has joined #rubygems
cowboyd has joined #rubygems
markstarkman has joined #rubygems
markstarkman has quit [Ping timeout: 256 seconds]
lsegal has joined #rubygems
yerhot has joined #rubygems
adkron has quit [Ping timeout: 240 seconds]
yerhot has quit [Remote host closed the connection]
adkron has joined #rubygems
bhaak has quit [Ping timeout: 260 seconds]
imajes has quit [Excess Flood]
bhaak has joined #rubygems
tbuehlmann has joined #rubygems
imajes has joined #rubygems
mockra has joined #rubygems
mockra has quit [Ping timeout: 244 seconds]
imajes has quit [Excess Flood]
imajes has joined #rubygems
dentarg has quit [Ping timeout: 255 seconds]
kgrz has joined #rubygems
tbuehlmann has quit [Remote host closed the connection]
kseifried has joined #rubygems
kseifried has quit [Changing host]
kseifried has joined #rubygems
adkron has quit [Ping timeout: 255 seconds]
adkron has joined #rubygems
caleb_io has joined #rubygems
markstarkman has joined #rubygems
vertis has quit [Quit: Leaving.]
yut148 has quit [Quit: Leaving...]
markstarkman has quit [Ping timeout: 248 seconds]
havenwood has joined #rubygems
vertis has joined #rubygems
vertis has quit [Client Quit]
baburdick1 has quit [Quit: Leaving.]
kentaro_ has joined #rubygems
kgrz has quit [Quit: Computer has gone to sleep.]
aspiers has quit [Read error: Operation timed out]
huoxito has quit [Quit: Leaving]
caleb_io has quit [Quit: caleb_io]
jasoares has quit [Quit: jasoares]
aspiers has joined #rubygems
cowboyd has quit [Remote host closed the connection]
plu has left #rubygems [#rubygems]
baburdick has joined #rubygems
roolo has joined #rubygems
markstarkman has joined #rubygems
Elhu has joined #rubygems
markstarkman has quit [Ping timeout: 248 seconds]
imajes has quit [Excess Flood]
imajes has joined #rubygems
Elhu has quit [Quit: Computer has gone to sleep.]
vertis has joined #rubygems
_br_ has quit [Excess Flood]
_br_ has joined #rubygems
_br_ has quit [Excess Flood]
_br_ has joined #rubygems
d_roge- has joined #rubygems
roolo has quit [Quit: Leaving...]
d_roge- is now known as d_roge
_br_ has quit [Excess Flood]
vertis has quit [Quit: Leaving.]
_br_ has joined #rubygems
Hypn has joined #rubygems
_br_ has quit [Excess Flood]
_br_ has joined #rubygems
havenwood has quit [Remote host closed the connection]
havenwood has joined #rubygems
imajes has quit [Excess Flood]
havenwood has quit [Ping timeout: 264 seconds]
imajes has joined #rubygems
lsegal has quit [Quit: Quit: Quit: Quit: Stack Overflow.]
bartj3 has joined #rubygems
Elhu has joined #rubygems
markstarkman has joined #rubygems
bartj3 has quit []
markstarkman has quit [Ping timeout: 248 seconds]
dentarg has joined #rubygems
imajes has quit [Excess Flood]
imajes has joined #rubygems
markstarkman has joined #rubygems
tbuehlmann has joined #rubygems
markstarkman has quit [Ping timeout: 248 seconds]
ddv has quit [Changing host]
ddv has joined #rubygems
imajes has quit [Excess Flood]
imajes has joined #rubygems
whit537 has joined #rubygems
whit537_ has joined #rubygems
whit537 has quit [Ping timeout: 256 seconds]
whit537_ is now known as whit537
ddd has joined #rubygems
ddd has left #rubygems [#rubygems]
ddd has joined #rubygems
qmx|away is now known as qmx
kgrz has joined #rubygems
kgrz has quit [Quit: Computer has gone to sleep.]
<aspiers> is it just me or does gem check -a spew a load of warnings with 1.9.3-p385?
<aspiers> e.g. "Gem::SourceIndex.from_installed_gems is deprecated with no replacement."
markstarkman has joined #rubygems
vertis has joined #rubygems
_maes_ has quit [Ping timeout: 248 seconds]
tcopeland has quit [Quit: Leaving.]
imajes has quit [Excess Flood]
vertis has quit [Ping timeout: 256 seconds]
imajes has joined #rubygems
terceiro has joined #rubygems
Plume has joined #rubygems
kgrz has joined #rubygems
sciandu has quit [Quit: ["Textual IRC Client: www.textualapp.com"]]
notnerb has joined #rubygems
tkramer has joined #rubygems
x0F_ has joined #rubygems
x0F has quit [Disconnected by services]
x0F_ is now known as x0F
adkron has quit [Ping timeout: 244 seconds]
imajes has quit [Excess Flood]
imajes has joined #rubygems
Plume has quit [Ping timeout: 252 seconds]
fromonesrc has joined #rubygems
aquaranto has joined #rubygems
rmartin has joined #rubygems
jcaudle has joined #rubygems
tcopeland has joined #rubygems
workmad3 has joined #rubygems
Elhu has quit [Ping timeout: 248 seconds]
Elhu has joined #rubygems
kgrz has quit [Read error: Connection reset by peer]
Plume has joined #rubygems
mr_ndrsn|mobile has joined #rubygems
Plume has quit [Client Quit]
benchMark has joined #rubygems
mr_ndrsn has quit [Ping timeout: 255 seconds]
mr_ndrsn|mobile is now known as mr_ndrsn
yerhot has joined #rubygems
huoxito has joined #rubygems
_maes_ has joined #rubygems
Sophism has joined #rubygems
Sophism is now known as Guest37491
aquaranto has left #rubygems [#rubygems]
imajes has quit [Excess Flood]
imajes has joined #rubygems
peregrine81 has joined #rubygems
cowboyd has joined #rubygems
Elhu has quit [Ping timeout: 252 seconds]
_br_ has quit [Excess Flood]
kgrz has joined #rubygems
_br_ has joined #rubygems
cowboyd has quit [Ping timeout: 240 seconds]
_br_ has quit [Excess Flood]
_br_ has joined #rubygems
eighthbit has joined #rubygems
_br_ has quit [Excess Flood]
_br_ has joined #rubygems
Guest37491 is now known as ckelly
cowboyd has joined #rubygems
Elhu has joined #rubygems
huoxito has quit [Ping timeout: 256 seconds]
imperator has quit [Quit: Leaving]
tbuehlmann has quit [Remote host closed the connection]
whit537 has quit [Quit: BLAM!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!]
whit537 has joined #rubygems
whit537 has quit [Client Quit]
pipework has joined #rubygems
<pipework> I've got a project in git that has two gemspec files in the lib directory of the project that I need to put into another project's Gemfile for use. I have a `git 'git@github.private.deployment' do` block, and the names of the two gems inside that as a normal `gem 'forgery'` line.
imajes has quit [Excess Flood]
Hypn has quit [Remote host closed the connection]
imajes has joined #rubygems
imajes has quit [Excess Flood]
imajes has joined #rubygems
mephux has quit [Excess Flood]
mephux has joined #rubygems
bradland has quit [Read error: Connection reset by peer]
bradland has joined #rubygems
imajes has quit [Excess Flood]
stevenharman has joined #rubygems
mando has joined #rubygems
imajes has joined #rubygems
imajes has quit [Excess Flood]
eighthbit has quit [Read error: Connection reset by peer]
eighthbit has joined #rubygems
imajes has joined #rubygems
ukwiz has joined #rubygems
<ukwiz> I am unable to install mysql2 gem. Output: https://gist.github.com/anonymous/4961466
_maes_ has quit [Ping timeout: 248 seconds]
_maes_ has joined #rubygems
<ukwiz> never mind. needed libmysqlclient-dev
martinisoft_ has joined #rubygems
martinisoft has quit [Ping timeout: 256 seconds]
martinisoft has joined #rubygems
martinisoft_ has quit [Ping timeout: 240 seconds]
martinisoft_ has joined #rubygems
martinisoft has quit [Ping timeout: 256 seconds]
martinisoft_ is now known as martinisoft
workmad3 has quit [Ping timeout: 256 seconds]
Plume has joined #rubygems
boffbowsh has quit [Remote host closed the connection]
boffbowsh has joined #rubygems
havenwood has joined #rubygems
qmx is now known as qmx|lunch
mockra has joined #rubygems
_br_ has quit [Excess Flood]
_br_ has joined #rubygems
_br_ has quit [Excess Flood]
crandquist has quit [Read error: Connection reset by peer]
_br_ has joined #rubygems
huoxito has joined #rubygems
hakunin has quit [Ping timeout: 272 seconds]
autumn has joined #rubygems
hakunin has joined #rubygems
ckrailo has joined #rubygems
fromonesrc has quit [Quit: fromonesrc]
qmx|lunch is now known as qmx
notnerb has quit [Read error: Connection reset by peer]
Elhu has quit [Quit: Computer has gone to sleep.]
stevenharman has quit [Quit: Leaving...]
caleb_io has joined #rubygems
fromonesrc has joined #rubygems
paulca has joined #rubygems
imajes has quit [Excess Flood]
cowboyd has quit [Remote host closed the connection]
imajes has joined #rubygems
yerhot has quit [Remote host closed the connection]
twoism has joined #rubygems
cowboyd has joined #rubygems
yerhot has joined #rubygems
sn0wb1rd has quit [Quit: sn0wb1rd]
paulca_ has joined #rubygems
paulca has quit [Ping timeout: 256 seconds]
paulca_ is now known as paulca
sn0wb1rd has joined #rubygems
sn0wb1rd has quit [Remote host closed the connection]
sn0wb1rd has joined #rubygems
Plume has quit [Read error: Connection reset by peer]
caleb_io has quit [Quit: caleb_io]
Plume has joined #rubygems
ukwiz has quit [Quit: Leaving]
graphex_ has quit [Read error: Connection reset by peer]
graphex has joined #rubygems
tkramer has quit [Quit: Leaving]
tkramer has joined #rubygems
mando has quit [Remote host closed the connection]
mando has joined #rubygems
stevenharman has joined #rubygems
ddd has quit [Ping timeout: 245 seconds]
peregrine81 has quit [Quit: Computer sleeping.]
bjessbrown has joined #rubygems
peregrine81 has joined #rubygems
baburdick has quit [Quit: Leaving.]
cowboyd has quit [Remote host closed the connection]
cowboyd has joined #rubygems
peregrine81 has quit [Quit: Computer sleeping.]
pencil has quit [Quit: ZNC - http://znc.in]
peregrine81 has joined #rubygems
pencil has joined #rubygems
havenwood has quit [Remote host closed the connection]
havenwood has joined #rubygems
Plume has quit [Ping timeout: 252 seconds]
havenwood has quit [Ping timeout: 260 seconds]
sn0wb1rd_ has joined #rubygems
<lmarburger> it's a thin vs unicorn steel cage match running the bundler-api https://metrics.librato.com/share/dashboards/k4b5bhm8
the_mentat has quit [Quit: Computer has gone to sleep.]
sn0wb1rd has quit [Ping timeout: 244 seconds]
sn0wb1rd_ is now known as sn0wb1rd
maetthew has quit [Quit: bye]
maetthew has joined #rubygems
workmad3 has joined #rubygems
imajes has quit [Excess Flood]
the_mentat has joined #rubygems
imajes has joined #rubygems
terceiro has quit [Quit: Ex-Chat]
whit537 has joined #rubygems
unsay has joined #rubygems
unsay has quit [Client Quit]
Elhu has joined #rubygems
baburdick has joined #rubygems
bradland_ has joined #rubygems
bjessbro_ has joined #rubygems
bjessbrown has quit [Read error: Connection reset by peer]
bradland has quit [Read error: Connection reset by peer]
bradland_ is now known as bradland
<raggi> lmarburger: why not puma, with threads on?
<raggi> lmarburger: seems like this isn't a cpu bound problem, it's a postgres bound problem, so you could probably get more out of each backend, even wiht the gvl
<raggi> lmarburger: it is 1.9 right?
<raggi> if it's oldschool 1.8, i can get you a 30% performance bump on thin, wiht a small bin wrapper
imajes has quit [Excess Flood]
imajes has joined #rubygems
the_mentat has quit [Quit: Computer has gone to sleep.]
rmartin has quit [Remote host closed the connection]
Elhu has quit [Quit: Computer has gone to sleep.]
cowboyd has quit [Remote host closed the connection]
<lmarburger> raggi: hone had it running on puma but puma kept crashing
<lmarburger> after like 10 minutes or so it would die hard
<lmarburger> and once you get the new index format done this app won't be useful any more so i didn't care to waste time trying to debug threading :p
fromonesrc has quit [Quit: fromonesrc]
<lmarburger> hell i even disabled preloading in unicorn because i didn't want to deal with that. just the simplest thing.
<raggi> hehe
<raggi> fair
cowboyd has joined #rubygems
qmx is now known as qmx|away
<raggi> so y8 made a proposal on the issues for a new format https://github.com/rubygems/rubygems/issues/454
<raggi> and i also did some initial investigatory work to provide some mroe feedback and guidance https://gist.github.com/raggi/4957402
<raggi> the latter is basically working, on the server side, and would be viable fro bundlers use - generates teh whole data set in 3 minutes
<raggi> jruby actually clocks in at 1.5 minutes, if the IO conditions work out well
<raggi> there seems to be some exponentially increasing File.open delay on jruby during some runs, i haven't looked into why that occurs or why it is intermittent (cc qmx|away)
buffaloburger has joined #rubygems
workmad3 has quit [Ping timeout: 252 seconds]
<lmarburger> very interesting
roolo has joined #rubygems
roolo has quit [Client Quit]
roolo has joined #rubygems
BigFatFatty has joined #rubygems
markstarkman has quit [Remote host closed the connection]
twoism has quit [Remote host closed the connection]
mockra has quit [Remote host closed the connection]
kgrz has quit [Quit: Computer has gone to sleep.]
<lmarburger> qrush: for the record, i removed the maximum gems limitation https://github.com/rubygems/bundler-api/commit/d970a9567c22cf59176bd679f67bb851f082acb2
<qrush> oh! why?
<lmarburger> wait you're asking why i removed a hack? :p
<lmarburger> because hone and i got unicorn working and i just pushed it to production
workmad3 has joined #rubygems
<lmarburger> qrush: i also added a fun, new graph to the dashboard called "Thin vs Unicorn (external)" https://metrics.librato.com/share/dashboards/k4b5bhm8
<lmarburger> which is this code running in another heroku app https://gist.github.com/lmarburger/4963164
tcopeland has quit [Read error: Operation timed out]
jcaudle has quit [Quit: jcaudle]
twoism has joined #rubygems
rduplain has joined #rubygems
pipework has quit [Remote host closed the connection]
<qrush> lmarburger: oh awesome! it was thin's fault then?
<qrush> geez
<qrush> you guys should do a writeup about this
<lmarburger> no it's not at all thin's fault
<lmarburger> it's that with heroku's random router and the app only being configured to run one request at a time, a slow request could cause a bunch of other requests to pile up behind it
<lmarburger> so we went from a single process app on 6 dynos to a 10 process app on 1 dyno
<raggi> lmarburger: wait, they don't do accept backoff
<raggi> lmarburger: unicorn should have that problem too
<raggi> lmarburger: you need to patch thin to not pre-accept
<lmarburger> it does except that it routes to its workers when they're free
<rduplain> is there a way to persist --config-file setting for gem, when running setup.rb or similar?
<raggi> lmarburger: which, yeah, might be kinda hard
whit537 has quit [Quit: Leaving]
<raggi> lmarburger: it's possible though
<raggi> lmarburger: in your unicorn setup, presumably you knocked the accept backlog to 1?
huoxito has quit [Ping timeout: 248 seconds]
<lmarburger> raggi: i did basically no configuration
<raggi> o0
<raggi> i think unicorn defaults to some high value like 1024
<rduplain> I want gem install to look for its gemrc in a location other than ~/.gemrc and /etc/gemrc, but not sure how.
<raggi> rduplain: patch operating_system/defaults.rb
<raggi> we might have an ENV var for that too
<raggi> i can't remember
<raggi> lmarburger: so yeah, you can still end up with up to 1023 connections waiting behind a slow request
<rduplain> raggi: thanks for the pointer
huoxito has joined #rubygems
tenderlove has joined #rubygems
<lmarburger> raggi: good to know. thanks
vertis has joined #rubygems
<lmarburger> so i guess it's a twofold problem. the heroku router will, i think, just route requests to a process and give it 5 seconds to accept it. if it doesn't, it will try another one. rinse, repeat for 30 seconds.
stevenharman has quit [Quit: Leaving...]
<raggi> lmarburger: right, so for appropriate balancing, you want to tune that such that the accept backlog and frequency result in a roughly fair distribution
yerhot_ has joined #rubygems
mephux has quit [Excess Flood]
mephux has joined #rubygems
<raggi> lmarburger: right now, the OS will just accept 'everything' at the first unicorn the balancer selects (up until the 1024 socket threshold - give/take some kernel tuning stuff)
yerhot has quit [Ping timeout: 248 seconds]
<lmarburger> yeah
<raggi> i'd guess you're never hitting that threshold, even when under duress, as given the response rates, you probably start timing out unservicables before that happens
<lmarburger> fortunately for us this is only running on 1 dyno fo rnow
<lmarburger> *for now
<raggi> unservicable backlog skew is a very common misconfiguration
<raggi> it's hard though, unless you're on very very low latency links, which is why reverse balancers are so much better at fair balancing
<raggi> hard to achieve good throughput / fairness balances that is
<lmarburger> even with the thin setup we had and assuming there was a way to tune thin to only accept up to N connections, it wouldn't have helped our issues
<lmarburger> all the processes were locked
<raggi> yeah, thin relies on EM, and we don't have tunables in EM for that
<raggi> sadly
<lmarburger> is it even something you'd want for an EM app?
<raggi> oh for sure
<raggi> i mean it depends what you're using it for
<lmarburger> ah interesting. i have an EM app but all it does is wait for external http calls to return. it can accept a ton of those before it's a problem
<raggi> but being able to control the accept backlog is important in load balancing scenarios, regardless of what the app is doing or how it works internally
<raggi> lmarburger: right, if you service all requests really really fast, then it doens't matter, in fact, in the most aggressive of those cases, you want to tune the backlog up, not down
<raggi> but in those cases, that's not generally a load balancing problem, it's an accept rate problem - those are rare IME
<raggi> and you actualyl have a lot of early stage OS tuning to do then anyway
<lmarburger> so question about the server accepting requests. is it able to reject the request outright if its queue is too full or does it just ignore it?
<raggi> the OS does that naturally - that's what the accept backlog is about
<lmarburger> what i'm curious about is if heroku's router will try to route to a process, have that process reject it, and if heroku will send it to another process before the 5 second timeout.
<raggi> essneitally it's a tuning param where the app is saying "don't let more than X outstanding connections hang around"
<raggi> in practical terms, what this means is, (aside from other heuristics that make minor changes), the OS will not ACK incoming connection requests when that queue is full
<raggi> so a smart load balancer will timeout after some reasonable threshold, and syn a different backend instead
<lmarburger> oh so it does have to rely on a timeout?
markstarkman has joined #rubygems
<lmarburger> that's what i was hoping to avoid. then the issue becomes if you make a request to the app and happen to be routed to a locked process, that just added 5 seconds to your response time
<raggi> lmarburger: depends on a few other things, but you can reject too
mockra has joined #rubygems
<raggi> lmarburger: oh, that timeout isn't liek a request timeout, all this is at the tcp level
<lmarburger> right. the problem is the heroku router is opaque. i don't know exactly how it functions or how to play nicely with it.
havenwood has joined #rubygems
markstarkman has quit [Ping timeout: 248 seconds]
Guest21888 has joined #rubygems
Guest21888 has quit [Remote host closed the connection]
envygeeks_ has joined #rubygems
envygeeks_ has quit [Client Quit]
terceiro has joined #rubygems
<raggi> yeah
<raggi> some load balancers will reap backends when that happens
<raggi> and even worse, i've heard paas stories where the paas actualyl response by deprovisioning instances in such scenarios
<raggi> but i honestly have no idea how heroku is in this area
buffaloburger has quit [Remote host closed the connection]
yerhot_ has quit [Remote host closed the connection]
tbuehlmann has joined #rubygems
vertis1 has joined #rubygems
vertis has quit [Ping timeout: 244 seconds]
ckelly has quit [Quit: Leaving...]
mando has quit [Remote host closed the connection]
vertis1 has quit [Ping timeout: 256 seconds]
cowboyd has quit [Remote host closed the connection]
tkramer has quit [Quit: Leaving]
baburdick1 has joined #rubygems
baburdick has quit [Read error: Connection reset by peer]
roolo has quit [Quit: Linkinus - http://linkinus.com]
tcopeland has joined #rubygems
Plume has joined #rubygems
terceiro has quit [Quit: Ex-Chat]
paulca has quit [Quit: paulca]