public void failedSnapshot() { exception = new IOException("Failed during snapshot creation."); forceShutdown(); }
public synchronized void terminateSessions() { for (RepairSession session : sessions.values()) { session.forceShutdown(); } parentRepairSessions.clear(); }
void failedNode(InetAddress remote) { String errorMsg = String.format("Endpoint %s died", remote); exception = new IOException(errorMsg); // If a node failed during Merkle creation, we stop everything (though there could still be some activity in the background) forceShutdown(); }
public synchronized void terminateSessions() { Throwable cause = new IOException("Terminate session is called"); for (RepairSession session : sessions.values()) { session.forceShutdown(cause); } parentRepairSessions.clear(); }
public synchronized void terminateSessions() { Throwable cause = new IOException("Terminate session is called"); for (RepairSession session : sessions.values()) { session.forceShutdown(cause); } parentRepairSessions.clear(); }
public synchronized void terminateSessions() { Throwable cause = new IOException("Terminate session is called"); for (RepairSession session : sessions.values()) { session.forceShutdown(cause); } parentRepairSessions.clear(); }
public void onFailure(Throwable t) { logger.error(String.format("[repair #%s] Session completed with the following error", getId()), t); Tracing.traceRepair("Session completed with the following error: {}", t); forceShutdown(t); } });
public void onFailure(Throwable t) { logger.error(String.format("[repair #%s] Session completed with the following error", getId()), t); Tracing.traceRepair("Session completed with the following error: {}", t); forceShutdown(t); } });
public void onFailure(Throwable t) { logger.error(String.format("[repair #%s] Session completed with the following error", getId()), t); Tracing.traceRepair("Session completed with the following error: {}", t); forceShutdown(t); } });
public void convict(InetAddress endpoint, double phi) { if (!endpoints.contains(endpoint)) return; // We want a higher confidence in the failure detection than usual because failing a repair wrongly has a high cost. if (phi < 2 * DatabaseDescriptor.getPhiConvictThreshold()) return; // Though unlikely, it is possible to arrive here multiple time and we // want to avoid print an error message twice if (!isFailed.compareAndSet(false, true)) return; Exception exception = new IOException(String.format("Endpoint %s died", endpoint)); logger.error(String.format("[repair #%s] session completed with the following error", getId()), exception); // If a node failed, we stop everything (though there could still be some activity in the background) forceShutdown(exception); } }
public void convict(InetAddress endpoint, double phi) { if (!endpoints.contains(endpoint)) return; // We want a higher confidence in the failure detection than usual because failing a repair wrongly has a high cost. if (phi < 2 * DatabaseDescriptor.getPhiConvictThreshold()) return; // Though unlikely, it is possible to arrive here multiple time and we // want to avoid print an error message twice if (!isFailed.compareAndSet(false, true)) return; Exception exception = new IOException(String.format("Endpoint %s died", endpoint)); logger.error(String.format("[repair #%s] session completed with the following error", getId()), exception); // If a node failed, we stop everything (though there could still be some activity in the background) forceShutdown(exception); } }
public void convict(InetAddress endpoint, double phi) { if (!endpoints.contains(endpoint)) return; // We want a higher confidence in the failure detection than usual because failing a repair wrongly has a high cost. if (phi < 2 * DatabaseDescriptor.getPhiConvictThreshold()) return; // Though unlikely, it is possible to arrive here multiple time and we // want to avoid print an error message twice if (!isFailed.compareAndSet(false, true)) return; Exception exception = new IOException(String.format("Endpoint %s died", endpoint)); logger.error(String.format("[repair #%s] session completed with the following error", getId()), exception); // If a node failed, we stop everything (though there could still be some activity in the background) forceShutdown(exception); } }