1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.hadoop.hbase;
19
20 import java.io.IOException;
21 import java.net.InetSocketAddress;
22 import java.util.HashMap;
23 import java.util.List;
24 import java.util.Map;
25 import java.util.concurrent.ConcurrentSkipListMap;
26
27 import com.google.protobuf.Message;
28 import org.apache.hadoop.conf.Configuration;
29 import org.apache.hadoop.fs.FileSystem;
30 import org.apache.hadoop.hbase.catalog.CatalogTracker;
31 import org.apache.hadoop.hbase.executor.ExecutorService;
32 import org.apache.hadoop.hbase.fs.HFileSystem;
33 import org.apache.hadoop.hbase.ipc.RpcServerInterface;
34 import org.apache.hadoop.hbase.master.TableLockManager;
35 import org.apache.hadoop.hbase.master.TableLockManager.NullTableLockManager;
36 import org.apache.hadoop.hbase.protobuf.generated.RPCProtos;
37 import org.apache.hadoop.hbase.regionserver.CompactionRequestor;
38 import org.apache.hadoop.hbase.regionserver.FlushRequester;
39 import org.apache.hadoop.hbase.regionserver.HRegion;
40 import org.apache.hadoop.hbase.regionserver.Leases;
41 import org.apache.hadoop.hbase.regionserver.RegionServerAccounting;
42 import org.apache.hadoop.hbase.regionserver.RegionServerServices;
43 import org.apache.hadoop.hbase.regionserver.ServerNonceManager;
44 import org.apache.hadoop.hbase.regionserver.wal.HLog;
45 import org.apache.hadoop.hbase.util.Bytes;
46 import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;
47 import org.apache.zookeeper.KeeperException;
48
49
50
51
52 class MockRegionServerServices implements RegionServerServices {
53 private final Map<String, HRegion> regions = new HashMap<String, HRegion>();
54 private boolean stopping = false;
55 private final ConcurrentSkipListMap<byte[], Boolean> rit =
56 new ConcurrentSkipListMap<byte[], Boolean>(Bytes.BYTES_COMPARATOR);
57 private HFileSystem hfs = null;
58 private ZooKeeperWatcher zkw = null;
59 private ServerName serverName = null;
60 private RpcServerInterface rpcServer = null;
61 private volatile boolean abortRequested;
62
63 MockRegionServerServices(ZooKeeperWatcher zkw) {
64 this.zkw = zkw;
65 }
66
67 MockRegionServerServices(ZooKeeperWatcher zkw, ServerName serverName) {
68 this.zkw = zkw;
69 this.serverName = serverName;
70 }
71
72 MockRegionServerServices(){
73 this(null);
74 }
75
76 @Override
77 public boolean removeFromOnlineRegions(HRegion r, ServerName destination) {
78 return this.regions.remove(r.getRegionInfo().getEncodedName()) != null;
79 }
80
81 @Override
82 public HRegion getFromOnlineRegions(String encodedRegionName) {
83 return this.regions.get(encodedRegionName);
84 }
85
86 public List<HRegion> getOnlineRegions(TableName tableName) throws IOException {
87 return null;
88 }
89
90 @Override
91 public void addToOnlineRegions(HRegion r) {
92 this.regions.put(r.getRegionInfo().getEncodedName(), r);
93 }
94
95 @Override
96 public void postOpenDeployTasks(HRegion r, CatalogTracker ct)
97 throws KeeperException, IOException {
98 addToOnlineRegions(r);
99 }
100
101 @Override
102 public boolean isStopping() {
103 return this.stopping;
104 }
105
106 @Override
107 public RpcServerInterface getRpcServer() {
108 return rpcServer;
109 }
110
111 public void setRpcServer(RpcServerInterface rpc) {
112 this.rpcServer = rpc;
113 }
114
115 @Override
116 public ConcurrentSkipListMap<byte[], Boolean> getRegionsInTransitionInRS() {
117 return rit;
118 }
119
120 @Override
121 public FlushRequester getFlushRequester() {
122 return null;
123 }
124
125 @Override
126 public CompactionRequestor getCompactionRequester() {
127 return null;
128 }
129
130 @Override
131 public CatalogTracker getCatalogTracker() {
132 return null;
133 }
134
135 @Override
136 public ZooKeeperWatcher getZooKeeper() {
137 return zkw;
138 }
139
140 public RegionServerAccounting getRegionServerAccounting() {
141 return null;
142 }
143
144 @Override
145 public TableLockManager getTableLockManager() {
146 return new NullTableLockManager();
147 }
148
149 @Override
150 public ServerName getServerName() {
151 return this.serverName;
152 }
153
154 @Override
155 public Configuration getConfiguration() {
156 return null;
157 }
158
159 @Override
160 public void abort(String why, Throwable e) {
161 this.abortRequested = true;
162 stop(why);
163 }
164
165 @Override
166 public void stop(String why) {
167
168 }
169
170 @Override
171 public boolean isStopped() {
172 return false;
173 }
174
175 @Override
176 public boolean isAborted() {
177 return this.abortRequested;
178 }
179
180 @Override
181 public HFileSystem getFileSystem() {
182 return this.hfs;
183 }
184
185 public void setFileSystem(FileSystem hfs) {
186 this.hfs = (HFileSystem)hfs;
187 }
188
189 @Override
190 public Leases getLeases() {
191 return null;
192 }
193
194 @Override
195 public HLog getWAL(HRegionInfo regionInfo) throws IOException {
196 return null;
197 }
198
199 @Override
200 public ExecutorService getExecutorService() {
201 return null;
202 }
203
204 @Override
205 public void updateRegionFavoredNodesMapping(String encodedRegionName,
206 List<org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.ServerName> favoredNodes) {
207 }
208
209 @Override
210 public InetSocketAddress[] getFavoredNodesForRegion(String encodedRegionName) {
211 return null;
212 }
213
214 @Override
215 public Map<String, HRegion> getRecoveringRegions() {
216
217 return null;
218 }
219
220 @Override
221 public int getPriority(RPCProtos.RequestHeader header, Message param) {
222 return 0;
223 }
224
225 @Override
226 public ServerNonceManager getNonceManager() {
227
228 return null;
229 }
230 }