[Fedora-directory-devel] Please review: distributed numeric assignment plugin
Pete Rowley
prowley at redhat.com
Mon Jan 22 21:37:56 UTC 2007
Made values unsigned longs, failed sooner when errors not due to race
conditions in dna_get_next_value(), also made dna_pre_op() return an
error code on failure - probably a bad idea to just silently not work :)
Pete Rowley wrote:
> Richard Megginson wrote:
>> Pete Rowley wrote:
>>> Rob Crittenden wrote:
>>>> Pete Rowley wrote:
>>>>> New pre-operation plugin:
>>>>
>>>> In dna_get_next_value() what could cause a call to
>>>> slapi_search_internal_get_entry() to fail that you have to try 3
>>>> times?
>>>>
>>> It's actually the mod operation that can fail, the original value is
>>> deleted and the new value added in one operation with two mods, if
>>> the original value has changed since the search the mod operation
>>> will fail. It's a way to get an atomic increment.
>> Ok. So I think the errors should be treated a little differently.
>> If the search fails, that's bad - probably a fatal error, or perhaps
>> someone deleted the configuration entry out from under you. I think
>> that if the mod fails, you should check the error code, for something
>> like LDAP_TYPE_OR_VALUE_EXISTS, which means the mod->add failed
>> because attribute already has that value, or whatever specific error
>> is returned from the mod->delete value operation when the value
>> doesn't exist. Other errors are probably fatal.
> ok
>>>> Would it be better to use an unsigned long to represent the value
>>>> or is this longer than any possible uid (the downside, or upside,
>>>> being that 64-bit could support significantly larger numbers)? If
>>>> so the new_value field would need to be expanded.
>>>>
>>> Yes it should probably be unsigned long, I'll change that.
>>>> rob
>>>>
>>>> ------------------------------------------------------------------------
>>>>
>>>>
>>>> --
>>>> Fedora-directory-devel mailing list
>>>> Fedora-directory-devel at redhat.com
>>>> https://www.redhat.com/mailman/listinfo/fedora-directory-devel
>>>>
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>>
>>> --
>>> Fedora-directory-devel mailing list
>>> Fedora-directory-devel at redhat.com
>>> https://www.redhat.com/mailman/listinfo/fedora-directory-devel
>>>
>> ------------------------------------------------------------------------
>>
>> --
>> Fedora-directory-devel mailing list
>> Fedora-directory-devel at redhat.com
>> https://www.redhat.com/mailman/listinfo/fedora-directory-devel
>>
>
>
> ------------------------------------------------------------------------
>
> --
> Fedora-directory-devel mailing list
> Fedora-directory-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/fedora-directory-devel
>
--
Pete
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dna.c
Type: text/x-csrc
Size: 28618 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/fedora-directory-devel/attachments/20070122/a3c2c497/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3241 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://listman.redhat.com/archives/fedora-directory-devel/attachments/20070122/a3c2c497/attachment-0001.bin>
More information about the Fedora-directory-devel
mailing list