Test for schemaUpdateNow
Anatoliy Atanasov
anatoliy.atanasov at postpath.com
Thu Jul 16 10:15:17 MDT 2009
Hi Metze, Andrew,
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.
Regards,
Anatoliy
> -----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.
>
> Regards,
> Anatoliy
>
> > -----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(),
> > lp=lp)
> > >
> > > After each self.ldb.add_ldif(ldif) to get a new Ldb connection and it
> > worked just the same
> >
> > Also against Windows?
> >
> > metze
More information about the samba-technical
mailing list