| | |
| | | import org.opends.server.util.ServerConstants; |
| | | |
| | | import static org.opends.messages.ReplicationMessages.*; |
| | | import static org.opends.server.loggers.ErrorLogger.*; |
| | | import static org.opends.server.replication.protocol.ProtocolVersion.*; |
| | | import static org.opends.server.replication.server.ReplicationServer.*; |
| | | import static org.opends.server.util.StaticUtils.*; |
| | |
| | | final int rsServerId = rs.rsInfo.getServerId(); |
| | | if (rsGenId == getGenerationID() || rsGenId == -1) |
| | | { |
| | | logError(NOTE_NOW_FOUND_SAME_GENERATION_CHANGELOG.get( |
| | | serverId, rsServerId, baseDN.toNormalizedString(), |
| | | logger.info(NOTE_NOW_FOUND_SAME_GENERATION_CHANGELOG.get(serverId, rsServerId, baseDN.toNormalizedString(), |
| | | rs.replicationServer, getGenerationID())); |
| | | } |
| | | else |
| | | { |
| | | logError(WARN_NOW_FOUND_BAD_GENERATION_CHANGELOG.get( |
| | | serverId, rsServerId, baseDN.toNormalizedString(), |
| | | logger.warn(WARN_NOW_FOUND_BAD_GENERATION_CHANGELOG.get(serverId, rsServerId, baseDN.toNormalizedString(), |
| | | rs.replicationServer, getGenerationID(), rsGenId)); |
| | | } |
| | | } |
| | |
| | | |
| | | if (replicationServerInfos.size() > 0) |
| | | { |
| | | logError(WARN_COULD_NOT_FIND_CHANGELOG.get( |
| | | serverId, baseDN.toNormalizedString(), |
| | | collectionToString(replicationServerInfos.keySet(), ", "))); |
| | | logger.warn(WARN_COULD_NOT_FIND_CHANGELOG.get(serverId, baseDN |
| | | .toNormalizedString(), collectionToString( |
| | | replicationServerInfos.keySet(), ", "))); |
| | | } |
| | | else |
| | | { |
| | | logError(WARN_NO_AVAILABLE_CHANGELOGS.get( |
| | | serverId, baseDN.toNormalizedString())); |
| | | logger.warn(WARN_NO_AVAILABLE_CHANGELOGS.get(serverId, baseDN.toNormalizedString())); |
| | | } |
| | | } |
| | | } |
| | |
| | | warn user and start heartbeat monitor to recover when a server |
| | | with the right group id shows up. |
| | | */ |
| | | logError(WARN_CONNECTED_TO_SERVER_WITH_WRONG_GROUP_ID.get( |
| | | Byte.toString(groupId), Integer.toString(rs.getServerId()), |
| | | rsInfo.getServerURL(), Byte.toString(rs.getGroupId()), |
| | | baseDN.toNormalizedString(), Integer.toString(getServerId()))); |
| | | logger.warn(WARN_CONNECTED_TO_SERVER_WITH_WRONG_GROUP_ID.get(Byte |
| | | .toString(groupId), Integer.toString(rs.getServerId()), rsInfo |
| | | .getServerURL(), Byte.toString(rs.getGroupId()), baseDN |
| | | .toNormalizedString(), Integer.toString(getServerId()))); |
| | | } |
| | | startRSHeartBeatMonitoring(rs); |
| | | if (rsInfo.getProtocolVersion() >= |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | logError(ERR_COMPUTING_FAKE_OPS.get( |
| | | baseDN.toNormalizedString(), rsInfo.getServerURL(), |
| | | logger.error(ERR_COMPUTING_FAKE_OPS.get(baseDN.toNormalizedString(), rsInfo.getServerURL(), |
| | | e.getLocalizedMessage() + " " + stackTraceToSingleLineString(e))); |
| | | } |
| | | finally |
| | |
| | | if (keepSession) // Log error message only for final connection |
| | | { |
| | | // log the error message only once to avoid overflowing the error log |
| | | logError(errorMessage); |
| | | logger.error(errorMessage); |
| | | } |
| | | |
| | | if (logger.isTraceEnabled()) |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | logError(WARN_EXCEPTION_STARTING_SESSION_PHASE.get( |
| | | getServerId(), server, getBaseDN().toNormalizedString(), |
| | | logger.warn(WARN_EXCEPTION_STARTING_SESSION_PHASE.get(getServerId(), server, getBaseDN().toNormalizedString(), |
| | | stackTraceToSingleLineString(e))); |
| | | |
| | | rs.session.close(); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | logError(WARN_EXCEPTION_STARTING_SESSION_PHASE.get( |
| | | logger.error(WARN_EXCEPTION_STARTING_SESSION_PHASE.get( |
| | | getServerId(), electedRS.rsInfo.getServerURL(), |
| | | getBaseDN().toNormalizedString(), stackTraceToSingleLineString(e))); |
| | | |
| | |
| | | mb.append(NOTE_EXCEPTION_RESTARTING_SESSION.get( |
| | | getBaseDN().toNormalizedString(), e.getLocalizedMessage())); |
| | | mb.append(stackTraceToSingleLineString(e)); |
| | | logError(mb.toMessage()); |
| | | logger.error(mb.toMessage()); |
| | | } |
| | | |
| | | if (rs.isConnected() || !infiniteTry) |
| | |
| | | else if (msg instanceof StopMsg) |
| | | { |
| | | // RS performs a proper disconnection |
| | | LocalizableMessage message = WARN_REPLICATION_SERVER_PROPERLY_DISCONNECTED.get( |
| | | previousRsServerID, rs.replicationServer, |
| | | logger.warn(WARN_REPLICATION_SERVER_PROPERLY_DISCONNECTED, previousRsServerID, rs.replicationServer, |
| | | serverId, baseDN.toNormalizedString()); |
| | | logError(message); |
| | | |
| | | // Try to find a suitable RS |
| | | reStart(rs.session, true); |
| | |
| | | evals.getEvaluation(previousRsServerID).toString(), |
| | | evals.getEvaluation(bestRsServerId).toString()); |
| | | } |
| | | logError(message); |
| | | logger.error(message); |
| | | if (logger.isTraceEnabled()) |
| | | debugInfo("best replication servers evaluation results: " |
| | | + evals); |
| | |
| | | if (rs.session == null || !rs.session.closeInitiated()) |
| | | { |
| | | // We did not initiate the close on our side, log an error message. |
| | | logError(WARN_REPLICATION_SERVER_BADLY_DISCONNECTED.get( |
| | | logger.error(WARN_REPLICATION_SERVER_BADLY_DISCONNECTED.get( |
| | | serverId, baseDN.toNormalizedString(), previousRsServerID, |
| | | rs.replicationServer)); |
| | | } |
| | |
| | | new ChangeStatusMsg(ServerStatus.INVALID_STATUS, newStatus)); |
| | | } catch (IOException ex) |
| | | { |
| | | LocalizableMessage message = ERR_EXCEPTION_SENDING_CS.get( |
| | | getBaseDN().toNormalizedString(), |
| | | logger.error(ERR_EXCEPTION_SENDING_CS, getBaseDN().toNormalizedString(), |
| | | Integer.toString(getServerId()), |
| | | ex.getLocalizedMessage() + " " + stackTraceToSingleLineString(ex)); |
| | | logError(message); |
| | | } |
| | | } |
| | | |