1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.hadoop.hbase.master.balancer;
20
21 import java.io.InterruptedIOException;
22
23 import org.apache.commons.logging.Log;
24 import org.apache.commons.logging.LogFactory;
25 import org.apache.hadoop.hbase.ScheduledChore;
26 import org.apache.hadoop.hbase.classification.InterfaceAudience;
27 import org.apache.hadoop.hbase.master.HMaster;
28 import org.apache.hadoop.hbase.master.LoadBalancer;
29
30
31
32
33 @InterfaceAudience.Private
34 public class ClusterStatusChore extends ScheduledChore {
35 private static final Log LOG = LogFactory.getLog(ClusterStatusChore.class);
36 private final HMaster master;
37 private final LoadBalancer balancer;
38
39 public ClusterStatusChore(HMaster master, LoadBalancer balancer) {
40 super(master.getServerName() + "-ClusterStatusChore", master, master.getConfiguration().getInt(
41 "hbase.balancer.statusPeriod", 60000));
42 this.master = master;
43 this.balancer = balancer;
44 }
45
46 @Override
47 protected void chore() {
48 try {
49 balancer.setClusterStatus(master.getClusterStatus());
50 } catch (InterruptedIOException e) {
51 LOG.warn("Ignoring interruption", e);
52 }
53 }
54 }