| | |
| | | private void receiveChangeStatus(ChangeStatusMsg csMsg) |
| | | { |
| | | if (logger.isTraceEnabled()) |
| | | { |
| | | logger.trace("Replication domain " + getBaseDN() + |
| | | " received change status message:\n" + csMsg); |
| | | } |
| | | |
| | | ServerStatus reqStatus = csMsg.getRequestedStatus(); |
| | | |
| | |
| | | break; |
| | | default: |
| | | if (logger.isTraceEnabled()) |
| | | logger.trace("updateDomainForNewStatus: unexpected status: " + |
| | | status); |
| | | { |
| | | logger.trace("updateDomainForNewStatus: unexpected status: " + status); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | receiveEntryBytes() method. |
| | | */ |
| | | if (logger.isTraceEnabled()) |
| | | { |
| | | logger.trace( |
| | | "[IE] processErrorMsg:" + getServerId() + |
| | | " baseDN: " + getBaseDN() + |
| | | " Error Msg received: " + errorMsg); |
| | | } |
| | | |
| | | if (errorMsg.getCreationTime() > ieCtx.startTime) |
| | | { |
| | |
| | | public void run() |
| | | { |
| | | if (logger.isTraceEnabled()) |
| | | { |
| | | logger.trace("[IE] starting " + getName()); |
| | | } |
| | | try |
| | | { |
| | | initializeRemote(serverIdToInitialize, serverIdToInitialize, null, |
| | |
| | | } |
| | | |
| | | if (logger.isTraceEnabled()) |
| | | { |
| | | logger.trace("[IE] ending " + getName()); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | private void setAckVal(int serverId, int numAck) |
| | | { |
| | | if (logger.isTraceEnabled()) |
| | | { |
| | | logger.trace("[IE] setAckVal[" + serverId + "]=" + numAck); |
| | | } |
| | | |
| | | this.ackVals.put(serverId, numAck); |
| | | |
| | |
| | | public int getSlowestServer() |
| | | { |
| | | if (logger.isTraceEnabled()) |
| | | { |
| | | logger.trace("[IE] getSlowestServer" + slowestServerId |
| | | + " " + this.ackVals.get(slowestServerId)); |
| | | } |
| | | |
| | | return this.slowestServerId; |
| | | } |
| | |
| | | } |
| | | |
| | | if (logger.isTraceEnabled()) |
| | | { |
| | | logger.trace("[IE] In " + broker.getReplicationMonitorInstanceName() |
| | | + " export ends with connected=" + broker.isConnected() |
| | | + " exportRootException=" + exportRootException); |
| | | } |
| | | |
| | | if (exportRootException != null) |
| | | { |
| | |
| | | // We are still disconnected, so we wait for the listener thread |
| | | // to reconnect - wait 10s |
| | | if (logger.isTraceEnabled()) |
| | | logger.trace( |
| | | "[IE] Exporter wait for reconnection by the listener thread"); |
| | | { |
| | | logger.trace("[IE] Exporter wait for reconnection by the listener thread"); |
| | | } |
| | | int att=0; |
| | | while (!broker.shuttingDown() |
| | | && !broker.isConnected() |
| | |
| | | final Set<Integer> replicasWeAreWaitingFor = new HashSet<>(ieCtx.startList); |
| | | |
| | | if (logger.isTraceEnabled()) |
| | | logger.trace( |
| | | "[IE] wait for start replicasWeAreWaitingFor=" + replicasWeAreWaitingFor); |
| | | { |
| | | logger.trace("[IE] wait for start replicasWeAreWaitingFor=" + replicasWeAreWaitingFor); |
| | | } |
| | | |
| | | int waitResultAttempt = 0; |
| | | boolean done; |
| | |
| | | for (DSInfo dsi : getReplicaInfos().values()) |
| | | { |
| | | if (logger.isTraceEnabled()) |
| | | { |
| | | logger.trace( |
| | | "[IE] wait for start dsId " + dsi.getDsId() |
| | | + " " + dsi.getStatus() |
| | | + " " + dsi.getGenerationId() |
| | | + " " + getGenerationID()); |
| | | } |
| | | if (ieCtx.startList.contains(dsi.getDsId())) |
| | | { |
| | | if (dsi.getStatus() != ServerStatus.FULL_UPDATE_STATUS) |
| | |
| | | ieCtx.failureList.addAll(replicasWeAreWaitingFor); |
| | | |
| | | if (logger.isTraceEnabled()) |
| | | logger.trace( |
| | | "[IE] wait for start ends with " + ieCtx.failureList); |
| | | { |
| | | logger.trace("[IE] wait for start ends with " + ieCtx.failureList); |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | final Set<Integer> replicasWeAreWaitingFor = new HashSet<>(ieCtx.startList); |
| | | |
| | | if (logger.isTraceEnabled()) |
| | | logger.trace( |
| | | "[IE] wait for end replicasWeAreWaitingFor=" + replicasWeAreWaitingFor); |
| | | { |
| | | logger.trace("[IE] wait for end replicasWeAreWaitingFor=" + replicasWeAreWaitingFor); |
| | | } |
| | | |
| | | /* |
| | | In case some new servers appear during the init, we want them to be |
| | |
| | | ieCtx.failureList.addAll(replicasWeAreWaitingFor); |
| | | |
| | | if (logger.isTraceEnabled()) |
| | | logger.trace( |
| | | "[IE] wait for end ends with " + ieCtx.failureList); |
| | | { |
| | | logger.trace("[IE] wait for end ends with " + ieCtx.failureList); |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | throws IOException |
| | | { |
| | | if (logger.isTraceEnabled()) |
| | | logger.trace("[IE] Entering exportLDIFEntry entry=" + |
| | | Arrays.toString(lDIFEntry)); |
| | | { |
| | | logger.trace("[IE] Entering exportLDIFEntry entry=" + Arrays.toString(lDIFEntry)); |
| | | } |
| | | |
| | | // build the message |
| | | ImportExportContext ieCtx = importExportContext.get(); |
| | |
| | | int slowestCnt = ieCtx.ackVals.get(slowestServerId); |
| | | |
| | | if (logger.isTraceEnabled()) |
| | | { |
| | | logger.trace("[IE] Entering exportLDIFEntry waiting " + |
| | | " our=" + ourLastExportedCnt + " slowest=" + slowestCnt); |
| | | } |
| | | |
| | | if ((ourLastExportedCnt - slowestCnt) > ieCtx.initWindow) |
| | | { |
| | | if (logger.isTraceEnabled()) |
| | | { |
| | | logger.trace("[IE] Entering exportLDIFEntry waiting"); |
| | | } |
| | | |
| | | // our export is too far beyond the slowest importer - let's wait |
| | | try { Thread.sleep(100); } |
| | |
| | | else |
| | | { |
| | | if (logger.isTraceEnabled()) |
| | | { |
| | | logger.trace("[IE] slowest got to us => stop waiting"); |
| | | } |
| | | break; |
| | | } |
| | | } // Waiting the slowest loop |
| | | |
| | | if (logger.isTraceEnabled()) |
| | | logger.trace("[IE] Entering exportLDIFEntry pub entry=" |
| | | + Arrays.toString(lDIFEntry)); |
| | | { |
| | | logger.trace("[IE] Entering exportLDIFEntry pub entry=" + Arrays.toString(lDIFEntry)); |
| | | } |
| | | |
| | | boolean sent = broker.publish(entryMessage, false); |
| | | |