Test for schemaUpdateNow
Stefan (metze) Metzmacher
metze at samba.org
Fri Jul 17 07:09:42 MDT 2009
> I dug some more in schemaUpdateNow against Active Directory and I think I have found an explanation why it doesn't need explicit call to update the schema cache.
> According to: http://technet.microsoft.com/en-us/library/cc961572.aspx
> ..."When the computer is started, the schema cache is loaded from the underlying database and updated automatically whenever the on-disk version is updated. When changes are made to the schema, the schema cache is automatically updated within five minutes after the first change was applied."
> ..."There is also a mechanism for updating the schema cache on demand. You can use this when you modify the schema. You can add the schemaUpdateNow attribute to the rootDSE with a value of 1. The value is not used; it acts as a trigger or operational attribute. Writing this attribute starts a cache reload."
> This _automatic_ schema cache update is the reason we can't have the same test for schemaUpdateNow against Windows.
I don't understand that, do we wait 5 minutes in the test?
>> -----Original Message-----
>> From: Anatoliy Atanasov
>> Sent: Wednesday, July 08, 2009 11:57
>> To: 'Stefan (metze) Metzmacher'
>> Cc: samba-technical at samba.org
>> Subject: RE: Test for schemaUpdateNow
>> Hi Metze,
>> I edited the test so each LDAP call is on different connection and I am
>> not sending schemaUpdateNow command.
>> I run it against Windows 2003 and Samba4 not in "-M single" mode.
>> The result is that the test failed against Samba and passed against
>> Windows 2003.
>>> -----Original Message-----
>>> From: Stefan (metze) Metzmacher [mailto:metze at samba.org]
>>> Sent: Tuesday, July 07, 2009 18:07
>>> To: Anatoliy Atanasov
>>> Cc: samba-technical at samba.org
>>> Subject: Re: Test for schemaUpdateNow
>>> Hi Anatoliy,
>>>> What did you run to verify that schemaUpdateNow works only in single
>>> process model, I use make test TESTS=ldap to run the test.
>>> I didn't run anything. dsdb_make_schema_global() operates on a global
>>> variable and can't work with the fork model.
>>>> I also tried:
>>>> self.ldb = Ldb(host, credentials=creds, session_info=system_session(),
>>>> After each self.ldb.add_ldif(ldif) to get a new Ldb connection and it
>>> worked just the same
>>> Also against Windows?
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 252 bytes
Desc: OpenPGP digital signature
More information about the samba-technical