OPENDJ-1585 Replace calls to DN.toNormalizeString() by calls
to DN.toString() in logging statements and toString() methods
| | |
| | | } else { |
| | | urlDN=targetURL.getBaseDN(); |
| | | if(!urlDN.isDescendantOf(aciDN)) { |
| | | LocalizableMessage message = WARN_ACI_SYNTAX_TARGET_DN_NOT_DESCENDENTOF. |
| | | get(urlDN.toNormalizedString(), |
| | | aciDN.toNormalizedString()); |
| | | throw new AciException(message); |
| | | throw new AciException(WARN_ACI_SYNTAX_TARGET_DN_NOT_DESCENDENTOF.get(urlDN.toString(), |
| | | aciDN.toString())); |
| | | } |
| | | } |
| | | } |
| | |
| | | processedEntries.getAndIncrement(); |
| | | } catch (Exception ex) { |
| | | logger.traceException(ex); |
| | | logger.error(ERR_CACHE_PRELOAD_ENTRY_FAILED, entry.getName().toNormalizedString(), |
| | | logger.error(ERR_CACHE_PRELOAD_ENTRY_FAILED, entry.getName().toString(), |
| | | (ex.getCause() != null ? ex.getCause().getMessage() : |
| | | stackTraceToSingleLineString(ex))); |
| | | } |
| | |
| | | if (nodeID == null) |
| | | { |
| | | LocalizableMessage msg = |
| | | ERR_JEB_MISSING_DN2ID_RECORD.get(dn.toNormalizedString()); |
| | | ERR_JEB_MISSING_DN2ID_RECORD.get(dn.toString()); |
| | | throw new JebException(msg); |
| | | } |
| | | |
| | |
| | | if (parentID == null) |
| | | { |
| | | LocalizableMessage msg = |
| | | ERR_JEB_MISSING_DN2ID_RECORD.get(parentDN.toNormalizedString()); |
| | | ERR_JEB_MISSING_DN2ID_RECORD.get(parentDN.toString()); |
| | | throw new JebException(msg); |
| | | } |
| | | |
| | |
| | | { |
| | | logger.trace("File dn2id has DN <%s> referencing entry " + |
| | | "with wrong DN <%s>%n", new String(key.getData()), |
| | | entry.getName().toNormalizedString()); |
| | | entry.getName().toString()); |
| | | } |
| | | } |
| | | } |
| | |
| | | if (logger.isTraceEnabled()) |
| | | { |
| | | logger.trace("File dn2id is missing key %s.%n", |
| | | dn.toNormalizedString()); |
| | | dn.toString()); |
| | | } |
| | | errorCount++; |
| | | } |
| | |
| | | if (logger.isTraceEnabled()) |
| | | { |
| | | logger.trace("File dn2id is missing key %s.%n", |
| | | parentDN.toNormalizedString()); |
| | | parentDN.toString()); |
| | | } |
| | | errorCount++; |
| | | } |
| | |
| | | logger.traceException(e); |
| | | |
| | | logger.trace("File dn2id has error reading key %s: %s.", |
| | | parentDN.toNormalizedString(), |
| | | parentDN.toString(), |
| | | e.getMessage()); |
| | | } |
| | | errorCount++; |
| | |
| | | if (logger.isTraceEnabled()) |
| | | { |
| | | logger.trace("File dn2id is missing key %s.%n", |
| | | dn.toNormalizedString()); |
| | | dn.toString()); |
| | | } |
| | | errorCount++; |
| | | } |
| | |
| | | logger.traceException(e); |
| | | |
| | | logger.trace("File dn2id has error reading key %s: %s.%n", |
| | | dn.toNormalizedString(), |
| | | dn.toString(), |
| | | e.getMessage()); |
| | | } |
| | | errorCount++; |
| | |
| | | @Override |
| | | public String toString() |
| | | { |
| | | return entry.getName().toNormalizedString(); |
| | | return entry.getName().toString(); |
| | | } |
| | | } |
| | |
| | | { |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, |
| | | ERR_PWPOLICY_UNDEFINED_PASSWORD_ATTRIBUTE.get( |
| | | this.passwordPolicySubentryDN.toNormalizedString(), value)); |
| | | this.passwordPolicySubentryDN.toString(), value)); |
| | | } |
| | | |
| | | // Check the syntax. |
| | |
| | | { |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, |
| | | ERR_PWPOLICY_UNKNOWN_VALIDATOR.get( |
| | | this.passwordPolicySubentryDN.toNormalizedString(), |
| | | this.passwordPolicySubentryDN.toString(), |
| | | validatorDN.toString(), PWD_ATTR_VALIDATOR)); |
| | | } |
| | | pValidatorNames.add(validatorDN); |
| | |
| | | // Only log an error once, on first error |
| | | if (isAlreadyLogged.compareAndSet(false, true)) { |
| | | logger.error(ERR_PWPOLICY_REJECT_DUE_TO_UNKNOWN_VALIDATOR_LOG, |
| | | userEntry.getName().toNormalizedString(), pwPolicyName, validatorName); |
| | | userEntry.getName().toString(), pwPolicyName, validatorName); |
| | | } |
| | | return false; |
| | | } |
| | |
| | | switch (method) |
| | | { |
| | | case ANONYMOUS: |
| | | if (bindDN.toNormalizedString().length() == 0) |
| | | if (bindDN.toString().length() == 0) |
| | | { |
| | | return true; |
| | | } |
| | | break; |
| | | case SIMPLE: |
| | | if (authType == AuthenticationType.SIMPLE |
| | | && bindDN.toNormalizedString().length() > 0) |
| | | && bindDN.toString().length() > 0) |
| | | { |
| | | return true; |
| | | } |
| | |
| | | { |
| | | // The asynchronous setting is being turned on. |
| | | writer = new AsynchronousTextWriter( |
| | | "Asynchronous Text Writer for " + config.dn().toNormalizedString(), |
| | | "Asynchronous Text Writer for " + config.dn().toString(), |
| | | config.getQueueSize(), config.isAutoFlush(), mfWriter); |
| | | } |
| | | |
| | |
| | | { |
| | | // The asynchronous setting is being turned on. |
| | | writer = new ParallelTextWriter( |
| | | "Parallel Text Writer for " + config.dn().toNormalizedString(), |
| | | "Parallel Text Writer for " + config.dn().toString(), |
| | | config.isAutoFlush(), mfWriter); |
| | | } |
| | | |
| | |
| | | && !cfg.isAsynchronous(); |
| | | |
| | | final MultifileTextWriter theWriter = new MultifileTextWriter( |
| | | "Multifile Text Writer for " + cfg.dn().toNormalizedString(), |
| | | "Multifile Text Writer for " + cfg.dn().toString(), |
| | | cfg.getTimeInterval(), fnPolicy, perm, errorHandler, "UTF-8", |
| | | writerAutoFlush, cfg.isAppend(), (int) cfg.getBufferSize()); |
| | | |
| | |
| | | if (cfg.getQueueSize() > 0) |
| | | { |
| | | this.writer = new AsynchronousTextWriter( |
| | | "Asynchronous Text Writer for " + cfg.dn().toNormalizedString(), |
| | | "Asynchronous Text Writer for " + cfg.dn().toString(), |
| | | cfg.getQueueSize(), cfg.isAutoFlush(), theWriter); |
| | | } |
| | | else |
| | | { |
| | | this.writer = new ParallelTextWriter("Parallel Text Writer for " |
| | | + cfg.dn().toNormalizedString(), cfg.isAutoFlush(), theWriter); |
| | | + cfg.dn().toString(), cfg.isAutoFlush(), theWriter); |
| | | } |
| | | } |
| | | else |
| | |
| | | // The asynchronous setting is being turned on. |
| | | writer = new AsynchronousTextWriter( |
| | | "Asynchronous Text Writer for " + |
| | | config.dn().toNormalizedString(), |
| | | config.dn().toString(), |
| | | config.getQueueSize(), config.isAutoFlush(), mfWriter); |
| | | } |
| | | |
| | |
| | | && !cfg.isAsynchronous(); |
| | | |
| | | MultifileTextWriter writer = new MultifileTextWriter( |
| | | "Multifile Text Writer for " + cfg.dn().toNormalizedString(), |
| | | "Multifile Text Writer for " + cfg.dn().toString(), |
| | | cfg.getTimeInterval(), fnPolicy, perm, errorHandler, "UTF-8", |
| | | writerAutoFlush, cfg.isAppend(), (int) cfg.getBufferSize()); |
| | | |
| | |
| | | if (cfg.isAsynchronous()) |
| | | { |
| | | this.writer = new AsynchronousTextWriter("Asynchronous Text Writer for " |
| | | + cfg.dn().toNormalizedString(), cfg.getQueueSize(), cfg |
| | | + cfg.dn().toString(), cfg.getQueueSize(), cfg |
| | | .isAutoFlush(), writer); |
| | | } |
| | | else |
| | |
| | | |
| | | MultifileTextWriter writer = |
| | | new MultifileTextWriter("Multifile Text Writer for " + |
| | | config.dn().toNormalizedString(), |
| | | config.dn().toString(), |
| | | config.getTimeInterval(), |
| | | fnPolicy, |
| | | perm, |
| | |
| | | if(config.isAsynchronous()) |
| | | { |
| | | this.writer = new AsynchronousTextWriter( |
| | | "Asynchronous Text Writer for " + config.dn().toNormalizedString(), |
| | | "Asynchronous Text Writer for " + config.dn().toString(), |
| | | config.getQueueSize(), config.isAutoFlush(), writer); |
| | | } |
| | | else |
| | |
| | | { |
| | | // The asynchronous setting is being turned on. |
| | | writer = new AsynchronousTextWriter("Asynchronous Text Writer for " + |
| | | config.dn().toNormalizedString(), config.getQueueSize(), |
| | | config.dn().toString(), config.getQueueSize(), |
| | | config.isAutoFlush(), |
| | | mfWriter); |
| | | } |
| | |
| | | |
| | | MultifileTextWriter writer = |
| | | new MultifileTextWriter("Multifile Text Writer for " + |
| | | config.dn().toNormalizedString(), |
| | | config.dn().toString(), |
| | | config.getTimeInterval(), |
| | | fnPolicy, |
| | | perm, |
| | |
| | | { |
| | | this.writer = new AsynchronousTextWriter( |
| | | "Asynchronous Text Writer for " + |
| | | config.dn().toNormalizedString(), |
| | | config.dn().toString(), |
| | | config.getQueueSize(), config.isAutoFlush(), writer); |
| | | } |
| | | else |
| | |
| | | { |
| | | // The asynchronous setting is being turned on. |
| | | writer = new AsynchronousTextWriter("Asynchronous Text Writer for " + |
| | | config.dn().toNormalizedString(), config.getQueueSize(), |
| | | config.dn().toString(), config.getQueueSize(), |
| | | config.isAutoFlush(), |
| | | mfWriter); |
| | | } |
| | |
| | | // The asynchronous setting is being turned on. |
| | | final AsynchronousTextWriter asyncWriter = |
| | | new AsynchronousTextWriter("Asynchronous Text Writer for " |
| | | + config.dn().toNormalizedString(), config.getQueueSize(), |
| | | + config.dn().toString(), config.getQueueSize(), |
| | | config.isAutoFlush(), mfWriter); |
| | | writer = asyncWriter; |
| | | } |
| | |
| | | { |
| | | // The asynchronous setting is being turned on. |
| | | final ParallelTextWriter asyncWriter = new ParallelTextWriter( |
| | | "Parallel Text Writer for " + config.dn().toNormalizedString(), |
| | | "Parallel Text Writer for " + config.dn().toString(), |
| | | config.isAutoFlush(), mfWriter); |
| | | writer = asyncWriter; |
| | | } |
| | |
| | | && !cfg.isAsynchronous(); |
| | | |
| | | final MultifileTextWriter theWriter = new MultifileTextWriter( |
| | | "Multifile Text Writer for " + cfg.dn().toNormalizedString(), |
| | | "Multifile Text Writer for " + cfg.dn().toString(), |
| | | cfg.getTimeInterval(), fnPolicy, perm, errorHandler, "UTF-8", |
| | | writerAutoFlush, cfg.isAppend(), (int) cfg.getBufferSize()); |
| | | |
| | |
| | | if (cfg.getQueueSize() > 0) |
| | | { |
| | | this.writer = new AsynchronousTextWriter( |
| | | "Asynchronous Text Writer for " + cfg.dn().toNormalizedString(), |
| | | "Asynchronous Text Writer for " + cfg.dn().toString(), |
| | | cfg.getQueueSize(), cfg.isAutoFlush(), theWriter); |
| | | } |
| | | else |
| | | { |
| | | this.writer = new ParallelTextWriter("Parallel Text Writer for " |
| | | + cfg.dn().toNormalizedString(), cfg.isAutoFlush(), theWriter); |
| | | + cfg.dn().toString(), cfg.isAutoFlush(), theWriter); |
| | | } |
| | | } |
| | | else |
| | |
| | | * historical information is going to be kept. |
| | | * Log information for the repair tool. |
| | | */ |
| | | logger.error(ERR_UNKNOWN_ATTRIBUTE_IN_HISTORICAL, entry.getName().toNormalizedString(), |
| | | logger.error(ERR_UNKNOWN_ATTRIBUTE_IN_HISTORICAL, entry.getName().toString(), |
| | | histVal.getAttrString()); |
| | | continue; |
| | | } |
| | |
| | | { |
| | | // An error happened trying to search for the updates |
| | | // Log an error |
| | | logger.error(ERR_CANNOT_RECOVER_CHANGES, baseDN.toNormalizedString()); |
| | | logger.error(ERR_CANNOT_RECOVER_CHANGES, baseDN.toString()); |
| | | return; |
| | | } |
| | | |
| | |
| | | { |
| | | // Update the serverState with the new maxCsn present in the database |
| | | update(dbMaxCSN); |
| | | logger.info(NOTE_SERVER_STATE_RECOVERY, baseDN.toNormalizedString(), dbMaxCSN); |
| | | logger.info(NOTE_SERVER_STATE_RECOVERY, baseDN.toString(), dbMaxCSN); |
| | | } |
| | | } |
| | | } |
| | |
| | | replicationServerDomain.register(this); |
| | | |
| | | logger.debug(INFO_REPLICATION_SERVER_CONNECTION_FROM_DS, getReplicationServerId(), getServerId(), |
| | | replicationServerDomain.getBaseDN().toNormalizedString(), |
| | | replicationServerDomain.getBaseDN().toString(), |
| | | session.getReadableRemoteAddress()); |
| | | |
| | | super.finalizeStart(); |
| | |
| | | if (!this.baseDN.equals(baseDN)) |
| | | { |
| | | LocalizableMessage message = ERR_RS_DN_DOES_NOT_MATCH.get( |
| | | this.baseDN.toNormalizedString(), baseDN.toNormalizedString()); |
| | | this.baseDN.toString(), baseDN.toString()); |
| | | throw new DirectoryException(ResultCode.OTHER, message, null); |
| | | } |
| | | } |
| | |
| | | { |
| | | // This is a response for an earlier request whose computing is |
| | | // already complete. |
| | | logger.debug(INFO_IGNORING_REMOTE_MONITOR_DATA, domain.getBaseDN().toNormalizedString(), msg.getSenderID()); |
| | | logger.debug(INFO_IGNORING_REMOTE_MONITOR_DATA, domain.getBaseDN().toString(), msg.getSenderID()); |
| | | return; |
| | | } |
| | | |
| | |
| | | LocalizableMessageBuilder mb = new LocalizableMessageBuilder(); |
| | | mb.append(ERR_RS_ERROR_SENDING_ACK.get( |
| | | localReplicationServer.getServerId(), origServer.getServerId(), |
| | | csn, baseDN.toNormalizedString())); |
| | | csn, baseDN.toString())); |
| | | mb.append(" "); |
| | | mb.append(stackTraceToSingleLineString(e)); |
| | | logger.error(mb.toMessage()); |
| | |
| | | LocalizableMessageBuilder mb = new LocalizableMessageBuilder(); |
| | | mb.append(ERR_RS_ERROR_SENDING_ACK.get( |
| | | localReplicationServer.getServerId(), origServer.getServerId(), |
| | | csn, baseDN.toNormalizedString())); |
| | | csn, baseDN.toString())); |
| | | mb.append(" "); |
| | | mb.append(stackTraceToSingleLineString(e)); |
| | | logger.error(mb.toMessage()); |
| | |
| | | RoutableMsg msg) |
| | | { |
| | | LocalizableMessageBuilder mb = new LocalizableMessageBuilder(); |
| | | mb.append(ERR_NO_REACHABLE_PEER_IN_THE_DOMAIN.get(baseDN.toNormalizedString(), msg.getDestination())); |
| | | mb.append(ERR_NO_REACHABLE_PEER_IN_THE_DOMAIN.get(baseDN.toString(), msg.getDestination())); |
| | | mb.append(" In Replication Server=").append( |
| | | this.localReplicationServer.getMonitorInstanceName()); |
| | | mb.append(" unroutable message =").append(msg.getClass().getSimpleName()); |
| | |
| | | */ |
| | | LocalizableMessageBuilder mb = new LocalizableMessageBuilder(); |
| | | mb.append(ERR_NO_REACHABLE_PEER_IN_THE_DOMAIN.get( |
| | | baseDN.toNormalizedString(), msg.getDestination())); |
| | | baseDN.toString(), msg.getDestination())); |
| | | mb.append(" unroutable message =" + msg.getClass().getSimpleName()); |
| | | mb.append(" Details: " + ioe.getLocalizedMessage()); |
| | | final LocalizableMessage message = mb.toMessage(); |
| | |
| | | } |
| | | } catch (IOException e) |
| | | { |
| | | logger.error(ERR_EXCEPTION_FORWARDING_RESET_GEN_ID, baseDN.toNormalizedString(), e.getMessage()); |
| | | logger.error(ERR_EXCEPTION_FORWARDING_RESET_GEN_ID, baseDN.toString(), e.getMessage()); |
| | | } |
| | | } |
| | | |
| | |
| | | dsHandler.changeStatusForResetGenId(newGenId); |
| | | } catch (IOException e) |
| | | { |
| | | logger.error(ERR_EXCEPTION_CHANGING_STATUS_AFTER_RESET_GEN_ID, baseDN.toNormalizedString(), |
| | | logger.error(ERR_EXCEPTION_CHANGING_STATUS_AFTER_RESET_GEN_ID, baseDN.toString(), |
| | | dsHandler.getServerId(), e.getMessage()); |
| | | } |
| | | } |
| | |
| | | // treatment. |
| | | sendTopoInfoToAll(); |
| | | |
| | | logger.info(NOTE_RESET_GENERATION_ID, baseDN.toNormalizedString(), newGenId); |
| | | logger.info(NOTE_RESET_GENERATION_ID, baseDN.toString(), newGenId); |
| | | } |
| | | catch(Exception e) |
| | | { |
| | |
| | | enqueueTopoInfoToAllExcept(senderHandler); |
| | | |
| | | logger.info(NOTE_DIRECTORY_SERVER_CHANGED_STATUS, |
| | | senderHandler.getServerId(), baseDN.toNormalizedString(), newStatus); |
| | | senderHandler.getServerId(), baseDN.toString(), newStatus); |
| | | } |
| | | catch(Exception e) |
| | | { |
| | |
| | | catch (IOException e) |
| | | { |
| | | logger.error(ERR_EXCEPTION_CHANGING_STATUS_FROM_STATUS_ANALYZER, |
| | | baseDN.toNormalizedString(), dsHandler.getServerId(), e.getMessage()); |
| | | baseDN.toString(), dsHandler.getServerId(), e.getMessage()); |
| | | } |
| | | |
| | | if (newStatus == ServerStatus.INVALID_STATUS || newStatus == oldStatus) |
| | |
| | | LocalizableMessage message = |
| | | WARN_BAD_GENERATION_ID_FROM_RS.get(rsHandler.getServerId(), |
| | | rsHandler.session.getReadableRemoteAddress(), rsHandler |
| | | .getGenerationId(), baseDN.toNormalizedString(), |
| | | .getGenerationId(), baseDN.toString(), |
| | | getLocalRSServerId(), generationId); |
| | | logger.warn(message); |
| | | |
| | |
| | | { |
| | | return "Replication server RS(" + localReplicationServer.getServerId() |
| | | + ") " + localReplicationServer.getServerURL() + ",cn=" |
| | | + baseDN.toNormalizedString().replace(',', '_').replace('=', '_') |
| | | + baseDN.toString().replace(',', '_').replace('=', '_') |
| | | + ",cn=Replication"; |
| | | } |
| | | |
| | |
| | | if (i == 2) |
| | | { |
| | | logger.error(ERR_EXCEPTION_SENDING_TOPO_INFO, |
| | | baseDN.toNormalizedString(), type, handler.getServerId(), |
| | | baseDN.toString(), type, handler.getServerId(), |
| | | e.getMessage()); |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | logger.debug(INFO_REPLICATION_SERVER_CONNECTION_TO_RS, getReplicationServerId(), getServerId(), |
| | | replicationServerDomain.getBaseDN().toNormalizedString(), |
| | | replicationServerDomain.getBaseDN().toString(), |
| | | session.getReadableRemoteAddress()); |
| | | |
| | | super.finalizeStart(); |
| | |
| | | replicationServerDomain.receiveTopoInfoFromRS(inTopoMsg, this, false); |
| | | |
| | | logger.debug(INFO_REPLICATION_SERVER_CONNECTION_FROM_RS, getReplicationServerId(), getServerId(), |
| | | replicationServerDomain.getBaseDN().toNormalizedString(), |
| | | replicationServerDomain.getBaseDN().toString(), |
| | | session.getReadableRemoteAddress()); |
| | | |
| | | super.finalizeStart(); |
| | |
| | | @Override |
| | | public String toString() |
| | | { |
| | | return serverId + " " + baseDN.toNormalizedString(); |
| | | return serverId + " " + baseDN.toString(); |
| | | } |
| | | |
| | | /** Hold a cursor and an indicator of wether the cursor should be considered as empty. */ |
| | |
| | | final int rsServerId = rs.rsInfo.getServerId(); |
| | | if (rsGenId == getGenerationID() || rsGenId == -1) |
| | | { |
| | | logger.info(NOTE_NOW_FOUND_SAME_GENERATION_CHANGELOG, serverId, rsServerId, baseDN.toNormalizedString(), |
| | | logger.info(NOTE_NOW_FOUND_SAME_GENERATION_CHANGELOG, serverId, rsServerId, baseDN.toString(), |
| | | rs.replicationServer, getGenerationID()); |
| | | } |
| | | else |
| | | { |
| | | logger.warn(WARN_NOW_FOUND_BAD_GENERATION_CHANGELOG, serverId, rsServerId, baseDN.toNormalizedString(), |
| | | logger.warn(WARN_NOW_FOUND_BAD_GENERATION_CHANGELOG, serverId, rsServerId, baseDN.toString(), |
| | | rs.replicationServer, getGenerationID(), rsGenId); |
| | | } |
| | | } |
| | |
| | | |
| | | if (rsInfos.size() > 0) |
| | | { |
| | | logger.warn(WARN_COULD_NOT_FIND_CHANGELOG, serverId, baseDN.toNormalizedString(), |
| | | logger.warn(WARN_COULD_NOT_FIND_CHANGELOG, serverId, baseDN.toString(), |
| | | Utils.joinAsString(", ", rsInfos.keySet())); |
| | | } |
| | | else |
| | | { |
| | | logger.warn(WARN_NO_AVAILABLE_CHANGELOGS, serverId, baseDN.toNormalizedString()); |
| | | logger.warn(WARN_NO_AVAILABLE_CHANGELOGS, serverId, baseDN.toString()); |
| | | } |
| | | } |
| | | } |
| | |
| | | */ |
| | | logger.warn(WARN_CONNECTED_TO_SERVER_WITH_WRONG_GROUP_ID, |
| | | groupId, rs.getServerId(), rsInfo.getServerURL(), rs.getGroupId(), |
| | | baseDN.toNormalizedString(), getServerId()); |
| | | baseDN.toString(), getServerId()); |
| | | } |
| | | startRSHeartBeatMonitoring(rs); |
| | | if (rsInfo.getProtocolVersion() >= |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | logger.error(ERR_COMPUTING_FAKE_OPS, baseDN.toNormalizedString(), rsInfo.getServerURL(), |
| | | logger.error(ERR_COMPUTING_FAKE_OPS, baseDN.toString(), rsInfo.getServerURL(), |
| | | e.getLocalizedMessage() + " " + stackTraceToSingleLineString(e)); |
| | | } |
| | | finally |
| | |
| | | if (!getBaseDN().equals(repDN)) |
| | | { |
| | | errorMessage = ERR_DS_DN_DOES_NOT_MATCH.get( |
| | | repDN.toNormalizedString(), getBaseDN().toNormalizedString()); |
| | | repDN.toString(), getBaseDN().toString()); |
| | | return setConnectedRS(ConnectedRS.noConnectedRS()); |
| | | } |
| | | |
| | |
| | | catch (ConnectException e) |
| | | { |
| | | errorMessage = WARN_NO_CHANGELOG_SERVER_LISTENING.get(getServerId(), |
| | | serverURL, getBaseDN().toNormalizedString()); |
| | | serverURL, getBaseDN().toString()); |
| | | } |
| | | catch (SocketTimeoutException e) |
| | | { |
| | | errorMessage = WARN_TIMEOUT_CONNECTING_TO_RS.get(getServerId(), |
| | | serverURL, getBaseDN().toNormalizedString()); |
| | | serverURL, getBaseDN().toString()); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | errorMessage = WARN_EXCEPTION_STARTING_SESSION_PHASE.get(getServerId(), |
| | | serverURL, getBaseDN().toNormalizedString(), |
| | | serverURL, getBaseDN().toString(), |
| | | stackTraceToSingleLineString(e)); |
| | | } |
| | | finally |
| | |
| | | { |
| | | logger.error(WARN_EXCEPTION_STARTING_SESSION_PHASE, |
| | | getServerId(), electedRS.rsInfo.getServerURL(), |
| | | getBaseDN().toNormalizedString(), stackTraceToSingleLineString(e)); |
| | | getBaseDN().toString(), stackTraceToSingleLineString(e)); |
| | | |
| | | setConnectedRS(ConnectedRS.noConnectedRS()); |
| | | return null; |
| | |
| | | catch (Exception e) |
| | | { |
| | | logger.error(NOTE_EXCEPTION_RESTARTING_SESSION, |
| | | getBaseDN().toNormalizedString(), e.getLocalizedMessage() + " " + stackTraceToSingleLineString(e)); |
| | | getBaseDN().toString(), e.getLocalizedMessage() + " " + stackTraceToSingleLineString(e)); |
| | | } |
| | | |
| | | if (rs.isConnected() || !infiniteTry) |
| | |
| | | { |
| | | // RS performs a proper disconnection |
| | | logger.warn(WARN_REPLICATION_SERVER_PROPERLY_DISCONNECTED, previousRsServerID, rs.replicationServer, |
| | | serverId, baseDN.toNormalizedString()); |
| | | serverId, baseDN.toString()); |
| | | |
| | | // Try to find a suitable RS |
| | | reStart(rs.session, true); |
| | |
| | | { |
| | | message = NOTE_LOAD_BALANCE_REPLICATION_SERVER.get( |
| | | serverId, previousRsServerID, rs.replicationServer, |
| | | baseDN.toNormalizedString()); |
| | | baseDN.toString()); |
| | | } |
| | | else |
| | | { |
| | |
| | | message = NOTE_NEW_BEST_REPLICATION_SERVER.get( |
| | | serverId, previousRsServerID, rs.replicationServer, |
| | | bestRsServerId, |
| | | baseDN.toNormalizedString(), |
| | | baseDN.toString(), |
| | | evals.getEvaluation(previousRsServerID), |
| | | evals.getEvaluation(bestRsServerId)); |
| | | } |
| | |
| | | { |
| | | // We did not initiate the close on our side, log an error message. |
| | | logger.error(WARN_REPLICATION_SERVER_BADLY_DISCONNECTED, |
| | | serverId, baseDN.toNormalizedString(), previousRsServerID, |
| | | serverId, baseDN.toString(), previousRsServerID, |
| | | rs.replicationServer); |
| | | } |
| | | |
| | |
| | | new ChangeStatusMsg(ServerStatus.INVALID_STATUS, newStatus)); |
| | | } catch (IOException ex) |
| | | { |
| | | logger.error(ERR_EXCEPTION_SENDING_CS, getBaseDN().toNormalizedString(), |
| | | logger.error(ERR_EXCEPTION_SENDING_CS, getBaseDN().toString(), |
| | | getServerId(), ex.getLocalizedMessage() + " " + stackTraceToSingleLineString(ex)); |
| | | } |
| | | } |
| | |
| | | |
| | | /** Check the DEL entry has the right content. */ |
| | | private void assertDelEntry(SearchResultEntry entry, String uid, String entryUUID, |
| | | long changeNumber, CSN csn, String cookie) |
| | | long changeNumber, CSN csn, String cookie) throws Exception |
| | | { |
| | | assertAttributeValue(entry, "changetype", "delete"); |
| | | assertAttributeValue(entry, "targetuniqueid", entryUUID); |
| | |
| | | |
| | | /** Check the ADD entry has the right content. */ |
| | | private void assertAddEntry(SearchResultEntry entry, String uid, String entryUUID, |
| | | long changeNumber, CSN csn, String cookie) |
| | | long changeNumber, CSN csn, String cookie) throws Exception |
| | | { |
| | | assertAttributeValue(entry, "changetype", "add"); |
| | | assertEntryMatchesLDIF(entry, "changes", |
| | |
| | | } |
| | | |
| | | private void assertModEntry(SearchResultEntry entry, String uid, String entryUUID, |
| | | long changeNumber, CSN csn, String cookie) |
| | | long changeNumber, CSN csn, String cookie) throws Exception |
| | | { |
| | | assertAttributeValue(entry, "changetype", "modify"); |
| | | assertEntryMatchesLDIF(entry, "changes", |
| | |
| | | } |
| | | |
| | | private void assertModDNEntry(SearchResultEntry entry, String uid, String newUid, |
| | | String entryUUID, long changeNumber, CSN csn, String cookie) |
| | | String entryUUID, long changeNumber, CSN csn, String cookie) throws Exception |
| | | { |
| | | assertAttributeValue(entry, "changetype", "modrdn"); |
| | | assertAttributeValue(entry, "newrdn", "uid=" + newUid); |
| | |
| | | } |
| | | |
| | | private void assertEntryCommonAttributes(SearchResultEntry resultEntry, |
| | | String uid, String entryUUID, long changeNumber, CSN csn, String cookie) |
| | | String uid, String entryUUID, long changeNumber, CSN csn, String cookie) throws Exception |
| | | { |
| | | if (changeNumber == 0) |
| | | { |
| | |
| | | .isEqualToIgnoringCase(expectedValue); |
| | | } |
| | | |
| | | private void assertDNWithChangeNumber(SearchResultEntry resultEntry, long changeNumber) |
| | | private void assertDNWithChangeNumber(SearchResultEntry resultEntry, long changeNumber) throws Exception |
| | | { |
| | | String actualDN = resultEntry.getName().toNormalizedString(); |
| | | String expectedDN = "changenumber=" + changeNumber + ",cn=changelog"; |
| | | assertThat(actualDN).isEqualToIgnoringCase(expectedDN); |
| | | DN actualDN = resultEntry.getName(); |
| | | DN expectedDN = DN.valueOf("changenumber=" + changeNumber + ",cn=changelog"); |
| | | assertThat(actualDN).isEqualTo(expectedDN); |
| | | } |
| | | |
| | | private void assertDNWithCSN(SearchResultEntry resultEntry, CSN csn) |
| | | private void assertDNWithCSN(SearchResultEntry resultEntry, CSN csn) throws Exception |
| | | { |
| | | String actualDN = resultEntry.getName().toNormalizedString(); |
| | | String expectedDN = "replicationcsn=" + csn + "," + TEST_ROOT_DN_STRING + ",cn=changelog"; |
| | | assertThat(actualDN).isEqualToIgnoringCase(expectedDN); |
| | | DN actualDN = resultEntry.getName(); |
| | | DN expectedDN = DN.valueOf("replicationcsn=" + csn + "," + TEST_ROOT_DN_STRING + ",cn=changelog"); |
| | | assertThat(actualDN).isEqualTo(expectedDN); |
| | | } |
| | | |
| | | /** |
| | |
| | | String compromisedTime = TimeThread.getGeneralizedTime(); |
| | | for (Entry e : searchOp.getSearchEntries()) { |
| | | TestCaseUtils.applyModifications(true, |
| | | "dn: " + e.getName().toNormalizedString(), |
| | | "dn: " + e.getName().toString(), |
| | | "changetype: modify", |
| | | "replace: " + ConfigConstants.ATTR_CRYPTO_KEY_COMPROMISED_TIME, |
| | | ConfigConstants.ATTR_CRYPTO_KEY_COMPROMISED_TIME + ": " |
| | |
| | | // using a compromised key can no longer be decrypted. |
| | | for (Entry e : searchOp.getSearchEntries()) { |
| | | TestCaseUtils.applyModifications(true, |
| | | "dn: " + e.getName().toNormalizedString(), "changetype: delete"); |
| | | "dn: " + e.getName().toString(), "changetype: delete"); |
| | | } |
| | | Thread.sleep(1000); // Clearing the cache is asynchronous. |
| | | try { |
| | |
| | | "ds-task-initialize-domain-dn: " + baseDN, |
| | | "ds-task-initialize-replica-server-id: -3"); |
| | | addTask(taskInit, ResultCode.OTHER, |
| | | ERR_INVALID_IMPORT_SOURCE.get(baseDN.toNormalizedString(), server1ID,"-3","")); |
| | | ERR_INVALID_IMPORT_SOURCE.get(baseDN.toString(), server1ID,"-3","")); |
| | | |
| | | // Scope containing a serverID absent from the domain |
| | | // createTask(taskInitTargetS2); |
| | |
| | | "ds-task-initialize-replica-server-id: " + server1ID); |
| | | |
| | | addTask(taskInit, ResultCode.OTHER, ERR_INVALID_IMPORT_SOURCE.get( |
| | | baseDN.toNormalizedString(), server1ID, "20", "")); |
| | | baseDN.toString(), server1ID, "20", "")); |
| | | |
| | | if (replDomain != null) |
| | | { |