I've noticed that if a producer is rooted at the empty suffix, searches for the rootDSE (base="", scope="base"), return an entry consisting in the rootDSE entry plus the producer's contextCSN.
I've tracked this down to backend_operational(): at some point, when the entry is almost ready, selects the database that serves the empty DN, and calls that database's be_operational() helper; here syncprov_operational() adds the contextCSN.
Is this intended? I'm asking because indeed this is the only way we can get the contextCSN for that database; searches with base="" and scope other than "base" would return the database's entries but no entry with empty dn.
p.