[
https://issues.apache.org/jira/browse/HBASE-1994?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12780010#action_12780010
]
Lars George commented on HBASE-1994:
------------------------------------
This is one of those events I never understood how they happen in the first
place. I mean if we have a oldlogfile.log that was not yet replayed, why put
another in place and not fail fast. Or use a UUID style filename for them with
a known extension that the RS knows how to find and then replays them in order
(so filename could be a timestamp?). Because if this can happen, it can only
handle one such occurrence. What happens if that code is executed and there is
already a oldlogfile.log.old in place? The code overwrites it right now - but
is that what one want?
As for empty .log files we could add an easy check that if empty then remove as
opposed to rename.
> Master will lose hlog entries while splitting if region has empty
> oldlogfile.log
> --------------------------------------------------------------------------------
>
> Key: HBASE-1994
> URL: https://issues.apache.org/jira/browse/HBASE-1994
> Project: Hadoop HBase
> Issue Type: Bug
> Components: master
> Affects Versions: 0.21.0
> Reporter: Cosmin Lehene
> Priority: Blocker
> Fix For: 0.21.0
>
> Original Estimate: 48h
> Remaining Estimate: 48h
>
> I don't know yet how an empty oldlogfile.log can exist, however it happened.
> Master will fail to put the splits in the region oldlogfile.log if an empty
> oldlogfile.log already exists there.
> This is the master log after I artificially reproduced it by placing an empty
> oldlogfile.log in /hbase/.META./1028785192/oldlogfile.log and then killed the
> regionserver that was holding the .META. table
> 2009-11-19 09:08:36,012 INFO org.apache.hadoop.hbase.regionserver.wal.HLog:
> Splitting 1 hlog(s) in hdfs://b0:9000/hbase/.logs/b4,60020,1258637492773
> 2009-11-19 09:08:36,012 DEBUG org.apache.hadoop.hbase.regionserver.wal.HLog:
> Splitting hlog 1 of 1:
> hdfs://b0:9000/hbase/.logs/b4,60020,1258637492773/hlog.dat.1258637493128,
> length=0
> 2009-11-19 09:08:36,019 DEBUG org.apache.hadoop.hbase.regionserver.wal.HLog:
> Adding queue for .META.,,1
> 2009-11-19 09:08:36,037 DEBUG org.apache.hadoop.hbase.regionserver.wal.HLog:
> Pushed=795 entries from
> hdfs://b0:9000/hbase/.logs/b4,60020,1258637492773/hlog.dat.1258637493128
> 2009-11-19 09:08:36,038 DEBUG org.apache.hadoop.hbase.regionserver.wal.HLog:
> Thread got 795 to process
> 2009-11-19 09:08:36,043 WARN org.apache.hadoop.hbase.regionserver.wal.HLog:
> Old hlog file hdfs://b0:9000/hbase/.META./1028785192/oldlogfile.log already
> exists. Copying existing file to new file
> 2009-11-19 09:08:36,079 WARN org.apache.hadoop.hbase.regionserver.wal.HLog:
> Got while writing region .META.,,1 log java.io.EOFException
> 2009-11-19 09:08:36,081 INFO org.apache.hadoop.hbase.regionserver.wal.HLog:
> hlog file splitting completed in 70 millis for
> hdfs://b0:9000/hbase/.logs/b4,60020,1258637492773
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.