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