On Thu, 2009-06-04 at 23:34 -0700, Masahiro wrote:
> I tried to forward the war file of 24MB from fileserver of puppet to
> the client. However, it very took time to do it, and, after all, the
> client side became a time-out error.
> 
> I think that I see the source of puppet, and understood the cause.
> Because fileserver does the content of the file in URL Encode when the
> file is forwarded.
> 
> (puppet/network/handler/filserver.rb:204)
> >            if @local
> >                return str
> >            else
> >                return CGI.escape(str)
> >            end
> 
> It takes time of three minutes over in my server for this processing.
> I do not understand why such processing is done.
> I want you to teach the method in which someone is good to solve this
> problem.
> 
> (Version used is 0.24.5)

This is because Puppet uses XMLRPC (in version < 0.25) as its transport
protocol.
Since XMLRPC can't send binary data, the whole binary file has to be
escaped.
This process takes a long time and consumes a lot of memory.

This is one of the reason of the move to a RESTful system in 0.25, where
fileserving will be done in pure HTTP (and thus be fast).

There is no possibility to solve this issue in 0.24, except serving the
file by a different way. For distributing large files, I do prefer using
the package manager (debian here), and I'm doing my own packages of the
things I want to distribute.
You can also use an exec doing a wget.
-- 
Brice Figureau
My Blog: http://www.masterzen.fr/


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to