Zaid Abdulla zaid at
Fri Jul 24 04:30:10 EDT 2015

On Thu, Jul 23, 2015, at 02:57 PM, miguelet tortosa wrote:
> The first attempt that the preset is executed, the first object is the
> only object created. If I reexecute the preset, both objects are
> created.
> Notice that the second object is son of the first object.

The child object cannot be added until the parent object is added first.
What's happening here is that the ACS is not checking presets a second
time. Preset verification is an expensive process so agressive caching
is employed to minimize how often the ACS need to verify presets. In
this particular case this caching mechanism is preventing presets from
being checked a second time.

See the attached patch for a fix. However, this fix comes with a couple
of down sides: a) it adds a considerable performance hit; and b) it can
potentially cause infinite loop in rare cases.

Will push this fix upstream if I can find a way to prevent infinite
loops or at least let it fail gracefully.

> I have noticed that it is also imposible to create 2 objects
> (brothers) at the same time via preset on the first attempt but it is
> posible to create both on the second execution.

Not sure about this one. Can you share they keys of the two objects you
tried to add?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: delayed_preset_caching.patch
Type: text/x-patch
Size: 1225 bytes
Desc: not available
URL: <>

More information about the Users mailing list