1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.hadoop.hbase.regionserver.handler;
20
21 import java.io.IOException;
22
23 import org.apache.commons.logging.Log;
24 import org.apache.commons.logging.LogFactory;
25 import org.apache.hadoop.hbase.executor.EventHandler;
26 import org.apache.hadoop.hbase.executor.EventType;
27 import org.apache.hadoop.hbase.regionserver.HRegion;
28 import org.apache.hadoop.hbase.regionserver.Region;
29 import org.apache.hadoop.hbase.regionserver.RegionServerServices;
30
31 public class FinishRegionRecoveringHandler extends EventHandler {
32 private static final Log LOG = LogFactory.getLog(FinishRegionRecoveringHandler.class);
33
34 protected final RegionServerServices rss;
35 protected final String regionName;
36 protected final String path;
37
38 public FinishRegionRecoveringHandler(RegionServerServices rss,
39 String regionName, String path) {
40
41 super(rss, EventType.M_RS_OPEN_REGION);
42 this.rss = rss;
43 this.regionName = regionName;
44 this.path = path;
45 }
46
47 @Override
48 public void process() throws IOException {
49 Region region = this.rss.getRecoveringRegions().remove(regionName);
50 if (region != null) {
51 ((HRegion)region).setRecovering(false);
52 LOG.info(path + " deleted; " + regionName + " recovered.");
53 }
54 }
55
56 }