[OPENDJ-452] Manual add of new schema objectclass in 99-user.ldif are not replicated Created: 13/Mar/12  Updated: 08/Nov/19  Resolved: 21/Nov/16

Status: Done
Project: OpenDJ
Component/s: core server
Affects Version/s: 2.6.0
Fix Version/s: 3.0.0, 2.8.0, 2.6.2

Type: Bug Priority: Major
Reporter: Gary Williams Assignee: Chris Ridd
Resolution: Fixed Votes: 0
Labels: release-notes, verified

Issue Links:
Relates
is related to OPENDJ-1928 Changes on directory schema are not r... Done
QA Assignee: Ondrej Fuchsik
Support Ticket IDs:

 Description   

In OpenDJ 2.5.0 it looks like manually adding schema objects are not replicated.

How to reproduce,install and setup 2 servers (M1 and M2) and enable/initialize replication between them.
Stop M1 and edit 99-user.ldif by adding a new objectclass for example:

cat m1/config/schema/99-user.ldif
dn: cn=schema
objectClass: subschema
objectClass: ldapSubentry
objectClass: top
cn: schema
ds-sync-generation-id: 8408
objectClasses: ( newtestobjectclass-oid NAME 'newtestobjectclass-0' SUP person MUST ( street $ c ) X-ORIGIN 'user defined' )

Start M1

Afterwards check 99-user.ldif on M2

cat m1/config/schema/99-user.ldif

dn: cn=schema
objectClass: top
objectClass: ldapSubentry
objectClass: subschema
cn: schema
objectClasses: ( newtestobjectclass-oid NAME 'newtestobjectclass-0' SUP person MUST ( street $ c ) X-ORIGIN 'user defined' )
ds-sync-generation-id: 8408
ds-sync-state: 000001360d3b30ec2ee000000001

cat m2/config/schema/99-user.ldif
dn: cn=schema
objectClass: top
objectClass: ldapSubentry
objectClass: subschema
cn: schema
ds-sync-generation-id: 8408
ds-sync-state: 000001360d3b30ec2ee000000001

Would expect to see the new objectclass in 99-user.ldif.

This works OK in OpenDJ 2.4.5.



 Comments   
Comment by Matthew Swift [ 28/Jun/13 ]

Confirmed. Furthermore, the new objectClass does not appear in any schema files including the concatenated schema. However it is still accessible using an LDAP search, even after restarting the second replica:

./bin/ldapsearch -p 1389 -D cn=directory\ manager -w password -s base -b cn=schema "(objectclass=ldapsubentry)" objectClasses|grep newtest
objectClasses: ( newtestobjectclass-oid NAME 'newtestobjectclass-0' SUP person M
objectClasses: ( newtestobjectclassbis-oid NAME 'newtestobjectclassbis-0' SUP pe

In the above example, I added two objectClasses during separate restarts. From looking at the access logs I can see the schema updates being replayed each time the replica restarts. Note that the ds-sync-state is persisted and reflects the missing updates. Very strange.

Comment by Ondrej Fuchsik [ 06/Oct/14 ]

I have set up two instances of OpenDJ 2.6.2 with enabled replication.
After I stopped the first instance and modified the 99-user.ldif file.
I started the instance again and checked the 99-user.ldif file on the second instance. Both files were same and includes the new objectclass.

Comment by Quentin CASTEL [X] (Inactive) [ 20/Nov/16 ]

modification of the status, in order to migrate the 'Zendesk ID' field to 'Support Ticket ID' field.

Generated at Tue Oct 27 07:22:01 UTC 2020 using Jira 7.13.12#713012-sha1:6e07c38070d5191bbf7353952ed38f111754533a.