You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Bryan Keller <br...@vancameron.net> on 2012/07/02 19:30:18 UTC

WAL corruption

During an upgrade of my cluster to 0.90 to 0.92 over the weekend, the WAL (files in the /hbase/.logs directory) was corrupted and it prevented HBase from starting up. The exact exception was "java.io.IOException: Could not obtain the last block locations" on the WAL files.

I was able to recover by deleting the /hbase/.logs directory. My question is, if HBase had no pending updates, i.e. nothing writing to it, is there any risk of data loss by deleting the WAL directory? For example, does rebalancing, flushing, or compaction use the WAL or is the WAL used only for inserts/updates/deletes?


Re: WAL corruption

Posted by manoj p <eo...@gmail.com>.
Hi bryan,

WAL is used only during minor compaction. During major compaction WAL is
not used.

Cheers,
Manoj.P

On Mon, Jul 2, 2012 at 11:00 PM, Bryan Keller <br...@vancameron.net> wrote:

> During an upgrade of my cluster to 0.90 to 0.92 over the weekend, the WAL
> (files in the /hbase/.logs directory) was corrupted and it prevented HBase
> from starting up. The exact exception was "java.io.IOException: Could not
> obtain the last block locations" on the WAL files.
>
> I was able to recover by deleting the /hbase/.logs directory. My question
> is, if HBase had no pending updates, i.e. nothing writing to it, is there
> any risk of data loss by deleting the WAL directory? For example, does
> rebalancing, flushing, or compaction use the WAL or is the WAL used only
> for inserts/updates/deletes?
>
>