1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.hadoop.hbase.replication;
20
21 import java.util.List;
22
23 import org.apache.hadoop.conf.Configuration;
24 import org.apache.hadoop.hbase.Abortable;
25 import org.apache.hadoop.hbase.zookeeper.ZKUtil;
26 import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;
27 import org.apache.zookeeper.KeeperException;
28
29 public class ReplicationQueuesClientZKImpl extends ReplicationStateZKBase implements
30 ReplicationQueuesClient {
31
32 public ReplicationQueuesClientZKImpl(final ZooKeeperWatcher zk, Configuration conf,
33 Abortable abortable) {
34 super(zk, conf, abortable);
35 }
36
37 @Override
38 public void init() throws KeeperException {
39 ZKUtil.createWithParents(this.zookeeper, this.queuesZNode);
40 }
41
42 @Override
43 public List<String> getLogsInQueue(String serverName, String queueId) {
44 String znode = ZKUtil.joinZNode(this.queuesZNode, serverName);
45 znode = ZKUtil.joinZNode(znode, queueId);
46 List<String> result = null;
47 try {
48 result = ZKUtil.listChildrenNoWatch(this.zookeeper, znode);
49 } catch (KeeperException e) {
50 this.abortable.abort("Failed to get list of hlogs for queueId=" + queueId
51 + " and serverName=" + serverName, e);
52 }
53 return result;
54 }
55
56 @Override
57 public List<String> getAllQueues(String serverName) {
58 String znode = ZKUtil.joinZNode(this.queuesZNode, serverName);
59 List<String> result = null;
60 try {
61 result = ZKUtil.listChildrenNoWatch(this.zookeeper, znode);
62 } catch (KeeperException e) {
63 this.abortable.abort("Failed to get list of queues for serverName=" + serverName, e);
64 }
65 return result;
66 }
67
68 }