Added a tool to identify obsolete replication domains
Added the check-replication-domains tool, which
you can run to check the current list of known replication domains in
changelogDb and find any obsolete domains present. The
tool defaults to the server's root directory. Learn more about Discovering obsolete replicas.
Improved timeouts for replication operations
Improved various timeouts for dsreplication
enable and remove-defunct-server operations to
enable them to scale with the size of the topology. Smaller-sized topologies
shouldn't be impacted by these changes.
Increased timeouts for mirrored subtree operations
Increased timeouts for mirrored subtree operations to provide
better support for large or distributed topologies.
Improved dsreplication performance for large or high-latency topologies
Improved the performance of dsreplication
commands in topologies with a large number of PingDirectory servers or high network
latency.
Improved the response time of dsreplication
Improved the response time of the
dsreplication command.
Added logging history for the setup tool
A copy of the setup script output is now saved
to an archive file in the /history directory. This should
help with troubleshooting installations where multiple server images have been
extracted on top of each other and setup has been run
multiple times.
Fixed a NullPointerException caused by an unconfigured alert handler
Fixed an issue where a NullPointerException was
thrown when an alert or alarm was raised and one or more of the alert handlers
weren't configured. This most commonly happened when the server was being
stopped.
Now, instead of throwing a NullPointerException, the server logs this message: Alert notification '<notification>' will not be processed by alert handler '<alert_handler>' since that alert handler does not have configuration.
Fixed an encoding issue with UTF-8 in URI search filters
Fixed an issue where PingDataSync couldn't
properly encode certain UTF-8 characters used in a URI search request filter
sent to an external server. The server is now able to encode filter values that
include any UTF-8 characters.
Fixed a potential NullPointerException during replication
Fixed a potential NullPointerException that the
server could throw during replication if missing changes were found for a
replica, but that replica didn't exist on all servers. This scenario can happen
when an obsolete replica is purged concurrent to the check for missing
changes.
Fixed an issue where obsolete replicas weren't always purged
Fixed an issue where obsolete replicas were sometimes not being
purged from replication servers.
Fixed a replication issue where a suffix could have multiple generation IDs
The generation ID, represented by
ds-sync-generation-id
, is a value used by replication to
determine if replicas are compatible and can be replicated. To address the issue
of multiple generation IDs for the same suffix, the generation ID is now
calculated independent of the disk order in which the entries are stored. This
new behavior is helpful when entries are imported on new servers instead of
initializing them.Fixed an issue with dsreplication status information
Fixed an issue where running the
dsreplication status
--displayservertable
command sometimes failed to display peer
server statuses or generation IDs.Fixed an incorrect suggestion in the replication terminal output
Fixed a problem where dsreplication initialize
suggested using the --force option if you were unable to
connect to the server properly.
Fixed a performance issue when adding servers to large, dispersed topologies
Added caching logic to address a performance issue that occurred
when adding new servers to large, replicated topologies spanning multiple
geographic locations.
Fixed an issue where the server could throw a DATABASE_LOCK_CONFLICT error
Fixed an issue where aborting a transaction on a PingDirectory server could sometimes fail to release a
write-lock, causing all subsequent transactions to fail with the error
DATABASE_LOCK_CONFLICT until the server was
restarted.
Fixed an issue with backend availability reporting
Fixed an issue where PingDirectoryProxy wouldn't accurately report the
availability of backends added through automatic backend
discovery.