http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c0c4a947/apidocs/src-html/org/apache/hadoop/hbase/client/Admin.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/Admin.html
b/apidocs/src-html/org/apache/hadoop/hbase/client/Admin.html
index e9ecfe1..7891d8d 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/Admin.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/Admin.html
@@ -2202,298 +2202,308 @@
<span class="sourceLineNo">2194</span> * @return master info port<a
name="line.2194"></a>
<span class="sourceLineNo">2195</span> * @throws IOException<a
name="line.2195"></a>
<span class="sourceLineNo">2196</span> */<a name="line.2196"></a>
-<span class="sourceLineNo">2197</span> int getMasterInfoPort() throws
IOException;<a name="line.2197"></a>
-<span class="sourceLineNo">2198</span><a name="line.2198"></a>
-<span class="sourceLineNo">2199</span> /**<a name="line.2199"></a>
-<span class="sourceLineNo">2200</span> * Compact a table. Asynchronous
operation in that this method requests that a<a name="line.2200"></a>
-<span class="sourceLineNo">2201</span> * Compaction run and then it returns.
It does not wait on the completion of Compaction<a name="line.2201"></a>
-<span class="sourceLineNo">2202</span> * (it can take a while).<a
name="line.2202"></a>
-<span class="sourceLineNo">2203</span> *<a name="line.2203"></a>
-<span class="sourceLineNo">2204</span> * @param tableName table to compact<a
name="line.2204"></a>
-<span class="sourceLineNo">2205</span> * @param compactType {@link
org.apache.hadoop.hbase.client.CompactType}<a name="line.2205"></a>
-<span class="sourceLineNo">2206</span> * @throws IOException<a
name="line.2206"></a>
-<span class="sourceLineNo">2207</span> * @throws InterruptedException<a
name="line.2207"></a>
-<span class="sourceLineNo">2208</span> */<a name="line.2208"></a>
-<span class="sourceLineNo">2209</span> void compact(TableName tableName,
CompactType compactType)<a name="line.2209"></a>
-<span class="sourceLineNo">2210</span> throws IOException,
InterruptedException;<a name="line.2210"></a>
-<span class="sourceLineNo">2211</span><a name="line.2211"></a>
-<span class="sourceLineNo">2212</span> /**<a name="line.2212"></a>
-<span class="sourceLineNo">2213</span> * Compact a column family within a
table. Asynchronous operation in that this method requests that a<a
name="line.2213"></a>
-<span class="sourceLineNo">2214</span> * Compaction run and then it returns.
It does not wait on the completion of Compaction<a name="line.2214"></a>
-<span class="sourceLineNo">2215</span> * (it can take a while).<a
name="line.2215"></a>
-<span class="sourceLineNo">2216</span> *<a name="line.2216"></a>
-<span class="sourceLineNo">2217</span> * @param tableName table to compact<a
name="line.2217"></a>
-<span class="sourceLineNo">2218</span> * @param columnFamily column family
within a table<a name="line.2218"></a>
-<span class="sourceLineNo">2219</span> * @param compactType {@link
org.apache.hadoop.hbase.client.CompactType}<a name="line.2219"></a>
-<span class="sourceLineNo">2220</span> * @throws IOException if not a mob
column family or if a remote or network exception occurs<a name="line.2220"></a>
-<span class="sourceLineNo">2221</span> * @throws InterruptedException<a
name="line.2221"></a>
-<span class="sourceLineNo">2222</span> */<a name="line.2222"></a>
-<span class="sourceLineNo">2223</span> void compact(TableName tableName,
byte[] columnFamily, CompactType compactType)<a name="line.2223"></a>
-<span class="sourceLineNo">2224</span> throws IOException,
InterruptedException;<a name="line.2224"></a>
-<span class="sourceLineNo">2225</span><a name="line.2225"></a>
-<span class="sourceLineNo">2226</span> /**<a name="line.2226"></a>
-<span class="sourceLineNo">2227</span> * Major compact a table.
Asynchronous operation in that this method requests that a<a
name="line.2227"></a>
-<span class="sourceLineNo">2228</span> * Compaction run and then it returns.
It does not wait on the completion of Compaction<a name="line.2228"></a>
-<span class="sourceLineNo">2229</span> * (it can take a while).<a
name="line.2229"></a>
-<span class="sourceLineNo">2230</span> *<a name="line.2230"></a>
-<span class="sourceLineNo">2231</span> * @param tableName table to compact<a
name="line.2231"></a>
-<span class="sourceLineNo">2232</span> * @param compactType {@link
org.apache.hadoop.hbase.client.CompactType}<a name="line.2232"></a>
-<span class="sourceLineNo">2233</span> * @throws IOException<a
name="line.2233"></a>
-<span class="sourceLineNo">2234</span> * @throws InterruptedException<a
name="line.2234"></a>
-<span class="sourceLineNo">2235</span> */<a name="line.2235"></a>
-<span class="sourceLineNo">2236</span> void majorCompact(TableName tableName,
CompactType compactType)<a name="line.2236"></a>
-<span class="sourceLineNo">2237</span> throws IOException,
InterruptedException;<a name="line.2237"></a>
-<span class="sourceLineNo">2238</span><a name="line.2238"></a>
-<span class="sourceLineNo">2239</span> /**<a name="line.2239"></a>
-<span class="sourceLineNo">2240</span> * Major compact a column family
within a table. Asynchronous operation in that this method requests that a<a
name="line.2240"></a>
-<span class="sourceLineNo">2241</span> * Compaction run and then it returns.
It does not wait on the completion of Compaction<a name="line.2241"></a>
-<span class="sourceLineNo">2242</span> * (it can take a while).<a
name="line.2242"></a>
-<span class="sourceLineNo">2243</span> *<a name="line.2243"></a>
-<span class="sourceLineNo">2244</span> * @param tableName table to compact<a
name="line.2244"></a>
-<span class="sourceLineNo">2245</span> * @param columnFamily column family
within a table<a name="line.2245"></a>
-<span class="sourceLineNo">2246</span> * @param compactType {@link
org.apache.hadoop.hbase.client.CompactType}<a name="line.2246"></a>
-<span class="sourceLineNo">2247</span> * @throws IOException if not a mob
column family or if a remote or network exception occurs<a name="line.2247"></a>
-<span class="sourceLineNo">2248</span> * @throws InterruptedException<a
name="line.2248"></a>
-<span class="sourceLineNo">2249</span> */<a name="line.2249"></a>
-<span class="sourceLineNo">2250</span> void majorCompact(TableName tableName,
byte[] columnFamily, CompactType compactType)<a name="line.2250"></a>
-<span class="sourceLineNo">2251</span> throws IOException,
InterruptedException;<a name="line.2251"></a>
-<span class="sourceLineNo">2252</span><a name="line.2252"></a>
-<span class="sourceLineNo">2253</span> /**<a name="line.2253"></a>
-<span class="sourceLineNo">2254</span> * Get the current compaction state of
a table. It could be in a compaction, or none.<a name="line.2254"></a>
-<span class="sourceLineNo">2255</span> *<a name="line.2255"></a>
-<span class="sourceLineNo">2256</span> * @param tableName table to examine<a
name="line.2256"></a>
-<span class="sourceLineNo">2257</span> * @param compactType {@link
org.apache.hadoop.hbase.client.CompactType}<a name="line.2257"></a>
-<span class="sourceLineNo">2258</span> * @return the current compaction
state<a name="line.2258"></a>
-<span class="sourceLineNo">2259</span> * @throws IOException if a remote or
network exception occurs<a name="line.2259"></a>
-<span class="sourceLineNo">2260</span> */<a name="line.2260"></a>
-<span class="sourceLineNo">2261</span> CompactionState
getCompactionState(TableName tableName,<a name="line.2261"></a>
-<span class="sourceLineNo">2262</span> CompactType compactType) throws
IOException;<a name="line.2262"></a>
-<span class="sourceLineNo">2263</span><a name="line.2263"></a>
-<span class="sourceLineNo">2264</span> /**<a name="line.2264"></a>
-<span class="sourceLineNo">2265</span> * Return the set of supported
security capabilities.<a name="line.2265"></a>
-<span class="sourceLineNo">2266</span> * @throws IOException<a
name="line.2266"></a>
-<span class="sourceLineNo">2267</span> * @throws
UnsupportedOperationException<a name="line.2267"></a>
-<span class="sourceLineNo">2268</span> */<a name="line.2268"></a>
-<span class="sourceLineNo">2269</span> List<SecurityCapability>
getSecurityCapabilities() throws IOException;<a name="line.2269"></a>
-<span class="sourceLineNo">2270</span><a name="line.2270"></a>
-<span class="sourceLineNo">2271</span> /**<a name="line.2271"></a>
-<span class="sourceLineNo">2272</span> * Turn the Split or Merge switches on
or off.<a name="line.2272"></a>
-<span class="sourceLineNo">2273</span> *<a name="line.2273"></a>
-<span class="sourceLineNo">2274</span> * @param enabled enabled or not<a
name="line.2274"></a>
-<span class="sourceLineNo">2275</span> * @param synchronous If
<code>true</code>, it waits until current split() call, if
outstanding, to return.<a name="line.2275"></a>
-<span class="sourceLineNo">2276</span> * @param switchTypes switchType list
{@link MasterSwitchType}<a name="line.2276"></a>
-<span class="sourceLineNo">2277</span> * @return Previous switch value
array<a name="line.2277"></a>
-<span class="sourceLineNo">2278</span> * @deprecated Since 2.0.0. Will be
removed in 3.0.0. Use<a name="line.2278"></a>
-<span class="sourceLineNo">2279</span> * {@link
#splitOrMergeEnabledSwitch(boolean, boolean, MasterSwitchType...)}.<a
name="line.2279"></a>
-<span class="sourceLineNo">2280</span> */<a name="line.2280"></a>
-<span class="sourceLineNo">2281</span> @Deprecated<a name="line.2281"></a>
-<span class="sourceLineNo">2282</span> default boolean[]
setSplitOrMergeEnabled(boolean enabled, boolean synchronous,<a
name="line.2282"></a>
-<span class="sourceLineNo">2283</span>
MasterSwitchType... switchTypes) throws IOException {<a name="line.2283"></a>
-<span class="sourceLineNo">2284</span> return
splitOrMergeEnabledSwitch(enabled, synchronous, switchTypes);<a
name="line.2284"></a>
-<span class="sourceLineNo">2285</span> }<a name="line.2285"></a>
-<span class="sourceLineNo">2286</span><a name="line.2286"></a>
-<span class="sourceLineNo">2287</span> /**<a name="line.2287"></a>
-<span class="sourceLineNo">2288</span> * Turn the Split or Merge switches on
or off.<a name="line.2288"></a>
-<span class="sourceLineNo">2289</span> *<a name="line.2289"></a>
-<span class="sourceLineNo">2290</span> * @param enabled enabled or not<a
name="line.2290"></a>
-<span class="sourceLineNo">2291</span> * @param synchronous If
<code>true</code>, it waits until current split() call, if
outstanding, to return.<a name="line.2291"></a>
-<span class="sourceLineNo">2292</span> * @param switchTypes switchType list
{@link MasterSwitchType}<a name="line.2292"></a>
-<span class="sourceLineNo">2293</span> * @return Previous switch value
array<a name="line.2293"></a>
-<span class="sourceLineNo">2294</span> */<a name="line.2294"></a>
-<span class="sourceLineNo">2295</span> boolean[]
splitOrMergeEnabledSwitch(boolean enabled, boolean synchronous,<a
name="line.2295"></a>
-<span class="sourceLineNo">2296</span>
MasterSwitchType... switchTypes) throws IOException;<a name="line.2296"></a>
-<span class="sourceLineNo">2297</span><a name="line.2297"></a>
-<span class="sourceLineNo">2298</span> /**<a name="line.2298"></a>
-<span class="sourceLineNo">2299</span> * Query the current state of the
switch.<a name="line.2299"></a>
-<span class="sourceLineNo">2300</span> *<a name="line.2300"></a>
-<span class="sourceLineNo">2301</span> * @return
<code>true</code> if the switch is enabled,
<code>false</code> otherwise.<a name="line.2301"></a>
-<span class="sourceLineNo">2302</span> * @deprecated Since 2.0.0. Will be
removed in 3.0.0. Use<a name="line.2302"></a>
-<span class="sourceLineNo">2303</span> * {@link
#splitOrMergeEnabledSwitch(MasterSwitchType)}} instead.<a name="line.2303"></a>
-<span class="sourceLineNo">2304</span> */<a name="line.2304"></a>
-<span class="sourceLineNo">2305</span> @Deprecated<a name="line.2305"></a>
-<span class="sourceLineNo">2306</span> default boolean
isSplitOrMergeEnabled(MasterSwitchType switchType) throws IOException {<a
name="line.2306"></a>
-<span class="sourceLineNo">2307</span> return
splitOrMergeEnabledSwitch(switchType);<a name="line.2307"></a>
-<span class="sourceLineNo">2308</span> }<a name="line.2308"></a>
-<span class="sourceLineNo">2309</span><a name="line.2309"></a>
-<span class="sourceLineNo">2310</span> /**<a name="line.2310"></a>
-<span class="sourceLineNo">2311</span> * Query the current state of the
switch.<a name="line.2311"></a>
-<span class="sourceLineNo">2312</span> *<a name="line.2312"></a>
-<span class="sourceLineNo">2313</span> * @return
<code>true</code> if the switch is enabled,
<code>false</code> otherwise.<a name="line.2313"></a>
-<span class="sourceLineNo">2314</span> */<a name="line.2314"></a>
-<span class="sourceLineNo">2315</span> boolean
splitOrMergeEnabledSwitch(MasterSwitchType switchType) throws IOException;<a
name="line.2315"></a>
-<span class="sourceLineNo">2316</span><a name="line.2316"></a>
-<span class="sourceLineNo">2317</span> /**<a name="line.2317"></a>
-<span class="sourceLineNo">2318</span> * Add a new replication peer for
replicating data to slave cluster.<a name="line.2318"></a>
-<span class="sourceLineNo">2319</span> * @param peerId a short name that
identifies the peer<a name="line.2319"></a>
-<span class="sourceLineNo">2320</span> * @param peerConfig configuration for
the replication slave cluster<a name="line.2320"></a>
-<span class="sourceLineNo">2321</span> * @throws IOException<a
name="line.2321"></a>
-<span class="sourceLineNo">2322</span> */<a name="line.2322"></a>
-<span class="sourceLineNo">2323</span> default void addReplicationPeer(String
peerId, ReplicationPeerConfig peerConfig)<a name="line.2323"></a>
-<span class="sourceLineNo">2324</span> throws IOException {<a
name="line.2324"></a>
-<span class="sourceLineNo">2325</span> }<a name="line.2325"></a>
-<span class="sourceLineNo">2326</span><a name="line.2326"></a>
-<span class="sourceLineNo">2327</span> /**<a name="line.2327"></a>
-<span class="sourceLineNo">2328</span> * Remove a peer and stop the
replication.<a name="line.2328"></a>
-<span class="sourceLineNo">2329</span> * @param peerId a short name that
identifies the peer<a name="line.2329"></a>
-<span class="sourceLineNo">2330</span> * @throws IOException<a
name="line.2330"></a>
-<span class="sourceLineNo">2331</span> */<a name="line.2331"></a>
-<span class="sourceLineNo">2332</span> default void
removeReplicationPeer(String peerId) throws IOException {<a
name="line.2332"></a>
-<span class="sourceLineNo">2333</span> }<a name="line.2333"></a>
-<span class="sourceLineNo">2334</span><a name="line.2334"></a>
-<span class="sourceLineNo">2335</span> /**<a name="line.2335"></a>
-<span class="sourceLineNo">2336</span> * Restart the replication stream to
the specified peer.<a name="line.2336"></a>
-<span class="sourceLineNo">2337</span> * @param peerId a short name that
identifies the peer<a name="line.2337"></a>
-<span class="sourceLineNo">2338</span> * @throws IOException<a
name="line.2338"></a>
-<span class="sourceLineNo">2339</span> */<a name="line.2339"></a>
-<span class="sourceLineNo">2340</span> default void
enableReplicationPeer(String peerId) throws IOException {<a
name="line.2340"></a>
-<span class="sourceLineNo">2341</span> }<a name="line.2341"></a>
-<span class="sourceLineNo">2342</span><a name="line.2342"></a>
-<span class="sourceLineNo">2343</span> /**<a name="line.2343"></a>
-<span class="sourceLineNo">2344</span> * Stop the replication stream to the
specified peer.<a name="line.2344"></a>
-<span class="sourceLineNo">2345</span> * @param peerId a short name that
identifies the peer<a name="line.2345"></a>
-<span class="sourceLineNo">2346</span> * @throws IOException<a
name="line.2346"></a>
-<span class="sourceLineNo">2347</span> */<a name="line.2347"></a>
-<span class="sourceLineNo">2348</span> default void
disableReplicationPeer(String peerId) throws IOException {<a
name="line.2348"></a>
-<span class="sourceLineNo">2349</span> }<a name="line.2349"></a>
-<span class="sourceLineNo">2350</span><a name="line.2350"></a>
-<span class="sourceLineNo">2351</span> /**<a name="line.2351"></a>
-<span class="sourceLineNo">2352</span> * Returns the configured
ReplicationPeerConfig for the specified peer.<a name="line.2352"></a>
-<span class="sourceLineNo">2353</span> * @param peerId a short name that
identifies the peer<a name="line.2353"></a>
-<span class="sourceLineNo">2354</span> * @return ReplicationPeerConfig for
the peer<a name="line.2354"></a>
-<span class="sourceLineNo">2355</span> * @throws IOException<a
name="line.2355"></a>
-<span class="sourceLineNo">2356</span> */<a name="line.2356"></a>
-<span class="sourceLineNo">2357</span> default ReplicationPeerConfig
getReplicationPeerConfig(String peerId) throws IOException {<a
name="line.2357"></a>
-<span class="sourceLineNo">2358</span> return new
ReplicationPeerConfig();<a name="line.2358"></a>
-<span class="sourceLineNo">2359</span> }<a name="line.2359"></a>
-<span class="sourceLineNo">2360</span><a name="line.2360"></a>
-<span class="sourceLineNo">2361</span> /**<a name="line.2361"></a>
-<span class="sourceLineNo">2362</span> * Update the peerConfig for the
specified peer.<a name="line.2362"></a>
-<span class="sourceLineNo">2363</span> * @param peerId a short name that
identifies the peer<a name="line.2363"></a>
-<span class="sourceLineNo">2364</span> * @param peerConfig new config for
the peer<a name="line.2364"></a>
-<span class="sourceLineNo">2365</span> * @throws IOException<a
name="line.2365"></a>
-<span class="sourceLineNo">2366</span> */<a name="line.2366"></a>
-<span class="sourceLineNo">2367</span> default void
updateReplicationPeerConfig(String peerId,<a name="line.2367"></a>
-<span class="sourceLineNo">2368</span> ReplicationPeerConfig peerConfig)
throws IOException {<a name="line.2368"></a>
-<span class="sourceLineNo">2369</span> }<a name="line.2369"></a>
-<span class="sourceLineNo">2370</span><a name="line.2370"></a>
-<span class="sourceLineNo">2371</span> /**<a name="line.2371"></a>
-<span class="sourceLineNo">2372</span> * Append the replicable table column
family config from the specified peer.<a name="line.2372"></a>
-<span class="sourceLineNo">2373</span> * @param id a short that identifies
the cluster<a name="line.2373"></a>
-<span class="sourceLineNo">2374</span> * @param tableCfs A map from
tableName to column family names<a name="line.2374"></a>
-<span class="sourceLineNo">2375</span> * @throws ReplicationException<a
name="line.2375"></a>
-<span class="sourceLineNo">2376</span> * @throws IOException<a
name="line.2376"></a>
-<span class="sourceLineNo">2377</span> */<a name="line.2377"></a>
-<span class="sourceLineNo">2378</span> default void
appendReplicationPeerTableCFs(String id,<a name="line.2378"></a>
-<span class="sourceLineNo">2379</span> Map<TableName, ? extends
Collection<String>> tableCfs) throws ReplicationException,<a
name="line.2379"></a>
-<span class="sourceLineNo">2380</span> IOException {<a
name="line.2380"></a>
-<span class="sourceLineNo">2381</span> }<a name="line.2381"></a>
-<span class="sourceLineNo">2382</span><a name="line.2382"></a>
-<span class="sourceLineNo">2383</span> /**<a name="line.2383"></a>
-<span class="sourceLineNo">2384</span> * Remove some table-cfs from config
of the specified peer.<a name="line.2384"></a>
-<span class="sourceLineNo">2385</span> * @param id a short name that
identifies the cluster<a name="line.2385"></a>
-<span class="sourceLineNo">2386</span> * @param tableCfs A map from
tableName to column family names<a name="line.2386"></a>
-<span class="sourceLineNo">2387</span> * @throws ReplicationException<a
name="line.2387"></a>
-<span class="sourceLineNo">2388</span> * @throws IOException<a
name="line.2388"></a>
-<span class="sourceLineNo">2389</span> */<a name="line.2389"></a>
-<span class="sourceLineNo">2390</span> default void
removeReplicationPeerTableCFs(String id,<a name="line.2390"></a>
-<span class="sourceLineNo">2391</span> Map<TableName, ? extends
Collection<String>> tableCfs) throws ReplicationException,<a
name="line.2391"></a>
-<span class="sourceLineNo">2392</span> IOException {<a
name="line.2392"></a>
-<span class="sourceLineNo">2393</span> }<a name="line.2393"></a>
-<span class="sourceLineNo">2394</span><a name="line.2394"></a>
-<span class="sourceLineNo">2395</span> /**<a name="line.2395"></a>
-<span class="sourceLineNo">2396</span> * Return a list of replication
peers.<a name="line.2396"></a>
-<span class="sourceLineNo">2397</span> * @return a list of replication peers
description<a name="line.2397"></a>
-<span class="sourceLineNo">2398</span> * @throws IOException<a
name="line.2398"></a>
-<span class="sourceLineNo">2399</span> */<a name="line.2399"></a>
-<span class="sourceLineNo">2400</span> default
List<ReplicationPeerDescription> listReplicationPeers() throws
IOException {<a name="line.2400"></a>
-<span class="sourceLineNo">2401</span> return new ArrayList<>();<a
name="line.2401"></a>
-<span class="sourceLineNo">2402</span> }<a name="line.2402"></a>
-<span class="sourceLineNo">2403</span><a name="line.2403"></a>
-<span class="sourceLineNo">2404</span> /**<a name="line.2404"></a>
-<span class="sourceLineNo">2405</span> * Return a list of replication
peers.<a name="line.2405"></a>
-<span class="sourceLineNo">2406</span> * @param regex The regular expression
to match peer id<a name="line.2406"></a>
-<span class="sourceLineNo">2407</span> * @return a list of replication peers
description<a name="line.2407"></a>
-<span class="sourceLineNo">2408</span> * @throws IOException<a
name="line.2408"></a>
-<span class="sourceLineNo">2409</span> * @deprecated since 2.0 version and
will be removed in 3.0 version. Use<a name="line.2409"></a>
-<span class="sourceLineNo">2410</span> * {@link
#listReplicationPeers(Pattern)} instead.<a name="line.2410"></a>
-<span class="sourceLineNo">2411</span> */<a name="line.2411"></a>
-<span class="sourceLineNo">2412</span> @Deprecated<a name="line.2412"></a>
-<span class="sourceLineNo">2413</span> default
List<ReplicationPeerDescription> listReplicationPeers(String regex)
throws IOException {<a name="line.2413"></a>
-<span class="sourceLineNo">2414</span> return new ArrayList<>();<a
name="line.2414"></a>
-<span class="sourceLineNo">2415</span> }<a name="line.2415"></a>
-<span class="sourceLineNo">2416</span><a name="line.2416"></a>
-<span class="sourceLineNo">2417</span> /**<a name="line.2417"></a>
-<span class="sourceLineNo">2418</span> * Return a list of replication
peers.<a name="line.2418"></a>
-<span class="sourceLineNo">2419</span> * @param pattern The compiled regular
expression to match peer id<a name="line.2419"></a>
-<span class="sourceLineNo">2420</span> * @return a list of replication peers
description<a name="line.2420"></a>
-<span class="sourceLineNo">2421</span> * @throws IOException<a
name="line.2421"></a>
-<span class="sourceLineNo">2422</span> */<a name="line.2422"></a>
-<span class="sourceLineNo">2423</span> default
List<ReplicationPeerDescription> listReplicationPeers(Pattern pattern)
throws IOException {<a name="line.2423"></a>
-<span class="sourceLineNo">2424</span> return new ArrayList<>();<a
name="line.2424"></a>
-<span class="sourceLineNo">2425</span> }<a name="line.2425"></a>
-<span class="sourceLineNo">2426</span><a name="line.2426"></a>
-<span class="sourceLineNo">2427</span> /**<a name="line.2427"></a>
-<span class="sourceLineNo">2428</span> * Mark a region server as draining to
prevent additional regions from getting assigned to it.<a name="line.2428"></a>
-<span class="sourceLineNo">2429</span> * @param servers List of region
servers to drain.<a name="line.2429"></a>
-<span class="sourceLineNo">2430</span> */<a name="line.2430"></a>
-<span class="sourceLineNo">2431</span> void
drainRegionServers(List<ServerName> servers) throws IOException;<a
name="line.2431"></a>
-<span class="sourceLineNo">2432</span><a name="line.2432"></a>
-<span class="sourceLineNo">2433</span> /**<a name="line.2433"></a>
-<span class="sourceLineNo">2434</span> * List region servers marked as
draining to not get additional regions assigned to them.<a name="line.2434"></a>
-<span class="sourceLineNo">2435</span> * @return List of draining region
servers.<a name="line.2435"></a>
+<span class="sourceLineNo">2197</span> default int getMasterInfoPort() throws
IOException {<a name="line.2197"></a>
+<span class="sourceLineNo">2198</span> return
getClusterStatus(EnumSet.of(Option.MASTER_INFO_PORT)).getMasterInfoPort();<a
name="line.2198"></a>
+<span class="sourceLineNo">2199</span> }<a name="line.2199"></a>
+<span class="sourceLineNo">2200</span><a name="line.2200"></a>
+<span class="sourceLineNo">2201</span> /**<a name="line.2201"></a>
+<span class="sourceLineNo">2202</span> * Compact a table. Asynchronous
operation in that this method requests that a<a name="line.2202"></a>
+<span class="sourceLineNo">2203</span> * Compaction run and then it returns.
It does not wait on the completion of Compaction<a name="line.2203"></a>
+<span class="sourceLineNo">2204</span> * (it can take a while).<a
name="line.2204"></a>
+<span class="sourceLineNo">2205</span> *<a name="line.2205"></a>
+<span class="sourceLineNo">2206</span> * @param tableName table to compact<a
name="line.2206"></a>
+<span class="sourceLineNo">2207</span> * @param compactType {@link
org.apache.hadoop.hbase.client.CompactType}<a name="line.2207"></a>
+<span class="sourceLineNo">2208</span> * @throws IOException<a
name="line.2208"></a>
+<span class="sourceLineNo">2209</span> * @throws InterruptedException<a
name="line.2209"></a>
+<span class="sourceLineNo">2210</span> */<a name="line.2210"></a>
+<span class="sourceLineNo">2211</span> void compact(TableName tableName,
CompactType compactType)<a name="line.2211"></a>
+<span class="sourceLineNo">2212</span> throws IOException,
InterruptedException;<a name="line.2212"></a>
+<span class="sourceLineNo">2213</span><a name="line.2213"></a>
+<span class="sourceLineNo">2214</span> /**<a name="line.2214"></a>
+<span class="sourceLineNo">2215</span> * Compact a column family within a
table. Asynchronous operation in that this method requests that a<a
name="line.2215"></a>
+<span class="sourceLineNo">2216</span> * Compaction run and then it returns.
It does not wait on the completion of Compaction<a name="line.2216"></a>
+<span class="sourceLineNo">2217</span> * (it can take a while).<a
name="line.2217"></a>
+<span class="sourceLineNo">2218</span> *<a name="line.2218"></a>
+<span class="sourceLineNo">2219</span> * @param tableName table to compact<a
name="line.2219"></a>
+<span class="sourceLineNo">2220</span> * @param columnFamily column family
within a table<a name="line.2220"></a>
+<span class="sourceLineNo">2221</span> * @param compactType {@link
org.apache.hadoop.hbase.client.CompactType}<a name="line.2221"></a>
+<span class="sourceLineNo">2222</span> * @throws IOException if not a mob
column family or if a remote or network exception occurs<a name="line.2222"></a>
+<span class="sourceLineNo">2223</span> * @throws InterruptedException<a
name="line.2223"></a>
+<span class="sourceLineNo">2224</span> */<a name="line.2224"></a>
+<span class="sourceLineNo">2225</span> void compact(TableName tableName,
byte[] columnFamily, CompactType compactType)<a name="line.2225"></a>
+<span class="sourceLineNo">2226</span> throws IOException,
InterruptedException;<a name="line.2226"></a>
+<span class="sourceLineNo">2227</span><a name="line.2227"></a>
+<span class="sourceLineNo">2228</span> /**<a name="line.2228"></a>
+<span class="sourceLineNo">2229</span> * Major compact a table.
Asynchronous operation in that this method requests that a<a
name="line.2229"></a>
+<span class="sourceLineNo">2230</span> * Compaction run and then it returns.
It does not wait on the completion of Compaction<a name="line.2230"></a>
+<span class="sourceLineNo">2231</span> * (it can take a while).<a
name="line.2231"></a>
+<span class="sourceLineNo">2232</span> *<a name="line.2232"></a>
+<span class="sourceLineNo">2233</span> * @param tableName table to compact<a
name="line.2233"></a>
+<span class="sourceLineNo">2234</span> * @param compactType {@link
org.apache.hadoop.hbase.client.CompactType}<a name="line.2234"></a>
+<span class="sourceLineNo">2235</span> * @throws IOException<a
name="line.2235"></a>
+<span class="sourceLineNo">2236</span> * @throws InterruptedException<a
name="line.2236"></a>
+<span class="sourceLineNo">2237</span> */<a name="line.2237"></a>
+<span class="sourceLineNo">2238</span> void majorCompact(TableName tableName,
CompactType compactType)<a name="line.2238"></a>
+<span class="sourceLineNo">2239</span> throws IOException,
InterruptedException;<a name="line.2239"></a>
+<span class="sourceLineNo">2240</span><a name="line.2240"></a>
+<span class="sourceLineNo">2241</span> /**<a name="line.2241"></a>
+<span class="sourceLineNo">2242</span> * Major compact a column family
within a table. Asynchronous operation in that this method requests that a<a
name="line.2242"></a>
+<span class="sourceLineNo">2243</span> * Compaction run and then it returns.
It does not wait on the completion of Compaction<a name="line.2243"></a>
+<span class="sourceLineNo">2244</span> * (it can take a while).<a
name="line.2244"></a>
+<span class="sourceLineNo">2245</span> *<a name="line.2245"></a>
+<span class="sourceLineNo">2246</span> * @param tableName table to compact<a
name="line.2246"></a>
+<span class="sourceLineNo">2247</span> * @param columnFamily column family
within a table<a name="line.2247"></a>
+<span class="sourceLineNo">2248</span> * @param compactType {@link
org.apache.hadoop.hbase.client.CompactType}<a name="line.2248"></a>
+<span class="sourceLineNo">2249</span> * @throws IOException if not a mob
column family or if a remote or network exception occurs<a name="line.2249"></a>
+<span class="sourceLineNo">2250</span> * @throws InterruptedException<a
name="line.2250"></a>
+<span class="sourceLineNo">2251</span> */<a name="line.2251"></a>
+<span class="sourceLineNo">2252</span> void majorCompact(TableName tableName,
byte[] columnFamily, CompactType compactType)<a name="line.2252"></a>
+<span class="sourceLineNo">2253</span> throws IOException,
InterruptedException;<a name="line.2253"></a>
+<span class="sourceLineNo">2254</span><a name="line.2254"></a>
+<span class="sourceLineNo">2255</span> /**<a name="line.2255"></a>
+<span class="sourceLineNo">2256</span> * Get the current compaction state of
a table. It could be in a compaction, or none.<a name="line.2256"></a>
+<span class="sourceLineNo">2257</span> *<a name="line.2257"></a>
+<span class="sourceLineNo">2258</span> * @param tableName table to examine<a
name="line.2258"></a>
+<span class="sourceLineNo">2259</span> * @param compactType {@link
org.apache.hadoop.hbase.client.CompactType}<a name="line.2259"></a>
+<span class="sourceLineNo">2260</span> * @return the current compaction
state<a name="line.2260"></a>
+<span class="sourceLineNo">2261</span> * @throws IOException if a remote or
network exception occurs<a name="line.2261"></a>
+<span class="sourceLineNo">2262</span> */<a name="line.2262"></a>
+<span class="sourceLineNo">2263</span> CompactionState
getCompactionState(TableName tableName,<a name="line.2263"></a>
+<span class="sourceLineNo">2264</span> CompactType compactType) throws
IOException;<a name="line.2264"></a>
+<span class="sourceLineNo">2265</span><a name="line.2265"></a>
+<span class="sourceLineNo">2266</span> /**<a name="line.2266"></a>
+<span class="sourceLineNo">2267</span> * Return the set of supported
security capabilities.<a name="line.2267"></a>
+<span class="sourceLineNo">2268</span> * @throws IOException<a
name="line.2268"></a>
+<span class="sourceLineNo">2269</span> * @throws
UnsupportedOperationException<a name="line.2269"></a>
+<span class="sourceLineNo">2270</span> */<a name="line.2270"></a>
+<span class="sourceLineNo">2271</span> List<SecurityCapability>
getSecurityCapabilities() throws IOException;<a name="line.2271"></a>
+<span class="sourceLineNo">2272</span><a name="line.2272"></a>
+<span class="sourceLineNo">2273</span> /**<a name="line.2273"></a>
+<span class="sourceLineNo">2274</span> * Turn the Split or Merge switches on
or off.<a name="line.2274"></a>
+<span class="sourceLineNo">2275</span> *<a name="line.2275"></a>
+<span class="sourceLineNo">2276</span> * @param enabled enabled or not<a
name="line.2276"></a>
+<span class="sourceLineNo">2277</span> * @param synchronous If
<code>true</code>, it waits until current split() call, if
outstanding, to return.<a name="line.2277"></a>
+<span class="sourceLineNo">2278</span> * @param switchTypes switchType list
{@link MasterSwitchType}<a name="line.2278"></a>
+<span class="sourceLineNo">2279</span> * @return Previous switch value
array<a name="line.2279"></a>
+<span class="sourceLineNo">2280</span> * @deprecated Since 2.0.0. Will be
removed in 3.0.0. Use<a name="line.2280"></a>
+<span class="sourceLineNo">2281</span> * {@link
#splitOrMergeEnabledSwitch(boolean, boolean, MasterSwitchType...)}.<a
name="line.2281"></a>
+<span class="sourceLineNo">2282</span> */<a name="line.2282"></a>
+<span class="sourceLineNo">2283</span> @Deprecated<a name="line.2283"></a>
+<span class="sourceLineNo">2284</span> default boolean[]
setSplitOrMergeEnabled(boolean enabled, boolean synchronous,<a
name="line.2284"></a>
+<span class="sourceLineNo">2285</span>
MasterSwitchType... switchTypes) throws IOException {<a name="line.2285"></a>
+<span class="sourceLineNo">2286</span> return
splitOrMergeEnabledSwitch(enabled, synchronous, switchTypes);<a
name="line.2286"></a>
+<span class="sourceLineNo">2287</span> }<a name="line.2287"></a>
+<span class="sourceLineNo">2288</span><a name="line.2288"></a>
+<span class="sourceLineNo">2289</span> /**<a name="line.2289"></a>
+<span class="sourceLineNo">2290</span> * Turn the Split or Merge switches on
or off.<a name="line.2290"></a>
+<span class="sourceLineNo">2291</span> *<a name="line.2291"></a>
+<span class="sourceLineNo">2292</span> * @param enabled enabled or not<a
name="line.2292"></a>
+<span class="sourceLineNo">2293</span> * @param synchronous If
<code>true</code>, it waits until current split() call, if
outstanding, to return.<a name="line.2293"></a>
+<span class="sourceLineNo">2294</span> * @param switchTypes switchType list
{@link MasterSwitchType}<a name="line.2294"></a>
+<span class="sourceLineNo">2295</span> * @return Previous switch value
array<a name="line.2295"></a>
+<span class="sourceLineNo">2296</span> */<a name="line.2296"></a>
+<span class="sourceLineNo">2297</span> boolean[]
splitOrMergeEnabledSwitch(boolean enabled, boolean synchronous,<a
name="line.2297"></a>
+<span class="sourceLineNo">2298</span>
MasterSwitchType... switchTypes) throws IOException;<a name="line.2298"></a>
+<span class="sourceLineNo">2299</span><a name="line.2299"></a>
+<span class="sourceLineNo">2300</span> /**<a name="line.2300"></a>
+<span class="sourceLineNo">2301</span> * Query the current state of the
switch.<a name="line.2301"></a>
+<span class="sourceLineNo">2302</span> *<a name="line.2302"></a>
+<span class="sourceLineNo">2303</span> * @return
<code>true</code> if the switch is enabled,
<code>false</code> otherwise.<a name="line.2303"></a>
+<span class="sourceLineNo">2304</span> * @deprecated Since 2.0.0. Will be
removed in 3.0.0. Use<a name="line.2304"></a>
+<span class="sourceLineNo">2305</span> * {@link
#splitOrMergeEnabledSwitch(MasterSwitchType)}} instead.<a name="line.2305"></a>
+<span class="sourceLineNo">2306</span> */<a name="line.2306"></a>
+<span class="sourceLineNo">2307</span> @Deprecated<a name="line.2307"></a>
+<span class="sourceLineNo">2308</span> default boolean
isSplitOrMergeEnabled(MasterSwitchType switchType) throws IOException {<a
name="line.2308"></a>
+<span class="sourceLineNo">2309</span> return
splitOrMergeEnabledSwitch(switchType);<a name="line.2309"></a>
+<span class="sourceLineNo">2310</span> }<a name="line.2310"></a>
+<span class="sourceLineNo">2311</span><a name="line.2311"></a>
+<span class="sourceLineNo">2312</span> /**<a name="line.2312"></a>
+<span class="sourceLineNo">2313</span> * Query the current state of the
switch.<a name="line.2313"></a>
+<span class="sourceLineNo">2314</span> *<a name="line.2314"></a>
+<span class="sourceLineNo">2315</span> * @return
<code>true</code> if the switch is enabled,
<code>false</code> otherwise.<a name="line.2315"></a>
+<span class="sourceLineNo">2316</span> */<a name="line.2316"></a>
+<span class="sourceLineNo">2317</span> boolean
splitOrMergeEnabledSwitch(MasterSwitchType switchType) throws IOException;<a
name="line.2317"></a>
+<span class="sourceLineNo">2318</span><a name="line.2318"></a>
+<span class="sourceLineNo">2319</span> /**<a name="line.2319"></a>
+<span class="sourceLineNo">2320</span> * Add a new replication peer for
replicating data to slave cluster.<a name="line.2320"></a>
+<span class="sourceLineNo">2321</span> * @param peerId a short name that
identifies the peer<a name="line.2321"></a>
+<span class="sourceLineNo">2322</span> * @param peerConfig configuration for
the replication slave cluster<a name="line.2322"></a>
+<span class="sourceLineNo">2323</span> * @throws IOException<a
name="line.2323"></a>
+<span class="sourceLineNo">2324</span> */<a name="line.2324"></a>
+<span class="sourceLineNo">2325</span> default void addReplicationPeer(String
peerId, ReplicationPeerConfig peerConfig)<a name="line.2325"></a>
+<span class="sourceLineNo">2326</span> throws IOException {<a
name="line.2326"></a>
+<span class="sourceLineNo">2327</span> }<a name="line.2327"></a>
+<span class="sourceLineNo">2328</span><a name="line.2328"></a>
+<span class="sourceLineNo">2329</span> /**<a name="line.2329"></a>
+<span class="sourceLineNo">2330</span> * Remove a peer and stop the
replication.<a name="line.2330"></a>
+<span class="sourceLineNo">2331</span> * @param peerId a short name that
identifies the peer<a name="line.2331"></a>
+<span class="sourceLineNo">2332</span> * @throws IOException<a
name="line.2332"></a>
+<span class="sourceLineNo">2333</span> */<a name="line.2333"></a>
+<span class="sourceLineNo">2334</span> default void
removeReplicationPeer(String peerId) throws IOException {<a
name="line.2334"></a>
+<span class="sourceLineNo">2335</span> }<a name="line.2335"></a>
+<span class="sourceLineNo">2336</span><a name="line.2336"></a>
+<span class="sourceLineNo">2337</span> /**<a name="line.2337"></a>
+<span class="sourceLineNo">2338</span> * Restart the replication stream to
the specified peer.<a name="line.2338"></a>
+<span class="sourceLineNo">2339</span> * @param peerId a short name that
identifies the peer<a name="line.2339"></a>
+<span class="sourceLineNo">2340</span> * @throws IOException<a
name="line.2340"></a>
+<span class="sourceLineNo">2341</span> */<a name="line.2341"></a>
+<span class="sourceLineNo">2342</span> default void
enableReplicationPeer(String peerId) throws IOException {<a
name="line.2342"></a>
+<span class="sourceLineNo">2343</span> }<a name="line.2343"></a>
+<span class="sourceLineNo">2344</span><a name="line.2344"></a>
+<span class="sourceLineNo">2345</span> /**<a name="line.2345"></a>
+<span class="sourceLineNo">2346</span> * Stop the replication stream to the
specified peer.<a name="line.2346"></a>
+<span class="sourceLineNo">2347</span> * @param peerId a short name that
identifies the peer<a name="line.2347"></a>
+<span class="sourceLineNo">2348</span> * @throws IOException<a
name="line.2348"></a>
+<span class="sourceLineNo">2349</span> */<a name="line.2349"></a>
+<span class="sourceLineNo">2350</span> default void
disableReplicationPeer(String peerId) throws IOException {<a
name="line.2350"></a>
+<span class="sourceLineNo">2351</span> }<a name="line.2351"></a>
+<span class="sourceLineNo">2352</span><a name="line.2352"></a>
+<span class="sourceLineNo">2353</span> /**<a name="line.2353"></a>
+<span class="sourceLineNo">2354</span> * Returns the configured
ReplicationPeerConfig for the specified peer.<a name="line.2354"></a>
+<span class="sourceLineNo">2355</span> * @param peerId a short name that
identifies the peer<a name="line.2355"></a>
+<span class="sourceLineNo">2356</span> * @return ReplicationPeerConfig for
the peer<a name="line.2356"></a>
+<span class="sourceLineNo">2357</span> * @throws IOException<a
name="line.2357"></a>
+<span class="sourceLineNo">2358</span> */<a name="line.2358"></a>
+<span class="sourceLineNo">2359</span> default ReplicationPeerConfig
getReplicationPeerConfig(String peerId) throws IOException {<a
name="line.2359"></a>
+<span class="sourceLineNo">2360</span> return new
ReplicationPeerConfig();<a name="line.2360"></a>
+<span class="sourceLineNo">2361</span> }<a name="line.2361"></a>
+<span class="sourceLineNo">2362</span><a name="line.2362"></a>
+<span class="sourceLineNo">2363</span> /**<a name="line.2363"></a>
+<span class="sourceLineNo">2364</span> * Update the peerConfig for the
specified peer.<a name="line.2364"></a>
+<span class="sourceLineNo">2365</span> * @param peerId a short name that
identifies the peer<a name="line.2365"></a>
+<span class="sourceLineNo">2366</span> * @param peerConfig new config for
the peer<a name="line.2366"></a>
+<span class="sourceLineNo">2367</span> * @throws IOException<a
name="line.2367"></a>
+<span class="sourceLineNo">2368</span> */<a name="line.2368"></a>
+<span class="sourceLineNo">2369</span> default void
updateReplicationPeerConfig(String peerId,<a name="line.2369"></a>
+<span class="sourceLineNo">2370</span> ReplicationPeerConfig peerConfig)
throws IOException {<a name="line.2370"></a>
+<span class="sourceLineNo">2371</span> }<a name="line.2371"></a>
+<span class="sourceLineNo">2372</span><a name="line.2372"></a>
+<span class="sourceLineNo">2373</span> /**<a name="line.2373"></a>
+<span class="sourceLineNo">2374</span> * Append the replicable table column
family config from the specified peer.<a name="line.2374"></a>
+<span class="sourceLineNo">2375</span> * @param id a short that identifies
the cluster<a name="line.2375"></a>
+<span class="sourceLineNo">2376</span> * @param tableCfs A map from
tableName to column family names<a name="line.2376"></a>
+<span class="sourceLineNo">2377</span> * @throws ReplicationException<a
name="line.2377"></a>
+<span class="sourceLineNo">2378</span> * @throws IOException<a
name="line.2378"></a>
+<span class="sourceLineNo">2379</span> */<a name="line.2379"></a>
+<span class="sourceLineNo">2380</span> default void
appendReplicationPeerTableCFs(String id,<a name="line.2380"></a>
+<span class="sourceLineNo">2381</span> Map<TableName, ? extends
Collection<String>> tableCfs) throws ReplicationException,<a
name="line.2381"></a>
+<span class="sourceLineNo">2382</span> IOException {<a
name="line.2382"></a>
+<span class="sourceLineNo">2383</span> }<a name="line.2383"></a>
+<span class="sourceLineNo">2384</span><a name="line.2384"></a>
+<span class="sourceLineNo">2385</span> /**<a name="line.2385"></a>
+<span class="sourceLineNo">2386</span> * Remove some table-cfs from config
of the specified peer.<a name="line.2386"></a>
+<span class="sourceLineNo">2387</span> * @param id a short name that
identifies the cluster<a name="line.2387"></a>
+<span class="sourceLineNo">2388</span> * @param tableCfs A map from
tableName to column family names<a name="line.2388"></a>
+<span class="sourceLineNo">2389</span> * @throws ReplicationException<a
name="line.2389"></a>
+<span class="sourceLineNo">2390</span> * @throws IOException<a
name="line.2390"></a>
+<span class="sourceLineNo">2391</span> */<a name="line.2391"></a>
+<span class="sourceLineNo">2392</span> default void
removeReplicationPeerTableCFs(String id,<a name="line.2392"></a>
+<span class="sourceLineNo">2393</span> Map<TableName, ? extends
Collection<String>> tableCfs) throws ReplicationException,<a
name="line.2393"></a>
+<span class="sourceLineNo">2394</span> IOException {<a
name="line.2394"></a>
+<span class="sourceLineNo">2395</span> }<a name="line.2395"></a>
+<span class="sourceLineNo">2396</span><a name="line.2396"></a>
+<span class="sourceLineNo">2397</span> /**<a name="line.2397"></a>
+<span class="sourceLineNo">2398</span> * Return a list of replication
peers.<a name="line.2398"></a>
+<span class="sourceLineNo">2399</span> * @return a list of replication peers
description<a name="line.2399"></a>
+<span class="sourceLineNo">2400</span> * @throws IOException<a
name="line.2400"></a>
+<span class="sourceLineNo">2401</span> */<a name="line.2401"></a>
+<span class="sourceLineNo">2402</span> default
List<ReplicationPeerDescription> listReplicationPeers() throws
IOException {<a name="line.2402"></a>
+<span class="sourceLineNo">2403</span> return new ArrayList<>();<a
name="line.2403"></a>
+<span class="sourceLineNo">2404</span> }<a name="line.2404"></a>
+<span class="sourceLineNo">2405</span><a name="line.2405"></a>
+<span class="sourceLineNo">2406</span> /**<a name="line.2406"></a>
+<span class="sourceLineNo">2407</span> * Return a list of replication
peers.<a name="line.2407"></a>
+<span class="sourceLineNo">2408</span> * @param regex The regular expression
to match peer id<a name="line.2408"></a>
+<span class="sourceLineNo">2409</span> * @return a list of replication peers
description<a name="line.2409"></a>
+<span class="sourceLineNo">2410</span> * @throws IOException<a
name="line.2410"></a>
+<span class="sourceLineNo">2411</span> * @deprecated since 2.0 version and
will be removed in 3.0 version. Use<a name="line.2411"></a>
+<span class="sourceLineNo">2412</span> * {@link
#listReplicationPeers(Pattern)} instead.<a name="line.2412"></a>
+<span class="sourceLineNo">2413</span> */<a name="line.2413"></a>
+<span class="sourceLineNo">2414</span> @Deprecated<a name="line.2414"></a>
+<span class="sourceLineNo">2415</span> default
List<ReplicationPeerDescription> listReplicationPeers(String regex)
throws IOException {<a name="line.2415"></a>
+<span class="sourceLineNo">2416</span> return new ArrayList<>();<a
name="line.2416"></a>
+<span class="sourceLineNo">2417</span> }<a name="line.2417"></a>
+<span class="sourceLineNo">2418</span><a name="line.2418"></a>
+<span class="sourceLineNo">2419</span> /**<a name="line.2419"></a>
+<span class="sourceLineNo">2420</span> * Return a list of replication
peers.<a name="line.2420"></a>
+<span class="sourceLineNo">2421</span> * @param pattern The compiled regular
expression to match peer id<a name="line.2421"></a>
+<span class="sourceLineNo">2422</span> * @return a list of replication peers
description<a name="line.2422"></a>
+<span class="sourceLineNo">2423</span> * @throws IOException<a
name="line.2423"></a>
+<span class="sourceLineNo">2424</span> */<a name="line.2424"></a>
+<span class="sourceLineNo">2425</span> default
List<ReplicationPeerDescription> listReplicationPeers(Pattern pattern)
throws IOException {<a name="line.2425"></a>
+<span class="sourceLineNo">2426</span> return new ArrayList<>();<a
name="line.2426"></a>
+<span class="sourceLineNo">2427</span> }<a name="line.2427"></a>
+<span class="sourceLineNo">2428</span><a name="line.2428"></a>
+<span class="sourceLineNo">2429</span> /**<a name="line.2429"></a>
+<span class="sourceLineNo">2430</span> * Mark region server(s) as
decommissioned to prevent additional regions from getting<a
name="line.2430"></a>
+<span class="sourceLineNo">2431</span> * assigned to them. Optionally unload
the regions on the servers. If there are multiple servers<a
name="line.2431"></a>
+<span class="sourceLineNo">2432</span> * to be decommissioned,
decommissioning them at the same time can prevent wasteful region<a
name="line.2432"></a>
+<span class="sourceLineNo">2433</span> * movements. Region unloading is
asynchronous.<a name="line.2433"></a>
+<span class="sourceLineNo">2434</span> * @param servers The list of servers
to decommission.<a name="line.2434"></a>
+<span class="sourceLineNo">2435</span> * @param offload True to offload the
regions from the decommissioned servers<a name="line.2435"></a>
<span class="sourceLineNo">2436</span> */<a name="line.2436"></a>
-<span class="sourceLineNo">2437</span> List<ServerName>
listDrainingRegionServers() throws IOException;<a name="line.2437"></a>
+<span class="sourceLineNo">2437</span> void
decommissionRegionServers(List<ServerName> servers, boolean offload)
throws IOException;<a name="line.2437"></a>
<span class="sourceLineNo">2438</span><a name="line.2438"></a>
<span class="sourceLineNo">2439</span> /**<a name="line.2439"></a>
-<span class="sourceLineNo">2440</span> * Remove drain from a region server
to allow additional regions assignments.<a name="line.2440"></a>
-<span class="sourceLineNo">2441</span> * @param servers List of region
servers to remove drain from.<a name="line.2441"></a>
+<span class="sourceLineNo">2440</span> * List region servers marked as
decommissioned, which can not be assigned regions.<a name="line.2440"></a>
+<span class="sourceLineNo">2441</span> * @return List of decommissioned
region servers.<a name="line.2441"></a>
<span class="sourceLineNo">2442</span> */<a name="line.2442"></a>
-<span class="sourceLineNo">2443</span> void
removeDrainFromRegionServers(List<ServerName> servers) throws
IOException;<a name="line.2443"></a>
+<span class="sourceLineNo">2443</span> List<ServerName>
listDecommissionedRegionServers() throws IOException;<a name="line.2443"></a>
<span class="sourceLineNo">2444</span><a name="line.2444"></a>
<span class="sourceLineNo">2445</span> /**<a name="line.2445"></a>
-<span class="sourceLineNo">2446</span> * Find all table and column families
that are replicated from this cluster<a name="line.2446"></a>
-<span class="sourceLineNo">2447</span> * @return the replicated table-cfs
list of this cluster.<a name="line.2447"></a>
-<span class="sourceLineNo">2448</span> */<a name="line.2448"></a>
-<span class="sourceLineNo">2449</span> List<TableCFs>
listReplicatedTableCFs() throws IOException;<a name="line.2449"></a>
-<span class="sourceLineNo">2450</span><a name="line.2450"></a>
-<span class="sourceLineNo">2451</span> /**<a name="line.2451"></a>
-<span class="sourceLineNo">2452</span> * Enable a table's replication
switch.<a name="line.2452"></a>
-<span class="sourceLineNo">2453</span> * @param tableName name of the
table<a name="line.2453"></a>
-<span class="sourceLineNo">2454</span> * @throws IOException if a remote or
network exception occurs<a name="line.2454"></a>
-<span class="sourceLineNo">2455</span> */<a name="line.2455"></a>
-<span class="sourceLineNo">2456</span> void enableTableReplication(TableName
tableName) throws IOException;<a name="line.2456"></a>
-<span class="sourceLineNo">2457</span><a name="line.2457"></a>
-<span class="sourceLineNo">2458</span> /**<a name="line.2458"></a>
-<span class="sourceLineNo">2459</span> * Disable a table's replication
switch.<a name="line.2459"></a>
-<span class="sourceLineNo">2460</span> * @param tableName name of the
table<a name="line.2460"></a>
-<span class="sourceLineNo">2461</span> * @throws IOException if a remote or
network exception occurs<a name="line.2461"></a>
-<span class="sourceLineNo">2462</span> */<a name="line.2462"></a>
-<span class="sourceLineNo">2463</span> void disableTableReplication(TableName
tableName) throws IOException;<a name="line.2463"></a>
-<span class="sourceLineNo">2464</span><a name="line.2464"></a>
-<span class="sourceLineNo">2465</span> /**<a name="line.2465"></a>
-<span class="sourceLineNo">2466</span> * Clear compacting queues on a
regionserver.<a name="line.2466"></a>
-<span class="sourceLineNo">2467</span> * @param serverName the region server
name<a name="line.2467"></a>
-<span class="sourceLineNo">2468</span> * @param queues the set of queue
name<a name="line.2468"></a>
-<span class="sourceLineNo">2469</span> * @throws IOException if a remote or
network exception occurs<a name="line.2469"></a>
-<span class="sourceLineNo">2470</span> * @throws InterruptedException<a
name="line.2470"></a>
-<span class="sourceLineNo">2471</span> */<a name="line.2471"></a>
-<span class="sourceLineNo">2472</span> void clearCompactionQueues(ServerName
serverName, Set<String> queues)<a name="line.2472"></a>
-<span class="sourceLineNo">2473</span> throws IOException,
InterruptedException;<a name="line.2473"></a>
+<span class="sourceLineNo">2446</span> * Remove decommission marker from a
region server to allow regions assignments.<a name="line.2446"></a>
+<span class="sourceLineNo">2447</span> * Load regions onto the server if a
list of regions is given. Region loading is<a name="line.2447"></a>
+<span class="sourceLineNo">2448</span> * asynchronous.<a
name="line.2448"></a>
+<span class="sourceLineNo">2449</span> * @param server The server to
recommission.<a name="line.2449"></a>
+<span class="sourceLineNo">2450</span> * @param encodedRegionNames Regions
to load onto the server.<a name="line.2450"></a>
+<span class="sourceLineNo">2451</span> */<a name="line.2451"></a>
+<span class="sourceLineNo">2452</span> void
recommissionRegionServer(ServerName server, List<byte[]>
encodedRegionNames)<a name="line.2452"></a>
+<span class="sourceLineNo">2453</span> throws IOException;<a
name="line.2453"></a>
+<span class="sourceLineNo">2454</span><a name="line.2454"></a>
+<span class="sourceLineNo">2455</span> /**<a name="line.2455"></a>
+<span class="sourceLineNo">2456</span> * Find all table and column families
that are replicated from this cluster<a name="line.2456"></a>
+<span class="sourceLineNo">2457</span> * @return the replicated table-cfs
list of this cluster.<a name="line.2457"></a>
+<span class="sourceLineNo">2458</span> */<a name="line.2458"></a>
+<span class="sourceLineNo">2459</span> List<TableCFs>
listReplicatedTableCFs() throws IOException;<a name="line.2459"></a>
+<span class="sourceLineNo">2460</span><a name="line.2460"></a>
+<span class="sourceLineNo">2461</span> /**<a name="line.2461"></a>
+<span class="sourceLineNo">2462</span> * Enable a table's replication
switch.<a name="line.2462"></a>
+<span class="sourceLineNo">2463</span> * @param tableName name of the
table<a name="line.2463"></a>
+<span class="sourceLineNo">2464</span> * @throws IOException if a remote or
network exception occurs<a name="line.2464"></a>
+<span class="sourceLineNo">2465</span> */<a name="line.2465"></a>
+<span class="sourceLineNo">2466</span> void enableTableReplication(TableName
tableName) throws IOException;<a name="line.2466"></a>
+<span class="sourceLineNo">2467</span><a name="line.2467"></a>
+<span class="sourceLineNo">2468</span> /**<a name="line.2468"></a>
+<span class="sourceLineNo">2469</span> * Disable a table's replication
switch.<a name="line.2469"></a>
+<span class="sourceLineNo">2470</span> * @param tableName name of the
table<a name="line.2470"></a>
+<span class="sourceLineNo">2471</span> * @throws IOException if a remote or
network exception occurs<a name="line.2471"></a>
+<span class="sourceLineNo">2472</span> */<a name="line.2472"></a>
+<span class="sourceLineNo">2473</span> void disableTableReplication(TableName
tableName) throws IOException;<a name="line.2473"></a>
<span class="sourceLineNo">2474</span><a name="line.2474"></a>
<span class="sourceLineNo">2475</span> /**<a name="line.2475"></a>
-<span class="sourceLineNo">2476</span> * List dead region servers.<a
name="line.2476"></a>
-<span class="sourceLineNo">2477</span> * @return List of dead region
servers.<a name="line.2477"></a>
-<span class="sourceLineNo">2478</span> */<a name="line.2478"></a>
-<span class="sourceLineNo">2479</span> List<ServerName>
listDeadServers() throws IOException;<a name="line.2479"></a>
-<span class="sourceLineNo">2480</span><a name="line.2480"></a>
-<span class="sourceLineNo">2481</span> /**<a name="line.2481"></a>
-<span class="sourceLineNo">2482</span> * Clear dead region servers from
master.<a name="line.2482"></a>
-<span class="sourceLineNo">2483</span> * @param servers list of dead region
servers.<a name="line.2483"></a>
-<span class="sourceLineNo">2484</span> * @throws IOException if a remote or
network exception occurs<a name="line.2484"></a>
-<span class="sourceLineNo">2485</span> * @return List of servers that are
not cleared<a name="line.2485"></a>
-<span class="sourceLineNo">2486</span> */<a name="line.2486"></a>
-<span class="sourceLineNo">2487</span> List<ServerName>
clearDeadServers(final List<ServerName> servers) throws IOException;<a
name="line.2487"></a>
-<span class="sourceLineNo">2488</span>}<a name="line.2488"></a>
+<span class="sourceLineNo">2476</span> * Clear compacting queues on a
regionserver.<a name="line.2476"></a>
+<span class="sourceLineNo">2477</span> * @param serverName the region server
name<a name="line.2477"></a>
+<span class="sourceLineNo">2478</span> * @param queues the set of queue
name<a name="line.2478"></a>
+<span class="sourceLineNo">2479</span> * @throws IOException if a remote or
network exception occurs<a name="line.2479"></a>
+<span class="sourceLineNo">2480</span> * @throws InterruptedException<a
name="line.2480"></a>
+<span class="sourceLineNo">2481</span> */<a name="line.2481"></a>
+<span class="sourceLineNo">2482</span> void clearCompactionQueues(ServerName
serverName, Set<String> queues)<a name="line.2482"></a>
+<span class="sourceLineNo">2483</span> throws IOException,
InterruptedException;<a name="line.2483"></a>
+<span class="sourceLineNo">2484</span><a name="line.2484"></a>
+<span class="sourceLineNo">2485</span> /**<a name="line.2485"></a>
+<span class="sourceLineNo">2486</span> * List dead region servers.<a
name="line.2486"></a>
+<span class="sourceLineNo">2487</span> * @return List of dead region
servers.<a name="line.2487"></a>
+<span class="sourceLineNo">2488</span> */<a name="line.2488"></a>
+<span class="sourceLineNo">2489</span> List<ServerName>
listDeadServers() throws IOException;<a name="line.2489"></a>
+<span class="sourceLineNo">2490</span><a name="line.2490"></a>
+<span class="sourceLineNo">2491</span> /**<a name="line.2491"></a>
+<span class="sourceLineNo">2492</span> * Clear dead region servers from
master.<a name="line.2492"></a>
+<span class="sourceLineNo">2493</span> * @param servers list of dead region
servers.<a name="line.2493"></a>
+<span class="sourceLineNo">2494</span> * @throws IOException if a remote or
network exception occurs<a name="line.2494"></a>
+<span class="sourceLineNo">2495</span> * @return List of servers that are
not cleared<a name="line.2495"></a>
+<span class="sourceLineNo">2496</span> */<a name="line.2496"></a>
+<span class="sourceLineNo">2497</span> List<ServerName>
clearDeadServers(final List<ServerName> servers) throws IOException;<a
name="line.2497"></a>
+<span class="sourceLineNo">2498</span>}<a name="line.2498"></a>