Description
When master starts up and tries to do splitlog, in case of any error we try to do that infinitely in a loop until it succeeds.
But now if we get a shutdown call, inside SplitLogManager
if (stopper.isStopped()) { LOG.warn("Stopped while waiting for log splits to be completed"); return; }
Here we know that the master has stopped. As the task may not be completed now
if (batch.done != batch.installed) { batch.isDead = true; tot_mgr_log_split_batch_err.incrementAndGet(); LOG.warn("error while splitting logs in " + logDirs + " installed = " + batch.installed + " but only " + batch.done + " done"); throw new IOException("error or interrupt while splitting logs in " + logDirs + " Task = " + batch); }
we throw an exception. In MasterFileSystem.splitLogAfterStartup() we don't check if the master is stopped and we try continously.