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