sendAbortProcessSignal(); throw new RuntimeException(e); } finally {
Thread.currentThread().interrupt(); syncException.compareAndSet(null, e); sendAbortProcessSignal(); throw e; } catch (Throwable t) { syncException.compareAndSet(null, t); sendAbortProcessSignal(); throw t; } finally {
sendAbortProcessSignal(); throw new RuntimeException(e); } finally {
} catch (InterruptedException e) { Thread.currentThread().interrupt(); sendAbortProcessSignal(); throw new RuntimeException(e); } finally {
sendAbortProcessSignal(); throw new RuntimeException(e); } finally {
private boolean rollWriterOrDie() { for (int i = 0; i < rollRetries; ++i) { if (i > 0) Threads.sleepWithoutInterrupt(waitBeforeRoll * i); try { if (rollWriter()) { return true; } } catch (IOException e) { LOG.warn("Unable to roll the log, attempt=" + (i + 1), e); } } LOG.fatal("Unable to roll the log"); sendAbortProcessSignal(); throw new RuntimeException("unable to roll the log"); }
Thread.currentThread().interrupt(); syncException.compareAndSet(null, e); sendAbortProcessSignal(); throw e; } catch (Throwable t) { syncException.compareAndSet(null, t); sendAbortProcessSignal(); throw t; } finally {
Thread.currentThread().interrupt(); syncException.compareAndSet(null, e); sendAbortProcessSignal(); throw e; } catch (Throwable t) { syncException.compareAndSet(null, t); sendAbortProcessSignal(); throw t; } finally {
} catch (InterruptedException e) { Thread.currentThread().interrupt(); sendAbortProcessSignal(); syncException.compareAndSet(null, e); throw e;
private long syncSlots() throws Throwable { int retry = 0; int logRolled = 0; long totalSynced = 0; do { try { totalSynced = syncSlots(stream, slots, 0, slotIndex); break; } catch (Throwable e) { LOG.warn("unable to sync slots, retry=" + retry); if (++retry >= maxRetriesBeforeRoll) { if (logRolled >= maxSyncFailureRoll) { LOG.error("Sync slots after log roll failed, abort.", e); sendAbortProcessSignal(); throw e; } if (!rollWriterOrDie()) { throw e; } logRolled++; retry = 0; } } } while (isRunning()); return totalSynced; }