-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Completely agree with the issue of lock contention.
You would probably have to provide the capability to have optional lock
overrides or timeouts.
So...something like:
# Grab a semaphore for the '$dataserver/bar' data
# Timeout after 5 seconds
# Skip requiring stanza if lock cannot be obtained.
semaphore { "$dataserver/bar":
timeout => '5',
fail_mode => 'skip'
}
lock(Semaphore["$dataserver/bar"]) {
...do fancy stuff...
}
Trevor
On 06/04/2010 04:33 AM, David Schmitt wrote:
> On 6/3/2010 3:54 AM, Trevor Vaughan wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> I've been following this thread with interest and I think that Donavan
>> is hitting upon something that I've also been wanting.
>>
>> However, the way I was looking at it was as a set of atomic, optionally
>> blocking, semaphores in a set of parallel threads.
>>
>> If you look at each puppet client as an individual thread and realize
>> that you need things to happen cross-client that depend on the state of
>> one or more clients, then you've deconstructed this into a classic
>> parallel programming application (with all the constituent nonsense).
>
> Interesting perspective! Especially as this allows one to re-use the
> existing research to evaluate the pitfalls of such an approach.
>
>
> Deadlocks can be circumvented by partially aborting transactions (i.e.
> failing dependend resources) instead of locking.
>
> Serializability is not really a concern of puppet, since we have
> eventual convergence.
>
> A more complex problem in our case would be contention of locks (e.g.
> when used for orchestrating a N-out-of-M rollout). I'm thinking of
> thundering herd problems or often repeated and aborted transactions.
>
>
>
> Best Regards, David
- --
Trevor Vaughan
Vice President, Onyx Point, Inc.
email: [email protected]
phone: 410-541-ONYX (6699)
pgp: 0x6C701E94
- -- This account not approved for unencrypted sensitive information --
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iEYEARECAAYFAkwI3YEACgkQyWMIJmxwHpR1QQCeKXDNYYAbeffliuTl+0aWrYQC
SnsAoLOMBqXPXpxCBSalxjaB7ikaD0M9
=LafK
-----END PGP SIGNATURE-----
--
You received this message because you are subscribed to the Google Groups
"Puppet Developers" 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-dev?hl=en.
<<attachment: tvaughan.vcf>>
