--=-AkkSmJPwuLk3QL8G+8hD
Content-Type: multipart/alternative; boundary="=-hIs+4bzpZ6ppYYs2yOIT"


--=-hIs+4bzpZ6ppYYs2yOIT
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Sun, 2008-06-01 at 22:53 +0900, Michael T. Richter wrote:

> On Sun, 2008-06-01 at 09:20 +0900, Tom Copeland wrote:=20
>=20
> > On Fri, 2008-05-30 at 03:55 +0900, Jim Hoskins wrote:
> > > I am currently not able to install any gems. I was using Gem 1.1.1 bu=
t
> > > kept receiving the following errors:
> > >=20
> > > ERROR:  While executing gem ... (Gem::RemoteSourceException)
> > >     Error fetching remote gem cache: Errno::EPIPE: Broken pipe readin=
g
> > > http://gems.rubyonrails.org/yaml
> >=20
> > Hm, that "yaml" file is 20 MB now... is your client timing out, or mayb=
e
> > refusing to fetch that much data?
>=20
>=20
> The gem servers at rubyforge and whoever hosts for ruby on rails seem
> to be badly overloaded.  I get these broken pipe errors all the time
> to the point that I wrap all uses of gem in "unless" blocks in bash to
> make sure things actually go through.
>=20
> What would help is if the --no-update-sources flag actually did
> something.  Half the time the point of failure lies in updating the
> local source cache from the remote site, but whether or not I specify
> --no-update-sources the source cache is downloaded at tremendous
> expense.  Sometimes it's downloaded multiple times in a single
> invocation (if I install a lot of gems at the command line at once).


Since I've had to reinstall all my gems after the upgrade to 1.8.7,
here's an idea of what's happening with the gem servers right now:

$ for a in actionmailer RedCloth rspec rubygems-update rails fxruby
bindata actionpack gem_plugin rush ruby-debug-ide activeresource opod ;
do echo $a ; until gem install $a ; do echo Retrying $a... ; done ; done
actionmailer
Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyonrails.org/
ERROR:  While executing gem ... (Gem::RemoteSourceException)
    Error fetching remote gem cache: Errno::EPIPE: Broken pipe reading
http://gems.rubyonrails.org/yaml
Retrying actionmailer...
Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyonrails.org/
ERROR:  While executing gem ... (Gem::RemoteSourceException)
    Error fetching remote gem cache: Errno::EPIPE: Broken pipe reading
http://gems.rubyonrails.org/yaml
Retrying actionmailer...
Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyonrails.org/
ERROR:  While executing gem ... (Gem::RemoteSourceException)
    Error fetching remote gem cache: Errno::EPIPE: Broken pipe reading
http://gems.rubyonrails.org/yaml
Retrying actionmailer...
Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyonrails.org/
ERROR:  While executing gem ... (Gem::RemoteSourceException)
    Error fetching remote gem cache: Errno::EPIPE: Broken pipe reading
http://gems.rubyonrails.org/yaml
Retrying actionmailer...
Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyonrails.org/
ERROR:  While executing gem ... (Gem::RemoteSourceException)
    Error fetching remote gem cache: Errno::EPIPE: Broken pipe reading
http://gems.rubyonrails.org/yaml
Retrying actionmailer...
Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyonrails.org/
ERROR:  While executing gem ... (Gem::RemoteSourceException)
    Error fetching remote gem cache: Errno::EPIPE: Broken pipe reading
http://gems.rubyonrails.org/yaml
Retrying actionmailer...
Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyonrails.org/
ERROR:  While executing gem ... (Gem::RemoteSourceException)
    Error fetching remote gem cache: Errno::EPIPE: Broken pipe reading
http://gems.rubyonrails.org/yaml
Retrying actionmailer...
Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyforge.org/

Note that the "bulk updating" thing happens twice for
gems.rubyforge.org.  Double the opportunity for failure.  Notice how the
gems.rubyonrails.org site always fails while downloading that massive
YAML file.

Wouldn't it be nice if there were some kind of, oh I don't know,
distributed mechanism for gem retrieval?

--=20
Michael T. Richter <ttmrichter / gmail.com> (GoogleTalk:
ttmrichter / gmail.com)
If there's one thing that computers do well, it's to make the same
mistake uncountable times at inhuman speed. (Peter Coffee)

--=-hIs+4bzpZ6ppYYs2yOIT
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; CHARSET=3DUTF-8">
  <META NAME=3D"GENERATOR" CONTENT=3D"GtkHTML/3.16.1">
</HEAD>
<BODY>
On Sun, 2008-06-01 at 22:53 +0900, Michael T. Richter wrote:<BR>
<BLOCKQUOTE TYPE=3DCITE>
    <FONT COLOR=3D"#000000">On Sun, 2008-06-01 at 09:20 +0900, Tom Copeland=
 wrote: </FONT>
    <BLOCKQUOTE TYPE=3DCITE>
<PRE>
<FONT COLOR=3D"#000000">On Fri, 2008-05-30 at 03:55 +0900, Jim Hoskins wrot=
e:</FONT>
<FONT COLOR=3D"#000000">&gt; I am currently not able to install any gems. I=
 was using Gem 1.1.1 but</FONT>
