[ https://issues.apache.org/jira/browse/HBASE-13087?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14513903#comment-14513903 ]
Andrey Stepachev commented on HBASE-13087: ------------------------------------------ [~ndimiduk], [~eclark], I'll try to resolve HBASE-13147 as soon as possible. Sorry for delay here. As soon we will be able to distinguish what version of meta is used it should be possible to do rolling upgrade. Once we have meta version we need to invent some way to let AssignmentManager to know what version of Meta RegionServer is expected. We could add to server status, reported by RS, version of expected META, so AM could consult this infomation and assign meta to compatible RS only. As I think it should looks like: 1. Master restarted. 2. AM checks META versions and in case mismatch unassign META from RS with old expected version. 3. Once there is RS with compatible version META could be assigned to it (in case of rolling upgrade exepected delay could be time of master restart + 1 region server restart). > 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 > Affects Versions: 1.1.0 > Reporter: Elliott Clark > Assignee: Rajesh Nishtala > Priority: Blocker > Fix For: 1.1.0 > > Attachments: HBASE-13087-v1.txt > > > {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)