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

Rajesh Nishtala commented on HBASE-13087:
-----------------------------------------

So Elliot and I spent some time digging into this over the past few days and we 
found a couple of interesting things. The META table descriptions are correct 
in Master and in HDFS. So we thought forcing the RegionServer to reload META 
would fix it. However, when we tried this we found that it was still reading 
the old META table descriptor. After diving deeper into the code Elliot found 
that  FSTableDescriptors::get(final TableName tablename) used a hard coded 
value for the HTableDescriptor of META. As a result no amount of reloading and 
forced reloading would fix this.

So there are two not so great paths forward:
(1) Patch 0.98 so that 0.98 can be hot upgradable to branch-1
(2) Change the upgrade process to tell users to upgrade the region servers 
first and then master.

Neither of these options are particularly pleasing but I wanted to open this up 
to the broader group to get people's thoughts.

> branch-1 isn't rolling upgradable from 0.98
> -------------------------------------------
>
>                 Key: HBASE-13087
>                 URL: https://issues.apache.org/jira/browse/HBASE-13087
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Elliott Clark
>            Assignee: Rajesh Nishtala
>            Priority: Blocker
>             Fix For: 2.0.0, 1.1.0
>
>
> {code}org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException: 
> Failed 1 action: 
> org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: Column 
> family table does not exist in region hbase:meta,,1.1588230740 in table 
> 'hbase:meta', {TABLE_ATTRIBUTES => {IS_META => 'true', coprocessor$1 => 
> '|org.apache.hadoop.hbase.coprocessor.MultiRowMutationEndpoint|536870911|'}, 
> {NAME => 'info', BLOOMFILTER => 'NONE', VERSIONS => '10', IN_MEMORY => 
> 'true', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 
> 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', 
> BLOCKSIZE => '8192', REPLICATION_SCOPE => '0'}
>       at 
> org.apache.hadoop.hbase.regionserver.HRegionServer.doBatchOp(HRegionServer.java:4513)
>       at 
> org.apache.hadoop.hbase.regionserver.HRegionServer.doNonAtomicRegionMutation(HRegionServer.java:3687)
>       at 
> org.apache.hadoop.hbase.regionserver.HRegionServer.multi(HRegionServer.java:3576)
>       at 
> org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:30816)
>       at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2029)
>       at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:107)
>       at 
> org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130)
>       at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107)
>       at java.lang.Thread.run(Thread.java:745)
> : 1 time, 
>       at 
> org.apache.hadoop.hbase.client.AsyncProcess$BatchErrors.makeException(AsyncProcess.java:228)
>       at 
> org.apache.hadoop.hbase.client.AsyncProcess$BatchErrors.access$1700(AsyncProcess.java:208)
>       at 
> org.apache.hadoop.hbase.client.AsyncProcess.waitForAllPreviousOpsAndReset(AsyncProcess.java:1689)
>       at 
> org.apache.hadoop.hbase.client.BufferedMutatorImpl.backgroundFlushCommits(BufferedMutatorImpl.java:208)
>       at 
> org.apache.hadoop.hbase.client.BufferedMutatorImpl.flush(BufferedMutatorImpl.java:183)
>       at org.apache.hadoop.hbase.client.HTable.flushCommits(HTable.java:1404)
>       at org.apache.hadoop.hbase.client.HTable.put(HTable.java:1017)
>       at 
> org.apache.hadoop.hbase.MetaTableAccessor.put(MetaTableAccessor.java:1123)
>       at 
> org.apache.hadoop.hbase.MetaTableAccessor.putToMetaTable(MetaTableAccessor.java:1113)
>       at 
> org.apache.hadoop.hbase.MetaTableAccessor.updateTableState(MetaTableAccessor.java:1436)
>       at 
> org.apache.hadoop.hbase.MetaTableAccessor.updateTableState(MetaTableAccessor.java:948)
>       at 
> org.apache.hadoop.hbase.master.TableStateManager.writeMetaState(TableStateManager.java:195)
>       at 
> org.apache.hadoop.hbase.master.TableStateManager.setTableState(TableStateManager.java:69)
>       at 
> org.apache.hadoop.hbase.master.AssignmentManager.setEnabledTable(AssignmentManager.java:3427)
>       at org.apache.hadoop.hbase.master.HMaster.assignMeta(HMaster.java:903)
>       at 
> org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:698)
>       at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:166)
>       at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1494)
>       at java.lang.Thread.run(Thread.java:745)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to