Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-22917

Proc-WAL roll fails always saying someone else has already created log

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Reopened
    • Priority: Critical
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 2.2.7
    • Component/s: proc-v2, wal
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      Recently we met a weird scenario where Procedure WAL roll fails as it is already created by someone else.

      Later while going through the logs and code, observed that during Proc-WAL roll it failed to write the header. On failure file stream is just closed,

       try {
       ProcedureWALFormat.writeHeader(newStream, header);
       startPos = newStream.getPos();
       } catch (IOException ioe) {
       LOG.warn("Encountered exception writing header", ioe);
       newStream.close();
       return false;
       }
      

      Since we don't delete the corrupted file or increment the flushLogId, so on each retry it is trying to create the same flushLogId file. However Hmaster failover will resolve this issue, but we should handle it.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                pankaj2461 Pankaj Kumar
                Reporter:
                pankaj2461 Pankaj Kumar
              • Votes:
                0 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated: