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

Petr Spacek pspacek at redhat.com
Fri Dec 13 15:02:38 UTC 2013


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.

-- 
Petr^2 Spacek
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bind-dyndb-ldap-pspacek-0186-6-Use-RBTDB-instead-of-internal-LDAP-cache.patch
Type: text/x-patch
Size: 90134 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/freeipa-devel/attachments/20131213/b0752edd/attachment.bin>


More information about the Freeipa-devel mailing list