Uploaded image for project: 'OpenDJ'
  1. OpenDJ
  2. OPENDJ-7215

Replication: changelog populated after dsrepl initialize-all


    • Type: Bug
    • Status: Dev backlog
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 7.0.0
    • Fix Version/s: None
    • Component/s: replication


      Since we have updated our test framework so that we do not use dsreplication configure anymore, we have a different behavior for one of our tests.

      We set up 2 servers, as DSRS, one has data.
      We add bootstrap servers on both servers.
      Then we initialize replication:

      /Users/carole.forel/wks/pyforge/results/20200519-100034/replication_group2/ExternalChangelogPurge/DJ1/opendj/bin/dsrepl initialize -h localhost -p 4444 -D "uid=admin" -w password -X  --toAllServers --baseDn dc=com	
      Starting initialization from 'dj1' to all replicas for base DNs: 'dc=com'
      Starting initialization for base DN: 'dc=com'
      165 entries processed (100 % complete).

      We check the changelog, it is empty.
      Then we create a backend with another suffix on each of the servers.
      To prepare for replication, we create a replication domain for this new suffix on each server:

      /Users/carole.forel/wks/pyforge/results/20200519-100034/replication_group2/ExternalChangelogPurge/DJ1/opendj/bin/dsconfig -h localhost -p 4444 -D "uid=admin" -w password -X set-backend-prop --backend-name appData --add base-dn:dc=project,dc=org -n	
      /Users/carole.forel/wks/pyforge/results/20200519-100034/replication_group2/ExternalChangelogPurge/DJ1/opendj/bin/dsconfig -h localhost -p 4444 -D "uid=admin" -w password -X create-replication-domain --provider-name "Multimaster Synchronization" --domain-name dc=project,dc=org --set base-dn:dc=project,dc=org -n	
      same for DJ2

      Then we import some data on this new suffix on DJ1 and use dsrepl initialize to propagate these data on DJ2:

      /Users/carole.forel/wks/pyforge/results/20200519-100034/replication_group2/ExternalChangelogPurge/DJ1/opendj/bin/dsrepl initialize -h localhost -p 4444 -D "uid=admin" -w password -X  --toAllServers --baseDn dc=project,dc=org	
      Starting initialization from 'dj1' to all replicas for base DNs:
      Starting initialization for base DN: 'dc=project,dc=org'
      7 entries processed (100 % complete).
      /Users/carole.forel/wks/pyforge/results/20200519-100034/replication_group2/ExternalChangelogPurge/DJ1/opendj/bin/ldapsearch -h localhost -p 1389 -D "uid=admin" -w password -b "cn=changelog"  "(objectclass=*)" changeNumber	
      dn: cn=changelog
      dn: changeNumber=1,cn=changelog
      changeNumber: 1
      dn: changeNumber=2,cn=changelog
      changeNumber: 2
      dn: changeNumber=3,cn=changelog
      changeNumber: 3
      dn: changeNumber=4,cn=changelog
      changeNumber: 4
      dn: changeNumber=5,cn=changelog
      changeNumber: 5
      dn: changeNumber=6,cn=changelog
      changeNumber: 6
      dn: changeNumber=7,cn=changelog
      changeNumber: 7
      /Users/carole.forel/wks/pyforge/results/20200519-100034/replication_group2/ExternalChangelogPurge/DJ1/opendj/bin/ldapsearch -h localhost -p 1389 -D "uid=admin" -w password -b "" -s base "(objectclass=*)" lastChangeNumber	
      10:02:39.600	INFO	SUCCESS:
      -- rc --
      returned 0, effectively in [0]
      -- stdout --
      lastChangeNumber: 7

      So the question is: is this expected? should we do things differently? or is this an issue?

      To see that behaviour:

      ./run-pybot.py -nvs replication_group2.ExternalChangelogPurge -t Changes_To_Different_Suffixes opendj




            • Assignee:
              cforel carole forel
            • Votes:
              0 Vote for this issue
              1 Start watching this issue


              • Created: