# # # The contents of this file are subject to the terms of the Common Development and # Distribution License (the License). You may not use this file except in compliance with the # License. # # You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the # specific language governing permission and limitations under the License. # # When distributing Covered Software, include this CDDL Header Notice in each file and include # the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL # Header, with the fields enclosed by brackets [] replaced by your own identifying # information: "Portions copyright [year] [name of copyright owner]". # # Copyright 2026 3A Systems, LLC. # The load of the replication convergence run (#1090), sourced by run.sh: every directory # server is written to at once, for DURATION seconds, by rate tools that run in containers of # the same image on the network of the topology. Only writes: a read sends nothing to the # replication servers. # ... : a container that runs one tool of the image against one server start_client() { local name=$1 tool=$2 shift 2 docker run -d --name "$name" --network $NETWORK -e OPENDJ_JAVA_ARGS="$CLIENT_JAVA_ARGS" \ -v "$OUT/load:/load:ro" --entrypoint /opt/opendj/bin/$tool "$IMAGE" "$@" >/dev/null } CLIENTS= # seconds between two lines of the output of a rate tool STAT_INTERVAL=10 # Plain LDAP: the run is after the changes the replication carries, and TLS between a client # and its server only takes CPU from them. --noRebind: every client keeps its connections open # and binds once, as an application does, rather than connecting and binding for every # operation, which would cost more than the operation itself. --connectTimeout: the clients # start at once next to the servers, and a runner that is short of CPU for a while accepts # their connections late run_load() { local n c failed mkdir -p "$OUT/load" for n in $DS_NODES; do # entries of its own on each server, so that the adds and deletes of two servers never meet # on one DN: a naming conflict is not what this load is after cat >"$OUT/load/addrate-$n.template" <