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

Fabrice Rabaute commented on HBASE-23282:
-----------------------------------------

Hi,

 

I'm having an issue where I have a reported "Unkonwn Server", I upgraded from 
2.2.1 to 2.2.3.

But I still get this Unknown Server even after running a SCP.

My region info is as follow:

 

 
{code:java}
COLUMN CELL 
...
 info:server timestamp=1581391440980, 
value=regionserver-2.hbase.hbase.svc.cluster.local:16020 
 info:serverstartcode timestamp=1581391440980, value=1573519312100 
 info:sn timestamp=1581549272576, 
value=regionserver-0.hbase.hbase.svc.cluster.local,16020,1581546727391 
 info:state timestamp=1581549272576, value=OPENING
....
 
{code}
 

I don't know what server/serverstartcode/sn mean, but they don't seem to match, 
startcode are different. Is that expected?

 

In  the HBCK UI, I have this info for the "Inconsistent Regions" reported:

 
{code:java}
encoded region: 353ab75c788cd0f77027706900453c49
location in META: 
regionserver-2.hbase.hbase.svc.cluster.local,16020,1581546563369
{code}
 

 

I have this info for the "Unknown Servers" reported:

 
{code:java}
RegionInfo: 353ab75c788cd0f77027706900453c49
ServerName: regionserver-2.hbase.hbase.svc.cluster.local,16020,1573519312100
{code}
 

 

It means that I have 3 regionservers reported for this region based on the data.

 

Is there a automated or manual procedure to recover from such a state?

 

Thanks.

 

 

> HBCKServerCrashProcedure for 'Unknown Servers'
> ----------------------------------------------
>
>                 Key: HBASE-23282
>                 URL: https://issues.apache.org/jira/browse/HBASE-23282
>             Project: HBase
>          Issue Type: Bug
>          Components: hbck2, proc-v2
>    Affects Versions: 2.2.2
>            Reporter: Michael Stack
>            Assignee: Michael Stack
>            Priority: Major
>             Fix For: 3.0.0, 2.3.0, 2.2.3
>
>
> With an overdriving, sustained load, I can fairly easily manufacture an 
> hbase:meta table that references servers that are no longer in the live list 
> nor are members of deadservers; i.e. 'Unknown Servers'.  The new 'HBCK 
> Report' UI in Master has a section where it lists 'Unknown Servers' if any in 
> hbase:meta.
> Once in this state, the repair is awkward. Our assign/unassign Procedure is 
> particularly dogged about insisting that we confirm close/open of Regions 
> when it is going about its business which is well and good if server is in 
> live/dead sets but when an 'Unknown Server', we invariably end up trying to 
> confirm against a non-longer present server (More on this in follow-on 
> issues).
> What is wanted is queuing of a ServerCrashProcedure for each 'Unknown 
> Server'. It would split any WALs (there shouldn't be any if server was 
> restarted) and ideally it would cancel out any assigns and reassign regions 
> off the 'Unknown Server'.  But the 'normal' SCP consults the in-memory 
> cluster state figuring what Regions were on the crashed server... And 
> 'Unknown Servers' don't have state in in-master memory Maps of Servers to 
> Regions or  in DeadServers list which works fine for the usual case.
> Suggestion here is that hbck2 be able to drive in a special SCP, one which 
> would get list of Regions by scanning hbase:meta rather than asking Master 
> memory; an HBCKSCP.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to