You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Michael Stack (Jira)" <ji...@apache.org> on 2019/10/30 20:02:00 UTC

[jira] [Resolved] (HBASE-22917) Proc-WAL roll fails always saying someone else has already created log

     [ https://issues.apache.org/jira/browse/HBASE-22917?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Stack resolved HBASE-22917.
-----------------------------------
    Fix Version/s: 2.2.3
                   2.3.0
                   3.0.0
     Hadoop Flags: Reviewed
       Resolution: Fixed

Merged. Thanks for patch [~pankaj2461]


> Proc-WAL roll fails always saying someone else has already created log
> ----------------------------------------------------------------------
>
>                 Key: HBASE-22917
>                 URL: https://issues.apache.org/jira/browse/HBASE-22917
>             Project: HBase
>          Issue Type: Bug
>          Components: proc-v2, wal
>            Reporter: Pankaj Kumar
>            Assignee: Pankaj Kumar
>            Priority: Critical
>             Fix For: 3.0.0, 2.3.0, 2.2.3
>
>
> 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,
> {code}
>  try {
>  ProcedureWALFormat.writeHeader(newStream, header);
>  startPos = newStream.getPos();
>  } catch (IOException ioe) {
>  LOG.warn("Encountered exception writing header", ioe);
>  newStream.close();
>  return false;
>  }
> {code}
> 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.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)