[ 
https://issues.apache.org/jira/browse/HBASE-9278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13748035#comment-13748035
 ] 

Himanshu Vashishtha commented on HBASE-9278:
--------------------------------------------

Yes, I am working on a patch which when it sees old .META. entry, sets the 
tablename of the HLogKey to the new Meta table. And, just ignore the old root 
entries. 

bq. needed to support 0.94->0.96 replication.
How this can be supported? Both the clusters have to be upped to have the same 
major number.

bq. So we have a separate meta log and a different pool for opening meta 
regions. 
Separate meta log is there in later version of 0.94, and is disabled by 
default. So, in most cases, meta edits will be interleaved with other edits in 
a 0.94.x deployment. FWIW, meta edits are not shipped/replicated.
                
> Reading Pre-namespace meta table edits kills the reader
> -------------------------------------------------------
>
>                 Key: HBASE-9278
>                 URL: https://issues.apache.org/jira/browse/HBASE-9278
>             Project: HBase
>          Issue Type: Bug
>          Components: migration, wal
>    Affects Versions: 0.95.2
>            Reporter: Himanshu Vashishtha
>            Assignee: Himanshu Vashishtha
>            Priority: Critical
>             Fix For: 0.95.3
>
>
> In upgrading to 0.96, there might be some meta/root table edits. Currently, 
> we are just killing SplitLogWorker thread in case it sees any META, or ROOT 
> waledit, which blocks log splitting/replaying of remaining WALs.
> {code}
> 2013-08-20 15:45:16,998 ERROR regionserver.SplitLogWorker 
> (SplitLogWorker.java:run(210)) - unexpected error 
> java.lang.IllegalArgumentException: .META. no longer exists. The table has 
> been renamed to hbase:meta
>         at org.apache.hadoop.hbase.TableName.valueOf(TableName.java:269)
>         at org.apache.hadoop.hbase.TableName.valueOf(TableName.java:261)
>         at 
> org.apache.hadoop.hbase.regionserver.wal.HLogKey.readFields(HLogKey.java:338)
>         at 
> org.apache.hadoop.io.SequenceFile$Reader.next(SequenceFile.java:1898)
>         at 
> org.apache.hadoop.io.SequenceFile$Reader.next(SequenceFile.java:1938)
>         at 
> org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogReader.readNext(SequenceFileLogReader.java:215)
>         at 
> org.apache.hadoop.hbase.regionserver.wal.ReaderBase.next(ReaderBase.java:98)
>         at 
> org.apache.hadoop.hbase.regionserver.wal.ReaderBase.next(ReaderBase.java:85)
>         at 
> org.apache.hadoop.hbase.regionserver.wal.HLogSplitter.getNextLogLine(HLogSplitter.java:582)
>         at 
> org.apache.hadoop.hbase.regionserver.wal.HLogSplitter.splitLogFile(HLogSplitter.java:292)
>         at 
> org.apache.hadoop.hbase.regionserver.wal.HLogSplitter.splitLogFile(HLogSplitter.java:209)
>         at 
> org.apache.hadoop.hbase.regionserver.SplitLogWorker$1.exec(SplitLogWorker.java:138)
>         at 
> org.apache.hadoop.hbase.regionserver.SplitLogWorker.grabTask(SplitLogWorker.java:358)
>         at 
> org.apache.hadoop.hbase.regionserver.SplitLogWorker.taskLoop(SplitLogWorker.java:245)
>         at 
> org.apache.hadoop.hbase.regionserver.SplitLogWorker.run(SplitLogWorker.java:205)
>         at java.lang.Thread.run(Thread.java:662)
> 2013-08-20 15:45:16,999 INFO  regionserver.SplitLogWorker 
> (SplitLogWorker.java:run(212)) - SplitLogWorker localhost,60020,1377035111898 
> exiting
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to