Skip to content

dsreplication enable hangs initializing registration information when adding a third replica; CI Test replication step has no timeout #861

Description

@vharseko

Summary

The CI step Test replication can hang indefinitely while adding a third replica to the topology: dsreplication enable stalls on "Initializing registration information on server localhost:34444 with the contents of server localhost:4444" and never completes. Since neither the job nor the step has a timeout configured, the job sits idle until GitHub Actions kills it at the default 6-hour limit (##[error]The operation was canceled.).

Occurrence

  • Run: https://github.com/OpenIdentityPlatform/OpenDJ/actions/runs/31506998550/job/93831146182 (build-maven (ubuntu-latest, 25))
  • The step started at 17:31:38, produced its last log line at 17:33:22, and was killed at 21:26:52 (job start + 6h).
  • The same step passed in ~3.5–4 minutes in all 8 sibling matrix jobs of the same run (ubuntu 11/17/21/26, macOS, Windows), so this is a flaky race, not a Java 25 regression, and it is unrelated to the PR being built (Windows MSI changes).

Log tail

17:33:22 Updating replication configuration for baseDN cn=schema on server
17:33:22 localhost:34444 .....Done.
17:33:22 Initializing registration information on server localhost:34444 with the
21:26:52 ##[error]The operation was canceled.
21:26:52 Post job cleanup.
...
21:26:52 Terminate orphan process: pid (116117) (java)
21:26:52 Terminate orphan process: pid (116766) (java)
21:26:52 Terminate orphan process: pid (117971) (java)
21:26:52 Terminate orphan process: pid (118114) (dsreplication)
21:26:52 Terminate orphan process: pid (118116) (_server-script.sh)
21:26:52 Terminate orphan process: pid (118182) (java)

All three servers plus the dsreplication CLI were still alive as orphan processes, i.e. the CLI was genuinely blocked waiting for the ADS registration data (cn=admin data) total update from server 1 (port 4444) to server 3 (port 34444) to signal completion — which never happened.

Analysis

The hang occurs inside dsreplication enable for the third server (host1 = 24444, host2 = 34444): after updating the replication configuration for dc=example,dc=com and cn=schema on all three servers, the tool initializes the registration information on the new server with the contents of an existing topology member. This total-update session appears to have a race where the initialization-completed signal can be missed, leaving the CLI waiting forever.

Suggested actions

  1. Add timeout-minutes to the Test replication step so a hang fails fast instead of consuming a runner for 6 hours (the step normally completes in under 5 minutes).
  2. Investigate the race in the ADS/registration-data total update during dsreplication enable when joining an additional replica to an existing topology.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions