Uploaded image for project: 'Accumulo'
  1. Accumulo
  2. ACCUMULO-2208

Provide better error handling when unable to cleanly close log

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.5.0
    • Fix Version/s: 1.5.1, 1.6.0
    • Component/s: tserver
    • Labels:
      None

      Description

      I saw this once over 36 tserver/days, caused by an InvalidArgumentException, so odd occurrence. It was doing CI but before agitation started so it was a non issue, but it could be. The code around this is

      for (DfsLogger logger : loggers) {
              try {
                logger.close();
              } catch (DfsLogger.LogClosedException ex) {
                // ignore
              } catch (Throwable ex) {
                log.error("Unable to cleanly close log " + logger.getFileName() + ": " + ex);
              }
            }
            loggers.clear();
            logSizeEstimate.set(0);

      so it seems like it blindly powered forward. However, because of the frequency of syncs and such, even if there was agitation the odds of losing data are very minute, but I do believe their still there.

      But because the log message just relies on error.toString, I didn't get the violating stack trace. At the bare minimum, the message should be updated to log the full stack trace.

        Attachments

          Activity

            People

            • Assignee:
              vines John Vines
              Reporter:
              vines John Vines
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: