I cant say I've witnessed anything like that myself, although I don't really
do a lot of independent insert_lines into the one file (I insert multiple
lines as a slist, say when merging two files together, but I believe that
equates to one promise). I may take a closer look to see if this could
affect me...

On Thu, Sep 16, 2010 at 3:24 PM, Seva Gluschenko
<seva.glusche...@gmail.com>wrote:

> Well, be careful with it. My practices shown that using
> empty_file_before_editing => "true" for building a file from scratch
> can lead you into the trap when multiple insert_lines promises exist
> and multiple cf-agents are running. (It may happen on heavily loaded
> servers and default 5 minute schedule.) The one instance of cf-agent
> then locks one insert_line promise while another copy locks another
> one, so that file never becomes convergent. To prevent this, one must
> either use classes definition like
>
> insert_lines:
>     "foo" classes => if_repaired("foo_added");
>
>  foo_added::
>     "bar" comment => "only insert second line when succeed with the first
> one";
>
> or define variables and use single multiline insert_line promise then.
> What is the worst thing with this issue is that one might never know
> about it until faces it right in production.
>
> 2010/9/16 Michael Potter <mega...@gmail.com>:
> > For me the killer cfengine feature is convergent file-editing, which I
> > believe is fairly unique to cfengine.
> >
> > On Thu, Sep 16, 2010 at 6:27 AM, <no-re...@cfengine.com> wrote:
> >>
> >> Forum: Cfengine Help
> >> Subject: Re: I've written an article about how Cfengine relates to Chef
> >> and Puppet in terms of origin; and its new capabilities
> >> Author: Seva Gluschenko
> >> Link to topic:
> https://cfengine.com/forum/read.php?3,18264,18267#msg-18267
> >>
> >> Puppet evangelists mention its usage in Google. I had a chance to
> clarify
> >> that with an engineer employed by Google who told me that they use
> Puppet
> >> indeed, but only for certain MacBooks and they tend to get rid of it. It
> is
> >> known that Puppet's server easily grows beyond 1Gb in memory once the
> number
> >> of managed entities exceeds 20 or 30, so it hardly can be called robust.
> >> Distributed installations of Puppet usually fire off its policy server
> and
> >> use svn or other repository tool to get updates which are then processed
> by
> >> its client. While the approach itself isn't bad, it adds an extra
> component
> >> to the scheme at least.
> >>
> >> _______________________________________________
> >> Help-cfengine mailing list
> >> Help-cfengine@cfengine.org
> >> https://cfengine.org/mailman/listinfo/help-cfengine
> >
> >
> > _______________________________________________
> > Help-cfengine mailing list
> > Help-cfengine@cfengine.org
> > https://cfengine.org/mailman/listinfo/help-cfengine
> >
> >
>
>
>
> --
> SY, Seva Gluschenko.
>
_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
https://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to