[Freeipa-devel] [PATCH 0186-0191] Replace LDAP cache with RBTDB

Petr Spacek pspacek at redhat.com
Fri Feb 21 11:46:14 UTC 2014


On 13.12.2013 16:02, Petr Spacek wrote:
> On 23.10.2013 16:54, Tomas Hozza wrote:
>> On 10/10/2013 06:58 PM, Petr Spacek wrote:
>>> On 8.10.2013 12:00, Tomas Hozza wrote:
>>>> On 10/02/2013 12:57 PM, Petr Spacek wrote:
>>>>> On 13.9.2013 15:31, Petr Spacek wrote:
>>>>>> On 14.8.2013 16:42, Petr Spacek wrote:
>>>>>>> On 14.8.2013 16:25, Petr Spacek wrote:
>>>>>>>> On 1.8.2013 15:57, Petr Spacek wrote:
>>>>>>>>> Hello,
>>>>>>>>>
>>>>>>>>> attached monster patches replace our internal cache/database with
>>>>>>>>> RBTDB
>>>>>>>>> implementation. See commit messages and comments inside.
>>>>>>>>>
>>>>>>>>> This patch set provides very basic functionality (including DNS
>>>>>>>>> support for
>>>>>>>>> updates). Error handling definitely needs more love, but it should
>>>>>>>>> be enough
>>>>>>>>> for rapid DNSSEC prototyping.
>>>>>>>>
>>>>>>>> Patch 186 v2: The code now applies incremental changes in LDAP to the
>>>>>>>> in-memory database. Commit message was modified to mention that
>>>>>>>> wildcards are
>>>>>>>> now supported.
>>>>>>>>
>>>>>>>> Patch 187 v2: The code was re-worked and now it respects
>>>>>>>> serial_autoincrement
>>>>>>>> option.
>>>>>>>>
>>>>>>>> Patch 188 v2: Minor comment clean-up and rebase on top of patch
>>>>>>>> 187 v2.
>>>>>>>>
>>>>>>>> Patch 189 v2: Call to deleterdataset() nested in substractrdataset()
>>>>>>>> was
>>>>>>>> deleted. This code was meant only for testing purposes.
>>>>>>>>
>>>>>>>> These patch set is now ready for review. Please see commit messages!
>>>>>>>> Some
>>>>>>>> functionality is missing intentionally, but it will be fixed by
>>>>>>>> separate
>>>>>>>> patches.
>>>>>>>
>>>>>>> It would be too easy!
>>>>>>>
>>>>>>> Patch 186 v3: Commit message was extended with information that LDAP
>>>>>>> MODRDN
>>>>>>> operation is not supported at the moment.
>>>>>>>
>>>>>>> Patch 187 v3: Missing file ldap_driver.h was added.
>>>>>>
>>>>>> This extended patch set handles correctly object deletion from LDAP.
>>>>>>
>>>>>> Patches 186-189 contain very minor changes, only moving code from one
>>>>>> place to
>>>>>> the other.
>>>>>>
>>>>>> See commit messages for patches 190 and 191.
>>>>>>
>>>>>> This should be testable. I would recommend to test the whole patch
>>>>>> set at
>>>>>> once, most probably it doesn't make much sense to test patches
>>>>>> separately.
>>>>>
>>>>> bind-dyndb-ldap-pspacek-0186-5-Use-RBTDB-instead-of-internal-LDAP-cache.patch
>>>>>
>>>>>
>>>>> adds missing missing include (db.h) to zone_register.c.
>>>>>
>>>>
>>>> ACK.
>>>>
>>>> Patches 186-191 tested. Adding/removing/modifying records works fine.
>>>> Also PTR synchronization works. Zone transfer to slave and NOTIFY
>>>> tested when changes occurred on master.
>>>
>>> Patch 191-2 fixed problem with zone removal and race condition during
>>> zone load. I would recommend you to test it with other patch I plan to
>>> send today :-)
>>>
>>
>> ACK.
>>
>> Patch looks good.
>
> Changes in patch 186 v6:
> - README was updated
> - update_record() events is terminated sooner in case of BIND shutdown
> -- This prevents some nasty surprises during shutdown.
> - Crash in update_record() was fixed:
> E.g. imagine a zone in LDAP without A record record for name in NS record.
> update_record() is restarted after any modification to invalid zone. This
> allows us to reload previously invalid zone if e.g. the missing A record was
> added. Version 5 of the patch crashed in this situation.
>
> This patch should go to master branch only.

Pushed to master branch:
a78db0312873babbccd4a94dec90b46b02c694ad
4a6b8caa6bff4f9c33411c5d72aafb04ceb5396c
f6e74da2e27803d9b8a8e3fd399aa26b901ab932
827c8d676e3a871010e63eda82997a2f729a347c

-- 
Petr^2 Spacek




More information about the Freeipa-devel mailing list