<FONT COLOR=3D"#000000">&gt; kept receiving the following errors:</FONT>
<FONT COLOR=3D"#000000">&gt; </FONT>
<FONT COLOR=3D"#000000">&gt; ERROR:  While executing gem ... (Gem::RemoteSo=
urceException)</FONT>
<FONT COLOR=3D"#000000">&gt;     Error fetching remote gem cache: Errno::EP=
IPE: Broken pipe reading</FONT>
<FONT COLOR=3D"#000000">&gt; <A HREF=3D"http://gems.rubyonrails.org/yaml">h=
ttp://gems.rubyonrails.org/yaml</A></FONT>

<FONT COLOR=3D"#000000">Hm, that &quot;yaml&quot; file is 20 MB now... is y=
our client timing out, or maybe</FONT>
<FONT COLOR=3D"#000000">refusing to fetch that much data?</FONT>
</PRE>
    </BLOCKQUOTE>
    <BR>
    <FONT COLOR=3D"#000000">The gem servers at rubyforge and whoever hosts =
for ruby on rails seem to be badly overloaded.&nbsp; I get these broken pip=
e errors all the time to the point that I wrap all uses of gem in &quot;unl=
ess&quot; blocks in bash to make sure things actually go through.</FONT><BR=
>
    <BR>
    <FONT COLOR=3D"#000000">What would help is if the --no-update-sources f=
lag actually did something.&nbsp; Half the time the point of failure lies i=
n updating the local source cache from the remote site, but whether or not =
I specify --no-update-sources the source cache is downloaded at tremendous =
expense.&nbsp; Sometimes it's downloaded multiple times in a single invocat=
ion (if I install a lot of gems at the command line at once).</FONT><BR>
</BLOCKQUOTE>
<BR>
Since I've had to reinstall all my gems after the upgrade to 1.8.7, here's =
an idea of what's happening with the gem servers right now:<BR>
<BR>
$ for a in actionmailer RedCloth rspec rubygems-update rails fxruby bindata=
 actionpack gem_plugin rush ruby-debug-ide activeresource opod ; do echo $a=
 ; until gem install $a ; do echo Retrying $a... ; done ; done<BR>
actionmailer<BR>
Bulk updating Gem source index for: <A HREF=3D"http://gems.rubyforge.org/">=
http://gems.rubyforge.org/</A><BR>
Bulk updating Gem source index for: <A HREF=3D"http://gems.rubyforge.org/">=
http://gems.rubyforge.org/</A><BR>
Bulk updating Gem source index for: <A HREF=3D"http://gems.rubyonrails.org/=
">http://gems.rubyonrails.org/</A><BR>
ERROR:&nbsp; While executing gem ... (Gem::RemoteSourceException)<BR>
&nbsp;&nbsp;&nbsp; Error fetching remote gem cache: Errno::EPIPE: Broken pi=
pe reading <A HREF=3D"http://gems.rubyonrails.org/yaml">http://gems.rubyonr=
ails.org/yaml</A><BR>
Retrying actionmailer...<BR>
Bulk updating Gem source index for: <A HREF=3D"http://gems.rubyforge.org/">=
http://gems.rubyforge.org/</A><BR>
Bulk updating Gem source index for: <A HREF=3D"http://gems.rubyforge.org/">=
http://gems.rubyforge.org/</A><BR>
Bulk updating Gem source index for: <A HREF=3D"http://gems.rubyonrails.org/=
">http://gems.rubyonrails.org/</A><BR>
ERROR:&nbsp; While executing gem ... (Gem::RemoteSourceException)<BR>
&nbsp;&nbsp;&nbsp; Error fetching remote gem cache: Errno::EPIPE: Broken pi=
pe reading <A HREF=3D"http://gems.rubyonrails.org/yaml">http://gems.rubyonr=
ails.org/yaml</A><BR>
Retrying actionmailer...<BR>
Bulk updating Gem source index for: <A HREF=3D"http://gems.rubyforge.org/">=
http://gems.rubyforge.org/</A><BR>
Bulk updating Gem source index for: <A HREF=3D"http://gems.rubyforge.org/">=
http://gems.rubyforge.org/</A><BR>
Bulk updating Gem source index for: <A HREF=3D"http://gems.rubyonrails.org/=
">http://gems.rubyonrails.org/</A><BR>
ERROR:&nbsp; While executing gem ... (Gem::RemoteSourceException)<BR>
&nbsp;&nbsp;&nbsp; Error fetching remote gem cache: Errno::EPIPE: Broken pi=
pe reading <A HREF=3D"http://gems.rubyonrails.org/yaml">http://gems.rubyonr=
ails.org/yaml</A><BR>
Retrying actionmailer...<BR>
Bulk updating Gem source index for: <A HREF=3D"http://gems.rubyforge.org/">=
http://gems.rubyforge.org/</A><BR>
Bulk updating Gem source index for: <A HREF=3D"http://gems.rubyforge.org/">=
http://gems.rubyforge.org/</A><BR>
Bulk updating Gem source index for: <A HREF=3D"http://gems.rubyonrails.org/=
">http://gems.rubyonrails.org/</A><BR>
ERROR:&nbsp; While executing gem ... (Gem::RemoteSourceException)<BR>
&nbsp;&nbsp;&nbsp; Error fetching remote gem cache: Errno::EPIPE: Broken pi=
pe reading <A HREF=3D"http://gems.rubyonrails.org/yaml">http://gems.rubyonr=
ails.org/yaml</A><BR>
Retrying actionmailer...<BR>
Bulk updating Gem source index for: <A HREF=3D"http://gems.rubyforge.org/">=
http://gems.rubyforge.org/</A><BR>
Bulk updating Gem source index for: <A HREF=3D"http://gems.rubyforge.org/">=
http://gems.rubyforge.org/</A><BR>
Bulk updating Gem source index for: <A HREF=3D"http://gems.rubyonrails.org/=
">http://gems.rubyonrails.org/</A><BR>
ERROR:&nbsp; While executing gem ... (Gem::RemoteSourceException)<BR>
&nbsp;&nbsp;&nbsp; Error fetching remote gem cache: Errno::EPIPE: Broken pi=
pe reading <A HREF=3D"http://gems.rubyonrails.org/yaml">http://gems.rubyonr=
ails.org/yaml</A><BR>
Retrying actionmailer...<BR>
Bulk updating Gem source index for: <A HREF=3D"http://gems.rubyforge.org/">=
http://gems.rubyforge.org/</A><BR>
Bulk updating Gem source index for: <A HREF=3D"http://gems.rubyforge.org/">=
http://gems.rubyforge.org/</A><BR>
Bulk updating Gem source index for: <A HREF=3D"http://gems.rubyonrails.org/=
">http://gems.rubyonrails.org/</A><BR>
ERROR:&nbsp; While executing gem ... (Gem::RemoteSourceException)<BR>
&nbsp;&nbsp;&nbsp; Error fetching remote gem cache: Errno::EPIPE: Broken pi=
pe reading <A HREF=3D"http://gems.rubyonrails.org/yaml">http://gems.rubyonr=
ails.org/yaml</A><BR>
Retrying actionmailer...<BR>
Bulk updating Gem source index for: <A HREF=3D"http://gems.rubyforge.org/">=
http://gems.rubyforge.org/</A><BR>
Bulk updating Gem source index for: <A HREF=3D"http://gems.rubyforge.org/">=
http://gems.rubyforge.org/</A><BR>
Bulk updating Gem source index for: <A HREF=3D"http://gems.rubyonrails.org/=
">http://gems.rubyonrails.org/</A><BR>
ERROR:&nbsp; While executing gem ... (Gem::RemoteSourceException)<BR>
&nbsp;&nbsp;&nbsp; Error fetching remote gem cache: Errno::EPIPE: Broken pi=
pe reading <A HREF=3D"http://gems.rubyonrails.org/yaml">http://gems.rubyonr=
ails.org/yaml</A><BR>
Retrying actionmailer...<BR>
Bulk updating Gem source index for: <A HREF=3D"http://gems.rubyforge.org/">=
http://gems.rubyforge.org/</A><BR>
Bulk updating Gem source index for: <A HREF=3D"http://gems.rubyforge.org/">=
http://gems.rubyforge.org/</A><BR>
<BR>
Note that the &quot;bulk updating&quot; thing happens twice for gems.rubyfo=
rge.org.&nbsp; Double the opportunity for failure.&nbsp; Notice how the gem=
s.rubyonrails.org site always fails while downloading that massive YAML fil=
e.<BR>
<BR>
Wouldn't it be nice if there were some kind of, oh I don't know, distribute=
d mechanism for gem retrieval?<BR>
<TABLE CELLSPACING=3D"0" CELLPADDING=3D"0" WIDTH=3D"100%">
<TR>
<TD>
<BR>
</TD>
</TR>
</TABLE>
<TABLE CELLSPACING=3D"0" CELLPADDING=3D"0" WIDTH=3D"100%">
<TR>
<TD>
-- <BR>
<B>Michael T. Richter</B> &lt;<A HREF=3D"mailto:ttmrichter / gmail.com">ttmri=
chter / gmail.com</A>&gt; (<B>GoogleTalk:</B> ttmrichter / gmail.com)<BR>
<I>If there's one thing that computers do well, it's to make the same mista=
ke uncountable times at inhuman speed. (Peter Coffee)</I>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>

--=-hIs+4bzpZ6ppYYs2yOIT--

--=-AkkSmJPwuLk3QL8G+8hD
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQBIQrgULqyWkKVQ54QRAo19AJ9w9ltHySwbt8xc6ad9woLkUJiMCwCgrAtb
Nv9Y7y6BQTZOz+7+BUNB6hU=
=h1wP
-----END PGP SIGNATURE-----

--=-AkkSmJPwuLk3QL8G+8hD--